KR20220102058A - 로봇 및 그 제어 방법 - Google Patents

로봇 및 그 제어 방법 Download PDF

Info

Publication number
KR20220102058A
KR20220102058A KR1020210004267A KR20210004267A KR20220102058A KR 20220102058 A KR20220102058 A KR 20220102058A KR 1020210004267 A KR1020210004267 A KR 1020210004267A KR 20210004267 A KR20210004267 A KR 20210004267A KR 20220102058 A KR20220102058 A KR 20220102058A
Authority
KR
South Korea
Prior art keywords
robot
distance information
distance
main body
information
Prior art date
Application number
KR1020210004267A
Other languages
English (en)
Inventor
김진원
오근찬
윤찬호
장경훈
하유민
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210004267A priority Critical patent/KR20220102058A/ko
Priority to PCT/KR2021/017259 priority patent/WO2022154242A1/ko
Publication of KR20220102058A publication Critical patent/KR20220102058A/ko
Priority to US18/200,981 priority patent/US20230297115A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Optics & Photonics (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

로봇이 개시된다. 로봇은 제1 축을 기초로 회전 가능한 본체, 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 본체에 구비된 한 쌍의 구동 휠, 제2 축 상에 구비된 적어도 하나의 거리 센서 및 프로세서를 포함한다. 프로세서는 본체가 이동됨에 따라 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하고, 본체가 회전됨에 따라 본체가 지향하는 복수의 상이한 방향에서 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하고, 제1 거리 정보 및 제2 거리 정보에 기초하여 로봇이 위치한 공간에 대응되는 맵 상에서 로봇이 위치한 지점에 대한 정보를 획득할 수 있다.

Description

로봇 및 그 제어 방법 {ROBOT AND CONTROLLING METHOD THEREOF}
본 발명은 위치 인식 기능을 수행하는 로봇 및 그 제어 방법에 관한 것이다.
최근 가정용 로봇이 상용화 됨에 따라 소형 로봇의 개발이 활발해지고 있다. 가정용 로봇은 주행을 위해 거리 센서를 구비하며, 거리 센서에 의해 획득된 데이터에 기초하여 공간 내에서 로봇의 위치를 식별할 수 있다. 그러나 소형 로봇에 한 쌍의 주행용 구동 휠이 구비되는 경우 지면 상의 요철이나 로봇의 감ㆍ가속에 의해 정확한 거리 센싱이 어려워지는 문제점이 있었다. 이에 따라 로봇의 주행 과정에서 발생하는 다양한 상황에서 신뢰도 높은 거리 정보를 획득하는 방법에 대한 지속적인 요구가 있었다.
본 개시는 상술한 필요성에 따른 것으로, 본 발명의 목적은 로봇이 주행하는 동안 복수의 지점 또는 복수의 방향에서 센싱된 거리 정보에 기초하여 로봇의 위치를 식별하는 로봇 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 로봇은, 제1 축을 기초로 회전 가능한 본체, 상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠, 상기 제2 축 상에 구비된 적어도 하나의 거리 센서 및 상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 상기 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하고, 상기 본체가 회전됨에 따라 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하고, 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 프로세서를 포함할 수 있다.
여기서, 상기 한 쌍의 구동 휠은, 상기 본체가 상기 제1 축 및 상기 제2 축 각각에 수직인 제3 축 방향으로 이동하도록 구비될 수 있다.
또한, 상기 적어도 하나의 거리 센서는, 상기 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 상기 본체의 제1 영역에 배치된 제1 거리 센서 및 상기 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 상기 본체의 제2 영역에 배치된 제2 거리 센서를 포함할 수 있다.
여기서, 상기 제1 거리 센서 및 상기 제2 거리 센서는, ToF(Time of Flight) 센서로 구현될 수 있다.
한편, 기울기 센서를 더 포함하며, 상기 프로세서는, 상기 복수의 제1 거리 정보 및 상기 복수의 제2 거리 정보 중 상기 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 상기 맵 상에서 상기 본체가 위치한 지점에 대한 정보를 획득할 수 있다.
또한, 상기 본체는 임계 크기 이하의 구형이고, 상기 한 쌍의 구동 휠은 상호 이격되어 상기 구형의 본체 외측에서 상기 본체를 감싸도록 구비될 수 있다.
여기서, 상기 맵은, 상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 상기 프로세서는, 상기 본체의 지름, 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 제3 거리 정보를 획득하고, 상기 맵 상에 포함된 거리 정보 중 상기 제3 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별할 수 있다.
한편, 상기 맵은, 상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 상기 프로세서는, 상기 맵 상에 포함된 거리 정보 중 상기 제1 거리 정보 및 상기 제2 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별할 수 있다.
여기서, 상기 프로세서는, 상기 맵 상에서 상기 로봇이 위치한 지점에 대응되는 거리 정보 및 상기 지점에서 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보에 기초하여 상기 맵 상의 거리 정보를 업데이트할 수 있다.
한편, 본 발명의 일 실시 예에 따른 제1 축을 기초로 회전 가능한 본체 및 상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠을 포함하는 로봇의 제어 방법은, 상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하는 단계, 상기 본체가 회전됨에 따라 상기 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하는 단계 및 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계를 포함할 수 있다.
여기서, 상기 한 쌍의 구동 휠은, 상기 본체가 상기 제1 축 및 상기 제2 축 각각에 수직인 제3 축 방향으로 이동되도록 구비될 수 있다.
또한, 상기 적어도 하나의 거리 센서는, 상기 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 상기 본체의 제1 영역에 배치된 제1 거리 센서 및 상기 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 상기 본체의 제2 영역에 배치된 제2 거리 센서를 포함할 수 있다.
여기서, 상기 제1 거리 센서 및 상기 제2 거리 센서는, ToF(Time of Flight) 센서로 구현될 수 있다.
한편, 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계는, 상기 복수의 제1 거리 정보 및 상기 복수의 제2 거리 정보 중 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 상기 맵 상에서 상기 본체가 위치한 지점에 대한 정보를 획득할 수 있다.
또한, 상기 본체는 임계 크기 이하의 구형이고, 상기 한 쌍의 구동 휠은 상호 이격되어 상기 구형의 본체 외측에서 상기 본체를 감싸도록 구비될 수 있다.
여기서, 상기 맵은, 상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계는, 상기 본체의 지름, 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 제3 거리 정보를 획득하는 단계 및 상기 맵 상에 포함된 거리 정보 중 상기 제3 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별하는 단계를 포함할 수 있다.
한편, 상기 맵은, 상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계는, 상기 맵 상에 포함된 거리 정보 중 상기 제1 거리 정보 및 상기 제2 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별할 수 있다.
여기서, 상기 맵 상에서 상기 로봇이 위치한 지점에 대응되는 거리 정보 및 상기 지점에서 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보에 기초하여 상기 맵 상의 거리 정보를 업데이트하는 단계를 더 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 제1 축을 기초로 회전 가능한 본체 및 상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠을 포함하는 로봇의 제어 방법을 실행하기 위한 프로그램을 포함하는 비일시적 컴퓨터 판독가능 기록 매체는, 상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하는 단계, 상기 본체가 회전됨에 따라 상기 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하는 단계 및 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계를 포함하는 제어 방법을 포함할 수 있다.
본 개시의 다양한 실시 예에 따르면, 로봇의 주행 과정에서 발생하는 다양한 상황에서 복수의 방향을 기초로 획득된 신뢰도 높은 거리 정보를 이용하여 공간 내에서 로봇의 위치를 정확하게 식별할 수 있게 된다.
도 1은 실내 공간을 주행하는 로봇에 대해 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 3a 및 3b는 로봇의 거리 센서가 구비되는 위치에 따른 센싱 범위를 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 로봇의 이동 및 회전 동작에 따른 거리 정보 획득을 설명하기 위한 도면이다.
도 5a 및 5b는 본 개시의 일 실시 예에 따른 거리 센서의 개수에 따른 로봇의 회전 동작을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 로봇이 특정 방향으로 기울어지는 경우의 거리 정보 획득을 설명하기 위한 도면이다.
도 7a 및 7b는 본 개시의 일 실시 예에 따른 로봇의 이동 또는 회전 동작에 따라 획득된 거리 정보에 기초한 위치 식별 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 로봇이 맵 상의 거리 정보를 업데이트하는 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 구체적으로 설명하기 위한 블록도이다.
도 10은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 개시에서 사용자라는 용어는 로봇을 사용하는 사람을 지칭할 수 있다. 이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 실내 공간을 주행하는 로봇에 대해 설명하기 위한 도면이다.
도 1을 참조하면, 로봇(100)이 주행하는 공간(200)에는 다양한 오브젝트(210, 220)가 존재할 수 있다. 이 경우, 로봇(100)이 공간(200)을 무리 없이 주행하기 위해서는 오브젝트(210,220)의 위치와 로봇(100)의 위치를 식별할 필요가 있다.
특히, 로봇(100)은 공간(200)에 대응되는 맵 데이터에 기초하여 오브젝트(210,220)의 위치와 로봇(100)의 위치를 식별할 수 있다. 여기서, 맵 데이터는 로봇(100)에 구비된 메모리(미도시)에 기 저장되어 있거나, 외부 서버(미도시)로부터 실시간으로 다운로드될 수 있다. 일 예에 따라, 맵 데이터에는 공간(200) 및 공간에 포함된 오브젝트(210, 220)에 대한 정보가 포함될 수 있다.
이에 따라 일 예에 따른 로봇(100)은 로봇으로부터 공간(200)의 벽면 또는 공간(200) 내에 위치하는 오브젝트(210, 220)까지의 거리를 측정함으로써 로봇(100)의 위치를 식별할 수 있다.
하지만, 로봇(100)에 구비된 거리 센서의 센싱 범위는 로봇(100)의 모션에 따라 변화할 수 있다. 예를 들어, 로봇(100)이 특정 방향으로 기울어지는 모션에 의해 로봇(100)에 구비된 거리 센서의 화각 역시 특정 방향으로 기울어질 수 있다. 여기서, 일 예에 따른 로봇(100)의 모션은 로봇(100)의 감ㆍ가속에 의해 유발된 것일 수 있다. 또한, 로봇(100)이 일정한 속도로 주행하는 경우에도 지면의 경사 및 요철 또는 제어 상의 한계로 인하여 로봇(100)이 특정 방향으로 기울어지는 모션이 발생할 수 있다.
이와 같이 거리 센서의 화각이 기울어진 상태에서 획득된 거리 정보는 로봇(100)으로부터 공간(200)의 벽면이나 오브젝트(210, 220)까지의 거리가 아닌 로봇(100)으로부터 공간(200)의 지면 또는 천장까지의 거리에 대응되는 정보일 수 있다.
따라서, 일 예에 따른 로봇(100)은 거리 센서의 화각이 기울어진 경우 로봇(100)의 주행에 도움이 되지 않는 왜곡된 정보를 획득하게 되므로, 로봇(100)의 주행과정에서 특정 모션이 발생하더라도 거리 센서의 센싱 범위의 왜곡 없이 신뢰도 높은 거리 정보를 획득하는 것이 중요할 수 있다.
이에 따라, 이하에서는 로봇이 주행 과정에서 발생하는 다양한 상황에서 신뢰도 높은 거리 정보를 획득함으로써 공간 내에서 로봇의 위치를 정확하게 식별할 수 있는 다양한 실시 예에 대해 좀더 구체적으로 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 2를 참조하여, 본 개시의 일 실시 예에 따른 로봇(100)은 본체(110), 구동 휠(120), 거리 센서(130) 및 프로세서(140)를 포함할 수 있다.
본체(110)는 로봇(100)의 프레임 및 프레임에 포함된 다양한 하드웨어를 포함하는 구성이다. 구체적으로, 본체(110)는 플라스틱, 금속 등의 소재로 이루어진 프레임 및 프레임 상에 회로적으로 구현된 하드웨어 모듈을 포함할 수 있다. 일 예에 따른 본체(110)는 구의 형상으로 구현될 수 있으나, 이에 한정되는 것은 아니다. 또한, 본체(110)의 내부에는 프로세서(140)가 포함되어 있을 수 있다.
일 예에 따른 본체(110) 양 측면에는 상호 이격되어 본체를 감싸는 구조로 형성된 구동 휠이 구비될 수 있으며, 본체(110)는 구동 휠(120)의 회전에 따라 제1 축을 기초로 회전할 수 있다. 여기서, 제1 축은 로봇(100)이 위치한 지면에 수직한 방향의 축에 대응될 수 있다.
구동 휠(120)은 로봇(100)을 주행시킬 수 있는 장치이다. 구동 휠(120)은 주행시 회전하는 주행 장치 및 주행 장치를 회전시키는 구동부를 포함하는 구성이다. 일 예에 따르면, 구동 휠(120)에 포함된 주행 장치는 구의 일부를 잘라 낸 형상의 바퀴로 구현될 수 있으나 이에 한정되는 것은 아니다. 일 예에 따르면, 주행 장치는 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 본체(110)에 구비될 수 있다. 여기서, 제2 축은 제1 축과 수직이면서 지면에 평행한 방향의 축에 대응될 수 있다.
구동부는 프로세서(140)의 제어에 따라 주행 방향 및 주행 속도를 조절할 수 있다. 이를 위해, 구동부는 로봇(100)이 주행하기 위한 동력을 발생시키는 동력발생장치(예: 전기 모터 등)를 포함할 수 있다.
이상에서는 구동 휠(120)에 주행 장치 및 구동부가 포함되는 것으로 설명하였으나, 이하에서는 설명의 편의상 구동 휠(120)은 로봇(100)의 외관상 드러나는 주행 장치를 의미하는 것을 전제로 로봇(100)의 동작을 설명하도록 한다. 또한, 구동 휠(120)은 본체(110)의 양 측면에 구비된 한 쌍의 바퀴로 구현되는 것을 전제로 로봇(100)의 동작을 설명하도록 한다.
일 예에 따르면, 한 쌍의 바퀴가 같은 방향으로 회전하는 경우 로봇(100)은 일정한 방향으로 직진할 수 있으며, 한 쌍의 바퀴가 반대 방향으로 회전하는 경우 로봇(100)은 고정된 위치에서 일정한 방향으로 회전할 수 있다.
거리 센서(130)는 거리 정보를 획득할 수 있다. 구체적으로, 거리 센서(130)는 로봇(100)의 위치와 오브젝트의 위치 사이의 거리를 측정할 수 있다. 일 예에 따른 거리 센서(130)는 라이다(LIDAR, Light Detection And Ranging), 뎁스 카메라(Depth Camera) 또는 TOF(Time of flight) 센서로 구현될 수 있다.
일 예에 따르면, 거리 센서(130)는 구동 휠(120) 상에 구비될 수 있다. 일 예에 따르면, 거리 센서(130)는 제2 축이 구동 휠(120)의 표면을 교차하는 지점에 구비될 수 있다. 또한, 로봇(100)은 복수의 거리 센서(130)를 구비할 수도 있다.
프로세서(140)는 로봇(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(140)는 로봇(100)의 각 구성과 연결되어 로봇(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(140)는 본체(110), 구동 휠(120) 및 거리 센서(130)와 연결되어 로봇(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(140)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), NPU(Neural Processing Unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)) 등 다양한 이름으로 명명될 수 있으나, 본 명세서에서는 프로세서(140)로 기재한다.
프로세서(140)는 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(140)는 SRAM 등의 휘발성 메모리를 포함할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(140)는 본체(110)가 이동됨에 따라 본체(110)가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서(130)를 통해 복수의 제1 거리 정보를 획득할 수 있다. 예를 들어, 복수의 상이한 지점은 상호 일정 거리 이격된 지점일 수 있다. 구체적으로, 프로세서(140)는 로봇(100)이 일정한 방향으로 이동하게 하기 위해 한 쌍의 구동 휠(120)이 같은 방향으로 회전하도록 제어하고, 로봇(100)이 일정한 방향으로 이동하는 동안 상이한 지점에서 거리 센서(130)에 의해 여러 차례 측정된 복수의 제1 거리 정보를 획득할 수 있다.
여기서, 거리 정보는 하나 이상의 거리 센서(130)로부터 감지된 공간의 벽면 또는 오브젝트까지의 거리에 대한 정보일 수 있다. 이하에서는 설명의 편의상 공간 내에 포함된 장애물 뿐만 아니라 공간의 벽면 역시 '오브젝트'라는 용어로 표현하도록 한다.
또한, 프로세서(140)는 본체(110)가 회전됨에 따라 본체(110)가 지향하는 복수의 상이한 방향에서 적어도 하나의 거리 센서(130)를 통해 복수의 제2 거리 정보를 획득할 수 있다. 구체적으로, 프로세서(140)는 로봇(100)이 고정된 위치에서 일정한 방향으로 회전하게 하기 위해 한 쌍의 구동 휠(120)이 각자 반대 방향으로 회전하도록 제어하고, 로봇(100)이 일정한 방향으로 회전하는 동안 거리 센서(130)에 의해 상이한 방향으로 여러 차례 측정된 복수의 제2 거리 정보를 획득할 수 있다.
일 예에 따른 프로세서(140)는 획득된 제1 거리 정보 및 제2 거리 정보에 기초하여 로봇(100)이 위치한 공간이 대응되는 맵 상에서 로봇(100)이 위치한 지점에 대한 정보를 획득할 수 있다.
여기서, 한 쌍의 구동 휠(120)은 본체(110)가 제1 축 및 제2 축 각각에 수직인 제3 축 방향으로 이동하도록 구비될 수 있다. 구체적으로, 한 쌍의 구동 휠(120)이 반대 방향으로 회전함에 따라 본체(110)가 회전하는 제1 축을 Z 축, 한 쌍의 구동 휠(120)이 각각 회전하는 제2 축을 Y 축이라고 한다면, 구동 휠(120)은 로봇(100)이 X 축 방향으로 이동할 수 있도록 구비될 수 있다.
또한, 일 예에 따른 거리 센서(130)는 한 쌍의 구동 휠(120) 중 제1 구동 휠에 인접한 본체(110)의 제1 영역에 배치된 제1 거리 센서 및 제2 구동 휠에 인접한 본체(110)의 제2 영역에 배치된 제2 거리 센서를 포함할 수 있다. 구체적으로, 거리 센서(130)는 제2 축이 한 쌍의 구동 휠(120)의 표면과 교차하는 두 지점에 각각 구비될 수 있다.
여기서, 일 예에 따른 제1 거리 센서 및 제2 거리 센서는 ToF(Time of Flight) 센서로 구현될 수 있다. ToF 센서는 발광부와 수광부를 포함할 수 있다. ToF 센서에 포함된 수광부는 발광부로부터 조사된 빛이 오브젝트에 의해 반사된 것을 감지할 수 있다. 프로세서(140)는 발광부로부터 조사된 빛이 수광부에 수신되기까지 경과한 시간에 기초하여 센서로부터 오브젝트까지의 거리를 식별할 수 있다.
여기서, 일 예에 따른 수광부는 M*N 배열을 갖는 2D 어레이 형태로 구현될 수 있다. 또한, ToF 센서의 센싱 범위(또는 화각)은 제조사 및 로봇(100)의 사용자가 임의로 설정할 수 있으나, 본 원에서 개시하는 로봇(100)의 경우 센서로부터 오브젝트에 이르는 거리를 식별하는 기능을 강화하기 위해 좁은 센싱 범위를 갖는 ToF 센서를 구비할 수 있다.
한편, 일 예에 따른 로봇(100)은 기울기 센서를 더 포함할 수 있다. 여기서, 기울기 센서는 로봇(100)이 특정 방향으로 기울어지는지를 감지할 수 있는 센서이며, 일 예에 따른 기울기 센서는 자이로 센서(Gyro Sensor)로 구현될 수 있다.
일 예에 따르면, 프로세서(140)는 복수의 제1 거리 정보 및 복수의 제2 거리 정보 중 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 맵 상에서 본체(110)가 위치한 지점에 대한 정보를 획득할 수 있다.
한편, 일 예에 따른 로봇(100)은 본체(110)가 임계 크기 이하의 구형인 소형 로봇으로 구현될 수 있다. 이 경우 한 쌍의 구동 휠(120)은 상호 이격되어 구형의 본체(110) 외측에서 본체를 감싸도록 구비될 수 있다.
여기서, 로봇(100)이 위치한 공간에 대응되는 맵은 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함할 수 있다. 구체적으로, 맵은 로봇(100)이 위치한 공간의 각 지점에 대응되는 좌표에 오브젝트가 위치하는지 여부에 관한 정보 및 각 좌표와 해당 좌표로부터 일정한 방향에 위치한 오브젝트까지의 거리에 관한 정보를 포함할 수 있다.
일 예에 따른 프로세서(140)는 본체(110)의 지름, 제1 거리 정보 및 제2 거리 정보에 기초하여 제3 거리 정보를 획득할 수 있다.
로봇(100)의 본체(110)가 일정한 지름을 갖는 구형인 경우, 로봇(100)의 중심에 대응되는 좌표, 즉 로봇(100)의 위치로부터 오브젝트까지의 거리는 각 거리 센서로부터 오브젝트까지의 거리에 본체(110)의 반지름을 더한 값이 된다. 이에 따라, 제3 거리 정보는 로봇(100)의 위치로부터 오브젝트까지의 거리에 관한 정보를 포함할 수 있다.
이어서, 프로세서(140)는 맵 상에 포함된 거리 정보 중 제3 거리 정보와 일치하는 거리 정보를 식별하고, 식별된 거리 정보에 대응되는 지점을 로봇(100)이 위치하는 지점으로 식별할 수 있다. 이와 관련된 구체적인 로봇(100)의 동작은 도 7a 및 7b를 통해 자세히 설명하도록 한다.
한편, 로봇(100)이 위치한 공간에 대응되는 맵은 로봇(100)의 지름 또는 거리 센서의 배치와 같은 로봇(100)의 스펙에 기초한 거리 정보를 포함할 수 있다. 구체적으로, 맵은 특정 좌표에 위치한 로봇(100)이 일정한 방향을 지향하는 경우 구비된 거리 센서(130)로부터 오브젝트까지의 거리에 관한 정보를 포함할 수 있다.
이 경우, 프로세서(140)는 맵 상에 포함된 거리 정보 중 제1 거리 정보 및 제2 거리 정보와 일치하는 거리 정보를 식별하고, 식별된 거리 정보에 대응되는 지점을 로봇(100)이 위치한 지점으로 식별할 수 있다.
여기서, 일 예에 따른 프로세서(140)는 맵 상에서 로봇(100)이 위치한 지점에 대응되는 거리 정보 및 해당 지점에서 적어도 하나의 거리 센서(130)를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 적어도 하나의 거리 센서(130)를 통해 획득된 거리 정보에 기초하여 맵 상의 거리 정보를 업데이트할 수 있다.
여기서, 거리 정보 업데이트란 로봇이 위치한 지점에서 일정한 방향을 지향하는 경우 로봇(100)에 구비된 거리 센서(130)로부터 오브젝트까지의 거리에 관한 정보를 업데이트하는 것을 의미할 수 있다. 로봇(100)의 거리 정보 업데이트 동작에 대해서는 도 8을 통해 자세히 설명하도록 한다.
도 3a는 거리 센서(130)가 로봇(100)의 이동 방향을 센싱하도록 구비되는 경우의 센싱 범위의 변화를 설명하기 위한 도면이다. 로봇(100)이 주행 필요한 데이터를 획득하기 위해서는 거리 센서(130)는 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 필요가 있다.
도 3a를 참조하면, 로봇(100)은 본체(110) 상에 구비되며 로봇(100)의 이동 방향을 센싱하는 거리 센서(130)를 포함할 수 있다. 로봇(100)이 일정한 속도로 이동중이라면 거리 센서(130)의 센싱 범위(311)는 로봇의 이동 "?향으?* 형성되며, 로봇(100)은 거리 센서(130)에 의해 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 수 있다.
그러나, 로봇(100)이 감속 동작을 하는 경우에는 본체(110)가 기울어짐에 따라 거리 센서(130)의 센싱 범위(312)는 지면 쪽으로 하강하게 된다. 이 경우 거리 센서(130)에 의해 획득되는 거리 정보는 거리 센서(130)로부터 지면까지의 거리에 관한 정보이므로 로봇(100)은 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 수 없다.
이는 로봇(100)이 정지 상태에서 가속 동작을 하는 경우에도 발생할 수 있다. 가속 동작을 하는 로봇(100)은 거리 센서(130)의 센싱 범위가 천장 쪽으로 상승하게 되므로 오브젝트를 감지할 수 없게 된다. 또한, 로봇(100)의 감ㆍ가속 동작 외에도 지면의 기울기에 따라 거리 센서(130)의 센싱 범위가 변화할 수 있다.
도 3b는 거리 센서(130)가 구동 휠(120)의 회전축 상에 구비되는 경우 거리 센서(130)의 센싱 범위를 설명하기 위한 도면이다.
도3b를 참조하면, 지면과 수직한 Z축(10), 구동 휠(120)의 회전 축인 Y축(20) 및 로봇(100)의 이동 방향 일치하는 X축(30)이 도시되어 있다. 본 개시의 일 실시 예에 따른 거리 센서(130)는 구동 휠(120)의 회전축인 Y축(20) 상에 구비될 수 있다.
본 명세서에서는 로봇(100) 내지 본체(110)의 지향 방향 이라는 용어는 로봇(100)의 이동 방향과 일치하는 X축(30)과 동일한 의미로 사용될 수 있다.
이 경우 거리 센서(130)의 센싱 범위(320)는 Y축(20)을 중심으로 임계 범위 내의 영역에 걸쳐 형성되며, 로봇(100)은 거리 센서(130)에 의해 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 수 있다.
본 개시의 일 실시 예에 따른 로봇(100)은 감속 또는 가속 동작에도 불구하고 거리 센서(130)의 센싱 범위(320)가 변화하지 않으므로 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 수 있게 된다.
도 4는 본 개시의 일 실시 예에 따른 로봇의 이동 및 회전 동작에 따른 거리 정보 획득을 설명하기 위한 로봇(100) 및 실내 공간(200)의 평면도이다.
본 개시의 일 실시 예에 따른 거리 센서(130)는 한 쌍의 구동 휠 중 제1 구동 휠(121)에 인접한 본체(110)의 제1 영역에 배치된 제1 거리 센서(131) 및 한 쌍의 구동 휠 중 제2 구동 휠(122)에 인접한 본체(110)의 제2 영역에 배치된 제2 거리 센서(132)를 포함할 수 있다. 여기서, 일 예에 따른 제1 및 제2 거리 센서(131, 132)는 ToF 센서로 구현될 수 있다.
일 예에 따르면, 로봇(100)은 공간(200) 내의 다양한 위치에 분포하는 오브젝트에 대한 정보를 획득하기 위해 본체(110)를 이동시키거나 회전시킬 수 있으며, 로봇(100)은 본체(110)가 이동하거나 회전하는 동안 거리 센서(130)를 통해 복수의 상이한 지점 또는 방향에서 측정한 거리 정보를 획득함으로써 오브젝트 센싱의 범위와 정확도를 향상시킬 수 있다.
이하에서는 상술한 로봇(100)의 동작을 구체적으로 설명한다. 먼저, 도 4에는 실내 공간(200)을 주행하는 로봇(100)이 도시되어 있다. 로봇(100)은 도 4의 하단부에서 출발하여 도 4의 상단부 방향으로 이동할 수 있다. 이 경우 로봇(100)은 본체(110)가 이동됨에 따라 본체(110)가 위치하는 복수의 상이한 지점에서 제1 및 제2 거리 센서(131, 132)를 통해 복수의 제1 거리 정보(410 내지 413, 420 내지 423)를 획득할 수 있다.
로봇(100)은 최초의 위치(400)에서 제1 거리 센서(131)를 통해 오브젝트에 대한 거리 정보(410)를, 제2 거리 센서(132)를 통해 오브젝트에 대한 거리 정보(420)를 획득할 수 있다. 이어서 로봇(100)의 최종 위치(403)에 이르기 까지 로봇(100)은 제1 거리 센서(131)에 의해 복수의 오브젝트에 대한 거리 정보(411, 412, 413)를, 제2 거리 센서(132)를 통해 복수의 오브젝트에 대한 거리 정보(421, 422, 423)를 각각 획득할 수 있다.
일 예에 따르면, 본체(110)가 이동됨에 특정한 지점(402)에서 제2 거리 센서(132)에 의해 획득된 거리 정보(422)는 로봇(100)으로부터 실내 공간(200)에 위치하는 장애물(220)까지의 거리에 관한 정보를 포함할 수 있다.
또한, 로봇(100)은 최종 위치(403)에서 반시계 방향으로 회전할 수 있다. 이 경우 로봇(100)은 본체(110)가 회전됨에 따라 본체(110)가 지향하는 복수의 상이한 방향에서 제1 및 제2 거리 센서(131, 132)를 통해 복수의 제2 거리 정보(414 내지 419, 424 내지 429)를 획득할 수 있다. 도 4에서 본체(110)가 지향하는 방향은 제1 및 제2 거리 센서(131,132)를 연결한 직선과 수직하며, 지면에 평행한 직선의 방향일 수 있다.
로봇(100)은 최초의 방향에서 제1 거리 센서(131)를 통해 오브젝트에 대한 거리 정보(414)를, 제2 거리 센서(132)를 통해 오브젝트에 대한 거리 정보(424)를 획득할 수 있다. 이어서 로봇(100)의 최종 방향에 이르기 까지 로봇(100)은 제1 거리 센서(131)에 의해 복수의 오브젝트에 대한 거리 정보(415 내지 419)를, 제2 거리 센서(132)를 통해 복수의 오브젝트에 대한 거리 정보(425 내지 429)를 각각 획득할 수 있다.
일 예에 따르면, 본체(110)가 회전됨에 특정한 방향에서 제1 거리 센서(131)에 의해 획득된 거리 정보(418)는 로봇(100)으로부터 실내 공간(200)에 위치하는 장애물(210)까지의 거리에 관한 정보를 포함할 수 있다.
일 예에 따른 로봇(100)은 획득된 제1 거리 정보(410 내지 419), 제2 거리 정보(420 내지 429) 및 실내 공간(200)의 맵 상의 복수의 지점 각각에 대응되는 거리 정보에 기초하여 로봇(100)의 위치를 식별할 수 있다.
도 4에서는 로봇(100)이 일 방향으로 이동하는 경우 4회, 고정된 위치에서 일 방향으로 회전하는 경우 6회의 거리 정보 획득을 도시하였으나, 거리 정보 획득의 주기 또는 빈도는 도 4에서 도시한 바와 달리 얼마든지 변경 가능함은 물론이다.
도 5a 및 5b는 본 개시의 일 실시 예에 따른 거리 센서의 개수에 따른 로봇의 회전 동작을 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 로봇(100)은 본체(100)가 회전됨에 따라 본체(100)가 지향하는 복수의 상이한 방향에서 적어도 하나의 거리 센서를 통해 복수의 거리 정보를 획득할 수 있다.
도 5a를 참조하면, 일 예에 따른 로봇(100)은 한 쌍의 구동 휠 중 제1 구동 휠(121)에 인접한 본체(110)의 일 영역에 배치된 제1 거리 센서(131)를 구비할 수 있다. 로봇(100)은 본체(110)가 360도 회전(510)함에 따라 본체(110)가 지향하는 복수의 상이한 방향에서 제1 거리 센서(131)를 통해 복수의 거리 정보를 획득할 수 있다.
구체적으로, 로봇(100)은 본체(110)가 회전하는 도중 기 설정된 주기마다 제1 거리 센서(131)의 센싱 범위(21)에 대응되는 거리 정보를 획득할 수 있다. 로봇(100)이 지향하는 방향은 로봇의 진행 방향과 일치하는 X축(미도시) 방향이므로, 로봇(100)은 지향하는 방향과 수직하고, 지면에 평행인 방향(21)에 대응되는 거리 정보를 획득할 수 있다.
도 5a에서는 로봇(100)이 본체(110)가 60도 회전할 때마다 총 6회에 걸쳐 거리 정보를 획득하는 것으로 도시하였으나, 거리 정보 획득의 주기 또는 빈도는 얼마든지 다르게 설정될 수 있다.
도 5b를 참조하면, 일 예에 따른 로봇(100)은 한 쌍의 구동 휠 중 제1 구동 휠(121)에 인접한 본체(110)의 일 영역에 배치된 제1 거리 센서(131) 및 제2 구동 휠(122)에 인접한 본체(110)의 일 영역에 배치된 제2 거리 센서(132)를 구비할 수 있다.
로봇(100)은 본체(110)가 180도 회전(520)함에 따라 본체(110)가 지향하는 복수의 상이한 방향에서 제1 거리 센서(131) 및 제2 거리 센서(132)를 통해 복수의 거리 정보를 획득할 수 있다.
구체적으로, 로봇(100)은 본체(110)가 회전하는 도중 기 설정된 주기마다 제1 거리 센서의 센싱 범위(21) 및 제2 거리 센서의 센싱 범위(22)에 대응되는 거리 정보를 획득할 수 있다.
도 5a 및 5b에 도시한 바와 같이 로봇(100)이 제1 구동 휠(121) 및 제2 구동 휠(122) 상에 두 개의 거리 센서(131, 132)를 구비하는 경우, 하나의 거리 센서(131)를 구비하는 경우보다 본체(110)를 조금 회전시키고도 동일한 양의 거리 정보를 획득할 수 있게 된다.
도 6은 본 개시의 일 실시 예에 따른 로봇이 특정 방향으로 기울어지는 경우의 거리 정보 획득을 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 로봇(100)은 기울기 센서(미도시)를 더 포함할 수 있다. 로봇(100)은 기울기 센서를 통해 본체(110)가 특정 방향으로 기울었는지 여부에 관한 정보(이하, 기울기 정보)를 획득할 수 있다. 일 예에 따른 기울기 센서는 자이로 센서(Gyro Sensor)로 구현될 수 있다.
구체적으로, 로봇(100)은 기울기 센서(130)를 통해 로봇(100)이 로봇의 진행 방향에 대응되는 제3 축(30)을 기초로 회전했는지 여부에 관한 정보를 획득할 수 있다.
본체(110)가 제1 축(10) 또는 제2 축(20)을 기초로 회전하는 경우에는 로봇(100)이 위치하는 제1 축(10) 상의 영역에 분포하는 오브젝트가 거리 센서(130)의 센싱 범위 내에 포함되지만, 본체(110)가 제3 축(30)을 기초로 회전하는 경우에는 거리 센서(130)의 센싱 범위가 지면 또는 천장 방향으로 왜곡될 수 있다.
따라서, 로봇(100)은 기울기 센서에 의해 획득된 기울기 정보가 제3 축(30) 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 맵 상에서 본체(110)가 위치한 지점에 대한 정보를 획득할 수 있다.
이에 따라 로봇(100)은 거리 센서(130)를 구동 휠(120)의 회전축(20) 상에 구비하더라도 방지할 수 없는 센싱 범위의 왜곡에도 불구하고 신뢰도 높은 거리 정보를 획득할 수 있게 된다.
도 7a 및 7b는 본 개시의 일 실시 예에 따른 로봇의 이동 또는 회전 동작에 따라 획득된 거리 정보에 기초한 위치 식별 방법을 설명하기 위한 도면이다.
도 7a를 참조하면, 본 개시의 일 실시 예에 따른 로봇(100)은 제1 거리 센서(131) 및 제2 거리 센서(132)를 구비할 수 있다. 로봇(100)은 본체(110)가 최초의 위치(701)에서부터 최종 위치(703)에 이르기 까지 제1 거리 센서(131)에 의해 센싱된 거리 정보(711, 712, 713) 및 제2 거리 센서(132)에 의해 센싱된 거리 정보(721, 722, 723)를 획득할 수 있다.
여기서, 본체(110)가 이동됨에 따라 특정한 지점(702)에서 제2 거리 센서(132)에 의해 획득된 거리 정보(722)는 로봇(100)으로부터 실내 공간(200)에 위치하는 장애물(210)까지의 거리에 관한 정보를 포함할 수 있다.
로봇(100)은 획득한 거리 정보 및 공간(200)에 대응되는 맵에 포함된 거리 정보에 기초하여 로봇(100)의 위치를 식별할 수 있다. 구체적으로, 공간(200)의 벽면이 직사각형 구조로 배치되어 있는 경우, 로봇(100)은 제1 거리 센서(131)에 의해 센싱된 거리 제2 거리 센서(132)에 의해 센싱된 거리의 합이 일정한 구간에 대응되는 거리 정보 및 로봇의 이동 속도에 기초하여 로봇(100)의 이동 방향과 공간(200)의 각 벽면 사이의 각도를 식별할 수 있다.
예를 들어, 로봇(100)이 장애물(210)을 식별한 직후부터 최종 위치(703)에 이르기까지는 제1 거리 센서(131)에 의해 센싱된 거리와 제2 거리 센서(132)에 의해 센싱된 거리의 합이 일정하므로, 로봇(100)은 해당 구간에 대응되는 거리 정보 및 로봇(100)의 속도에 기초하여 로봇(100)의 이동 방향과 공간(200)의 각 벽면 사이의 각도를 식별할 수 있다.
나아가, 로봇(100)은 거리 센서가 센싱한 벽면의 모서리를 식별할 수 있다. 일 예에 따르면 로봇(100)이 최초의 위치(701)에서 이동하는 경우 제2 거리 센서(132)에 의해 센싱된 거리는 증가하다가 감소할 수 있다. 구체적으로, 제2 거리 센서(132)에 의해 센싱된 거리는 센싱 범위 내에 공간(200)의 우측 상단의 모서리가 포함되는 시점 이전에는 증가하다가, 해당 시점 이후에는 감소할 수 있다. 이에 기초하여 로봇(100)은 공간(200)의 벽면의 모서리를 식별할 수 있게 된다.
결과적으로 로봇(100)은 식별된 각도, 모서리 및 맵에 포함된 장애물(210)의 위치 정보에 기초하여 로봇(100)의 위치를 식별할 수 있게 된다.
도 7b를 참조하면, 본 개시의 일 실시 예에 따른 로봇(100)은 본체(110)가 반시계 방향으로 회전하도록 구동 휠(120)을 제어할 수 있다. 로봇(100)은 본체(110)가 회전됨에 따라 제1 거리 센서(131)에 의해 센싱된 거리 정보(731, 732, 733) 및 제2 거리 센서(132)에 의해 센싱된 거리 정보(741, 742, 743)를 획득할 수 있다.
여기서, 본체(110)가 회전됨에 따라 특정한 방향에서 제2 거리 센서(132)에 의해 획득된 거리 정보(742)는 로봇(100)으로부터 실내 공간(200)에 위치하는 장애물(220)까지의 거리에 관한 정보를 포함할 수 있다.
로봇(100)은 획득된 거리 정보 및 맵에 포함된 공간(200) 내 특정 좌표와 해당 좌표에 위치한 로봇(100)의 거리 센서로부터 일정한 방향에 위치한 오브젝트까지의 거리에 관한 정보에 기초하여 로봇(100)의 위치를 식별할 수 있다.
본 개시의 일 실시 예에 따르면 로봇(100)이 위치를 식별하기 위해 GPS 또는 IMU와 같은 장치를 구비할 필요가 없어 저렴한 비용으로 로봇(100)을 생산할 수 있는 이점이 있다. 또한, 로봇(100)의 감속 또는 가속과 관련된 거리 인식에 대한 보상 알고리즘 없이도 로봇(100)의 위치를 식별할 수 있으므로 프로세서(140)의 연산량을 줄일 수 있게 된다.
도 8은 본 개시의 일 실시 예에 따른 로봇이 맵 상의 거리 정보를 업데이트하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 공간(200)은 가로 길이가 400cm 인 직사각형 형태일 수 있다. 일 예에 따른 로봇(100)은 10cm의 반지름을 갖는 구형의 본체(110)를 구비할 수 있다. 로봇(100)은 본체(110)의 반지름과 제1 거리 센서(131) 및 제2 거리 센서(132)에 의해 획득된 거리 정보에 기초하여 로봇(100)의 중심 위치와 오브젝트 사이의 거리 정보를 획득할 수 있다.
일 예에 따르면, 로봇(100)은 제1 거리 센서(131)로부터 센싱된 거리인 190cm에 본체(110)의 반지름인 10cm를 더한 200cm를 로봇(100)의 중심 위치와 공간(200)의 좌측 벽면 사이의 거리인 것으로 식별할 수 있다. 또한, 로봇(100)은 제2거리 센서(132)로부터 센싱된 거리인 190cm에 본체(110)의 반지름인 10cm를 더한 200cm를 로봇(100)의 중심 위치와 공간(200)의 우측 벽면 사이의 거리인 것으로 식별할 수 있다.
이 경우 로봇(100)은 맵 상에 포함된 거리 정보 중 식별된 거리 정보와 일치하는 거리 정보에 대응되는 지점을 로봇(100)이 위치한 지점으로 식별할 수 있다.
한편, 공간(200)에 대응되는 맵은 공간(200)에 장애물이 새로이 비치되거나 비치된 장애물의 위치가 바뀌는 경우 업데이트될 필요가 있다. 도 8을 참조하면, 공간(200)의 우측 벽면에 가로 10cm, 세로 20cm의 직사각형 형태를 갖는 장애물(210)이 위치하는 경우 로봇(100)은 해당 장애물(210)에 관한 거리 정보에 기초하여 맵을 업데이트할 수 있다.
구체적으로, 로봇(100)은 본체(110)가 공간(200)의 가로 방향 벽면과 수직한 방향으로 이동함에 따라 특정 구간에서 제2 거리 센서(132)가 센싱한 거리가 180cm로 식별되는 경우, 제2 거리 센서(132)를 통해 획득된 거리 정보가 맵 상에서 해당 구간에 대응되는 거리 정보와 상이한 것으로 식별하고, 해당 구간에 장애물(210)이 위치하는 것으로 식별할 수 있다.
구체적으로, 로봇(100)은 이동 과정에서 장애물(210)의 세로 길이인 20cm에 대응되는 구간에서 제2 거리 센서(132)에 의해 센싱된 거리가 180cm인 것으로 식별하고, 해당 구간에 폭 10cm의 장애물(210)이 위치하는 것으로 식별하고, 이에 기초하여 맵 상의 거리 정보를 업데이트할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 구체적으로 설명하기 위한 블록도이다.
도 9에 따르면, 로봇(100')은 본체(110), 구동 휠(120), 거리 센서(130), 프로세서(140), 메모리(150), 통신 인터페이스(160) 및 기울기 센서(170)를 포함한다. 도 9에 도시된 구성 중 도 2에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
거리 센서(130)는 제1 거리 센서(131) 및 제2 거리 센서(132)를 포함할 수 있다. 일 예에 따르면, 제1 거리 센서(131) 및 제2 거리 센서(132)는 서로 반대 방향에 위치한 오브젝트를 센싱할 수 있다.
메모리(150)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(150)는 데이터 저장 용도에 따라 로봇(100')에 임베디드된 메모리 형태로 구현되거나, 로봇(100')에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 로봇(100')의 구동을 위한 데이터의 경우 로봇(100')에 임베디드된 메모리에 저장되고, 로봇(100')의 확장 기능을 위한 데이터의 경우 로봇(100')에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 로봇(100')에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 로봇(100')에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따르면, 메모리(150)는 로봇(100')이 위치한 공간에 대응되는 맵을 저장할 수 있다.
통신 인터페이스(160)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어 통신 인터페이스(160)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다.
일 예에 따르면, 로봇(100')은 통신 인터페이스(160)를 통해 외부 서버에 저장된 맵을 다운로드할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따라 제1 축을 기초로 회전 가능한 본체 및 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 본체에 구비된 한 쌍의 구동 휠을 포함하는 로봇의 제어 방법은 본체가 이동됨에 따라 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득할 수 있다(S1010). 이어서 본체가 회전됨에 따라 본체가 지향하는 복수의 상이한 방향에서 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득할 수 있다(S1020). 마지막으로, 제1 거리 정보 및 제2 거리 정보에 기초하여 로봇이 위치한 공간에 대응되는 맵 상에서 로봇이 위치한 지점에 대한 정보를 획득할 수 있다(S1030).
여기서, 적어도 하나의 거리 센서는 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 본체의 제1 영역에 배치된 제1 거리 센서 및 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 본체의 제2 영역에 배치된 제2 거리 센서를 포함할 수 있다.
여기서, 제1 거리 센서 및 제2 거리 센서는 ToF(Time of Flight) 센서로 구현될 수 있다.
한편, 로봇이 위치한 지점에 대한 정보를 획득하는 단계(S1030)는 복수의 제1 거리 정보 및 복수의 제2 거리 정보 중 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 맵 상에서 본체가 위치한 지점에 대한 정보를 획득할 수 있다.
또한, 본체는 임계 크기 이하의 구형이고, 한 쌍의 구동 휠은 상호 이격되어 구형의 본체 외측에서 본체를 감싸도록 구비될 수 있다.
여기서, 맵은 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 로봇이 위치한 지점에 대한 정보를 획득하는 단계(S1030)는 본체의 지름, 제1 거리 정보 및 제2 거리 정보에 기초하여 제3 거리 정보를 획득하는 단계 및 맵 상에 포함된 거리 정보 중 제3 거리 정보와 일치하는 거리 정보를 식별하고, 식별된 거리 정보에 대응되는 지점을 로봇이 위치한 지점으로 식별하는 단계를 포함할 수 있다.
한편, 맵은 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 로봇이 위치한 지점에 대한 정보를 획득하는 단계(S1030)는 맵 상에 포함된 거리 정보 중 제1 거리 정보 및 제2 거리 정보와 일치하는 거리 정보를 식별하고, 식별된 거리 정보에 대응되는 지점을 로봇이 위치한 지점으로 식별할 수 있다.
여기서, 맵 상에서 로봇이 위치한 지점에 대응되는 거리 정보 및 해당 지점에서 적어도 하나의 거리 센서를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 적어도 하나의 거리 센서를 통해 획득된 거리 정보에 기초하여 맵 상의 거리 정보를 업데이트하는 단계를 더 포함할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버 또는 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서(140) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 로봇(100)의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 로봇(100)에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해 되어져서는 안될 것이다.
100: 로봇 110: 본체
120: 구동 휠 130: 거리센서
140: 프로세서

Claims (19)

  1. 로봇에 있어서,
    제1 축을 기초로 회전 가능한 본체;
    상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠;
    상기 제2 축 상에 구비된 적어도 하나의 거리 센서; 및
    상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 상기 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하고,
    상기 본체가 회전됨에 따라 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하고,
    상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 프로세서;를 포함하는 로봇.
  2. 제1항에 있어서,
    상기 한 쌍의 구동 휠은,
    상기 본체가 상기 제1 축 및 상기 제2 축 각각에 수직인 제3 축 방향으로 이동하도록 구비된, 로봇.
  3. 제1항에 있어서,
    상기 적어도 하나의 거리 센서는,
    상기 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 상기 본체의 제1 영역에 배치된 제1 거리 센서 및 상기 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 상기 본체의 제2 영역에 배치된 제2 거리 센서를 포함하는, 로봇.
  4. 제3항에 있어서,
    상기 제1 거리 센서 및 상기 제2 거리 센서는,
    ToF(Time of Flight) 센서로 구현되는, 로봇.
  5. 제1항에 있어서,
    기울기 센서;를 더 포함하며,
    상기 프로세서는,
    상기 복수의 제1 거리 정보 및 상기 복수의 제2 거리 정보 중 상기 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 상기 맵 상에서 상기 본체가 위치한 지점에 대한 정보를 획득하는, 로봇.
  6. 제1항에 있어서,
    상기 본체는 임계 크기 이하의 구형이고,
    상기 한 쌍의 구동 휠은 상호 이격되어 상기 구형의 본체 외측에서 상기 본체를 감싸도록 구비되는, 로봇.
  7. 제6항에 있어서,
    상기 맵은,
    상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며,
    상기 프로세서는,
    상기 본체의 지름, 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 제3 거리 정보를 획득하고,
    상기 맵 상에 포함된 거리 정보 중 상기 제3 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별하는, 로봇.
  8. 제1항에 있어서,
    상기 맵은,
    상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며,
    상기 프로세서는,
    상기 맵 상에 포함된 거리 정보 중 상기 제1 거리 정보 및 상기 제2 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별하는, 로봇.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 맵 상에서 상기 로봇이 위치한 지점에 대응되는 거리 정보 및 상기 지점에서 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보에 기초하여 상기 맵 상의 거리 정보를 업데이트하는, 로봇.
  10. 제1 축을 기초로 회전 가능한 본체 및 상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠을 포함하는 로봇의 제어 방법에 있어서,
    상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하는 단계;
    상기 본체가 회전됨에 따라 상기 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하는 단계; 및
    상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 한 쌍의 구동 휠은,
    상기 본체가 상기 제1 축 및 상기 제2 축 각각에 수직인 제3 축 방향으로 이동되도록 구비된, 제어 방법.
  12. 제10항에 있어서,
    상기 적어도 하나의 거리 센서는,
    상기 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 상기 본체의 제1 영역에 배치된 제1 거리 센서 및 상기 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 상기 본체의 제2 영역에 배치된 제2 거리 센서를 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제1 거리 센서 및 상기 제2 거리 센서는,
    ToF(Time of Flight) 센서로 구현되는, 제어 방법.
  14. 제10항에 있어서,
    상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계는,
    상기 복수의 제1 거리 정보 및 상기 복수의 제2 거리 정보 중 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 상기 맵 상에서 상기 본체가 위치한 지점에 대한 정보를 획득하는, 제어 방법.
  15. 제10항에 있어서,
    상기 본체는 임계 크기 이하의 구형이고,
    상기 한 쌍의 구동 휠은 상호 이격되어 상기 구형의 본체 외측에서 상기 본체를 감싸도록 구비되는, 제어 방법.
  16. 제15항에 있어서,
    상기 맵은,
    상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며,
    상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계는,
    상기 본체의 지름, 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 제3 거리 정보를 획득하는 단계; 및
    상기 맵 상에 포함된 거리 정보 중 상기 제3 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별하는 단계;를 포함하는 제어 방법.
  17. 제10항에 있어서,
    상기 맵은,
    상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며,
    상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계는,
    상기 맵 상에 포함된 거리 정보 중 상기 제1 거리 정보 및 상기 제2 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별하는, 제어 방법.
  18. 제17항에 있어서,
    상기 맵 상에서 상기 로봇이 위치한 지점에 대응되는 거리 정보 및 상기 지점에서 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보에 기초하여 상기 맵 상의 거리 정보를 업데이트하는 단계;를 더 포함하는, 제어 방법.
  19. 제1 축을 기초로 회전 가능한 본체 및 상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠을 포함하는 로봇의 제어 방법을 실행하기 위한 프로그램을 포함하는 비일시적 컴퓨터 판독가능 기록 매체에 있어서,
    상기 로봇의 제어 방법은,
    상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하는 단계;
    상기 본체가 회전됨에 따라 상기 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하는 단계; 및
    상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계;를 포함하는 비일시적 컴퓨터 판독가능 기록 매체.
KR1020210004267A 2021-01-12 2021-01-12 로봇 및 그 제어 방법 KR20220102058A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210004267A KR20220102058A (ko) 2021-01-12 2021-01-12 로봇 및 그 제어 방법
PCT/KR2021/017259 WO2022154242A1 (ko) 2021-01-12 2021-11-23 로봇 및 그 제어 방법
US18/200,981 US20230297115A1 (en) 2021-01-12 2023-05-23 Robot and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210004267A KR20220102058A (ko) 2021-01-12 2021-01-12 로봇 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20220102058A true KR20220102058A (ko) 2022-07-19

Family

ID=82447188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210004267A KR20220102058A (ko) 2021-01-12 2021-01-12 로봇 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20230297115A1 (ko)
KR (1) KR20220102058A (ko)
WO (1) WO2022154242A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024025093A1 (ko) * 2022-07-29 2024-02-01 삼성전자주식회사 라이다 센서가 탑재된 로봇 및 그의 제어 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100187252B1 (ko) * 1996-04-17 1999-05-01 김광호 로보트의 주행제어장치 및 그 방법
KR101057689B1 (ko) * 2009-04-02 2011-08-18 주식회사코어벨 구형이동로봇
KR20170024844A (ko) * 2015-08-26 2017-03-08 엘지전자 주식회사 이동 로봇 및 이의 제어방법
JP7022547B2 (ja) * 2017-09-22 2022-02-18 パナソニック株式会社 ロボット
KR20200067446A (ko) * 2018-12-04 2020-06-12 삼성전자주식회사 구형 이동 장치 및 그 위에서 움직일 수 있는 제 2 장치를 포함하는 전자 장치, 및 제 2 장치의 자세 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024025093A1 (ko) * 2022-07-29 2024-02-01 삼성전자주식회사 라이다 센서가 탑재된 로봇 및 그의 제어 방법

Also Published As

Publication number Publication date
WO2022154242A1 (ko) 2022-07-21
US20230297115A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
JP6567617B2 (ja) 自律走行車の安定性を向上させるための方法、媒体、及びシステム
KR20200084934A (ko) 차량의 주행을 제어하는 장치 및 차량의 주행을 제어하는 장치가 캘리브레이션을 수행하는 방법
CN105793731A (zh) 自主移动对象
US20210179140A1 (en) Drifting correction between planning stage and controlling stage of operating autonomous driving vehicles
US10860868B2 (en) Lane post-processing in an autonomous driving vehicle
EP3776128B1 (en) Apparatus, system, and method of using depth assessment for autonomous robot navigation
US20180334166A1 (en) Deceleration curb-based direction checking and lane keeping system for autonomous driving vehicles
US11048262B2 (en) Robot movement control method and apparatus and robot using the same
CN114236564B (zh) 动态环境下机器人定位的方法、机器人、装置及存储介质
US11333736B2 (en) Position measurement device and method, and recording medium
CN105806337A (zh) 一种应用于室内机器人的定位方法和室内机器人
US20210188307A1 (en) Spiral curve based vertical parking planner system for autonomous driving vehicles
JP6921343B2 (ja) 地図情報補正装置、移動体、地図情報補正システム、地図情報補正方法、地図情報補正プログラム、制御回路および記憶媒体
WO2016067640A1 (ja) 自律移動装置
US20230297115A1 (en) Robot and controlling method thereof
JP2016057983A (ja) 自己位置推定システムおよび自己位置推定方法
US20200250399A1 (en) 3d data generating device, 3d data generating method, 3d data generating program, and computer-readable recording medium storing 3d data generating program
JP7308591B2 (ja) 移動体
CN113466789B (zh) 一种室内定位方法、系统、计算机设备及存储介质
US11225285B2 (en) Vehicle control method and vehicle control system
KR102421831B1 (ko) 차량 및 차량의 제어방법
US20230192116A1 (en) Vehicle control with incomplete calibration
US11630199B2 (en) Sensor information fusion device and method thereof
JPWO2018180175A1 (ja) 移動体、信号処理装置およびコンピュータプログラム
JP2019109770A (ja) 移動体

Legal Events

Date Code Title Description
A201 Request for examination