KR102386361B1 - Apparatus for localization of mobile robot and method thereof - Google Patents

Apparatus for localization of mobile robot and method thereof Download PDF

Info

Publication number
KR102386361B1
KR102386361B1 KR1020150132274A KR20150132274A KR102386361B1 KR 102386361 B1 KR102386361 B1 KR 102386361B1 KR 1020150132274 A KR1020150132274 A KR 1020150132274A KR 20150132274 A KR20150132274 A KR 20150132274A KR 102386361 B1 KR102386361 B1 KR 102386361B1
Authority
KR
South Korea
Prior art keywords
mobile robot
sensor data
local map
recognizing
map
Prior art date
Application number
KR1020150132274A
Other languages
Korean (ko)
Other versions
KR20170034069A (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 KR1020150132274A priority Critical patent/KR102386361B1/en
Priority to EP16176784.3A priority patent/EP3144765B1/en
Priority to US15/203,079 priority patent/US10663972B2/en
Priority to CN201610773063.XA priority patent/CN106541407B/en
Publication of KR20170034069A publication Critical patent/KR20170034069A/en
Application granted granted Critical
Publication of KR102386361B1 publication Critical patent/KR102386361B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • 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
    • 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/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

Abstract

사용자가 이동 로봇을 임의의 위치로 옮긴 경우 불필요한 이동 없이 제자리에서 현재 위치를 인식할 수 있는 이동 로봇의 위치 인식 장치 및 그 방법을 제안한다.
이동 로봇이 작업 도중에 사용자에 의해 일정 거리 이내의 다른 위치로 이동되었을 경우에 불필요한 이동 없이 제자리에서 일정 각도 또는 360° 회전하면서 이동 로봇이 이동한 위치 주변을 스캔하여 이동 로봇의 현재 위치를 빠르고 정확하게 인식할 수 있기 때문에 위치 인식에 소요되는 시간을 단축할 수 있다. 또한, 이동 로봇의 위치 인식 후에는 디스플레이나 음향을 통해 이동 로봇의 위치 인식이 완료되었음을 알려 주어 제품에 대한 사용자의 신뢰성을 높일 수 있도록 한다.
We propose an apparatus and method for recognizing a location of a mobile robot that can recognize the current location in place without unnecessary movement when a user moves the mobile robot to an arbitrary location.
When the mobile robot is moved to another location within a certain distance by the user during operation, the mobile robot rotates a certain angle or 360° in place without unnecessary movement and scans around the moved location to quickly and accurately recognize the mobile robot's current location This can reduce the time required for location recognition. In addition, after recognizing the location of the mobile robot, it is notified through a display or sound that the location recognition of the mobile robot has been completed, so that the user's reliability of the product can be increased.

Description

이동 로봇의 위치 인식 장치 및 그 방법{APPARATUS FOR LOCALIZATION OF MOBILE ROBOT AND METHOD THEREOF}Position recognition device and method for mobile robot

본 발명은 불필요한 이동 없이 제자리에서 현재 위치를 인식할 수 있는 이동 로봇의 위치 인식 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for recognizing a position of a mobile robot capable of recognizing a current position in place without unnecessary movement.

일반적으로, 이동 로봇은 사용자의 조작 없이도 주행하고자 하는 영역을 자율적으로 이동하면서 작업을 수행하는 장치이다. 최근 들어 이동 로봇은 센서 및 제어기의 발달로 다양한 분야에서 활용되고 있으며, 그 예로는 청소 로봇, 텔레프레전스 로봇(telepresence robot), 경비 로봇(security robot) 등이 있다.In general, a mobile robot is a device that performs a task while autonomously moving an area to be driven without a user's manipulation. In recent years, mobile robots have been used in various fields due to the development of sensors and controllers, and examples thereof include cleaning robots, telepresence robots, and security robots.

이러한 이동 로봇이 자율 주행을 하기 위해서는 이동 로봇의 위치를 인식하는 위치 인식이 필수적으로 요구된다. 이동 로봇의 위치 인식은 이동 로봇이 동작하는 환경의 지도와 센서로 측정한 데이터를 이용하여 이동 로봇의 현재 위치를 추정하는 것이다.In order for such a mobile robot to autonomously drive, location recognition for recognizing the location of the mobile robot is essential. The position recognition of the mobile robot is to estimate the current position of the mobile robot using a map of the environment in which the mobile robot operates and data measured by a sensor.

지도를 이용한 위치 인식 방법으로 가장 많이 사용되는 기술은 파티클 필터(Particle Filter) 기반의 몬테 카를로 위치 추정(Monte Carlo Localization;이하, "MCL"이라 한다) 방법이다. MCL 방법은 이동 로봇의 위치 인식을 위해 파티클 필터(Particle Filter)를 구현한 것으로, 일정 영역 이내에 이동 로봇의 가상 위치를 나타내는 파티클들을 지도 위에 임의로 샘플링(Random Sampling)하고, 이동 로봇은 일정 거리를 임의의 방향으로 이동하면서 파티클들을 수렴시키는 작업을 반복적으로 수행한다. 이러한 과정을 통해 최종적으로 파티클들은 한 곳으로 수렴되며, 수렴된 위치를 이동 로봇의 현재 위치로 인식하는 방법이다.The most used technique as a method for recognizing a location using a map is a particle filter-based Monte Carlo localization (hereinafter referred to as "MCL") method. The MCL method implements a particle filter to recognize the location of a mobile robot, and randomly samples particles representing the virtual location of the mobile robot within a certain area on the map, and the mobile robot randomly selects a certain distance. Repeatedly performs the task of converging particles while moving in the direction of . Through this process, the particles finally converge to one place, and the converged position is a method of recognizing the current position of the mobile robot.

그러나, 이러한 위치 인식 방법은 사용하는 파티클의 개수가 적은 경우에는 위치 인식에 실패할 가능성이 있고, 파티클의 개수가 많은 경우에는 위치 인식을 위한 연산 시간이 증가하는 단점이 있다. 또한, 파티클들을 한 곳으로 수렴시키기 위해 이동 로봇이 일정 거리를 임의의 방향으로 무의미하게 이동하여야 하기 때문에 매우 비효율적이다.However, this location recognition method has a disadvantage in that location recognition may fail when the number of particles used is small, and when the number of particles is large, a calculation time for location recognition increases. In addition, in order to converge the particles to one place, it is very inefficient because the mobile robot must move meaninglessly a certain distance in an arbitrary direction.

상술한 문제를 해결하기 위하여 개시된 본 발명의 일 측면은 사용자가 이동 로봇을 임의의 위치로 옮긴 경우 불필요한 이동 없이 제자리에서 현재 위치를 빠르고 정확하게 인식할 수 있는 이동 로봇의 위치 인식 장치 및 그 방법을 제안하고자 한다.One aspect of the present invention disclosed in order to solve the above-described problem proposes a position recognition device and method for a mobile robot that can quickly and accurately recognize the current position in place without unnecessary movement when the user moves the mobile robot to an arbitrary position want to

이를 위해 본 발명의 일 측면은 사용자에 의해 임의의 위치로 이동된 이동 로봇의 위치를 인식하는 방법에 있어서, 임의의 위치 주변을 스캔하여 로컬 맵을 획득하고; 임의의 위치에서 이동 로봇이 회전하면서 실 센서 데이터를 획득하고; 로컬 맵과 실 센서 데이터 간의 정합을 수행하여 로컬 맵에 대한 상기 이동 로봇의 상대 위치를 인식하는 것;을 포함한다.To this end, an aspect of the present invention provides a method for recognizing the position of a mobile robot moved to an arbitrary position by a user, comprising: acquiring a local map by scanning around an arbitrary position; Acquire real sensor data while the mobile robot rotates at an arbitrary position; and recognizing the relative position of the mobile robot with respect to the local map by performing matching between the local map and the real sensor data.

또한, 본 발명의 일 측면에 의한 이동 로봇의 위치 인식 방법은, 이동 로봇의 위치 인식이 완료되었음을 알리는 것;을 더 포함한다.In addition, the method for recognizing a position of a mobile robot according to an aspect of the present invention further includes notifying that the recognition of the position of the mobile robot is completed.

로컬 맵을 획득하는 것은, 이동 로봇이 동작하는 환경의 지도 정보를 기반으로 하여 임의의 위치 주변을 스캔하여 로컬 맵을 획득하는 것이다.Acquiring a local map is to acquire a local map by scanning around an arbitrary location based on map information of an environment in which the mobile robot operates.

로컬 맵을 획득하는 방식은, 가상 센서 데이터 추출 방식, Small Local Map 추출 방식 또는 Large Local Map 추출 방식 중에서 적어도 하나를 포함한다.The method of obtaining the local map includes at least one of a virtual sensor data extraction method, a Small Local Map extraction method, and a Large Local Map extraction method.

이동 로봇이 동작하는 환경 지도는, 2차원 격자 지도 또는 3차원 격자 지도를 사용한다.The environment map in which the mobile robot operates uses a two-dimensional grid map or a three-dimensional grid map.

실 센서 데이터를 획득하는 것은, 이동 로봇에 설치된 센서로부터 측정 대상까지의 거리를 측정하여 이동 로봇이 위치한 임의의 위치에서 거리 데이터를 획득하는 것이다.Acquiring the real sensor data is to obtain distance data from an arbitrary location where the mobile robot is located by measuring the distance from a sensor installed in the mobile robot to a measurement target.

이동 로봇은, 센서의 시야에 따라 실 센서 데이터의 획득 방식을 다르게 한다.The mobile robot uses a different method of acquiring real sensor data according to the field of view of the sensor.

실 센서 데이터의 획득 방식은, 이동 로봇이 정지된 상태에서 실 센서 데이터를 획득하는 방식; 이동 로봇이 제자리에서 일정 각도를 회전하면서 센서의 시야 밖의 실 센서 데이터를 획득하는 방식; 이동 로봇이 제자리에서 360° 회전하면서 전(全)방향에 대한 실 센서 데이터를 획득하는 방식; 중에서 적어도 하나를 포함한다.The method of acquiring the real sensor data may include: a method of acquiring the real sensor data in a state in which the mobile robot is stopped; a method in which the mobile robot rotates a certain angle in place and acquires real sensor data outside the field of view of the sensor; A method in which a mobile robot rotates 360° in place to acquire real sensor data for all directions; includes at least one of

로컬 맵에 대한 이동 로봇의 상대 위치를 인식하는 것은, 실 센서 데이터와 로컬 맵 간의 데이터 정합을 통해 대응점들을 획득하고; 획득된 대응점들을 이용하여 로컬 맵에 대한 실 센서 데이터의 상대 위치를 계산하고; 복수의 로컬 맵과 실 센서 데이터의 유사도를 계산하고; 유사도가 가장 큰 로컬 맵에 대한 이동 로봇의 상대 위치를 환경 지도에 대한 이동 로봇의 위치로 결정하는 것;을 포함한다.Recognizing the relative position of the mobile robot with respect to the local map includes: acquiring corresponding points through data matching between real sensor data and the local map; calculating a relative position of the real sensor data with respect to a local map using the obtained corresponding points; calculating a degree of similarity between the plurality of local maps and real sensor data; and determining the relative position of the mobile robot with respect to the local map having the greatest similarity as the position of the mobile robot with respect to the environment map.

또한, 본 발명의 일 측면에 의한 이동 로봇의 위치 인식 방법은, 로컬 맵과 실 센서 데이터에 공통으로 포함되는 데이터 점의 개수가 많을수록 유사도가 높은 것으로 계산한다.In addition, in the method for recognizing the location of a mobile robot according to an aspect of the present invention, the higher the number of data points commonly included in the local map and the real sensor data, the higher the degree of similarity is calculated.

또한, 본 발명의 일 측면에 의한 이동 로봇의 위치 인식 방법은, 획득된 대응점들 중에서 이상점을 제거하는 것;을 더 포함한다.In addition, the method for recognizing a position of a mobile robot according to an aspect of the present invention further includes; removing an outlier from among the obtained corresponding points.

그리고, 본 발명의 다른 측면은 사용자에 의해 임의의 위치로 이동된 이동 로봇의 위치를 인식하는 장치에 있어서, 임의의 위치에서 이동 로봇에 설치된 센서로부터 측정 대상까지의 거리를 측정하여 실 센서 데이터를 획득하는 데이터 획득부; 이동 로봇이 동작하는 환경의 지도 정보를 기반으로 임의의 위치 주변을 스캔하여 로컬 맵을 획득하는 로컬 맵 획득부; 로컬 맵과 실 센서 데이터 간의 정합을 수행하여 상기 로컬 맵에 대한 상기 이동 로봇의 상대 위치를 인식하는 제어장치;를 포함한다.And, another aspect of the present invention is a device for recognizing the position of a mobile robot moved to an arbitrary position by a user, and measures the distance from a sensor installed in the mobile robot to a measurement target at an arbitrary position to obtain real sensor data. a data acquisition unit to acquire; a local map acquisition unit that acquires a local map by scanning around an arbitrary location based on map information of an environment in which the mobile robot operates; and a control device for recognizing the relative position of the mobile robot with respect to the local map by performing matching between the local map and real sensor data.

또한, 본 발명의 일 측면에 의한 이동 로봇의 위치 인식 장치는, 이동 로봇의 위치 인식이 완료되었음을 표시하는 디스플레이부;를 더 포함한다.In addition, the apparatus for recognizing a position of a mobile robot according to an aspect of the present invention further includes a display unit for indicating that the recognition of the position of the mobile robot has been completed.

또한, 본 발명의 일 측면에 의한 이동 로봇의 위치 인식 장치는, 이동 로봇의 위치 인식이 완료되었음을 알리는 음향출력부;를 더 포함한다.In addition, the apparatus for recognizing a position of a mobile robot according to an aspect of the present invention further includes a sound output unit notifying that the position recognition of the mobile robot is completed.

데이터 획득부는, 이동 로봇이 정지된 상태에서 실 센서 데이터를 획득하는 것; 이동 로봇이 제자리에서 일정 각도를 회전하면서 센서의 시야 밖의 실 센서 데이터를 획득하는 것; 이동 로봇이 제자리에서 360° 회전하면서 전(全)방향에 대한 실 센서 데이터를 획득하는 것; 중에서 적어도 하나를 이용하여 센서의 시야에 따라 실 센서 데이터를 획득한다.The data acquisition unit may include: acquiring real sensor data in a state in which the mobile robot is stopped; Acquiring real sensor data outside the field of view of the sensor while the mobile robot rotates a certain angle in place; Acquiring real sensor data for all directions while the mobile robot rotates 360° in place; Real sensor data is acquired according to the field of view of the sensor using at least one of them.

센서는, 2D 센서 또는 3D 센서를 사용한다.The sensor uses a 2D sensor or a 3D sensor.

제어장치는, 실 센서 데이터와 로컬 맵 간의 데이터 정합을 통해 대응점들을 획득하는 데이터 획득부; 획득된 대응점들을 이용하여 로컬 맵에 대한 실 센서 데이터의 상대 위치를 계산하는 상대 위치 계산부; 복수의 로컬 맵과 실 센서 데이터의 유사도를 계산하는 유사도 계산부; 유사도가 가장 큰 로컬 맵에 대한 이동 로봇의 상대 위치를 환경 지도에 대한 이동 로봇의 위치로 결정하는 위치 결정부;를 포함한다.The control device includes: a data acquisition unit configured to acquire corresponding points through data matching between real sensor data and a local map; a relative position calculation unit for calculating a relative position of the real sensor data with respect to a local map using the obtained corresponding points; a similarity calculator configured to calculate similarities between a plurality of local maps and real sensor data; and a positioning unit that determines the relative position of the mobile robot with respect to the local map having the greatest similarity as the position of the mobile robot with respect to the environment map.

유사도 계산부는, 로컬 맵과 실 센서 데이터에 공통으로 포함되는 데이터 점의 개수가 많을수록 유사도가 높다고 계산한다.The similarity calculator calculates that the higher the number of data points commonly included in the local map and the real sensor data, the higher the similarity.

제어장치는, 획득된 대응점들 중에서 이상점을 제거하는 것;을 더 포함한다.The control device further includes; removing an outlier from among the obtained corresponding points.

제안된 이동 로봇의 위치 인식 장치 및 그 방법에 의하면, 이동 로봇이 작업 도중에 사용자에 의해 일정 거리 이내의 다른 위치로 이동되었을 경우에 불필요한 이동 없이 제자리에서 일정 각도 또는 360° 회전하면서 이동 로봇이 이동한 위치 주변을 스캔하여 이동 로봇의 현재 위치를 빠르고 정확하게 인식할 수 있기 때문에 위치 인식에 소요되는 시간을 단축할 수 있다.According to the proposed device for recognizing the position of a mobile robot and its method, when the mobile robot is moved to another position within a certain distance by the user during the operation, the mobile robot moves while rotating at a certain angle or 360° without unnecessary movement. Because the current location of the mobile robot can be recognized quickly and accurately by scanning around the location, the time required for location recognition can be shortened.

또한, 이동 로봇의 위치 인식 후에는 디스플레이나 음향을 통해 이동 로봇의 위치 인식이 완료되었음을 알려 주어 제품에 대한 사용자의 신뢰성을 높일 수 있도록 한다.In addition, after recognizing the location of the mobile robot, it is notified through a display or sound that the location recognition of the mobile robot has been completed, so that the user's reliability of the product can be increased.

도 1은 본 발명의 일 실시예에 의한 이동 로봇 시스템의 전체 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 의한 이동 로봇의 외관을 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 의한 이동 로봇의 위치 인식 제어 구성도이다.
도 4는 본 발명의 일 실시예에 의한 이동 로봇의 현재 위치를 인식하기 위한 제어 알고리즘을 도시한 동작 순서도이다.
도 5는 본 발명의 일 실시예에 의한 이동 로봇의 현재 위치를 인식하기 위한 제어 알고리즘을 도시한 동작 순서도이다.
도 6은 본 발명의 일 실시예에 의한 이동 로봇이 이동한 위치에서 가상 센서 데이터를 추출하는 위치를 나타낸 도면이다.
도 7a 내지 도 7c는 도 6의 가상 센서 데이터 추출 위치를 계산하는 방법을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 의한 광선 던지기 기법의 예를 나타낸 도면이다.
도 9는 도 8의 광선 던지기 기법을 이용하여 추출된 가상 센서 데이터의 예를 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 의한 이동 로봇이 이동한 위치에서 Small Local Map을 추출하는 위치를 나타낸 도면이다.
도 11은 Small Local Map 추출 위치를 이용하여 추출된 Small Local Map의 예를 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 의한 이동 로봇에서 획득한 실 센서 데이터의 예를 나타낸 도면이다.
도 13은 본 발명의 일 실시예에 의한 이동 로봇에서 획득한 가상 센서 데이터의 예를 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 의한 로컬 맵에 대한 실 센서 데이터의 상대 위치를 계산하는 방법을 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 의한 로컬 맵을 팽창시킨 상태를 나타낸 도면이다.
도 16은 본 발명의 일 실시예에 의한 로컬 맵과 실 센서 데이터가 맞춤(Fitting)이 잘된 경우를 나타낸 도면이다.
도 17은 본 발명의 일 실시예에 의한 로컬 맵과 실 센서 데이터가 맞춤(Fitting)이 잘못된 경우를 나타낸 도면이다.
1 is a view showing the overall configuration of a mobile robot system according to an embodiment of the present invention.
2 is a diagram schematically illustrating an external appearance of a mobile robot according to an embodiment of the present invention.
3 is a configuration diagram of a position recognition control of a mobile robot according to an embodiment of the present invention.
4 is an operation flowchart illustrating a control algorithm for recognizing a current position of a mobile robot according to an embodiment of the present invention.
5 is an operation flowchart illustrating a control algorithm for recognizing a current position of a mobile robot according to an embodiment of the present invention.
6 is a diagram illustrating a position where virtual sensor data is extracted from a position where the mobile robot moves according to an embodiment of the present invention.
7A to 7C are diagrams illustrating a method of calculating a virtual sensor data extraction position of FIG. 6 .
8 is a diagram illustrating an example of a beam throwing technique according to an embodiment of the present invention.
9 is a diagram illustrating an example of virtual sensor data extracted using the ray throwing technique of FIG. 8 .
10 is a diagram illustrating a location where a small local map is extracted from a location where the mobile robot moves according to an embodiment of the present invention.
11 is a diagram illustrating an example of a Small Local Map extracted using a Small Local Map extraction location.
12 is a view showing an example of real sensor data obtained by the mobile robot according to an embodiment of the present invention.
13 is a diagram illustrating an example of virtual sensor data acquired by a mobile robot according to an embodiment of the present invention.
14 is a diagram illustrating a method of calculating a relative position of real sensor data with respect to a local map according to an embodiment of the present invention.
15 is a diagram illustrating an expanded state of a local map according to an embodiment of the present invention.
16 is a diagram illustrating a case in which a local map and real sensor data are well fitted according to an embodiment of the present invention.
17 is a diagram illustrating a case in which a local map and real sensor data are incorrectly fitted according to an embodiment of the present invention.

본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예이며, 본 출원의 출원 시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.The configuration shown in the embodiments and drawings described in this specification is a preferred example of the disclosed invention, and there may be various modifications that can be substituted for the embodiments and drawings of the present specification at the time of filing of the present application.

또한, 본 명세서의 각 도면에서 제시된 동일한 참조 번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성 요소를 나타낸다.In addition, the same reference number or reference number given in each drawing of this specification indicates a part or component which performs substantially the same function.

또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.In addition, the terminology used herein is used to describe the embodiments, and is not intended to limit and/or limit the disclosed invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprises", "comprises" or "have" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, but one It does not preclude in advance the possibility of the presence or addition of other features or numbers, steps, operations, components, parts, or combinations thereof, or other features.

또한, 본 명세서에서 사용한 "제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지는 않으며, 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1구성 요소는 제2구성 요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1구성 요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.In addition, terms including ordinal numbers such as "first", "second", etc. used herein may be used to describe various elements, but the elements are not limited by the terms, and the terms are It is used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. The term “and/or” includes a combination of a plurality of related listed items or any of a plurality of related listed items.

이하에서는 본 발명에 의한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 의한 이동 로봇 시스템의 전체 구성을 도시한 도면이다.1 is a view showing the overall configuration of a mobile robot system according to an embodiment of the present invention.

도 1에서, 본 발명의 일 실시예에 의한 이동 로봇 시스템(1)은 일정 영역을 자율적으로 이동하면서 작업을 수행하는 이동 로봇(100)과, 이동 로봇(100)과 분리되어 이동 로봇(100)을 원격으로 제어하는 디바이스(200)와, 이동 로봇(100)과 분리되어 이동 로봇(100)의 배터리 전원을 충전하는 충전 스테이션(300)을 포함한다.In FIG. 1 , a mobile robot system 1 according to an embodiment of the present invention includes a mobile robot 100 that performs a task while autonomously moving a predetermined area, and a mobile robot 100 separated from the mobile robot 100 . a device 200 for remotely controlling the , and a charging station 300 separated from the mobile robot 100 to charge the battery power of the mobile robot 100 .

이동 로봇(100)은 디바이스(200)의 제어 명령을 전달받아 제어 명령에 대응하는 동작을 수행하는 장치로, 충전 가능한 배터리를 구비하고, 주행 중 장애물을 피할 수 있는 장애물 센서를 구비하여 작업 영역을 자율적으로 주행하며 작업할 수 있다.The mobile robot 100 is a device that receives a control command from the device 200 and performs an operation corresponding to the control command. They can drive and work autonomously.

또한, 이동 로봇(100)은 카메라나 각종 센서들을 통해 주변 환경에 대한 사전 정보 없이 자신의 위치를 인식하고, 환경에 대한 정보로부터 지도를 작성하는 위치 인식(Localization)과 지도 작성(Map-building)의 과정을 수행할 수 있다. In addition, the mobile robot 100 recognizes its location without prior information about the surrounding environment through a camera or various sensors, and creates a map from information about the environment (Localization) and map-building (Map-building) process can be performed.

디바이스(200)는 이동 로봇(100)의 이동을 제어하거나 이동 로봇(100)의 작업을 수행하기 위한 제어 명령을 무선으로 송신하는 원격 제어 장치로, 휴대폰(Cellphone, PCS phone), 스마트 폰(smart phone), 휴대 단말기(Personal Digital Assistants: PDA), 휴대용 멀티미디어 플레이어(Portable Multimedia Player: PMP), 노트북 컴퓨터(laptop computer), 디지털 방송용 단말기, 넷북, 태블릿, 네비게이션(Navigation) 등을 포함할 수 있다. The device 200 is a remote control device that controls the movement of the mobile robot 100 or wirelessly transmits a control command for performing an operation of the mobile robot 100 , and includes a mobile phone (Cellphone, PCS phone), and a smart phone (smart phone). phone), a portable terminal (Personal Digital Assistants: PDA), a portable multimedia player (PMP), a laptop computer, a digital broadcasting terminal, a netbook, a tablet, a navigation system, and the like.

이외에도, 디바이스(200)는 유무선 통신 기능이 내장된 디지털 카메라, 캠코더 등과 같이 여러 응용 프로그램을 이용한 다양한 기능의 구현이 가능한 모든 장치를 포함한다.In addition, the device 200 includes all devices capable of implementing various functions using various application programs, such as digital cameras and camcorders with built-in wired/wireless communication functions.

또한, 디바이스(200)는 간단한 형태의 일반적인 리모컨일 수 있다. 리모컨은 일반적으로 적외선 통신(IrDA, infrared Data Association)을 이용하여 이동 로봇(100)과 신호를 송수신한다. Also, the device 200 may be a general remote control in a simple form. The remote control generally transmits and receives signals to and from the mobile robot 100 using infrared data association (IrDA).

또한, 디바이스(200)는 RF(Radio Frequency), 와이파이(Wireless Fidelity, Wi-Fi), 블루투스(Bluetooth), 지그비(Zigbee), 엔에프씨(near field communication: NFC), 초광대역(Ultra Wide Band: UWB) 통신 등 다양한 방식을 이용하여 이동 로봇(100)과 무선 통신 신호를 송수신할 수 있으며, 디바이스(200)와 이동 로봇(100)이 무선 통신 신호를 주고 받을 수 있는 것이면, 어느 방식을 사용하여도 무방하다.In addition, the device 200 is RF (Radio Frequency), Wi-Fi (Wireless Fidelity, Wi-Fi), Bluetooth (Bluetooth), Zigbee (Zigbee), NFC (near field communication: NFC), ultra wide band (Ultra Wide Band: UWB) communication, etc., can be used to transmit and receive wireless communication signals to and from the mobile robot 100, and if the device 200 and the mobile robot 100 can send and receive wireless communication signals, which method can be used is also free

