KR102310346B1 - 상황인식적으로 맵을 관리하는 방법, 이를 구현하는 장치 - Google Patents

상황인식적으로 맵을 관리하는 방법, 이를 구현하는 장치 Download PDF

Info

Publication number
KR102310346B1
KR102310346B1 KR1020170039224A KR20170039224A KR102310346B1 KR 102310346 B1 KR102310346 B1 KR 102310346B1 KR 1020170039224 A KR1020170039224 A KR 1020170039224A KR 20170039224 A KR20170039224 A KR 20170039224A KR 102310346 B1 KR102310346 B1 KR 102310346B1
Authority
KR
South Korea
Prior art keywords
map
robot
information
moving object
movement
Prior art date
Application number
KR1020170039224A
Other languages
English (en)
Other versions
KR20180109455A (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 KR1020170039224A priority Critical patent/KR102310346B1/ko
Publication of KR20180109455A publication Critical patent/KR20180109455A/ko
Application granted granted Critical
Publication of KR102310346B1 publication Critical patent/KR102310346B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/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/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/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 상황인식적으로 맵을 관리하는 방법 및 구현하는 장치에 관한 기술로 본 발명의 일 실시예에 의한 상황인식적으로 맵을 관리하는 로봇은 로봇의 이동을 제어하는 이동부, 고정-확정맵 및 상황인식맵을 저장하는 맵 저장부, 로봇의 외부에 배치된 하나 이상의 객체를 센싱하는 센싱모듈, 및 이동부, 맵 저장부, 센싱모듈을 제어하며, 상황인식맵 또는 고정-확정맵을 선택하여 로봇의 주행에 적용하는 제어부를 포함하며, 상황인식맵은 고정-확정맵에 배치되는 이동 객체의 위치정보 및 이동 객체의 배치에 관한 상황 정보를 포함한다.

Description

상황인식적으로 맵을 관리하는 방법, 이를 구현하는 장치{METHOD OF MANAGING MAP BY CONTEXT-AWARENESS AND DEVICE IMPLEMENTING THEREOF}
본 발명은 상황인식적으로 맵을 관리하는 방법 및 구현하는 장치에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에서 로봇이 동작하기 위해서는 전체 공간에 대한 맵을 통해 로봇이 주행할 수 있다. 특히, 맵은 외부의 객체들의 위치를 제공하므로, 로봇은 맵을 이용하여 공간에 배치된 장애물들을 미리 확인하여 주행 경로를 생성할 수 있다.
한편, 공항이나 항만, 기차역, 백화점, 호텔, 병원, 놀이동산 등과 같이 다수의 사람들이 이동하는 공간(이하 "대면적 유동인구 공간"이라 한다)에서는 다양한 종류들의 객체들이 설치되거나 제거될 수 있으며, 이들은 일정기간 고정되어 배치될 수 있다. 따라서, 로봇은 미리 저장된 하나의 맵만을 이용할 경우, 변화한 환경에서의 주행을 완성시키지 못할 수 있다.
뿐만 아니라, 전술한 대면적 유동인구 공간에서는 사람들의 이동이 일시적이거나 혹은 규칙적일 수 있으므로, 이들의 이동에 대응하여 로봇의 이동이 필요하다.
즉, 로봇은 다양한 환경적 변화에 적응하여 주행하기 위해서는 미리 설정된 하나의 맵에 고정되어 이동하는 방식 보다는 상황인식적으로 맵을 적용하여 주행하는 방안이 필요하다. 이에, 본 명세서에서는 로봇이 맵을 상황인식적으로 관리하여 주행하는 방안을 제시하고자 한다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 다양한 객체들이 이동하거나 배치되는 공간에서 다양한 객체들의 위치에 따른 배치 주기 혹은 배치 시간에 따라 로봇이 상황인식적으로 이동할 수 있도록 한다.
또한, 본 명세서에서는 특정한 상황에 대응하여 반복하여 배치되는 객체들의 정보를 저장하는 맵을 제공하고자 한다.
또한, 본 명세서에서는 상황을 반영한 맵에 기반하여 로봇이 이동할 수 있도록 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 상황인식적으로 맵을 관리하는 로봇은 로봇의 이동을 제어하는 이동부, 고정-확정맵 및 상황인식맵을 저장하는 맵 저장부, 로봇의 외부에 배치된 하나 이상의 객체를 센싱하는 센싱모듈, 및 이동부, 맵 저장부, 센싱모듈을 제어하며, 상황인식맵 또는 고정-확정맵을 선택하여 로봇의 주행에 적용하는 제어부를 포함하며, 상황인식맵은 고정-확정맵에 배치되는 이동 객체의 위치정보 및 이동 객체의 배치에 관한 상황 정보를 포함한다.
본 발명의 다른 실시예에 의한 상황인식적으로 맵을 관리하는 중앙 제어 서버는 하나 이상의 로봇으로부터 고정-확정맵, 상황인식맵 및 이동-변동맵 중 어느 하나 이상을 수신하고 로봇들에게 맵 또는 맵과 관련된 정보를 송신하는 통신부, 고정-확정맵, 상황인식맵 및 이동-변동맵을 저장하는 맵 저장부, 및 둘 이상의 이동-변동맵을 이용하여 반복하여 센싱되는 이동 객체의 위치 정보를 저장하는 상황인식맵을 생성하는 제어부를 포함한다.
본 발명의 또다른 실시예에 의한 상황인식적으로 맵을 관리하는 방법은 로봇의 맵 저장부에 저장된 고정-확정맵 또는 상황인식맵에 기반하여 로봇의 이동부를 로봇의 제어부가 제어하는 단계, 로봇의 센싱 모듈은 로봇의 주행 과정에서 객체를 센싱하는 단계, 및 로봇의 제어부는 센싱한 외부의 객체의 위치를 포함하는 이동-변동맵을 생성하여 맵 저장부에 저장하는 단계를 포함하며, 상황인식맵은 고정-확정맵에 배치되는 이동 객체의 위치정보 및 이동 객체의 배치에 관한 상황 정보를 포함한다.
본 발명의 실시예들을 적용할 경우, 로봇은 고정된 객체들에 대한 맵과 이동 객체들 및 이들 이동 객체들의 배치 상황이 저장된 상항인식맵을 이용하여 이동할 수 있어 다양한 환경에서 로봇이 주행할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 로봇의 센싱모듈은 외부의 객체를 센싱할 수 있으며, 이 과정에서 외부 객체들의 특성 정보를 함께 센싱하여 이동 객체들을 맵 상에서 식별할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 다양한 상황인식맵에 기반하여 로봇이 이동할 수 있으며, 또한, 중앙 제어 서버 혹은 외부의 정보 취득 장치를 통해 확인된 상황 정보에 기하여 로봇이 공간 내의 다양한 변수를 고려하여 이동할 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 고정-확정맵의 실시예를 보여주는 도면이다.
도 3은 맵 저장부(200)에서 저장하는 객체들의 범주에 대한 정보들을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 로봇이 동적으로 배치되는 이동 객체들을 주행 과정에서 센싱하여 이동-변동맵을 생성하는 과정을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 로봇이 외부의 이동 객체를 센싱하여 이동-변동맵에 저장한 도면이다.
도 6은 본 발명의 일 실시예에 의한 이동-변동맵을 상황인식맵으로 변환하는 과정을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 의한 이동-변동맵에서 센싱된 이동 객체들의 누적 과정을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 중앙 제어 서버의 구성을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 중앙 제어 서버가 딥러닝에 의해 생성된 룰을 적용하여 상황인식맵을 생성하는 과정을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 중앙 제어 서버와 로봇들 간에 맵을 송수신하고 상황 정보를 송수신하는 과정을 보여주는 도면이다.
도 11은 본 발명의 일 실시예에 의한 로봇이 상황인식맵을 이용하여 이동하는 과정을 보다 상세히 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 의한 고정 객체의 변화를 이동-변동맵에서 확인하고 고정-확정맵을 업데이트하는 과정을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 의한 로봇이 정보를 수신하는 과정을 보여주는 도면이다.
도 14는 본 발명의 일 실시예에 의한 로봇의 경로저장부(240)가 고정-확정맵과 상황인식맵의 경로를 달리 저장하는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 고정된 벽, 계단, 유리벽 등에 대한 정보를 의미한다. 또한, 로봇은 맵 위에 특정한 객체들에 대한 정보를 저장할 수 있다. 예를 들어, 객체가 유리와 같이 특정한 신호를 투과시키는 재질인 경우, 이를 벽과 구분하여 저장할 수 있다. 마찬가지로, 거울과 같이 반사 신호를 왜곡시키는 재질에 대해서도 정보를 저장할 수 있다. 빈 공간에 확장되어 배치되는 유리벽은 센싱 신호를 투과시켜 로봇이 거리를 정확하게 측정하지 못할 수 있으므로, 로봇이 이동하는 공간 내에서 벽과 유리 등 재질이 상이한 객체들의 정보를 구분하여 저장하고 이를 표시하거나 이용할 수 있다.
로봇이 맵을 생성하고 이에 따라 주행하는 실시예로 SLAM(Simultaneous localization and mapping) 방식을 사용할 수 있다. 그리고 SLAM 방식으로 생성한 맵을 저장하고 추후 이동하면서 저장된 맵을 이용할 수 있다.
한편, 본 명세서에서 로봇은 상황인식적으로 맵을 업데이트하거나, 새로운 맵을 생성하고 해당 상황에 대한 정보를 함께 저장할 수 있다. 예를 들어, 맵 상에 주기적으로 배치되고 또한 주기적으로 제거되는 사물에 대한 정보를 맵에 업데이트할 수 있다. 이는 해당 사물에 대한 식별자를 추가할 수도 있고, 맵에 해당 사물이 일시적으로 배치된다는 정보를 추가할 수 있다.
다음으로, 본 명세서에서 로봇은 외부의 유동인구들의 이동에 대한 정보를 수신하거나 유동 인구의 이동을 센싱하여 맵을 업데이트하거나 새로운 맵을 생성할 수 있다.
본 명세서에서 저장하는 맵은 고정 객체의 위치를 저장하며, 선택적으로 고정 객체의 재질 혹은 특성 정보를 저장할 수 있다. 다음으로, 맵은 이동 객체의 위치를 저장하며 이동 객체의 주기 혹은 배치 시간을 저장할 수 있다. 이러한 주기 또는 배치 시간 모두 상황 정보의 일 실시예가 될 수 있다.
또한, 본 명세서에서 로봇은 상황에 적합하게 다수의 맵을 보유할 수 있다. 일 실시예로 고정 객체에 대한 정보만을 저장하는 고정-확정맵과, 이동 객체에 대한 정보만을 저장하는 이동-변동맵, 그리고 이들 고정-확정맵과 이동-변동맵을 결합한 상황인식맵을 보유할 수 있다. 상황인식맵은 특정한 상황(시간, 주기, 혹은 특정한 사건이 발생하는 경우 등)에 대응하여 고정 객체들과 이동 객체들이 모두 배치되어 있어 로봇은 해당 시점에 하나의 상황인식맵을 이용하여 공간을 주행할 수 있다.
이하 상황인식맵은 고정 객체 및 이동 객체가 모두 포함된 맵을 중심으로 설명한다. 그러나 본 발명이 이에 한정되는 것은 아니며, 상황인식맵에는 이동 객체 및 상황 정보가 저장되며, 로봇이 주행 과정에서 상황인식맵과 고정-확정맵을 결합하여 이동할 수 있다.
본 명세서에서는 다양한 객체들이 이동하거나 배치되는 공간에서 다양한 객체들의 위치에 따른 배치 주기 혹은 배치 시간에 따라 로봇이 상황인식적으로 이동하기 위한 로봇 및 중앙 제어 서버, 그리고 이들을 이용한 방법을 제시한다. 또한, 본 명세서에서는 특정한 상황에 대응하여 반복하여 배치되는 객체들의 정보를 저장하는 상황인식맵을 제공한다. 그리고 로봇은 공간 내의 이동 객체들의 배치 상황을 반영한 상황인식맵에 기반하여 이동할 수 있도록 한다.
도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
로봇(1000)은 외부에 배치되는 이동 객체 혹은 고정 객체를 센싱하는 센싱모듈(100), 다양한 종류의 맵을 저장하는 맵 저장부(200), 로봇의 이동을 제어하는 이동부(300), 로봇의 소정의 기능을 수행하는 기능부(400), 다른 로봇 또는 서버와 맵 또는 이동 객체, 고정 객체, 혹은 외부의 변동되는 상황에 관한 정보를 송수신하는 통신부(500), 그리고 이들 각각의 구성요소들을 제어하는 제어부(900)를 포함한다.
도 1에서는 로봇의 구성을 계층적으로 구성하고 있으나, 이는 로봇의 구성요소들을 논리적으로 나타낸 것에 의해서이며, 물리적 구성은 이와 다를 수 있다. 하나의 물리적 구성요소에 다수의 논리적 구성요소가 포함되거나, 다수의 물리적 구성요소가 하나의 논리적 구성요소를 구현할 수 있다.
센싱모듈(100)는 외부의 객체들을 센싱하여 센싱한 정보를 제어부(900)에게 제공한다. 일 실시예로 센싱모듈(100)는 로봇의 현재 위치에서 벽, 유리, 금속성 문 등 외부 객체들의 재질과 거리를 신호의 강도(intensity)와 반사된 시간(속도)로 산출하는 라이다(Lidar) 센싱부(110)를 포함할 수 있다. 또한, 센싱모듈(100)는 로봇(1000)으로부터 일정 거리 내에 배치된 객체들의 뎁스 정보를 산출하는 뎁스 센싱부(120)를 포함할 수 있다.
한편, 센싱모듈(100)는 로봇(1000)으로부터 일정 거리 내에 배치된 사물의 온도, 특히 사람들의 체온을 감지하는 적외선 센싱부(130)를 포함할 수 있다. 적외선 센싱부(130)는 이동 객체들을 센싱하는 과정에서 이동 객체가 사람인지 여부를 확인하는 주요한 정보를 제공한다.
뿐만 아니라, 센싱모듈(100)는 전술한 센싱부들 외에 다수의 보조 센싱부들(141, ..., 149)을 포함할 수 있다. 일 실시예로 초음파 센싱부, 비전 센싱부 또는 열감지 센싱부 등이 이들 보조 센싱부들의 실시예가 될 수 있으며, 이들은 전술한 고정-확정맵과 이동-변동맵, 그리고 상황인식맵을 생성하는데 있어 외부 객체를 센싱하는데 필요한 보조적인 정보를 제공한다. 또한, 이들 보조 센싱부들 역시 로봇이 주행함에 있어 외부에 배치되는 객체를 센싱하여 정보를 제공한다.
센싱 데이터 분석부(150)는 다수의 센싱부들이 센싱한 정보들을 분석하여 이를 제어부(900)에게 전달한다. 예를 들어 다수의 센싱부들에 의해 외부에 배치된 객체가 감지될 경우, 해당 객체의 특성과 거리에 대한 정보를 각각의 센싱부가 제공할 수 있다. 센싱 데이터 분석부(150)는 이들의 값을 조합하여 산출하고 이를 제어부(900)에게 전달할 수 있다.
맵 저장부(200)는 로봇이 이동하는 공간에 배치되는 객체들의 정보를 저장한다. 맵 저장부(200)는 로봇이 이동하는 전체 공간에 배치되는 객체들 중에서 변동이 없거나 혹은 고정되어 배치되는 고정 객체들에 대한 정보를 저장하는 고정-확정맵(210)을 저장한다. 고정-확정맵(210)은 공간에 따라 필수적으로 하나가 포함될 수 있다. 고정-확정맵(210)은 해당 공간에서 가장 변동이 낮은 객체들만 배치된 것이므로, 로봇이 해당 공간을 이동할 경우 고정-확정맵(210)에서 지시하는 객체들보다는 더 많은 객체를 센싱할 수 있다.
고정-확정맵(210)은 고정 객체들의 위치 정보를 필수적으로 저장하며, 추가적으로 고정 객체들의 특성, 예를 들어 재질 정보, 색상 정보, 혹은 기타 높이 정보 등을 포함할 수 있다. 이러한 추가적인 정보들은 고정 객체들에 변동 사항이 발생한 경우 로봇이 보다 쉽게 확인할 수 있도록 한다.
이동-변동맵(220)은 로봇이 이동할 공간에서 다른 로봇이 센싱한 이동 객체들 정보 혹은 로봇이 이동하는 과정(SLAM 과정)에서 획득한 이동 객체들 정보를 저장하는 맵이다. 이동-변동맵(220)의 일 실시예로는 고정-확정맵(210) 상의 고정 객체들과 이동 객체들의 위치 정보를 모두 저장하는 것을 포함한다. 이와 달리, 이동-변동맵(220)의 다른 실시예로는 고정-확정맵(210)의 고정 객체들을 모두 제외시키고 이동 객체만을 저장하는 것도 가능하다. 이동 객체는 별도의 식별정보를 포함할 수 있다.
상황인식맵(230)은 고정-확정맵(210) 상의 고정 객체들과 이동 객체들의 위치 정보가 모두 저장되며, 추가적으로 이들 이동 객체들이 배치되는 상황에 대한 정보를 포함하는 것을 의미한다. 일 실시예로 상황인식맵(230)은 고정-확정맵(210)에 배치되는 이동 객체의 위치정보 및 이들 이동 객체의 배치에 관한 상황 정보를 포함한다.
상황 정보란, 어느 시점에 이동 객체가 배치되는지, 혹은 어느 주기에 따라 이동 객체가 배치되는지 등에 관한 시간 정보를 포함한다. 또한, 상황 정보는 특정한 외부 상황에 대한 정보를 의미한다. 비가 온다거나, 주차장에 차가 몰린다거나, 혹은 특정 음식점이 신문에 언급되었다는 등 외부 상황에 대한 정보를 의미하며, 이러한 외부 상황에 따라 이동 객체들이 배치되는 것을 반영한 것이 상황인식맵(230)의 실시예가 될 수 있다.
예를 들어, 상황인식맵(230)에서 위치 정보가 저장된 고정 객체 및 이동 객체들이 배치되는 시간 혹은 주기에 대한 정보가 상황 정보로 추가적으로 저장될 수 있다. 또는 특정한 상황, 예를 들어 외부의 날씨가 흐리거나 비가 오는 경우에 특정한 이동 객체가 배치되는 것이 상황인식맵(230)에 반영될 수 있다. 뿐만 아니라, 사람들의 이동 방향이나 비행 스케줄, 또는 공사 상황 등에 따라 배치되는 이동 객체를 반영하여 상황인식맵(230)이 생성될 수 있다.
상황인식맵(230)은 상황에 따라 다수가 저장될 수 있으며, 상황인식맵(230)의 이동 객체 역시 별도의 식별정보를 포함할 수 있다. 경로저장부(240)는 특정한 맵에 대응하여 생성된 로봇의 주행 경로가 저장된다.
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 영역에서 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 제어부(900)는 맵 저장부(200)에 저장된 다양한 정보들을 이용하여 경로를 실시간으로 생성하거나 혹은 이동 과정에서 경로를 생성할 수 있다. 또는, 선택적으로 상황인식맵(230)이나 고정-확정맵(210), 또는 이동-변동맵(220)에 해당 맵을 기반으로 하는 경로가 생성되어 맵 별로 경로저장부(240)에 경로가 저장될 수 있다.
경로저장부(240)에 저장된 경로에 따라 로봇을 이동시킬 수 있으며, 제어부(900)가 로봇을 제어하는 것은 모두 유선으로 연결된 전기적 신호를 이용하거나 또는 무선 신호를 이용한다.
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 보안 로봇인 경우 기능부(400)는 보안에 필요한 구성요소를 포함한다. 기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있으며, 본 발명이 이에 한정되는 것은 아니다.
로봇(1000)의 제어부(900)는 맵 저장부(200)의 다양한 맵을 생성하거나 업데이트할 수 있다. 또한, 제어부(900)는 상황인식맵 또는 고정-확정맵을 선택하여 로봇(1000)의 주행에 적용할 수 있다. 이는 경로를 생성함에 있어 상황인식맵 또는 고정-확정맵 중에서 어느 하나를 선택하는 것을 의미한다.
또한 제어부(900)는 로봇(1000)의 현재 주변 상황에 적합한 상황인식맵(230)을 선택하고 경로를 생성하여 이동할 수 있으며, 이 과정에서 선택한 상황인식맵(230)에 적합한 경로를 새로이 생성할 수도 있다. 이하 로봇의 제어부(900)가 맵을 생성 또는 선택하는 과정에 대해 후술한다.
도 2는 본 발명의 일 실시예에 의한 고정-확정맵의 실시예를 보여주는 도면이다. 전술한 센싱모듈(100)이 로봇(1000)의 이동과정에서 센싱한 공간 정보를 저장한다.
도 2의 고정-확정맵(210a)은 일종의 비트맵과 같이 구성할 수 있다. 이미지 파일의 비트맵에서 각 비트가 하나의 단위 영역을 나타내도록 구성할 수 있다. 각 단위 영역은 좌측 하단을 (0, 0)으로, 우측 상단을 (19, 19)로 지시할 수 있다. 또한, 도 2의 210a은 20x20 구조의 데이터 구조를 가질 수 있다. 예를 들어, 각 위치에 대해 객체가 배치되는지 여부에 대한 정보를 포함할 수 있다. 일종의 행렬과 같이 정보를 배치하고, 고정 객체가 배치되는 경우에는 해당 행렬의 값을 미리 설정된 값으로 설정할 수 있다.
또한, 고정-확정맵(210a)에는 고정 객체들에 대한 특성 정보를 저장할 수 있는데, 객체에 대한 특성 정보는 범주로 나뉘어저 구분하여 고정-확정맵(210a)에 저장될 수 있다. 도 2의 고정-확정맵(210a)에서 검은 색으로 표시된 부분(211)은 콘트리트와 같이 빛이 전혀 투과하지 않는 재질의 객체를 나타낸다. 이는 범주 99에 해당하는 것으로 저장할 수 있다.
한편 212에서 지시하는 부분은 반투명 유리와 같이 빛이 일부 투과되고 일부 반사되는 재질의 객체를 나타낸다. 범주 97에 해당하는 것으로 저장할 수 있다. 또한, 213에서 지시하는 부분은 유리와 같이 빛의 투과도가 높은 재질의 객체를 나타낸다. 범주 93에 해당하는 것으로 저장할 수 있다.
즉, 도 2의 고정-확정맵(210a)은 20x20의 비트맵 공간 중에서 각 공간의 객체 특성의 범주을 저장할 수 있다. 이는 20x20 행렬에 빈 공간을 지시하는 값(0) 또는 특정한 고정 객체의 특성 정보(범주 93, 97, 99 등)를 포함시킬 수 있다. 객체들의 특성 정보는 이들의 재질, 컬러, 혹은 고정성 등을 반영한 것으로, 이들 특성 정보는 이동 객체에도 적용할 수 있다.
객체들의 특성 정보는 구현 방식에 따라 다양하며 특정한 숫자에 본 발명이 한정되지 않는다. 다만, 설명의 편의를 위하여 이하 본 명세서에서 각 객체에 설정할 수 있는 특성 정보의 범주의 예시를 도 3과 같이 제시한다.
도 3은 맵 저장부(200)에서 저장하는 객체들의 범주에 대한 정보들을 보여주는 도면이다. 201a는 고정 객체에 할당가능한 특성정보의 범주를 범위로 제시하고 있다. 201b는 보다 상세히 객체의 재질에 따라 범주를 달리 설정한 예이다. 201b는 라이다 센싱부(110)를 이용하여 신호의 반사 강도로 재질 특성을 특성정보의 실시예로 범주에 반영한 것이며, 이외에도 비전 센싱부와 같은 보조 센싱부들(141~149)을 이용하여 재질 특성 대신 컬러 특성을 반영할 수도 있다.
도 3에서 ID 부여되는 이동 객체란 비전 센싱부를 통해 이동 객체인데 특정한 사물(휴지통, 안내판, 데스크 등)로 확인된 경우, 이들 사물에 대응하는 범주로 설정하는 것을 의미한다. 사물에 대응하여 순차적으로 11 내지 70 사이의 숫자를 할당할 수 있다. 이 경우, 휴지통이 일정한 범위 내에서 이동하는 것을 로봇이 구별할 수 있다.
도 3의 다양한 특성정보들은 다양한 센싱부들이 센싱한 값을 센싱모듈(100)의 센싱데이터분석부(150)가 분석한 결과에 기반한다. 이동 객체에 식별자를 부여하기 위해 이동 객체들의 재질, 컬러 등에 대한 정보도 저장하며 필요한 경우, 카메라를 이용하여 이동 객체를 촬영하고, 추후 근처에서 이동 객체가 센싱될 경우 다시 촬영하여 촬영된 이미지들을 비교하여 동일한 이동 객체인지 여부를 판단한다.
한편, 도 2 및 도 3을 이용하여 일정한 공간을 가로-세로의 행렬로 구성하고 각 행렬이 하나의 지점을 나타내며, 해당 지점에 사물이 배치되어 있는지 여부를 도 3의 특성 정보의 범주를 이용하여 나타낼 수 있다. 이 과정에서 "-1" 에 해당하는 사물도 배치될 수 있다. 이는, 고정 객체가 배치되는 것으로 식별된 지점에 외부 객체가 전혀 센싱되지 않는 경우, "-1"로 한다. 예를 들어 고정 객체인 벽이 구조적으로 변경되어 제거될 수 있다. 따라서, "-1"인 상태가 계속될 경우, 로봇의 제어부(900) 또는 중앙의 제어 서버는 이 지점에서 센싱 에러가 발생한 것으로 판단하지 않고, 고정-확정맵(210)에 해당 고정 객체가 제거된 것으로 정보를 변경할 수 있다.
도 4는 본 발명의 일 실시예에 의한 로봇이 동적으로 배치되는 이동 객체들을 주행 과정에서 센싱하여 이동-변동맵을 생성하는 과정을 보여주는 도면이다.
먼저 로봇은 미리 저장된 고정-확정맵(210) 또는 현재 로봇이 이동함에 있어 참조하는 상황인식맵(230)을 이용하여 이동한다(S310). 이는 로봇의 맵 저장부(200)에 저장된 고정-확정맵(210) 또는 상황인식맵(230)에 기반하여 로봇의 이동부(300)를 로봇의 제어부(900)가 제어하는 것을 포함한다.
로봇은 외부의 이동 객체에 대한 정보가 전혀 없는 고정-확정맵(210)을 이용하여 이동할 수 있다. 또한 다른 실시예로, 로봇은 외부의 이동 객체에 대한 정보가 반영된 상황인식맵(230)을 이용하여 이동할 수 있다.
로봇(1000)의 센싱모듈(100)는 이동 과정, 즉 주행 과정에서 외부의 객체를 센싱하고(S320), 센싱한 외부의 객체가 이동 객체인지를 확인하여 이동-변동맵을 생성할 수 있다(S330). 물론 이와 달리, 센싱된 모든 외부 객체를 저장한 후, 앞서 이동 시 참조하였던 고정-확정맵(210) 또는 상황인식맵(230)과 비교하여 이동-변동맵을 생성하는 실시예도 가능하다. 생성된 이동-변동맵(220)은 도 1에서 살펴본 바와 같이 맵 저장부(200)에 저장된다.
이후, 로봇의 제어부(900)는 미리 정의된 범위 내의 영역에서 하나 이상의 누적된 이동-변동맵에 기반한 상황인식맵을 생성한다(S340). 이는 이동-변동맵을 다수 누적하거나 다른 로봇 혹은 서버로부터 수신하고, 누적/취합된 이동-변동맵을 이용하여 상황인식맵을 생성하는 것을 일 실시예로 한다.
도 5는 본 발명의 일 실시예에 의한 로봇이 외부의 이동 객체를 센싱하여 이동-변동맵에 저장한 도면이다. 도 3의 201b에 기하여 범주를 나누며, 설명의 편의를 위하여 맵 상의 단위 영역에 범주의 숫자를 표시하였다. 이는 10x10의 행렬의 값으로 들어갈 수 있다. 도 5의 고정-확정맵(210b)은 고정 객체들이 95, 97, 99의 범주의 값을 가지는 것으로 저장된다.
고정-확정맵(210b)에 기하여 로봇은 센싱한 외부 객체를 511과 같이 임시 맵으로 생성할 수 있다. 임시 맵(511, 512)는 점선으로 표시하였다. 그리고 생성된 임시 맵(511)에서 고정 객체들(95, 99, 97의 값을 가지는 객체들)을 제거하면 T1이라는 시간 정보에 대응하는 이동-변동맵(220b)이 생성된다.
한편, 로봇은 다른 로봇들로부터, 혹은 중앙 제어 서버로부터, 혹은 로봇이 다시 공간을 이동하며 센싱한 정보에 기하여 새로운 시점에서 이동-변동맵을 생성할 수 있다. 일 실시예로 512와 같이 새로이 센싱한 임시맵에 기반하여 220c와 같은 T2라는 시간 정보에 대응하는 이동-변동맵(220c)이 생성된다.
한편, 다른 외부 장치(다른 로봇 또는 중앙 제어 서버)로부터도 220c와 같은 이동-변동맵을 수신할 수 있다. 수신 과정에서 이동-변동맵(220c)의 시간 정보 T2가 함께 수신될 수 있다.
로봇의 제어부(900)는 둘 이상의 이동-변동맵(220b, 220c)을 저장하고 이들을 이용하여 상황인식맵을 생성할 수 있다.
도 6은 본 발명의 일 실시예에 의한 이동-변동맵을 상황인식맵으로 변환하는 과정을 보여주는 도면이다. 로봇의 제어부(900)는 앞서 저장한 둘 이상의 이동-변동맵(220b, 220c)을 이용하여 반복하여 센싱되는 이동 객체의 위치 정보를 저장하는 상황인식맵(230a)을 생성할 수 있다. 보다 상세히 살펴본다.
로봇의 제어부(900)는 도 5의 두 개의 이동-변동맵(220b, 220c)가 작성된 시간 정보를 확인할 수 있다. 예를 들어, 220b가 월요일 오전 10시에 확인된 이동-변동맵이고 220c가 화요일 오전 10시에 확인된 이동-변동맵이라 가정한다.
이들 두 이동-변동맵을 비교하여 동일하게 겹치는 부분, 즉 동일한 지점에서 센싱된 외부 객체들을 표시하면 임시 맵(611)과 같다. 그리고 해칭되지 않은 영역에서는 220b와 220c 사이에 동일하게 "5"로 센싱된 객체가 이동한 것으로 확인할 수 있다.
이 경우, 로봇의 제어부(900)는 오전 10시에 확인된 두 개의 이동-변동맵에서 동일한 위치에 이동 객체들이 배치되는 것을 확인할 수 있다. 그리고 이들 동일한 위치에서 센싱된 이동 객체들의 위치를 기반으로 상황인식맵(230a)을 생성한다. 이 과정에서 고정-확정맵(210b)에 배치되었던 고정 객체들도 함께 포함하도록 상황인식맵(230a)을 생성할 수 있다. 상황인식맵(230a)을 저장하는 과정에서 이를 적용할 수 있는 시간 혹은 주기에 대한 정보(10:00:00 AM)를 함께 저장한다.
또한, 앞서 220b와 220c 사이에 동일하게 "5"로 센싱된 객체가 이동한 것으로 판단될 경우 해당 객체에 11이라는 id를 부여하고, 부여된 식별자에 대한 정보를 별도로 저장할 수 있다. 동일한 객체로 판단하기 위해서는 해당 객체의 특성 정보가 동일한지 여부를 확인할 수 있다. 라이다 센싱부(110)에서 센싱된 객체의 재질 혹은 비전 센싱부가 촬영한 객체의 이미지 등을 분석하여 동일한 객체인데 위치가 이동한 것으로 제어부(900)가 판단한 경우, 이에 대해서 식별자를 부여하고 이동 범위를 상황인식맵에 저장할 수 있다. 이는 230b의 231b와 같이 이동 객체 식별자 저장부를 구성될 수 있다. 상황인식맵(230b)은 적용되는 시간에 대한 정보(10:00:00 AM) 및 이동 객체의 이동 범위에 대한 정보를 저장할 수 있다.
예를 들어, 11이 배치되었던 위치가 각각 (x1, y1) 및 (x2, y2)인 경우, 5라는 특성정보(property)값을 가지며 11이라는 식별자가 부여된 이동 객체가 (x1, y1) 또는 (x2, y2)라는 위치에 배치될 수 있음을 의미한다.
230a 또는 230b는 상황인식맵의 일 실시예이며 이의 일부 또는 전부를 변형하여서도 상황인식맵을 구현할 수 있다.
도 5 및 도 6을 정리하면, 기존에 생성된 맵인 고정-확정맵(210b)과 현 시점에 생성된 맵인 이동-변동맵(220b, 220c)를 비교하여 동적 장애물과 정적 장애물, 그리고 주기성을 가지고 이동하는 정적 장애물 후보로 구분할 수 있다. 그 결과 주기성을 가지고 배치되는 장애물들이 상황인식맵(230a, 230b)에 저장될 수 있으며, 또한 시간 정보 및 일부 이동 객체들의 이동 범위까지 저장하여 로봇이 특수한 시점(예를 들어 도 6의 경우 오전 10시)에 이동할 경우 적합한 상황인식맵을 선택하여 이에 기반하여 주행할 수 있다.
만약, 다른 로봇 혹은 서버를 통해 수신한 수요일 오전 10시에 센싱한 이동 객체들이 배치된 이동-변동맵이 도 5의 220b 또는 220c와 전혀 다른 경우, 도 6의 상황인식맵에 적용되는 시간 정보는 다음과 같이 월요일 및 화요일 오전 10시에만 적용되는 것으로 수정될 수 있다.
"Mon/Tue 10:00:00 AM"
도 6의 상황인식맵은 다수 누적된 정보를 기반으로 생성할 수 있다. 예를 들어, 도 5에서 살펴본 이동-변동맵(220b, 220c)은 여러 로봇 또는 로봇의 누적된 주행 과정에서 계속 맵 저장부(200)에 저장될 수 있다. 즉, 이동-변동맵이 하루에 10개의 이동-변동맵을 생성할 경우, 각 지점에서 이동 객체들이 센싱된 시점을 카운팅하여 기준치를 넘길 경우, 이를 상황인식맵에 등록할 수 있다.
도 7은 본 발명의 일 실시예에 의한 이동-변동맵에서 센싱된 이동 객체들의 누적 과정을 보여주는 도면이다. 설명의 편의를 위해 이동-변동맵의 일부만을 확대하여 살펴본다. 도 7에서 8개의 이동-변동맵(701~708)이 각기 상이한 시점에서 센싱된 이동 객체를 표시하고 있다. 여기서 "5"로 센싱된 객체는 8번의 이동-변동맵 중에서 7번 센싱이 되었으며, "3"으로 센싱된 객체는 총 3번 센싱되었다. 이 경우 로봇의 제어부(900)는 전체 시간 범위 내에서 일정한 기준(예를 들어 5회 이상 센싱된 경우)에 따라 센싱된 객체 중에서 선별하여 상황인식맵에 등록할 수 있다. 도 7의 실시예에서는 "5"로 센싱된 객체만 상황인식맵(730)에 저장할 수 있다.
상황인식맵은 다양하게 누적된 이동-변동맵의 정보들을 반영하고 각 이동-변동맵이 생성된 시간과 시즌(요일, 주중-주말, 계절, 월별), 그리고 외부적 상황을 반영하여 로봇이 해당 시점에 필요한 상황인식맵을 적용하여 이동할 수 있도록 한다.
이를 위해 본 명세서에서의 로봇의 센싱모듈은 라이다 센싱부(110)의 레이저를 이용하여 전/후방에 있는 장애물에 대한 거리 정보 획득을 통해 매핑을 하고 이를 토대로 고정-확정맵과 이동-변동맵을 생성할 수 있다. 또한, 주행 과정에서 동적 장애물 및 주기성을 가진 정적 장애물로 인해 기존에 생성된 맵과 현 시점에 생성된 맵이 다른 것을 고정-확정맵과 이동-변동맵을 비교하여 이동 객체를 확인할 수 있다.
이후, 로봇의 제어부(900)는 획득된 이동 객체들이 배치된 맵 정보(이동-변동맵)들을 비교하여 업데이트된 새로운 맵인 상황인식맵을 재생성한다. 업데이트하여 새로이 생성된 상황인식맵은 주기적으로 변경되는 정적인 이동 객체 즉 정적인 장애물의 위치나 매번 바뀌는 이동 객체인 동적 장애물에 대한 정보를 누적하여 시간/시즌/상황 별로 별도의 상황인식맵을 생성하고 이에 기반하여 로봇이 이동할 수 있다. 특히, 이동 객체이면서 동적으로 위치가 바뀌는 장애물에 대해 해당 장애물에 별도의 식별자를 설정하여 이동 범위를 저장할 수 있다.
특히, 이 과정에서 외부 상황 정보를 수신하고 여기에 딥러닝(deep learning)을 적용하여 상황인식맵을 생성하거나 선택할 수 있다. 외부 상황의 일 실시예란, 딥러닝 등의 학습을 통해 공간에 분포되는 외부 객체들의 분포도 혹은 이동 방향 등의 상태를 예측하여 상황인식맵을 생성 또는 선택하여 로봇의 운용 영역 순서를 결정하는 것을 의미한다.
예를 들어, 공항이나 항만, 병원 등 출구가 다수 있는 공간에서 특정한 출구(예를 들어 1번 출구)가 특정 시간 동안 혼잡하다는 과거 정보를 통해 학습하여 로봇의 제어부(900)가 예측할 경우, 2번 출구에서 임무를 수행한 후 1번 출구가 혼잡하지 않은 상황에 놓일 것이라고 예상되는 시점에 이동하여 추가적인 임무 수행하도록 상황인식맵을 선택 혹은 생성할 수 있다. 또는, 1번 출구를 많은 사람들이 이동할 경우 1번 출구 이후 사람들이 이동하는 공간이 "A"라는 영역이라면, "A" 영역에 30분 뒤에 사람들이 몰릴 것으로 가정하여 로봇이 이동 경로를 변경하도록 상황인식맵을 생성 또는 선택할 수 있다.
이외에도 외부적인 상황으로, 공항 스케줄, 계절적인 누적 데이터에 기반한 사람들의 이동, 혹은 뉴스, SNS 등에 기반한 빅데이터를 반영하거나, 사람들이 이동하며 소지하는 휴대폰의 Wifi, 블루투스 신호의 군집도를 통해 공간 내에서 사람들의 이동 방향 혹은 분포도를 산출할 수 있으며, 이에 기반하여 중앙 제어 서버가 예측하고 이를 로봇에게 제공할 수 있다. 그리고 로봇은 제공된 외부 상황에 따라 상황인식맵을 선택 또는 생성하여 로봇이 경로를 설정하고 기능을 수행할 수 있다.
이외에도 공간의 천장이나 벽 등에 카메라, 열감지 센서가 부착되어 사람들의 이동 방향 혹은 분포도를 확인할 수 있으며, 특정 구역(예를 들어 제1주차장)에 차량이 다수 진입하는 경우, 제1주차장에서 공항이나 병원, 호텔로 이동하는 진입 구간에 있는 공간들에 사람들이 몰릴 것으로 중앙 제어 서버가 예측하고 이를 로봇에게 제공할 수 있다.
외부 상황을 중앙 제어 서버가 로봇에 전달하는 과정에서 이에 적합한 상황인식맵도 로봇에게 별도로 전송할 수 있다.
도 8은 본 발명의 일 실시예에 의한 중앙 제어 서버의 구성을 보여주는 도면이다. 중앙 제어 서버(2000)는 외부의 상황을 모니터링하는 다양한 센서들(카메라, 열감지 센서, 출입문 개폐센서)이 생성하는 정보와 공간에서 발생하는 스케줄 정보를 수집하는 정보 수집부(2100)와, 하나 이상의 로봇으로부터 고정-확정맵, 상황인식맵 및 이동-변동맵 중 어느 하나 이상을 수신하고 전술한 로봇들에게 맵 또는 맵과 관련된 정보를 송신하는 통신부(2500), 그리고 고정-확정맵, 상황인식맵 및 이동-변동맵을 저장하는 맵 저장부(2200)를 포함한다. 또한 이들 구성요소들을 제어하면서 둘 이상의 이동-변동맵을 이용하여 반복하여 센싱되는 이동 객체의 위치 정보를 저장하는 상황인식맵을 생성하는 제어부(2900)를 포함한다. 중앙 제어 서버(2000)는 정보 수집부(2100)를 선택적으로 포함할 수 있다.
중앙 제어 서버(2000)는 로봇들이 센싱하여 생성하는 고정-확정맵을 저장하며 또한, 로봇들이 센싱하여 전송하는 이동-변동맵을 누적하여 저장한다. 다수의 로봇들이 상이한 시점에 생성하여 전송한 이동-변동맵에 기반하여 이동 객체들의 시간적인 주기성 혹은 외부 환경적인 정보와 비교하여 제어부(2900)는 상황인식맵을 생성할 수 있다. 앞서 도 4 내지 도 6에서 살펴본 로봇의 제어부(900)가 수행하는 방식을 적용하여, 중앙 제어 서버(2000)의 제어부(2900)는 다수의 이동-변동맵에서 같은 위치에서 중복하여 센싱되거나 혹은 동일한 특성 정보를 가지는 이동 객체가 근접한 위치에서 센싱될 경우 이를 기반으로 한 상황인식맵을 생성한다.
또한, 중앙 제어 서버(2000)는 정보 수집부(2100)가 생성하여 제공하는 정보를 상황인식맵에 반영할 수 있다. 예를 들어, 정보 수집부(2100)가 전술한 딥러닝 등을 반영하여 특정한 시점 T1에서 특정한 공간 R1에 사람들이 분포한 것에 대해 수집한 정보들 중에서 스케줄 정보(뉴욕행 비행기의 스케줄)가 대응될 수 있거나, 혹은 날씨가 비오는 상황에 대한 정보가 대응되는 등 외부 상황에 대응하여 특정한 시점 및 특정한 공간에서 사람들의 이동이 확인될 경우, 이러한 정보를 상황인식맵에 결합시킬 수 있다.
예를 들어, 도 6에서 살펴본 상황인식맵(230a, 230b)에 시간 정보로 "10:00:00 AM"이 저장될 수도 있으나, 중앙 제어 서버(2000)가 시간 정보에 상황 정보를 결합하여 "NewYork Departure" 로 하거나 "Weather: Rainy"로 설정할 수 있다. 이 경우 로봇은 전술한 상황인식맵들을 저장한 상태에서 중앙 제어 서버(2000)가 전달하는 상황 정보에 따라 적합한 상황인식맵을 선택하여 로봇의 주행에 적용할 수 있다.
정리하면, 정보 수집부(2100)는 맵에 대응하는 공간에 배치된 하나 이상의 정보취득장치가 생성한 상황 정보를 수집하며, 제어부(2900)는 정보 수집부(2100)가 수집한 상황 정보와 상황인식맵을 매칭시킨다. 매칭된 상황 정보는 상황인식맵에 저장되어 로봇들에게 배포될 수 있다.
정보 수집부(2100)에 정보를 제공하는 정보 취득 장치는 공간 내에 배치되는 카메라, 열감지 센서, 출입문의 개폐를 감지하는 센서, 주차장에 배치된 차량 카운터, 엘리베이터의 인원수를 확인하는 센서, 외부의 날씨를 파악하는 기후 센서 등 다양하게 구성될 수 있다. 정보 수집부(2100)는 각각의 정보 취득 장치가 센싱한 사람들의 분포 혹은 사람들의 이동 방향 등에 대한 정보를 수집하여 일정한 상황 정보를 산출할 수 있다.
예를 들어, 정보 취득 장치들을 통해 R1이라는 공간에서 사람들이 다수 분포되고 이들이 R2라는 공간으로 이동하는 성향이 높다는 것이 딥러닝을 통해 하나의 룰로 정해질 수 있다. 그리고 이 룰을 적용하면, R1 공간에 사람들이 다수 분포된다는 정보가 수집되면 이후 1시간 내에 이동할 로봇이 사용해야 할 상황인식맵을 중앙 제어 서버(2000)가 제공할 수 있다. 또는 로봇에게, 로봇의 맵 저장부(200)에 저장된 다수의 상황인식맵 중에서 특정한 상황인식맵을 사용하도록 중앙 제어 서버(2000)가 지시할 수 있다.
도 9는 본 발명의 일 실시예에 의한 중앙 제어 서버가 딥러닝에 의해 생성된 룰을 적용하여 상황인식맵을 생성하는 과정을 보여주는 도면이다.
중앙 제어 서버(2000)의 정보 수집부(2100) 및 제어부(2900)는 210b와 같은 고정-확정맵의 공간에서 비가 오는 날씨에 수집했던 이동-변동맵을 보여준다.
즉, 이동-변동맵은 각각 901, 902, 903이며 이들 맵이 생성된 시점에서 중앙 제어 서버(2000)가 보유하는 외부 상황에 대한 정보는 "비가 온다"는 것이다(Context:Rainy). 시간 정보는 각각 901의 경우 3월 2일 15시, 902의 경우 3월 5일 11시, 903의 경우 3월 6일 18시이다. 이에 중앙 제어 서버(2000)는 3개의 이동-변동맵(901. 902. 903)과 수집된 상황 정보(Context:Rainy)를 이용하여 930과 같은 상황인식맵을 생성할 수 있다.
930에서 제시하는 것은, 상황정보가 비가 온다는 것이고, 이에 따라 비가 올 경우 전체 공간에 분포될 수 있는 외부 객체의 위치가 "80"(사람을 의미)과 같이 배치될 수 있다. 이에 따라, 로봇은 930과 같은 상황인식맵을 맵 저장부(200)에 저장한 상태에서, 로봇의 통신부(500)가 중앙 제어 서버(2000)로부터 비가 온다는 정보를 수신하면, 로봇의 제어부(900)는 맵 저장부의 다수의 상황인식맵들 중에서 930인 상황인식맵을 메모리에 로딩하여 사람들이 맵 상에서 우측 하단에 몰릴 수 있음을 예측하여 이동 경로를 새로이 산출할 수 있다.
중앙 제어 서버(2000)의 정보 수집부(2100)는 다양한 정보 취득 장치들로부터 정보를 수집하고, 수집된 정보의 시간 정보와 중앙 제어 서버(2000)의 통신부(2500)가 로봇들로부터 수신하여 맵 저장부(2200)에 저장한 다수의 이동-변동맵들에 기반하여 중앙 제어 서버(2000)의 제어부(2900)는 외부의 상황을 반영한 상황인식맵을 생성할 수 있다. 그리고 중앙 제어 서버(2000)의 통신부는 생성된 상황인식맵과 상황정보를 결합하여 로봇에게 전송할 수 있다.
정리하면, 중앙 제어 서버(2000)는 다음과 같이 외부 정보를 누적하여 객체들의 주기성을 반영한 상황인식맵을 생성할 수 있다.
공항을 일 실시예로 할 경우, 중앙 제어 서버(2000)는 외부적 상황(공항 스케줄, 계절적 누적 데이터)을 고려하여 누적된 이동-변동맵에 중복되어 센싱되는 이동 객체의 주기성을 산출하여 상황인식맵을 생성할 수 있다.
또한, 중앙 제어 서버(2000)는 두 공간 사이의 시간적 차이를 두고 사람들이 이동하는 룰을 적용하여 상황인식맵을 생성할 수 있다. 예를 들어, 게이트 A에서 사람이 몰려있는 것을 보여주는 이동-변동맵과 이후 30분 뒤에 게이트 B에 사람이 몰린다는 것을 보여주는 이동-변동맵이 있을 경우, 중앙 제어 서버(2000)의 제어부(2900)는 게이트 A-B의 거리와 사람들의 이동 속도 등을 고려하여 상황인식맵을 만들 수 있다.
예를 들어 중앙 제어 서버(2000)는 외부 상황이 게이트 A에 사람들이 다수 센싱되는 것에 대응하여 게이트 B에 30뒤에 사람들이 몰리는 상황인식맵을 생성하여 로봇들에게 제공할 수 있다. 뿐만 아니라, 중앙 제어 서버(2000)의 정보 수집부(2100)는 뉴스 등 빅데이터를 수집하고, 중앙 제어 서버(2000)의 제어부(2900)는 공항의 특정 공간에 사람이 많을 것으로 판단할 수 있다. 다른 실시예로, 뉴스에서 공항 내에 특정 음식점이 광고 혹은 언급될 경우, 중앙 제어 서버(2000)의 제어부(2900)는 식사시간 전후로 사람들의 이동이 많아질 것으로 예측하는 상황인식맵을 생성할 수 있다.
또한, 정보 취득 장치가 와이파이/블루투스 장비일 경우 중앙 제어 서버(2000)의 정보 수집부(2100)는 실시간으로 사람들의 이동 방향을 산출하여 이에 대응하는 상황인식맵을 생성하여 로봇들에게 배포할 수 있다.
정보 취득 장치는 다양하게 구성될 수 있으며, 공항 천장에 배치되는 카메라 또는 이동하는 보안 로봇에 배치된 카메라 등도 정보를 취득하여 중앙 제어 서버(2000)의 정보 수집부(2100)에게 정보를 제공할 수 있다. 그 결과, 중앙 제어 서버(2000)는 카메라를 통해 동적(사람들 혹은 사물들) 이동을 모니터링 할 수 있고, 공항 내에 부착된 안내문(특정 공간으로 진입을 차단하는 안내문) 등에 에 대해 문자 인식을 통해 사람들의 이동을 제한하는 시간 정보도 취득할 수 있다. 이러한 정보들은 모두 중앙 제어 서버(2000)의 제어부(2900)가 새로운 상황인식맵을 생성하는데 적용된다.
주차 공간의 자동차 파킹 영역에 배치된 차량 카운터 역시 정보 취득 장치가 될 수 있으며, 이들 정보 취득 장치는 중앙 제어 서버(2000)가 특정 공간으로의 유동인구 유입을 예측하는데 정보를 제공할 수 있다.
또한, 중앙 제어 서버(2000)의 제어부(2900)가 딥러닝을 적용한다면, 공항 내 여러 공간들 사이의 사람들과 사물들의 이동에 대한 정보가 저장되는 이동-변동맵을 누적하여 이들 이동-변동맵들을 통해 누적된 경향성을 파악하여, 상황인식맵을 생성할 수 있다. 일 실시예로, 중앙 제어 서버(2000)의 제어부(2900)가 이동-변동맵과 티켓팅 시간, 스케줄 시간 등을 매칭하여, 티켓팅 공간에 사람이 몰리는 것에 대해 노선 스케줄을 파악하여 상황인식맵을 생성할 수 있다.
다른 실시예로, 식사시간 전후에 공항의 음식점이 붐비는 경우, 또는 최근 특정 음식점에서 줄이 길게 늘어서는 경우, 또는 공항 내의 직원들의 업무 스케줄을 적용하는 경우, 프로모션 행사에 대한 정보를 취득하는 경우 등을 반영하여 중앙 제어 서버(2000)의 제어부(2900)가 상황인식맵을 생성할 수 있다. 뿐만 아니라, 중앙 제어 서버(2000)는 정보 수집부(2100)이 수신한 빅데이터를 활용하거나 뉴스나 SNS에서 언급된 정보들을 필터링하여 유명인사의 귀국/출국 소식 등을 반영한 상황인식맵을 생성할 수 있다.
도 9에서는 외부 상황에 대한 것으로 "Rainy"를 일 실시예로 하였으나, 전술한 많은 상황 정보들이 반영된 상황인식맵을 중앙 제어 서버(2000)가 생성할 수 있다.
따라서, 기존 이동-변동맵들의 비교를 통해 새로이 업데이트된 상황인식맵을 이용하여 주기적으로 변경되는 정적 장애물의 위치나 매번 바뀌는 동적 장애물에 대한 정보를 활용할 수 있으며, 로봇은 시간/시즌/상황 별로 상이한 상황인식맵에 기초하여 로봇이 이동할 수 있다. 이를 위해서 로봇은 이동 중에 지속하여 이동-변동맵을 생성하고, 누적된 이동-변동맵에 따라 로봇의 제어부(900) 혹은 중앙 제어 서버(2000)의 제어부(2900)는 상황인식맵을 생성할 수 있다.
본 발명을 적용할 경우, 매번 바뀌는 동적 장애물과 주기적으로 바뀌는 정적 장애물로 인해 한 번 획득된 고정-확정맵을 지속적으로 사용할 수 없을 수 있는데, 매번 새로운 고정-확정맵을 만들어 사용하는 것이 비효율적이므로, 완전히 고정된 객체들에 대해서는 고정-확정맵에 저장하고, 가변적인 상황에 따른 이동 객체들의 위치까지 포함하는 상황인식맵을 생성하여 로봇이 매 상황에 따라 상황인식맵을 로딩하여 이동할 수 있도록 한다.
그리고 로봇은 딥러닝이 적용된 상황인식맵에 기반하여 공간의 변화 상태를 예측하여 로봇이 이동하여 기능하는 운용 영역의 순서를 결정할 수 있다. 예를 들어 전체 공간이 A, B, C, D 구역으로 나뉘어지는데, 고정-확정맵에 따라 이동하는 경우 A->B->C->D로 이동하지만, 공간의 변화 상태를 지시하는 상황 정보를 수신하면 그에 해당하는 상황인식맵에 따라 로봇의 제어부(900)는 로봇의 이동 및 기능 수행을 위한 운용 영역의 순서를 B->C->D->A로 변경할 수 있다. 이는 라이다 센싱부(110), 뎁스 센싱부(120), 적외선 센싱부130) 혹은 열감지, 비전 센싱 등을 통해 공간에 대한 외부 객체들의 상태를 로봇(1000)이 파악할 수 있다. 로봇의 제어부(900) 혹은 중앙 제어 서버(2000)의 제어부(2900)는 파악된 외부 정보에서 산출된 다수의 이동-변동맵을 이용하여 상황별로, 시간 별로, 주기 별로 상황인식맵을 생성할 수 있다.
도 10은 본 발명의 일 실시예에 의한 중앙 제어 서버와 로봇들 간에 맵을 송수신하고 상황 정보를 송수신하는 과정을 보여주는 도면이다. 다수의 로봇들(1000a, 1000b)이 배치되어 있다. 정보 취득 장치(3000)는 전술한 공간 내에 부착된 다양한 센서들 혹은 정보를 제공하는 장치들을 포함한다.
다수의 로봇들(1000a, 1000b)은 로봇 간에 통신하거나, 혹은 중앙 제어 서버(2000)와 로봇이 통신할 수 있으며, 로봇의 통신부(500)와 중앙 제어 서버의 통신부(2500)는 통신을 통해 고정-확정맵 또는 상황인식맵 또는 이동-변동맵을 송수신할 수 있다.
제1로봇(1000a) 및 제2로봇(1000b)는 주행하는 과정에서 T1 시점 및 T2 시점에서 제1이동-변동맵과 제2이동-변동맵을 각각 생성한다(S1010, S1020).
한편, 정보 취득 장치(3000) 역시 T1 시점 및 T2 시점에서 취득한 정보를 전송한다. 즉, T1 시점의 취득 정보를 전송하고(S1011), 이후 T2 시점의 취득 정보를 전송한다(S1021). 이들 취득 정보는 전술한 바와 같이 날씨 정보, 사람들의 이동 혹은 분포에 대한 정보, 비행 스케줄, 예약 스케줄, 티켓팅, 공사 정보 등 다양하다.
그리고 제1로봇(1000a) 및 제2로봇(1000b)은 각각 생성한 제1이동-변동맵과 제2이동-변동맵을 중앙 제어 서버(2000)에 전송한다(S1012, S1022).
중앙 제어 서버(2000)는 S1011 및 S1021에서 취득한 정보와 S1012, S1022에서 수신한 제1, 제2 이동-변동맵을 이용하여 제1상황에 대응하는 제1상황인식맵을 생성한다(S1030). 제1상황이란 앞서 살펴본 "비가 온다", "사람들이 게이트 A에서 B로 이동한다" 등을 의미한다. 그리고 중앙 제어 서버(2000)는 생성한 제1상황인식맵을 다수의 로봇들(1000a, 1000b)에게 전송한다(S1031, 1032). 이러한 과정은 중복하여 발생할 수 있으며, 그 결과 다수의 로봇들(1000a, 1000b)은 제1, 제2, ... 제 n 상황 정보와 이에 대응하는 제1, 제2, ..., 제 n 상황인식맵을 보유할 수 있다.
이후, 정보 취득 장치(3000)는 T3 시점에서 취득한 정보를 중앙 제어 서버(2000)에게 전송한다(S1041). 중앙 제어 서버(2000)는 취득 정보가 제1상황에 대응하는 것으로 확인하면(S1042), 현재 이동 중이거나 이동이 예정된 로봇(1000a)에게 제1상황을 지시하는 상황 정보를 전송할 수 있다(S1045). 또는 제1상황에 대응하여 적용할 제1상황인식맵을 지시하는 정보를 전송할 수 있다(S1045). 로봇(1000a)의 제어부(900)는 수신된 정보에 따라 제1상황인식맵을 맵 저장부(200)에서 선택하여 이를 이용하여 로봇을 이동시킬 수 있다(S1050).
다른 실시예로, S1031 및 S1032의 단계를 생략하고, S1045에서 중앙 제어 서버(2000)가 제1상황인식맵을 로봇(1000a)에게 송신할 수 있다.
도 10에서 정보 취득 장치(3000)와 다수의 로봇들(1000a, 1000b)들이 서로 통신할 수 있는 경우, 중앙 제어 서버(2000)가 없이 로봇의 제어부(900)가 상황인식맵을 생성할 수도 있으며, 생성한 상황인식맵을 다른 로봇에게 전송할 수 있다.
정리하면, 로봇의 통신부(500)는 중앙 제어 서버(2000) 또는 외부의 로봇으로부터 고정-확정맵 또는 상황인식맵이 정의하는 공간 내에서의 이동 객체의 분포 정보, 이동 객체의 이동 정보 또는 이러한 분포/이동 정보들을 반영한 상황정보, 또는 상황인식맵 중 어느 하나 이상을 수신할 수 있다. 그리고 로봇의 제어부(900)는 수신한 정보를 반영하여 로봇의 이동부를 제어할 수 있다.
상황인식맵에는 상황 정보가 포함된다. 상황 정보는 주기 또는 시간 정보를 포함하므로 특정한 시간에 특정한 이동 객체가 배치된다는 정보가 포함된다.
도 10의 실시예에서, 정보 취득 장치(3000)는 맵에 대응하는 공간에 다수 배치될 수 있다. 그리고 이들 정보 취득 장치(3000)가 생성한 상황 정보를 중앙 제어 서버(2000)의 정보 수집부(2100)가 수집할 수 있다.
S1042 과정은 중앙 제어 서버(2000)의 제어부(2900)가 정보 수집부(2100)가 수집한 상황 정보와 기 저장되었던 상황인식맵을 매칭시키는 과정을 포함한다.
도 11은 본 발명의 일 실시예에 의한 로봇이 상황인식맵을 이용하여 이동하는 과정을 보다 상세히 보여주는 도면이다.
로봇의 통신부(500)는 중앙 제어 서버, 외부의 로봇 또는 정보 취득 장치로부터 상황 정보를 수신한다(S1110). 예를 들어 비가 온다는 정보를 다른 로봇 혹은 정보 취득 장치(3000) 혹은 중앙 제어 서버(2000)로부터 수신할 수 있다. 로봇의 제어부(900)는 수신한 상황 정보에 대응하는 상황인식맵을 맵 저장부에서 선택한다(S1120). 만약 수신한 상황 정보가 둘 이상일 수 있다. 예를 들어, 오전 10시에 적용할 제1상황인식맵과 비오는 날씨에 적용할 제2상황인식맵이 있고, 비오는 오전 10시에 로봇이 이동하는 경우, 상황인식맵의 우선순위에 따라 선택할 수 있다. 일 실시예로, 제2상황인식맵의 우선순위가 높다면 로봇의 제어부(900)는 제2상황인식맵을 선택하고, 선택한 제2상황인식맵을 이용하여 로봇의 이동을 제어한다(S1130).
한편, 로봇 혹은 중앙 제어 서버는 이동-변동맵의 누적된 정보에 기하여 고정-확정맵을 업데이트 할 수 있다. 예를 들어, 고정-확정맵을 생성하는 시점에서는 고정 객체로 센싱되지 않아 고정-확정맵에 저장되지 않았으나, 이후 이동-변동맵에 항상 센싱되는 객체의 경우, 일정 기간(하루 혹은 일주일)동안 누적된 이동-변동맵에서 고정된 객체로 확인할 수 있으며 이를 반영하여 고정-확정맵을 업데이트할 수 있다.
반대로, 고정-확정맵에 특정 위치에 고정 객체가 배치된 것으로 저장되었으나, 이후 이동-변동맵에서 전혀 센싱되지 않는다면, 해당 고정 객체를 제거하고 이를 반영하여 고정-확정맵을 업데이트할 수 있다.
도 12는 본 발명의 일 실시예에 의한 고정 객체의 변화를 이동-변동맵에서 확인하고 고정-확정맵을 업데이트하는 과정을 보여주는 도면이다. 역시 설명의 편의를 위해 작은 공간을 중심으로 설명한다.
고정-확정맵(210c)은 3x3 공간에서 두 개의 고정 객체("97" 및 "99")가 배치된 공간이다. 이 공간을 로봇이 9회에 걸쳐 센싱한 결과 1201 내지 1209와 같이 외부의 객체들이 센싱되었다. 1201 내지 1209는 일종의 임시 맵으로 로봇이 센싱한 정보를 그대로 나타낸 것이다. 점선으로 임시맵들을 표시하였다.
1201을 살펴보면 가운데 이동 객체("5"로 표시)가 센싱되었으며, 하단에 이동 객체("1"로 표시)가 센싱되었다. 그런데 고정-확정맵(210c)의 좌측 상단에 위치하였던 고정 객체("97"로 표시)가 센싱되지 않은 상태이다.
이 경우, 로봇의 제어부(900)는 1211과 같이 고정 객체가 있어야 할 자리에 객체가 전혀 센싱되지 않았음을 나타내도록 "-1"을 표시한다. 또한, 이동 객체로 센싱되었던 "5" 및 "1"을 포함하는 이동-변동맵(1211)을 생성한다.
이후 1202 내지 1209와 같이 센싱된 결과에서도 똑같이 좌측 상단의 "97" 객체가 배치되지 않은 상태이며 이를 반영하기 위해 이동-변동맵(1212, 1213, 1219)에는 고정 객체가 센싱되지 않았음을 지시하기 위해 "-1"을 포함시킨다.
그 결과 누적된 위해 이동-변동맵(1212, 1213, 1219)을 이용하여 새로운 고정-확정맵(210d)을 생성할 수 있다. 즉, 9회의 이동-변동맵(1212, 1213, 1219)에서 항상 센싱되었던 "5"라는 객체를 고정 객체로 판단하여 "95"로 고정-확정맵(210d)에 저장할 수 있다. 또한, 9회의 이동-변동맵(1212, 1213, 1219)에서 항상 센싱되지 않았던 "97"이라는 고정 객체는 제거된 것으로 판단하여 1250이 지시하는 위치에 객체가 배치되지 않은 것으로 고정-확정맵(210d)을 생성할 수 있다.
도 12의 과정은 로봇(1000)의 제어부(900) 또는 중앙 제어 서버(2000)의 제어부(2900) 모두 수행할 수 있으며, 그 결과로 산출된 새로운 고정-확정맵(210d)은 로봇(1000)과 중앙 제어 서버(2000) 사이에, 혹은 로봇(1000)과 다른 로봇 사이에 송수신될 수 있다.
또한, 도 12의 과정에서 9회의 이동-변동맵(1212, 1213, 1219) 외에 상황인식맵을 이용할 수도 있다. 예를 들어 5개의 상황인식맵이 있는데, 여기에서도 동일하게 특정한 고정 객체가 없거나 혹은 이동 객체가 항상 센싱된다면, 이를 반영하여 새로운 고정-확정맵을 업데이트 하여 생성할 수 있다.
정리하면, 본 발명의 상황인식맵(230)은 특정한 상황(시간, 주기, 외부의 변화 요소 등)에 대응하여 이동 객체들의 위치와 이들의 특성 정보가 저장된 맵을 포함한다. 또한, 상황인식맵(230)은 대응하는 상황에 대한 정보를 저장하며, 이 과정에서 일정 범위 내에서 이동성을 가지는 이동 객체에 대해서는 별도의 식별자를 부여하고, 이동 객체가 이동할 수 있는 범위에 대한 정보도 상황인식맵(230)에 저장될 수 있다. 이는 도 6에서 살펴보았다.
도 13은 본 발명의 일 실시예에 의한 로봇이 정보를 수신하는 과정을 보여주는 도면이다. 도 10의 구성에 기반할 수 있다. 로봇(1000a)의 통신부(500)는 중앙 제어 서버(2000) 또는 외부의 로봇(1000b)으로부터 고정-확정맵 또는 상황인식맵이 정의하는 공간 내에서의 이동 객체의 분포 정보, 이동 객체의 이동 정보 또는 정보들을 반영한 상황정보, 또는 상황인식맵 중 어느 하나 이상을 수신할 수 있다(S1310). 이를 나누어 살펴본다.
로봇(1000a)의 통신부(500)는 공간에서의 이동 객체의 분포 정보를 수신할 수 있다. 이는 특정한 영역에 이동 객체들이 다수 분포된 정보를 포함한다. 이는 정보 취득 장치(3000)로부터 이동 객체들의 정보를 수집한 중앙 제어 서버(2000)를 통해 수신할 수도 있고, 다른 영역에 배치된 로봇(1000b)으로부터 수신할 수도 있다.
또한, 로봇(1000a)의 통신부(500)는 이동 객체의 이동 정보를 수신할 수 있다. 이는 특정하게 군집된 이동 객체들(예를 들어 사람들)이 어느 방향으로 이동한다는 정보를 의미한다. 다수의 사람들이 게이트 A -> 게이트 B로 이동 중이라는 정보가 일 실시예가 될 수 있다.
다음으로 로봇(1000a)의 통신부(500)는 전술한 정보들을 반영한 상황정보를 수신할 수도 있다. 마찬가지로, 외부의 온도 변화, 날씨 변화, 혹은 스케줄 변화 등에 대응하는 정보를 수신하고 이에 따라 이동 객체들의 분포가 변화한다는 정보를 수신할 수도 있다.
또다른 실시예로 로봇(1000a)의 통신부(500)는 전술한 이동 객체들의 분포나 이동에 대응하여, 혹은 상황정보에 대응하여 생성된 상황인식맵을 수신할 수 있다. 이는 로봇(1000a)이 특정한 공간(예를 들어 티켓팅 부스)에 이동 객체들이 분포된 경우 전체 공간의 상황인식맵을 보유하는 것을 의미한다. 이후에 로봇(1000a)이 티켓팅 부스에 이동 객체들이 다수 분포된 경우 수신했던 상황인식맵을 이용하여 주행할 수 있다.
로봇(1000a)의 제어부(900)는 수신한 정보를 반영하여 로봇의 이동부(300)를 제어한다. 로봇(1000a)의 제어부(900)가 수신한 정보에 대응하는 상황인식맵이 이미 저장된 상태라면 로봇(1000a)의 제어부(900)는 맵 저장부(200)로부터 상황인식맵을 선택하여 주행에 적용할 수 있다.
본 발명을 적용할 경우, 로봇은 특정한 상황에 대응하는 별도의 상황인식맵에 기반하여 이동할 수 있다. 도 6에서 살펴본 바와 같이 상황인식맵을 적용할 수 있는 특정한 시간에 대한 정보, 또는 도 9에서 살펴본 바와 같이 상황인식맵을 적용할 수 있는 특정한 외부 상황에 대한 정보와 상황인식맵이 결합되어 있으므로, 로봇은 특정한 외부 상황 혹은 시간에 대한 정보를 취득하면 이에 적합한 상황인식맵을 로딩하여 주행 경로를 생성하고 이동하는데, 적용할 수 있다.
도 14는 본 발명의 일 실시예에 의한 로봇의 경로저장부(240)가 고정-확정맵과 상황인식맵의 경로를 달리 저장하는 도면이다. 고정-확정맵(1410) 및 두 개의 상황인식맵(1431, 1432)이 제시되어 있다.
제1상황인식맵(1431)은 3월에서 4월의 주말 오전 10시에 비가 오는 상황에서 이동 객체들이 배치될 것으로 예상되는 맵의 구성 및 이에 대한 상황정보를 저장하고 있다. 또한 우선순위로는 중간(Priority : Middle)으로 설정되어 있다.
제2상황인식맵(1432)은 도쿄로 티켓팅하는 상황에서 이동 객체들이 배치될 것으로 예상되는 맵의 구성 및 이에 대한 상황정보를 저장하고 있다. 또한 우선순위로는 높음(Priority : High)으로 설정되어 있다.
맵의 좌측 및 하단의 0~5는 맵 상의 위치를 나타내기 위한 인덱스이다.
경로저장부(240a)는 경로를 지시하는 식별정보(Serial), 적용하는 맵의 식별정보(Map_Id), 경로(Path) 및 맵의 종류(Map_Type)이 제시되어 있다. 맵의 종류란 고정-확정맵(Fixed)인지, 상황인식맵(ContextAware)인지를 표시한다.
고정-확정맵(1410)에는 로봇의 이동 경로가 화살표로 표시되어 있다. 이러한 경로는 로봇의 경로저장부(240a)의 Path에 도 14와 같이 저장된다.
(5, 0), (1, 0), (1, 2), (4, 2), (4, 5), (1, 5)
마찬가지로 제1상황인식맵(1431)에도 로봇의 이동 경로가 화살표로 표시되어 있다. 이러한 경로는 로봇의 경로저장부(240a)의 Path에 도 14와 같이 저장된다.
(5, 0), (4, 0), (4, 5), (1, 5)
제2상황인식맵(1432) 역시 로봇의 이동 경로가 화살표로 표시되어 있다. 이러한 경로는 로봇의 경로저장부(240a)의 Path에 도 14와 같이 저장된다.
(5, 0), (1, 0), (1, 5)
도 14와 같이 세 개의 맵(1410, 1431, 1432)을 보유한 로봇은 중앙 제어 서버(2000) 또는 다른 로봇들로부터 비가 오는 상황이라는 정보를 수신할 수 있다. 또한 로봇은 주행할 시점에서의 시간에 대한 정보를 결합하여 비가 오는 3월 또는 4월의 주말 오전 10시인 경우에는 제1상황인식맵(1431)을 로딩하고 그에 따른 경로는 경로저장부(240a)의 "002" 경로에 따라 이동한다. 물론, 이동 과정에서 새로이 이동 객체를 센싱하는 작업을 로봇의 센싱모듈(100)이 수행할 수 있다.
또한, 로봇은 중앙 제어 서버(2000) 또는 다른 로봇들로부터 도쿄행 비행기의 티켓팅이 시작했다는 상황 정보를 수신할 수 있다. 이에 기하여 로봇은 제2상황인식맵(1432)을 로딩하고 그에 따른 경로는 경로저장부(240a)의 "003" 경로에 따라 이동한다. 물론, 이동 과정에서 새로이 이동 객체를 센싱하는 작업을 로봇의 센싱모듈(100)이 수행할 수 있다.
한편, 현재 상황에 적용되는 둘 이상의 상황인식맵이 선택된 경우, 우선순위를 이용하여 상황인식맵을 선택할 수 있다. 예를 들어, 도 14에서 로봇이 비가 오는 3월 또는 4월의 주말 오전 10시라는 상황정보와 도쿄행 비행기의 티켓팅이 시작되었다는 상황정보를 수신한다. 이 상황에서 로봇의 제어부(900)는 두 개의 상황인식맵(1431, 1432)을 선택하며, 이들 중에서 우선순위가 높은 제2상황인식맵(1432)을 선택하여 이에 따른 경로 "003"을 적용하여 주행할 수 있다.
로봇은 전술한 두 종류의 상황인식맵에서 지시하는 상황이 아닌 경우 고정-확정맵(1410)의 경로("001")를 이용하여 주행할 수 있다.
지금까지 살펴본 본 발명의 실시예들을 적용할 경우, 로봇은 고정된 객체들에 대한 맵과 이동 객체들 및 이들 이동 객체들의 배치 상황이 저장된 상항인식맵을 이용하여 이동할 수 있어 다양한 환경에서 로봇이 주행할 수 있다. 도 14와 같이 다양한 맵들을 이용할 수 있으며, 또한 이동 객체들에 도 6와 같이 식별자를 설정할 수 있다.
이는 로봇의 센싱모듈이 외부의 객체를 센싱할 수 있으며, 이 과정에서 외부 객체들의 특성 정보를 함께 센싱하는 것을 통해 가능하며, 특히 라이다 센싱부 및 뎁스 센싱부, 비전 센싱부, 적외선 센싱부들이 외부의 객체의 상태(재질, 온도, 컬러, 모양 등)에 대한 정보를 제공한다. 그 결과 동일 혹은 유사 범위 내의 특성 정보를 가지는 이동 객체가 시간을 두어 같은 위치 혹은 근접한 위치에서 센싱될 경우, 이들에 대해 식별자를 부여하여 별도로 관리할 수 있다. 특히 우산꽂이, 안내문 같은 경우 특정한 상황에서만 배치되므로, 상황인식맵의 상황정보와 우산꽂이 같은 이동 객체를 식별하여 저장할 경우 로봇의 기능 효율을 높일 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 다양한 상황인식맵에 기반하여 로봇이 이동할 수 있으며, 또한, 중앙 제어 서버 혹은 외부의 정보 취득 장치를 통해 확인된 상황 정보에 기하여 로봇이 공간 내의 다양한 변수를 고려하여 이동할 수 있다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
1000: 로봇 100: 센싱모듈
200: 맵저장부 210, 1410: 고정-확정맵
220, 701~709, 901, 902, 903: 이동-변동맵
230, 730, 1431, 1432: 상황인식맵
300: 이동부 400: 기능부
500: 통신부 2000: 중앙 제어 서버
3000: 정보 취득 장치

