KR20180105984A - 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇 - Google Patents

어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇 Download PDF

Info

Publication number
KR20180105984A
KR20180105984A KR1020170033383A KR20170033383A KR20180105984A KR 20180105984 A KR20180105984 A KR 20180105984A KR 1020170033383 A KR1020170033383 A KR 1020170033383A KR 20170033383 A KR20170033383 A KR 20170033383A KR 20180105984 A KR20180105984 A KR 20180105984A
Authority
KR
South Korea
Prior art keywords
robot
area
map
objects
path
Prior art date
Application number
KR1020170033383A
Other languages
English (en)
Other versions
KR102286656B1 (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 KR1020170033383A priority Critical patent/KR102286656B1/ko
Publication of KR20180105984A publication Critical patent/KR20180105984A/ko
Application granted granted Critical
Publication of KR102286656B1 publication Critical patent/KR102286656B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 어라운드 맵을 이용하여 경로를 수정하는 방법 및 이를 구현하는 로봇에 관한 기술로, 본 발명의 일 실시예에 의한 어라운드 맵을 이용하여 경로를 변경하는 방법은 로봇의 제어부가 맵 저장부에 저장한 토탈 맵에 기반하여 메인 경로를 생성하고 메인 경로에 따라 로봇을 주행시키는 단계, 로봇의 센싱모듈은 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 센싱하며, 제어부는 객체들의 위치를 저장하는 제1어라운드 맵을 생성하는 단계, 제어부는 제1어라운드 맵과 토탈 맵을 비교하여 이동 객체를 식별하고 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하는 단계, 제어부는 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부를 제어하는 단계를 포함한다.

Description

어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇{METHOD OF MODIFYING PATH USING AROUND MAP AND ROBOT IMPLEMENTING THEREOF}
본 발명은 어라운드 맵을 이용하여 경로를 수정하는 방법 및 이를 구현하는 로봇에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에서 로봇이 동작하기 위해서는 전체 공간에 대한 맵을 가질 경우 주행 경로를 설정하는데 도움이 된다. 또한 전체 공간에서 발생하는 동적 변화를 확인하고 동적 변화에 의한 일시적인 공간의 변화에 로봇이 대응하는 것이 필요하다. 특히, 공항이나 항만, 기차역, 백화점, 호텔, 병원, 놀이동산 등과 같이 다수의 사람들이 이동하는 공간(이하 "대면적 유동인구 공간"이라 한다)에서는 건축물의 구조뿐만 아니라 다양하고 불특정한 객체들의 움직임을 로봇이 파악하는 것이 필요하다.
그러나, 전술한 대면적 유동인구 공간에는 항시적으로 사람들이 많이 이용 및 이동하며, 또한 다양한 사물들이 배치되는 상황이 발생한다. 따라서, 로봇이 이를 맵의 고정된 영역과 구별하는 방안이 필요하다. 이러한 문제점을 해결하기 위해, 본 명세서에서는 로봇은 최초로 인식한 공간에 대한 정보와 새로이 인식한 공간에 대한 정보를 조합하여 경로를 산출하는 방안을 제시하고자 한다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 변화가 빈번한 공간 내에서 로봇이 효율적으로 주행할 수 있도록 어라운드 맵을 생성하여 경로를 재설정하거나 변경하는 방법과 이를 구현하는 로봇을 제공하고자 한다.
또한, 본 명세서에서는 유동 인구들과 사물들이 특정 영역에 지속하여 배치될 경우, 해당 영역을 장애물 영역으로 판단하여 이 영역을 이동하는 과정에서 발생하는 로봇의 주행 속도 저하 혹은 기능 효율을 떨어뜨리는 문제를 해결하고, 장애물들을 회피하여 이동할 수 있는 새로운 경로를 생성하여 로봇이 효과적으로 주행할 수 있도록 하는 방법과 이를 구현하는 로봇을 제공하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 어라운드 맵을 이용하여 경로를 변경하는 방법은 로봇의 제어부가 맵 저장부에 저장한 토탈 맵에 기반하여 메인 경로를 생성하고 메인 경로에 따라 로봇을 주행시키는 단계, 로봇의 센싱모듈은 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 센싱하며, 제어부는 객체들의 위치를 저장하는 제1어라운드 맵을 생성하는 단계, 제어부는 제1어라운드 맵과 토탈 맵을 비교하여 이동 객체를 식별하고 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하는 단계, 제어부는 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부를 제어하는 단계를 포함한다.
본 발명의 다른 실시예에 의한 어라운드 맵을 이용하여 경로를 변경하는 로봇은 로봇의 이동을 제어하는 이동부, 로봇이 이동하는 전체 공간에 대한 토탈 맵 및 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 저장하는 어라운드 맵을 저장하는 맵 저장부, 로봇의 외부에 배치된 객체를 센싱하는 센싱모듈, 및 이동부, 맵 저장부, 센싱모듈을 제어하며, 토탈 맵과 어라운드 맵을 참조하여 메인 경로 및 로컬 경로를 생성하고, 제1어라운드 맵과 토탈 맵을 비교하여 이동 객체를 식별하여 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하며, 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부를 제어하는 제어부를 포함한다.
본 발명의 실시예들을 적용할 경우, 센서를 이용하여 어라운드 맵을 작성하여 이를 토탈 맵과 비교하여 장애물을 구별하고 이들 장애물의 분포에 따라 경로를 유지하거나 혹은 수정할 수 있으므로, 로봇이 실시간 공간의 상황에 따라 최단시간 혹은 최고의 기능 수행을 가능하게 하는 주행 경로를 생성하고 이에 따라 주행할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 변화가 빈번한 공간 내에서 로봇은 전체 공간에 대한 메인 경로와 일부 영역에서 장애물에 대응하기 위한 로컬 경로를 실시간으로 생성할 수 있으며, 이에 따라 효율적으로 주행할 수 있다.
뿐만 아니라, 본 발명의 실시예들을 적용할 경우 유동 인구들과 사물들이 특정 영역에 지속하여 배치될 경우 로봇이 해당 영역으로 무리하게 진입하여 로봇의 주행 속도 및 기능 발현 효율을 낮추는 것을 피할 수 있으며, 장애물들을 효과적으로 회피하여 이동할 수 있는 새로운 경로를 생성하여 로봇이 주행할 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 토탈 맵의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 어라운드 맵을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 도 4의 어라운드 맵에 기반하여 로컬 경로를 생성한 도면이다.
도 6은 본 발명이 일 실시예에 의한 장애물 영역(221)에 대한 판단에 기반하여 생성한 로컬 경로를 보여주는 도면이다.
도 7은 본 발명의 다른 실시예에 의한 장애물 영역(221)에 대한 판단에 기반하여 생성한 로컬 경로를 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 대규모 유동 인구가 이동하는 공간에서 로봇이 특정한 기능을 수행하는 과정을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 로봇의 주행 과정을 보여주는 도면이다.
도 10은 본 발명의 일 실싱예에 의한 경로를 설정하고 저장하는 도면이다.
도 11은 본 발명의 일 실시예에 의한 어라운드 맵과 토탈 맵을 비교하는 도면이다.
도 12는 본 발명의 일 실시예에 의한 장애물 영역을 설정하는 도면이다.
도 13은 본 발명의 일 실시예에 의한 로봇이 장애물 영역이 유지되는 기간을 확인하는 과정을 보여주는 도면이다.
도 14는 본 발명의 일 실시예에 의한 미기능 영역으로 로봇이 회귀하여 기능을 수행하는 경로를 보여주는 도면이다.
도 15는 본 발명의 일 실시예에 의한 장애물 영역 저장부의 구성을 보여주는 도면이다.
도 16은 본 발명의 일 실시예에 의한 토탈 맵에 미기능 영역과 기능 수행 영역을 구분하여 표시한 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 두 종류로 분류될 수 있다. 먼저, 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등에 대한 정보가 저장되며 로봇이 주행하는 전체 공간에 대한 정보가 저장되는 맵을 토탈 맵(Total Map)이라고 한다. 한편, 전체 공간 중 일부 공간의 객체들의 정보 혹은 이들에서 로봇이 수행한 기능 등에 대한 정보가 저장되는 맵을 어라운드 맵(Around Map)이라고 한다.
토탈 맵은 로봇이 보유하고 있는 다양한 센싱부들을 이용하여 저장할 수 있다. 또한, 토탈 맵은 로봇의 센싱부들 외에 해당 공간의 설계도를 변환하여 저장할 수 있다. 전체 공간에서 고정된 객체들은 일정한 고정성을 가지므로 쉽게 제거되거나 새로이 배치되지는 않는다. 그러나 이들 고정된 객체들 역시 변경될 수 있으므로, 이러한 변경 사항을 어라운드 맵을 통하여 확인할 수 있다.
로봇은 토탈 맵을 이용하여 전체 공간의 주행 경로(메인 경로)를 설정할 수 있다. 만약, 로봇이 주행해야 하는 공간에서 토탈 맵에 배치된 고정 객체들만 배치된 경우에는 로봇은 메인 경로의 변경 없이 동일하게 이동할 수 있다.
그러나 이러한 메인 경로는 실제 로봇이 이동하는 과정에서 만나게 되는 다양한 이동 객체들의 배치 혹은 고정 객체들의 변동 상황에 따라 수정이 필요한 경우가 발생한다. 따라서, 이하 본 명세서에서는 로봇의 다양한 센싱부들을 이용하여 현재 공간의 고정 객체와 이동 객체들을 판별하여 어라운드 맵을 생성하고, 이를 토탈 맵과 비교하여 이동 객체들이 공간 내에 배치된 상황을 파악하고, 로봇이 이전에 설정하였던 주행 경로를 변경할 수 있도록 한다.
도 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)에게 전달한다. 예를 들어 외부에 객체가 감지되었는데, 해당 객체의 특성과 거리를 둘 이상의 센싱부가 센싱한 값을 조합하여 산출하고 이를 제어부(900)에게 전달할 수 있다.
맵 저장부(200)는 로봇이 이동하는 공간에 배치되는 객체들의 정보를 저장한다. 맵 저장부(200)는 로봇이 이동하는 전체 공간에 배치되는 객체들, 특히 고정 객체들과 고정성이 높은 이동 객체들의 정보를 저장하는 토탈 맵(210)과, 로봇이 이동하는 과정에서 주변의 공간에 배치되는 객체들의 정보를 저장하는 어라운드 맵(220), 그리고 토탈 맵(210)과 어라운드 맵(220) 사이에서 차이가 발생하여 토탈 맵(210)에 이동 객체들이 군집하여 배치되며 일정 기간 이상 이동 객체들이 유지되는 것으로 확인되는 장애물 영역의 정보가 저장되는 장애물 영역 저장부(230)를 포함한다.
전술한 고정성이 높은 이동 객체들은 누적하여 저장된 어라운드 맵(220)을 제어부(900)가 분석하여 오랜 기간동안, 예를 들어 하루 혹은 일주일 정도 특정 공간에 지속하여 배치된 이동 객체는 고정성이 높은 것으로 할 수 있다. 이 경우 제어부(900)는 일정한 간격을 두고 누적된 어라운드 맵(220)을 분석하여 토탈 맵(210)을 업데이트할 수 있다. 물론, 이러한 맵 정보들은 로봇(1000)이 통신부(500)를 통하여 다른 서버 혹은 다른 로봇들로부터 수신하거나 혹은 이들 서버 및 다른 로봇들에게 전송할 수 있으며, 제어부(900)는 송수신된 맵 정보와 저장된 맵을 비교하여 업데이트할 수 있다.
또한, 맵 저장부(200)는 제어부(900)가 맵 저장부(200)에 저장된 다양한 정보들에 토대를 두어 생성한 경로를 저장하는 경로 저장부(240)를 포함한다. 정리하면, 맵 저장부(200)는 로봇이 이동하는 전체 공간에 대한 토탈 맵(210) 및 토탈 맵(210)에 대응하는 영역 보다 작은 크기의 영역에 배치된 객체들의 위치를 저장하는 어라운드 맵(220)을 저장한다.
어라운드 맵(220)은 다양한 위치 및 센싱한 시간에 따라 중첩하여 다수개가 저장될 수 있다. 맵 저장부(200)는 위치 및 시점에 따라 다수의 어라운드 맵(220)을 저장할 수 있다. 맵 저장부(200)를 구성하는 토탈 맵(210) 및 어라운드 맵(220), 장애물 영역 저장부(230)및 경로 저장부(240)의 세부적인 실시예에 대해서는 후술한다.
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 영역에서 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 제어부(900)는 경로 저장부(240)에 저장된 경로에 따라 로봇을 이동시킬 수 있으며, 제어부(900)가 로봇을 제어하는 것은 모두 유선으로 연결된 전기적 신호를 이용하거나 또는 무선 신호를 이용한다. 이동부(300)의 특성에 따라 제어부(900)는 메인 경로 및 로컬 경로를 생성할 수 있다.
예를 들어, 이동부(300)가 로봇을 회전시키는데 소요되는 시간 혹은 로봇을 회전시키기 위해 감속해야 하는 속도가 클 경우 제어부(900)는 경로를 구성함에 있어서 로봇의 회전 횟수를 줄이는 경로를 생성할 수 있다. 또한 제어부(900)는 속도를 크게 떨어뜨리지 않도록 회전 각도를 구성할 수 있다. 예를 들어, 장애물들을 회피하기 위한 단거리 경로는 직각 혹은 180도 회전이지만, 이러한 회전에 시간이 많이 들 경우 오히려 장애물 인접한 영역까지 장애물 영역으로 지정하고 로봇이 보다 빠른 속도로 이동할 수 있도록 로컬 경로를 생성할 수 있다.
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 보안 로봇인 경우 기능부(400)는 보안에 필요한 구성요소를 포함한다. 기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있으며, 본 발명이 이에 한정되는 것은 아니다.
로봇(1000)의 제어부(900)는 경로 상에 배치되는 다양한 객체들의 특성에 따라 기능부(400)의 동작을 제어할 수 있다. 예를 들어, 경로 상에서 고정 객체들만 배치된 것으로 확인된 경우 주변에 사람이 없으므로 보다 높은 소음으로 더 빠르게 기능하도록 기능부(400)를 제어할 수 있다. 반대로, 사람들이 로봇(1000)의 주변에 다수 존재하는 것으로 센싱모듈(100)가 감지한 경우, 보다 작은 소음으로 더 천천히 기능하도록 기능부(400)를 제어할 수 있다.
특히 청소나 안내 기능을 제공할 경우 로봇은 외부에 사람이 존재하는지 여부, 혹은 고정 객체만 배치된 경우 등에 따라 다양하게 각각의 세부 기능을 조절하여 운용할 수 있으며, 이 과정에서 제어부(900)는 센싱모듈(100)에서 센싱한 정보 및 맵 저장부(200)에 저장된 주변에 대한 정보를 참조할 수 있다.
보다 상세히, 제어부(900)는 토탈 맵(210)과 어라운드 맵(220)을 참조하여 메인 경로 및 로컬 경로를 생성할 수 있다. 특히, 제어부(900)는 어라운드 맵(220)과 토탈 맵(210)을 비교하여 이동 객체를 식별하여 어라운드 맵(220)에 대응하는 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정할 수 있다.
또한, 제어부(900)는 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부(300)를 제어할 수 있다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 토탈 맵의 구성을 보여주는 도면이다. 토탈 맵은 전술한 바와 같이 고정 객체 또는 고정성이 매우 높은 객체들의 위치 및 부가적인 정보를 포함한다. 도 2 및 도 3의 토탈 맵의 실시예들인 210a 및 210b는 로봇이 주행하는 공간 전체를 총 20x20의 셀로 구획하여 각 셀에 배치되는 객체의 유무 혹은 객체의 특성을 저장한다. 이를 통해 전체 공간에서 어느 위치에 객체가 배치되는지를 확인할 수 있다. 각 셀은 (X축-하단에 배치된 숫자, Y축-좌측에 배치된 숫자)로 대응하여 지시될 수 있다. 예를 들어, 좌하단의 셀을 (0, 0)으로, 우상단의 셀을 (19, 19)로 지시할 수 있다.
210a의 경우 고정 객체가 배치되었는지를 온/오프와 같이 이진(binary) 정보로 표시한다. 객체가 배치된 경우 검은 색으로 셀이 표시되어 있으며, 객체가 배치되지 않은 셀은 흰 셀로 되어 있다. 210a에서 전체 공간에 벽과 기둥이 배치되어 있음을 확인할 수 있다.
210b의 경우 객체가 특정 위치에 배치되는 정보와 더불어 객체의 특성도 함께 저장되어 도 3에 도시된 바와 같이 표시된다. 객체는 특성에 따라 숫자로 나뉘어질 수 있다. 예를 들어 도 3에서 "9"로 표시된 것은 콘크리트와 같은 강성 재질의 객체가 배치되는 것을 의미한다. "7"의 경우에는 유리와 같은 재질의 객체가 배치되는 것을 의미한다. "5"의 경우는 금속 재질의 객체가 배치되는 것을 의미한다. 후술하지만 "1" 또는 "3"은 이동 객체를 지시하도록 구성할 수 있다.
이들 객체들의 재질 및 위치는 전술한 도 1의 라이다 센싱부(110) 또는 뎁스 센싱부(120)들 중 어느 하나 이상에서 센싱된 정보들을 조합하여 생성될 수 있다. 예를 들어, 라이다 센싱부(110)가 송신한 레이저 신호가 다시 라이다 센싱부(110)로 수신된 경우, 수신된 신호의 강도 및 반사된 시간 정보를 이용하여 객체의 재질과 객체의 거리를 산출할 수 있다. 또한, 뎁스 센싱부(120)를 이용하여 라이다 센싱부(110)에서 송신한 신호가 반사 또는 투과하는 경우에도 해당 위치에 배치되는 객체와의 거리를 산출할 수 있다.
또한, 로봇이 도 2 또는 도 3의 공간을 주행하며 지도를 작성하며 위치를 인식할 수 있는데, 이를 SLAM(Simultaneous localization and mapping)이라고 한다. SLAM 과정을 통하여 본 발명의 실시예에 의한 로봇은 전체 공간에 대한 토탈 맵을 작성하고, 작성한 후 이에 대한 업데이트를 수행할 수 있다.
도 2 및 도 3과 같은 토탈 맵은 로봇의 센싱부가 센싱한 결과에 기반하여 작성 및 저장되는 것을 일 실시예로 한다. 또한, 시스템을 운영하는 주체가 다른 포맷에 기반하여 생성된 지도 정보를 변환하여 토탈 맵으로 저장한 것을 다른 실시예로 한다. 이렇게 저장된 토타 맵은 일정한 기준에 따라 업데이트될 수 있다.
도 2 또는 도 3과 같은 공간에서 로봇은 대면적의 공간에서 소정의 기능을 수행하게 되는데, 기능을 효율적으로 수행하기 위해서는 경로를 생성하는 것이 필요하다. 전술한 제어부(900)는 토탈 맵에 기반하여 경로를 생성할 수 있다. 그런데, 로봇이 생성된 경로에 따라 이동하는 과정에서 새로운 장애물을 인식할 수 있다. 즉, 맵에 등록되지 않았으나 주행 과정에서 외부에 객체가 배치된 것을 센싱모듈(100)가 센싱할 수 있다.
예를 들어 공항인 경우, 공항이용자들이 이용하고 모아둔 카트, 이동형 차단봉 등 토탈 맵에 등록되어 있지 않은 장애물이 어느 순간에는 센싱되고 어느 순간에는 센싱되지 않는, 즉 객체가 배치되었다가 제거되는 상황이 반복될 수 있다. 마찬가지로 놀이공원에도 이용자들을 위한 안내판, 가이드라인 등이 동적으로 배치될 수 있다.
이에, 본 발명의 실시예에 의한 로봇은 특정한 기능(청소, 보안, 안내 등)을 수행하기 전에, 일정하게 구획된 공간 내의 시작 위치에서 일정 시간 정지한 상태에서 뎁스 센싱부(120)와 라이다 센싱부(110)가 센싱한 데이터를 이용하여 고정 객체와 동적 객체들(이동 장애물)을 판단하여 어라운드 맵을 생성하고, 이에 기반하여 경로를 변경하거나 새로이 생성할 수 있다.
특히, 라이다 센싱모듈(100)는 그 성능 및 분해능에 따라 30 미터까지 스캐닝이 가능할 수 있으므로, 라이다 센싱모듈(100)가 센싱한 정보는 전체 공간인 토탈 맵에서 경로를 생성하는데 활용할 수 있다.
반면, 뎁스 카메라를 일 실시예로 하는 뎁스 센싱부(120)는 약 8 미터까지 장애물 판단이 가능하기 때문에 로봇 주변의 장애물을 판단하는 어라운드 맵에 객체들의 정보를 반영하여 로봇의 장애물 대응 능력 및 이에 따른 주행 능력을 향상시킬 수 있다.
도 2 및 도 3의 토탈 맵에 기반한 로봇의 경로는 경로 저장부(240)에 메인 경로로 저장된다. 이는 토탈 맵에 등록된 고정 객체들을 기준으로 가장 최적화되거나 효율적으로 로봇이 동작할 수 있는 경로를 일 실시예로 한다. 물론, 메인 경로 역시 다수로 생성되어 로봇이 토탈 맵에 기반하여 이동하는 과정에서 특정한 메인 경로를 선택할 수 있다. 또한, 메인 경로는 특정 지점에서 분기하는 경로 정보를 포함할 수 있다.
예를 들어, 도 3에서 점선으로 표시한 바와 같이, 로봇이 (19, 1)에서 출발하여 (16, 1)까지는 하나의 메인 경로를 가지며, (16, 1)에서 두 가지로 분기하는 경로 정보를 포함한다. 도시된 바와 같이 (16, 1)에서 (5, 1)로 이동하는 제1메인경로와 (16, 1)에서 (16, 19)로 이동하는 제2메인 경로 두 가지 모두 경로 저장부(240)에 저장될 수 있다.
제어부(900)는 메인 경로를 생성하는 과정에서 로봇이 회전하면서 발생하는 속도 변화에 의한 이동 속도의 증감을 막기 위한 실시예로 회전 횟수를 줄이는 방안으로 경로를 생성할 수 있다.
또한, 토탈 맵(210b)에는 반드시 지나가야 하는 지점, 즉 메인 경로에 반드시 포함되어야 하는 지점이 있는데, 예를 들어 (5, 8) 또는 (5, 7)과 같은 지점이다. 이 지점을 통과하지 않으면 다른 영역으로 로봇이 이동할 수 없는 지점이며, 메인 경로는 이러한 지점들을 포함하도록 경로를 구성할 수 있다. 이하, (5, 7) 또는 (5, 8)과 같은 지점을 단절점(articulation point)이라고 한다.
정리하면, 로봇은 이전 SLAM 과정 혹은 외부로부터 저장된 토탈 맵을 이용하여 메인 경로를 생성하여 주행할 수 있다. 그리고 토탈 맵이 저장된 상태에서 로봇은 특정한 기능을 수행하기 전에 최초의 지점에서 일정 시간 동안 라이다 센싱부(110) 및 뎁스 센싱부(120)를 이용하여 주변의 객체들을 스캔하여 고정 장애물로 확인된 객체들을 토탈 맵에 새로이 업데이트하고 이에 기반하여 기존에 생성된 메인 경로를 일차적으로 변경하거나, 새로운 메인 경로를 생성할 수 있다. 이후 로봇은 주행하는 과정에서 어라운드 맵을 이용하여 전술한 메인 경로를 변경할 수 있다.
도 4는 본 발명의 일 실시예에 의한 어라운드 맵을 보여주는 도면이다. 설명의 편의를 위해 토탈 맵(210b)에서 도 3의 211a에서 지시되는 공간을 확대하여 토탈 맵의 일부로 표시한다. 확대한 토탈 맵(210b)의 일부(211a)에서 로봇이 이동하도록 생성되었던 제1메인 경로가 점선으로 표시되어 있다.
로봇은 (13, 1)의 위치("R"로 표시)에서 예정된 제1메인 경로(점선)에 따라 이동할 수 있다. 이동 전에 로봇은 (13, 1)의 위치에서 어라운드 맵을 생성한다. 즉, (13, 1)을 시작 지점으로 하고, 일정한 시간 동안 일정한 범위 내에서 라이다 센싱부(110) 및 뎁스 센싱부(120)를 이용하여 주변에 배치되는 객체들을 스캔하여 센싱한다. 스캔하는 동안 고정 객체(고정 장애물)과 이동 객체(이동 장애물)을 판단한다. 어라운드 맵은 토탈 맵보다 작은 범위 내에서 작성될 수 있다. 도 4의 실시예에서는 (9, 0)를 좌하단셀로, (13, 4)를 우상단셀로 하는 5x5 셀 범위 내에서 센싱된 객체들의 정보를 저장할 수 있다.
일 실시예에 의하면 로봇은 센싱된 다수의 외부 객체들을 어라운드 맵(220a)에 "x"로 표시하며 등록한다. 이는 뎁스 센싱부(120)를 이용하여 로봇의 현재 위치에서 센싱된 외부 객체들의 위치를 저장하는 것을 일 실시예로 한다.
또한, 다른 실시예로, 로봇은 추가적으로 라이다 센싱부(110)를 이용하여 외부 객체들의 특성까지 반영한 어라운드 맵(220b)을 생성할 수 있다. 예를 들어, "1"과 "3"은 이동 객체의 특성이 상이한 것을 의미한다.
또다른 실시예로 로봇은 추가적으로 적외선 센싱부(130)를 이용하여 외부 객체들이 사람인지 사물인지를 반영하여 어라운드 맵(220b) 상에 구분하여 표시할 수 있다. "1"을 사람으로, "3"을 사물로 표시할 수 있다.
이후 로봇의 제어부(900)는 토탈 맵(210b, 211a)에 배치되었던 고정 객체들의 위치들과 어라운드 맵(220a 또는 220b)의 고정 객체들의 정보를 비교하여 어라운드 맵(220a 또는 220b)이 전체 공간에서 어느 위치에 속하는지를 확인할 수 있다. 물론, 이 과정에서 로봇은 토탈 맵에서의 시작 지점에 대한 정보와 로봇이 이동한 거리, 방향 등에 기반하여 로봇의 현재 위치를 추정할 수 있다.
220a와 같은 어라운드 맵을 이용할 경우 현재 로봇의 위치를 토탈 맵(210b, 211a)에 매칭하여 중첩되는 객체들이 배치된 영역을 확정할 수 있다. 220b와 같은 어라운드 맵을 이용할 경우, 현재 로봇의 위치를 토탈 맵(210b, 211a)에 매칭하고, 추가적으로 센싱된 객체들의 특성(숫자)을 비교하여 매칭할 수 있다. 이하, 220b의 어라운드 맵을 중심으로 설명한다.
그 결과, 로봇은 전방에 배치되는 "1" 및 "3"으로 표시되는 객체들이 센싱된다. "1"은 앞서 적외선 센싱부(130) 또는 보조 센싱부들 중에서 비전 센싱부와 같은 센싱부들을 이용하여 외부 객체가 사람임을 나타낸다. "3"은 플라스틱과 같은 재질로 안내판과 같이 일시적으로 배치되는 객체이다. 센싱된 객체들로 인해 도 4의 토탈 맵의 일부(211a)에 점선으로 표시된 제1메인 경로로 이동할 수 없음을 확인한다.
이에 로봇의 제어부(900)는 어라운드 맵(220b)과 토탈 맵(210b, 또는 그 일부인 211a)과 비교하여 새로운 최적의 경로를 생성한다. 이때, 제어부(900)는 어라운드 맵(220b)에서 확인된 영역 외의 메인 경로와의 정합성을 높이는 방향으로 경로를 변경할 수 있다. 즉, 어라운드 맵(220b)에서 새로운 객체들이 센싱된 경우 이들을 제외한 다른 메인 경로를 유지하거나 최소한으로 변경할 수 있다.
도 5는 본 발명의 일 실시예에 의한 도 4의 어라운드 맵에 기반하여 로컬 경로를 생성한 도면이다. 토탈 맵(210b)의 일부(211a)에서 새로이 경로가 변경된 것은 211b와 같이 구성할 수 있다. 설명의 편의를 위해 어라운드 맵(220b)에서 식별된 객체를 토탈 맵(210b)의 일부(211b)에 표시하였다. 새로이 생성된 경로는 이전의 메인 경로(점선)와 비교할 수 있도록 실선으로 표시하였다.
도 5에서는 앞서 어라운드 맵(220b)을 작성했던 영역에서 사람과 같이 이동성이 높은 객체들이 센싱된 경우, 곧 이동할 가능성이 높으므로, 우선 인접한 영역에서 로컬 경로에 따라 이동하고, (9, 4)의 위치에서 로봇이 다시 어라운드 맵을 생성할 수 있다. 그리고 앞서 "1" 또는 "3"으로 표시한 지점에서 더 이상 객체들이 센싱모듈(100)에 의해 센싱되지 않는 경우, 혹은 대부분의 객체들이 이동하여 센싱되지 않고 일부만 남아있는 경우, 221로 지시되는 영역(장애물 영역)에서의 로컬 경로를 생성한다.
또는, 제어부(900)는 로컬 경로를 생성하는 과정에서 이후 장애물 영역(221)으로 회귀하는 경로를 반영하여 최적의 로컬 경로를 생성할 수 있다. 그리고, 장애물 영역(221)에서 고정 객체 외에 센싱된 이동 객체들이 앞으로 오랜 기간 동안 배치될 것으로 예측되는 경우 생성되는 로컬 경로와 짧은 시간 후에 객체가 이동하여 사라질 것으로 예측되는 경우 생성되는 로컬 경로를 상이하게 구성할 수 있다.
예를 들어, 장애물 영역(221)에 대한 정보를 로봇이 외부로부터 수신하거나, 혹은 다른 정보들에 기반하여 추론하는 경우, 장애물 영역(221)에 대해서는 시간이 지난 후 기능을 수행하기 위해 회귀할 수 있으므로, 다른 영역에서 장애물 영역(221)으로 돌아오는 과정에서 지나치게 되는 영역들을 어떤 방식으로 주행할 것인지 여부를 로컬 경로에 반영할 수 있다.
도 6은 본 발명이 일 실시예에 의한 장애물 영역(221)에 대한 판단에 기반하여 생성한 로컬 경로를 보여주는 도면이다. 도 6의 실시예에서 장애물 영역(221)이 일정 기간동안 계속 유동인구가 많이 있는 공간이라는 정보를 확인할 수 있다. 공항의 경우 티케팅 부스가 설치되거나, 백화점에서 특별 행사영역으로 이용 중인 것이 확인되거나, 혹은 학교나 박물관 등에서 전시 중인 영역에 대한 정보를 파악할 수 있다. 이러한 정보는 외부의 서버 또는 다른 로봇들로부터 통신부(500)가 수신할 수 있다.
또한, 다른 실시예로 로봇은 장애물 영역(221)의 사람들의 이동 속도를 센싱모듈(100)이 센싱한 정보에 기반하여 산출할 수 있다. 뎁스 센싱부(120) 및 적외선 센싱부(130)를 이용하여 사람들의 분포도를 확인하고 일정 시간이 지난 후 다시 분포도를 확인하여 사람들의 이동 속도 혹은 이동에 대한 특성(장애물 영역을 나가는 경향인지 들어오는 경향인지 등)을 파악할 수 있다.
다양한 정보를 취합한 로봇이 장애물 영역(221)의 이동 객체들이 미리 정해진 기준 이상으로 배치될 것을 산출하는 경우, 로봇의 제어부(900)는 전술한 단절점(5, 8)을 통과하여 다른 영역에서 기능을 수행한 후 다시 회귀하여 장애물 영역(221)에서 기능을 수행하는 것으로 결정할 수 있다. 그 결과 장애물 영역(221) 및 이에 인접한 주변 영역에 대해서는 추후 기능을 수행하는 것으로 결정하고 단절점(5, 8)을 통과하도록 로컬 경로를 설정할 수 있다. 즉, 장애물 영역(221) 및 그의 좌측에 배치되는 영역은 로봇이 나중에 기능할 영역(미기능 영역)으로 설정하고 로컬 경로를 도 6과 같이 설정할 수 있다. 미기능 영역으로 설정하는 것은 전술한 단절점(5, 8)을 통과하여 다시 장애물 영역(221)으로 이동하는 경로에 배치되는 셀들을 포함하며 로봇이 중복하는 셀들을 이동하지 않도록 하여 로봇의 이동 효율을 높이기 위함이다.
로봇의 이동부(300)가 가지는 특성에 따라 주행 시 속도 및 회전 시 속도, 또한 회전 시에도 회전 각도에 따라 정지하는 시간 등을 고려하여 로봇의 제어부(900)는 도 6과 같이 로컬 경로를 산출할 수 있다. 그리고 산출된 로컬 경로는 메인 경로와 일부 겹칠 수도 있다.
도 7은 본 발명의 다른 실시예에 의한 장애물 영역(221)에 대한 판단에 기반하여 생성한 로컬 경로를 보여주는 도면이다. 앞서 도 6에서는 장애물 영역(221)의 이동 객체들이 오랜 시간동안 이동하지 않을 것으로 예측하여 해당 공간에 대한 기능 수행 시점을 변경하였기 때문에, 이에 따라 로컬 경로가 새로이 산출된 예를 보여준다.
한편, 도 7은 로봇이 도 6에서 살펴본 다양한 기준에 따라 장애물 영역(221)의 이동 객체들이 짧은 시간 내에 이동하여 장애물 영역(221)에서 센싱된 이동 객체들이 사라질 것으로 예측한 경우에 생성되는 로컬 경로이다. 장애물 영역(221)에 대해 짧은 시간 내에 기능을 수행할 수 있으므로, 단절점(5, 8)을 통과하기 전에 다른 인접한 영역들에 대해 기능을 수행하도록 로컬 경로를 설정하였다. 그리고 로봇이 인접 영역들에 대해 기능을 수행한 후 (12, 5)의 위치에 도착하면 장애물 영역(221)의 배치되는 이동 객체들에 대해 다시 센싱하여 장애물 영역(221)에서 기능을 수행할 것인지 여부를 결정할 수 있다.
장애물 영역(221)의 이동 객체들이 사라진 것이 센싱되면 제어부(900)는 로봇을 장애물 영역(221)으로 진입시키도록 이동부(300)를 제어하여 기능을 수행할 수 있다. 로봇의 이동부(300)가 가지는 특성에 따라 주행 시 속도 및 회전 시 속도, 또한 회전 시에도 회전 각도에 따라 정지하는 시간 등을 고려하여 로봇의 제어부(900)는 로컬 경로를 도 7과 같이 산출할 수 있다. 그리고 산출된 로컬 경로는 메인 경로와 일부 겹칠 수도 있다.
도 6 및 도 7을 살펴보면, 장애물 영역(221)에서 이동 객체들이 오랜 시간동안 잔류하는지 혹은 짧은 시간 후에 이동하는지에 따라 로컬 경로들을 상이하게 설정할 수 있다.
전술한 내용들을 정리하면 다음과 같다. 로봇은 대규모 유동인구를 수용하는 공간에서 특정한 기능(청소, 보안, 안내 등)을 수행하기 위해 토탈 맵을 유지하며, 또한 전술한 기능을 수행하기 위해 주행을 시작하면서 어라운드 맵을 생성한다. 어라운드 맵은 도 4의 220b와 같이 일정한 범위 내에 배치된 다양한 이동 객체들을 센싱한 것으로 뎁스 센싱부(120) 및 라이다 센싱부(110), 그리고 적외선 센싱부(130) 등을 이용하여 로봇 전방 7~8m 범위 내의 장애물을 판단하여 어라운드 맵(도 4의 220b)에 등록한다.
또한, 제어부(900)는 어라운드 맵에 등록한 장애물과 토탈 맵을 비교하여 동일한 위치에 장애물들이 있으면 이전의 토탈 맵에 설정한 고정 객체로 판단한다. 그리고 일치하지 않는 객체들은 이동 객체(이동 장애물)로 판단하고 이들을 회피하여 일정한 기능을 수행한다.
이 과정에서 이동 객체들이 군집한 경우 이들의 영역 전체를 장애물 영역으로 판단하여 진입하지 않을 수 있다. 또한, 앞서 토탈 맵에 기반해서 생성한 메인 경로를 일부 수정하는 로컬 경로를 생성하여 로봇이 주행할 수 있다. 또한, 장애물 영역의 옆 라인 혹은 인근 영역에서 로봇은 기능을 수행하여 완료한 후, 다시 전술한 이동 객체가 배치된 영역으로 로봇이 이동하여 기능을 수행하여, 로봇이 수행하는 기능의 효율을 떨어뜨리지 않으면서 빠른 시간 내에 이동한다.
로컬 경로를 생성하는 실시예로 도 6과 같이 사람들이 오래 머무르는 공간으로 판단한 경우, 제어부(900)는 더 많은 다른 영역들에 대해 기능을 수행한 후 회귀하기 위한 로컬 경로를 생성한다. 반면, 도 7과 같이 사람들이 금방 이동하여 장애물이 센싱되지 않는 공간으로 판단한 경우, 제어부(900)는 인근 영역에 대해 기능을 수행한 후 회귀하기 위한 로컬 경로를 생성한다.
즉, 도 6 또는 도 7과 같이 장애물 영역이 유지되는 기간(유지 기간)이 미리 정의된 기간보다 긴 경우와 짧은 경우에 따라 로컬 경로를 상이하게 구성할 수 있다. 미리 정의된 기간이란, 30분 혹은 한 시간 등 토탈 맵의 공간 전체를 로봇이 주행하는데 필요한 시간 정보를 기준으로 산정할 수 있다. 또한, 토탈 맵 중 전술한 단절점 내의 메인 경로를 주행하고 기능을 수행하는데 소요되는 시간을 기준으로 장애물 영역의 유지 기간을 판단할 수 있다.
정리하면, 도 7과 같이 장애물 영역(221)의 유지 기간이 미리 정의된 기간 보다 짧은 경우, 제어부(900)는 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하고, 또한 제어부(900)는 로봇이 제1로컬 경로의 주행 후 장애물 영역으로 주행하는 제2로컬 경로를 생성한다. 도 7에서 제1로컬경로는 제2영역인 (8, 4), (8,1), (7,1), (7,4), (6,4), (6, 1), (5, 1), (5, 4)에 해당하는 영역을 주행하는 것을 의미한다. 제1로컬 경로는 메인 경로와 전혀 다른 경로로 구성된다.
한편, 제2로컬 경로는 메인 경로와 방향만 다르며 중첩되는 (5, 5), (12, 5)이다. 로봇은 (12, 5)에서 다시 장애물 영역의 이동 객체들을 센싱할 수 있다.
이는 유지 기간이 짧기 때문에 장애물 영역으로 빨리 복귀하는 제2로컬 경로를 생성하는 것을 의미한다. 즉, 로봇이 메인 경로와 상이하게 생성하는 로컬 경로는 이들 제1로컬 경로 및 제2로컬 경로를 포함하는 것이다.
한편, 도 6과 같이 장애물 영역(221)의 유지 기간이 미리 정의된 기간 보다 길 경우, 제어부(900)는 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하고, 제2영역에서 장애물 영역에 인접하지 않은 제3영역으로 주행하는 제2로컬 경로를 생성할 수 있다.
이는 로봇이 장애물 영역에 인접하지 않는 제3영역, 예를 들어 단절점을 지나 다른 영역에서 기능을 수행한 후, 장애물 영역으로 회귀하기 위해 로컬 경로를 생성하는 것을 의미한다. 도 6에서는 장애물 영역뿐만 아니라 인접한 영역들도 미기능 영역으로 설정하여 주행하지 않는데, 이는 추후 로봇이 장애물 영역으로 회귀하는 과정에서 미기능 영역들을 주행하여 로봇의 주행 효율을 높이기 위함이다.
즉, 토탈 맵의 정보에 사람들이 금방 용무를 보고 사라지는 공간과 오랫동안 머무르는 공간, 즉 장애물 영역의 유지 기간에 대한 정보를 미리 저장하고, 이를 기반으로 제어부는 효율적이면서도 짧은 시간에 로봇이 이동할 수 있는 짧은 로컬 경로를 생성하여 로봇이 효율적으로 기능을 수행할 수 있도록 한다. 이 경우, 토탈 맵에는 장애물 공간에 대한 식별 정보를 별도로 저장할 수 있다. 또는 장애물 영역(221)에 대해 사람들이 머무르는 시간이나 머무름이 유지되는 시간에 대한 정보를 로봇이 실시간으로 판단하거나 다른 서버나 로봇으로부터 통신을 통해 수신할 수 있다.
또한, 로봇은 다른 영역에서 기능을 수행하고 다시 장애물 영역으로 이동하여 사람들이 이동했는지 여부를 확인하는 과정에서 로봇이 취득한 정보, 즉, 사람들이 잠시 머무르는 구역과 그렇지 않은 구역에 대한 데이터를 누적하여 최종적으로 사람들이 머무는 평균시간을 데이터로 만들고 저장하여 같은 구역을 다음에 청소, 보안, 안내 등의 기능을 수행할 때, 이를 반영하여 경로를 생성할 수 있다. 즉, 로봇은 식별된 장애물 영역에 대해 장애물 또는 사람과 같은 이동 객체가 많이 분포되는 구역 및 시간에 대한 정보를 저장하고 이를 특정 기능 시간에서의 경로를 생성하는데 반영할 수 있다.
도 8은 본 발명의 일 실시예에 의한 대규모 유동 인구가 이동하는 공간에서 로봇이 특정한 기능을 수행하는 과정을 보여주는 도면이다.
도 8에서는 기능의 일 실시예로 청소를 중심으로 설명하지만 본 발명이 이에 한정되는 것은 아니다. 로봇은 청소를 시작하며 메인 경로를 설정한다(S810). 메인 경로는 미리 저장될 수도 있고 로봇이 토탈 맵을 이용하여 주행을 시작하기 전에 생성할 수도 있다. 그리고 메인 경로에 따라 주행하며 센싱모듈(100)이 주변의 장애물들을 스캔하고 이들의 위치를 저장하는 어라운드 맵을 생성한다(S820). 로봇의 제어부(900)는 어라운드 맵에 저장된 장애물과 로봇의 위치를 기반으로 토탈 맵의 고정 객체들을 비교하여 이동 객체들을 확정한다(S825).
앞서 도 4에서 살펴본 바와 같이 로봇의 현재 위치를 토탈 맵에 적용하고, 어라운드 맵에서 센싱된 외부 객체들을 토탈 맵의 고정 객체와 비교하는 것을 일 실시예로 한다. 확정 결과 어라운드 맵에서 특정하는 영역에 이동 객체들(사람들 또는 이동하거나 일시적으로 배치되는 장애물)로 군집하여 배치되어 있는지를 판단할 수 있다(S830).
만약 고정 객체를 제외한 이동 객체들이 군집하여 배치되지 않거나 그 수가 작다면, 미리 정해진 메인 경로에 따라 이동하며 이동 객체를 인식하는 시나리오에 따라 동작할 수 있다(S835). 즉, 이동 객체들이 일정 범위 내에 분포된 범위가 작거나, 혹은 해당 공간이 필수 기능 영역이라면 로봇은 장애물 회피 시나리오에 따라 해당 영역에서 메인 경로를 따라 이동할 수 있다.
이동 객체를 인식하는 시나리오에 따라 동작한다는 것은 고정 객체 외에 사람이나 장애물이 어라운드 맵에서 특정하는 영역에 존재하므로, 이들과 충돌하지 않으면서 메인 경로에 따라 주행하는 것을 의미한다. S835 단계 이후에는 어라운드 맵에서 특정했던 영역이 아닌 다른 영역으로 메인 경로에 따라 이동하여(S838), S820 단계를 반복한다.
한편, S830에서 이동 객체들이 군집하여 배치된 경우, 로봇은 어라운드 맵에서 특정한 영역 혹은 이보다 작은 이동 객체들이 군집한 영역, 즉 장애물 영역의 이동성을 제어부(900)가 확인하여 사람 또는 임시적으로 배치되는 이동 객체들이 곧 이동하는 영역인지를 확인한다(S840). 확인하는 방법의 실시예로, 제어부(900) 및 센싱모듈(100)은 장애물 영역의 사람들의 군집 정도, 이동 정도를 파악할 수 있다.
다른 실시예로, 제어부(900) 및 통신부(500)는 장애물 영역의 위치에서 특정한 작업(티케팅 부스 설치, 행사장 설치 등)이 이루어진다는 정보를 외부의 서버 또는 다른 로봇으로부터 수신할 수 있다. 확인 결과에 따라, 전체 청소 구역 중에서 전체청소구역 중 사람들과 객체들이 곧 이동하는 구역과 그렇지 않은 구역에 따라 상이하게 로컬 경로를 생성할 수 있다. 즉, 도 6 및 7에서 살펴본 바와 같이 해당 구역의 특징에 따라 효율적으로 짧은 시간에 모든 구역을 청소할 수 있는 경로를 새로이 설정할 수 있다.
장애물 영역의 장애물들(이동객체)이 곧 이동하는 영역인 경우에는 도 7에서 살펴본 바와 같이 해당 장애물 영역의 인접 영역으로 이동하는 로컬 경로를 생성하여 청소한 후, 다시 장애물 영역으로 이동하여 청소를 수행한다. 제어부(900)는 이러한 청소 경로에 적합하게 로컬 경로를 생성할 수 있다. 즉, 이동 객체, 예를 들어 사람들이나 임시로 배치된 객체들이 곧 이동하는 구역인 경우, 제어부(900)는 인접한 영역들을 청소하는 로컬 경로를 생성하고(S842) 로컬 경로에 따라 이동 및 청소를 수행한 후(844), 다시 장애물 영역, 즉 앞서 어라운드 맵에서 특정한 영역의 이동 객체들을 스캔하여 새로운 어라운드 맵을 생성하고(S846), 이동 객체들이 이동한 후이므로, 장애물 영역으로 이동하여 청소를 수행한다(S848). 이후 S838 단계와 같이 메인 경로에 따라 새로운 영역으로 이동한다.
반면, 장애물 영역의 장애물들(이동객체)이 곧 이동하지 않는 영역, 즉 오랜 기간 이동 객체들이 머무르는 영역인 경우에는 도 6에서 살펴본 바와 같이 제어부(900)가 장애물 영역을 포함하여 청소 연기 영역(미기능 영역)을 설정한다(S850). 이는 장애물 영역에 대해 일정 기간이 지난 후 청소를 수행하므로, 로봇이 멀리 떨어진 영역에서 청소를 수행한 후 다시 되돌아오는 과정에 배치되는 영역들을 청소 연기 영역으로 설정하여, 로봇의 이동 경로를 단축시키거나 청소 효율을 높일 수 있도록 한다.
이후 제어부(900)는 청소 연기 영역을 제외하고 새로운 로컬 경로를 생성한다(S852). 그리고 로봇은 로컬 경로에 따라 이동하여 청소를 수행한다(S854). 이 과정에서 로봇은 전술한 단절점을 넘어서 장애물 영역과 멀리 떨어진 영역까지 메인 경로에 따라 이동하여 청소를 수행할 수 있다. 이후, 로봇은 새로운 영역으로 이동하여 청소한 후, 청소 연기 영역으로 회귀하여 청소를 수행한다(S856).
로봇은 로컬 경로 또는 메인 경로를 따라 이동하면서 일정 범위 내에 장애물이 있는지 항상 체크하여, 장애물이 없는 경우 미리 정해진 경로에 따라 이동하며, 장애물이 있는 경우 회피한다.
또한, 어라운드 맵을 통해 장애물 영역이 확인된 경우, 이 영역에 대한 로컬 경로를 새로이 생성하되, 장애물 영역의 특성에 따라 로컬 경로를 상이하게 설정할 수 있다. 특히, 제어부(900)는 장애물 영역이 오랜 기간동안 장애물이 배치되는 영역으로 확인될 경우, 다른 영역에서 청소를 완료한 후, 다시 장애물 영역으로 회귀하는 과정에 배치되는 영역들을 청소 연기 영역으로 설정하여 경로를 효율적으로 생성할 수 있다.
도 8의 실시예를 적용할 경우, 라이다 센싱부(110)의 데이터와 토탈 맵에 저장된 고정 객체들의 정보를 이용하여 청소 시작 당시의 대면적에 대해 청소, 안내, 보안 등을 수행할 수 있는 메인 경로를 생성할 수 있다. 그리고 메인 경로에 따라 로봇이 이동하는 과정에서 일차적으로 뎁스 센싱부(120)를 이용하여 실시간으로 로봇 주변에 대한 어라운드 맵을 생성하고, 이를 이용하여 로봇이 실시간으로 장애물에 대응하여 새로운 로컬 경로를 생성할 수 있도록 한다. 또한, 어라운드 맵을 생성하는 과정에서 제어부(900) 및 센싱모듈(100)은 라이다 센싱부(110) 또는 적외선 센싱부(130)를 함께 이용하여 사람들의 이동에 대한 경향성을 파악하여 장애물 영역에 대한 기능 수행 시점을 결정할 수 있다.
본 발명의 실시예를 적용할 경우, 공항, 병원, 놀이공원 등과 같은 대면적에서 청소, 보안, 안내 등의 기능을 수행하는 로봇이 효율적으로 동작할 수 있도록 경로를 생성하는 과정에서 라이다 센싱부(110) 및 뎁스 센싱부(120)의 센싱된 데이터를 활용하여 어라운드 맵과 로컬 경로를 생성하고, 그에 따라 기능을 수행할 경우, 유동 인구들의 이동이 빈번한 경우에도 로봇이 효율적인 경로에 따라 동작할 수 있다.
특히 로봇은 토탈 맵과 어라운드 맵을 모두 유지하여 청소, 보안, 안내 등의 기능을 수행하는 순간에 이동/고정형 장애물을 인식하여 로봇의 주행 경로에 반영하여 기능 수행 효율을 향상시키고 장애물 대응 능력을 향상시킬 수 있다.
도 9는 본 발명의 일 실시예에 의한 로봇의 주행 과정을 보여주는 도면이다. 로봇의 제어부(900)는 맵 저장부(200)에 저장된 토탈 맵(210)에 기반하여 생성된 메인 경로에 따라 로봇을 주행시킨다(S910). 메인 경로는 제어부(900)가 이전에 생성하였거나, 주행 직전에 생성하였거나, 혹은 외부의 서버나 다른 로봇으로부터 수신한 실시예를 모두 포함한다.
메인 경로는 전술한 도 2 또는 도 3과 같은 맵의 구성에서 로봇이 이동하는 셀들의 위치들로 구성될 수 있다. 시작지점의 셀 식별정보 또는 위치 정보(x, y)에서 직선 주행 시 방향을 바꾸거나 회전하는 지점까지를 하나의 경로로 하여 저장할 수 있고, 이들 경로들을 취합하여 하나의 메인 경로가 될 수 있다. 메인 경로는 전술한 경로 저장부(240)에 저장될 수 있다.
또다른 실시예로 메인 경로는 하나의 셀에서 두 개의 분기점을 가질 수 있는데, 이는 메인 경로를 구성하는 특정 셀에서 더 이상 주행할 수 없는 경우에 대비한 것이다. 이러한 메인 경로에서의 분기점은 과거 로봇이 주행 과정에서 누적한 로컬 경로를 반영한 것을 일 실시예로 한다. 분기점에 대해서는 후술한다.
이후 로봇의 센싱모듈(100)은 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 저장하는 제1어라운드 맵을 생성한다(S920). 앞서 도 4에서 두 종류의 어라운드 맵(220a, 220b)과 같이 로봇의 센싱모듈(100)은 뎁스 센싱부(120)를 이용하여 어라운드 맵을 생성할 수 있다.
즉, 센싱모듈(100)의 뎁스 센싱부(120)가 로봇의 주변에 배치된 객체들의 뎁스 정보를 산출하고, 센싱모듈(100)의 센싱 데이터 분석부(150)가 객체들의 뎁스 정보를 로봇을 기준으로 하는 거리 정보로 변환할 수 있다. 그리고 도 4에 제시된 바와 같이 로봇의 위치(도 4의 "R")를 기준으로 어라운드 맵(220a, 220b)을 생성할 수 있다.
또한, 이 과정에서 어라운드 맵 생성의 정확도를 높이기 위해 센싱모듈(100)의 라이다 센싱부(110)가 레이저 신호를 송신한 후 객체들로부터 반사된 신호의 특성(거리 및 반사 강도)에 따라 객체들의 거리 및 특성 정보를 산출하여 도 4의 220b와 같은 어라운드 맵을 생성할 수 있다. 또한, 적외선 센싱부(130)를 이용하여 사람들이 다수 군집한 경우 이를 반영하여 어라운드 맵을 생성할 수 있다.
이후, 제어부(900)는 제1어라운드 맵과 토탈 맵(210)을 비교하여 고정 객체가 아님에도 센싱된 객체들을 이동 객체인 것으로 식별하여 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정한다(S930).
한편, 제어부(900)는 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부(300)를 제어한다(S940). 장애물 영역의 유지 기간이란 장애물 영역에 배치된 이동 객체들이 이동하지 않고 계속 머무르는 기간을 의미한다.
예를 들어 특정한 사물이 배치되는 기간, 혹은 사람들이 장애물 영역에 머무르는 기간을 포함한다. 또한, 사람들이 끊임없이 이동하지만 결과적으로 장애물 영역에 항상 사람들이 존재하는 경우에 사람이 존재하는 전체 시간을 유지 기간으로 할 수 있다. 다만, 사람 또는 사물의 경우에도 군집하지 않고 매우 적은 수만 존재할 경우에는 제어부는 해당 영역을 장애물 영역으로 설정하지 않고 단지 장애물을 회피하는 방식으로 주행할 수 있다.
전술한 장애물 영역의 유지 기간이 미리 정해진 기간, 예를 들어 1시간이라는 시간보다 더 길게 유지되는 것으로 제어부가 확인하는 경우, 장애물 영역에 나중에 로봇이 이동하여 기능을 수행하도록 제어부가 로컬 경로를 생성할 수 있다. 이는 도 6에서 살펴보았다.
반면, 장애물 영역의 유지 기간이 미리 정해진 기간보다 짧게 유지되는 것으로 제어부가 확인하는 경우, 장애물 영역에 인접한 다른 영역을 주행한 후 다시 장애물 영역으로 이동하도록 로컬 경로를 생성할 수 있다. 이는 도 7에서 살펴보았다.
이하 도 9의 각 단계에 대한 세부적인 실시예들을 살펴본다. 도 10은 본 발명의 일 실싱예에 의한 경로를 설정하고 저장하는 도면이다. 도 10에서 본 발명의 일 실시예에 의한 분기점에 대해 살펴본다. 설명의 편의를 위해 토탈 맵의 크기는 매우 작은 5x5를 기반으로 한다.
도 10의 토탈 맵을 기준으로 할 때, 로봇의 경로 저장부(240)는 다음과 같이 메인 경로를 저장할 수 있다.
(1) 제1 경로 표현식
MainPath = [ (5, 0), (5, 1), (2, 1), (2, 3), (4, 3), (4, 2) ]
이러한 메인 경로는 도 10의 1001과 같이 지시된다.
한편, (4, 1)에서는 두 가지 경로로 갈 수 있다. 따라서, 경로 저장부(240)는 이러한 분기점에 대한 정보를 추가로 저장할 수 있다.
(2) 제2 경로 표현식
MainPath = [ (5, 0), (5, 1), (4, 1),
Div_one{ [ (2, 1), (2, 3), (4, 3), (4, 2) ],
[ (4, 3), (2, 3), (2, 1), (3, 1) ] } ]
이는 MainPath가 Div_one에서 첫번째 경로([ (2, 1), (2, 3), (4, 3), (4, 2) ]) 또는 두번째 경로([ (4, 3), (2, 3), (2, 1), (4, 1) ])를 포함하는 분기점이 (4, 1)임을 보여준다.
Div_one에서 첫번째 경로를 적용한 경우의 경로 표현식은 제3 경로 표현식과 같으며, 이는 결과적으로 제1경로 표현식과 동일하며, 이는 도 10의 1001에 제시되어 있다.
(3) 제3경로 표현식
MainPath = [ (5, 0), (5, 1), (4, 1), (2, 1), (2, 3), (4, 3), (4, 2) ]
한편, Div_one에서 두번째 경로를 적용한 경우의 경로 표현식은 제4 경로 표현식과 같으며, 이는 도 10의 1002에 제시되어 있다.
(4) 제4경로 표현식
MainPath = [ (5, 0), (5, 1), (4, 1), (4, 3), (2, 3), (2, 1), (3, 1) ]
혹은 각 메인 경로가 적용되는 시간 정보도 별도로 저장할 수 있다. 앞서 로봇이 이동 과정에서 특정한 경로 상에 장애물 영역이 있을 경우 이를 회피하거나 다른 곳에 먼저 주행한 후 이동하도록 구성할 수 있다. 따라서, 이를 위해 240a와 같이 경로 저장부를 구성할 수 있다. 제어부(900)는 일요일에는 제3경로 표현식의 경로(도 10의 1001)를 메인 경로로 하여 로봇을 이동시키고, 그 외에는 제4경로 표현식의 경로(도 10의 1002)를 메인 경로로 하여 로봇을 이동시킬 수 있다.
또한, 로봇이 맨 처음에는 제1경로 표현식으로만 메인 경로를 저장할 수 있다. 이후 로봇이 이동하며 장애물 영역이 발생하여 로컬 경로를 설정하는 과정에서 동일하거나 유사한 로컬 경로가 반복하여 생성될 경우 이를 메인 경로에 반영할 수 있다.
도 6 또는 도 7에서 살펴보았듯이 메인 경로를 변경시키는 장애물 영역이 반복해서 확인될 경우, 제어부(900)는 장애물 영역을 반복적, 고정성을 가진 공간으로 파악하여 유지 기간에 따라 로봇이 효율적으로 이동하도록 로컬 경로를 메인 경로에 반영시킬 수 있다.
도 11은 본 발명의 일 실시예에 의한 어라운드 맵과 토탈 맵을 비교하는 도면이다.
토탈 맵은 로봇이 라이다 센싱부(110)를 이용하거나 외부로부터 수신하여 저장하는 전체 공간에 대한 맵이다. 어라운드 맵은 로봇이 이동하는 공간 중 로봇을 기준으로 일부 범위 내의 공간에 대해 뎁스 센싱부(120) 및 선택적으로 라이다 센싱부(110)와 적외선 센싱부(130)를 이용하여 이동 객체들 및 고정 객체를 센싱한 결과를 반영한 맵이다. 로봇이 특정한 위치에서 도 4에서 살펴본 바와 같은 어라운드 맵을 생성한 경우, 이를 토탈 맵과 비교하기 위해서는 먼저 로봇의 현재 위치를 확인하는 과정이 필요하다.
도 4에서, 로봇은 자신의 위치를 "R"로 표시된 영역으로 확인하고 있다. 그리고 어라운드 맵(220a 또는 220b)을 "R"의 위치에서 토탈 맵과 비교할 수 있다. 그런데, 어라운드 맵이 반드시 토탈 맵과 동일한 방향을 지향하도록 생성되지는 않는데, 이는 로봇이 다양한 방향으로 이동할 수 있기 때문이다. 따라서 로봇은 만약 뎁스 센싱부(120)가 220c와 같이 어라운드 맵을 생성하는 경우, 뎁스 센싱부(120)가 센싱한 뎁스 정보가 점진적으로 변화하는 영역이 있는지를 확인한다.
예를 들어, 220c에서 로봇의 위치 "R"을 중심으로 좌측에 배치된 객체들의 뎁스 정보값이 1121과 같이 점진적으로 변화하는 경우 로봇의 제어부(900)는 이를 고정 객체로 판단할 수 있다. 이에, 로봇의 제어부(900)는 좌측에 배치된 고정 객체와 토탈 맵(도 4의 211a)의 로봇의 위치와 비교하여 220a와 같이 어라운드 맵의 오리엔테이션을 좌측 90도로 회전할 수 있다. 그리고 이렇게 오리엔테이션을 교정한 어라운드 맵을 도 4의 토탈 맵(211a)와 비교하여 220a에서 x로 표시된 객체들 중에서 토탈 맵(211a)의 고정 객체인 것은 제외하면 이동 객체만을 식별할 수 있다.
또한, 뎁스 센싱부(120) 외에 라이다 센싱부(110)를 이용할 경우, 센싱된 객체들로부터 반사되는 신호 강도를 이용하여 220b와 같은 어라운드 맵을 생성할 수 있으며, 이는 토탈 맵(211a)과의 비교를 더욱 용이하게 한다.
한편, 적외선 센싱부(130)에서 센싱된 정보들을 결합하면, 어라운드 맵 상에서 센싱된 객체들 중에서 사람을 식별할 수 있으므로 보다 정확하게 어라운드 맵을 생성할 수 있다.
정리하면, 어라운드 맵의 생성은 뎁스 센싱부(120), 라이다 센싱부(110), 적외선 센싱부(130) 등을 이용하여 복합적으로 산출된 객체들의 특성 정보를 반영하여 생성할 수 있다. 특히, 뎁스 센싱부(120)는 뎁스 정보를 이용하여 토탈 맵과 비교할 수 있는 고정 객체와 이동 객체를 식별하는데 적용될 수 있다. 라이다 센싱부(110)는 객체들로부터 반사된 신호의 특성과 토탈 맵에 저장된 객체들의 특성을 비교하여 이동 객체를 식별하는데 적용될 수 있다. 적외선 센싱부(130)는 이동 객체 중에서 사람을 식별하는데 적용될 수 있다.
도 12는 본 발명의 일 실시예에 의한 장애물 영역을 설정하는 도면이다. 전술한 장애물 영역은 다수의 이동 객체들이 군집을 이루는 경우 이들 군집된 범위를 포함하여 로봇이 진입하지 않도록 설정된 영역이다. 그리고 장애물 영역은 군집된 이동 객체들이 이동한 후에 로봇이 진입하여 특정한 기능을 수행할 수 있다. 그리고 제어부는 장애물 영역에 따라 로컬 경로를 변경할 수 있다. 따라서, 장애물 영역은 로봇의 이동 속도 및 회전 속도, 그리고 로봇의 메인 경로의 조밀성 등에 따라 이동 효율을 고려하여 산정될 수 있다.
장애물 영역의 설정은 먼저 제어부(900)가 이동 객체들의 군집도를 산출하여, 제어부(900)가 군집도에 따라 어라운드 맵에서 확인한 영역 또는 이 영역에 인접한 영역까지 범위로 하여 이들 영역 내에서 이동 객체들이 배치된 외곽선을 장애물 영역으로 설정할 수 있다.
도 12의 1220는 로봇의 제어부가 생성한 어라운드 맵이다. "x" 및 "x1", "x2"는 어라운드 맵 상의 객체들의 위치를 표시하였다. 맵 상에 굵게 표시된 선은 장애물 영역의 경계를 표시한 것이다.
장애물 영역의 설정은 이동 객체의 군집도를 산출하여 어느 범위의 이동 객체들을 장애물 영역에 포함시킬 것인지를 결정하고, 이들을 포함하는 장애물 영역을 어떤 형태로 구성할 것인지 등에 따라 달라질 수 있다.
1220와 같이 산출된 어라운드 맵을 이용하여 제어부(900)는 셀 간에 이동 객체가 밀접하게 분포된 수준에 따라 동일한 군집 하의 이동객체로 판단할 수 있다. 예를 들어 1221의 경우 1220에서 가장 밀접한 것으로 파악할 수 있는 셀들, 예를 들어, 상하 또는 좌우로 면으로 접하는 이웃 셀들에 이동 객체가 배치된 경우에만 이들을 군집으로 판단하여 장애물 영역을 설정한 실시예이다.
1221에서 "x1"로 표시된 셀 및 "x2"로 표시된 셀은 "x"로 표시된 셀과 면으로 연결되어 있지는 않으므로 이들에 대해서는 장애물 영역으로 설정하지 않았다. 따라서, 제어부는 1221과 같이 구성된 장애물 영역에 접근하지 않도록 로컬 경로를 설정할 수 있다.
한편, 로봇이 회전하는데 소요되는 시간이 많을 경우, 제어부(900)는 장애물 영역을 최대한 사각형의 형태에 가깝게 구성할 수 있다. 1222에 제시된 바와 같이, 1221에서 군집된 이동 객체로 판단한 것은 "x"이지만, 이동 객체가 배치되지 않은 영역들까지 장애물 영역으로 포함시켜 추후 로봇이 장애물 영역에서 소정의 기능을 수행하는 과정에서 로봇의 이동부(300)의 회전 횟수를 줄이도록 구성할 수 있다. 이는 제어부(900)가 로컬 경로나 메인 경로를 생성하는 과정에서 로봇의 직선 이동 속도와 회전 속도를 고려하는 것과 동일한 메커니즘으로 적용될 수 있다.
이동 객체만 포함하도록 장애물 영역을 구성하여 더 많은 면적에서 로봇이 미리 동작하는 것을 로봇의 효율로 판단할 경우에는 1221과 같이 장애물 영역을 설정할 수 있다. 반면, 로봇의 이동 및 회전 속도를 고려하여 로봇이 빨리 이동하여 소정의 기능을 수행하는 것을 로봇의 효율로 판단할 경우에는 1222와 같이 장애물 영역을 설정할 수 있다.
한편, 1222와 같은 구성에서 전체 9개의 셀 중에서 3개의 셀은 이동 객체가 없다. 즉 이동 객체의 분포도가 66%이다. 장애물 영역을 설정하는 과정에서 제어부(900)는 미리 설정된 기준에 따라 이동 객체의 분포도가 낮을 경우 장애물 영역을 재설정할 수 있다. 예를 들어 1223과 같이 군집도 산출 과정에서 포함된 이동 객체를 장애물 영역에 포함시키지 않도록 제어부(900)가 장애물 영역을 구성할 수 있다.
또한, 이동 객체의 군집도를 산출하는 과정에서 1221, 1222, 1223은 상하 또는 좌우로 인접한 셀에 이동 객체가 있는 경우 이를 동일한 군집으로 판단하였다. 1231에서는 대각선 방향의 셀에 이동 객체가 있는 경우에도 이를 동일한 군집으로 판단한 실시예이다. 1221과 마찬가지 방식으로 이동객체만을 포함하는 장애물 영역이 1231에 도시된다.
한편, 제어부(900)는 1222와 같이 사각형으로 장애물 영역을 구성하도록 1232와 같이 장애물 영역을 구성할 수 있다. 다만, 1232와 같이 장애물 영역을 구성하면 전술한 이동 객체의 분포도가 43.75%라서 장애물 영역이 과도하게 넓게 설정된 것으로 제어부(900)가 판단하여 다시 1222 또는 1221과 같이 장애물 영역을 재설정할 수 있다.
x2를 장애물 영역으로 포함시킬 것인지는 셀의 크기 및 로봇의 크기에 따라 달라질 수 있다. 만약, 토털 맵이 조밀하게 구성되어 셀의 크기가 로봇의 크기보다 매우 작은 경우에는 x2 역시 장애물 영역에 포함시킬 수 있다. 따라서, 장애물 영역을 설정함에 있어 이동 객체들의 거리가 인접 셀이 아니라도 장애물 영역으로 구획할 수 있다. 제어부(900)는 셀의 크기와 로봇의 크기, 주행 반경 등을 고려하여 이동 객체들의 거리에 따른 장애물 영역을 설정할 수 있다.
도 13은 본 발명의 일 실시예에 의한 로봇이 장애물 영역이 유지되는 기간을 확인하는 과정을 보여주는 도면이다.
로봇의 제어부(900) 및 센싱모듈(100)은 장애물 영역 혹은 어라운드 맵을 작성한 영역에 대해 새로운 어라운드 맵을 작성한다. 즉, 앞서 어라운드 맵(제1 어라운드 맵)을 생성하였던 제1영역에 배치된 객체들을 센싱하여 객체들의 위치를 저장하는 새로운 어라운드 맵(제2 어라운드 맵)을 생성한다.
그리고 제어부(900)는 제1어라운드 맵과 제2어라운드 맵을 비교하여 장애물 영역의 유지기간을 산출할 수 있다. 예를 들어 제1어라운드 맵(1220)을 제어부(900)가 생성한 후, 정해진 시간(예를 들어 30초 또는 1분) 제2어라운드맵(1321)을 생성하여 비교하여 이동 객체들이 대부분 위치를 그대로 유지할 경우, 특히 장애물 영역으로 설정된 영역 내에서 이동 객체들의 변화가 일정 범위 이하인 경우에는 유지 기간을 시간 단위로 산출하여 해당 장애물 영역이 오래 유지되는 것으로 설정하고 이를 반영하여 로컬 경로를 생성할 수 있다.
반면, 제2어라운드 맵이 1322와 같이 생성된 경우, 장애물 영역이 오래 유지되지 않는 것으로 판단하고 장애물 영역의 유지 기간이 짧은 것으로 설정하여 이를 반영하여 로컬 경로를 생성할 수 있다.
1321과 같이 이동 객체들의 변화가 크지 않은 경우에는 도 6에서 살펴본 바와 같이 인접 영역과 보다 멀리 배치된 다른 영역으로 로봇이 주행한 후, 다시 장애물 영역 주변으로 회귀하여 이동 객체들을 센싱하고 로봇의 진입 여부를 확인할 수 있다.
1322와 같이 이동 객체들의 변화가 큰 경우에는 도 7에서 살펴본 바와 같이 인접 영역으로 로봇이 주행하여 소정의 기능을 수행한 후, 다시 장애물 영역 주변으로 회귀하여 이동 객체들을 센싱하고 로봇의 진입 여부를 확인할 수 있다.
한편 로봇의 제어부(900) 및 통신부(500)는 장애물 영역에 대한 위치 정보를 서버 또는 다른 로봇에 송신하여, 이들로부터 장애물 영역의 작업 시간 정보를 수신할 수 있다. 예를 들어, 로봇이 1220의 장애물 영역의 x/y 위치 정보를 서버 혹은 로봇으로 송신하면, 서버 혹은 로봇은 해당 x/y 위치 정보에 대응하는 공간에서 소정의 작업(티케팅, 수리 등)이 이루어지는 시간에 대한 정보를 수신할 수 있다.
이는 1330과 같이 작업이 이루어지는 공간에 대한 정보 및 작업 시간 정보(Time: 14:00~15:00)가 함께 수신될 수 있으며, 로봇의 제어부(900)는 이를 반영하여 해당 시간 동안 장애물 영역이 유지되는 것으로 판단하고 로컬 경로를 생성할 수 있다.
도 14는 본 발명의 일 실시예에 의한 미기능 영역으로 로봇이 회귀하여 기능을 수행하는 경로를 보여주는 도면이다.
앞서 도 6의 실시예는 로봇이 설정한 장애물 영역의 유지 기간이 오래 지속되므로 다른 영역으로 이동하여 기능을 수행하도록 로컬 경로를 살펴보았다. 우측 하단의 (13, 1)의 "R" 위치에서 출발하였다.
이후, 로봇은 다른 영역에서 기능을 수행한 후, 다시 단절점(5, 8)을 통과하여 이동한다. 그리고 로봇은 단절점(5, 7) 지점("R" 표시)에서 새로이 어라운드 맵을 생성하여 이동 객체들이 없는 경우, 미기능 영역들을 대상으로 로컬 경로를 생성한다. 특히 앞서 설정하였던 장애물 영역으로 이동하는 로컬 경로를 생성하여 로봇의 이동부(300)가 로컬 경로에 따라 장애물 영역으로 이동하도록 제어부(900)가 제어할 수 있다.
도 14에서 장애물 영역(221)에 더 이상 이동 객체가 배치되지 않으므로, 제어부(900)는 미기능 영역의 구성에 따라 로컬 경로를 생성할 수 있다. 이때, 미기능 영역에 대응하는 메인 경로를 반영하여 로컬 경로를 생성할 수 있다.
전술한 실시예들을 적용할 경우, 공항, 호텔, 병원, 놀이공원 등과 같은 대면적의복잡한 환경에서의 청소, 보안, 안내 등의 기능을 수행하기 위한 경로 결정 알고리즘을 최적화하여 로봇의 이동 및 기능 수행 효율을 향상시킬 수 있다. 특히, 로봇 주변의 장애물 정보를 어라운드 맵으로 생성하여 로봇 주행에 반영하도록 로컬 경로를 생성함으로써 로봇의 장애물 대응능력을 향상시키고, 청소, 안내, 보안 등의 기능 효율을 높이면서도 사고 위험성을 줄일 수 있다.
특히 메인 경로 및 로컬 경로를 생성함에 있어서 로봇의 기능의 특징에 따라 혹은 로봇의 이동 방식의 특징에 따라 가장 효율적인 경로를 생성할 수 있으며 이는 청소, 안내, 보안 등의 기능을 수행함에 있어서 속도와 효율을 모두 높인다.
도 15는 본 발명의 일 실시예에 의한 장애물 영역 저장부의 구성을 보여주는 도면이다. 시리얼 번호(Serial)에 따라 장애물 영역의 구역(Area) 및 유지 기간(Period)가 저장된다. 002의 경우 두 개의 사각형으로 장애물 영역이 정의되는 것을 보여준다. 제1사각형 영역은 좌하단 셀로 (2, 0) 및 우상단 셀로 (3, 3)에 의해 정의된다. 제2사각형 영역은 좌하단 셀로 (3, 4) 및 우상단 셀로 (5, 6)에 의해 정의된다.
도 16은 본 발명의 일 실시예에 의한 토탈 맵에 미기능 영역과 기능 수행 영역을 구분하여 표시한 실시예이다. 토탈 맵(1620)에 기능 수행을 완료한 영역은 "C"로 표시하고, 장애물 영역으로 인해 기능을 수행하지 못한 영역은 빈 칸으로 둔다. 이 경우 로봇의 제어부는 빈 칸으로 된 영역으로 다시 회귀하기 위해 로컬 경로를 생성할 수 있다.
로봇("R"로 표기)이 (9, 13)에서 경로가 종료하고 장애물 영역을 포함한 미기능 영역으로 이동하여 기능을 수행하기 위한 로컬 경로를 생성하기 위해서는 미기능 영역들 및 미기능 영역을 주행한 후 통과해야 하는 지점(도 16에서는 (19, 1) 지점)을 고려하여 로컬 경로를 생성할 수 있다. 또한, 단절점(도 16의 (5, 7) 지점)을 반드시 통과해야 하므로 이를 고려하여 제어부(900)는 로컬 경로를 생성할 수 있다.
따라서, 로봇의 제어부(900)는 로봇의 현재 위치인 (9, 13), 목표 지점인 (19, 1), 그리고 단절점인 (5, 7)을 통과하며 미기능 영역을 모두 주행하여 기능을 수행하는 로컬 경로를 생성할 수 있으며, 이러한 로컬 경로는 일부 영역에서는 메인 경로를 반영하고 일부 영역에서는 메인 경로를 반영하지 않을 수 있다. 또한, 제어부(900)가 로봇의 이동 및 회전 속도, 기능 수행 속도에 기반한 변수를 바탕으로 로컬 경로 및 메인 경로를 생성할 수 있음은 앞서 살펴보았다.
또한, 로봇에 설치된 인터페이스부를 통해 로봇이 기능을 수행하지 않은 영역을 표시할 수 있다. 뿐만 아니라, 로봇은 미기능 영역에 대한 정보를 서버 또는 다른 로봇에게 제공하여 다른 로봇이 동일하게 미기능 영역을 주행하는 과정에서 기능을 수행할 수 있다.
로봇은 통신부(500)를 이용하여 외부의 서버 또는 외부의 다른 로봇과 미기능 영역에 대한 정보의 송수신을 수행할 수 있다. 또한, 로봇이 미기능 영역으로 진입하기 전에 다른 로봇으로부터 해당 미기능 영역에 대한 어라운드 맵을 수신하여 만약 미기능 영역이 여전히 이동 객체가 배치된 경우, 로봇은 이동하지 않을 수 있다. 이는 로봇의 불필요한 이동을 줄일 수 있다. 특히, 다수의 로봇들이 공간에 배치된 경우, 미기능 영역에 대한 정보를 효율적으로 공유할 수 있다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
1000: 로봇 100: 센싱모듈
200: 맵저장부 210: 토탈 맵
220: 어라운드 맵 230: 장애물 영역 저장부
240: 경로 저장부 300: 이동부
400:기능부 500: 통신부

Claims (14)

  1. 로봇의 제어부가 맵 저장부에 저장한 토탈 맵에 기반하여 메인 경로를 생성하고 상기 메인 경로에 따라 로봇을 주행시키는 단계;
    상기 로봇의 센싱모듈은 상기 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 센싱하며, 상기 제어부는 상기 객체들의 위치를 저장하는 제1어라운드 맵을 생성하는 단계;
    상기 제어부는 상기 제1어라운드 맵과 상기 토탈 맵을 비교하여 이동 객체를 식별하고 상기 제1영역 또는 상기 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하는 단계;
    상기 제어부는 상기 장애물 영역의 유지 기간에 따라 상기 메인 경로와 상이한 로컬 경로를 생성하여 상기 로봇이 상기 로컬 경로에 따라 이동하도록 상기 로봇의 이동부를 제어하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  2. 제1항에 있어서,
    상기 제1어라운드 맵을 생성하는 단계는
    상기 센싱모듈의 뎁스 센싱부가 상기 로봇의 주변에 배치된 객체들의 뎁스 정보를 산출하는 단계; 및
    상기 센싱모듈의 센싱 데이터 분석부가 상기 객체들의 뎁스 정보를 상기 로봇을 기준으로 하는 거리 정보로 변환하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  3. 제2항에 있어서,
    상기 제1어라운드 맵을 생성하는 단계는
    상기 센싱모듈의 라이다 센싱부가 레이저 신호를 송신한 후 상기 객체들로부터 반사된 신호의 특성에 따라 상기 객체들의 거리 및 특성 정보를 산출하는 단계를 더 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  4. 제1항에 있어서,
    상기 장애물 영역을 설정하는 단계는
    상기 제어부가 상기 이동 객체들의 군집도를 산출하는 단계; 및
    상기 제어부가 상기 군집도에 따라 상기 제1영역 또는 상기 제1영역에 인접한 영역 내에서 상기 이동 객체들이 배치된 외곽선을 상기 장애물 영역으로 설정하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  5. 제1항에 있어서,
    상기 통신부는 상기 장애물 영역에 대한 위치 정보를 서버 또는 다른 로봇에 송신하는 단계; 및
    상기 통신부가 상기 서버 또는 상기 다른 로봇으로부터 상기 장애물 영역의 작업 시간 정보를 수신하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  6. 제1항에 있어서,
    상기 센싱모듈은 상기 제1영역에 배치된 객체들을 센싱하여 객체들의 위치를 저장하는 제2어라운드 맵을 생성하는 단계; 및
    상기 제어부가 상기 제1어라운드 맵과 상기 제2어라운드 맵을 비교하여 상기 장애물 영역의 유지기간을 산출하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  7. 제1항에 있어서,
    상기 유지 기간이 미리 정의된 기간 보다 짧은 경우,
    상기 제어부는 상기 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하는 단계; 및
    상기 제어부는 상기 로봇이 상기 제1로컬 경로의 주행 후 상기 장애물 영역으로 주행하는 제2로컬 경로를 생성하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  8. 제1항에 있어서,
    상기 유지 기간이 미리 정의된 기간 보다 긴 경우,
    상기 제어부는 상기 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하는 단계; 및
    상기 제2영역에서 상기 장애물 영역에 인접하지 않은 제3영역으로 주행하는 제2로컬 경로를 생성하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  9. 제8항에 있어서,
    상기 로봇이 상기 제1로컬 경로 및 상기 제2로컬 경로에 따라 주행하도록 상기 제어부가 상기 이동부를 제어하는 단계 이후에,
    상기 제어부는 상기 장애물 영역으로 이동하는 제3로컬 경로를 생성하여 상기 제3로컬 경로에 따라 이동하도록 상기 로봇의 이동부를 제어하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
  10. 로봇의 이동을 제어하는 이동부;
    로봇이 이동하는 전체 공간에 대한 토탈 맵 및 상기 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 저장하는 어라운드 맵을 저장하는 맵 저장부;
    로봇의 외부에 배치된 객체를 센싱하는 센싱모듈; 및
    상기 이동부, 맵 저장부, 센싱모듈을 제어하며, 상기 토탈 맵과 상기 어라운드 맵을 참조하여 메인 경로 및 로컬 경로를 생성하고, 상기 제1어라운드 맵과 상기 토탈 맵을 비교하여 이동 객체를 식별하여 상기 제1영역 또는 상기 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하며, 상기 장애물 영역의 유지 기간에 따라 상기 메인 경로와 상이한 로컬 경로를 생성하여 상기 로봇이 상기 로컬 경로에 따라 이동하도록 상기 로봇의 이동부를 제어하는 제어부를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
  11. 제10항에 있어서,
    상기 센싱모듈은
    상기 로봇의 주변에 배치된 객체들의 뎁스 정보를 산출하는 뎁스 센싱부; 및
    상기 객체들의 뎁스 정보를 상기 로봇을 기준으로 하는 거리 정보로 변환하는 센싱 데이터 분석부를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
  12. 제10항에 있어서,
    상기 제어부는 상기 이동 객체들의 군집도를 산출하여, 상기 군집도에 따라 상기 제1영역 또는 상기 제1영역에 인접한 영역 내에서 상기 이동 객체들이 배치된 외곽선을 상기 장애물 영역으로 설정하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
  13. 제10항에 있어서,
    상기 유지 기간이 미리 정의된 기간 보다 짧은 경우,
    상기 제어부는 상기 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하고, 상기 로봇이 상기 제1로컬 경로의 주행 후 상기 장애물 영역으로 주행하는 제2로컬 경로를 생성하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
  14. 제10항에 있어서,
    상기 유지 기간이 미리 정의된 기간 보다 긴 경우,
    상기 제어부는 상기 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하고, 상기 제2영역에서 상기 장애물 영역에 인접하지 않은 제3영역으로 주행하는 제2로컬 경로를 생성하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.