또한, 디바이스(200)는 이동 로봇(100)의 전원을 온/오프 제어하기 위한 전원 버튼과, 이동 로봇(100)의 배터리 충전을 위해 충전 스테이션(300)으로 복귀하도록 지시하기 위한 충전 복귀 버튼과, 이동 로봇(100)의 제어 모드를 변경하기 위한 모드 버튼과, 이동 로봇(100)의 동작을 시작/정지하거나 제어 명령의 개시, 취소 및 확인을 위한 시작/정지 버튼과, 다이얼 등을 포함할 수 있다.In addition, the device 200 includes a power button for controlling on/off of the power of the mobile robot 100, a charging return button for instructing to return to the charging station 300 for charging the battery of the mobile robot 100, and , a mode button for changing the control mode of the mobile robot 100, start/stop buttons for starting/stop operation of the mobile robot 100 or starting, canceling and confirming a control command, a dial, etc. can

충전 스테이션(300)은 이동 로봇(100)의 배터리 충전을 위한 것으로, 이동 로봇(100)이 도킹되는 것을 안내하는 가이드 부재(미도시)가 마련되어 있고, 가이드 부재(미도시)에는 이동 로봇(100)에 구비된 전원부(130)를 충전시키기 위해 접속 단자(미도시)가 마련되어 있다.The charging station 300 is for charging the battery of the mobile robot 100 , and a guide member (not shown) for guiding the docking of the mobile robot 100 is provided, and the guide member (not shown) includes the mobile robot 100 . ) is provided with a connection terminal (not shown) to charge the power supply unit 130 provided in the.

도 2는 본 발명의 일 실시예에 의한 이동 로봇의 외관을 개략적으로 도시한 도면이다.2 is a diagram schematically illustrating an external appearance of a mobile robot according to an embodiment of the present invention.

도 2에서, 이동 로봇(100)은 외관을 형성하는 본체(110)와, 본체(110)의 상부를 덮는 커버(120)와, 본체(110)를 구동시키기 위한 구동 전원을 공급하는 전원부(130)와, 본체(110)를 이동시키는 구동부(140)를 포함하여 구성된다.In FIG. 2 , the mobile robot 100 includes a main body 110 forming an exterior, a cover 120 covering the upper portion of the main body 110 , and a power supply unit 130 for supplying driving power for driving the main body 110 . ) and a driving unit 140 for moving the main body 110 .

본체(110)는 이동 로봇(100)의 외관을 형성하는 한편, 그 내부에 설치되는 각종 부품들을 지지한다.The main body 110 forms the exterior of the mobile robot 100 and supports various parts installed therein.

전원부(130)는 구동부(140) 및 그 외 본체(110)를 구동시키기 위한 각 부하와 전기적으로 연결되어 구동 전원을 공급하는 배터리를 포함한다. 배터리는 재충전이 가능한 2차 배터리로 마련되며, 본체(110)가 작업을 완료하고 충전 스테이션(300)에 결합된 경우 충전 스테이션(300)으로부터 전력을 공급받아 충전된다.The power supply unit 130 includes a battery that is electrically connected to the driving unit 140 and other loads for driving the main body 110 to supply driving power. The battery is provided as a rechargeable secondary battery, and is charged by receiving power from the charging station 300 when the main body 110 completes the operation and is coupled to the charging station 300 .

또한, 전원부(130)는 충전 잔량이 부족하면 충전 스테이션(300)으로부터 충전 전류를 공급받아 충전된다.In addition, when the remaining amount of charge is insufficient, the power supply unit 130 is charged by receiving a charging current from the charging station 300 .

또한, 본체(110)의 전방에는 이동 로봇(100)이 이동하는 바닥 면의 상태에 따라 회전하는 각도가 변화하는 캐스터 휠이 설치될 수 있다. 캐스터 휠은 이동 로봇(100)의 자세 안정 및 추락 방지 등에 활용되어 이동 로봇(100)을 지지하며, 롤러나 캐스터 형상의 휠로 구성된다.In addition, a caster wheel whose rotation angle changes according to the state of the floor surface on which the mobile robot 100 moves may be installed in front of the main body 110 . The caster wheel is used for posture stabilization and fall prevention of the mobile robot 100 to support the mobile robot 100, and is composed of a roller or a caster-shaped wheel.

구동부(140)는 본체(110)의 중앙부 양측에 각각 마련되어 본체(110)가 작업을 수행하는 과정에서 전진, 후진 및 회전주행 등의 이동 동작이 가능하도록 한다. The driving unit 140 is provided on both sides of the central portion of the main body 110 to enable movement such as forward, backward, and rotational driving while the main body 110 performs an operation.

양 구동부(140)는 후술하는 제어부(100, 도 3 참조)의 명령에 따라 전진 또는 후진 방향으로 각각 회전하여 이동 로봇(100)이 전진 또는 후진하거나 회전할 수 있도록 한다. 예를 들면 양 구동부(140)를 전진 또는 후진 방향으로 회전시켜 이동 로봇(100)이 전진 또는 후진 주행하도록 한다. 또한 좌측 구동부(140)를 후진 방향으로 회전시키는 동안 우측 구동부(140)를 전진 방향으로 회전시켜 이동 로봇(100)이 전방을 기준으로 좌측 방향으로 회전하도록 하고, 우측 구동부(140)를 후진 방향으로 회전시키는 동안 좌측 구동부(140)를 전진 방향으로 회전시켜 이동 로봇(100)이 전방을 기준으로 우측 방향으로 회전하도록 한다.Both driving units 140 rotate in a forward or backward direction according to a command of a control unit 100 (refer to FIG. 3 ) to be described later so that the mobile robot 100 can move forward or backward or rotate. For example, both driving units 140 are rotated in a forward or backward direction to cause the mobile robot 100 to travel forward or backward. Also, while rotating the left driving unit 140 in the reverse direction, the right driving unit 140 is rotated in the forward direction so that the mobile robot 100 rotates in the left direction with respect to the front, and the right driving unit 140 is rotated in the reverse direction. During rotation, the left driving unit 140 is rotated in the forward direction so that the mobile robot 100 rotates in the right direction with respect to the front.