Claims (14)

  1. 로봇의 이동을 제어하는 이동부;
    고정-확정맵 및 상황인식맵을 저장하는 맵 저장부;
    로봇의 외부에 배치된 하나 이상의 객체를 센싱하는 센싱모듈; 및
    상기 이동부, 맵 저장부, 센싱모듈을 제어하며, 상기 상황인식맵 또는 고정-확정맵을 선택하여 상기 로봇의 주행에 적용하는 제어부를 포함하며,
    상기 상황인식맵은 상기 고정-확정맵에 배치되는 이동 객체의 위치정보 및 상기 이동 객체의 배치에 관한 상황 정보를 포함하며,
    상기 제어부는 상기 고정-확정맵 또는 상기 상황인식맵을 이용하여 상기 이동부를 이동시키며,
    상기 센싱모듈은 외부에 배치된 객체를 센싱하며,
    상기 제어부는 상기 센싱된 객체를 이용하여 이동-변동맵을 생성하여 상기 맵 저장부에 저장하며,
    상기 제어부는 상기 저장된 둘 이상의 이동-변동맵을 이용하여 반복하여 센싱되는 이동 객체의 위치 정보를 저장하는 상황인식맵을 생성하며,
    상기 이동 객체는 상기 이동 객체의 재질 또는 컬러 또는 상기 센싱 모듈의 비전 센싱부를 통해 특정한 사물로 확인되어 식별자가 부여되며, 상기 제어부는 상기 이동 객체가 센싱되면 동일한 이동 객체인지 여부를 판단하며, 상기 제어부는 일정 범위 내에서 이동성을 가지는 이동 객체에 대해서는 별도의 식별자를 부여하고, 상기 이동 객체가 이동할 수 있는 범위에 대한 정보를 상기 상황인식맵에 저장하는, 상황인식적으로 맵을 관리하는 로봇.
  2. 제1항에 있어서,
    상기 로봇은 외부의 로봇 또는 중앙 제어 서버와 정보를 송수신하는 통신부를 더 포함하며,
    상기 로봇은 상기 통신부를 이용하여 상기 고정-확정맵 또는 상기 상황인식맵 또는 이동-변동맵을 송수신하는, 상황인식적으로 맵을 관리하는 로봇.
  3. 제2항에 있어서,
    상기 로봇의 통신부는 상기 중앙 제어 서버 또는 상기 외부의 로봇으로부터 상기 고정-확정맵 또는 상기 상황인식맵이 정의하는 공간 내에서의 이동 객체의 분포 정보, 이동 객체의 이동 정보 또는 상기 정보들을 반영한 상황정보, 또는 상황인식맵 중 어느 하나 이상을 수신하며,
    상기 제어부는 상기 수신한 정보를 반영하여 상기 로봇의 이동부를 제어하는, 상황인식적으로 맵을 관리하는 로봇.
  4. 제3항에 있어서,
    상기 로봇의 통신부는 상기 중앙 제어 서버 또는 상기 외부의 로봇 또는 정보 취득 장치로부터 상황 정보를 수신하며,
    상기 제어부는 상기 수신한 상황 정보에 대응하는 상황인식맵을 상기 맵 저장부에서 선택하는, 상황인식적으로 맵을 관리하는 로봇.
  5. 제1항에 있어서,
    상기 제어부는 상기 저장된 둘 이상의 이동-변동맵 또는 상기 상황인식맵을 이용하여 추가 또는 제거할 고정 객체의 위치 정보를 반영하여 상기 고정-확정맵을 업데이트하는, 상황인식적으로 맵을 관리하는 로봇.
  6. 하나 이상의 로봇으로부터 고정-확정맵, 상황인식맵 및 이동-변동맵 중 어느 하나 이상을 수신하고 상기 로봇들에게 상기 맵 또는 상기 맵과 관련된 정보를 송신하는 통신부;
    상기 고정-확정맵, 상기 상황인식맵 및 상기 이동-변동맵을 저장하는 맵 저장부; 및
    상기 둘 이상의 이동-변동맵을 이용하여 반복하여 센싱되는 이동 객체의 위치 정보를 저장하는 상기 상황인식맵을 생성하는 제어부를 포함하며,
    상기 이동 객체는 상기 이동 객체의 재질 또는 컬러 또는 상기 로봇의 비전 센싱부를 통해 특정한 사물로 확인되어 식별자가 부여되며,
    상기 로봇은 상기 이동 객체가 센싱되면 동일한 이동 객체인지 여부를 판단하고 일정 범위 내에서 이동성을 가지는 이동 객체에 대해서는 별도의 식별자를 부여하고, 상기 이동 객체가 이동할 수 있는 범위에 대한 정보를 상기 상황인식맵에 저장하는, 상황인식적으로 맵을 관리하는 중앙 제어 서버.
  7. 제6항에 있어서,
    상기 맵에 대응하는 공간에 배치된 하나 이상의 정보 취득 장치가 생성한 상황 정보를 수집하는 정보 수집부를 더 포함하며,
    상기 제어부는 상기 정보 수집부가 수집한 상황 정보와 상기 상황인식맵을 매칭시키는, 상황인식적으로 맵을 관리하는 중앙 제어 서버.
  8. 제6항에 있어서,
    상기 제어부는 상기 저장된 둘 이상의 이동-변동맵 또는 상기 상황인식맵을 이용하여 추가 또는 제거할 고정 객체의 위치 정보를 반영하여 상기 고정-확정맵을 업데이트하는, 상황인식적으로 맵을 관리하는 중앙 제어 서버.
  9. 로봇의 맵 저장부에 저장된 고정-확정맵 또는 상황인식맵에 기반하여 상기 로봇의 이동부를 상기 로봇의 제어부가 제어하는 단계;
    상기 로봇의 센싱 모듈은 상기 로봇의 주행 과정에서 객체를 센싱하는 단계; 및
    상기 로봇의 제어부는 상기 센싱한 외부의 객체의 위치를 포함하는 이동-변동맵을 생성하여 상기 맵 저장부에 저장하는 단계;
    상기 제어부는 상기 저장된 둘 이상의 이동-변동맵을 이용하여 반복하여 센싱되는 이동 객체의 위치 정보를 저장하는 상황인식맵을 생성하는 단계;
    상기 제어부는 상기 이동 객체의 재질 또는 컬러 또는 상기 센싱 모듈의 비전 센싱부를 통해 특정한 사물로 확인하여 식별자를 부여하며, 상기 제어부는 상기 이동 객체가 센싱되면 동일한 이동 객체인지 여부를 판단하는 단계;
    상기 제어부는 일정 범위 내에서 이동성을 가지는 이동 객체에 대해서는 별도의 식별자를 부여하고, 상기 이동 객체가 이동할 수 있는 범위에 대한 정보를 상기 상황인식맵에 저장하는 단계를 포함하며,
    상기 상황인식맵은 상기 고정-확정맵에 배치되는 이동 객체의 위치정보 및 상기 이동 객체의 배치에 관한 상황 정보를 포함하는, 상황인식적으로 맵을 관리하는 방법.
  10. 제9항에 있어서,
    상기 로봇의 통신부는 중앙 제어 서버 또는 외부의 로봇으로부터 상기 고정-확정맵 또는 상기 상황인식맵이 정의하는 공간 내에서의 이동 객체의 분포 정보, 이동 객체의 이동 정보 또는 상기 정보들을 반영한 상황정보, 또는 상황인식맵 중 어느 하나 이상을 수신하며,
    상기 제어부는 상기 수신한 정보를 반영하여 상기 로봇의 이동부를 제어하는, 상황인식적으로 맵을 관리하는 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020170039224A 2017-03-28 2017-03-28 상황인식적으로 맵을 관리하는 방법, 이를 구현하는 장치 KR102310346B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170039224A KR102310346B1 (ko) 2017-03-28 2017-03-28 상황인식적으로 맵을 관리하는 방법, 이를 구현하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170039224A KR102310346B1 (ko) 2017-03-28 2017-03-28 상황인식적으로 맵을 관리하는 방법, 이를 구현하는 장치