KR1020170033383A 2017-03-16 2017-03-16 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇 KR102286656B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170033383A KR102286656B1 (ko) 2017-03-16 2017-03-16 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170033383A KR102286656B1 (ko) 2017-03-16 2017-03-16 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇

Publications (2)

Publication Number Publication Date
KR20180105984A true KR20180105984A (ko) 2018-10-01
KR102286656B1 KR102286656B1 (ko) 2021-08-04

Family

ID=63877206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170033383A KR102286656B1 (ko) 2017-03-16 2017-03-16 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇

Country Status (1)

Country Link
KR (1) KR102286656B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102345826B1 (ko) * 2021-01-05 2021-12-31 (주)시스콘 맵 변경 기반 자율주행 장치 및 방법
US11763494B2 (en) 2020-01-29 2023-09-19 Hanwha Aerospace Co., Ltd. Mobile surveillance apparatus and operation method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4296014A1 (en) 2021-08-20 2023-12-27 Samsung Electronics Co., Ltd. Robot and control method therefor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738887B1 (ko) * 2005-10-27 2007-07-12 엘지전자 주식회사 이동로봇의 주행 방법과 그를 이용한 이동로봇
US20090210090A1 (en) * 2008-02-18 2009-08-20 Toyota Motor Engineering & Manufacturing North America, Inc. Robotic system and method for observing, learning, and supporting human activities
JP2010191502A (ja) * 2009-02-16 2010-09-02 Toyota Motor Corp 移動ロボット制御システム、経路探索方法、経路探索プログラム
JP2013254474A (ja) * 2012-02-10 2013-12-19 Konan Gakuen 障害物検出装置
JP5886502B2 (ja) * 2012-12-20 2016-03-16 トヨタ自動車株式会社 移動体制御装置、移動体制御方法及び制御プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738887B1 (ko) * 2005-10-27 2007-07-12 엘지전자 주식회사 이동로봇의 주행 방법과 그를 이용한 이동로봇
US20090210090A1 (en) * 2008-02-18 2009-08-20 Toyota Motor Engineering & Manufacturing North America, Inc. Robotic system and method for observing, learning, and supporting human activities
JP2010191502A (ja) * 2009-02-16 2010-09-02 Toyota Motor Corp 移動ロボット制御システム、経路探索方法、経路探索プログラム
JP2013254474A (ja) * 2012-02-10 2013-12-19 Konan Gakuen 障害物検出装置
JP5886502B2 (ja) * 2012-12-20 2016-03-16 トヨタ自動車株式会社 移動体制御装置、移動体制御方法及び制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11763494B2 (en) 2020-01-29 2023-09-19 Hanwha Aerospace Co., Ltd. Mobile surveillance apparatus and operation method thereof
KR102345826B1 (ko) * 2021-01-05 2021-12-31 (주)시스콘 맵 변경 기반 자율주행 장치 및 방법