도 3은 본 발명의 일 실시예에 의한 이동 로봇의 위치 인식 제어 구성도이다.3 is a configuration diagram of a position recognition control of a mobile robot according to an embodiment of the present invention.

도 3에서, 본 발명의 일 실시예에 의한 이동 로봇(100)은 도 2에 도시한 구성 요소 이외에 데이터 획득부(150), 저장부(160), 제어장치(170), 디스플레이부(180) 및 음향출력부(190)를 더 포함한다.In FIG. 3 , the mobile robot 100 according to an embodiment of the present invention includes a data acquisition unit 150 , a storage unit 160 , a control unit 170 , and a display unit 180 in addition to the components shown in FIG. 2 . and a sound output unit 190 .

데이터 획득부(150)는 이동 로봇(100)이 현재 위치하고 있는 실 센서 데이터를 획득하는 것으로, 이동 로봇(100)에 설치된 2D 센서 또는 3D센서의 스캔에 따라 측정 대상까지의 거리를 측정하여 이동 로봇(100)이 위치한 실제 환경의 거리 데이터를 획득한다. 2D 센서는 측정 대상까지의 거리를 센서의 기준 좌표계에 대해 (x, y) 좌표로 표시할 수 있고, 3D 센서는 측정 대상까지의 거리를 센서의 기준 좌표계에 대해 (x, y, z) 좌표로 표시할 수 있다. 이러한 2D 센서 또는 3D 센서에서 출력되는 거리 데이터의 개수는 센서의 시야(Field of View, FoV)와 해상도(Resolution)에 따라 달라진다.The data acquisition unit 150 acquires real sensor data in which the mobile robot 100 is currently located, and measures the distance to the measurement target according to the scan of the 2D sensor or 3D sensor installed in the mobile robot 100 to measure the distance to the mobile robot. Acquire distance data of the real environment in which 100 is located. The 2D sensor can display the distance to the measurement target in (x, y) coordinates with respect to the reference coordinate system of the sensor, and the 3D sensor can display the distance to the measurement target in (x, y, z) coordinates relative to the reference coordinate system of the sensor. can be displayed as The number of distance data output from the 2D sensor or the 3D sensor varies depending on the field of view (FoV) and resolution of the sensor.

즉, 데이터 획득부(150)는 2D 센서 또는 3D 센서의 시야(FoV)에 따라 이동 로봇(100)은 실 센서 데이터 획득을 위한 방식을 달리한다. 센서의 시야가 충분히 확보되었을 경우 이동 로봇(100)은 정지 상태에서 실 센서 데이터를 획득한다. 또는 제자리에서 일정 각도를 회전하면서 센서의 시야 밖의 데이터를 획득하거나 제자리에서 360° 회전하면서 전(全)방향에 대한 실 센서 데이터를 획득한다.That is, the data acquisition unit 150 varies the method for acquiring the real sensor data of the mobile robot 100 according to the field of view (FoV) of the 2D sensor or the 3D sensor. When the field of view of the sensor is sufficiently secured, the mobile robot 100 acquires real sensor data in a stationary state. Alternatively, data outside the field of view of the sensor is acquired while rotating at a certain angle in place, or real sensor data for all directions is acquired while rotating 360° in place.

저장부(160)는 이동 로봇(100)이 동작하는 환경의 지도와, 이동 로봇(100)의 동작을 위한 운영 프로그램과 주행 패턴, 주행 과정에서 획득한 이동 로봇(100)의 위치 정보와 장애물 정보 등을 저장하는 메모리이다.The storage unit 160 includes a map of the environment in which the mobile robot 100 operates, an operating program and a driving pattern for the operation of the mobile robot 100, and location information and obstacle information of the mobile robot 100 acquired in the driving process. It is a memory that stores etc.

또한, 저장부(160)는 이동 로봇(100)의 동작을 제어하기 위한 제어 데이터, 이동 로봇(100)의 동작 제어 중 사용되는 기준 데이터, 이동 로봇(100)이 소정의 동작을 수행하는 중에 발생되는 동작 데이터, 이동 로봇(100)이 소정 동작을 수행하도록 디바이스(200)에 의해 입력된 설정 데이터 등과 같은 사용자 입력 정보가 저장될 수 있다.In addition, the storage unit 160 generates control data for controlling the operation of the mobile robot 100 , reference data used during operation control of the mobile robot 100 , and the mobile robot 100 while performing a predetermined operation. User input information such as motion data to be used and setting data input by the device 200 to cause the mobile robot 100 to perform a predetermined operation may be stored.

또한, 저장부(160)는 롬(Read Only Memory; ROM), 피롬(Programmable Read Only Memory; PROM), 이피롬(Erasable Programmed Read Only Memory; EPRM), 플레시 메모리(flash memory)와 같은 비활성 메모리 소자, 램(Random Access Memory; RAM)과 같은 휘발성 메모리 소자 또는 하드디스크(hard disc), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 광 디스크와 같은 저장 매체로 구현될 수 있다. 그러나 저장부(160)는 이에 한정되지 않으며 설계자가 고려할 수 있는 다양한 저장 매체가 사용될 수 있다.In addition, the storage unit 160 is an inactive memory device such as a read only memory (ROM), a programmable read only memory (PROM), an erasable programmed read only memory (EPRM), and a flash memory (flash memory). , a volatile memory device such as a random access memory (RAM) or a storage medium such as a hard disk, a card-type memory (eg, SD or XD memory, etc.), or an optical disk. However, the storage unit 160 is not limited thereto, and various storage media that a designer may consider may be used.

제어장치(170)는 이동 로봇(100)의 전반적인 동작을 제어하는 마이크로 프로세서로, 로컬 맵과 센서 데이터 간의 정합(Matching)을 수행하여 로컬 맵에 대한 이동 로봇(100)의 상대 위치를 인식한다. 이를 위해 제어장치(170)는 로컬 맵 획득부(171), 대응점 획득부(172), 상대 위치 계산부(173), 유사도 계산부(174) 및 위치 결정부(175)를 더 포함한다.The controller 170 is a microprocessor that controls the overall operation of the mobile robot 100 , and recognizes the relative position of the mobile robot 100 with respect to the local map by performing matching between the local map and sensor data. To this end, the control device 170 further includes a local map acquisition unit 171 , a corresponding point acquisition unit 172 , a relative position calculation unit 173 , a similarity calculation unit 174 , and a location determination unit 175 .

로컬 맵 획득부(171)는 저장부(160)에 저장된 환경 지도를 기반으로 하여 추출되는 가상 센서 데이터를 이용하여 이동 로봇(100)이 이동한 위치 주변의 로컬 맵(Local Map; 국지적 지도)을 획득한다. 로컬 맵(Local Map)을 획득하는 방법에 대해서는 도 5 내지 도 11을 참조하여 이후에 상세히 설명한다.The local map acquisition unit 171 uses virtual sensor data extracted based on the environment map stored in the storage unit 160 to obtain a local map (Local Map) around the location where the mobile robot 100 has moved. acquire A method of obtaining a local map will be described later in detail with reference to FIGS. 5 to 11 .

대응점 획득부(172)는 데이터 획득부(150)에 의해 획득된 실 센서 데이터와 로컬 맵 획득부(171)에 의해 획득된 로컬 맵 간의 데이터 정합을 통해 대응점(Corresponding Point)을 획득한다. 대응점을 획득하는 방법에 대해서는 도 12 및 도 13을 참조하여 이후에 상세히 설명한다.Correspondence point acquisition unit 172 acquires a corresponding point (Corresponding Point) through data matching between the real sensor data acquired by the data acquisition unit 150 and the local map acquired by the local map acquisition unit 171 . A method of obtaining the corresponding point will be described later in detail with reference to FIGS. 12 and 13 .

상대 위치 계산부(173)는 대응점 획득부(172)에 의해 획득된 대응점들을 이용하여 로컬 맵에 대한 실 센서 데이터의 상대 위치 즉, 좌표 변환 계수(Coordinates Transformation Parameter, Rotation 및 Translation)를 계산한다. 로컬 맵에 대한 실 센서 데이터의 상대 위치를 계산하는 방법에 대해서는 도 14를 참조하여 이후에 상세히 설명한다.The relative position calculator 173 calculates the relative positions of the real sensor data with respect to the local map, ie, Coordinates Transformation Parameter, Rotation and Translation, using the corresponding points obtained by the correspondence point acquiring unit 172 . A method of calculating the relative position of the real sensor data with respect to the local map will be described later in detail with reference to FIG. 14 .

유사도 계산부(174)는 상대 위치 계산부(173)에서 계산된 로컬 맵에 대한 실 센서 데이터의 상대 위치를 이용하여 복수의 로컬 맵과 실 센서 데이터의 유사도를 계산한다. 로컬 맵은 이진(Binary) 영상으로 간주할 수 있다. 디지털 영상 처리 기법 중 Dilation(팽창 연산) 방법을 사용하여 로컬 맵(Local map)을 팽창시키고, 팽창된 로컬 맵에 실 센서 데이터를 맞춤(fitting)하여 유사도를 계산한다.The similarity calculator 174 calculates similarities between the plurality of local maps and the real sensor data by using the relative positions of the real sensor data with respect to the local map calculated by the relative position calculator 173 . The local map may be regarded as a binary image. Among digital image processing techniques, a local map is expanded using a dilation method, and the similarity is calculated by fitting real sensor data to the expanded local map.

로컬 맵과 실 센서 데이터가 서로 맞춤(fitting)이 잘되었으면 유사도는 높다. If the local map and real sensor data are well-fitted, the similarity is high.

반면, 로컬 맵과 실 센서 데이터에 공통으로 포함되는 데이터 점의 개수가 현저히 적거나 없을 경우 또는 좌표 변환 계수가 잘못 계산되었을 경우에는 로컬 맵과 실 센서 데이터의 유사도는 작다.On the other hand, when the number of data points commonly included in the local map and the real sensor data is significantly small or absent, or when the coordinate transformation coefficient is calculated incorrectly, the similarity between the local map and the real sensor data is small.

위치 결정부(175)는 유사도 계산부(174)에서 계산된 유사도를 이용하여 유사도가 가장 큰 로컬 맵에 대한 이동 로봇(100)이 상대 위치를 환경 지도에 대한 이동 로봇(100)의 위치로 결정한다.The position determining unit 175 determines the relative position of the mobile robot 100 with respect to the local map having the greatest similarity as the position of the mobile robot 100 with respect to the environment map using the similarity calculated by the similarity calculating unit 174 . do.

디스플레이부(180)는 이동 로봇(100)의 위치 인식이 완료되었음을 알리기 위해 아이콘이나 LED를 이용하여 표시한다.The display unit 180 displays using an icon or an LED to inform that the position recognition of the mobile robot 100 has been completed.

이와 같이, 디스플레이부(180)는 아이콘이나 텍스트 표기가 가능한 LCD UI의 경우, 아이콘이나 텍스트로 이동 로봇(100)의 위치 인식 상태를 표시하여 사용자가 쉽게 확인할 수 있도록 한다.As such, in the case of an LCD UI capable of displaying icons or texts, the display unit 180 displays the position recognition state of the mobile robot 100 with icons or texts so that the user can easily check them.

또한, 디스플레이부(180)는 LED UI의 경우, 점등 또는 점멸, 지속 시간 차이를 이용하여 이동 로봇(100)의 위치 인식 상태를 표시하여 사용자가 쉽게 확인할 수 있도록 한다.In addition, in the case of the LED UI, the display unit 180 displays the position recognition state of the mobile robot 100 by using a difference in lighting or blinking and duration so that the user can easily check it.

이외에도, 디스플레이부(180)는 제어장치(170)의 표시 제어 신호에 따라 사용자의 입력 정보와 이동 로봇(100)의 동작 상태를 표시하는 것으로, 이동 로봇(100)으로부터 수신한 각종 정보와 디바이스를 통해 사용자로부터 입력 받은 각종 제어 명령 등을 디스플레이할 수 있다.In addition, the display unit 180 displays user input information and the operation state of the mobile robot 100 according to the display control signal of the control device 170 , and displays various information and devices received from the mobile robot 100 . It is possible to display various control commands inputted from the user through the display.

예컨대, 디스플레이부(180)는 시각 설정이나 예약 설정, 직접 제어 명령 입력 시 시각이나 이동 로봇(100)의 속력을 디스플레이하고, 그 외의 경우에는 현재 시각이나 예약 정보, 배터리 잔량, 이동 거리, 이동 경로 등을 디스플레이할 수 있다.For example, the display unit 180 displays the time or speed of the mobile robot 100 when time setting, reservation setting, or direct control command input, and in other cases, the current time or reservation information, battery level, movement distance, movement path etc. can be displayed.

또한, 디스플레이부(180)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.In addition, the display unit 180 may include a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional (3D) display. It may include at least one of a display (3D display).

음향출력부(190)는 제어장치(170)의 음향 제어 신호에 따라 이동 로봇(100)의 동작 상태와 이동 로봇(100)의 위치 인식 상태를 음향(예를 들어, Beep음)으로 출력하는 스피커를 포함할 수 있다. The sound output unit 190 is a speaker that outputs the operation state of the mobile robot 100 and the position recognition state of the mobile robot 100 as sound (eg, beep sound) according to the sound control signal of the control device 170 . may include

이외에도, 음향출력부는 디지털화된 전기적 신호를 아날로그화하는 디지털-아날로그 변환기(Digital-to-Analog Convertor: DAC), 디지털-아날로그 변환기에 의하여 아날로그화된 전기적 신호를 증폭하는 증폭기 등을 더 포함할 수 있다.In addition, the sound output unit may further include a digital-to-analog converter (DAC) for converting a digitized electrical signal to an analog, an amplifier for amplifying an electrical signal analogized by the digital-to-analog converter, and the like. .

이하, 본 발명의 일 실시예에 의한 이동 로봇 및 그 위치 인식 방법의 동작 과정 및 작용 효과를 설명한다.Hereinafter, the operation process and effect of the mobile robot and its position recognition method according to an embodiment of the present invention will be described.

일반 가정과 같은 복잡한 환경 내에서 동작하는 이동 로봇(100)은 필요에 따라 사용자에 의해 위치가 강제로 이동되는 경우가 자주 발생한다. 예를 들어, 이동 로봇(100, 구체적으로는 청소 로봇)이 청소 도중에 가구 사이에 끼어서 움직이지 못할 경우에 사용자는 이동 로봇(100)을 들어서 다른 위치로 이동시켜줘야 한다. 이와 같이, 이동 로봇(100)이 작업 도중 사용자에 의해 강제로 위치가 변경되었을 경우에 이동 로봇(100)은 새로 이동한 위치를 빠르고 정확하게 인식할 수 있어야 한다.The mobile robot 100 operating in a complex environment, such as a general home, is frequently moved to a position forcibly by a user as necessary. For example, when the mobile robot 100 (specifically, a cleaning robot) is caught between furniture and cannot move during cleaning, the user must lift the mobile robot 100 and move it to another location. As such, when the position of the mobile robot 100 is forcibly changed by the user during the operation, the mobile robot 100 must be able to quickly and accurately recognize the newly moved position.

그러나, 기존의 MCL 방법을 이용하여 이동 로봇(100)이 이동한 위치를 인식하기 위해서는 파티클들을 한 곳으로 수렴시키기 위해 이동 로봇(100)이 일정 거리를 임의의 방향으로 불필요하게 이동하여야 하기 때문에 이동 거리가 늘어나 비효율적이다. 또한, 위치 인식의 성공률을 높이기 위해서 파티클의 개수가 가능한 많이 요구되므로 위치 인식을 위한 연산 시간이 증가하는 단점이 있다.However, in order to recognize the moved position of the mobile robot 100 using the existing MCL method, the mobile robot 100 needs to move a certain distance in an arbitrary direction in order to converge the particles to one place. The longer the distance, the more inefficient. In addition, since the number of particles is required as much as possible in order to increase the success rate of location recognition, there is a disadvantage in that the calculation time for location recognition increases.

이에, 본 발명에서는 이동 로봇(100)이 작업 도중에 사용자에 의해 일정 거리 이내의 다른 위치로 이동되었을 경우에 불필요한 이동 없이 제자리에서 일정 각도 또는 360° 회전하면서 이동 로봇(100)이 이동한 위치 주변을 스캔하여 이동 로봇(100)의 현재 위치를 빠르고 정확하게 인식하는 방법을 제안하였다.Accordingly, in the present invention, when the mobile robot 100 is moved to another location within a certain distance by the user during operation, the mobile robot 100 rotates at a fixed angle or 360° in place without unnecessary movement around the moved position. A method of quickly and accurately recognizing the current position of the mobile robot 100 by scanning was proposed.

도 4는 본 발명의 일 실시예에 의한 이동 로봇이 동작하는 환경의 지도를 나타낸 도면이다.4 is a view showing a map of an environment in which the mobile robot operates according to an embodiment of the present invention.

본 발명의 일 실시예를 설명하기에 앞서, 이동 로봇(100)이 동작하는 환경의 지도(500, Map)가 주어져 있다고 가정한다. 이동 로봇(100)이 동작하는 환경 지도(500)의 형태는 도 4에 도시한 바와 같이, 2차원의 격자 지도(Grid Map) 또는 3차원의 격자 지도(Grid Map)이다. 격자 지도(Grid Map)는 이동 로봇(100)의 주위 환경을 작은 격자(Grid)로 나누어 각 격자에 물체가 있을 가능성을 확률적으로 표현한 지도로서, 확률 격자 지도라고도 한다.Before describing an embodiment of the present invention, it is assumed that a map 500 (Map) of an environment in which the mobile robot 100 operates is given. The shape of the environment map 500 in which the mobile robot 100 operates is a two-dimensional grid map or a three-dimensional grid map, as shown in FIG. 4 . The grid map is a map in which the surrounding environment of the mobile robot 100 is divided into small grids to probabilistically express the possibility that an object is present in each grid, and is also referred to as a probability grid map.

도 5는 본 발명의 일 실시예에 의한 이동 로봇의 현재 위치를 인식하기 위한 제어 알고리즘을 도시한 동작 순서도이다.5 is an operation flowchart illustrating a control algorithm for recognizing a current position of a mobile robot according to an embodiment of the present invention.

도 5에서, 이동 로봇(100)이 작업 도중에 사용자에 의해 일정 거리 이내의 다른 위치로 이동되면, 이동 로봇(100)이 동작하는 환경 지도(500)의 정보(도 4 참조)를 기반으로 하여 이동 로봇(100)이 이동한 위치 주변의 로컬 맵(Local Map; 국지적 지도)을 획득한다(400).In FIG. 5 , when the mobile robot 100 is moved to another location within a predetermined distance by the user during operation, the mobile robot 100 moves based on the information (refer to FIG. 4 ) of the environment map 500 in which it operates. A local map (local map) around the position to which the robot 100 has moved is acquired ( 400 ).

본 발명에서는 로컬 맵 획득의 실시 예로서 2차원 격자 지도를 활용한 3가지 방법을 제안한다. 이 방법은 3차원 격자 지도로 확장하여 적용될 수 있음은 물론이다.The present invention proposes three methods using a two-dimensional grid map as an embodiment of obtaining a local map. Of course, this method can be extended and applied to a 3D grid map.

(1) 로컬 맵을 획득하는 방식으로 가상 센서 데이터(Virtual Sensor Data) 추출 방식을 도 6 내지 도 9를 참조하여 설명한다.(1) A method of extracting virtual sensor data as a method of obtaining a local map will be described with reference to FIGS. 6 to 9 .

도 6은 본 발명의 일 실시예에 의한 이동 로봇이 이동한 위치에서 가상 센서 데이터를 추출하는 위치를 나타낸 도면이고, 도 7a 내지 도 7c는 도 6의 가상 센서 데이터 추출 위치를 계산하는 방법을 나타낸 도면이며, 도 8은 본 발명의 일 실시예에 의한 광선 던지기 기법의 예를 나타낸 도면이고, 도 9는 도 8의 광선 던지기 기법을 이용하여 추출된 가상 센서 데이터의 예를 나타낸 도면이다.6 is a view showing a position at which virtual sensor data is extracted from a position where the mobile robot moves according to an embodiment of the present invention, and FIGS. 7A to 7C show a method of calculating the virtual sensor data extraction position of FIG. 6 8 is a diagram showing an example of a ray throwing technique according to an embodiment of the present invention, and FIG. 9 is a diagram showing an example of virtual sensor data extracted using the ray throwing technique of FIG. 8 .

먼저, 도 6에 도시한 바와 같이, 이동 로봇(100)이 옮겨진 즉, 이동한 위치(S)를 중심으로 일정 거리 이내에서 복수의 가상 센서 데이터 추출 위치(X)들을 지도 상에서 선정한다.First, as shown in FIG. 6 , a plurality of virtual sensor data extraction positions (X) are selected on the map within a predetermined distance from the position (S) to which the mobile robot 100 is moved, that is, moved.

