KR20210155833A - 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법 - Google Patents

다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법 Download PDF

Info

Publication number
KR20210155833A
KR20210155833A KR1020197023288A KR20197023288A KR20210155833A KR 20210155833 A KR20210155833 A KR 20210155833A KR 1020197023288 A KR1020197023288 A KR 1020197023288A KR 20197023288 A KR20197023288 A KR 20197023288A KR 20210155833 A KR20210155833 A KR 20210155833A
Authority
KR
South Korea
Prior art keywords
nodes
robot
frame
lidar
visual
Prior art date
Application number
KR1020197023288A
Other languages
English (en)
Inventor
어규호
김정식
김형록
노동기
박중태
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20210155833A publication Critical patent/KR20210155833A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/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
    • G05D1/0253Control 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 extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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
    • 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
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • 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
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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
    • B25J9/1697Vision controlled systems
    • 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/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • 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
    • 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/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/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
    • G05D1/0248Control 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 in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법에 관한 것으로, 발명의 일 실시예에 의한 로봇은 하나 이상의 라이다 프레임을 포함하는 라이다 브랜치와 하나 이상의 비주얼 프레임을 포함하는 비주얼 브랜치와 라이다 프레임 또는 비주얼 프레임 중 어느 하나 이상과 등록된 프레임 노드를 둘 이상 포함하는 백본으로 구성된 포즈 그래프를 생성하며, 포즈 그래프의 노드들 사이의 상관 관계를 생성한다.

Description

다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법
본 발명은 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법에 관한 기술이다.
대형 마트, 백화점, 공항, 골프장 등 인적, 물적 교류가 활발하게 발생하는 공간에는 사람들에게 정보를 제공하기 위해, 또는 사람들에게 편의를 제공하기 위해 로봇이 배치될 수 있다.
전술한 로봇의 종류로는 안내로봇, 보안로봇, 청소로봇 등이 있으며, 이들 다양한 로봇들은 공간 내에서 자신의 위치를 확인하며 이동한다.
한편, 로봇들이 자신의 위치를 확인하고 장애물을 회피하며 이동하기 위해서는 공간에 대한 정보와 로봇의 현재 위치 또는 이전에 로봇이 이동한 경로 등에 대한 정보를 로봇이 유지해야 한다.
로봇이 공간을 확인하고 이동하기 위해 로봇은 맵을 보유할 수 있다. 그런데, 맵을 생성하기 위해서 로봇은 다양한 센서들을 이용하여 맵을 작성할 수 있으며, 맵 내의 정보의 다양한 정보들을 일치시켜 저장하는 것이 필요하다.
그러나 센서들은 각각의 특성과 로봇이 이동하는 과정에서 발생하는 오차가 있으므로 이를 반영하여 맵을 생성하고 맵을 보정하는 기술이 필요하다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 로봇이 다양한 센서를 이용하여 공간에 대한 맵을 생성하고 맵 내에서 센서들에 기반한 정보를 저장하고자 한다.
또한, 본 명세서에서는 다양한 센서를 이용하여 공간에서의 로봇의 위치를 식별하는 퓨전-슬램(Fusion SLAM)을 구현하고자 한다.
또한, 본 명세서에서는 로봇이 맵 내의 노드들 사이에 상관 관계를 설정하여 퓨전 슬램의 정확도를 높이고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
발명의 일 실시예에 의한 다중 센서 및 인공지능에 기반하여 생성하고 노드들의 상관 관계를 설정하는 로봇은 로봇의 외부에 배치된 사물과 로봇 사이의 거리를 센싱하여 라이다 프레임을 생성하는 라이다 센서와 로봇의 외부에 배치된 사물을 촬영하여 비주얼 프레임을 생성하는 카메라 센서를 포함한다.
발명의 일 실시예에 의한 다중 센서 및 인공지능에 기반하여 생성하고 노드들의 상관 관계를 설정하는 로봇은 하나 이상의 라이다 프레임을 포함하는 라이다 브랜치와 하나 이상의 비주얼 프레임을 포함하는 비주얼 브랜치와 라이다 프레임 또는 비주얼 프레임 중 어느 하나 이상과 등록된 프레임 노드를 둘 이상 포함하는 백본으로 구성된 포즈 그래프를 생성하며, 포즈 그래프의 노드들 사이의 상관 관계를 생성하는 제어부를 포함한다.
발명의 일 실시예에 의한 다중 센서 및 인공지능에 기반하여 생성하고 노드들의 상관 관계를 설정하는 라이다 브랜치, 비주얼 브랜치, 백본, 상관 관계를 저장하는 맵 저장부를 포함한다.
발명의 일 실시예에 의한 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇은 노드들 중에서 인접한 두 개의 노드들을 선정하여, 두 개의 노드들 사이의 이동에서 휠 인코더가 생성한 휠 오도메트리 정보를 두 개의 노드 사이의 상관관계로 설정하여 맵 저장부에 저장한다.
발명의 일 실시예에 의한 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇은 두 개의 노드들 사이에 등록된 두 개의 라이다 프레임을 이용하여 라이다 오도메트리 정보를 생성하거나 두 개의 노드들 사이에 등록된 두 개의 비주얼 프레임을 이용하여 비주얼 오도메트리 정보를 생성한다.
발명의 일 실시예에 의한 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇은 노드들 중에서 인접하지 않으며 비주얼 프레임이 등록된 노드들을 선정하여 에센셜 그래프를 생성하며 생성된 에센셜 그래프에서 라이다 프레임이 등록된 노드들 사이의 상관 관계를 생성한다.
발명의 일 실시예에 의한 다중 센서 및 인공지능에 기반하여 노드들의 상관 관계가 저장된 맵을 이용하여 주행하는 로봇은 로봇의 이동 과정에서 휠 오도메트리 정보를 생성하는 휠 인코더와, 로봇의 외부에 배치된 사물과 로봇 사이의 거리를 센싱하여 제1라이다 프레임을 생성하는 라이다 센서와 로봇의 외부에 배치된 사물을 촬영하여 제1비주얼 프레임을 생성하는 카메라 센서와 휠 오도메트리 정보와 제1라이다 프레임과 제1비주얼 프레임과 맵 저장부에 저장된 노드들의 상관관계를 비교하여 현재 로봇의 위치를 계산하는 제어부를 포함한다.
본 발명의 실시예들을 적용할 경우, 로봇이 다양한 센서를 이용하여 공간에 대한 맵을 생성하고 맵 내의 각각의 노도들 간의 상관관계를 설정할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 다양한 센서를 이용하여 공간에서 로봇이 퓨전-슬램(Fusion SLAM)을 수행할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 다양한 센서들로 구성된 맵에 기반하여 로봇이 이동하며 상관 관계를 적용하여 현재 로봇의 위치를 정확하게 계산할 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 외관을 보여준다.
도 2는 본 발명의 일 실시예에 의한 로봇의 제어모듈의 구성 요소를 보여준다.
도 3은 로봇이 공간에서 이동하는 과정을 보여준다.
도 4는 본 발명의 일 실시예에 의한 맵의 다중 구조를 보여준다.
도 5는 본 발명의 일 실시예에 의한 인접한 노드 간의 상관 관계를 산출하는 과정을 보여준다.
도 6 내지 도 10은 본 발명의 일 실시예에 의한 비인접 노드 사이의 상관 관계를 설정하는 과정을 보여준다.
도 11은 본 발명의 일 실시예에 의한 퓨전 슬램을 수행하는 과정을 보여준다.
도 12는 본 발명의 일 실시예에 의한 퓨전 슬램을 수행하는 과정을 보여준다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등 고정 객체에 대한 정보를 의미한다. 또한, 주기적으로 배치되는 이동 장애물, 즉 동적인 객체들에 대한 정보도 맵 상에 저장될 수 있다.
일 실시예로 로봇의 진행 방향을 기준으로 일정한 범위 내에 배치된 장애물들에 대한 정보도 맵 상에 저장될 수 있다. 이 경우, 전술한 고정 객체가 저장되는 맵과 달리 임시적으로 장애물들의 정보가 맵에 등록되고 이후 로봇이 이동한 후 맵에서 제거될 수 있다.
또한, 본 명세서에서 로봇은 다양한 센서들을 이용하여 외부의 동적 객체를 확인할 수 있다. 외부의 동적 객체를 확인하면, 보행자로 붐비는 환경에서 로봇이 목적지까지 주행할 때, 목적지까지 거쳐가야 하는 경유 지점(Waypoint)의 장애물에 의한 점유 상황을 확인할 수 있다.
또한 로봇은 경유 지점의 방향 변경 정도에 따라 유연하게 경유 지점을 도착한 것으로 판단하고 다음 경유 지점으로 넘어 가도록 하여 목적지까지 성공적으로 주행할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 외관을 보여준다. 도 1은 예시적인 외관에 해당하며, 도 1의 외관 외에도 다양한 외관으로 본 발명의 로봇을 구현할 수 있다. 특히, 각각의 구성요소는 로봇의 형상에 따라 상하좌우 전후 등에서 다른 위치에 배치될 수 있다.
본체(10)는 상하 방향으로 길이가 길게 형성되며, 전체적으로 하부에서 상부 방향으로 올라갈수록 슬림해지는 오뚝이 형상을 가질 수 있다.
본체(10)는 로봇(1)의 외관을 형성하는 케이스(30)를 포함할 수 있다. 케이스(30)는 상측에 배치되는 탑 커버(31), 탑 커버(31)의 하측에 배치되는 제1 미들 커버(32), 제1 미들 커버(32)의 하측에 배치되는 제2 미들 커버(33) 및 제2 미들 커버(33)의 하측에 배치되는 바텀 커버(34)를 포함할 수 있다. 여기서 제1 미들 커버(32)와 제2 미들 커버(33)는 하나의 미들 커버로 이루어질 수 있다.
탑 커버(31)는 로봇(1)의 최상단에 위치되며, 반구 또는 돔 형상을 가질 수 있다. 탑 커버(31)는 사용자로부터 명령을 용이하게 입력 받기 위하여 성인의 키보다 낮은 높이에 위치될 수 있다. 그리고 탑 커버(31)는 소정각도 회전 가능하도록 구성될 수 있다.
한편, 로봇(1)은 그 내부에 제어모듈(150)을 더 포함할 수 있다. 제어모듈(150)은 일종의 컴퓨터 또는 프로세서와 같이 로봇(1)을 제어한다. 따라서 제어모듈(150)은 로봇(1)내에 배치되어 메인 프로세서와 유사한 기능을 수행하며, 사용자와의 인터랙션(interaction)을 담당할 수 있다.
로봇의 이동과 주변의 사물을 감지하여 로봇을 제어하기 위해 제어모듈(150)이 로봇(1) 내부에 탑재된다. 로봇제어모듈(150)은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩 등으로 구현 가능하다.
탑 커버(31)는 전면 일측에 사용자로부터 명령을 입력받거나 정보를 출력하는 디스플레이부(31a)과 카메라(31b), 마이크(31c)를 일 실시예로 하는 센서가 배치될 수 있다.
또한, 탑 커버(31)의 디스플레이부(31a) 외에도 미들 커버(32)의 일측에도 디스플레이부(20)가 배치된다.
로봇의 기능에 따라 두 개의 디스플레이부(31a, 20) 모두 정보를 출력하거나 혹은 어느 한쪽에서만 정보가 출력될 수 있다.
한편, 로봇(1)의 일측면 또는 하단부 전체에는 35a, 35b와 같이 다양한 장애물 센서(도 2의 220)들이 배치된다. 장애물 센서들은 TOF(Time of Flight) 센서, 초음파 센서, 적외선 센서, 뎁스 센서, 레이저 센서, 라이다 센서 등을 일 실시예로 한다. 센서들은 다양한 방식으로 로봇(1) 외부의 장애물을 감지한다.
또한, 도 1의 로봇은 하단부에 로봇을 이동시키는 구성요소인 이동부를 더 포함한다. 이동부는 일종의 바퀴와 같이 로봇을 이동시키는 구성요소이다.
도 1의 로봇의 형상은 예시적이며, 본 발명이 이에 한정되는 것은 아니다. 또한, 로봇의 다양한 카메라들과 센서들 역시 로봇(1)의 다양한 위치에 배치될 수 있다. 도 1의 로봇은 사용자에게 정보를 안내하고 특정 지점까지 이동하여 사용자를 안내하는 안내 로봇을 일 실시예로 한다.
이외에도 청소, 보안 또는 기능을 제공하는 로봇 역시 도 1의 로봇의 범위에 포함된다. 다양한 기능을 제공할 수 있으나, 본 명세서에서는 설명의 편의를 위해 안내 로봇을 중심으로 설명한다.
도 1를 일 실시예로 하는 로봇이 서비스 공간 내에 다수 배치된 상태에서 로봇이 특정한 기능(안내, 청소, 보안 등)을 수행한다. 이 과정에서 로봇(1)은 자신의 위치를 저장하며, 로봇(1)은 전체 공간에서 자신의 현재 위치를 확인하고, 목표 지점으로 이동하는데 필요한 경로를 생성할 수 있다.
도 2는 본 발명의 일 실시예에 의한 로봇의 제어모듈의 구성 요소를 보여준다.
라이다 센서(LiDAR Sensor)(220)는 2차원 또는 3차원으로 주변의 사물들을 센싱할 수 있다. 2차원 라이다 센서의 경우 로봇을 중심으로 360도 범위의 사물의 위치를 센싱할 수 있다. 특정 위치에서 센싱한 라이다 정보는 하나의 라이다 프레임을 구성할 수 있다. 즉, 라이다 센서(220)는 로봇의 외부에 배치된 사물과 로봇 사이의 거리를 센싱하여 라이다 프레임을 생성한다.
카메라 센서(230)는 일반 카메라를 일 실시예로 한다. 시야각의 제약을 해결하기 위해 둘 이상의 카메라 센서(230)를 사용할 수 있다. 특정 위치에서 촬영한 영상은 비전 정보를 구성한다. 즉, 카메라 센서(230)는 로봇의 외부에 배치된 사물을 촬영하여 비전 정보를 포함하는 비주얼 프레임을 생성한다.
이하 본 발명을 적용하는 로봇(1)은 라이다 센서(220)와 카메라 센서(230)를 이용한 퓨젼-SLAM(Fusion-simultaneous localization and mapping)을 수행한다.
퓨전 SLAM은 라이다 정보와 비전 정보를 결합하여 사용할 수도 있다. 이들 라이다 정보와 비전 정보는 맵으로 구성할 수 있다.
로봇이 퓨전 SLAM을 사용할 경우, 하나의 센서만을 사용하는 방식(LiDAR-only SLAM, visual-only SLAM)와 비교하여 위치 추정의 정확도가 높다. 즉, 라이다 정보와 비전 정보를 결합하여 퓨전 SLAM을 수행하면 맵 품질(map quality) 측면에서 더 좋은 맵을 획득할 수 있다.
여기서, 맵 품질이란 비전 정보들로 구성된 비전 맵(vision map)과 라이다 정보로 구성된 라이다 맵(lidar map) 양쪽에 모두 해당하는 기준이다. 퓨전 SLAM 시 각각의 맵 품질이 좋아지는데 이는 각각의 센서가 획득하지 못하거나 부족한 정보를 센서들이 서로 이용할 수 있기 때문이다.
또한, 하나의 맵에서 라이다 정보 또는 비전 정보만을 추출하여 사용할 수 있다. 예를 들어, 로봇이 보유하는 메모리의 양이나 연산 프로세서의 연산 능력 등에 적합하게 라이다 정보만을 이용하거나, 비전 정보만을 이용하거나 또는 두 정보 모두를 로봇의 위치 추정(localization)에 적용할 수 있다.
인터페이스부(290)는 사용자로부터 정보를 입력받는다. 터치 입력, 음성 입력 등 다양한 정보를 사용자로부터 입력받고, 이에 대한 결과를 출력한다. 또한 인터페이스부(290)는 로봇(1)이 저장하는 맵을 출력하거나, 로봇이 이동하는 과정을 맵과 오버랩 하여 출력할 수 있다.
또한, 인터페이스부(290)는 사용자에게 소정의 정보를 제공할 수 있다.
제어부(250)는 후술할 도 4와 같은 맵을 생성하고 이 맵을 기반으로 로봇이 이동하는 과정에서 로봇의 위치를 추정한다.
통신부(280)는 로봇(1)이 다른 로봇 또는 외부의 서버와 통신하여 정보를 송수신할 수 있도록 한다.
로봇(1)은 각각의 센서들(라이다 센서, 카메라 센서)을 이용하여 각각의 맵을 생성할 수 있다. 또는 로봇(1)은 이들 센서들을 이용하여 하나의 맵을 만든 후 맵에서 다시 이들로부터 특정 센서에 해당하는 내용만을 추출하는 맵을 생성할 수 있다.
또한, 본 발명의 맵은 바퀴의 회전에 기반한 오도메트리(odometry) 정보를 포함할 수 있다. 오도메트리 정보는 로봇의 바퀴 회전 횟수나 양 바퀴의 회전 횟수의 차이 등을 이용하여 로봇이 이동한 거리를 산출한 정보이다. 도 2의 휠 인코더(Wheel Encoder)(260)는 로봇의 이동부를 구성하는 바퀴의 회전이나 방향 등의 정보를 취합하여 휠 오도메트리 정보를 생성하고 이를 제어부(250)에게 제공한다. 제어부(250)는 휠 인코더(260)가 제공한 정보에 기반하여 이동 거리나 이동 방향 등을 산출할 수 있다.
센서들을 이용한 정보 외에도 오도메트리 정보를 이용하여 로봇이 어디까지 이동했는지 로봇이 계산할 수 있다.
도 2의 제어부(250)는 인공지능 작업 및 처리를 위한 인공지능부(255)를 더 포함할 수 있다.
로봇의 라이다 센서(220) 및 카메라 센서(230)는 외부의 물체를 식별하기 위해 로봇(1)의 외부에 다수 배치할 수 있다.
도 2에 제시된 라이다 센서(220) 및 카메라 센서(230) 외에도 로봇(1)의 외부에는 다양한 종류의 센서들(라이다 센서, 적외선 센서, 초음파 센서, 뎁스 센서, 이미지 센서, 마이크 등)이 배치된다. 제어부(250)는 센서들이 센싱한 정보를 취합 및 처리한다.
인공지능부(255)는 라이다 센서(220) 및 카메라 센서(230), 그리고 그 외의 센서들이 처리한 정보 또는 로봇(1)이 이동 과정에서 누적 저장한 정보 등을 입력하여 제어부(250)가 외부 상황을 판단하거나, 정보를 처리하거나, 이동 경로를 생성하는데 필요한 결과물을 출력할 수 있다.
일 실시예로, 로봇(1)은 로봇이 이동하는 공간에 배치된 다양한 사물들의 위치 정보를 맵으로 저장할 수 있다. 사물들은 벽, 문 등의 고정 사물들과 화분, 책상 등 이동 가능한 사물들을 포함한다. 인공지능부(255)는 맵 정보와 라이다 센서(220) 및 카메라 센서(230), 그리고 그 외의 센서들이 제공하는 정보들을 이용하여 로봇이 이동할 경로, 혹은 로봇이 작업시 커버해야 할 범위 등에 대한 데이터를 출력할 수 있다.
또한 인공지능부(255)는 라이다 센서(220) 및 카메라 센서(230), 그리고 그 외의 센서들이 제공하는 정보들을 이용하여 로봇 주변에 배치된 사물을 인식할 수 있다. 인공지능부(255)는 이미지를 입력받아 이미지에 관한 메타 정보를 출력할 수 있다. 메타 정보란 이미지 내의 사물의 명칭, 사물과 로봇과의 거리, 사물의 종류, 사물이 맵 상에 위치하는지 여부 등을 포함한다.
라이다 센서(220) 및 카메라 센서(230), 그리고 그 외의 센서들이 제공하는 정보는 인공지능부(255)의 딥러닝 네트워크의 입력 노드로 입력된 후, 인공지능부(255)의 딥러닝 네트워크의 히든 레이어의 정보 처리를 통해 인공지능부(255)의 출력 노드에서 결과가 출력된다.
제어부(250)는 인공지능부(255)가 산출한 데이터 또는 다양한 센서들이 처리한 데이터를 이용하여 로봇의 이동 경로를 산출할 수 있다.
도 3은 로봇이 공간에서 이동하는 과정을 보여준다. 공간(40) 내에서 로봇은 41이 지시하는 선을 따라 이동하며 라이다 센서(220)를 이용하여 특정 지점에서 라이다 센서가 센싱한 정보를 맵 저장부(210)에 저장할 수 있다. 공간(40)의 기초 형상은 로컬 맵(local map)으로 저장될 수 있다.
마찬가지로 로봇은 공간(40)을 이동하면서 카메라 센서(230)를 이용하여 특정 지점에서 카메라 센서가 센싱한 정보를 맵 저장부(210)에 저장할 수 있다.
도 4는 본 발명의 일 실시예에 의한 맵의 다중 구조를 보여준다. 도 4는 백본(backbone)을 제1레이어(first layer)로 하며 라이다 브랜치(LiDAR branch) 및 비주얼 브랜치(Visual branch)를 각각 제2레이어(second layer)로 하는 2중층의 구성을 보여준다. 도 4와 같은 구조를 구조적으로 탄력적인 포즈 그래프 기반 슬램(structurally elastic pose graph-based SLAM)이라 명명한다.
백본은 로봇의 궤적(trajectory)을 추적한 정보이다. 또한 백본은 궤적에 대응하는 하나 이상의 프레임 노드들을 포함한다. 그리고 이들 프레임 노드들은 다른 프레임 노드와의 관계에서 제약 정보(constraint)를 더 포함한다. 노드 사이의 에지는 제약 정보를 나타낸다. 에지는 오도메트리 제약 정보(odometry constraint) 또는 루프 제약 정보(loop constraint)를 의미한다.
또한, 제2레이어의 라이다 브랜치는 라이다 프레임(LiDAR Frame)들로 구성된다. 라이드 프레임은 로봇의 이동 과정에서 센싱한 라이다 센싱 값을 포함한다. 이들 라이다 프레임들 중에서 적어도 하나 이상은 라이다 키프레임(LiDAR Keyframe)으로 설정된다.
라이다 키프레임은 백본의 노드와 대응관계를 가진다. 도 4에서 백본의 노드들 v1 내지 v5 중에서 v1, v2, v4, v5가 라이다 키프레임을 지시한다.
마찬가지로, 제2레이어의 비주얼 브랜치는 비주얼 키 프레임(Visual Keyframe)들로 구성된다. 비주얼 키프레임은 로봇의 이동 과정에서 센싱한 카메라 센싱 값(즉, 카메라로 촬영한 영상)인 비주얼 피쳐 노드(visual feature node)들을 하나 이상 지시한다. 로봇에 배치된 카메라 센서의 수에 따라 로봇은 다수의 비주얼 피쳐 노드를 생성할 수 있다.
즉, 도 4의 맵 구조에서는 백본의 프레임 노드에 라이다 키프레임이 연결되거나 또는 비주얼 키프레임이 연결되는 구성이다. 물론 라이다/비주얼 키프레임 모두 하나의 프레임 노드에 연결될 수 있다(v1, v4, v5).
각 프레임 노드와 연결된 라이다 또는 비주얼 키프레임의 로봇의 포즈는 같다. 다만, 라이다 센서 또는 카메라 센서가 로봇에 부착된 위치에 따라 외부 파라미터(extrinsic parameter)가 키프레임 별로 추가될 수 있다. 외부 파라미터란 로봇 중심으로부터의 센서가 부착된 상대적인 위치 정보를 의미한다.
비주얼 키프레임은 백본의 노드와 대응관계를 가진다. 도 4에서 백본의 노드들 v1 내지 v5 중에서 v1, v3, v4, v5가 비주얼 키프레임을 지시한다. 도 2에서 비주얼 피쳐 노드(비주얼 프레임)들은 두 개가 한 쌍으로 구성되는데, 이는 로봇(1)이 두 개의 카메라 센서(230)를 포함하여 영상을 촬영함을 의미한다. 카메라 센서(230)의 증감에 따라 각각의 위치에서 비주얼 피쳐 노드의 수 역시 증감한다.
제1레이어의 백본을 구성하는 노드들(v1~v5) 사이에는 에지(edge)가 표시되어 있다. e12, e23, e34, e45는 인접 노드들 사이의 에지이며, e13, e35, e25는 인접하지 않은 노드들 사이의 에지이다.
오도메트리 제약 정보 또는 줄여서 오도메트리 정보는 e12, e23, e34, e45와 같이 인접한 프레임 노드 사이의 제약 조건을 의미한다. 루프 제약 정보 또는 줄여서 루프 정보는 e13, e25, e35와 같이 인접하지 않은 프레임 사이의 제약 조건을 의미한다.
백본은 다수의 키프레임들로 구성된다. 다수의 키프레임을 백본으로 추가하기 위해 제어부(250)는 초기 매핑 과정(initial mapping process)를 수행할 수 있다. 초기 매핑은 키프레임 기반으로 라이다 키프레임과 비주얼 키프레임을 추가한다.
도 4의 구조를 정리하면 다음과 같다. 라이다 브랜치는 하나 이상의 라이다 프레임을 포함한다. 비주얼 브랜치는 하나 이상의 비주얼 프레임을 포함한다.
그리고 백본은 라이다 프레임 또는 비주얼 프레임 중 어느 하나 이상과 등록된 프레임 노드를 둘 이상 포함한다. 이때, 프레임 노드에 등록되는 라이다 프레임 또는 비주얼 프레임을 키프레임이라 지칭한다. 그리고 포즈 그래프는 이들 라이다 브랜치, 비주얼 브랜치, 백본을 포함한다.
뿐만 아니라, 포즈 그래프는 프레임 노드 사이의 오도메트리 정보 및 루프 정보 등을 포함한다. 오도메트리 정보는 로봇이 프레임 노드 사이를 이동하여 생성한 휠의 회전이나 방향 등을 포함한다. 루프 정보는 라이다 센서(220)의 최대 센싱 거리 내에서 특정한 프레임 노드를 중심으로 비주얼 키프레임 사이에 특정한 제약 조건으로 연결된 프레임 노드 셋에 기반한다.
도 4의 포즈 그래프는 제어부(250)가 생성한다. 제어부(250)는 라이다 브랜치, 비주얼 브랜치, 백본, 프레임 노드 사이의 오도메트리 정보 및 이를 포함하는 포즈 그래프를 맵 저장부(210)에 저장한다.
이하, 프레임 노드를 줄여서 노드라고 한다. 또한 프레임 노드에 등록된 라이다 정보 또는 비주얼 정보는 각각 라이다 키프레임 및 비주얼 키프레임으로 지시된다. 또한, 라이다 정보가 모두 프레임 노드에 등록될 수 있으므로, 프레임 노드의 기준으로 참조하는 라이다 정보는 라이다 키프레임 또는 라이다 프레임 또는 라이다 정보 등으로 지시한다. 마찬가지로 프레임 노드에 등록된 비주얼 정보 역시 비주얼 키프레임 또는 비주얼 프레임 또는 비주얼 정보 등으로 지시된다.
도 4에 제시된 바와 같이, e12, e23, e34, e45는 인접 노드들 사이의 에지이며, e13, e35, e25는 인접하지 않은 노드들 사이의 에지이다. 이들 노드들 사이에는 상관 관계(constraints)가 설정된다. 상관관계란 노드 사이를 이동할 경우 퓨전 SLAM을 수행하는데 로봇(1)이 사용할 수 있는 정보를 의미한다.
또는 상관관계란, 일종의 제약 조건으로 노드 사이를 이동할 때 로봇(1)이 충족시켜야 하는 조건을 의미한다. 예를 들어 제1노드에서 확인된 라이다 프레임과 제2노드에서 확인된 라이다 프레임은 로봇이 제1노드와 제2노드 사이를 이동할 때 위치를 확인하는데 필요한 제약 조건이 될 수 있다.
인접 노드 사이의 상관 관계는 인접한 두 개의 노드들 사이를 로봇이 이동할 경우 로봇의 현재 위치를 확인하는데 필요한 정보를 포함한다. 인접한 두 개의 노드란 두 개의 노드 사이를 이동하는 경로 사이에 다른 노드가 배치되지 않은 경우를 의미한다. 마찬가지로 비인접 노드 사이의 상관 관계는 두 개의 비인접한 노드들 사이를 로봇이 이동할 경우 로봇의 현재 위치를 확인하는데 필요한 정보를 포함한다. 비인접 노드란 두 개의 노드 사이의 경로에 다른 노드가 배치되거나 근접하가 다른 노드가 있는 경우를 의미한다.
일 실시예로 인접 노드란 휠 오도메트리 정보가 등록된 두 개의 노드를 지시한다. 또한, 비인접 노드란 휠 오도메트리 정보가 등록되지 않은 두 개의 노드를 지시한다. 또다른 실시예로 비인접 노드란 중간에 경유 노드를 가져서 둘 이상의 휠 오도메트리 정보를 포함하는 노드를 의미한다. 예를 들어 도 4에서 비인접 노드 간의 에지인 e13은 e12 및 e23의 휠 오도메트리 정보를 결합하여 상관관계로 저장할 수 있다.
따라서, 로봇의 제어부(250)는 퓨전 SLAM에 기반하여 이동할 수 있도록 이종의 센서들이 생성한 정보들에 기반하여 노드 사이의 상관 관계를 선정하고 이를 맵에 저장할 수 있다.
예를 들어, 퓨전 SLAM에서의 인접 노드 사이의 상관 관계를 선정하여 맵에 저장할 경우 로봇은 인접 노드 사이의 이동 과정에서 로봇의 현재 위치를 정확하게 확인할 수 있다. 마찬가지로 퓨전 SLAM에서의 비인접 노드 사이의 상관 관계를 선정하여 맵에 저장할 경우 로봇은 비인접 노드 사이의 이동 과정에서 로봇의 현재 위치를 정확하게 확인할 수 있다.
로봇은 전술한 바와 같이 두 종류 이상의 센서에 기반하여 퓨전 SLAM을 수행한다. 라이다 센서(220)와 카메라 센서(230)에 기반하여 도 4와 같은 맵을 생성할 수 있다. 라이다 센서(220)는 360도 방향으로 사물들을 센싱할 수 있다. 또는 둘 이상의 라이다 센서(220)를 이용하여 특정 방향 또는 특정 높이의 사물들을 센싱할 수 있다.
마찬가지로 카메라센서(230)도 하나 또는 둘 이상 로봇(1)에 배치되어 시야각의 한계를 극복할 수 있다.
이하, 제어부(250)가 도 4의 포즈 그래프의 노드들의 상관관계를 생성하는 과정을 살펴본다. 상관관계는 인접한 노드들 사이의 휠 오도메트리 정보 및 다른 센서들의 정보를 결합하는 과정(도 5) 및 비인접 노드들 사이의 비주얼 프레임 기반 에센셜 그래프를 생성한 후 라이다 프레임에 기반하여 루프 상관 관계를 생성하는 과정(도 6 내지 도 10)에서 생성된다.
생성된 상관관계는 도 4의 라이다 브랜치, 비주얼 브랜치, 백본과 함께 맵저장부(210)에 저장된다. 이후 맵 저장부(210)에 저장된 정보를 이용하여 로봇(1)은 퓨전 SLAM을 수행할 수 있다.
도 5는 본 발명의 일 실시예에 의한 인접한 노드 간의 상관 관계를 산출하는 과정을 보여준다.
인접한 노드 사이에는 각 센서들이 획득한 정보들을 조합하여 상관관계를 설정할 수 있다. 일 실시예로, 제어부(250)는 라이다 센서(220), 카메라 센서(230) 및 휠의 회전/방향의 조합에 의한 상관관계를 산출할 수 있다.
노드 사이에 적용 가능한 오도메트리로는 WO(Wheel Odometry), VO(Visual Odometry), LO(Lidar Odometry)가 있다. WO는 휠 인코더(260)에 기반한 오도메트리를 지시한다.
LO는 라이다 센서(220)에 기반한 라이다 오도메트리 정보이다. VO는 카메라 센서(230)에 기반한 비주얼 오도메트리 정보이다. 이들 각각 또는 이들의 조합으로 제어부(250)는 인접한 노드 사이의 상관관계를 산출할 수 있다.
제어부(250)는 i를 1로 설정하고(S51), 상관관계의 산출 프로세스를 시작한다. 제어부(250)는 인접하는 노드인 vi와 v(i+1) 사이에 공통으로 등록된 키프레임을 확인한다(S52). 공통으로 등록되었다는 의미는 동일한 종류(라이다 프레임 또는 비주얼 프레임)이 양쪽 노드에 각각 등록되었음을 의미한다.
즉 제1노드에 제1라이다 프레임이 등록되고 제2노드에 제2라이다 프레임 및 제1비주얼 프레임이 등록된 경우 제1노드 및 제2노드에 공통으로 등록된 것은 라이다 프레임이며 이들 사이의 오도메트리 정보는 제1라이다 프레임 및 제2라이다 프레임에 기반하여 산출된다.
제어부(250)의 확인 결과 공통으로 등록된 키프레임에 비주얼 키프레임이 포함되는지에 따라 S54 또는 S55로 분기한다.
제어부(250)는 공통으로 등록된 키프레임에 비주얼 키프레임이 포함되지 않은 경우 S54에서 공통으로 등록된 키프레임이 라이다 키프레임인지 확인한다(S54). S54에서 공통으로 포함된 키프레임이 라이다 키프레임이 아닌 경우 두 개의 노드 (vi와 v(i+1)) 사이에는 공통된 키프레임이 전혀 없으므로, 이들의 에지 ei(i+1)의 상관관계로 WO를 설정한다(S56). 이는 두 노드 사이에서 휠로 이동한 휠 오도메트리 정보가 상관관계로 설정되는 것을 의미한다.
한편 S54에서 공통으로 포함된 키프레임이 라이다 키프레임인 경우 두 개의 노드 (vi와 v(i+1)) 사이에는 공통된 키프레임은 라이다 키프레임 뿐이므로, 이들의 에지 ei(i+1)의 상관관계로 WO ⊙ LO 를 설정한다(S57). 이는 두 노드 사이에서 휠로 이동한 오도메트리 정보 및 라이다 키프레임으로 매칭하는 오도메트리 정보를 조합한 정보가 상관관계로 설정되는 것을 의미한다.
⊙는 일종의 연산자이다. A ⊙ B 는 A와 B의 정보를 결합하는 것을 의미한다. 이 과정에서 A 의 정보와 B 의 정보 중 상이한 것은 우선 순위가 높은 A 또는 B의 정보를 우선하여 적용할 수 있다.
라이다 키프레임으로 매칭하는 라이다 오도메트리 정보란 두 노드 사이의 라이다 키프레임의 차이를 일 실시예로 한다.
제어부(250)는 공통으로 등록된 키프레임에 비주얼 키프레임이 포함된 경우 S55에서 공통으로 등록된 키프레임에 라이다 키프레임이 더 포함되는지를 확인한다(S55). S55에서 공통으로 포함된 키프레임이 라이다 키프레임이 없을 경우, 두 개의 노드 (vi와 v(i+1)) 사이에는 공통된 키프레임이 비주얼 키프레임만 존재하는 경우이다.
따라서, 이들 두 노드의 에지 ei(i+1)의 상관관계로 WO ⊙ VO 를 설정한다(S58). 이는 두 노드 사이에서 휠로 이동한 오도메트리 정보 및 비주얼 키프레임으로 매칭하는 오도메트리 정보를 조합한 정보가 상관관계로 설정되는 것을 의미한다.
비주얼 키프레임으로 매칭하는 비주얼 오도메트리 정보란 두 노드 사이의 비주얼 키프레임의 차이를 일 실시예로 한다.
한편 S55에서 공통으로 등록된 키프레임에 라이다 키프레임이 더 포함될 경우 두 개의 노드 (vi와 v(i+1)) 사이에는 공통된 키프레임으로 라이다 키프레임 및 비주얼 키프레임이 등록된 상태이다. 따라서, 이들의 에지 ei(i+1)의 상관관계로 (WO ⊙ LO) ⊙ VO 를 설정한다(S59).
이는 두 노드 사이에서 휠로 이동한 오도메트리 정보 및 라이다 키프레임으로 매칭하는 오도메트리 정보 및 비주얼 키프레임으로 매칭하는 오도메트리 정보를 모두 조합한 정보가 상관관계로 설정되는 것을 의미한다.
인접한 두 개의 노드 (vi와 v(i+1)) 사이의 에지에 대한 상관관계가 설정되었으므로, 제어부(250)는 i를 1 증가시켜서(S60), 그 다음 인접 노드들 간의 상관 관계를 설정한다. 만약 i가 최대 노드의 수(MAX_NODE, 도 4에서는 5의 값을 가짐)와 같거나 큰 경우(S61) 모든 노드들에 대한 에지의 상관관계 설정이 완료되었으므로 종료한다.
S56 내지 S59에서 살표본 상관관계의 조합에 대해 보다 상세히 살펴보면 다음과 같다.
i) WO-Only: 로봇의 움직임으로 발생하는 바퀴와 같은 이동부의 회전을 포함하는 오도메트리 정보이다. 라이다 센서(220) 또는 카메라 센서(230)를 이용할 수 없는 경우 로봇은 WO 만을 이용하여 위치를 확인한다.
ii) WO ⊙ LO: WO 및 LO를 모두 이용할 수 있는 오도메트리 정보이다. 라이다 센서(220)를 이용할 수 있는 경우의 조합이다. 도 4에서 v1과 v2 노드는 공통으로 라이다 키프레임이 등록되었다. 따라서 도 4의 v1-v2 사이의 e12는 WO ⊙ LO를 이용할 수 있다.
iii) WO ⊙ VO: WO 및 VO를 모두 이용할 수 있는 오도메트리 정보이다. 카메라 센서(230)를 이용할 수 있는 경우의 조합이다. 도 4에서 v3과 v4 노드는 공통으로 비주얼 키프레임이 등록되었다. 따라서 도 4의 v3-v4 사이의 e34는 WO ⊙ VO를 이용할 수 있다.
iv) (WO ⊙ LO) ⊙ VO: WO 및 LO 및 VO를 모두 이용할 수 있는 오도메트리 정보이다. 라이다 센서(220)와 카메라 센서(230)를 이용할 수 있는 경우의 조합이다. 도 4에서 v4과 v5 노드는 공통으로 라이다 키프레임 및 비주얼 키프레임이 등록되었다. 따라서 도 4의 v4-v5 사이의 e45는 (WO ⊙ LO) ⊙ VO 를 이용할 수 있다.
라이다 센서(220)가 센싱한 정보들을 비교함에 있어서의 속도가 카메라 센서(220)가 센싱한 정보를 비교함에 있어서의 속도 보다 빠를 경우, 제어부(250)는 LO에 우선적으로 매칭을 수행할 수 있다.
반대로, 라이다 센서(220)가 센싱한 정보를 비교함에 있어서의 속도가 센서(220)가 센싱한 정보를 비교함에 있어서의 속도 보다 느릴 경우, 제어부(250)는 VO에 우선적으로 매칭을 수행할 수 있다. 이는 라이다 센서(220)가 3차원으로 센싱할 경우 예시적으로 적용되며 (WO ⊙ VO) ⊙ LO 와 같이 조합될 수 있다.
도 5는 각각의 제1레이어의 백본의 노드들(v1~v5)에 등록된 키프레임의 종류에 따라 노드 사이의 오도메트리 정보를 다양하게 결합할 수 있다. 특히, 인접 노드간의 상관 관계에 있어서, 모든 센서들을 이용할 수 없는 경우이거나 또는 모든 센서들의 데이터가 키프레임으로 등록되지 않은 경우에도 로봇(1)은 휠 오도메트리 또는 여기에 다른 센서에 기반한 오도메트리 정보를 이용할 수 있다.
도 5의 과정을 정리하면 다음과 같다. 제어부(250)는 인접한 두 개의 노드들을 선정하여, 두 개의 노드들 사이의 이동에서 이동부(휠 인코더(260)가 생성한 휠 오도메트리 정보를 두 개의 노드 사이의 상관관계로 설정하여 맵 저장부에 저장한다(S56).
또한 제어부(250)는 두 개의 노드들 사이에 등록된 두 개의 라이다 프레임을 이용하여 라이다 오도메트리 정보를 생성한다(S57). 이는 두 개의 노드 사이의 두 라이다 프레임(각 노드에 등록된 각각의 라이다 프레임)의 차분값을 포함할 수 있다. 또는 두 개의 노드 사이에서 거리에 따라 차분값을 변화시켜 라이다 오도메트리 정보로 저장할 수 있다.
또한 제어부(250)는 두 개의 노드들 사이에 등록된 두 개의 비주얼 프레임을 이용하여 비주얼 오도메트리 정보를 생성한다(S58). 이는 두 개의 노드 사이의 두 비주얼 프레임(각 노드에 등록된 각각의 비주얼 프레임)의 차분값을 포함할 수 있다. 또는 두 개의 노드 사이에서 거리에 따라 차분값을 변화시켜 비주얼 오도메트리 정보로 저장할 수 있다.
도 6은 본 발명의 일 실시예에 의한 비인접 노드 사이의 상관 관계를 설정하는 과정을 보여준다. 그리고 도 7 내지 도 10은 각 단계 별로 산출된 결과를 보여준다. 비 인접 노드들의 상관관계는 도 4의 e13, e25, e35에 적용될 수 있다. 제어부(250)는 노드들 중에서 인접하지 않으며 비주얼 프레임이 등록된 노드들을 선정하여 에센셜 그래프를 생성한 후, 생성된 에센셜 그래프에서 라이다 프레임이 등록된 노드들 사이의 상관 관계를 생성한다.
도 6에서 제어부(250)는 라이다 센서가 센싱할 수 있는 최대 센싱 거리 (R_max) 내에서 특정 노드(reference node)를 중심으로 비주얼 키프레임 사이에 특정한 상관관계 또는 제약 관계(constraint)로 연결되어 있는 노드 set을 검색한다(S64). 이 때, 제어부(250)는 constraint의 연결 정도에 따라 약한 상관 관계(weak constraints) 또는 강한 상관관계(strong constraints)들을 모두 검색할 수 있다.
도 7은 도 6의 S64 단계를 보여준다. 제어부(250)는 특정한 참조 노드(reference node)를 기준으로 라이다 센서가 센싱할 수 있는 최대 센싱 거리 (R_max)를 반경으로 검색 영역(searching region)의 크기를 설정한다. 그리고 제어부(250)는 참조 노드를 중심으로 비주얼 키프레임이 포함된 프레임 노드들 사이에 상관관계가 존재하는지 확인한다.
도 7의 참조 노드를 중심으로 강한 상관관계의 비주얼 에지(strong visual edge)로 연결된 노드들과 약한 상관관계의 비주얼 에지(weak visual edge)로 연결된 노드들이 점선으로 연결된다.
다음으로 도 6에 도시된 바와 같이 제어부(250)는 도 7의 방식으로 계속 영역을 확장시켜가며 노드를 검색하고 상관 관계들(constraints)을 연결한다. S64 단계를 반복하여 제어부(250)는 비주얼 키프레임 간의 상관관계들의 집합으로 구성된 코비지빌리티 그래프(covisibility graph)를 생성한다(S65). 도 8에서 살펴본다.
도 8은 도 6의 S65 단계를 보여준다. 비주얼 키프레임이 포함된 프레임 노드들이 비주얼 에지들로 연결된 상태이다. 라이다 키프레임만 등록된 프레임 노드들은 에지에 연결되지 못한 상태이다.
보다 상세히, 도 7과 같이 제어부(250)는 기준 노드를 중심으로 1차로 상관관계의 존재 여부에 따라 비주얼 에지를 생성한 후, 다른 노드들 사이에도 에지가 존재하는지 확인하여 도 8과 같은 결과를 생성한다.
다음으로 도 6에 도시된 바와 같이, 제어부(250)는 코비지빌리티 그래프에서 강한 상관관계의 에지들만을 남기고 그 외의 에지 및 노드들을 제거하여 에센셜 그래프(essential graph)를 생성한다(S66). 여기서 에센셜 그래프는 두 노드에 각각 등록된 제1비주얼 프레임 및 제2비주얼 프레임을 비교한 결과 유사도가 높아 퓨전SLAM시 로봇의 위치 확인을 위해 비교 가능한 노드들 및 이들의 에지를 포함한다.
예를 들어 에센셜 그래프를 구성하며 강한 상관관계가 설정된 제1노드 및 제2노드와 에센셜 그래프를 구성하지 않는 제3노드을 가정한다.
제1노드에는 제1 비주얼 프레임이 등록되었고, 제2노드에는 제2비주얼 프레임이 등록되었고, 제3노드에는 제3비주얼 프레임이 등록되었다.
제어부(250)는 유사도가 높은 비주얼 프레임이 등록된 노드들을 에센셜 그래프로 구성한다. 그 결과, 제1비주얼 프레임 및 제2비주얼 프레임의 유사도가 제3비주얼 프레임 및 제1비주얼 프레임의 유사도 보다 높다. 또는 제1비주얼 프레임 및 제2비주얼 프레임의 유사도가 제3비주얼 프레임 및 제2비주얼 프레임의 유사도 보다 높다.
도 9는 도 6의 S66 단계를 보여준다. 강한 상관관계의 비주얼 에지들로 연결된 비주얼 키프레임들이 배치된 상태이다.
도 8의 결과에서 제어부(250)는 약한 상관관계의 에지들을 제거하고, 라이다 키프레임만 등록된 프레임 노드 역시 제거한다.
다음으로 도 6에 도시된 바와 같이 제어부(250)는 에센셜 그래프 중에서 라이다 키프레임을 포함하는 프레임 노드만 남긴다(S67). 남겨진 노드들을 이용하여 노드들 간의 루프 클로징 상관 관계(loop closing constraints)를 생성하는데 적용한다.
도 10은 도 6의 S67 단계를 보여준다. 라이다 키프레임이 포함된 프레임 노드들 만이 남겨지며, 이들 노드들의 에지는 루프 클로징 상관 관계(loop closing constraints)를 생성하는데 적용한다.
루프 클로징 상관관계의 일 실시예로 상관관계는 두 개의 노드 사이의 변위를 포함할 수 있다. 이 경우 두 노드 사이에서 로봇이 이동할 경우 제어부(250)는 현재 라이다 센서가 확인한 값과 전술한 변위를 비교하여 로봇의 위치를 확인할 수 있다.
도 6 내지 도 10에서 살펴본 바와 같이, 로봇(1)의 제어부(250)는 인접하지 않는 노드간의 상관관계를 생성한다.
즉, 라이다 정보(라이다 키프레임)과 비주얼 정보(비전 정보, 비주얼 키프레임)이 모두 등록된 노드에서 제어부(250)는 라이다 센서(220)를 이용하여 카메라 센서(230)가 획득한 정보의 정확도를 검증 및 보정할 수 있다.
제어부(250)는 카메라 센서(230)가 획득한 키프레임들 또는 프레임들 중에서 라이다 센서를 이용하여 매칭할 노드를 선택할 수 있다.
또한, 제어부(250)는 비인접 노드 간 상관 관계의 산출을 위해 전수한 비주얼 에센셜 그래프(visual essential graph)을 이용하여 라이다 센서(220)가 센싱한 정보들의 비인접 노드 간 상관 관계를 산출할 수 있다.
도 6의 프로세스는 다음의 알고리즘과 같이 수행될 수 있다. 도 6의 S64에 대응하여, 제어부(250)는 참조 노드(Reference node)를 중심으로 최대 라이다 센싱 범위 내에서 모든 비주얼 에지(비주얼 키프레임이 등록된 노드들 사이의 에지)를 추출한다(알고리즘의 2~4라인 참고). 추출된 에지들은 후보 비주얼 에지(Ecandidate)에 포함된다.
다음으로 알고리즘의 라인 7(도 6의 S65, S66)에 대응하여 제어부(250)는 후보 비주얼 에지를 이용하여 비주얼 에센셜 그래프를 생성한다.
이후, 알고리즘의 라인 10 및 11(도 6의 S67)에 대응하여 제어부(250)는 라이다 키프레임이 존재하는 노드 및 이들 노드들 사이의 거리, 그리고 이들 노드 사이의 라이다 에지의 존재 여부에 기반하여 라이다 루프 상관 관계를 추출한다.
라인 11의 Topological_dist(vi, vj) 함수는 두 개의 노드(vi, vj) 사이의 최소거리의 패스(shortest path)에 포함된 에지의 수를 의미한다.
Figure pct00001
도 6 내지 도 10의 과정을 적용할 경우, 제어부(250)는 라이다 상관관계를 이용하여 이전에 생성된 약하거나 잘못된 비주얼 루프 상관 관계(visual loop constraints)를 재정의할 수 있다. 즉, 라이다 루프 상관 관계를 이용하여 비주얼 루프 상관 관계의 에러를 보상할 수 있다. 또한 라이다 센서(220)의 센싱이 카메라 센서(230) 보다 정밀하기 때문에 전체 맵의 정밀도를 높일 수 있다.
전술한 실시예들을 적용할 경우, 이종의 센서들이 생성한 이종의 데이터들(라이다 키프레임, 비주얼 키프레임)이 등록된 맵에서 키프레임이 등록된 노드들 사이의 상관관계를 제어부(250)가 산출하여, 노드 간 이동 과정에서 퓨전 SLAM의 정확도를 높일 수 있다.
즉, 퓨전 SLAM에 기반하면 로봇(1)은 하나의 센서를 이용한 SLAM 방식(LiDAR-only SLAM 또는 visual-only SLAM)과 비교할 때, 노드 간의 상관관계(constraints 또는 edge)를 더 정확하게 산출할 수 있다. 왜냐하면 어느 하나의 센서의 오류를 다른 센서가 보정할 수 있기 때문이다.
도 5에 제시된 바와 같이 제어부(250)는 오도메트리 정보를 센서 별로 결합하여 인접한 노드들 사이의 상관 관계를 산출할 수 있다.
또한, 도 6 내지 도 10에 제시된 바와 같이 제어부(250)는 비전 정보들(비주얼 키프레임 등)을 기반으로 에센셜 그래프를 생성하여 이에 기반하여 비인접 노드 간의 상관 관계를 산출할 수 있다.
그 결과 본 발명의 실시예에 의한 로봇(1)은 라이다 센서(220)가 생성한 정보와 카메라 센서(230)가 생성한 정보를 모두 이용하여 퓨전 SLAM을 수행할 수 있으므로 이동 시 정확도를 높인다. 그리고 로봇(1)은 인접/비인접 노드 사이의 상관관계를 생성하고 이를 퓨전 SLAM 시 이용할 수 있으므로 SLAM 과정에서의 정확도를 높일 수 있다.
이하 로봇이 노드들의 상관 관계가 저장된 맵을 이용하여 주행하며 로봇의 현재 위치를 계산하는 과정을 살펴본다. 즉, 제어부(250)는 휠 오도메트리 정보, 라이다 센서가 센싱한 라이다 프레임, 카메라 센서가 센싱한 비주얼 프레임과 맵 저장부(210)에 저장된 노드들의 상관관계를 비교하여 현재 로봇의 위치를 계산한다.
도 11은 본 발명의 일 실시예에 의한 퓨전 슬램을 수행하는 과정을 보여준다. 도 11은 인접 노드 사이의 오도메트리 정보를 이용한 실시예이다. 로봇(1)은 제1프레임 노드에서 제2프레임 노드로 이동중이다(S81). 이 과정에서 제어부(250)는 제1프레임 노드 및 제2프레임 노드 사이의 오도메트리 정보의 종류를 확인한다(S81).
확인 결과 오도메트리 정보가 WO(Wheel Odometry) 만 존재할 경우(S83) 제어부(250)는 제1프레임 노드와 제2프레임 노드의 에지에 등록된 WO와 로봇의 휠 인코더(260)가 센싱한 값을 비교하여 로봇의 현재 위치를 계산한다(S84).
예를 들어 제1프레임 노드에서 출발하여 이동하는 과정에서 휠 인코더(260)가 이동 거리를 산출한다. 제어부(260)는 제1프레임 노드와 제2프레임 노드 사이의 WO(휠 오도메트리 정보)에 기반하여 로봇(1)의 현재 위치를 제1프레임 노드 및 제2프레임 노드를 기준으로 산출할 수 있다.
S83에서 WO 이외에도 오도메트리 정보가 존재할 경우 S85로 이동한다. 제1프레임 노드와 제2프레임 노드의 에지에 등록된 오도메트리 정보의 종류가 WO 및 LO인 경우, S86 단계로 분기한다.
제어부(250)는 제1프레임 노드와 제2프레임 노드의 에지에 등록된 오도메트리 정보의 종류가 WO 및 LO 둘 만 존재하는 경우(S86), S87 단계로 분기한다. 그리고 제어부(250)는 제1프레임 노드 및 제2프레임 노드의 에지에 등록된 WO, LO와 로봇의 휠 인코더가 센싱한 값(휠 오도메트리 정보), 라이다 센서가 센싱한 정보(라이다 프레임)를 비교하여 로봇의 현재 위치를 계산한다(S87).
한편, S86에서 에지에 등록된 오도메트리 정보의 종류가 WO 및 LO 및 VO인 경우 S88 단계로 분기한다. 제어부(250)는 제1프레임 노드 및 제2프레임 노드의 에지에 등록된 WO, LO, VO와 로봇의 휠 인코더가 센싱한 값(휠 오도메트리 정보), 라이다 센서가 센싱한 정보(라이다 프레임), 카메라 센서가 센싱한 정보(비주얼 프레임)를 비교하여 로봇의 현재 위치를 계산한다(S88).
S88에서 라이다 프레임의 데이터 크기와 비주얼 프레임의 데이터 크기에 따라 위치 계산 시 하나의 프레임을 우선 적용할 수 있다. 예를 들어, 라이다 프레임을 비교하는데 소요되는 시간이 적을 경우 WO 및 LO를 이용하여 먼저 로봇(1)의 위치를 계산한다. 제어부(250)는 비주얼 오도메트리 정보보다 라이다 오도메트리 정보를 우선적으로 휠 오토메트리 정보와 결합하여 로봇의 현재 위치를 계산한다.
그리고 위치 계산의 정확도를 높이기 위해 VO를 이용하여 로봇(1)의 위치를 재산정할 수 있다. 이는 2차원 라이다 센서가 라이다 프레임을 생성할 경우 데이터의 크기가 작으므로 라이다 프레임 및 라이다 오도메트리 정보를 우선 적용할 수 있다.
역으로, 비주얼 프레임을 비교하는데 소요되는 시간이 적을 경우 WO 및 VO를 이용하여 먼저 로봇(1)의 위치를 계산한다. 그리고 위치 계산의 정확도를 높이기 위해 LO를 이용하여 로봇(1)의 위치를 재산정할 수 있다. 이는 3차원 라이다 센서가 라이다 프레임을 생성할 경우 데이터의 크기가 크므로 비주얼 프레임 및 비주얼 오도메트리 정보를 우선 적용할 수 있다.
한편, S85에서 에지에 등록된 오도메트리 정보의 종류가 WO 및 L가 아닌 경우, 이는 WO 및 VO이므로 S89 단계로 분기한다. 그리고 제어부(250)는 제1프레임 노드 및 제2프레임 노드의 에지에 등록된 WO, VO와 로봇의 휠 인코더가 센싱한 값(휠 오도메트리 정보), 카메라 센서가 센싱한 정보(비주얼 프레임)를 비교하여 로봇의 현재 위치를 계산한다(S89).
도 11을 정리하면, 라이다 센서(220)는 이동 과정에서 로봇의 외부에 배치된 사물과 로봇 사이의 거리를 센싱하여 제1라이다 프레임을 생성한다. 그리고 카메라 센서(230)는 이동 과정에서 로봇의 외부에 배치된 사물을 촬영하여 제1비주얼 프레임을 생성한다. 또한 제어부(250)는 맵 저장부(210)로부터 포즈 그래프의 노드들 사이의 상관관계를 추출한다.
그 결과 제어부(250)는 제1프레임 노드에서 제2프레임 노드로 이동하는 과정에서 현재 로봇의 위치에서 생성된 제1라이다 프레임 또는 제1비주얼 프레임 또는 현재 위치의 휠 오도메트리 정보와 노드들 사이의 추출된 상관관계(오도메트리 정보, WO, LO, VO)를 비교하여 로봇의 위치를 계산한다.
즉, 인접 노드 사이에 등록된 라이다 오도메트리 정보 또는 비주얼 오도메트리 정보가 하나라도 있을 경우, 제어부(250)는 이를 휠 오도메트리 정보와 결합하여 로봇의 현재 위치를 계산할 수 있다.
제어부(250)는 휠 오도메트리 정보(WO)와 휠 인코더가 센싱한 로봇의 이동거리를 비교하고, 라이다 오도메트리 정보(LO) 또는 비주얼 오도메트리 정보(VO)와 로봇이 센싱한 라이다 프레임/비주얼 프레임을 비교하여 로봇의 현재 위치를 계산한다.
도 12는 본 발명의 일 실시예에 의한 퓨전 슬램을 수행하는 과정을 보여준다. 도 12는 비인접 노드 사이의 오도메트리 정보를 이용한 실시예이다.
로봇(1)이 제1프레임 노드에서 제2프레임 노드로 이동 중이다(S91). 제1프레임 노드 및 제2프레임 노드가 비인접 노드이다. 그리고 제1프레임 노드 및 제2프레임 노드 사이에 라이다 루프 클로징 상관 관계가 등록된 상태를 가정한다.
제어부(250)는 제1프레임 노드 및 제2프레임 노드 사이의 루프 클로징 상관 관계를 추출한다(S92). 그리고 제어부(250)는 라이다 센서가 생성한 제1라이다 프레임과 루프 클로징 상관 관계를 비교하여 로봇의 현재 위치를 제1프레임 노드와 제2프레임 노드를 기준으로 계산한다(S93).
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.

Claims (16)

  1. 로봇의 이동 과정에서 휠 오도메트리 정보를 생성하는 휠 인코더;
    상기 로봇의 외부에 배치된 사물과 로봇 사이의 거리를 센싱하여 라이다 프레임을 생성하는 라이다 센서;
    상기 로봇의 외부에 배치된 사물을 촬영하여 비주얼 프레임을 생성하는 카메라 센서;
    상기 하나 이상의 라이다 프레임을 포함하는 라이다 브랜치와 상기 하나 이상의 비주얼 프레임을 포함하는 비주얼 브랜치와 상기 라이다 프레임 또는 상기 비주얼 프레임 중 어느 하나 이상과 등록된 프레임 노드를 둘 이상 포함하는 백본으로 구성된 포즈 그래프를 생성하며, 상기 포즈 그래프의 노드들 사이의 상관 관계를 생성하는 제어부; 및
    상기 라이다 브랜치, 상기 비주얼 브랜치, 상기 백본, 상기 상관 관계를 저장하는 맵 저장부를 포함하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇.
  2. 제1항에 있어서,
    상기 제어부는 상기 노드들 중에서 인접한 두 개의 노드들을 선정하여, 상기 두 개의 노드들 사이의 이동에서 상기 휠 인코더가 생성한 휠 오도메트리 정보를 상기 두 개의 노드 사이의 상관관계로 설정하여 상기 맵 저장부에 저장하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇.
  3. 제2항에 있어서,
    상기 제어부는 상기 두 개의 노드들 사이에 등록된 두 개의 라이다 프레임을 이용하여 라이다 오도메트리 정보를 생성하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇.
  4. 제2항에 있어서,
    상기 제어부는 상기 두 개의 노드들 사이에 등록된 두 개의 비주얼 프레임을 이용하여 비주얼 오도메트리 정보를 생성하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇.
  5. 제1항에 있어서,
    상기 제어부는 상기 노드들 중에서 인접하지 않으며 비주얼 프레임이 등록된 노드들을 선정하여 에센셜 그래프를 생성하며,
    상기 제어부는 상기 생성된 에센셜 그래프에서 라이다 프레임이 등록된 노드들 사이의 상관 관계를 생성하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇.
  6. 제5항에 있어서,
    상기 에센셜 그래프의 제1노드의 제1비주얼 프레임 및 상기 제2노드의 제2비주얼 프레임의 유사도가 상기 에센셜 그래프에 포함되지 않은 제3노드의 제3비주얼 프레임 및 상기 제1비주얼 프레임의 유사도 보다 높은, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 로봇.
  7. 로봇의 이동 과정에서 휠 오도메트리 정보를 생성하는 휠 인코더;
    상기 로봇의 외부에 배치된 사물과 로봇 사이의 거리를 센싱하여 제1라이다 프레임을 생성하는 라이다 센서;
    상기 로봇의 외부에 배치된 사물을 촬영하여 제1비주얼 프레임을 생성하는 카메라 센서;
    상기 제1라이다 프레임과 비교 가능한 다수의 라이다 프레임들을 포함하는 라이다 브랜치를 저장하고, 상기 제1비주얼 프레임과 비교 가능한 다수의 비주얼 프레임들을 포함하는 비주얼 브랜치를 저장하며, 상기 저장된 라이다 프레임 또는 상기 저장된 비주얼 프레임 중 어느 하나 이상과 등록된 프레임 노드를 둘 이상 포함하는 백본으로 구성된 포즈 그래프를 저장하며, 상기 포즈 그래프의 노드들 사이의 상관 관계를 저장하는 맵 저장부; 및
    제1프레임 노드에서 제2프레임 노드로 이동하는 과정에서 현재 로봇의 위치에서 생성된 상기 제1라이다 프레임 또는 상기 제1비주얼 프레임 또는 현재 위치의 휠 오도메트리 정보를 이용하여 현재 로봇의 위치를 계산하는 제어부를 포함하는, 다중 센서 및 인공지능에 기반하여 노드들의 상관 관계가 저장된 맵을 이용하여 주행하는 로봇.
  8. 제7항에 있어서,
    상기 제1프레임 노드 및 상기 제2프레임 노드가 인접 노드이며,
    상기 제어부는 상기 제1프레임 노드 및 상기 제2프레임 노드 사이에 등록된 라이다 오도메트리 정보 또는 비주얼 오도메트리 정보 중 어느 하나 이상과 상기 휠 오도메트리 정보를 이용하여 현재 로봇의 위치를 계산하는, 다중 센서 및 인공지능에 기반하여 노드들의 상관 관계가 저장된 맵을 이용하여 주행하는 로봇.
  9. 제8항에 있어서,
    상기 제1프레임 노드 및 상기 제2프레임 노드 사이에 라이다 오도메트리 정보 및 비주얼 오도메트리 정보가 모두 등록된 경우, 상기 제어부는 상기 비주얼 오도메트리 정보보다 상기 라이다 오도메트리 정보를 우선적으로 상기 휠 오도메트리 정보와 결합하여 현재 로봇의 위치를 계산하는, 다중 센서 및 인공지능에 기반하여 노드들의 상관 관계가 저장된 맵을 이용하여 주행하는 로봇.
  10. 제7항에 있어서,
    상기 제1프레임 노드 및 상기 제2프레임 노드가 비인접 노드이며,
    상기 제1프레임 노드 및 상기 제2프레임 노드 사이에 라이다 루프 클로징 상관 관계가 등록된 경우,
    상기 제어부는 상기 제1라이다 프레임과 상기 루프 클로징 상관 관계를 비교하여 상기 로봇의 현재 위치를 상기 제1프레임 노드 및 상기 제2프레임 노드를 기준으로 설정하는, 다중 센서 및 인공지능에 기반하여 노드들의 상관 관계가 저장된 맵을 이용하여 주행하는 로봇.
  11. 로봇의 휠 인코더가 상기 로봇의 이동 과정에서 휠 오도메트리 정보를 생성하는 단계;
    상기 로봇의 라이다 센서가 상기 로봇의 외부에 배치된 사물과 로봇 사이의 거리를 센싱하여 라이다 프레임을 생성하는 단계;
    상기 로봇의 상기 카메라 센서가 상기 로봇의 외부에 배치된 사물을 촬영하여 비주얼 프레임을 생성하는 단계;
    상기 로봇의 제어부가 상기 하나 이상의 라이다 프레임을 포함하는 라이다 브랜치와 상기 하나 이상의 비주얼 프레임을 포함하는 비주얼 브랜치와 상기 라이다 프레임 또는 상기 비주얼 프레임 중 어느 하나 이상과 등록된 프레임 노드를 둘 이상 포함하는 백본으로 구성된 포즈 그래프를 생성하는 단계;
    상기 제어부가 상기 포즈 그래프의 노드들 사이의 상관 관계를 생성하는 단계; 및
    상기 제어부가 상기 라이다 브랜치, 상기 비주얼 브랜치, 상기 백본, 상기 상관 관계를 맵 저장부에 저장하는 단계를 포함하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 방법.
  12. 제11항에 있어서,
    상기 제어부는 상기 노드들 중에서 인접한 두 개의 노드들을 선정하는 단계; 및
    상기 제어부느 상기 두 개의 노드들 사이의 이동에서 상기 휠 인코더가 생성한 휠 오도메트리 정보를 상기 두 개의 노드 사이의 상관관계로 설정하여 상기 맵 저장부에 저장하는 단계를 더 포함하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 방법.
  13. 제12항에 있어서,
    상기 제어부는 상기 두 개의 노드들 사이에 등록된 두 개의 라이다 프레임을 이용하여 라이다 오도메트리 정보를 생성하는 단계를 더 포함하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 방법.
  14. 제12항에 있어서,
    상기 제어부는 상기 두 개의 노드들 사이에 등록된 두 개의 비주얼 프레임을 이용하여 비주얼 오도메트리 정보를 생성하는 단계를 더 포함하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 방법.
  15. 제11항에 있어서,
    상기 제어부는 상기 노드들 중에서 인접하지 않으며 비주얼 프레임이 등록된 노드들을 선정하여 에센셜 그래프를 생성하며 단계; 및
    상기 제어부는 상기 생성된 에센셜 그래프에서 라이다 프레임이 등록된 노드들 사이의 상관 관계를 생성하는 단계를 더 포함하는, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 방법.
  16. 제15항에 있어서,
    상기 에센셜 그래프의 제1노드의 제1비주얼 프레임 및 상기 제2노드의 제2비주얼 프레임의 유사도가 상기 에센셜 그래프에 포함되지 않은 제3노드의 제3비주얼 프레임 및 상기 제1비주얼 프레임의 유사도 보다 높은, 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하는 방법.
KR1020197023288A 2019-05-16 2019-05-16 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법 KR20210155833A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/005885 WO2020230931A1 (ko) 2019-05-16 2019-05-16 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법

Publications (1)

Publication Number Publication Date
KR20210155833A true KR20210155833A (ko) 2021-12-24

Family

ID=73290065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197023288A KR20210155833A (ko) 2019-05-16 2019-05-16 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법

Country Status (3)

Country Link
US (1) US11614747B2 (ko)
KR (1) KR20210155833A (ko)
WO (1) WO2020230931A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020226187A1 (ko) * 2019-05-03 2020-11-12 엘지전자 주식회사 다중 센서 및 인공지능에 기반하여 맵을 생성하고 맵을 이용하여 주행하는 로봇
CN113075686B (zh) * 2021-03-19 2024-01-12 长沙理工大学 一种基于多传感器融合的电缆沟智能巡检机器人建图方法
CN114563000B (zh) * 2022-02-23 2024-05-07 南京理工大学 一种基于改进型激光雷达里程计的室内外slam方法
CN115774265B (zh) * 2023-02-15 2023-05-12 江苏集萃清联智控科技有限公司 用于工业机器人的二维码和激光雷达融合定位方法与装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9989969B2 (en) * 2015-01-19 2018-06-05 The Regents Of The University Of Michigan Visual localization within LIDAR maps
US10989542B2 (en) * 2016-03-11 2021-04-27 Kaarta, Inc. Aligning measured signal data with slam localization data and uses thereof
KR102096875B1 (ko) * 2016-10-21 2020-05-28 네이버랩스 주식회사 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법
SG10201700299QA (en) 2017-01-13 2018-08-30 Otsaw Digital Pte Ltd Three-dimensional mapping of an environment
KR101956447B1 (ko) 2017-04-20 2019-03-12 한국과학기술원 그래프 구조 기반의 무인체 위치 추정 장치 및 그 방법
KR101937594B1 (ko) 2017-04-21 2019-01-11 한국과학기술원 2차원 레이저 스캐너를 이용한 계층적 구조 기반의 맵 제작 방법 및 장치
US10921816B2 (en) 2017-04-21 2021-02-16 Korea Advanced Institute Of Science And Technology Method and apparatus for producing map based on hierarchical structure using 2D laser scanner
CN112544097A (zh) * 2018-07-06 2021-03-23 诺基亚技术有限公司 用于执行三维无线电模型构建的方法、装置和计算机程序
US11016175B2 (en) * 2018-10-10 2021-05-25 Ford Global Technologies, Llc Transportation infrastructure communication and control
WO2020132233A1 (en) * 2018-12-20 2020-06-25 Augean Robotics, Inc. Collaborative autonomous ground vehicle
US10955257B2 (en) * 2018-12-28 2021-03-23 Beijing Didi Infinity Technology And Development Co., Ltd. Interactive 3D point cloud matching
EP3918437A4 (en) * 2019-01-31 2022-11-02 Brain Corporation SYSTEMS AND METHODS FOR LASER ODOMETRY AND IMAGING FOR AUTONOMOUS ROBOTS

Also Published As

Publication number Publication date
US20210405650A1 (en) 2021-12-30
US11614747B2 (en) 2023-03-28
WO2020230931A1 (ko) 2020-11-19

Similar Documents

Publication Publication Date Title
KR102664410B1 (ko) 다중 센서 및 인공지능에 기반하여 맵을 생성하고 맵을 이용하여 주행하는 로봇
US10102429B2 (en) Systems and methods for capturing images and annotating the captured images with information
KR102220564B1 (ko) 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를구현하는 로봇
KR20210155833A (ko) 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법
KR20210015211A (ko) 실시간으로 클라우드 슬램을 수행하는 방법 및 이를 구현하는 로봇과 클라우드 서버
US10133278B2 (en) Apparatus of controlling movement of mobile robot mounted with wide angle camera and method thereof
KR101708659B1 (ko) 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
KR101776621B1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
CN110275540A (zh) 用于扫地机器人的语义导航方法及其系统
KR101784183B1 (ko) ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
US11688081B2 (en) Method of performing simultaneous localization and mapping with respect to a salient object in an image
KR102615685B1 (ko) 멀티 센서를 동기화시켜 위치를 추정하는 방법 및 이를 구현하는 로봇
KR20190134554A (ko) 동적 장애물을 식별하는 방법 및 이를 구현한 로봇
US20120316784A1 (en) Hybrid-approach for localizaton of an agent
US11500391B2 (en) Method for positioning on basis of vision information and robot implementing same
KR102246236B1 (ko) 퓨전 슬램에서 맵을 업데이트하는 방법 및 이를 구현하는 로봇
Bista et al. Image-based indoor topological navigation with collision avoidance for resource-constrained mobile robots
Bobkov et al. Vision-based navigation method for a local maneuvering of the autonomous underwater vehicle
US11774983B1 (en) Autonomous platform guidance systems with unknown environment mapping
Do et al. Autonomous flights through image-defined paths
KR20210042537A (ko) 대면적의 공간에서 로컬 영역별로 위치를 추정하는 방법 및 이를 구현하는 로봇과 클라우드 서버
Virgolino Soares et al. Visual localization and mapping in dynamic and changing environments
US20190378295A1 (en) Method of configuring camera position suitable for localization and robot implementing same
Marquez-Gamez Towards visual navigation in dynamic and unknown environment: trajectory learning and following, with detection and tracking of moving objects.
Chang Robust Tracking of Multiple People Using Two Widely Separated Cameras

Legal Events

Date Code Title Description
E902 Notification of reason for refusal