Publications (2)

Publication Number Publication Date
KR20180109455A KR20180109455A (ko) 2018-10-08
KR102310346B1 true KR102310346B1 (ko) 2021-10-07

Family

ID=63864547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170039224A KR102310346B1 (ko) 2017-03-28 2017-03-28 상황인식적으로 맵을 관리하는 방법, 이를 구현하는 장치

Country Status (1)

Country Link
KR (1) KR102310346B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12085951B2 (en) 2019-06-14 2024-09-10 Lg Electronics Inc. Method of updating map in fusion SLAM and robot implementing same
KR102362612B1 (ko) * 2021-05-28 2022-02-15 주식회사 폴라리스쓰리디 방역을 수행하기 위한 이동 로봇 및 이의 주행 경로 생성 방법
KR102557606B1 (ko) * 2022-10-21 2023-07-21 한국전자기술연구원 자율주행 및 관제를 위한 컨텍스트 맵 구축 방법
WO2024085286A1 (ko) * 2022-10-21 2024-04-25 한국전자기술연구원 드론과 로봇의 협업 기반 컨텍스트 맵 구축 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004299026A (ja) * 2003-04-01 2004-10-28 Honda Motor Co Ltd 受付案内システム
JP2009217330A (ja) * 2008-03-07 2009-09-24 Toyota Motor Corp 移動ロボットシステム及びその制御方法
KR101048098B1 (ko) * 2008-09-03 2011-07-11 한국과학기술원 로봇의 경로계획 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004299026A (ja) * 2003-04-01 2004-10-28 Honda Motor Co Ltd 受付案内システム
JP2009217330A (ja) * 2008-03-07 2009-09-24 Toyota Motor Corp 移動ロボットシステム及びその制御方法
KR101048098B1 (ko) * 2008-09-03 2011-07-11 한국과학기술원 로봇의 경로계획 장치 및 방법

Also Published As

Publication number Publication date
KR20180109455A (ko) 2018-10-08

Similar Documents

Publication Publication Date Title
KR102310346B1 (ko) 상황인식적으로 맵을 관리하는 방법, 이를 구현하는 장치
US20200401144A1 (en) Navigating semi-autonomous mobile robots
KR102012549B1 (ko) 이동 객체를 식별하여 맵을 작성하는 방법 및 이를 구현하는 로봇
US11100457B2 (en) Venue map based security infrastructure management
US10268899B2 (en) Real-time indoor parking advisor
US10026278B1 (en) Optimal evacuation plans in emergency situations
US9988237B1 (en) Elevator management according to probabilistic destination determination
US11398141B2 (en) Hospitality light
CN107533794A (zh) 自动驾驶辅助装置、控制方法、程序及存储介质
US10203211B1 (en) Visual route book data sets
JP2020086945A (ja) 配車管理装置、配車管理方法及び配車管理用コンピュータプログラム
CN113148788A (zh) 基于乘客的定位在电梯轿厢中显示轿厢操作面板的系统和方法
Nithya et al. A smart parking system: an IoT based computer vision approach for free parking spot detection using faster R-CNN with YOLOv3 method
EP3929125A1 (en) Travel-speed based predictive dispatching
KR20170081884A (ko) 실내 경로 안내 장치 및 그 동작 방법
Mishra et al. IoT impact and challenges on robotic waiters in automation of restaurants and hotels
KR102420090B1 (ko) 이동 객체를 식별하여 맵을 작성하는 방법 및 이를 구현하는 로봇
KR102315361B1 (ko) 실내 공간을 주행하는 로봇의 동작을 평가하는 건물
KR102643979B1 (ko) 기기 제어 지원 장치, 프로그램 및 제어 지원 방법
JP7267137B2 (ja) 情報処理装置
US11089666B1 (en) Room type determinations with motion sensors
KR101269092B1 (ko) 전시물 안내용 단말기 및 이를 이용한 전시물 안내 시스템
EP4361926A1 (en) A method for planning cleaning operations at a facility
US20210124955A1 (en) Information processing system, information processing method, and non-transitory storage medium
Wu et al. An evaluation of information sharing parking guidance policies using a bayesian approach

Legal Events

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