가상 센서 데이터 추출 위치(X)는 이동 로봇(100)이 이동한 위치(S)를 중심으로 서로 직각이 되며, 반경 R되는 지점의 끝을 추출 위치(X)로 결정한다(도 7a 내지 도 7c 참조).The virtual sensor data extraction position (X) is perpendicular to each other with respect to the position (S) to which the mobile robot 100 moves, and the end of the point with a radius R is determined as the extraction position (X) ( FIGS. 7A to 7C ) reference).

도 7a 내지 도 7c에서는 한 변의 길이가 2R인 X자의 4군데 끝 지점이 가상 센서 데이터 추출 위치(X)가 된다.In FIGS. 7A to 7C , the four end points of the X-shape having a side length of 2R are the virtual sensor data extraction positions (X).

이후, 도 8에 도시한 바와 같이, 각각의 가상 센서 데이터 추출 위치(X)에서 360° 전(全) 방향에 대해 Ray Casting(광선 던지기) 기법을 수행하여 도 9에 도시한 바와 같이, 가상 센서 데이터를 추출한다. 도 9는 표시된 가상 센서 데이터 추출 위치(X)에서 추출된 가상 센서 데이터의 예를 보여준다.Thereafter, as shown in FIG. 8 , a Ray Casting technique is performed for 360° all directions at each virtual sensor data extraction location (X), and as shown in FIG. 9 , the virtual sensor extract data. 9 shows an example of virtual sensor data extracted from the displayed virtual sensor data extraction location (X).

(2) 로컬 맵을 획득하는 방식으로 Small Local Map 추출 방식을 도 10 및 도 11을 참조하여 설명한다.(2) A Small Local Map extraction method as a method of obtaining a local map will be described with reference to FIGS. 10 and 11 .

도 10은 본 발명의 일 실시예에 의한 이동 로봇이 이동한 위치에서 Small Local Map을 추출하는 위치를 나타낸 도면이고, 도 11은 Small Local Map 추출 위치를 이용하여 추출된 Small Local Map의 예를 나타낸 도면이다.10 is a view showing a location at which a small local map is extracted from a location where the mobile robot moves according to an embodiment of the present invention, and FIG. 11 is a view showing an example of a small local map extracted using the location of the small local map extraction It is a drawing.

도 10에 도시한 바와 같이, 이동 로봇(100)이 옮겨진 즉, 이동한 위치(S)를 중심으로 일정 거리 이내에서 복수의 Small Local Map 추출 위치(X)들을 지도 상에서 선정한다. Small Local Map의 가로(W)와 세로(H) 길이를 이동 로봇(100)에 장착된 센서의 최대 감지 거리를 기반으로 결정한다. 각각의 Small Local Map 추출 위치(X)를 중심으로 정해진 크기(W x H) 만큼의 Local Map을 환경 지도로부터 추출한다. 도 11은 표시된 Small Local Map 추출 위치(X)에서 추출된 Small Local Map의 예를 보여준다.As shown in FIG. 10 , a plurality of Small Local Map extraction locations (X) are selected on the map within a predetermined distance from the moved location (S) to which the mobile robot 100 is moved. The horizontal (W) and vertical (H) lengths of the Small Local Map are determined based on the maximum sensing distance of the sensor mounted on the mobile robot 100 . Each Small Local Map extraction location (X) is the center to extract a local map of a predetermined size (W x H) from the environment map. 11 shows an example of a Small Local Map extracted from the indicated Small Local Map extraction location (X).

(3) 로컬 맵을 획득하는 방식으로 Large Local Map 추출 방식을 설명한다.(3) The Large Local Map extraction method will be described as a method of obtaining a local map.

이동 로봇(100)이 옮겨진 즉, 이동한 위치(S)를 Large Local Map 추출의 중심으로 하고, Small Local Map 보다 넓은 영역을 환경 지도로부터 추출한다.The mobile robot 100 is moved, that is, the moved position (S) is taken as the center of the Large Local Map extraction, and a larger area than the Small Local Map is extracted from the environment map.

이와 같이, 가상 센서 데이터 추출 방식, Small Local Map 추출 방식 또는Large Local Map 추출 방식을 이용하여 로컬 맵을 획득하면, 이동 로봇(100)이 정지된 상태에서 이동 로봇(100)에 설치된 센서(2D 센서 또는 3D 센서)로부터 측정 대상까지의 거리를 측정하여 실 센서 데이터를 획득한다. 또는 이동 로봇(100)이 제자리에서 일정 각도를 회전하면서 센서의 시야(FoV) 밖의 데이터를 획득하거나 제자리에서 360° 회전하면서 전(全)방향에 대한 실 센서 데이터를 획득한다(402).As such, when a local map is obtained using the virtual sensor data extraction method, the Small Local Map extraction method, or the Large Local Map extraction method, the sensor (2D sensor) installed in the mobile robot 100 while the mobile robot 100 is stopped or 3D sensor) to measure the distance to the measurement target to obtain real sensor data. Alternatively, the mobile robot 100 acquires data outside the field of view (FoV) of the sensor while rotating at a predetermined angle in place, or acquires real sensor data for all directions while rotating 360° in place ( 402 ).

이어서, 실 센서 데이터와 로컬 맵 간의 대응점들(Corresponding Point)을 획득한다(404). 도 12 및 도 13은 실 센서 데이터와 가상 센서 데이터의 예를 보여준다.Then, the corresponding points (Corresponding Point) between the real sensor data and the local map is obtained (404). 12 and 13 show examples of real sensor data and virtual sensor data.

도 12는 본 발명의 일 실시예에 의한 이동 로봇에서 획득한 실 센서 데이터의 예를 나타낸 도면이고, 도 13은 본 발명의 일 실시예에 의한 이동 로봇에서 획득한 가상 센서 데이터의 예를 나타낸 도면이다.12 is a view showing an example of real sensor data acquired by the mobile robot according to an embodiment of the present invention, and FIG. 13 is a diagram showing an example of virtual sensor data acquired by the mobile robot according to an embodiment of the present invention am.

도 12 및 도 13에서 보듯이, 각 센서 데이터는 복수의 데이터 점(Data Point)들로 구성되어 있다. 예를 들어 어떤 점 P가 실 센서 데이터에는 P1, 가상 센서 데이터에는 P2로 포함되어 있으면 P1과 P2는 대응점 관계이다. 2D 센서의 경우 실 센서 데이터를 구성하는 데이터 점들은 이동 로봇(100)의 기준 좌표계에 대해 각각 (x, y)로 정의된다. 가상 센서 데이터를 구성하는 데이터 점들은 환경 지도의 기준 좌표계에 대해 각각 (x, y)로 정의된다.12 and 13 , each sensor data is composed of a plurality of data points. For example, if a certain point P is included as P1 in the real sensor data and P2 in the virtual sensor data, P1 and P2 have a corresponding point relationship. In the case of the 2D sensor, data points constituting the real sensor data are defined as (x, y) with respect to the reference coordinate system of the mobile robot 100, respectively. The data points constituting the virtual sensor data are each defined as (x, y) with respect to the reference coordinate system of the environment map.

이와 같이, 이동 로봇(100)의 기준 좌표계에 대해 각각 (x, y)로 정의된 실 센서 데이터의 데이터 점들과, 환경 지도의 기준 좌표계에 대해 각각 (x, y)로 정의된 가상 센서 데이터의 데이터 점들을 획득한다(도 4의 404 참조).As such, data points of real sensor data defined as (x, y) with respect to the reference coordinate system of the mobile robot 100, and virtual sensor data defined as (x, y) with respect to the reference coordinate system of the environment map, respectively Acquire data points (see 404 in FIG. 4).

그리고, 획득한 대응점들 중에서 이상점(Outlier)을 제거한다(406). 이상점(Outlier)이란 실 센서 데이터와 가상 센서 데이터에 공통으로 포함되어 있지 않은 데이터 점을 의미한다. Then, an outlier is removed from among the obtained corresponding points ( 406 ). An outlier means a data point that is not commonly included in real sensor data and virtual sensor data.

이상점(Outlier)을 제거한 나머지 대응점(Inlier)들로 로컬 맵(Local Map)에 대한 실 센서 데이터의 상대 위치를 계산한다(408). A relative position of the real sensor data with respect to the local map is calculated using the remaining corresponding points from which the outlier is removed ( 408 ).

상대 위치는 실 센서 데이터에 속한 대응점(Inlier)들을 로컬 맵(Local Map)에 속한 각각의 대응되는 대응점(Inlier)들로 맞춤(Fitting)하는 좌표 변환 계수(Coordinates Transformation Parameter, Rotation 및 Translation)를 구하여 얻을 수 있다. 로컬 맵(Local Map)의 각 데이터 점들은 환경 지도의 기준 좌표계에 대해 정의되어 있으므로 실 센서 데이터를 맞춤(Fitting)하는 좌표 변환 계수는 환경 지도에 대한 이동 로봇(100)의 상대 위치를 나타낸다. 이를 도 14를 참조하여 보다 구체적으로 설명한다.The relative position is obtained by obtaining a Coordinates Transformation Parameter (Rotation and Translation) that fits the corresponding points (Inliers) belonging to the real sensor data to the corresponding points (Inliers) belonging to the local map (Local Map). can be obtained Since each data point of the local map is defined with respect to the reference coordinate system of the environment map, the coordinate transformation coefficient for fitting the real sensor data indicates the relative position of the mobile robot 100 with respect to the environment map. This will be described in more detail with reference to FIG. 14 .

도 14는 본 발명의 일 실시예에 의한 로컬 맵에 대한 실 센서 데이터의 상대 위치를 계산하는 방법을 나타낸 도면이다.14 is a diagram illustrating a method of calculating a relative position of real sensor data with respect to a local map according to an embodiment of the present invention.

도 14에서, {A} 좌표계를 로컬 맵(Local Map)의 기준 좌표계, {B} 좌표계를 센서의 기준 좌표계라고 한다.In FIG. 14 , the {A} coordinate system is referred to as a reference coordinate system of a local map, and the {B} coordinate system is referred to as a reference coordinate system of the sensor.

로컬 맵(Local Map)을 이루는 데이터 점들(PA)과 실 센서 데이터의 데이터 점들(PB)이 도 14에 도시한 바와 같이, 대응되었다고 하면 아래의 [수학식 1] 로 서로의 관계가 표현될 수 있다.If the data points P A constituting the local map and the data points P B of the real sensor data correspond as shown in FIG. 14 , the relationship between each other is expressed by the following [Equation 1] can be

[수학식 1][Equation 1]

PA=RㅇPB+tP A =R P B +t

[수학식 1]에서, R과 t는 좌표 변환 계수로, R은 회전 행렬(Rotation Matrix)을 의미하고, t는 전위 벡터(Translation Vector)를 의미한다. In [Equation 1], R and t are coordinate transformation coefficients, R is a rotation matrix, and t is a translation vector.

즉, {A} 좌표게를 R에 따라 회전하고 t만큼 이동시키면 {B} 좌표계와 동일하게 된다. 본 발명의 일 실시예에서는 최소 제곱법(Least squares method)를 이용하여 R과 t를 구한다.That is, if the {A} coordinate system is rotated according to R and moved by t, it becomes the same as the {B} coordinate system. In an embodiment of the present invention, R and t are obtained using the least squares method.

이와 같이, 로컬 맵에 대한 실 센서 데이터의 상대 위치가 계산되면(도 4의 408 참조), 복수의 로컬 맵과 실 센서 데이터의 유사도를 계산한다(410). 도 13에 도시한 로컬 맵은 이진(Binary) 영상으로 간주할 수 있다. 따라서 디지털 영상 처리 기법 중 Dilation(팽창 연산) 방법을 사용하여 도 15에 도시한 바와 같이, 로컬 맵(Local map)을 팽창시키고, 팽창된 로컬 맵에 실 센서 데이터를 맞춤(Fitting)하여 유사도를 계산한다.In this way, when the relative position of the real sensor data with respect to the local map is calculated (refer to 408 of FIG. 4 ), a degree of similarity between the plurality of local maps and the real sensor data is calculated ( 410 ). The local map shown in FIG. 13 may be regarded as a binary image. Therefore, as shown in FIG. 15 , using the Dilation method among digital image processing techniques, the local map is expanded and the similarity is calculated by fitting the real sensor data to the expanded local map. do.

즉, 도 12에 도시한 실 센서 데이터를 도 15에 도시한 팽창된 로컬 맵에 맞춤(Fitting)한다. 실 센서 데이터의 데이터 점들 중 팽창된 로컬 맵 간에 겹치는 데이터 점들의 개수를 유사도로 사용한다.That is, the real sensor data shown in FIG. 12 is fitted to the expanded local map shown in FIG. 15 . Among the data points of the real sensor data, the number of overlapping data points between the inflated local maps is used as the similarity.

도 16에 도시한 바와 같이, 로컬 맵과 실 센서 데이터가 맞춤(Fitting)이 잘되어 실 센서 데이터와 팽창된 로컬 맵의 겹치는 부분(Overlap)의 개수가 많으면, 유사도는 높다.As shown in FIG. 16 , if the number of overlaps between the real sensor data and the inflated local map is large because the local map and the real sensor data are well fitted, the degree of similarity is high.

반면, 도 17에 도시한 바와 같이, 로컬 맵과 실 센서 데이터가 맞춤(Fitting)이 잘못되어 실 센서 데이터와 팽창된 로컬 맵의 겹치는 부분(Overlap)의 개수가 적으면, 유사도는 낮다. On the other hand, as shown in FIG. 17 , if the number of overlaps between the real sensor data and the inflated local map is small due to incorrect fitting between the local map and the real sensor data, the similarity is low.

따라서, 최종적으로 유사도가 가장 큰 로컬 맵에 대한 이동 로봇(100)의 상대 위치를 환경 지도에 대한 이동 로봇(100)의 위치로 결정한다(412).Therefore, finally, the relative position of the mobile robot 100 with respect to the local map having the greatest similarity is determined as the position of the mobile robot 100 with respect to the environment map (S412).

이동 로봇(100)의 위치가 결정되면, 이동 로봇(100)의 위치 인식이 완료되었음을 사용자에게 알려 준다(414). 이동 로봇(100)의 위치 인식을 알리는 방법은, 디스플레이부(180)에서 아이콘이나 LED 점멸을 통해 표시하거나, 음향출력부(190)에서 음향(예를 들어, Beep음)을 출력하여 사용자가 쉽게 알 수 있도록 한다.When the location of the mobile robot 100 is determined, it notifies the user that the recognition of the location of the mobile robot 100 has been completed ( 414 ). The method of notifying the position recognition of the mobile robot 100 is displayed through an icon or an LED blinking on the display unit 180, or by outputting a sound (eg, a beep sound) from the sound output unit 190 so that the user can easily make it known

이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위내에서 변경 또는 수정이 가능하다. 저술한 실시예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.The above detailed description is illustrative of the present invention. In addition, the above description shows and describes preferred embodiments of the present invention, and the present invention can be used in various other combinations, modifications, and environments. That is, changes or modifications are possible within the scope of the concept of the invention disclosed herein, the scope equivalent to the written disclosure, and/or within the scope of skill or knowledge in the art. The written embodiment describes the best state for implementing the technical idea of the present invention, and various changes required in the specific application field and use of the present invention are possible. Therefore, the detailed description of the present invention is not intended to limit the present invention to the disclosed embodiments. Also, the appended claims should be construed as including other embodiments.

1 : 이동 로봇 시스템 100 : 이동 로봇
110 : 본체 130 : 전원부
140 : 구동부 150 : 데이터 획득부
160 : 저장부 170 : 제어장치
171 : 로컬 맵 획득부 172 : 대응점 획득부
173 : 상대 위치 계산부 174 : 유사도 계산부
175 : 위치 결정부 180 : 디스플레이부
190 : 음향출력부 200 : 디바이스
300 : 충전 스테이션
1: mobile robot system 100: mobile robot
110: body 130: power supply
140: driving unit 150: data acquisition unit
160: storage unit 170: control device
171: local map acquisition unit 172: correspondence point acquisition unit
173: relative position calculation unit 174: similarity calculation unit
175: positioning unit 180: display unit
190: sound output unit 200: device
300: charging station

Claims (19)