Also Published As

Publication number Publication date
KR102286656B1 (ko) 2021-08-04

Similar Documents

Publication Publication Date Title
US10948913B2 (en) Method of identifying unexpected obstacle and robot implementing the method
KR102099605B1 (ko) 실시간 최적 주차 경로 안내 시스템 및 방법
US20230409032A1 (en) Method for controlling an autonomous, mobile robot
Konolige A gradient method for realtime robot control
JP4257230B2 (ja) 移動ロボット
US10783363B2 (en) Method of creating map by identifying moving object, and robot implementing the method
CN110419211A (zh) 信息处理装置、信息处理方法和信息处理程序
JP5112666B2 (ja) 移動装置
Kümmerle et al. A navigation system for robots operating in crowded urban environments
CN104679004B (zh) 柔性路径与固定路径相结合的自动导引车及其导引方法
US20180210448A1 (en) Method of identifying functional region in 3-dimensional space, and robot implementing the method
CN102782600B (zh) 自动移动体及其控制方法
KR102090590B1 (ko) 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법
KR102461938B1 (ko) 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇
KR101868695B1 (ko) 이동 로봇 제어 방법
KR20180105984A (ko) 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇
KR20180135755A (ko) 비전 정보에 기반한 위치 설정 방법 및 이를 구현하는 로봇
KR20220055167A (ko) 자율주행 로봇, 자율주행 로봇의 충돌 회피 방법 및 월드 맵 관리 방법
KR20190024467A (ko) 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇
KR102063150B1 (ko) 사람을 식별하여 대인 동작을 수행하는 방법 및 이를 구현하는 로봇
KR20180039378A (ko) 공항용 로봇 및 그의 동작 방법
KR20180071458A (ko) 비콘을 이용한 주차 유도 방법 및 시스템
KR20180112622A (ko) 고정객체와 이동객체의 식별에 기반하여 위치를 설정하는 방법 및 이를 구현하는 로봇
JP4673138B2 (ja) 空港面管制システム
JPH07225612A (ja) 時間軸を探索空間に取り入れた経路探索方法,及び装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant