KR102293317B1 - 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기 - Google Patents

특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기 Download PDF

Info

Publication number
KR102293317B1
KR102293317B1 KR1020190065594A KR20190065594A KR102293317B1 KR 102293317 B1 KR102293317 B1 KR 102293317B1 KR 1020190065594 A KR1020190065594 A KR 1020190065594A KR 20190065594 A KR20190065594 A KR 20190065594A KR 102293317 B1 KR102293317 B1 KR 102293317B1
Authority
KR
South Korea
Prior art keywords
robot
loop closing
distance
map
specific area
Prior art date
Application number
KR1020190065594A
Other languages
English (en)
Other versions
KR20190071639A (ko
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 KR1020190065594A priority Critical patent/KR102293317B1/ko
Publication of KR20190071639A publication Critical patent/KR20190071639A/ko
Priority to US16/573,551 priority patent/US11402834B2/en
Application granted granted Critical
Publication of KR102293317B1 publication Critical patent/KR102293317B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0044Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기가 개시된다. 본 발명의 방법, 로봇 및 전자기기는 맵의 작성 시 루프 클로징이 더욱 많이 수행되도록 로봇의 이동을 함으로써 작성되는 맵의 품질을 향상시킨다. 이를 위해, 특정 지역에서 이동하는 로봇의 제1 위치에서 제2 위치까지의 누적 이동 거리를 측정하고, 제2 위치에서 루프 클로징이 수행되지 않는 경우, 측정된 누적 이동 거리 및 제2 위치에서의 특징점 매칭 정보를 이용하여 제2 위치에서의 루프 클로징의 필요 여부를 판단하며, 판단 결과에 기초하여 로봇의 이동을 제어한다.

Description

특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기{METHOD FOR DRAWING MAP OF SPECIFIC AREA, ROBOT AND ELECTRONIC DEVICE IMPLEMENTING THEREOF}
본 발명은 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기에 관한 기술이다.
최근, 이동 로봇 분야에서 SLAM(Simultaneous Localization And Mapping) 기술에 대한 관심이 높아지고 있다. SLAM 기술은 로봇에 부착되어 있는 센서를 통해 로봇이 외부의 도움 없이 자신의 위치를 인식하면서 특정 지역에 대한 맵을 작성하는 기술이다.
SLAM 기술은 재방문 시나리오(revisit scenario)에 기초하여 정밀한 맵을 생성한다. 즉, SLAM 기술은 이전에 방문했던 지점을 재방문 함으로써 맵에서 발생한 오차를 최소화하고, 이를 통해 전체 맵을 생성 및 관리한다. 따라서, SLAM 기술을 사용할 때, 재방문의 횟수가 많아지는 경우 맵의 품질은 좋아지고, 재방문의 횟수가 적어지는 경우 맵의 품질은 나빠진다.
하지만, 소면적을 이동하는 청소 로봇과는 달리, 대면적을 이동하는 로봇은 재방문을 하지 않거나 매우 드물게 재방문을 하며, 이에 따라 맵의 품질이 저하될 수 있는 문제점이 있다.
본 발명의 목적은 특정 지역의 맵의 작성 시 맵의 품질을 향상시킬 수 있는 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기를 제공하는 것이다.
또한, 본 발명의 다른 목적은 비전문가인 사용자가 특정 지역의 맵을 정확하게 작성할 수 있도록 로봇의 궤적의 가이드 정보를 제공하는 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기를 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상술한 바와 같은 과제를 해결하기 위해, 본 발명의 일 실시예에 의한 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기는 맵의 작성 시 루프 클로징(loop closing)이 더욱 많이 수행되도록 로봇의 이동을 제어함으로써 작성되는 맵의 품질을 향상시키는 것을 기술적 특징으로 한다.
본 발명의 일 실시예에 의한 특정 지역의 맵을 작성하는 로봇은 특정 지역에서 이동하는 로봇의 제1 위치에서 제2 위치까지의 누적 이동 거리를 측정하는 거리 측정부, 상기 제2 위치에서 루프 클로징이 수행되지 않는 경우, 상기 측정된 누적 이동 거리 및 상기 제2 위치에서의 특징점 매칭 정보를 이용하여 상기 제2 위치에서의 루프 클로징의 필요 여부를 판단하는 판단부 및 상기 판단부의 판단 결과에 기초하여 상기 로봇의 이동을 제어하는 제어부를 포함한다.
본 발명의 일 실시예에 의한 특정 지역의 맵을 작성하는 전자 기기는 특정 지역에서 이동하는 사용자에 의해 소지되는 전자 기기의 제1 위치에서 제2 위치까지의 누적 이동 거리를 측정하는 거리 측정부, 상기 제2 위치에서 루프 클로징이 수행되지 않는 경우, 상기 측정된 누적 이동 거리, 기 설정된 적어도 하나의 기준 누적 이동 거리 및 상기 제2 위치에서의 특징점 매칭 정보를 이용하여 상기 제2 위치에서의 루프 클로징의 필요 여부를 판단하는 판단부; 상기 루프 클로징이 필요한 것으로 판단된 경우, 상기 루프 클로징의 이동 경로 정보를 생성하는 이동 경로 정보 생성부를 포함한다.
본 발명의 일 실시예에 의한 로봇이 특정 지역의 맵을 작성하는 방법은 거리 측정부가 특정 지역에서 이동하는 로봇의 제1 위치에서 제2 위치까지의 누적 이동 거리를 측정하는 단계, 판단부가 상기 제2 위치에서 루프 클로징(loop closure)가 수행되지 않는 경우, 상기 측정된 누적 이동 거리, 기 설정된 적어도 하나의 기준 누적 이동 거리 및 상기 제2 위치에서의 특징점 매칭 정보를 이용하여 상기 제2 위치에서의 루프 클로징의 필요 여부를 판단하는 단계 및 제어부가 상기 판단부의 판단 결과에 기초하여 상기 로봇의 이동을 제어하는 단계를 포함한다.
본 발명에 따르면, 더 많은 수의 루프 클로징을 통해 특정 지역의 맵의 작성 시 맵의 품질을 향상시킬 수 있다.
또한, 본 발명에 따르면, 비전문가인 사용자도 로봇의 궤적의 가이드 정보를 제공받아 특정 지역의 맵을 정확하게 작성할 수 있다.
또한, 본 발명에 따르면, 고가의 센서를 사용하지 않고서도 특정 지역의 맵을 정확하게 작성할 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 개략적인 구성을 도시한 도면이다.
도 2는 루프 클로징의 개념을 도시한 도면이다.
도 3 및 도 4는 본 발명의 일 실시예에 의한 특정 지역의 맵을 작성하는 방법의 흐름도를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 의한 사용자 단말 장치와 연동하여 수행되는 로봇의 이동 동작 제어의 흐름도를 도시한 도면이다.
도 6 및 도 7은 본 발명의 일 실시예에 의한 로봇의 이동 동작의 일례를 설명하기 위한 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 기능을 수행하며, 특정 지역을 주행하는 장치를 통칭한다. 로봇이 수행하는 기능이란 청소, 방법, 안내, 맵 작성 등의 기능 및 보안기능 등과 같이 이동하는 장치가 제공할 수 있는 다양한 기능들을 포함한다.
도 1은 본 발명의 일 실시예에 따른 로봇의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 로봇(100)은 센서부(110), 영상 획득부(120), 거리 측정부(130), 특징점 매칭부(140), 판단부(150), 제어부(160) 및 통신부(170)를 포함한다.
이 때, 로봇(100)은 특정 지역을 이동하여 상기 특정 지역에 대한 맵을 작성하는 장치일 수 있으며, 바람직하게는 SLAM(Simultaneous Localization And Mapping) 기술을 사용하여 맵을 작성하는 장치이다.
이하, 각 구성 요소 별로 그 기능을 상세하게 설명한다.
센서부(110)는 로봇(100)의 이동 거리를 측정하는 센서, 장애물을 감지하는 센서 등과 같은 복수의 센서를 포함한다. 일례로, 센서부(110)는 가속도 센서, 자이로 센서, 라이더(lidar) 센서, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서 중 적어도 하나를 포함할 수 있다. 특히, 라이더 센서는 로봇(100)과 물체까지의 거리를 측정하는 센서로서, 3D 라이더 센서가 아닌 일반적인 2D 라이더 센서일 수 있다.
영상 획득부(120)는 로봇(100)이 이동할 때 주변 환경에 대한 영상을 획득한다. 일례로, 영상 획득부(120)는 카메라를 포함하며, 카메라는 360° 카메라가 아닌 일반적인 180° 카메라일 수 있다.
거리 측정부(130)는 특정 지역에서 이동하는 로봇의 누적 이동 거리를 측정한다. 일례로, 거리 측정부(120)는 센서부(110) 내의 가속도 센서 및 자이로 센서에서 센싱된 데이터를 기반으로 하여 누적 이동 거리를 측정할 수 있다.
특징점 매칭부(140)는 센서부(110)에서 센싱된 센싱 데이터 및 영상 획득부(120)에서 획득된 영상 중 적어도 하나에 기초하여 특징점 매칭 정보를 생성하며, 이에 기초하여 특징점을 매칭한다.
일례로, 특징점 매칭부(140)는 라이더 센서에서 획득된 라이더 스캔 데이터를 이용하여 특징점 매칭을 수행할 수 있고, 영상 획득부(120)에서 획득된 영상을 이용하여 특징점 매칭을 수행할 수 있으며, 라이더 스캔 데이터 및 영상을 모두 이용하여 특징점 매칭을 수행할 수도 있다.
한편, 본 발명의 일 실시예에 따르면, 특징점 매칭부(140)는 인공 신경망에 기초한 알고리즘 모델을 이용하여 특징점 매칭을 수행할 수 있다. 이는 아래에서 보다 상세하게 설명하기로 한다.
판단부(150)는 로봇(100)의 현재 위치에서 루프 클로징(loop closing)이 수행되어 있는지 여부를 판단하며, 더불어 현재 위치에서 루프 클로징이 수행되지 않는 경우 측정된 누적 이동 거리 및 현재 위치에서의 특징점 매칭 정보를 이용하여 루프 클로징이 필요한지 여부를 판단한다.
여기서, 루프 클로징은 루프 클로즈(loop closure)으로도 호칭되며, SLAM 기술을 사용하여 맵을 작성할 때 사용되는 것으로서, 로봇(100)이 특정 영역을 재방문하거나, 특정 위치와 동일한 위치에 로봇(100)이 재방문하거나, 로봇(100)이 특정 위치를 방문한 후에 상기한 특정 위치와 인접한 위치에 로봇(100)이 방문할 때의 로봇(100)의 궤적 형태를 의미한다. 루프 클로징을 통해 로봇(100)은 현재 위치에 대한 불확실성(uncertainty)를 줄인다.
도 2에서는 루프 클로징의 개념을 도시하고 있다. 도 2에서, 점선은 로봇(100)의 이동 궤적이고, 실선의 원형 기호는 재방문을 통해 루프 클로징이 발생되는 지점이며, 일점쇄선의 타원형 기호는 루프를 의미한다. 따라서, 도 2에서 루프 클로징은 총 3번 수행되었다.
제어부(160)는 센서부(110)에서 센싱된 데이터에 기초하여 로봇(100)의 이동을 제어하며, 특히 판단부(150)에서 판단된 판단 결과(즉, 루프 클로징의 수행 여부)에 기초하여 로봇(100)의 이동을 제어한다.
통신부(170)는 로봇(100)의 이동을 제어하기 위한 사용자 단말 장치와 통신하는 기능을 수행한다. 일례로, 통신부(170)는 블루투스 모듈, NFC 모듈, WIFI 모듈 등과 같은 근거리 통신 모듈과 LTE 통신 모듈, 5G 통신 모듈과 같은 원거리 통신 모듈을 포함할 수 있다.
이하, 아래의 도면들을 참조하여, 특정 지역의 맵을 작성하기 위한 로봇(100)의 이동 동작을 보다 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 특정 지역의 맵을 작성하는 방법의 흐름도를 도시한 도면이다.
여기서, 로봇(100)은 도 3에서 도시된 단계들을 특정 지역을 이동하면서 반복적으로 수행하여 특정 지역에 대한 맵을 새롭게 생성할 수 있다.
이하, 도 3을 참조하여 각 단계 별로 수행되는 과정을 상세하게 설명하기로 한다.
먼저, 거리 측정부(130)는 특정 지역에서 이동하는 로봇의 제1 위치에서 제2 위치까지의 누적 이동 거리를 측정한다(S310).
여기서, 도 3의 단계들이 처음으로 수행되는 경우, 로봇(100)의 제1 위치는 특정 지역에서 이동하고자 하는 로봇(100)의 초기 위치와 대응된다. 그리고, 도 3의 단계들이 2회 이상 반복적으로 수행되는 경우, 로봇(100)의 제1 위치는 가장 최근에 수행된 루프 클로징의 종료 위치와 대응된다. 그리고, 제2 위치는 로봇(100)의 현재 위치와 대응된다.
한편, 거리 측정부(130)는 앞서 언급한 바와 같이 센서부(110) 내의 가속도 센서 및 자이로 센서에서 센싱된 데이터를 기반으로 하여 누적 이동 거리를 측정할 수 있다.
다음으로, 판단부(150)는 로봇(100)의 제2 위치에서 루프 클로징이 수행되는지 여부를 판단 내지 검출한다(S320).
여기서, 검출된 루프 클로징은, 로봇(100)의 이동 시에 주변 환경의 모양이나 형태에 기초하여 수행되는 일반적인 루프 클로징이거나, 아래에서 설명하는 강제적인 루프 클로징일 수 있다. 한편, 판단부(150)는 공지된 루프 클로징 검출 기술을 통해 로봇(100)의 제2 위치에서 루프 클로징이 수행되었는지 여부를 검출할 수 있다.
만약, 로봇(100)의 제2 위치에서 루프 클로징이 수행된 경우, 도 3의 단계들이 종료된다. 이 때, 다음 번의 도 3의 반복 단계에서의 로봇(100)의 제1 위치는 상기한 루프 클로징의 종료 지점일 수 있다.
반대로, 로봇(100)의 제2 위치에서 루프 클로징이 수행되지 않는 경우, 판단부(150)는 거리 측정부(130)에서 측정된 누적 이동 거리와, 특징점 매칭부(140)에서 생성된 제2 위치에서의 특징점 매칭 정보를 이용하여 로봇(100)의 제2 위치에서 루프 클로징이 필요한지 여부를 판단한다(S330). 이 때, 단계(S330)에서의 루프 클로징은 상기에서 언급한 일반적인 루프 클로징과는 달리 맵의 품질을 높이기 위해 강제적으로 수행되는 루프 클로징이다.
도 4는 단계(S330)의 세부적인 흐름도를 도시한 도면이다. 이하, 도 4를 참조하여 판단부(150)가 로봇(100)의 제2 위치에서 강제적인 루프 클로징이 필요한지 여부를 판단하는 과정을 설명한다.
먼저, 판단부(150)는 누적 이동 거리가 기 설정된 최소 누적 이동 거리보다 큰지 여부를 판단한다(S331).
여기서, 최소 누적 이동 거리는 루프 클로징을 위해 로봇(100)이 이동해야 되는 최소 거리, 즉 누적 이동 거리의 하한선과 대응된다. 일례로서, 최소 누적 이동 거리는 1m일 수 있다.
즉, 루프 클로징을 수행하는 이유는 로봇(100)이 이전 지점을 재방문 함으로써 맵의 품질을 향상시키기 위함인데, 누적 이동 거리가 너무 짧은 상태에서 로봇(100)이 루프 클로징을 수행한다면 루프 클로징을 수행하는 효과를 기대할 수 없다.
따라서, 판단부(150)는 측정된 누적 이동 거리가 최소 누적 이동 거리 이하인 경우에는 루프 클로징이 필요하지 않다고 판단한다(S332).
다음으로, 측정된 누적 이동 거리가 최소 누적 이동 거리보다 크다고 판단된 경우, 판단부(150)는 측정된 누적 이동 거리가 기 설정된 최대 누적 이동 거리보다 큰지 여부를 판단한다(S333).
여기서, 최대 누적 이동 거리는 루프 클로징을 수행하지 않고 로봇(100)이 이동할 수 있는 최대 거리, 즉 최소 1번 이상 루프 클로징이 일어나야 되는 최소 거리이다. 다시 말해, 최대 누적 이동 거리는 누적 이동 거리의 상한선과 대응된다.
최대 누적 이동 거리는 로봇(100)의 사용자에 의해 설정될 수 있다. 일례로서, 최대 누적 이동 거리는 20m로 설정될 수 있다.
만약, 측정된 누적 이동 거리가 최대 누적 이동 거리보다 크다고 판단된 경우, 판단부(150)는 로봇(100)의 제2 위치에서 루프 클로징이 필요하다고 판단한다(S334). 반대로, 측정된 누적 이동 거리가 최대 누적 이동 거리 이하인 것으로 판단된 경우, 판단부(150)는 로봇(100)의 충분한 특징점 매칭 결과가 확보되었는지 여부를 판단한다(S335). 이를 위해, 판단부(150)는 제2 위치에서의 특징점 매칭 정보와 관련된 값과 기 설정된 임계값을 비교한다.
보다 상세하게, 이동하는 로봇(100)은 센서부(110)로부터 센싱된 데이터 및 영상 획득부(120)에서 획득된 영상 중 적어도 하나에 기초하여 특징점을 추출하고 이를 매칭한다. 이 때, 매칭 결과가 좋다면 새로운 지점에 대한 충분한 정보를 확보한 것으로 볼 수 있으며, 이 경우 강제적인 루프 클로징이 필요하지 않을 수 있다.
따라서, 측정된 누적 이동 거리가 최대 누적 이동 거리 이하인 것으로 판단된 경우라 하더라도, 충분한 특징점 매칭 결과가 확보되었다면, 판단부(150)는 루프 클로징이 필요하지 않다고 판단한다(S332). 반대로, 측정된 누적 이동 거리가 최대 누적 이동 거리 이하인 것으로 판단되고, 충분한 특징점 매칭 결과가 확보되지 않는 경우, 판단부(150)는 맵의 품질을 높이기 위한 루프 클로징이 필요한 것으로 판단한다(S334).
또한, 특징점 매칭이 잘 수행되어 충분한 특징점 매칭 결과가 확보되었다 하더라도, 새로운 지점을 탐색하기 위해, 일정 거리 이상을 이동한 로봇(100)은 반드시 루프 클로징을 수행하여야 한다. 따라서, 측정된 누적 이동 거리가 최대 누적 이동 거리보다 큰 경우 판단부(150)는 루프 클로징이 필요한 것으로 판단한다(S334).
정리하면, 판단부(150)는 측정된 누적 이동 거리가 최소 누적 이동 거리 및 최대 누적 이동 거리보다 큰 경우, 루프 클로징이 필요하다고 판단할 수 있다. 또한, 판단부(150)는 측정된 누적 이동 거리가 최소 누적 이동 거리보다 크고, 최대 누적 이동 거리보다 크지 않으며, 충분한 특징점 매칭 결과가 확보된 경우, 루프 클로징이 필요하다고 판단할 수 있다.
한편, 특징점 매칭 결과와 대응되는 특징점 매칭 정보와 관련된 값은, 영상 획득부(120)에서 획득된 영상을 이용한 특징점 매칭값일 수 있고, 라이더 센서에서 획득된 라이더 스캔 데이터를 이용한 특징점 매칭값일 수 있다.
본 발명의 일 실시예에 따르면, 영상을 이용하여 특징점 매칭을 수행하는 경우, 특징점 매칭 정보와 관련된 값은 (영상 간 매칭된 특징점 쌍의 개수)/(영상에서 추출된 특징점의 개수)인 제1 값 또는 영상에서 매칭된 특징점의 개수인 제2 값과 대응될 수 있다. 이 때, 제1 값 또는 제2 값이 큰 경우 판단부(150)는 충분한 특징점 매칭 결과가 확보된 것으로 판단할 수 있다. 따라서, 판단부(150)는 제1 값이 제1 임계값보다 작거나 또는 제2 값이 제2 임계값보다 작은 경우, 루프 클로징이 필요한 것으로 판단할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 라이더 스캔 데이터를 이용하는 경우, 특징점 매칭 정보와 관련된 값은 매칭될 라이더 스캔 데이터의 오버래핑 영역에서의 거리 차이 누적 평균값과 대응될 수 있다. 이 때, 거리 차이 누적 평균값이 작은 경우, 판단부(150)는 충분한 특징점 매칭 결과가 확보된 것으로 판단할 수 있다. 일례로서, 특정 지역에 동적 장애물이 많은 경우, 거리 차이 누적 평균값이 커질 가능성이 있다. 따라서, 판단부(150)는 거리 차이 누적 평균값이 기 설정된 제3 임계값보다 큰 경우, 루프 클로징이 필요한 것으로 판단할 수 있다.
다시, 도 3을 참조하여 본 발명의 로봇(100)의 이동 동작을 설명한다.
단계(S330)에서 루프 클로징이 필요하지 않는 것으로 판단된 경우 단계(S310)가 수행된다. 따라서, 제1 위치에서 현재 위치(제2 위치)까지의 누적 이동 거리가 계속적으로 측정된다.
그리고, 단계(S330)에서 루프 클로징이 필요한 것으로 판단된 경우, 제어부(160)는 루프 클로징을 수행하도록 로봇(100)를 제어한다(S340). 이 때, 제어부(160)는 로봇(100)을 제1 위치로 이동하도록 제어할 수 있으며, 특히, 제어부(160)는 로봇(100)의 제1 위치와 제2 위치(현재 위치) 간의 거리 차가 최소화되도록 로봇(100)을 제1 위치로 이동시킬 수 있다.
요컨대, 본 발명의 로봇(100)는 특정 지역에 대한 맵을 정확하게 산출하는 것을 주된 목적으로 하며, 로봇(100)이 확보한 특징점 매칭 결과에 기초하여 루프 클로징의 수행 여부를 결정하며, 더불어 로봇(100)의 누적 이동 거리에 더 기초하여 루프 클로징의 수행 여부를 결정할 수 있다.
즉, 루프 클로징이 많이 수행되는 경우 맵의 품질은 좋아지지만 로봇(100)에서의 맵 작성의 시간이 증가하고, 루프 클로징이 적게 수행되는 경우 로봇(100)에서의 맵 작성의 시간은 감소하지만 충분한 특징점 매칭 결과가 확보되지 않아 맵의 품질이 나빠진다.
따라서, 본 발명의 로봇(100)은 충분한 특징점 매칭 결과가 확보되어 있는지를 판단하고, 충분한 특징점 매칭 결과가 확보되었다면 강제적인 루프 클로징을 수행하지 않고, 충분한 특징점 매칭 결과가 확보되지 않았다면 강제적인 루프 클로징을 수행할 수 있다. 이에 따라, 로봇(100)은 맵의 특성에 맞게 루프 클로징을 적절하게 수행하면서 맵의 품질을 향상시킬 수 있다.
한편, 앞서 언급한 바와 같이, 특징점 매칭부(140)는 인공 신경망에 기초한 알고리즘 모델을 이용하여 특징점 매칭을 수행할 수 있다. 이에 대해 보다 상세하게 설명하면 다음과 같다.
인공 지능(AI: artificial intelligence)은 인간의 지능으로 할 수 있는 사고, 학습, 자기 계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보 기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미한다.
인공 지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히 현대에는 정보 기술의 여러 분야에서 인공 지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
머신 러닝(machine learning)은 인공 지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야이다.
구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취한다.
용어 '머신 러닝'은 용어 '기계 학습'과 혼용되어 사용될 수 있다.
기계 학습에서 데이터를 어떻게 분류할 것인가를 놓고, 많은 기계 학습 알고리즘이 개발되었다. 의사결정 나무(Decision Tree), 베이지안 망(Bayesian network), 서포트 벡터 머신(SVM: support vector machine), 그리고 인공 신경망(ANN: Artificial Neural Network) 등이 대표적이다.
특히, 인공 신경망은 생물학적 뉴런의 동작 원리와 뉴런 간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)인 다수의 뉴런(neuron)들이 레이어(layer) 구조의 형태로 연결된 정보 처리 시스템이다.
즉, 인공 신경망은 기계 학습에서 사용되는 모델로써, 기계 학습과 인지 과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다.
구체적으로, 인공 신경망은 복수의 레이어를 포함할 수 있고, 레이어들 각각은 복수의 뉴런를 포함할 수 있다. 또한, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스(synapse)를 포함할 수 있다. 즉, 인공 신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런이 학습을 통해 시냅스의 결합 세기를 변화시켜 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
용어 '인공 신경망'은 용어 '뉴럴 네트워크(Neural Network)'와 혼용되어 사용될 수 있고, 용어 '뉴런'은 용어 '노드'와 혼용되어 사용될 수 있고, 용어 '시냅스'는 용어 '에지'와 혼용되어 사용될 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴, (2) 시냅스의 가중치를 갱신하는 학습 과정, (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
인공 신경망은, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron), CNN(Convolutional Neural Network)와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 이에 한정되지 않는다.
인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분된다.
일반적인 단층 신경망은, 입력 레이어와 출력 레이어로 구성된다.
또한, 일반적인 다층 신경망은 입력 레이어(input layer)와, 하나 이상의 은닉 레이어(hidden layer)와, 출력층(output layer)으로 구성된다.
입력 레이어는 외부의 자료들을 받아들이는 레어어로서, 입력 레이어의 뉴런 수는 입력되는 변수의 수와 동일하다.
은닉 레이어는 입력 레이어와 출력 레이어 사이에 위치하며, 입력 레이어로부터 신호를 받아 특성을 추출하여 출력 레이어로 전달한다.
출력 레이어는 은닉 레이어로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런 간의 입력 신호는 각각의 가중치(연결 강도)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력한다.
한편, 입력 레이어와 출력 레이어 사이에 복수의 은닉 레이어를 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 시냅스 가중치(weight)나 뉴런에 적용되는 바이어스(bias)가 인공 신경망의 파라미터의 대표적인 예이다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화할 수 있다. 한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(trained model)이라 명칭할 수 있다.
다음은 인공 신경망의 학습 방식에 대하여 설명한다.
인공 신경망의 학습 방식은 크게, 지도 학습(supervised learning), 비 지도 학습(unsupervised learning), 준 지도 학습(semi-supervised learning), 강화 학습(reinforcement learning)으로 분류될 수 있다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법이다. 이 때, 유추되는 함수 중, 연속적인 값을 출력하는 것을 회귀분석(regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(classification)라고 한다. 즉, 지도 학습에서는 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다. 여기서, 레이블은 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미한다.
비 지도 학습은 기계 학습의 일종으로, 훈련 데이터에 대한 레이블이 주어지지 않는다. 구체적으로, 비 지도 학습은, 훈련 데이터 및 훈련 데이터에 대응하는 레이블의 연관 관계 보다는, 훈련 데이터 자체에서 패턴을 찾아 분류하도록 인공 신경망을 학습시키는 학습 방법이다.
준 지도 학습은 기계 학습의 일종으로, 레이블이 주어진 훈련 데이터와 레이블이 주어지지 않은 훈련 데이터를 모두 사용하는 학습 방법을 의미할 수 있다. 준 지도 학습의 기법 중 하나로, 레이블이 주어지지 않은 훈련 데이터의 레이블을 추론한 후 추론된 라벨을 이용하여 학습을 수행하는 기법이 있으며, 이러한 기법은 레이블링에 소요되는 비용이 큰 경우에 유용하게 사용될 수 있다.
강화 학습은, 에이전트(Agent)가 매 순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론이다.
상기 내용을 참조하면, 본 발명의 특징점 매칭을 위한 인공 신경망에 기초한 알고리즘 모델은 입력 노드로 구성된 입력 레이어, 출력 노드로 구성된 출력 레이어 및 입력 레이어와 출력 레이어 사이에 배치되며, 은닉 노드로 구성된 하나 이상의 은닉 레이어를 포함한다. 이 때, 알고리즘 모델은 학습 데이터에 의해 학습되며, 학습을 통해 노드들을 연결하는 에지의 가중치 및 노드의 바이어스가 업데이트될 수 있다.
본 발명의 일 실시예에 따르면, 상기 학습된 알고리즘 모델은 특징점 매칭부(140)에 탑재될 수 있다. 이 때, 서로 다른 시점에서 센싱된 센싱 데이터 및 서로 다른 시점에서 획득된 영상에 포함된 특징점의 정보 중 적어도 하나가 학습된 알고리즘 모델의 입력 레이어에 입력되고, 학습된 알고리즘 모델의 출력 레이어로 특징점 매칭 정보가 출력될 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 상기 학습된 알고리즘 모델은 외부의 AI 서버에 탑재될 수 있다. 이 경우, 특징점 매칭부(140)는 통신부(170)를 통해 서로 다른 시점에서 센싱된 센싱 데이터 및 서로 다른 시점에서 획득된 영상에 포함된 특징점의 정보 중 적어도 하나를 AI 서버로 전송한다. 서로 다른 시점에서 센싱된 센싱 데이터 및 서로 다른 시점에서 획득된 영상에 포함된 특징점의 정보 중 적어도 하나가 AI 서버의 학습된 알고리즘 모델의 입력 레이어에 입력되고, 학습된 알고리즘 모델의 출력 레이어로 특징점 매칭 정보가 출력될 수 있다. AI 서버는 출력된 특징점 매칭 정보를 통신부(170)를 통해 특징점 매칭부(140)로 전송하고, 이를 통해 특징점 매칭부(140)는 특징점을 매칭할 수 있다.
한편, 로봇(100)의 이동의 제어는 로봇(100)의 이동을 제어하기 위한 사용자 단말 장치와 연동하여 수행될 수도 있다. 즉, 로봇(100)은 자제적으로 이동을 제어할 수도 있지만, 사용자 단말 장치를 소지한 사용자에 의해 이동이 제어될 수도 있다.
도 5에서는 사용자 단말 장치와 연동하여 수행되는 로봇(100)의 이동 동작 제어의 흐름도를 도시하고 있다.
도 5를 참조하면, 판단부(150)가 강제적인 루프 클로징이 필요한 것으로 판단된 경우(S510), 제어부(160)는 루프 클로징의 이동 경로 정보를 생성하고(S520), 통신부(170)를 통해 생성된 이동 경로 정보를 사용자 단말 장치(500)로 전송한다(S530).
이 후, 사용자 단말 장치(500)는 수신된 이동 경로 정보를 디스플레이부에 표시하고(S540), 사용자로부터 로봇(100)의 이동 경로를 제어하는 이동 제어 명령을 조이스틱 등을 통해 입력 받으며(S550), 입력된 이동 제어 명령을 로봇(100)으로 전송한다(S560).
통신부(170)를 통해 이동 제어 명령을 수신한 로봇(100)은 제어부(160)를 통해 이동 제어 명령에 따라 로봇(100)의 이동을 제어한다(S570).
정리하면, 강제적인 루프 클로징이 수행되는 경우, 로봇(100)은 루프 클로징의 이동 경로 정보를 사용자 단말 장치(500)에 제공하여, 로봇(100)의 이동을 사용자에게 가이드 할 수 있다.
이하, 도 6 및 도 7를 참조하여 상기에서 설명한 로봇(100)의 이동 동작의 일례를 상세하게 설명한다. 이 때, 설명의 편의를 위해, 로봇(100)이 자체적으로 이동 제어를 수행하는 것으로 설명한다.
도 6 및 도 7에서, "t=1"의 지점은 제1 위치를 의미한다. 그리고, 최소 누적 이동 거리는 1m, 최대 누적 이동 거리는 20m로 설정되고, t 사이의 거리는 5m이며, 각각의 지점에서 충분한 특징점 매칭 결과가 확보되지 않는 것으로 가정한다.
먼저, 도 6을 참조하면, "t=1"의 지점에서 "t=5"의 지점까지 로봇(100)은 루프 클로징의 수행 없이 이동하였고, "t=1"의 지점에서 "t=5"의 지점까지 누적 이동 거리가 20m를 초과하였다.
따라서, 판단부(150)는 "t=5"의 지점에서 강제적인 루프 클로징이 필요한 것으로 판단하며, 이에 따라 제어부(160)는 도 5에 도시된 바와 같이 "t=1"의 지점으로 되돌아가도록 로봇(100)의 이동을 제어한다. 이 때, 제어부(160)는 로봇(100)의 "t=1"의 지점과 "t=5"의 지점간의 거리 차가 최소화되도록 로봇(100)을 "t=1"의 지점으로 이동시킨다.
다음으로, 도 7을 참조하면, "t=1"의 지점과 동일한 "t=11"의 지점에서 로봇(100)은 특정 방향으로 이동하며, "t=15"까지 루프 클로징의 수행 없이 이동하였고, "t=11"의 지점에서 "t=15"의 지점까지 누적 이동 거리가 20m를 초과하였다.
따라서, 판단부(150)는 "t=15"의 지점에서 강제적인 루프 클로징이 필요한 것으로 판단하며, 이에 따라 제어부(160)는 도 6에 도시된 바와 같이 "t=11"의 지점으로 되돌아가도록 로봇(100)의 이동을 제어한다. 이 때도 역시, 제어부(160)는 로봇(100)의 "t=11"의 지점과 "t=15"의 지점간의 거리 차가 최소화되도록 로봇(100)을 "t=11"의 지점으로 이동시킨다.
요컨대, 본 발명에 따른 로봇(100)은 특정 지역의 맵을 작성할 때 사용되는 장치로서, SLAM을 기반으로 맵을 생성 및 업데이트할 수 있으며, 맵의 품질을 향상시키기 위해 루프 클로징의 수행 횟수을 적절하게 조절한다.
이 때, 특정 지역의 맵을 처음 생성하는 경우, 로봇(100)을 특정 지역에 위치시킴으로써 미리 입력된 정보 없이 자동으로 맵을 생성할 수 있다.
그리고, 맵이 생성된 상태에서, 맵의 일부 또는 전부에 오류가 존재하거나, 생성된 맵을 주기적으로 업데이트할 때도 본 발명에 따른 로봇(100)이 사용될 수 있다. 특히, 맵의 일부에만 오류가 발생하거나 맵의 일부가 생성되지 않는 경우, 상기한 일부 지역에만 로봇(100)를 위치시킴으로써 맵을 효율적으로 수정하거나 업데이트할 수 있다.
또한, 본 발명의 로봇(100)은 소면적에서도 적용될 수 있지만, 공공 장소와 같은 대면적에서 보다 효율적으로 사용될 수 있다. 즉, 소면적의 경우, 장애물의 위치가 거의 고정되어 있으므로 맵이 주기적으로 업데이트되지 않아도 되지만, 공공 기관과 같은 대면적의 경우, 장애물의 위치의 변화 정도가 크므로 맵을 주기적으로 업데이트하여야 한다. 특히 대면적에서 이동하는 로봇은 일반적으로 재방문을 하지 않거나 매우 드물게 재방문을 한다. 따라서, 본 발명의 로봇(100)은 대면적에서 맵을 생성하거나 업데이트하는데 효율적으로 사용될 수 있다.
더불어, 사용자 단말 장치(500)와 연동하여 로봇(100)의 이동 경로를 제어하는 경우, 앞서 언급한 바와 같이 로봇(100)은 루프 클로징의 이동 경로 정보를 사용자 단말 장치(500)에 제공하여 로봇(100)의 이동을 사용자에게 가이드 할 수 있다. 이에 따라, 비전문가인 사용자가 특정 지역의 맵을 정확하게 작성할 수 있다.
즉, 사용자가 조이스틱 등이 부착된 단말 장치를 이용하여 로봇을 수동으로 제어하여 맵을 작성하는 경우, 사용자가 로봇의 이상적인 궤적을 알고 있어야 정확한 맵을 작성할 수 있다. 그러나, 비전문가인 사용자는 이상적인 궤적을 알지 못하기 때문에 작성되는 맵의 정확도가 떨어진다. 한편, 고가의 센서(예를 들어, 360° 카메라, 3D-라이더 센서)를 부착한 로봇의 경우 비전문가인 사용자도 정확한 맵을 작성할 수 있으나, 로봇이 고가인 문제점이 있다. 하지만, 본 발명의 로봇(100)를 사용하는 경우, 비전문가인 사용자도 고가의 센서를 부착한 로봇을 사용하지 않고서도 정확한 맵을 작성할 수 있다.
한편, 도 3 및 도 4에서 설명한 특정 지역의 맵을 작성하는 방법은 사용자에 의해 소지되는 전자 기기에서도 적용될 수 있다.
도 8은 본 발명의 일 실시예에 따른 전자 기기의 개략적인 구성을 도시한 도면이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 전자 기기(800)는 센서부(810), 영상 획득부(820), 거리 측정부(830), 특징점 매칭부(840), 판단부(850) 및 이동 경로 제어부(860)를 포함한다.
한편, 전자 기기(800)는, 백팩(back pack)의 모양을 가지며 전자 기기(800)의 모든 구성 요소가 백팩의 내부에 배치된 장치일 수도 있고, 사용자의 손으로 잡을 수 있는 모바일 장치일 수도 있다. 만약, 전자 기기(800)가 백팩 형태인 경우, 사용자가 손에 소지하는 단말 장치와 연동하여 동작한다.
이하, 각 구성 요소 별로 그 기능을 상세하게 설명한다.
센서부(810)는 복수의 센서를 포함한다.
영상 획득부(820)는 사용자가 특정 지역에서 이동할 때 주변 환경에 대한 영상을 획득한다.
거리 측정부(830)는 특정 지역에서 이동하는 로봇의 누적 이동 거리를 측정한다.
특징점 매칭부(840)는 센서부(810)에서 센싱된 센싱 데이터 및 영상 획득부(820)에서 획득된 영상 중 적어도 하나에 기초하여 특징점 매칭 정보를 생성하며, 이에 기초하여 특징점을 매칭한다.
판단부(850)는 사용자의 현재 위치에서 루프 클로징이 수행되어 있는지 여부를 판단하며, 현재 위치에서 루프 클로징이 수행되지 않는 경우 루프 클로징이 필요한지 여부를 판단한다.
한편, 센서부(810), 영상 획득부(820), 거리 측정부(830), 특징점 매칭부(840), 판단부(850)의 구성은 앞서 설명한 로봇(100)의 센서부(110), 영상 획득부(120), 거리 측정부(130), 특징점 매칭부(140), 판단부(150)와 동일하므로, 이하, 상세한 내용은 생략하기로 한다.
이동 경로 제어부(860)는 루프 클로징이 필요한 것으로 판단된 경우, 루프 클로징의 이동 경로 정보를 생성한다.
여기서, 전자 기기(800)가 백팩 형태인 경우, 이동 경로 정보는 전자 기기에 포함된 통신부를 통해 단말 장치로 전송되고, 단말 장치는 이동 경로 정보를 사용자에게 표시한다. 사용자는 단말 장치에 표시된 이동 경로 정보를 확인하여 루프 클로징을 위한 이동을 할 수 있다.
또는, 전자 기기(800)가 모바일 장치인 경우, 전자 기기(800)는 디스플레이부를 통해 생성된 이동 경로 정보를 사용자에게 표시하고, 사용자는 전자 기기(800)의 디스플레이부에 표시된 이동 경로 정보를 확인하여 루프 클로징을 위한 이동을 할 수 있다.
요컨대, 전자 기기(800)를 소지한 사용자는 특정 지역을 직접 이동하며, 전자 기기(800)는 상기한 지역의 맵을 작성한다. 이 때, 루프 클로징이 필요한 경우, 전자 기기(800)는 루프 클로징의 이동 경로 정보를 사용자에게 제공하며, 사용자는 제공된 이동 경로 정보를 확인하여 이동을 수행한다. 따라서, 본 실시예에 따르면, 로봇이 진입할 수 없거나 주행하지 못하는 장소(일례로, 계단 등)에서 정확한 맵이 작성될 수 있다.
또한, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
100: 로봇 800: 전자 기기
110, 810: 센서부 120, 820: 영상 획득부
130, 830: 거리 측정부 140, 840: 특징점 매칭부
150, 850: 판단부 160: 제어부
170: 통신부 860: 이동 경로 제어부
250: 레이저 조사모듈 300: 이동로봇

Claims (14)

  1. 특정 지역에서 이동하는 로봇의 제1 위치에서 제2 위치까지의 누적 이동 거리를 측정하는 거리 측정부;
    상기 측정된 누적 이동 거리 및 상기 제2 위치에서의 특징점 매칭 정보를 이용하여 상기 제2 위치에서의 루프 클로징의 필요 여부를 판단하는 판단부; 및
    상기 판단부의 판단 결과에 기초하여 상기 로봇의 이동을 제어하는 제어부;를 포함하되,
    상기 판단부는,
    상기 측정된 누적 이동 거리가 기 설정된 최대 누적 이동 거리를 초과하는 경우, 상기 제2 위치에서 미리 정해진 일반적인 루프 클로징이 필요한 것으로 판단하고,
    상기 측정된 누적 이동 거리가 상기 최대 누적 이동 거리를 초과하지 않더라도 상기 제2 위치에서의 특징점 매칭 정보와 관련된 값과 기 설정된 임계값이 미리 정의된 특정 조건을 만족시키는 경우, 상기 제2 위치에서 강제적인 루프 클로징이 필요한 것으로 판단하는, 특정 지역의 맵을 작성하는 로봇.
  2. 제1항에 있어서,
    상기 제1 위치는 특정 지역에서의 상기 로봇의 초기 위치 또는 가장 최근에 수행된 상기 루프 클로징의 종료 위치이고, 상기 제2 위치는 상기 로봇의 현재 위치인, 특정 지역의 맵을 작성하는 로봇.
  3. 제1항에 있어서,
    상기 루프 클로징이 필요한 것으로 판단된 경우, 상기 제어부는 상기 로봇을 상기 제1 위치로 이동하도록 제어하는, 특정 지역의 맵을 작성하는 로봇.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 로봇의 이동 시 영상을 획득하는 영상 획득부;를 더 포함하되,
    상기 특징점 매칭 정보와 관련된 값은 (영상 간 매칭된 특징점 쌍의 개수)/(영상에서 추출된 특징점의 개수) 또는 영상에서 매칭된 특징점의 개수와 대응되며,
    상기 특정 조건은, 상기 특징점 매칭 정보와 관련된 값이 상기 임계값보다 작은 것과 대응되는, 특정 지역의 맵을 작성하는 로봇.
  7. 제1항에 있어서,
    상기 로봇과 물체까지의 거리를 측정하는 라이더(lidar) 센서;를 더 포함하되,
    상기 특징점 매칭 정보와 관련된 값은 매칭될 라이더 스캔 데이터의 오버래핑 영역에서의 거리 차이 누적 평균값과 대응되고,
    상기 특정 조건은, 상기 특징점 매칭 정보와 관련된 값이 상기 임계값보다 큰 것과 대응되는, 특정 지역의 맵을 작성하는 로봇.
  8. 제1항에 있어서,
    상기 로봇의 이동을 제어하기 위한 사용자 단말 장치와 통신하는 통신부;를 더 포함하되,
    상기 루프 클로징이 필요한 것으로 판단된 경우, 상기 제어부는 상기 루프 클로징의 이동 경로 정보를 생성하고,
    상기 통신부는 상기 생성된 이동 경로 정보를 상기 사용자 단말 장치로 전송하고, 상기 사용자 단말 장치로부터 상기 생성된 이동 경로 정보와 대응되는 상기 로봇의 이동 제어 명령을 수신하며,
    상기 제어부는 상기 로봇의 이동 제어 명령에 따라 상기 로봇의 이동을 제어하는, 특정 지역의 맵을 작성하는 로봇.
  9. 제1항에 있어서,
    인공 신경망에 기초한 알고리즘 모델을 이용하여 특징점 매칭을 수행하는 특징점 매칭부;를 더 포함하되,
    상기 알고리즘 모델은 입력 노드로 구성된 입력 레이어, 출력 노드로 구성된 출력 레이어 및 입력 레이어와 출력 레이어 사이에 배치되며, 은닉 노드로 구성된 하나 이상의 은닉 레이어를 포함하고, 학습을 통해 노드들을 연결하는 에지의 가중치 및 노드들의 바이어스가 업데이트되는, 로봇.
  10. 제9항에 있어서,
    상기 학습된 알고리즘 모델의 입력 레이어로 서로 다른 시점에서 센싱된 센싱 데이터 및 서로 다른 시점에서 획득된 영상에 포함된 특징점의 정보 중 적어도 하나가 입력되고, 상기 학습된 알고리즘 모델의 출력 레이어로 특징점 매칭 정보가 출력되는, 로봇.
  11. 특정 지역에서 이동하는 사용자에 의해 소지되는 전자 기기의 제1 위치에서 제2 위치까지의 누적 이동 거리를 측정하는 거리 측정부;
    상기 측정된 누적 이동 거리, 기 설정된 적어도 하나의 기준 누적 이동 거리 및 상기 제2 위치에서의 특징점 매칭 정보를 이용하여 상기 제2 위치에서의 루프 클로징의 필요 여부를 판단하는 판단부; 및
    상기 루프 클로징이 필요한 것으로 판단된 경우, 상기 루프 클로징의 이동 경로 정보를 생성하는 이동 경로 정보 생성부;를 포함하되,
    상기 판단부는,
    상기 측정된 누적 이동 거리가 상기 기준 누적 이동 거리 중 최대 누적 이동 거리를 초과하는 경우, 상기 제2 위치에서 미리 정해진 일반적인 루프 클로징이 필요한 것으로 판단하고,
    상기 측정된 누적 이동 거리가 상기 최대 누적 이동 거리를 초과하지 않더라도 상기 제2 위치에서의 특징점 매칭 정보와 관련된 값과 기 설정된 임계값이 미리 정의된 특정 조건을 만족시키는 경우, 상기 제2 위치에서 강제적인 루프 클로징이 필요한 것으로 판단하는, 특정 지역의 맵을 작성하는 전자 기기.
  12. 삭제
  13. 삭제
  14. 거리 측정부가 특정 지역에서 이동하는 로봇의 제1 위치에서 제2 위치까지의 누적 이동 거리를 측정하는 단계;
    판단부가 상기 측정된 누적 이동 거리, 기 설정된 적어도 하나의 기준 누적 이동 거리 및 상기 제2 위치에서의 특징점 매칭 정보를 이용하여 상기 제2 위치에서의 루프 클로징의 필요 여부를 판단하는 단계; 및
    제어부가 상기 판단부의 판단 결과에 기초하여 상기 로봇의 이동을 제어하는 단계;를 포함하되,
    상기 판단하는 단계는,
    상기 측정된 누적 이동 거리가 상기 기준 누적 이동 거리 중 최대 누적 이동 거리를 초과하는 경우, 상기 제2 위치에서 미리 정해진 일반적인 루프 클로징이 필요한 것으로 판단하고,
    상기 측정된 누적 이동 거리가 상기 최대 누적 이동 거리를 초과하지 않더라도 상기 제2 위치에서의 특징점 매칭 정보와 관련된 값과 기 설정된 임계값이 미리 정의된 특정 조건을 만족시키는 경우, 상기 제2 위치에서 강제적인 루프 클로징이 필요한 것으로 판단하는, 로봇이 특정 지역의 맵을 작성하는 방법.
KR1020190065594A 2019-06-03 2019-06-03 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기 KR102293317B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190065594A KR102293317B1 (ko) 2019-06-03 2019-06-03 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기
US16/573,551 US11402834B2 (en) 2019-06-03 2019-09-17 Method for drawing map of specific area, robot and electronic device implementing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190065594A KR102293317B1 (ko) 2019-06-03 2019-06-03 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기

Publications (2)

Publication Number Publication Date
KR20190071639A KR20190071639A (ko) 2019-06-24
KR102293317B1 true KR102293317B1 (ko) 2021-08-23

Family

ID=67056272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190065594A KR102293317B1 (ko) 2019-06-03 2019-06-03 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기

Country Status (2)

Country Link
US (1) US11402834B2 (ko)
KR (1) KR102293317B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210042537A (ko) * 2019-10-10 2021-04-20 엘지전자 주식회사 대면적의 공간에서 로컬 영역별로 위치를 추정하는 방법 및 이를 구현하는 로봇과 클라우드 서버
CN111906777B (zh) * 2020-06-16 2022-04-05 特斯联科技集团有限公司 一种机器人场景功能切换方法、系统、存储介质及智能机器人
KR20240002835A (ko) * 2022-06-30 2024-01-08 삼성전자주식회사 공간에 대한 맵을 생성하는 전자 장치 및 이의 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180161986A1 (en) * 2016-12-12 2018-06-14 The Charles Stark Draper Laboratory, Inc. System and method for semantic simultaneous localization and mapping of static and dynamic objects
KR101948728B1 (ko) * 2018-09-28 2019-02-15 네이버랩스 주식회사 데이터 수집 방법 및 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474945B2 (en) * 2004-12-14 2009-01-06 Honda Motor Company, Ltd. Route generating system for an autonomous mobile robot
KR100772912B1 (ko) * 2006-05-16 2007-11-05 삼성전자주식회사 절대 방위각을 이용한 로봇 및 이를 이용한 맵 작성 방법
KR101782057B1 (ko) * 2010-05-03 2017-09-26 삼성전자주식회사 지도 생성 장치 및 방법
CN103251354A (zh) * 2012-02-16 2013-08-21 恩斯迈电子(深圳)有限公司 扫地机器人的控制方法
DE102014226084A1 (de) * 2014-12-16 2016-06-16 Robert Bosch Gmbh Verfahren zur Kartierung einer Bearbeitungsfläche für autonome Roboterfahrzeuge
CN105824310B (zh) * 2015-01-08 2018-10-19 江苏美的清洁电器股份有限公司 机器人的行走控制方法和机器人
CN106527424B (zh) * 2016-09-20 2023-06-09 深圳银星智能集团股份有限公司 移动机器人及移动机器人的导航方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180161986A1 (en) * 2016-12-12 2018-06-14 The Charles Stark Draper Laboratory, Inc. System and method for semantic simultaneous localization and mapping of static and dynamic objects
KR101948728B1 (ko) * 2018-09-28 2019-02-15 네이버랩스 주식회사 데이터 수집 방법 및 시스템

Also Published As

Publication number Publication date
US11402834B2 (en) 2022-08-02
KR20190071639A (ko) 2019-06-24
US20200379455A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
US11347237B2 (en) Method of performing cloud slam in real time, and robot and cloud server for implementing the same
US11673269B2 (en) Method of identifying dynamic obstacle and robot implementing same
KR102293317B1 (ko) 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기
US11573093B2 (en) Method for predicting battery consumption of electric vehicle and device for the same
KR102283022B1 (ko) 외부 영상에 기반한 로봇의 주행 방법과, 이를 구현하는 로봇 및 서버
US11565415B2 (en) Method of tracking user position using crowd robot, tag device, and robot implementing thereof
US11399685B2 (en) Artificial intelligence cleaner and method of operating the same
KR102615685B1 (ko) 멀티 센서를 동기화시켜 위치를 추정하는 방법 및 이를 구현하는 로봇
US20200376676A1 (en) Method of localization using multi sensor and robot implementing same
KR102043142B1 (ko) Agv 주행제어를 위한 인공신경망 학습 방법 및 장치
KR102474246B1 (ko) 복수 개의 전자 디바이스를 이용하여 신경망 모델을 처리하는 방법 및 시스템
Wenzel et al. Vision-based mobile robotics obstacle avoidance with deep reinforcement learning
US11931906B2 (en) Mobile robot device and method for providing service to user
US20210011484A1 (en) Method of moving in power assist mode reflecting physical characteristics of user and robot of implementing thereof
US11433548B2 (en) Robot system and control method thereof
Chin et al. Episodic memory multimodal learning for robot sensorimotor map building and navigation
KR102246236B1 (ko) 퓨전 슬램에서 맵을 업데이트하는 방법 및 이를 구현하는 로봇
US11467598B2 (en) Method of estimating position in local area of large space and robot and cloud server implementing thereof
US10812904B2 (en) Acoustic equalization method, robot and AI server implementing the same
Al Arafat et al. Neural network-based obstacle and pothole avoiding robot
Συντάκας Recognition and Navigation of a mobile robot by fusing laser and camera information
Chin A Declarative Memory Recurrent Neural Model for Lifelong Learning of Intelligent Agents
KR20240013930A (ko) 인공 지능을 이용한 객체의 위험도 예측에 의한 자율 주행 이동체의 주행 제어 시스템 및 이에 의해 수행되는 주행 제어 방법
Serradilla et al. Cognitive modeling for navigation of mobile robots using the sensory gradient concept
Obo et al. Behavior pattern learning for robot partner based on growing neural networks in informationally structured space

Legal Events

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