사용자에 의해 임의의 위치로 이동된 이동 로봇의 위치를 인식하는 방법에 있어서,
상기 임의의 위치 주변을 스캔하여 로컬 맵을 획득하고;
상기 임의의 위치에서 상기 이동 로봇이 회전하면서 실 센서 데이터를 획득하고;
상기 로컬 맵과 상기 실 센서 데이터 간의 정합을 수행하여 상기 로컬 맵에 대한 상기 이동 로봇의 상대 위치를 인식하는 것;을 포함하고,
상기 로컬 맵을 획득하는 것은,
상기 이동 로봇의 현재 위치를 중심으로 선정된 복수의 로컬 맵 추출 위치 각각을 중심으로 정해진 크기의 로컬 맵을 환경 지도로부터 추출하는 이동 로봇의 위치 인식 방법.
A method for recognizing the position of a mobile robot moved to an arbitrary position by a user, the method comprising:
scan around the arbitrary location to obtain a local map;
acquiring real sensor data while the mobile robot rotates at the arbitrary position;
Recognizing the relative position of the mobile robot with respect to the local map by performing matching between the local map and the real sensor data;
To obtain the local map,
A method for recognizing a location of a mobile robot for extracting a local map of a predetermined size based on each of a plurality of local map extraction locations selected based on the current location of the mobile robot from an environment map.
제1항에 있어서,
상기 이동 로봇의 위치 인식이 완료되었음을 알리는 것;을 더 포함하는 이동 로봇의 위치 인식 방법.
According to claim 1,
The method of recognizing the location of the mobile robot further comprising; informing that the recognition of the location of the mobile robot is completed.
제1항에 있어서,
상기 로컬 맵을 획득하는 것은,
상기 이동 로봇이 동작하는 환경의 지도 정보를 기반으로 하여 상기 임의의 위치 주변을 스캔하여 상기 로컬 맵을 획득하는 이동 로봇의 위치 인식 방법.
According to claim 1,
To obtain the local map,
A method for recognizing a location of a mobile robot to acquire the local map by scanning around the arbitrary location based on map information of an environment in which the mobile robot operates.
제3항에 있어서,
상기 로컬 맵을 획득하는 방식은,
가상 센서 데이터 추출 방식, Small Local Map 추출 방식 또는 Large Local Map 추출 방식 중에서 적어도 하나를 포함하는 이동 로봇의 위치 인식 방법.
4. The method of claim 3,
The method of obtaining the local map is,
A method for recognizing a location of a mobile robot including at least one of a virtual sensor data extraction method, a Small Local Map extraction method, and a Large Local Map extraction method.
제3항에 있어서,
상기 이동 로봇이 동작하는 환경 지도는,
2차원 격자 지도 또는 3차원 격자 지도를 사용하는 이동 로봇의 위치 인식 방법.
4. The method of claim 3,
The environment map in which the mobile robot operates is
A method for recognizing the position of a mobile robot using a two-dimensional grid map or a three-dimensional grid map.
제1항에 있어서,
상기 실 센서 데이터를 획득하는 것은,
상기 이동 로봇에 설치된 센서로부터 측정 대상까지의 거리를 측정하여 상기 이동 로봇이 위치한 상기 임의의 위치에서 거리 데이터를 획득하는 이동 로봇의 위치 인식 방법.
According to claim 1,
Acquiring the real sensor data includes:
A method for recognizing a location of a mobile robot for acquiring distance data at the arbitrary location where the mobile robot is located by measuring a distance from a sensor installed in the mobile robot to a measurement target.
제6항에 있어서,
상기 이동 로봇은,
상기 센서의 시야에 따라 상기 실 센서 데이터의 획득 방식을 다르게 하는 이동 로봇의 위치 인식 방법.
7. The method of claim 6,
The mobile robot is
A method of recognizing a position of a mobile robot in which a method of acquiring the real sensor data is different according to a field of view of the sensor.
제7항에 있어서,
상기 실 센서 데이터의 획득 방식은,
상기 이동 로봇이 정지된 상태에서 상기 실 센서 데이터를 획득하는 방식;
상기 이동 로봇이 제자리에서 일정 각도를 회전하면서 상기 센서의 시야 밖의 상기 실 센서 데이터를 획득하는 방식;
상기 이동 로봇이 제자리에서 360° 회전하면서 전(全)방향에 대한 상기 실 센서 데이터를 획득하는 방식; 중에서 적어도 하나를 포함하는 이동 로봇의 위치 인식 방법.
8. The method of claim 7,
The method of acquiring the real sensor data is
a method of acquiring the real sensor data in a state in which the mobile robot is stopped;
a method in which the mobile robot acquires the real sensor data outside the field of view of the sensor while rotating at a predetermined angle in place;
a method in which the mobile robot rotates 360° in place to acquire the real sensor data for all directions; A method of recognizing a position of a mobile robot comprising at least one of
제5항에 있어서,
상기 로컬 맵에 대한 상기 이동 로봇의 상대 위치를 인식하는 것은,
상기 실 센서 데이터와 상기 로컬 맵 간의 데이터 정합을 통해 대응점들을 획득하고;
상기 획득된 대응점들을 이용하여 상기 로컬 맵에 대한 상기 실 센서 데이터의 상대 위치를 계산하고;
복수의 로컬 맵과 상기 실 센서 데이터의 유사도를 계산하고;
상기 유사도가 가장 큰 로컬 맵에 대한 상기 이동 로봇의 상대 위치를 상기 환경 지도에 대한 상기 이동 로봇의 위치로 결정하는 것;을 포함하는 이동 로봇의 위치 인식 방법.
6. The method of claim 5,
Recognizing the relative position of the mobile robot with respect to the local map,
acquiring corresponding points through data matching between the real sensor data and the local map;
calculating a relative position of the real sensor data with respect to the local map using the obtained corresponding points;
calculating a degree of similarity between a plurality of local maps and the real sensor data;
and determining the relative position of the mobile robot with respect to the local map having the greatest similarity as the position of the mobile robot with respect to the environment map.
제9항에 있어서,
상기 로컬 맵과 상기 실 센서 데이터에 공통으로 포함되는 데이터 점의 개수가 많을수록 상기 유사도가 높은 이동 로봇의 위치 인식 방법.
10. The method of claim 9,
The more the number of data points commonly included in the local map and the real sensor data, the higher the similarity of the position recognition method of the mobile robot.
제9항에 있어서,
상기 획득된 대응점들 중에서 이상점을 제거하는 것;을 더 포함하는 이동 로봇의 위치 인식 방법.
10. The method of claim 9,
The method of recognizing a position of a mobile robot further comprising; removing an outlier from among the obtained corresponding points.
사용자에 의해 임의의 위치로 이동된 이동 로봇의 위치를 인식하는 장치에 있어서,
상기 임의의 위치에서 상기 이동 로봇에 설치된 센서로부터 측정 대상까지의 거리를 측정하여 실 센서 데이터를 획득하는 데이터 획득부;
상기 이동 로봇이 동작하는 환경의 지도 정보를 기반으로 상기 임의의 위치 주변을 스캔하여 로컬 맵을 획득하는 로컬 맵 획득부;
상기 로컬 맵과 상기 실 센서 데이터 간의 정합을 수행하여 상기 로컬 맵에 대한 상기 이동 로봇의 상대 위치를 인식하는 제어장치;를 포함하고,
상기 로컬 맵 획득부는,
상기 이동 로봇의 현재 위치를 중심으로 선정된 복수의 로컬 맵 추출 위치 각각을 중심으로 정해진 크기의 로컬 맵을 상기 환경 지도로부터 추출하는 이동 로봇의 위치 인식 장치.
An apparatus for recognizing the position of a mobile robot moved to an arbitrary position by a user, the apparatus comprising:
a data acquisition unit configured to acquire real sensor data by measuring a distance from a sensor installed in the mobile robot to a measurement target at the arbitrary location;
a local map acquisition unit configured to acquire a local map by scanning around the arbitrary location based on map information of an environment in which the mobile robot operates;
a control device for recognizing the relative position of the mobile robot with respect to the local map by performing matching between the local map and the real sensor data;
The local map acquisition unit,
A device for recognizing a location of a mobile robot for extracting, from the environment map, a local map of a predetermined size based on each of a plurality of selected local map extraction locations based on the current location of the mobile robot.
제12항에 있어서,
상기 이동 로봇의 위치 인식이 완료되었음을 표시하는 디스플레이부;를 더 포함하는 이동 로봇의 위치 인식 장치.
13. The method of claim 12,
The apparatus for recognizing the position of the mobile robot further comprising a; a display unit for displaying that the recognition of the position of the mobile robot has been completed.
제12항에 있어서,
상기 이동 로봇의 위치 인식이 완료되었음을 알리는 음향출력부;를 더 포함하는 이동 로봇의 위치 인식 장치.
13. The method of claim 12,
The apparatus for recognizing the position of a mobile robot further comprising a; an acoustic output unit notifying that the position recognition of the mobile robot is completed.
제12항에 있어서,
상기 데이터 획득부는,
상기 이동 로봇이 정지된 상태에서 상기 실 센서 데이터를 획득하는 것;
상기 이동 로봇이 제자리에서 일정 각도를 회전하면서 상기 센서의 시야 밖의 상기 실 센서 데이터를 획득하는 것;
상기 이동 로봇이 제자리에서 360° 회전하면서 전(全)방향에 대한 상기 실 센서 데이터를 획득하는 것; 중에서 적어도 하나를 이용하여 상기 센서의 시야에 따라 상기 실 센서 데이터를 획득하는 이동 로봇의 위치 인식 장치.
13. The method of claim 12,
The data acquisition unit,
acquiring the real sensor data while the mobile robot is stopped;
acquiring the real sensor data out of the field of view of the sensor while the mobile robot rotates a predetermined angle in place;
acquiring the real sensor data for all directions while the mobile robot rotates 360° in place; A position recognition device for a mobile robot that acquires the real sensor data according to the field of view of the sensor using at least one of the following.
제12항에 있어서,
상기 센서는,
2D 센서 또는 3D 센서를 사용하는 이동 로봇의 위치 인식 장치.
13. The method of claim 12,
The sensor is
Position-aware devices for mobile robots that use 2D or 3D sensors.
제12항에 있어서,
상기 제어장치는,
상기 실 센서 데이터와 상기 로컬 맵 간의 데이터 정합을 통해 대응점들을 획득하는 데이터 획득부;
상기 획득된 대응점들을 이용하여 상기 로컬 맵에 대한 상기 실 센서 데이터의 상대 위치를 계산하는 상대 위치 계산부;
복수의 로컬 맵과 상기 실 센서 데이터의 유사도를 계산하는 유사도 계산부;
상기 유사도가 가장 큰 로컬 맵에 대한 상기 이동 로봇의 상대 위치를 환경 지도에 대한 상기 이동 로봇의 위치로 결정하는 위치 결정부;를 포함하는 이동 로봇의 위치 인식 장치.
13. The method of claim 12,
The control device is
a data acquisition unit configured to acquire corresponding points through data matching between the real sensor data and the local map;
a relative position calculation unit for calculating a relative position of the real sensor data with respect to the local map using the obtained corresponding points;
a similarity calculator configured to calculate a degree of similarity between a plurality of local maps and the real sensor data;
and a position determining unit that determines the relative position of the mobile robot with respect to the local map having the greatest similarity as the position of the mobile robot with respect to the environment map.
제17항에 있어서,
상기 유사도 계산부는,
상기 로컬 맵과 상기 실 센서 데이터에 공통으로 포함되는 데이터 점의 개수가 많을수록 상기 유사도가 높다고 계산하는 이동 로봇의 위치 인식 장치.
18. The method of claim 17,
The similarity calculator,
The apparatus for recognizing a position of a mobile robot for calculating that the similarity is higher as the number of data points commonly included in the local map and the real sensor data increases.
제12항에 있어서,
상기 제어장치는,
획득된 대응점들 중에서 이상점을 제거하는 것;을 더 포함하는 이동 로봇의 위치 인식 장치.
13. The method of claim 12,
The control device is
Recognizing the position of the mobile robot further comprising; removing the abnormal point from among the obtained corresponding points.
KR1020150132274A 2015-09-18 2015-09-18 Apparatus for localization of mobile robot and method thereof KR102386361B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150132274A KR102386361B1 (en) 2015-09-18 2015-09-18 Apparatus for localization of mobile robot and method thereof
EP16176784.3A EP3144765B1 (en) 2015-09-18 2016-06-29 Apparatus for localizing cleaning robot, cleaning robot, and controlling method of cleaning robot
US15/203,079 US10663972B2 (en) 2015-09-18 2016-07-06 Apparatus for localizing cleaning robot, cleaning robot, and controlling method of cleaning robot
CN201610773063.XA CN106541407B (en) 2015-09-18 2016-08-30 Cleaning robot and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150132274A KR102386361B1 (en) 2015-09-18 2015-09-18 Apparatus for localization of mobile robot and method thereof

Publications (2)

Publication Number Publication Date
KR20170034069A KR20170034069A (en) 2017-03-28
KR102386361B1 true KR102386361B1 (en) 2022-04-15

Family

ID=58495744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150132274A KR102386361B1 (en) 2015-09-18 2015-09-18 Apparatus for localization of mobile robot and method thereof

Country Status (1)

Country Link
KR (1) KR102386361B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102094773B1 (en) * 2018-10-31 2020-03-30 (주)오토노머스에이투지 Method for map matching using observed map of moving apparatus, and computing device using the same
KR20200084423A (en) 2018-12-24 2020-07-13 삼성전자주식회사 Method and apparatus for generating local motion based on machine learning
KR20190109325A (en) 2019-08-07 2019-09-25 엘지전자 주식회사 Robot and method for localizing robot
KR20190109342A (en) 2019-09-06 2019-09-25 엘지전자 주식회사 Robot and method for localizing robot
WO2021125510A1 (en) * 2019-12-20 2021-06-24 Samsung Electronics Co., Ltd. Method and device for navigating in dynamic environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020010257A (en) * 2000-07-28 2002-02-04 김인광 Apparatus and method for recognizing self-position in robort system
KR100843085B1 (en) * 2006-06-20 2008-07-02 삼성전자주식회사 Method of building gridmap in mobile robot and method of cell decomposition using it
KR102096398B1 (en) * 2013-07-03 2020-04-03 삼성전자주식회사 Method for recognizing position of autonomous mobile robot

Also Published As

Publication number Publication date
KR20170034069A (en) 2017-03-28

Similar Documents

Publication Publication Date Title
CN106541407B (en) Cleaning robot and control method thereof
KR102386361B1 (en) Apparatus for localization of mobile robot and method thereof
CN108290294B (en) Mobile robot and control method thereof
US11467602B2 (en) Systems and methods for training a robot to autonomously travel a route
KR102567525B1 (en) Mobile Robot System, Mobile Robot And Method Of Controlling Mobile Robot System
KR101857952B1 (en) Apparatus and System for Remotely Controlling a Robot Cleaner and Method thereof
KR102457222B1 (en) Mobile robot and method thereof
US9597804B2 (en) Auto-cleaning system, cleaning robot and method of controlling the cleaning robot
JP2020126691A (en) Movable robot movement restriction
JP7223732B2 (en) System and method for automatic device pairing
CN105190482A (en) Detection of a zooming gesture
KR101976462B1 (en) A robot cleaner a control method thereof
KR20130029852A (en) Cleaning robot for enabling set up data of cleaning area and verification of after cleaning real cleaning area and system for controlling the same
KR101623642B1 (en) Control method of robot cleaner and terminal device and robot cleaner control system including the same
US11627853B2 (en) Robotic cleaner and control method therefor
KR102471487B1 (en) Cleaning robot and controlling method thereof
US20190004122A1 (en) Wireless position sensing using magnetic field of single transmitter
US20190354246A1 (en) Airport robot and movement method therefor
EP3115926A1 (en) Method for control using recognition of two-hand gestures
KR20180058303A (en) Mobile robot and system having the same and controlling method of mobile robot
JP2018190363A (en) Portable mobile robot and operation method thereof
JP7393255B2 (en) Information processing device and information processing method
KR20230029427A (en) Cleaning robot and method for identifying a position of the cleaning robot
KR20180039202A (en) 3-dimensional remote control system and method, control device thereof
KR20210104530A (en) Robot and control method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant