KR20240133193A - 공간에 대해 로봇과 공간 내 센서로부터 획득되는 환경 정보로부터 생성된 상황 정보에 기반하여, 로봇의 이동을 제어하는 로봇 제어 방법 - Google Patents
공간에 대해 로봇과 공간 내 센서로부터 획득되는 환경 정보로부터 생성된 상황 정보에 기반하여, 로봇의 이동을 제어하는 로봇 제어 방법 Download PDFInfo
- Publication number
- KR20240133193A KR20240133193A KR1020230026829A KR20230026829A KR20240133193A KR 20240133193 A KR20240133193 A KR 20240133193A KR 1020230026829 A KR1020230026829 A KR 1020230026829A KR 20230026829 A KR20230026829 A KR 20230026829A KR 20240133193 A KR20240133193 A KR 20240133193A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- information
- space
- environmental information
- control system
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000007613 environmental effect Effects 0.000 claims abstract description 120
- 230000004927 fusion Effects 0.000 claims abstract description 22
- 238000005192 partition Methods 0.000 claims description 72
- 238000000926 separation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 17
- 230000015654 memory Effects 0.000 description 11
- 230000003068 static effect Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000004807 localization Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000013361 beverage Nutrition 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/243—Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/40—Control within particular dimensions
- G05D1/43—Control of position or course in two dimensions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/69—Coordinated control of the position or course of two or more vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electromagnetism (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
Abstract
로봇 제어 시스템에 의해 수행되는, 공간 내에서 로봇을 제어하는 로봇 제어 방법이 제공된다. 로봇 제어 시스템은, 구분 공간 내에 진입하는 제1 로봇으로부터 구분 공간의 내부에 관한 제1 환경 정보를 획득하고, 구분 공간 내에 마련된 센서로부터 구분 공간의 내부에 관한 제2 환경 정보를 획득하고, 제1 환경 정보 및 제2 환경 정보의 융합 정보인 상황 정보에 기반하여, 제1 로봇의 구분 공간에 대한 진입과 이동을 제어한다.
Description
아래의 설명은 공간에 대해 로봇으로부터 획득된 환경 정보와 공간 내 센서로부터 획득되는 환경 정보를 융합하여 생성된 상황 정보에 기반하여, 로봇의 공간 내에서의 이동을 제어하는 로봇 제어 방법 및 시스템에 관한 것이다.
자율 주행 로봇은 스스로 주변을 살피고 장애물을 감지하면서 바퀴나 다리를 이용하여 목적지까지 최적 경로를 찾아가는 로봇으로, 자율 주행 차량이나, 물류, 호텔 서비스, 로봇 청소기 등 다양한 분야를 위해 개발 및 활용되고 있다.
로봇이 서비스를 제공하기 위해 건물과 같은 공간 내에서 운용되는 경우, 로봇은 서비스 제공을 위해 일정한 구분 공간에 진입해야 하거나, 구분 공간 내에서 이동해야 하는 경우가 있다. 예컨대, 로봇은 건물과 같은 공간 내의 층간을 이동하기 위해 엘리베이터(엘리베이터 카 또는 캐빈)를 이용할 수 있으며, 엘리베이터 카 내의 내부 영역과 같은 구분 공간에 진입하고, 구분 공간 내를 이동하여, 구분 공간 내의 일정 위치에 배치되어야 할 수 있다.
로봇이 이러한 구분 공간에 진입하여 구분 공간 내를 이동함에 있어서는, 구분 공간 내의 동적 공간 정보와 같은 상황 정보를 파악하는 것이 중요하다. 특히, 로봇은 구분 공간 내에 진입하여 해당 구분 공간을 센싱하기 전에는 구분 공간에 관한 충분한 정보를 획득할 수 없고, 따라서, 구분 공간에 진입할 수 있는지 여부를 확신할 수 없다. 또한, 로봇이 구분 공간에 진입하기 전에 구분 공간 내의 어느 위치에 배치되어야 할지를 사전에 결정하기도 어렵다. 이는 로봇의 구분 공간 내의 진입을 느리고 비효율적으로 만들 수 있으며, 공간에서의 로봇의 운용과 로봇에 의한 서비스 제공을 어렵게 만들 수 있다.
한국공개특허 제10-2005-0024840호는 자율이동로봇을 위한 경로계획방법에 관한 기술로, 가정이나 사무실에서 자율적으로 이동하는 이동로봇이 장애물을 회피하면서 목표점까지 안전하고 빠르게 이동할 수 있는 최적경로를 계획하는 방법에 대해 개시하고 있다.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.
엘리베이터 카의 내부 영역과 같은, 구분 공간 내에 진입하는 로봇과 구분 공간 내에 마련된 센서로부터 구분 공간의 내부에 관한 환경 정보를 각각 획득하고, 획득된 환경 정보의 융합 정보로서 구분 공간의 내부에 관한 상황 정보를 생성하고, 상황 정보에 기반하여 로봇의 구분 공간에 대한 진입과 이동을 제어하는 방법을 제공할 수 있다.
구분 공간에 대한 로봇의 이동에 따라, 구분 공간의 내부에 관한 상황 정보를 실시간으로 업데이트하고 업데이트된 상황 정보를 고려하여, 로봇이 구분 공간의 진입에 따라 로봇의 이동 계획을 동적으로 업데이트하고 그에 따라 로봇을 제어하는 하는 로봇 제어 방법을 제공할 수 있다.
구분 공간 내에 진입하는 로봇으로부터 획득되는 제1 환경 정보와 구분 공간 내에 마련된 센서로부터 획득되는 제2 환경 정보를 융합하여 구분 공간의 내부에 관한 상황 정보를 생성하고, 상황 정보를 구분 공간에 대응하는 2차원 평면에 투사하여 나타내는 방법을 제공할 수 있다.
일 측면에 있어서, 로봇 제어 시스템에 의해 수행되는, 공간 내에서 로봇을 제어하는 로봇 제어 방법에 있어서, 구분 공간 내에 진입하는 제1 로봇으로부터 상기 구분 공간의 내부에 관한 제1 환경 정보를 획득하는 단계; 상기 구분 공간 내에 마련된 적어도 하나의 센서로부터 상기 구분 공간의 내부에 관한 제2 환경 정보를 획득하는 단계; 및 상기 제1 환경 정보 및 상기 제2 환경 정보에 기반한 상기 구분 공간의 내부에 관한 상황 정보에 기반하여, 상기 제1 로봇의 상기 구분 공간에 대한 진입 또는 상기 제1 로봇의 상기 구분 공간 내에서의 이동을 제어하는 단계를 포함하는, 로봇 제어 방법이 제공된다.
상기 구분 공간은 상기 제1 로봇이 승하차 가능한 엘리베이터 카의 내부 영역이고, 상기 제어하는 단계는, 상기 제1 로봇의 상기 엘리베이터 카에 대한 탑승 또는 상기 제1 로봇의 상기 내부 영역에서의 이동을 제어할 수 있다.
상기 센서는 거리 센서를 포함하고, 상기 구분 공간의 코너에 배치될 수 있다.
상기 제1 환경 정보 및 상기 제2 환경 정보는 상기 구분 공간의 내부에 관한 상황 정보를 생성하기 위해 서로 보완적으로 사용될 수 있다.
상기 로봇 제어 방법은, 상기 제1 환경 정보 및 상기 제2 환경 정보에 기반한 융합 정보로서 상기 상황 정보를 생성하는 단계를 더 포함하고, 상기 상황 정보는, 상기 제1 로봇이 배치 가능한 영역에 관한 제1 정보, 상기 제1 로봇이 배치 불가능한 영역에 관한 제2 정보 및 미지의(unknown) 영역에 관한 제3 정보를 포함할 수 있다.
상기 로봇 제어 방법은, 상기 구분 공간 내에 기 배치된 제2 로봇으로부터 상기 구분 공간의 내부에 관한 제3 환경 정보를 획득하는 단계를 더 포함하고, 상기 생성하는 단계는, 상기 제1 환경 정보 내지 상기 제3 환경 정보에 기반한 융합 정보로서 상기 상황 정보를 생성할 수 있다.
상기 제어하는 단계는, 상기 제1 로봇의 상기 구분 공간에 대한 이동 계획을 수립하는 단계; 및 상기 이동 계획에 따라, 상기 제1 로봇이 상기 구분 공간에 진입하여 상기 구분 공간 내의 소정의 제1 위치에 배치되도록, 상기 제1 로봇을 제어하는 단계를 포함할 수 있다.
상기 생성하는 단계는, 상기 제1 로봇이 상기 구분 공간의 내부를 향해 이동함에 따라 상기 제1 정보 내지 상기 제3 정보 중 적어도 하나를 업데이트함으로써 상기 상황 정보를 업데이트하는 단계를 포함하고, 상기 수립하는 단계는, 상기 업데이트된 상황 정보에 기반하여, 상기 이동 계획을 업데이트하는 단계를 포함하고, 상기 제1 로봇을 제어하는 단계는, 상기 업데이트된 이동 계획에 기반하여, 상기 제1 로봇이 상기 구분 공간에 진입하여 상기 구분 공간 내의 상기 제1 위치와는 상이한 제2 위치에 배치되도록, 상기 제1 로봇을 제어할 수 있다.
상기 이동 계획은 상기 제1 로봇이 상기 구분 공간에 진입하기 전에 수립되어, 상기 제1 로봇이 상기 구분 공간의 내부를 향해 이동함에 따라 업데이트될 수 있다.
상기 이동 계획은 상기 제1 로봇이 상기 구분 공간에 진입하여 상기 구분 공간의 내부를 이동하는 동안 업데이트될 수 있다.
상기 제1 로봇이 배치 가능한 영역은 로봇 및 사람 중 적어도 하나를 포함하는 장애물이 존재하지 않는 영역을 나타내고, 상기 제1 로봇이 배치 불가능한 영역은 상기 장애물이 존재하는 영역을 나타내고, 상기 미지의 영역은 상기 제1 로봇에 의한 센싱 범위 및 상기 센서에 의한 센싱 범위를 벗어나는 영역을 나타낼 수 있다.
상기 상황 정보를 생성하는 단계는, 상기 내부 영역에 대응하는 2차원 평면에 상기 제1 정보, 상기 제2 정보 및 상기 제3 정보를 표현함으로써, 상기 상황 정보를 생성할 수 있다.
상기 센서는 상기 구분 공간의 상단에 배치된 카메라를 포함하고, 상기 제2 환경 정보는 상기 카메라에 의해 인식된 로봇 및 사람 중 적어도 하나를 포함하는 장애물의 좌표 정보를 포함하고, 상기 제1 환경 정보는 상기 제1 로봇의 거리 센서 또는 카메라에 의해 인식된 상기 장애물에 대한 상대 위치 정보를 포함하고, 상기 로봇 제어 방법은, 상기 좌표 정보와 상기 상대 위치 정보를 매칭시킴으로써, 제1 환경 정보 및 상기 제2 환경 정보에 기반한 융합 정보로서 상기 장애물에 대한 위치 정보를 포함하는 상기 상황 정보를 생성하는 단계를 더 포함할 수 있다.
다른 일 측면에 있어서, 공간 내에서 로봇을 제어하는 로봇 제어 시스템을 구성하는 컴퓨터 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 구분 공간 내에 진입하는 제1 로봇으로부터 상기 구분 공간의 내부에 관한 제1 환경 정보를 획득하고, 상기 구분 공간 내에 마련된 적어도 하나의 센서로부터 상기 구분 공간의 내부에 관한 제2 환경 정보를 획득하고, 상기 제1 환경 정보 및 상기 제2 환경 정보에 기반한 상기 구분 공간의 내부에 관한 상황 정보에 기반하여, 상기 제1 로봇의 상기 구분 공간에 대한 진입 또는 상기 제1 로봇의 상기 구분 공간 내에서의 이동을 제어하는, 컴퓨터 시스템이 제공된다.
구분 공간 내에 진입하는 로봇으로부터 획득되는 제1 환경 정보와 구분 공간 내에 마련된 센서로부터 획득되는 제2 환경 정보를 융합한 정보를, 구분 공간과 연관된 로봇의 이동 제어에 사용함으로써, 로봇이 구분 공간에 진입하기 전에 구분 공간 내부의 상황 정보(동적 공간 정보)가 파악될 수 있고, 따라서, 구분 공간에 대한 로봇의 진입 제어 및 구분 공간 내에서의 로봇의 이동 제어가 효율화될 수 있다.
로봇의 구분 공간에의 접근에 따라 구분 공간 내부에 관한 상황 정보를 업데이트함으로써, 로봇의 구분 공간에의 진입 전에 구분 공간에 대한 로봇의 이동 계획을 수립할 수 있고, 수립된 이동 계획을 로봇의 구분 공간에서의 실제 센싱 결과에 따라 동적으로 업데이트할 수 있고, 따라서, 구분 공간의 상황에 따라 적응적으로 로봇을 제어할 수 있다.
도 1은 일 실시예에 따른, 구분 공간 내에 진입하는 로봇과 구분 공간 내에 마련된 센서로부터 구분 공간의 내부에 관한 환경 정보를 각각 획득하고, 획득된 환경 정보로부터 생성되는 상황 정보에 기반하여 로봇의 구분 공간에 대한 진입과 이동을 제어하는 방법을 나타낸다.
도 2 는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 나타내는 블록도이다.
도 3 및 도 4는 일 실시예에 따른, 로봇을 제어하는 로봇 제어 시스템을 나타내는 블록도이다.
도 5는 구분 공간 내에 진입하는 로봇과 구분 공간 내에 마련된 센서로부터 구분 공간의 내부에 관한 환경 정보를 각각 획득하고, 획득된 환경 정보로부터 생성되는 상황 정보에 기반하여 로봇의 구분 공간에 대한 진입과 이동을 제어하는 방법을 나타내는 흐름도이다.
도 6은 일 예에 따른, 공간의 내부에 관한 상황 정보를 업데이트하고, 업데이트된 상황 정보에 따라 로봇의 구분 공간에 대한 이동 계획을 수립하는 방법을 나타낸다.
도 7 및 도 8은 일 예에 따른, 구분 공간 내에 마련된 센서의 동작 방법을 나타낸다.
도 9는 일 예에 따른, 구분 공간에 대한 로봇의 진입에 따라, 제1 환경 정보 및 제2 환경 정보를 획득하고, 로봇을 제어하는 방법을 나타낸다.
도 10 및 도 11은 일 예에 따른, 구분 공간에 대한 로봇의 진입에 따라, 로봇에 대해 수립된 이동 계획을 업데이트하는 방법을 나타낸다.
도 12 내지 도 14는 일 예에 따른, 제1 환경 정보 및 제2 환경 정보의 융합 정보로서 상황 정보를 생성하는 방법을 나타낸다.
도 15는 일 예에 따른, 구분 공간에 진입하는 로봇, 로봇 제어 시스템 및 구분 공간에 배치된 센서 시스템 간의 상호작용에 따라, 로봇을 제어하는 방법을 나타낸다.
도 2 는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 나타내는 블록도이다.
도 3 및 도 4는 일 실시예에 따른, 로봇을 제어하는 로봇 제어 시스템을 나타내는 블록도이다.
도 5는 구분 공간 내에 진입하는 로봇과 구분 공간 내에 마련된 센서로부터 구분 공간의 내부에 관한 환경 정보를 각각 획득하고, 획득된 환경 정보로부터 생성되는 상황 정보에 기반하여 로봇의 구분 공간에 대한 진입과 이동을 제어하는 방법을 나타내는 흐름도이다.
도 6은 일 예에 따른, 공간의 내부에 관한 상황 정보를 업데이트하고, 업데이트된 상황 정보에 따라 로봇의 구분 공간에 대한 이동 계획을 수립하는 방법을 나타낸다.
도 7 및 도 8은 일 예에 따른, 구분 공간 내에 마련된 센서의 동작 방법을 나타낸다.
도 9는 일 예에 따른, 구분 공간에 대한 로봇의 진입에 따라, 제1 환경 정보 및 제2 환경 정보를 획득하고, 로봇을 제어하는 방법을 나타낸다.
도 10 및 도 11은 일 예에 따른, 구분 공간에 대한 로봇의 진입에 따라, 로봇에 대해 수립된 이동 계획을 업데이트하는 방법을 나타낸다.
도 12 내지 도 14는 일 예에 따른, 제1 환경 정보 및 제2 환경 정보의 융합 정보로서 상황 정보를 생성하는 방법을 나타낸다.
도 15는 일 예에 따른, 구분 공간에 진입하는 로봇, 로봇 제어 시스템 및 구분 공간에 배치된 센서 시스템 간의 상호작용에 따라, 로봇을 제어하는 방법을 나타낸다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른, 구분 공간 내에 진입하는 로봇과 구분 공간 내에 마련된 센서로부터 구분 공간의 내부에 관한 환경 정보를 각각 획득하고, 획득된 환경 정보로부터 생성되는 상황 정보에 기반하여 로봇의 구분 공간에 대한 진입과 이동을 제어하는 방법을 나타낸다.
도 1에서는 예컨대, 건물과 같은 공간 내에서 서비스를 제공하도록 구성되는 로봇(100)과, 공간 내의 구분 공간(20)이 도시되었고, 로봇 제어 시스템(120)에 의한 제어에 따라 로봇(100)이 구분 공간(20) 내로 진입하여, 구분 공간(20) 내에서 이동하는 방법이 도시되고 있다.
공간은 복수의 로봇들(즉, 멀티 로봇)이 주행하고 서비스를 제공하는 환경으로서, 복수의 로봇들 각각이 자신에 대해 설정된 경로 및 목적지를 주행하는 환경일 수 있다. 일례로, 공간은 복수의 층들로 구성될 수 있고, 복수의 구분 공간들을 포함할 수 있다. 구분 공간(20)은 공간 내의 방과 같은 영역으로서, 출입구를 통해 그 외부와 구분되는 여하한 영역을 의미할 수 있다. 구분 공간(20)은 예컨대, 로봇(100)이 승하차 가능한 엘리베이터 카의 내부 영역일 수 있다. 말하자면, 공간 내에는 층들 간을 승강하기 위한 복수의 엘리베이터 카들이 운용되고 있을 수 있고, 구분 공간(20)은 각 엘리베이터 카의 내부 영역을 나타낼 수 있다. 한편, 구분 공간(20)을 포함하는 공간은 건물일 수 있으며, 또는, 실내 공간 및 실외 공간을 포함하는 복합 공간일 수 있다.
도시된 것처럼, 로봇(100)을 비롯한 로봇들은 로봇 제어 시스템(120)에 의해 제어될 수 있다. 또한, 공간 내에서 운용되는 엘리베이터 카는 엘리베이터 제어 시스템(130)에 의해 제어될 수 있다.
로봇 제어 시스템(120)은 로봇(100)을 제어하기 위한 컴퓨터 시스템으로서 서버일 수 있다. 로봇 제어 시스템(120)은 공간 또는 건물의 외부에 배치되는 서버로서, 클라우드 서버일 수 있다. 또는, 실시예에 따라서는 로봇 제어 시스템(120)은 공간 또는 건물의 내부에 배치될 수도 있다.
한편, 구분 공간(20)이 엘리베이터 카의 내부 영역을 나타내는 경우, 엘리베이터 카를 제어하기 위한 엘리베이터 제어 시스템은 엘리베이터 카의 승강을 제어하기 위한 컴퓨터 시스템으로서 서버일 수 있다. 엘리베이터 제어 시스템은 공간 또는 건물의 외부에 배치되는 서버일 수 있다. 또는, 실시예에 따라서는 엘리베이터 제어 시스템은 공간 또는 건물의 내부에 배치될 수도 있다.
로봇(100)을 비롯한 로봇들의 각각은 공간 내에서 서비스를 제공하기 위해 사용되는 서비스 로봇일 수 있다. 도시되지는 않았으나, 공간 내에는 다수의 로봇들이 배치될 수 있고, 구분 공간(20) 내에도 다수의 로봇들이 탑승할 수 있다. 예컨대, 도시된 것처럼 구분 공간(20)에는 사람 및/또는 로봇이 위치하고 있을 수 있으며, 기타 동적인 또는 정적인 장애물이 배치되어 있을 수 있다.
각 로봇이 제공하는 서비스는 예컨대, 택배 전달 서비스, 주문에 따른 음료(커피 등) 전달 서비스, 청소 서비스, 및 기타 정보/콘텐츠 제공 서비스 중 적어도 하나를 포함할 수 있다.
로봇(100)을 비롯한 로봇들의 각각은 자율 주행을 통해 공간의 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공하도록 구성될 수 있으며, 각 로봇의 이동 및 서비스의 제공은 로봇 제어 시스템(120)에 의해 제어될 수 있다.
로봇(100), 로봇 제어 시스템(120) 및 엘리베이터 제어 시스템의 구조에 대해서는 후술될 도 2 내지 도 4를 참조하여 더 자세하게 설명된다.
구분 공간(20)이 엘리베이터 카의 내부 영역을 나타내는 경우에 있어서, 엘리베이터 카는 사람과 로봇(100)이 탑승 가능한 일반적인 엘리베이터일 수 있다. 또는, 이러한 엘리베이터 카는 로봇(100) 만이 탑승 가능하도록 설정된 로봇 전용 엘리베이터일 수도 있다. 실시예에 따라서는, (예컨대, 로봇 제어 시스템(120)의 요청을 수신한 엘리베이터 제어 시스템에 의해) 일반적인 엘리베이터는 로봇 전용 엘리베이터로 설정될 수 있다. 엘리베이터 카는 사람 및/또는 로봇(100)이 승하차 하기 위한 도어를 포함할 수 있다.
도 1을 비롯한 후술될 일부 도면들에서는 엘리베이터 카의 도어나 구분 공간(20)의 도어는 설명의 편의상 생략되었다.
도 1을 비롯하여, 후술될 상세한 설명에서는 구분 공간(20)에 진입하는 로봇(100)을 설명의 편의상 제1 로봇(100)으로 지칭할 수 있다.
실시예에서는, 로봇 제어 시스템(120)은, 제1 로봇(100)의 구분 공간(20) 내의 진입과, 진입 후 구분 공간(20)에서의 이동을 제어할 수 있다. 이에 따라, 제1 로봇(100)은 구분 공간(20)에 진입하여 구분 공간(20) 내의 소정의 위치로 이동하거나, 소정의 위치에서 배치되어 대기할 수 있다. 제1 로봇(100)이 배치되는 구분 공간(20) 내의 소정의 위치는 엘리베이터 카의 내부 영역의 제1 로봇(100)이 대기하기에 적합한 배치 위치일 수 있다.
로봇 제어 시스템(120)은, 구분 공간(20) 내에 진입하는 제1 로봇(100)으로부터 구분 공간(20)의 내부에 관한 제1 환경 정보를 획득할 수 있다. 제1 환경 정보는 제1 로봇(100)이 포함하는 센서를 통해 획득된 센싱 데이터를 포함할 수 있다. 말하자면, 제1 환경 정보는 제1 로봇(100)의 센서의 센싱 범위(C1)에 대해 획득되는 센싱 데이터를 포함할 수 있다. 또한, 로봇 제어 시스템(120)은, 구분 공간(20) 내에 마련된 적어도 하나의 센서(25)로부터 구분 공간의 내부에 관한 제2 환경 정보를 획득할 수 있다. 도시된 것처럼, 센서(25)는 구분 공간(20)의 각 코너에 배치될 수 있고 복수일 수 있다. 도시된 것과는 달리 센서(25)의 배치 위치는 구분 공간(20)의 형태나 센서(25)의 센싱 범위(C2)에 따라 상이하게 될 수 있다. 제2 환경 정보는 센서(25)를 통해 획득된 센싱 데이터를 포함할 수 있고, 도시된 것처럼, 센싱 범위(C2)에 대해 획득되는 센싱 데이터를 포함할 수 있다.
로봇 제어 시스템(120)은 획득된 제1 환경 정보 및 제2 환경 정보에 기반한 구분 공간(20)의 내부에 관한 상황 정보에 기반하여, 제1 로봇(100)의 구분 공간(20)에 대한 진입 또는 제1 로봇(100)의 구분 공간(20) 내에서의 이동을 제어할 수 있다. 상황 정보는 제1 환경 정보 및 제2 환경 정보의 융합 정보로서, 구분 공간(20)의 내부에 관한 동적 공간 정보를 포함할 수 있다. 로봇 제어 시스템(120)은 이러한 상황 정보에 기반하여 구분 공간(20)의 내부에서의 사람 및/또는 로봇 등과 같은 (동적인 또는 정적인) 장애물의 위치를 식별하거나, 장애물의 움직임 또는 이동을 예측할 수 있다. 따라서, 로봇 제어 시스템(120)은 상기의 상황 정보를 이용하여 제1 로봇(100)의 구분 공간(20)에 대한 진입과 진입 후 제1 로봇(100)의 구분 공간(20) 내에서의 이동을 제어할 수 있다.
실시예에서는, 제1 로봇(100)을 제어하기 위해 제1 로봇(100)으로부터의 제1 환경 정보 외에 구분 공간(20)에 마련된 센서(25)로부터의 제2 환경 정보를 더 활용함으로써, 로봇 제어 시스템(120)이 제1 로봇(100)이 진입하는 구분 공간(20)에 대해 보다 풍부한 정보를 얻을 수 있고, 구분 공간(20)과 연관하여 제1 로봇(100)을 보다 효율적으로 제어할 수 있다. 말하자면, 로봇 제어 시스템(120)은 제1 로봇(100)의 센서의 센싱 범위(C1) 외에 센서(25)의 센싱 범위(C2)에 관한 환경 정보를 획득함으로써, 구분 공간(20)의 동적 공간 정보를 보다 정확하게 파악하여, 제1 로봇(100)을 제어할 수 있다.
로봇 제어 시스템(120)에 의해 제어되는 제1 로봇(100)을 제어하는 보다 구체적인 방법과, 제1 환경 정보 및 제2 환경 정보에 기반하여 융합 정보로서 구분 공간(20)에 대한 상황 정보를 생성하는 보다 구체적인 방법에 대해서는 후술될 도 5 내지 도 15를 참조하여 더 자세하게 설명한다.
도 2 는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 나타내는 블록도이다.
설명의 편의상 아래에서는 제1 로봇(100)을 로봇(100)으로 명명하여 그 구성들에 대해 설명한다. 로봇 제어 시스템(120)에 의해 제어되는 로봇들의 각각은 후술될 로봇(100)과 동일 또는 유사한 구성을 포함할 수 있다.
전술한 것처럼, 로봇(100)은 공간 내에서 서비스를 제공하기 위해 사용되는 서비스 로봇일 수 있다. 로봇(100)은 자율 주행을 통해 공간의 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공할 수 있다.
로봇(100)은 물리적인 장치일 수 있으며, 도시된 바와 같이, 제어부(104), 구동부(108), 센서부(106) 및 통신부(102)를 포함할 수 있다.
제어부(104)는 로봇(100)에 내장된 물리적인 프로세서일 수 있으며, 별도로 도시하지는 않았으나, 경로 계획 처리 모듈, 맵핑 처리 모듈, 구동 제어 모듈, 로컬리제이션 처리 모듈, 데이터 처리 모듈 및 서비스 처리 모듈을 포함할 수 있다. 이 때, 경로 계획 처리 모듈, 맵핑 처리 모듈 및 로컬리제이션 처리 모듈은 로봇 제어 시스템(120)과 통신이 이루어지지 않는 경우에도 로봇(100)의 실내 자율 주행이 이루어질 수 있도록 하기 위해 실시예에 따라 선택적으로 제어부(104)에 포함되는 것일 수도 있다.
통신부(102)는 로봇(100)이 다른 장치(다른 로봇 또는 로봇 제어 시스템(120) 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(102)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 로봇(100)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.
구동부(108)는 로봇(100)의 이동을 제어하며 이동을 가능하게 하는 구성으로서 이를 수행하기 위한 장비를 포함할 수 있다.
센서부(106)는 로봇(100)의 자율 주행 및 서비스 제공에 있어서 요구되는 데이터를 수집하기 위한 구성일 수 있다. 센서부(106)는 고가의 센싱 장비를 포함하지 않을 수 있고, 단지 저가형 초음파 센서 및/또는 저가형 카메라 등과 같은 센서를 포함할 수 있다. 센서부(106)는 전방 및/또는 후방의 다른 로봇이나 사람을 식별하기 위한 센서를 포함할 수 있다. 예컨대, 센서부(106)의 카메라를 통해 다른 로봇, 사람 및 기타 지물들이 장애물로서 식별될 수 있다. 또는, 센서부(106)는 적외선 센서(또는 적외선 카메라)를 포함할 수 있다. 센서부(106)는 카메라 외에 주변의 사용자나, 다른 로봇 또는 지물을 인식/식별하기 위한 센서를 더 포함할 수도 있다. 이처럼 센서부(106)는 장애물을 식별하도록 구성될 수 있다. 센서부(106)가 포함하는 센서는 소정의 센싱 범위(C1)를 가질 수 있고, 센싱 범위(C1) 내에 존재하는 장애물을 식별할 수 있다. 예컨대, 센서부(106)는 장애물까지의 거리를 인식하기 위한 센서를 포함할 수 있다. 여기서, 인식되는 장애물은 사람 또는 다른 로봇과 같은 동적 장애물을 포함하거나, 기타 정적 장애물을 포함할 수 있다.
로봇(100)은 로봇 제어 시스템(120)에 의한 제어에 따라 장애물을 회피하도록 제어될 수 있다.
일례로, 로봇(100)이 로봇 제어 시스템(120)에 의해 제어되는 로봇 제어 시스템(120) 내에서 로봇(100)의 자율 주행을 위한 알고리즘이 실행되는 경우, 제어부(104)의 데이터 처리 모듈은 센서부(106)의 센서들의 출력값을 포함하는 센싱 데이터를 통신부(102)를 통해 로봇 제어 시스템(120)으로 전송할 수 있다. 로봇 제어 시스템(120)은 공간 내의 실내 맵을 사용하여 생성된 경로 데이터(경로)를 로봇(100)으로 전송할 수 있다. 경로 데이터는 통신부(102)를 통해 데이터 처리 모듈로 전달될 수 있다. 데이터 처리 모듈은 경로 데이터를 바로 구동 제어 모듈로 전달할 수 있고, 구동 제어 모듈은 경로 데이터에 따라 구동부(108)를 제어하여 로봇(100)의 실내 자율 주행을 제어할 수 있다. 이에 따라, 로봇(100)은 전술한 공간 내를 자율 주행하게 될 수 있다. 로봇 제어 시스템(120)에서 주행 알고리즘이 실행되는 경우, 로봇 제어 시스템(120)은 로봇(100)으로부터 수신한 센싱 데이터에 기반하여 주행 알고리즘에 따라 로봇(120)을 제어하기 위한 제어 신호(예컨대, 속도 및/또는 방향 제어 신호)를 생성할 수 있고, 생성된 제어 신호에 기반하여 로봇(100)이 제어되도록 할 수 있다.
또는, 로봇(100)과 로봇 제어 시스템(120)이 통신할 수 없는 경우나 로봇(100) 내에서 자율 주행을 위한 알고리즘이 실행되는 경우라면, 데이터 처리 모듈은 센싱 데이터를 로컬리제이션 처리 모듈로 전송하고, 경로 계획 처리 모듈과 맵핑 처리 모듈을 통해 경로 데이터를 생성하여 로봇(100)의 실내 자율 주행을 직접 처리할 수도 있다.
로봇(100)은 공간 내의 실내 맵을 생성하기 위해 사용되는 맵핑 로봇과는 구별되는 것일 수 있다. 로봇(100)은 고가의 센싱 장비를 포함하지 않기 때문에 저가형 초음파 센서 및/또는 저가형 카메라 등과 같은 센서의 출력값을 이용하여 실내 자율 주행을 처리할 수 있다. 한편, 로봇(100)이 기존에 로봇 제어 시스템(120)과의 통신을 통해 실내 자율 주행을 처리한 적이 있다면, 로봇 제어 시스템(120)으로부터 기존에 수신한 경로 데이터가 포함하는 맵핑 데이터 등을 더 활용함으로써 저가의 센서들을 이용하면서도 보다 정확한 실내 자율 주행이 가능하게 될 수 있다.
다만, 실시예에 따라서는 로봇(100)이 상기 맵핑 로봇을 겸할 수도 있다.
서비스 처리 모듈은 로봇 제어 시스템(120)을 통해 수신되는 명령을 통신부(102)를 통해 또는 통신부(102)와 데이터 처리 모듈을 통해 전달받을 수 있다. 구동부(108)는 로봇(100)의 이동을 위한 장비뿐만 아니라, 로봇(100)이 제공하는 서비스와 관련된 장비를 더 포함할 수 있다. 예컨대, 음식물/택배물 전달 서비스를 수행하기 위해 로봇(100)의 구동부(108)는 음식물/택배물을 적재하기 위한 구성이나 음식물/택배물을 사용자에게 전달하기 위한 구성(일례로, 로봇 암(arm))을 포함할 수 있다. 또한, 로봇(100)은 정보/콘텐츠의 제공을 위한 스피커 및/또는 디스플레이 등을 더 포함할 수도 있다. 서비스 처리 모듈은 제공해야 할 서비스를 위한 구동 명령을 구동 제어 모듈로 전달할 수 있고, 구동 제어 모듈은 구동 명령에 따라 로봇(100)이나 구동부(108)가 포함하는 구성을 제어하여 서비스가 제공될 수 있도록 할 수 있다.
실시예에서, 로봇(100)은 서비스를 제공하거나 기타 임무를 수행하기 위해 구분 공간(20)에 진입하여, 구분 공간(20) 내를 주행할 수 있다. 예컨대, 로봇(100)은 설정된 경로가 나타내는 목적지(예컨대, 타겟 층에 위치하는 목적지)로의 이동을 위해 엘리베이터 카에 탑승할 수 있고, 이로서, 엘리베이터 카의 내부 영역인 구분 공간(20)에 진입할 수 있다. 로봇(100)은 구분 공간(20)의 구분 공간의 내부에 관한 제1 환경 정보를 로봇 제어 시스템(120)으로 전송할 수 있고, 제1 환경 정보와 구분 공간(20) 내의 센서(25)로부터의 제2 환경 정보에 기반한 로봇 제어 시스템(120)에 의한 제어에 따라, 구분 공간(20)에 대한 진입과 구분 공간(20)에서의 이동이 제어될 수 있다.
한편, 전술한 것처럼 로봇(100)이 로봇(100)의 제어를 위한 센싱 데이터(제1 환경 정보 등)를 로봇 제어 시스템(120)으로 제공할 뿐이고, 로봇(100)의 제어를 위한 주행 알고리즘이 로봇 제어 시스템(120)에서 실행되는 경우라면, 로봇(100)은 브레인리스 로봇에 해당할 수 있다. 다만, 실시예에 따라서는, 이러한 주행 알고리즘은 로봇(100)에 대해 탑재될 수도 있다.
또한, 로봇(100)의 각각은 기종이나 제공하는 서비스 등에 따라, 상이한 크기 및 형태를 가질 수 있다.
로봇(100)을 제어하는 로봇 제어 시스템(120)의 구성 및 동작에 대해서는 후술될 도 3 및 도 4를 참조하여 각각 더 자세하게 설명된다.
이상 도 1을 참조하여 전술된 기술적 특징에 대한 설명은, 도 2에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 3 및 도 4는 일 실시예에 따른, 로봇을 제어하는 로봇 제어 시스템을 나타내는 블록도이다.
로봇 제어 시스템(120)은 전술된 로봇(100)의 공간 내에서의 이동(즉, 주행) 및 로봇(100)에 의한 공간 내에서의 서비스의 제공을 제어하는 장치일 수 있다. 로봇 제어 시스템(120)은 복수의 로봇(100) 각각의 이동 및 로봇(100) 각각의 서비스의 제공을 제어할 수 있다. 로봇 제어 시스템(120)은 로봇(100)과의 통신을 통해, 로봇(100)이 서비스를 제공하기 위한 경로를 설정할 수 있고, 이러한 경로에 관한 정보를 로봇(100)에게 전달할 수 있다. 로봇(100)은 수신된 경로에 관한 정보에 따라 주행할 수 있고, 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공할 수 있다. 로봇 제어 시스템(120)은 상기 설정된 경로에 따라 로봇이 이동(주행)하도록 로봇의 이동을 제어할 수 있다.
로봇 제어 시스템(120)은 적어도 하나의 컴퓨팅 장치를 포함할 수 있다.
로봇 제어 시스템(120)은 전술한 것처럼 로봇(100)의 주행을 위한 경로를 설정하고 로봇(100)의 이동을 제어하는 장치일 수 있다. 로봇 제어 시스템(120)은 적어도 하나의 컴퓨팅 장치를 포함할 수 있고, 공간 내 또는 공간 외부에 위치하는 서버로 구현될 수 있다.
로봇 제어 시스템(120)은 도시된 것처럼, 메모리(330), 프로세서(320), 통신부(310) 및 입출력 인터페이스(340)를 포함할 수 있다.
메모리(330)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(330)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(330)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(330)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신부(310)를 통해 메모리(330)에 로딩될 수도 있다.
프로세서(320)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(330) 또는 통신부(310)에 의해 프로세서(320)로 제공될 수 있다. 예를 들어, 프로세서(320)는 메모리(330)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. 이러한 프로세서(320)는 도 4에서 도시된 것과 같은 구성들(410 내지 440)을 포함할 수 있다.
프로세서(320)의 구성들(410 내지 440) 각각은 프로세서(320)의 일부로서 소프트웨어 및/또는 하드웨어 모듈일 수 있고, 프로세서에 의해 구현되는 기능(기능 블록)을 나타낼 수 있다. 프로세서(320)의 구성들(410 내지 440)에 대해서는 도 4를 참조하여 후술한다.
통신부(310)는 로봇 제어 시스템(120)이 다른 장치(로봇(100) 또는 다른 서버 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(310)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 로봇 제어 시스템(120)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.
입출력 인터페이스(340)는 키보드 또는 마우스 등과 같은 입력 장치 및 디스플레이나 스피커와 같은 출력 장치와의 인터페이스를 위한 수단일 수 있다.
또한, 다른 실시예들에서 로봇 제어 시스템(120)은 도시된 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다.
도 4를 참조하여 프로세서(320)의 구성들(410 내지 440)에 대해 더 자세하게 설명한다. 프로세서(320)는 도시된 것처럼, 맵 생성 모듈(410), 로컬리제이션 처리 모듈(420), 경로 계획 처리 모듈(430) 및 서비스 운영 모듈(440)을 포함할 수 있다. 이러한 프로세서(320)가 포함하는 구성요소들은, 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)에 따라 프로세서(320)이 포함하는 적어도 하나의 프로세서가 수행하는 서로 다른 기능들(different functions)의 표현들일 수 있다.
맵 생성 모듈(410)은 공간 내부에서 자율 주행하는 (도시되지 않은) 맵핑 로봇이 목표 시설물(예컨대, 공간의 내부에 대해 생성한 센싱 데이터를 이용하여 목표 시설물의 실내 맵을 생성하기 위한 구성요소일 수 있다.
이 때, 로컬리제이션 처리 모듈(420)은 로봇(100)으로부터 네트워크를 통해 수신되는 센싱 데이터와 맵 생성 모듈(410)을 통해 생성된 목표 시설물의 실내 맵을 이용하여 목표 시설물 내부에서의 로봇(100)의 위치를 결정할 수 있다.
경로 계획 처리 모듈(430)은 상술한 로봇(100)으로부터 수신된 센싱 데이터와 생성된 실내 맵을 이용하여 로봇(100)의 실내 자율 주행을 제어하기 위한 제어 신호를 생성할 수 있다. 예컨대, 경로 계획 처리 모듈(430)은 로봇(100)의 경로(즉, 경로 데이터)를 생성할 수 있다. 생성된 경로(경로 데이터)는 해당 경로를 따르는 로봇(100)의 주행을 위해 로봇(100)에 대해 설정될 수 있다. 로봇 제어 시스템(120)은 생성된 경로에 관한 정보를 네트워크를 통해 로봇(100)으로 전송할 수 있다. 일례로, 경로에 관한 정보는 로봇(100)의 현재 위치를 나타내는 정보, 현재 위치와 실내 맵을 맵핑하기 위한 정보, 그리고 경로 계획 정보를 포함할 수 있다. 경로에 관한 정보에는 로봇(100)이 공간 내의 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공하기 위해 주행해야 하는 경로에 관한 정보가 포함될 수 있다. 경로 계획 처리 모듈(430)은 로봇(100)을 위한 경로(즉, 경로 데이터)를 로봇(100)에 대해 설정할 수 있다. 로봇 제어 시스템(120)은 이러한 설정된 경로에 따라(즉, 설정된 경로를 따라) 로봇(100)이 이동하도록 로봇(100)의 이동을 제어할 수 있다.
서비스 운영 모듈(440)은 로봇(100)이 공간 내에서 제공하는 서비스를 제어하기 위한 기능을 포함할 수 있다. 예를 들어, 로봇 제어 시스템(120) 또는 공간을 운영하는 서비스 제공자는 로봇(100)의 이용자나 제작자에게 로봇 제어 시스템(120)이 제공하는 서비스(예컨대, 클라우드 서비스)를 위한 IDE(Integrated Development Environment)를 제공할 수 있다. 이 때, 로봇(100)의 이용자나 제작자는 로봇(100)이 공간 내에서 제공하는 서비스를 제어하기 위한 소프트웨어를 IDE를 통해 제작하여 로봇 제어 시스템(120)에 등록할 수 있다. 이 경우, 서비스 운영 모듈(440)은 해당 로봇(100)과 연관하여 등록된 소프트웨어를 이용하여 로봇(100)이 제공하는 서비스를 제어할 수 있다. 구체적인 예로, 로봇(100)이 사용자가 요청한 물건(예컨대, 음식물 또는 택배물)을 해당 사용자의 위치로 전달하는 서비스를 제공한다고 가정하면, 로봇 제어 시스템(120)은 로봇(100)의 실내 자율 주행을 제어하여 로봇(100)이 해당 사용자의 위치로 이동하도록 제어할 뿐만 아니라, 목적 위치에 도착한 경우 사용자에게 물건을 전달하고, 사용자 응대 음성을 출력하는 일련의 서비스를 로봇(100)이 제공하도록 관련된 명령을 로봇(100)에게 전달할 수 있다.
로봇 제어 시스템(120)은 로봇(100)을 제어하기 위한 컴퓨터 시스템으로서 서버일 수 있다. 로봇 제어 시스템(120)은 공간 또는 건물의 외부에 배치되는 서버로서, 클라우드 서버일 수 있다. 또는, 실시예에 따라서는 로봇 제어 시스템(120)은 공간 또는 건물의 내부에 배치될 수도 있다.
로봇 제어 시스템(120)(즉, 프로세서(320))은, 공간 내에서 운용되는 다수의 로봇들(즉, 멀티 로봇)(100) 각각을 제어할 수 있으며, 각 로봇(100)의 구분 공간(20)에 대한 진입과 구분 공간(20)에서의 이동을 제어할 수 있다. 예컨대, 구분 공간(20)이 엘리베이터 카의 내부 영역을 나타내는 경우, 로봇 제어 시스템(120)은 로봇(100)의 엘리베이터 카에 대한 승차 또는 하차를 제어할 수 있다.
또한, 로봇 제어 시스템(120)은, 엘리베이터 카의 내부 영역과 같은, 구분 공간(20) 내에 진입하는 제1 로봇(100)으로부터 구분 공간(20)의 내부에 관한 제1 환경 정보를 획득할 수 있다. 또한, 로봇 제어 시스템(120)은, 구분 공간(20) 내에 마련된 적어도 하나의 센서(25)로부터 구분 공간(20)의 내부에 관한 제2 환경 정보를 획득할 수 있다. 로봇 제어 시스템(120)은 획득된 제1 환경 정보 및 제2 환경 정보에 기반하여, 그 융합 정보인 구분 공간(20)의 내부에 관한 상황 정보를 생성할 수 있고, 상황 정보에 기반하여, 제1 로봇(100)의 구분 공간(20)에 대한 진입 또는 제1 로봇(100)의 구분 공간(20) 내에서의 이동을 제어할 수 있다.
이처럼, 실시예에서는, 로봇 제어 시스템(120)이 구분 공간(20)의 내부에 관한 상황 정보를 획득하기 위해 제1 로봇(100)으로부터의 제1 환경 정보 및 센서(25)로부터의 제2 환경 정보 둘 다를 활용할 수 있고, 따라서, 구분 공간(20)과 연관하여 로봇(100)을 보다 효율적으로 제어할 수 있다.
로봇 제어 시스템(120)에 의해 구분 공간(20)의 내부에 관한 상황 정보를 생성하고, 구분 공간(20)과 연관하여 로봇(100)을 제어하는 보다 구체적인 방법에 대해서는 후술될 도 5 내지 도 15를 참조하여 더 자세하게 설명한다.
이상 도 1 및 도 2를 참조하여 전술된 기술적 특징에 대한 설명은, 도 3 및 도 4에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
한편, 실시예에서는, 도시되지는 않았으나 공간 내에서 운용되는 엘리베이터 카의 승강을 제어하는 엘리베이터 제어 시스템이 더 사용될 수 있다.
엘리베이터 제어 시스템은 공간 또는 건물 내를 이동(예컨대, 승강)하는 엘리베이터 카에 대한 호출 및 엘리베이터 카의 이동을 제어(또는, 엘리베이터 카의 이동을 제어하기 위한 신호를 생성)하는 장치일 수 있다. 엘리베이터 제어 시스템은 적어도 하나의 컴퓨팅 장치를 포함할 수 있고, 건물 내 또는 건물 외부에 위치하는 컴퓨터 시스템으로 구현될 수 있다.
엘리베이터 제어 시스템은 엘리베이터 카를 직접 제어하는 제어반과는 구분되는 것일 수 있다. 엘리베이터 제어 시스템은 엘리베이터 카를 제어하기 위해 요구되는 신호를 제어반으로 전달할 수 있다. 또는, 엘리베이터 제어 시스템은 제어반을 포함하도록 구성될 수도 있다.
엘리베이터 제어 시스템은 도시된 것처럼, 메모리, 프로세서, 통신부 및 입출력 인터페이스를 포함할 수 있다. 엘리베이터 제어 시스템의 상기 구성들에 대한 일반적인 설명에 대해서는 전술된 로봇 제어 시스템(120)의 구성들(310 내지 340)의 일반적인 기술적 특징에 대한 설명이 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
한편, 엘리베이터 제어 시스템은 로봇 제어 시스템(120)과는 별개의 주체에 의해 운영되거나 별개의 시스템으로 구현되지만, 구현의 방법에 따라서는, 엘리베이터 제어 시스템과 로봇 제어 시스템(120)이 하나의 단일한 시스템으로 구현될 수도 있다. 말하자면, 엘리베이터 제어 시스템과 로봇 제어 시스템(120)은 건물 내에 또는 건물 외부에 존재하는 단일한 서버 또는 컴퓨팅 장치로서 구현될 수도 있다.
엘리베이터 제어 시스템은 로봇 제어 시스템(120)과 연동될 수 있다. 예컨대, 엘리베이터 제어 시스템은 엘리베이터 카(들)의 현재 위치, 목적지 등을 포함하는 스케줄 정보와 엘리베이터 카(들)의 만원율, 내부 점유 상태 등을 포함하는 상황 정보를 로봇 제어 시스템(120)에 공유할 수 있고, 로봇 제어 시스템(120)에 의한 요청에 따라, 엘리베이터 카(들)을 제어할 수 있다.
이러한 엘리베이터 제어 시스템과 로봇 제어 시스템(120)과의 연동에 따라 구분 공간(20) 내에서의 제1 로봇(100)의 이동이 보다 정교하게 제어될 수 있다. 예컨대, 실시예에 따라서는 센서(25)로부터의 제2 환경 정보는 엘리베이터 제어 시스템을 통해 로봇 제어 시스템(120)에 제공될 수도 있다.
후술될 상세한 설명에서, 로봇 제어 시스템(120) 또는 제1 로봇(100) 의 구성들(예컨대, 프로세서 등)에 의해 수행되는 동작은 설명의 편의상 로봇 제어 시스템(120) 또는 제1 로봇(100)에 의해 수행되는 동작으로 설명될 수 있다.
도 5는 구분 공간 내에 진입하는 로봇과 구분 공간 내에 마련된 센서로부터 구분 공간의 내부에 관한 환경 정보를 각각 획득하고, 획득된 환경 정보로부터 생성되는 상황 정보에 기반하여 로봇의 구분 공간에 대한 진입과 이동을 제어하는 방법을 나타내는 흐름도이다.
로봇 제어 시스템(120)(즉, 프로세서(320))은, 제1 로봇(100)을 비롯하여 공간 내에서 운용되는 다수의 로봇들(즉, 멀티 로봇) 각각을 제어할 수 있으며, 각 로봇(100)의 구분 공간(20)에 대한 진입과 구분 공간(20) 내에서의 이동을 제어할 수 있다.
단계(510)에서, 로봇 제어 시스템(120)은, 구분 공간(20) 내에 진입하는 제1 로봇(100)으로부터 구분 공간(20)의 내부에 관한 제1 환경 정보를 획득할 수 있다. 제1 환경 정보는 제1 로봇(100)이 포함하는 센서를 통해 획득된 센싱 데이터를 포함할 수 있다. 말하자면, 제1 환경 정보는 제1 로봇(100)의 센서의 센싱 범위(C1)에 대해 획득되는 센싱 데이터를 포함할 수 있다. 제1 환경 정보는 센싱 범위(C1) 내에 존재하는 장애물에 관한 정보를 포함할 수 있으며, 예컨대, 센싱 범위(C1) 내에 존재하는 장애물까지의 거리 정보를 포함할 수 있다.
단계(520)에서, 로봇 제어 시스템(120)은, 로봇 제어 시스템(120)은, 구분 공간(20) 내에 마련된 적어도 하나의 센서(25)로부터 구분 공간의 내부에 관한 제2 환경 정보를 획득할 수 있다. 도시된 것처럼, 센서(25)는 구분 공간(20)의 각 코너에 배치될 수 있고 복수일 수 있고, 로봇 제어 시스템(120)은 복수의 센서들(25)의 각각으로부터 제2 환경 정보를 획득할 수 있다. 제2 환경 정보는 센서(25)를 통해 획득된 센싱 데이터를 포함할 수 있고, 도시된 것처럼, 센싱 범위(C2)에 대해 획득되는 센싱 데이터를 포함할 수 있다. 제2 환경 정보는 센싱 범위(C2) 내에 존재하는 장애물에 관한 정보를 포함할 수 있으며, 예컨대, 센싱 범위(C2) 내에 존재하는 장애물까지의 거리 정보를 포함할 수 있다. 센서(25)는 장애물까지의 거리를 인식하기 위한 거리 센서를 포함할 수 있다.
단계(530)에서, 로봇 제어 시스템(120)은, 획득된 제1 환경 정보 및 제2 환경 정보에 기반하여 구분 공간(20)의 내부에 관한 상황 정보를 생성할 수 있다. 상황 정보는 제1 환경 정보 및 제2 환경 정보의 융합 정보일 수 있다. 상황 정보는 구분 공간(20)의 내부에 관한 동적 공간 정보를 포함할 수 있다. 상황 정보는 전술한 로봇(100)의 센싱 범위(C1)와 센서(25)의 센싱 범위(C2) 내에 존재하는 장애물(들)에 관한 정보를 포함할 수 있다.
실시예에서, 제1 환경 정보 및 제2 환경 정보는 구분 공간(20)의 내부에 관한 상황 정보를 생성하기 위해 서로 보완적으로 사용될 수 있다. 말하자면, 제2 환경 정보는 센서(25)의 센싱 범위(C2)를 커버하는 바, 제1 환경 정보가 커버하는 제1 로봇(100)의 센싱 범위(C1)를 벗어나는 구분 공간(20)의 내부 영역을 더 커버할 수 있다. 한편, 제1 환경 정보는 구분 공간(20)을 향해 이동하는 제1 로봇(100)의 (가변하는) 센싱 범위(C1)를 커버하는 바, 로봇(100)의 이동에 따라 제2 환경 정보가 커버하는 센싱 범위(C2)를 벗어나는 구분 공간(20)의 내부 영역을 더 커버하게 될 수 있다. 말하자면, 제1 환경 정보와 제2 환경 정보는 제1 로봇(100)과 센서(25)의 서로의 센싱 범위의 사각지대를 보완할 수 있다.
예컨대, 상황 정보는, 구분 공간(20) 내에서, 제1 로봇(100)이 배치 가능한(free) 영역에 관한 제1 정보, 상기 제1 로봇(100)이 배치 불가능한(occupied 또한 forbidden) 영역에 관한 제2 정보 및 미지의(unknown) 영역에 관한 제3 정보를 포함할 수 있다. 제1 정보가 나타내는 제1 로봇(100)이 배치 가능한 영역은 로봇 및 사람 중 적어도 하나를 포함하는 장애물(또는, 기타 정적 장애물 등)이 존재하지 않는 영역을 나타낼 수 있다. 제2 정보가 나타내는 제1 로봇(100)이 배치 불가능한 영역은 상기 장애물이 존재하는 영역을 나타낼 수 있다. 제3 정보가 나타내는 미지의 영역은 제1 로봇(100)에 의한 센싱 범위(C1) 및 센서(25)에 의한 센싱 범위(C2)를 벗어나는 영역을 나타낼 수 있다. 말하자면, 미지의 영역은 상기 장애물이 존재하는지 여부를 확인할 수 없는 영역일 수 있다.
상황 정보는 제1 로봇(100)의 이동 및 구분 공간(20) 내의 장애물의 이동에 따라 업데이트될 수 있고, 따라서, 실시간 또는 거의 실시간으로 (또는, 제1 환경 정보 및/또는 제2 환경 정보가 획득될 때마다) 생성될 수 있다. 예컨대, 제1 로봇(100)의 이동 및/또는 구분 공간(20) 내의 장애물의 이동에 따라 전술한 제1 정보 내지 제3 정보 중 어느 하나가 변경될 수 있고, 이에 따라, 상황 정보가 업데이트될 수 있다.
로봇 제어 시스템(120)은 이러한 상호 보완적인 제1 환경 정보 및 제2 환경 정보를 사용하여 상황 정보를 생성함으로써, 상황 정보를 통해 구분 공간(20) 내의 장애물들을 보다 정확하게 파악할 수 있다. 로봇 제어 시스템(120)은 상황 정보에 기반하여 구분 공간(20)의 내부에서의 사람 및/또는 로봇 등과 같은 (동적인 또는 정적인) 장애물의 위치를 식별하거나, 장애물의 움직임 또는 이동을 예측할 수 있다.
상황 정보의 구체적인 예시에 대해서는 후술될 도 10 내지 도 14를 참조하여 더 자세하게 설명된다.
단계(540)에서, 로봇 제어 시스템(120)은, 제1 환경 정보 및 제2 환경 정보에 기반하여 생성되는 구분 공간(20)의 내부에 관한 상황 정보에 기반하여, 제1 로봇(100)의 구분 공간(20)에 대한 진입 또는 제1 로봇(100)의 구분 공간(20) 내에서의 이동을 제어할 수 있다. 따라서, 로봇 제어 시스템(120)은 상기의 상황 정보를 이용하여 제1 로봇(100)의 구분 공간(20)에 대한 진입과 진입 후 제1 로봇(100)의 구분 공간(20) 내에서의 이동을 제어할 수 있다.
일례로, 구분 공간(20)은 제1 로봇(100)이 승하차 가능한 엘리베이터 카의 내부 영역일 수 있다. 이 경우, 로봇 제어 시스템(120)은, 제1 로봇(100)의 엘리베이터 카에 대한 탑승 또는 제1 로봇(100)의 엘리베이터 카의 내부 영역에서의 이동을 제어할 수 있다.
이처럼 실시예에서는, 제1 로봇(100)을 제어하기 위해 제1 로봇(100)으로부터의 제1 환경 정보 외에 구분 공간(20)에 마련된 센서(25)로부터의 제2 환경 정보를 더 활용함으로써, 로봇 제어 시스템(120)이 제1 로봇(100)이 진입하는 구분 공간(20)에 대해 보다 풍부한 정보를 얻을 수 있고, 구분 공간(20)과 연관하여 제1 로봇(100)을 보다 효율적으로 제어할 수 있다. 말하자면, 로봇 제어 시스템(120)은 제1 로봇(100)의 센서의 센싱 범위(C1) 외에 센서(25)의 센싱 범위(C2)에 관한 환경 정보를 획득함으로써, 구분 공간(20)의 동적 공간 정보를 보다 정확하게 파악하여, 제1 로봇(100)을 제어할 수 있다.
한편, 단계(525)에서처럼, 로봇 제어 시스템(120)은 구분 공간(20) 내에 기 배치된 적어도 하나의 제2 로봇으로부터 구분 공간의 내부에 관한 제3 환경 정보를 더 획득할 수 있다. 제2 로봇은 제1 로봇(100)보다 먼저 구분 공간(20)에 진입한(또는, 엘리베이터 카에 먼저 제1 로봇(100)보다 탑승한) 다른 로봇일 수 있다. 로봇 제어 시스템(120)은 전술한 상황 정보를 생성함에 있어서, 제3 환경 정보를 더 활용할 수 있다. 말하자면, 로봇 제어 시스템(120)은 제1 환경 정보 내지 제3 환경 정보에 기반한 융합 정보로서 상기 상황 정보를 생성할 수 있다. 일례로, 제3 환경 정보는 제1 환경 정보 및 제2 환경 정보가 커버하지 못하는 센싱 영역을 커버할 수 있고, 따라서, 상황 정보를 생성하기 위해 제1 환경 정보 및 제2 환경 정보에 대해 보완적으로 사용될 수 있다. 제3 환경 정보를 더 이용하여 상황 정보를 생성하는 방법에 대해서는 전술한 제1 환경 정보 및 제2 환경 정보를 이용하여 상황 정보를 생성하는 방법이 유사하게 적용될 수 있는 바, 중복되는 설명은 생략한다.
이상 도 1 내지 도 4를 참조하여 전술된 기술적 특징에 대한 설명은, 도 5에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 6은 일 예에 따른, 공간의 내부에 관한 상황 정보를 업데이트하고, 업데이트된 상황 정보에 따라 로봇의 구분 공간에 대한 이동 계획을 수립하는 방법을 나타낸다.
단계(610)에서, 로봇 제어 시스템(120)은, 제1 로봇(100)의 구분 공간(200)에 대한 이동 계획을 수립할 수 있다.
단계(620)에서, 로봇 제어 시스템(120)은, 단계(610)에서 수립된 이동 계획에 따라, 제1 로봇의 구분 공간(20)에 대한 이동을 제어할 수 있다.
이동 계획은 제1 로봇(100)의 구분 공간(20)에 대한 진입 계획을 포함할 수 있다. 이러한 진입 계획은 제1 로봇(100)이 구분 공간(20)에 진입하는 위치 정보(즉, 진입점 정보) 및/또는 제1 로봇(100)이 구분 공간(20)에 진입하기 위한 경로 정보를 포함할 수 있다. 또한, 이동 계획은 구분 공간(20) 내에서의 제1 로봇(100)의 주행 계획을 포함할 수 있다. 이러한 주행 계획은 구분 공간(20) 내에서 제1 로봇(100)이 배치될 위치 정보 및/또는 제1 로봇(100)이 구분 공간(20) 내에서 이동하는 경로 정보를 포함할 수 있다. 이동 계획은 상기 진입 계획 및 상기 주행 계획 중 적어도 하나를 포함할 수 있다.
로봇 제어 시스템(120)은, 상기 이동 계획에 따라, 제1 로봇(100)이 구분 공간(20)에 진입하여 구분 공간(20) 내의 소정의 제1 위치에 배치되도록, 제1 로봇(100)을 제어할 수 있다. 제1 위치는 제1 로봇(100)이 배치 가능한 영역에 포함되는 위치로서, 전술한 상황 정보 중 제1 정보가 나타내는 영역에 포함되는 위치일 수 있다.
로봇 제어 시스템(120)은 제1 로봇(100)에 대한 이동 계획을 제1 로봇(100)이 구분 공간(20)에 진입하기 전에 결정할 수 있다.
한편, 단계(605)에서와 같이, 로봇 제어 시스템(120)은 제1 로봇(100)이 구분 공간(20)의 내부를 향해 이동함에 따라 상황 정보를 업데이트할 수 있다. 또는/추가적으로, 전술한 것처럼, 상황 정보는 구분 공간(20) 내의 장애물의 이동에 따라 업데이트될 수 있다. 말하자면, 상황 정보는 제1 로봇(100)으로부터의 제1 환경 정보 및/또는 센서(25)로부터의 제2 환경 정보가 업데이트됨에 따라 실시간으로 업데이트될 수 있다. 예컨대, 로봇 제어 시스템(120)은 제1 로봇(100)이 구분 공간(20)의 내부를 향해 이동함에 따라 전술한 제1 정보 내지 제3 정보 중 적어도 하나를 업데이트함으로써 상황 정보를 업데이트할 수 있다. 로봇(100)이 구분 공간(20)의 내부를 향해 이동하게 되면, 미지의 영역이 줄어들게 될 수 있고, 이에 따라 제1 정보 내지 제3 정보가 업데이트될 수 있다.
단계(612)에서, 로봇 제어 시스템(120)은 업데이트된 상황 정보에 기반하여, 제1 로봇(100)에 대한 이동 계획을 업데이트할 수 있다.
로봇 제어 시스템(120)은 제1 로봇(100)을 제어함에 있어서, 업데이트된 이동 계획에 기반하여, 제1 로봇(100)이 구분 공간(20)에 진입하여 구분 공간(20) 내의 상기 제1 위치와는 상이한 제2 위치에 배치되도록, 제1 로봇(100)을 제어할 수 있다. 제2 위치는 제1 로봇(100)이 배치 가능한 영역에 포함되는 위치로서, 업데이트된 상황 정보 중 제1 정보가 나타내는 영역에 포함되는 위치일 수 있다.
이처럼, 실시예에서는, 제1 로봇(100)에 대한 이동 계획이 제1 로봇(100)이 구분 공간에 진입하기 전에 수립되어, 제1 로봇(100)이 구분 공간의 내부를 향해 이동함에 따라 업데이트될 수 있다. 또한, 제1 로봇(100)에 대한 이동 계획은 제1 로봇(100)이 구분 공간(20)에 진입하여(즉, 진입한 후) 구분 공간(20)의 내부를 이동하는 동안 업데이트될 수 있다.
이처럼 실시예에서는, 제1 로봇(100)이 이동이나 구분 공간(20)에서의 장애물의 위치의 변화에 따라 상황 정보가 업데이트될 수 있고, 상황 정보의 업데이트가 제1 로봇(100)에 대한 이동 계획에 실시간으로 반영되어 제1 로봇(100)이 제어될 수 있다. 따라서, 구분 공간(20)의 내부 상황의 변화에 따라 제1 로봇(100)이 적응적으로 제어될 수 있다.
상황 정보 및 이동 계획의 업데이트에 따라 제1 로봇(100)을 제어하는 구체적인 예시에 대해서는 후술될 도 10 및 도 11을 참조하여 더 자세하게 설명된다.
이상 도 1 내지 도 5를 참조하여 전술된 기술적 특징에 대한 설명은, 도 6에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
센서(25)로부터 제공되는 제2 환경 정보는 구분 공간(20) 내에서의 제1 로봇(100)의 이동을 제어하기 위해 사용되는 1차적인 정보일 수 있다. 제2 환경 정보는 절대 좌표계를 기준으로 제공되는 정보일 수 있다.
아래에서는, 센서(25)가 카메라인 경우에 있어서, 상황 정보를 생성하는 다른 실시예에 대해 설명한다.
실시예에 따라서는, 센서(25)는 구분 공간(20)의 상단에 배치된 카메라를 포함할 수 있다. 예컨대, 센서(25)는 엘리베이터 카의 상단(천정)에 배치된 카메라일 수 있다. 카메라는 구분 공간(20)의 상단의 중심에 배치될 수 있다. 또는, 카메라는 구분 공간(20)의 천정에 복수 개가 배치될 수도 있다.
이 때, 센서(25)를 통해 획득되는 제2 환경 정보는 카메라에 의해 인식된 로봇 및 사람 중 적어도 하나를 포함하는 장애물의 좌표 정보를 포함할 수 있다. 이는 절대 좌표계 또는 전역 좌표계를 기준으로 한 좌표 정보일 수 있다. 말하자면, 제2 환경 정보는 구분 공간(20) 내의 장애물의 절대 위치 정보를 포함할 수 있다. 또는, 제2 환경 정보를 수신한 로봇 제어 시스템(120) 측에서 제2 환경 정보를 절대 좌표계 또는 전역 좌표계의 좌표 정보로 가공할 수도 있다.
한편, 제1 로봇(100)으로부터 획득되는 제1 환경 정보는 제1 로봇(100)의 거리 센서 및/또는 카메라에 의해 인식되는 장애물에 대한 상대 위치 정보를 포함할 수 있다. 상대 위치 정보는 장애물에 대한 거리 정보 및/또는 방향 정보를 포함할 수 있다.
로봇 제어 시스템(120)은, 제1 환경 정보가 나타내는 좌표 정보와 제2 환경 정보가 나타내는 상대 위치 정보를 매칭시킴으로써, 제1 환경 정보 및 제2 환경 정보에 기반한 융합 정보로서 장애물에 대한 위치 정보를 포함하는 상황 정보를 생성할 수 있다. 로봇 제어 시스템(120)에 의한 융합 정보의 생성을 통해, 제1 로봇(100)에 의한 장애물에 대한 인지가 더 강화될 수 있다. 말하자면, 장애물의 위치, 방향 및 이동 방향 등이 보다 정확하게 파악될 수 있고, 제1 로봇(100)은 장애물을 보다 효과적으로 회피하도록 제어될 수 있다.
도 7 및 도 8은 일 예에 따른, 구분 공간 내에 마련된 센서의 동작 방법을 나타낸다.
도 7에서는, 3차원 공간으로 표현된 구분 공간(20) 내에서 센서(25)가 배치되었고, 센서(25)의 센싱 범위(C2) 또한 3차원 공간으로 표시되었다.
한편, 도 8에서는 상기의 3차원 공간에 대응하는 2차원 평면으로 표현된 구분 공간(20) 내에서 센서(25)가 배치되었고, 센서(25)의 센싱 범위(C2) 또한 2차원 평면으로 표시되었다. 도시된 2차원 평면은 도 7의 3차원 공간을 위에서 본 것일 수 있다. 말하자면, 상기 2차원 평면은 상기 3차원 공간의 투사 평면일 수 있다. 또한, 상기 2차원 평면은 구분 공간(20)에 대응하는 그리드 지도 정보로서, 전술한 제1 정보 내지 제3 정보가 표현된 그리드 지도 정보일 수도 있다.
센서(25)는 거리 센서를 포함할 수 있다. 거리 센서는 예컨대, ToF (Time of Flight) 센서일 수 있다. 센서(25)는 사람(810)과 같은 동적 장애물 및 정적 장애물을 식별하고, 이러한 장애물로부터의 거리를 감지하기 위해 사용될 수 있다. 센서(25)는 거리 센서와 같은 간단한 센서로 구성됨으로써, 사람(810)에 대한 데이터를 제2 환경 정보로서 수집하여 로봇 제어 시스템(120)으로 이러한 제2 환경 정보가 전송되더라도, 상기 사람(810)에 대한 개인 정보 유출의 문제가 발생하지 않을 수 있다.
센서(25)는 도시된 것처럼 구분 공간(20)의 코너에서 배치될 수 있다. 예컨대, 구분 공간(210)이 엘리베이터 카의 내부 영역인 경우 센서(25)는 엘리베이터 카의 코너(각 코너)에 배치될 수 있다. 이러한 센서(25)는 코너 측에 또는 센서의 검지 범위에 해당하는 벽 측에 배치된 사람(810)을 포함하는 장애물을 검지하기 위해 사용될 수 있다. 도시된 것처럼, 센서(810)는 어느 정도의 사각지대 영역(O1, O2)을 측면에 포함할 수 있다. 그러나, 이러한 사각지대 영역(O1, O2)을 갖더라도, 사람(810)이나 장애물이 구분 공간(20)의 벽면에 완전히 부착될 수 없음을 고려하면, 센서(810)는 코너 측 또는 벽면에 위치하는 장애물을 정확하게 검지할 수 있다.
전술한 것처럼, 센서(25)는 제1 로봇(100) 또는 제2 로봇의 센서를 보완하기 위해, 즉, 제2 환경 정보는 제1 환경 정보를 보완하기 위해, 사용될 수 있다.
이상 도 1 내지 도 6을 참조하여 전술된 기술적 특징에 대한 설명은, 도 7 및 도 8에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 9는 일 예에 따른, 구분 공간에 대한 로봇의 진입에 따라, 제1 환경 정보 및 제2 환경 정보를 획득하고, 로봇을 제어하는 방법을 나타낸다.
도시된 예시에서, 구분 공간(20)은 예컨대, 건물 내의 방이거나 엘리베이터 카의 내부 영역일 수 있다.
도시된 것처럼, 각각의 센서(25)는 구분 공간(20)의 코너에 배치될 수 있고, 센싱 범위(C2)를 가질 수 있다. 구분 공간(20)에 진입하는 제1 로봇(100)은 센싱 범위(C1)를 가질 수 있다. 센서(25)로부터의 제2 환경 정보는 구분 공간(20) 내부에서의 장애물(도시된 사람 등)이 이동함에 따라 업데이트될 수 있다. 제2 환경 정보는 센서(25)에 의해 검지된 장애물에 대한 거리 정보를 포함할 수 있다. 제2 환경 정보는 도시된 것처럼 센서로부터 송신부를 통해 로봇 제어 시스템(120)으로 전달될 수 있다. 송신부는 구분 공간(20)과 연관하여 배치되는 것으로서 유선 또는 무선으로 센서(25)로부터 제2 환경 정보를 수신할 수 있다. 송신부는 센서(25)를 포함하는 센서 시스템의 일부이거나, 또는, 전술한 엘리베이터 제어 시스템의 통신부의 일부일 수 있다. 센서(25)가 엘리베이터 카 내에 배치되는 경우에 있어서, 센서(25)는 엘리베이터 카 내의 사람의 검지 및 탑승 의사 결정에 특화된 센서 또는 센서 모듈을 포함하도록 구성될 수 있다.
제1 로봇(100)이 이동하여 구분 공간(20)에 진입함에 따라, 제1 로봇(100)의 센싱 범위(C1)는 C1-1에서 C1-2로 변화할 수 있고, 이에 따라, 제1 로봇(100)으로부터의 제1 환경 정보 역시 업데이트될 수 있다. 제1 환경 정보는 전술한 제1 로봇(100)의 센서부(106)(즉, 제1 로봇(100)의 온보드 센서)를 통해 수집될 수 있다.
로봇 제어 시스템(120)은 업데이트된 환경 정보에 기반하여 구분 공간(20)에 대한 상황 정보를 업데이트하여, 그에 따라, 제1 로봇(100)의 이동을 제어할 수 있다.
로봇 제어 시스템(120)은, 제1 환경 정보와 제2 환경 정보를 융합하여 구분 공간(20) 내부의 관한 상황을 파악할 수 있고, 이를 나타내는 상황 정보를 생성할 수 있다. 로봇 제어 시스템(120)은 상황 정보에 기반하여 제1 로봇(100)을 제어하기 위한 이동 제어 명령을 제1 로봇(100)에 송신할 수 있다. 이러한 이동 제어 명령은 전술한 이동 계획에 해당하는 것으로서 제1 로봇(100)이 구분 공간(20) 내에서 배치되어야 할 위치 정보를 포함할 수 있다. 예컨대, 로봇 제어 시스템(120)은 엘리베이터 카의 내부 영역에서 제1 로봇(100)이 배치되어야 할 배치 위치를 결정할 수 있다.
이 때, 제1 로봇(100)은 브레인리스 로봇으로서 구분 공간(20) 내부의 상황을 직접 판단하지 않고, 센서(25)로부터의 데이터를 직접 수신하거나 처리하지 않을 수 있다.
이상 도 1 내지 도 8을 참조하여 전술된 기술적 특징에 대한 설명은, 도 9에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 10 및 도 11은 일 예에 따른, 구분 공간에 대한 로봇의 진입에 따라, 로봇에 대해 수립된 이동 계획을 업데이트하는 방법을 나타낸다.
도시된 예시에서는, 구분 공간(20)의 상황 정보가 구분 공간(20)에 대응하는 2차원 평면으로 표현되었다.
구분 공간(20)에 대한 상황 정보에서, ①은 제1 로봇(100)이 배치 가능한(free) 영역으로서 전술한 제1 정보를 나타내고, ②는 제1 로봇(100)이 배치 불가능한(occupied 또한 forbidden) 영역으로서 전술한 제2 정보를 나타내고, ③은 미지의 영역으로서 전술한 제3 정보를 나타낼 수 있다.
도 10에서 도시된 것처럼, 로봇 제어 시스템(120)은 제1 로봇(100)이 구분 공간(20)에 대해 진입하기 전에 수립된 이동 계획에 기반하여 제1 로봇(100)을 구분 공간(20) 내 제1 위치(1010)로 이동하도록 제어할 수 있다.
한편, 제1 로봇(100)이 구분 공간(20)에 대해 진입하기 위해 이동함에 따라, 도 11에서 도시된 것처럼, 제1 로봇(100)에 의해 기존의 미지의 영역에서 장애물(사람)이 인식될 수 있다. 이러한 제1 로봇(100)에 의한 센싱의 결과에 따라(즉, 제1 로봇(100)으로부터의 업데이트된 제1 환경 정보에 따라), 로봇 제어 시스템(120)은 구분 공간(20)에 대한 상황 정보를 업데이트할 수 있고, 그에 따라 제1 로봇(100)에 대한 이동 계획을 수정할 수 있다. 수정된 이동 계획에 따라, 로봇 제어 시스템(120)은 제1 위치(1010)가 아니라 제2 위치(1110)로 제1 로봇(100)을 이동시킬 수 있다.
구체적으로, 엘리베이터 카 탑승과 관련한 시나리오를 설명하면, 로봇 제어 시스템(120)은 제1 로봇(100)이 엘리베이터 카에 탑승하기 전에 그 내부 영역(20)에 대한 환경 정보(센서(25)로부터의 제2 환경 정보)를 사용하여 상황 정보를 생성하고, 제1 로봇(100)에 대한 이동 계획을 수립할 수 있다. 제1 로봇(100)은 상황 정보의 제1 정보가 나타내는 코너 영역(제1 위치(1010))에 탑승하도록 결정될 수 있다. 로봇(100)이 엘리베이터 카에 탑승하기 위해 접근함에 따라 또는 탑승 후 제1 위치(1010)에 접근함에 따라, 상황 정보의 미지의 영역에 해당하는 제3 정보가 보강될 수 있다. 이에 따라 상황 정보가 업데이트되어 1 로봇(100)에 대한 이동 계획 역시 업데이트될 수 있다. 이동 계획이 업데이트됨에 따라 제1 로봇(100)의 배치 위치는 제1 위치(1010)에서 제2 위치(1110)로 변경될 수 있다.
이처럼 실시예에서는, 제1 로봇(100)이 이동이나 구분 공간(20)에서의 장애물의 위치의 변화에 따라 상황 정보가 업데이트될 수 있고, 상황 정보의 업데이트가 제1 로봇(100)에 대한 이동 계획에 실시간으로 반영되어 제1 로봇(100)이 제어될 수 있다. 따라서, 구분 공간(20)의 내부 상황의 변화에 따라 제1 로봇(100)이 적응적으로 제어될 수 있다.
이상 도 1 내지 도 9을 참조하여 전술된 기술적 특징에 대한 설명은, 도 10 및 도 11에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 12 내지 도 14는 일 예에 따른, 제1 환경 정보 및 제2 환경 정보의 융합 정보로서 상황 정보를 생성하는 방법을 나타낸다.
도시된 것처럼, 상황 정보(1200 내지 1400)는 구분 공간(20)에 대응하는 2차원 평면에 전술한 제1 정보, 상기 제2 정보 및 제3 정보를 표현함으로써, 생성될 수 있다. 전술한 도 10 및 11에서 도시된 상황 정보 역시 이러한 2차원 평면에 제1 정보 내지 제3 정보를 표현함으로써 생성된 것일 수 있다. 이러한 2차원 평면은 구분 공간(20)을 평면 투사한 것일 수 있다.
도 12 내지 도 14에서 도시된 예시에서는 미지의 영역(③, 제3 정보)과 제1 로봇(100)의 배치가 불가능한 영역(②, 제2 정보)이 서로 구분되지 않고 있으나, 이는 구분되도록 표현될 수 있다.
도 13에서 도시된 것처럼, 제1 로봇(100)이 구분 공간(20)에 진입함에 따라, 미지의 영역이 줄어들게 되는 바, 상황 정보는 업데이트될 수 있다. 구분 공간(20)에 진입하는 제1 로봇(100)의 센싱 범위는 C1-3으로 표현되었다.
한편, 도 14에서 도시된 것처럼, 제1 로봇(100)으로부터의 제1 환경 정보에 더하여 구분 공간(20)에 기 배치되어 있는 다른 로봇인 제2 로봇(1400)으로부터의 제3 환경 정보가 상황 정보의 생성에 더 사용될 수 있다. 도시된 것처럼, 제2 로봇(1400)의 센싱 범위(C3)에서의 장애물에 대한 정보가 구분 공간(20)에 대한 상황 정보의 생성에 더 활용될 수 있다. 이에 따라, 상황 정보는 보다 더 정확하게 구분 공간(20)의 상황을 반영할 수 있으며, 따라서, 제1 로봇(100)의 구분 공간(20)과 연관한 제어가 보다 효율화될 수 있다.
이상 도 1 내지 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 12 내지 도 14에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 15는 일 예에 따른, 구분 공간에 진입하는 로봇, 로봇 제어 시스템 및 구분 공간에 배치된 센서 시스템 간의 상호작용에 따라, 로봇을 제어하는 방법을 나타낸다.
도시된 예시에서, 로봇 제어 시스템(120)은 원격 시스템(120)으로, 제1 로봇(100)은 브레인리스 로봇 1(100)으로, 센서(25)를 포함하는 센서 시스템은 로봇 외부의 환경 인지 시스템(1500)으로 도시되었다.
원격 시스템(120)은 로봇 내부의 환경 정보 인지 수단(온보드 센서)(14)으로부터의 센싱 결과와 로봇 외부의 환경 정보 인지 수단(1503, 1504)으로부터의 센싱 결과를 융합할 수 있고, 이에 기반한 실시간의 동적 환경 정보에 기반하여, 구분 공간(20) 내에서의 브레인리스 로봇 1(100)의 이동 계획을 수립하고 브레인리스 로봇 1(100)의 제어를 실행할 수 있다.
원격 시스템(120)은 정적 데이터(121)로서 정적 환경에 대한 지도 및 환경 내의 인지 시스템 정보 등을 포함하고 있을 수 있다. 정적 데이터(121)가 포함하는 환경 정보는 로봇 측위 기능(124)에 활용될 수 있다. 수신부(125)는 로봇 외부의 환경 인지 시스템(1500)으로부터 구분 공간(20)에 대한 국부적인 환경 센싱 정보(예컨대, 제2 환경 정보)를 수신할 수 있고, 브레인리스 로봇 1(100)으로부터 로봇 로컬 환경 센싱 정보 및 측위용 정보(센싱 데이터 또는 전처리된 데이터)(예컨대, 제1 환경 정보)를 수신할 수 있다. 수신부(125)는 수신된 제1/제2 환경 정보를 환경 정보 융합 기능(122)에 전달하여 융합 정보로 가공할 수 있다. 이에 따라, 전술한 상황 정보가 생성될 수 있다. 환경 정보 융합 기능(122)에는 정적 데이터(121)가 포함하는 정적 환경 정보와, 브레인리스 로봇 1(100)(또는 다른 로봇(들))의 실시간 위치 정보가 더 사용될 수 있다. 융합 정보와 브레인리스 로봇 1(100)의 실시간 위치 정보는 로봇 이동 계획 및 제어부(123)에 전달될 수 있고, 로봇 이동 계획 및 제어부(123)는 브레인리스 로봇 1(100)을 위한 이동 제어 명령을 생성할 수 있다. 이동 제어 명령은 송신부(126)를 통해 브레인리스 로봇 1(100)에 전달될 수 있다. 이동 제어 명령에 따라, 통해 브레인리스 로봇 1(100)은 제어될 수 있다. 원격 시스템(120)은 유사하게 복수의 로봇들(즉, 멀티 로봇)의 각각을 제어할 수 있다.
이상 도 1 내지 도 14를 참조하여 전술된 기술적 특징에 대한 설명은, 도 15에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (18)
- 로봇 제어 시스템에 의해 수행되는, 공간 내에서 로봇을 제어하는 로봇 제어 방법에 있어서,
구분 공간 내에 진입하는 제1 로봇으로부터 상기 구분 공간의 내부에 관한 제1 환경 정보를 획득하는 단계;
상기 구분 공간 내에 마련된 적어도 하나의 센서로부터 상기 구분 공간의 내부에 관한 제2 환경 정보를 획득하는 단계; 및
상기 제1 환경 정보 및 상기 제2 환경 정보에 기반한 상기 구분 공간의 내부에 관한 상황 정보에 기반하여, 상기 제1 로봇의 상기 구분 공간에 대한 진입 또는 상기 제1 로봇의 상기 구분 공간 내에서의 이동을 제어하는 단계
를 포함하는, 로봇 제어 방법. - 제1항에 있어서,
상기 구분 공간은 상기 제1 로봇이 승하차 가능한 엘리베이터 카의 내부 영역이고,
상기 제어하는 단계는,
상기 제1 로봇의 상기 엘리베이터 카에 대한 탑승 또는 상기 제1 로봇의 상기 내부 영역에서의 이동을 제어하는, 로봇 제어 방법. - 제1항에 있어서,
상기 센서는 거리 센서를 포함하고, 상기 구분 공간의 코너에 배치되는, 로봇 제어 방법. - 제1항에 있어서,
상기 제1 환경 정보 및 상기 제2 환경 정보는 상기 구분 공간의 내부에 관한 상황 정보를 생성하기 위해 서로 보완적으로 사용되는, 로봇 제어 방법. - 제4항에 있어서,
상기 제1 환경 정보 및 상기 제2 환경 정보에 기반한 융합 정보로서 상기 상황 정보를 생성하는 단계
를 더 포함하고,
상기 상황 정보는, 상기 제1 로봇이 배치 가능한 영역에 관한 제1 정보, 상기 제1 로봇이 배치 불가능한 영역에 관한 제2 정보 및 미지의(unknown) 영역에 관한 제3 정보를 포함하는, 로봇 제어 방법. - 제5항에 있어서,
상기 구분 공간 내에 기 배치된 제2 로봇으로부터 상기 구분 공간의 내부에 관한 제3 환경 정보를 획득하는 단계
를 더 포함하고,
상기 생성하는 단계는, 상기 제1 환경 정보 내지 상기 제3 환경 정보에 기반한 융합 정보로서 상기 상황 정보를 생성하는, 로봇 제어 방법. - 제5항에 있어서,
상기 제어하는 단계는,
상기 제1 로봇의 상기 구분 공간에 대한 이동 계획을 수립하는 단계; 및
상기 이동 계획에 따라, 상기 제1 로봇이 상기 구분 공간에 진입하여 상기 구분 공간 내의 소정의 제1 위치에 배치되도록, 상기 제1 로봇을 제어하는 단계
를 포함하는, 로봇 제어 방법. - 제7항에 있어서,
상기 생성하는 단계는,
상기 제1 로봇이 상기 구분 공간의 내부를 향해 이동함에 따라 상기 제1 정보 내지 상기 제3 정보 중 적어도 하나를 업데이트함으로써 상기 상황 정보를 업데이트하는 단계
를 포함하고,
상기 수립하는 단계는,
상기 업데이트된 상황 정보에 기반하여, 상기 이동 계획을 업데이트하는 단계
를 포함하고,
상기 제1 로봇을 제어하는 단계는, 상기 업데이트된 이동 계획에 기반하여, 상기 제1 로봇이 상기 구분 공간에 진입하여 상기 구분 공간 내의 상기 제1 위치와는 상이한 제2 위치에 배치되도록, 상기 제1 로봇을 제어하는, 로봇 제어 방법. - 제8항에 있어서,
상기 이동 계획은 상기 제1 로봇이 상기 구분 공간에 진입하기 전에 수립되어, 상기 제1 로봇이 상기 구분 공간의 내부를 향해 이동함에 따라 업데이트되는, 로봇 제어 방법. - 제9항에 있어서,
상기 이동 계획은 상기 제1 로봇이 상기 구분 공간에 진입하여 상기 구분 공간의 내부를 이동하는 동안 업데이트되는, 로봇 제어 방법. - 제5항에 있어서,
상기 제1 로봇이 배치 가능한 영역은 로봇 및 사람 중 적어도 하나를 포함하는 장애물이 존재하지 않는 영역을 나타내고,
상기 제1 로봇이 배치 불가능한 영역은 상기 장애물이 존재하는 영역을 나타내고,
상기 미지의 영역은 상기 제1 로봇에 의한 센싱 범위 및 상기 센서에 의한 센싱 범위를 벗어나는 영역을 나타내는, 로봇 제어 방법. - 제11항에 있어서,
상기 상황 정보를 생성하는 단계는,
상기 내부 영역에 대응하는 2차원 평면에 상기 제1 정보, 상기 제2 정보 및 상기 제3 정보를 표현함으로써, 상기 상황 정보를 생성하는, 로봇 제어 방법. - 제1항에 있어서,
상기 센서는 상기 구분 공간의 상단에 배치된 카메라를 포함하고,
상기 제2 환경 정보는 상기 카메라에 의해 인식된 로봇 및 사람 중 적어도 하나를 포함하는 장애물의 좌표 정보를 포함하고,
상기 제1 환경 정보는 상기 제1 로봇의 거리 센서 또는 카메라에 의해 인식된 상기 장애물에 대한 상대 위치 정보를 포함하고,
상기 좌표 정보와 상기 상대 위치 정보를 매칭시킴으로써, 제1 환경 정보 및 상기 제2 환경 정보에 기반한 융합 정보로서 상기 장애물에 대한 위치 정보를 포함하는 상기 상황 정보를 생성하는 단계
를 더 포함하는, 로봇 제어 방법. - 제1항 내지 제13항 중 어느 한 항의 방법을 컴퓨터 시스템인 상기 로봇 제어 시스템에서 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.
- 공간 내에서 로봇을 제어하는 로봇 제어 시스템을 구성하는 컴퓨터 시스템에 있어서,
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
구분 공간 내에 진입하는 제1 로봇으로부터 상기 구분 공간의 내부에 관한 제1 환경 정보를 획득하고, 상기 구분 공간 내에 마련된 적어도 하나의 센서로부터 상기 구분 공간의 내부에 관한 제2 환경 정보를 획득하고, 상기 제1 환경 정보 및 상기 제2 환경 정보에 기반한 상기 구분 공간의 내부에 관한 상황 정보에 기반하여, 상기 제1 로봇의 상기 구분 공간에 대한 진입 또는 상기 제1 로봇의 상기 구분 공간 내에서의 이동을 제어하는, 컴퓨터 시스템. - 제15항에 있어서,
상기 제1 환경 정보 및 상기 제2 환경 정보는 상기 구분 공간의 내부에 관한 상황 정보를 생성하기 위해 서로 보완적으로 사용되고,
상기 적어도 하나의 프로세서는,
상기 제1 환경 정보 및 상기 제2 환경 정보에 기반한 융합 정보로서 상기 상황 정보를 생성하고,
상기 상황 정보는, 상기 제1 로봇이 배치 가능한 영역에 관한 제1 정보, 상기 제1 로봇이 배치 불가능한 영역에 관한 제2 정보 및 미지의 영역에 관한 제3 정보를 포함하는, 컴퓨터 시스템. - 제16항에 있어서,
상기 적어도 하나의 프로세서는,
상기 제1 로봇의 상기 구분 공간에 대한 이동 계획을 수립하고, 상기 이동 계획에 따라, 상기 제1 로봇이 상기 구분 공간에 진입하여 상기 구분 공간 내의 소정의 제1 위치에 배치되도록, 상기 제1 로봇을 제어하는, 컴퓨터 시스템. - 제17항에 있어서,
상기 적어도 하나의 프로세서는,
상기 제1 로봇이 상기 구분 공간의 내부를 향해 이동함에 따라 상기 제1 정보 내지 상기 제3 정보 중 적어도 하나를 업데이트함으로써 상기 상황 정보를 업데이트하고,
상기 업데이트된 상황 정보에 기반하여, 상기 이동 계획을 업데이트하고,
상기 제1 로봇을 제어함에 있어서, 상기 업데이트된 이동 계획에 기반하여, 상기 제1 로봇이 상기 구분 공간에 진입하여 상기 구분 공간 내의 상기 제1 위치와는 상이한 제2 위치에 배치되도록, 상기 제1 로봇을 제어하는, 컴퓨터 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230026829A KR20240133193A (ko) | 2023-02-28 | 2023-02-28 | 공간에 대해 로봇과 공간 내 센서로부터 획득되는 환경 정보로부터 생성된 상황 정보에 기반하여, 로봇의 이동을 제어하는 로봇 제어 방법 |
PCT/KR2024/000778 WO2024181684A1 (ko) | 2023-02-28 | 2024-01-16 | 공간에 대해 로봇과 공간 내 센서로부터 획득되는 환경 정보로부터 생성된 상황 정보에 기반하여, 로봇의 이동을 제어하는 로봇 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230026829A KR20240133193A (ko) | 2023-02-28 | 2023-02-28 | 공간에 대해 로봇과 공간 내 센서로부터 획득되는 환경 정보로부터 생성된 상황 정보에 기반하여, 로봇의 이동을 제어하는 로봇 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240133193A true KR20240133193A (ko) | 2024-09-04 |
Family
ID=92590773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230026829A KR20240133193A (ko) | 2023-02-28 | 2023-02-28 | 공간에 대해 로봇과 공간 내 센서로부터 획득되는 환경 정보로부터 생성된 상황 정보에 기반하여, 로봇의 이동을 제어하는 로봇 제어 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240133193A (ko) |
WO (1) | WO2024181684A1 (ko) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090057867A (ko) * | 2007-12-03 | 2009-06-08 | 한국전자통신연구원 | 이동 로봇 장치, 엘리베이터 관리 장치, 이동 로봇의엘리베이터 층간 이동 제어 시스템 및 그 방법 |
JP2012196731A (ja) * | 2011-03-22 | 2012-10-18 | Toyota Motor Corp | ロボットの移動管理システム及び移動管理方法 |
KR20210083812A (ko) * | 2019-12-27 | 2021-07-07 | 엘지전자 주식회사 | 자율주행 이동로봇 및 이의 동작 방법 |
KR20220104387A (ko) * | 2021-01-18 | 2022-07-26 | 부산대학교 산학협력단 | 물류 운반용 자율주행 제어 방법 및 이를 이용한 장치 |
KR102358697B1 (ko) * | 2021-09-08 | 2022-02-08 | (주)플레토로보틱스 | 엘리베이터 이용이 가능한 배달 로봇 |
-
2023
- 2023-02-28 KR KR1020230026829A patent/KR20240133193A/ko unknown
-
2024
- 2024-01-16 WO PCT/KR2024/000778 patent/WO2024181684A1/ko unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024181684A1 (ko) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210122606A1 (en) | Method and system for controlling elevator for robot passengers | |
CN112537702B (zh) | 机器人乘梯引导方法、装置、终端设备及可读存储介质 | |
EP3936965B1 (en) | Method and system for specifying nodes for robot path planning | |
KR101876968B1 (ko) | 실내 자율 주행 로봇을 위한 제어 방법 및 시스템 | |
KR102338608B1 (ko) | 로봇의 충전 및 대기가 가능한 로봇 전용 엘리베이터를 위한 시스템을 포함하는 건물 | |
KR20180044486A (ko) | 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 | |
KR102194429B1 (ko) | 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 | |
KR102427779B1 (ko) | 로봇의 대기 공간과 충전 공간으로 활용되는 전실과 로봇 전용 엘리베이터를 제어하는 시스템을 포함하는 건물 | |
KR102706709B1 (ko) | 통신 기반 로봇 제어 방법 및 시스템 | |
JP2018147359A (ja) | サービス提供システムおよび要求受付ロボット | |
KR102541959B1 (ko) | 로봇 및 사람이 탑승하는 엘리베이터를 제어하는 방법 및 엘리베이터 제어 시스템 | |
KR102043421B1 (ko) | 실내 자율 주행 로봇을 위한 제어 방법 및 시스템 | |
KR102112162B1 (ko) | 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 | |
US20240069571A1 (en) | Method and system for controlling a plurality of robots traveling through a specific area, and building in which robots are disposed | |
KR20240133193A (ko) | 공간에 대해 로봇과 공간 내 센서로부터 획득되는 환경 정보로부터 생성된 상황 정보에 기반하여, 로봇의 이동을 제어하는 로봇 제어 방법 | |
JP7317436B2 (ja) | ロボット、ロボット制御プログラムおよびロボット制御方法 | |
KR102545241B1 (ko) | 서비스 어플리케이션과 연계하여 서비스를 제공하는 로봇을 제어하는 방법 및 클라우드 서버 | |
KR20230134109A (ko) | 청소 로봇 및 그의 태스크 수행 방법 | |
KR102322048B1 (ko) | 사용자를 측위하여 건물을 자율주행하고 서비스를 제공하는 로봇이 배치되는 건물 | |
CN113093751B (zh) | 一种机器人等电梯的位置控制方法、装置及存储介质 | |
KR20240138795A (ko) | 에이전트로서 동작하는 로봇으로부터의 상황 정보에 기반하여 구분 공간에 대한 로봇의 진입 또는 진출을 제어하는 로봇 제어 방법 | |
KR20230149350A (ko) | 디지털 트윈된 가상공간 기반 배송 시뮬레이션 시스템 및 방법 | |
KR102722187B1 (ko) | 확장 및 축소 가능하도록 구성된 센서부를 포함하는 로봇 및 그 제어 방법 | |
KR20240138794A (ko) | 엘리베이터 카 내에서 결정된 가상 대기열에 기반하여 엘리베이터 카에 대해 승차 또는 하차하는 복수의 로봇들을 제어하는 로봇 제어 방법 | |
JP7437181B2 (ja) | 建屋内搬送システム及び建屋構造 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant |