KR20230053314A - 로봇, 로봇 시스템 및 그 제어 방법 - Google Patents

로봇, 로봇 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR20230053314A
KR20230053314A KR1020210136679A KR20210136679A KR20230053314A KR 20230053314 A KR20230053314 A KR 20230053314A KR 1020210136679 A KR1020210136679 A KR 1020210136679A KR 20210136679 A KR20210136679 A KR 20210136679A KR 20230053314 A KR20230053314 A KR 20230053314A
Authority
KR
South Korea
Prior art keywords
robot
external
external robot
pose
identified
Prior art date
Application number
KR1020210136679A
Other languages
English (en)
Inventor
김효묵
백아론
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210136679A priority Critical patent/KR20230053314A/ko
Priority to PCT/KR2022/012758 priority patent/WO2023063565A1/ko
Priority to EP22881195.6A priority patent/EP4353422A1/en
Publication of KR20230053314A publication Critical patent/KR20230053314A/ko

Links

Images

Classifications

    • G05D1/242
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • G05D1/246
    • G05D1/648
    • G05D1/6985
    • G05D2105/10
    • G05D2107/40
    • G05D2109/10
    • G05D2111/17

Abstract

로봇이 개시된다. 로봇은 통신 인터페이스, 거리 센서, 구동부, 로봇이 주행하는 공간에 대응되는 맵 데이터가 저장된 메모리 및 외부 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하도록 거리 센서를 제어하고, 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 외부 로봇의 위치 정보를 획득하고, 획득된 위치 정보에 기초하여 구동부 또는 외부 로봇의 동작 상태 중 적어도 하나를 제어하는 프로세서를 포함한다. 또한, 프로세서는 통신 인터페이스를 통해 외부 로봇의 동작 상태를 제어하기 위한 제어 신호를 전송하고, 통신 인터페이스를 통한 외부 로봇과의 통신에 에러가 발생한 것으로 식별되면 외부 로봇으로부터 수신된 적어도 하나의 에코의 신호의 타입에 기초하여 외부 로봇의 포즈(pose)를 식별하고, 식별된 외부 로봇의 포즈 및 저장된 맵 데이터에 기초하여 로봇의 타겟 위치를 식별하고, 식별된 타겟 위치로 이동하도록 구동부를 제어할 수 있다.

Description

로봇, 로봇 시스템 및 그 제어 방법 {ROBOT, ROBOT SYSTEM AND CONTROLLING METHOD THEROF}
본 발명은 로봇, 로봇 시스템 및 그 제어 방법에 관한 것으로, 보다 상세하게는 제2 로봇을 수용하며 제2 로봇과 함께 서비스를 제공하는 제1 로봇, 제1 로봇 및 제2 로봇을 포함하는 로봇 시스템 및 그 제어 방법에 관한 것이다.
최근 실내 공간에 배치되어 사용자에게 서비스를 제공하는 로봇에 대한 기술 개발이 활발해지고 있다. 로봇은 실내 공간을 주행하며 청소, 가이드, 서빙, 패트롤 또는 긴급 상황 대처 등과 같이 다양한 서비스를 제공할 수 있다.
그러나, 로봇 자체의 폼 팩터(Form factor)의 한계 및 공간 내에 위치한 장애물로 인해 실내 공간에 대응되는 맵 내에 로봇이 주행할 수 없는 사각지대가 형성될 수 있어 단일한 로봇만으로는 사용자에게 만족스러운 서비스를 제공할 수 없는 문제점이 있었다.
종래의 로봇은 로봇 및 로봇에 수용된 외부 로봇이 협동하여 서비스를 제공함으로써 사각지대를 감소시킬 수 있었으나, 로봇과 외부 로봇 간의 통신에 에러가 발생한 경우 원활한 서비스 제공이 이루어지기 어려운 문제점을 여전히 가지고 있었다. 이에 따라, 로봇과 외부 로봇 간의 통신 에러가 발생한 경우 능동적으로 에러를 극복할 수 있는 방법에 대한 지속적인 요구가 있었다.
본 개시는 상술한 필요성에 따른 것으로, 로봇과 외부 로봇의 통신에 에러가 발생한 경우 외부 로봇의 포즈 및 맵 데이터에 기초하여 결정된 타겟 위치로 이동함으로써 통신 에러를 극복하는 로봇, 로봇과 외부 로봇을 포함하는 로봇 시스템 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 로봇은, 통신 인터페이스, 거리 센서, 구동부, 상기 로봇이 주행하는 공간에 대응되는 맵 데이터가 저장된 메모리, 외부 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하도록 상기 거리 센서를 제어하고, 상기 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 상기 외부 로봇의 위치 정보를 획득하고, 상기 획득된 위치 정보에 기초하여 상기 구동부 또는 상기 외부 로봇의 동작 상태 중 적어도 하나를 제어하는 프로세서를 포함할 수 있다. 또한, 상기 프로세서는, 상기 통신 인터페이스를 통해 상기 외부 로봇의 동작 상태를 제어하기 위한 제어 신호를 전송하고, 상기 통신 인터페이스를 통한 상기 외부 로봇과의 통신에 에러가 발생한 것으로 식별되면, 상기 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 상기 외부 로봇의 포즈(pose)를 식별하고, 상기 식별된 외부 로봇의 포즈 및 상기 저장된 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별하고, 상기 식별된 타겟 위치로 이동하도록 상기 구동부를 제어할 수 있다.
여기서, 상기 프로세서는, 상기 통신 인터페이스를 통해 상기 외부 로봇과 통신하는 동안, 상기 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 상기 외부 로봇의 포즈를 식별하고, 상기 식별된 외부 로봇의 포즈 및 상기 저장된 맵 데이터에 기초하여 상기 외부 로봇의 포즈를 변경하기 위한 제어 신호를 상기 통신 인터페이스를 통해 상기 외부 로봇으로 전송할 수 있다.
또한, 상기 프로세서는, 상기 식별된 외부 로봇의 포즈 및 상기 저장된 맵 데이터에 기초하여 상기 통신 인터페이스를 통한 통신의 에러 발생이 예상되면, 상기 외부 로봇의 포즈를 변경하기 위한 제어 신호를 상기 통신 인터페이스를 통해 상기 외부 로봇으로 전송할 수 있다.
여기서, 상기 프로세서는, 상기 맵 데이터 상에서 상기 외부 로봇의 위치에 대응되는 영역에 배치된 장애물 정보, 상기 식별된 외부 로봇의 포즈 및 상기 외부 로봇의 이동 경로에 기초하여 상기 통신 인터페이스를 통한 통신의 에러 발생 가능성을 판단할 수 있다.
한편, 상기 외부 로봇은 상이한 위치에 배치되어 상이한 타입의 에코 신호를 출력하는 복수의 센서를 포함하며, 상기 프로세서는, 상기 통신 인터페이스를 통한 상기 외부 로봇과의 통신에 에러가 발생한 것으로 식별되면, 상기 외부 로봇으로부터 수신된 복수의 에코 신호의 타입에 기초하여 상기 외부 로봇에 배치된 복수의 센서 중 상기 복수의 에코 신호를 출력한 복수의 센서 각각의 위치를 식별하고, 상기 식별된 복수의 센서 각각의 위치에 기초하여 상기 외부 로봇의 포즈를 식별할 수 있다.
또한, 상기 프로세서는, 상기 통신 인터페이스를 통해 상기 외부 로봇으로부터 포즈 정보가 수신되면, 상기 수신된 포즈 정보, 상기 식별된 외부 로봇의 포즈 및 상기 저장된 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별할 수 있다.
또한, 상기 거리 센서는, 라이다(Lidar) 센서를 포함하며, 상기 프로세서는, 상기 라이다 센서에 의해 획득된 센싱 신호 및 상기 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 상기 외부 로봇의 위치 정보를 획득할 수 있다.
또한, 상기 거리 센서는, 라이다 센서를 포함하며, 상기 프로세서는, 상기 라이다 센서에 의해 획득된 센싱 신호에 기초하여 장애물 정보를 획득하고, 상기 획득된 장애물 정보 및 상기 외부 로봇의 위치 정보에 기초하여 상기 통신 인터페이스의 위치를 변경할 수 있다.
또한, 상기 외부 로봇이 수용되는 수납 공간을 더 포함하며, 상기 프로세서는, 상기 외부 로봇의 작업이 필요한 것으로 식별되면, 상기 외부 로봇이 상기 수납 공간에서 출고되도록 제어하고, 상기 외부 로봇의 작업이 완료된 것으로 식별되면, 상기 외부 로봇의 포즈에 기초하여 상기 외부 로봇의 이동 경로를 플래닝하고 상기 플래닝된 이동 경로에 기초하여 상기 외부 로봇이 상기 수납 공간에 수용되도록 상기 외부 로봇의 동작 상태를 제어할 수 있다.
또한, 상기 프로세서는, 상기 통신 인터페이스는, 블루투스 통신을 포함하는 근거리 통신 방식에 따라 통신하며, 상기 거리 센서는, 적외선 센서 또는 UWB 센서 중 적어도 하나를 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 제1 로봇 및 상기 제1 로봇의 수납 공간에 수용되는 제2 로봇을 포함하는 로봇 시스템은, 상기 제2 로봇의 작업이 필요한 것으로 식별되면 통신 인터페이스를 통해 상기 제2 로봇이 상기 수납 공간에서 출고하기 위한 제어 신호를 상기 제2 로봇으로 전송하고, 상기 제2 로봇의 작업이 완료된 것으로 식별되면, 상기 통신 인터페이스를 통해 상기 외부 로봇을 상기 수납 공간에 수용하기 위한 제어 신호를 상기 제2 로봇으로 전송하는 제1 로봇 및 상이한 위치에 배치되어 상이한 타입의 에코 신호를 출력하는 복수의 센서를 포함하는 제2 로봇을 포함하며, 상기 제1 로봇은, 상기 제2 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하고, 상기 통신 인터페이스를 통한 상기 제2 로봇과의 통신에 에러가 발생된 것으로 식별되면, 상기 제2 로봇으로부터 수신된 복수의 에코 신호의 타입에 기초하여 상기 제2 로봇에 배치된 복수의 센서 중 상기 복수의 에코 신호를 출력한 복수의 센서 각각의 위치를 식별하고, 상기 식별된 복수의 센서 각각의 위치에 기초하여 상기 제2 로봇의 포즈(pose)를 식별하고, 상기 식별된 제2 로봇의 포즈에 기초하여 및 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별하고, 상기 식별된 타겟 위치로 이동할 수 있다.
한편, 본 발명의 일 실시 예에 따른 로봇의 제어 방법은, 외부 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하고, 상기 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 상기 외부 로봇의 위치 정보를 획득하는 단계, 상기 획득된 위치 정보에 기초하여 상기 로봇 또는 상기 외부 로봇 중 적어도 하나를 구동하는 단계, 상기 외부 로봇과의 통신에 에러가 발생된 것으로 식별되면, 상기 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 상기 외부 로봇의 포즈(pose)를 식별하는 단계, 상기 식별된 외부 로봇의 포즈 및 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별하는 단계 및 상기 식별된 타겟 위치로 상기 로봇을 이동시키는 단계를 포함할 수 있다.
여기서, 상기 외부 로봇의 포즈를 식별하는 단계는, 상기 외부 로봇과 통신하는 동안, 상기 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 상기 외부 로봇의 포즈를 식별하고, 상기 제어 방법은, 상기 식별된 외부 로봇의 포즈 및 상기 맵 데이터에 기초하여 상기 외부 로봇의 포즈를 변경하는 단계를 더 포함할 수 있다.
또한, 상기 식별된 외부 로봇의 포즈 및 상기 맵 데이터에 기초하여 상기 통신의 에러 발생이 예상되면, 상기 외부 로봇의 포즈를 변경하는 단계를 더 포함할 수 있다.
여기서, 상기 외부 로봇의 포즈를 변경하는 단계는, 상기 맵 데이터 상에서 상기 외부 로봇의 위치에 대응되는 영역에 배치된 장애물 정보, 상기 식별된 외부 로봇의 포즈 및 상기 외부 로봇의 이동 경로에 기초하여 상기 통신의 에러 발생 가능성을 판단할 수 있다.
한편, 상기 외부 로봇의 포즈를 식별하는 단계는, 상기 외부 로봇과의 통신에 에러가 발생된 것으로 식별되면, 상기 외부 로봇으로부터 수신된 복수의 에코 신호의 타입에 기초하여 상기 외부 로봇에 배치된 복수의 센서 중 상기 복수의 에코 신호를 출력한 복수의 센서 각각의 위치를 식별하는 단계 및 상기 식별된 복수의 센서 각각의 위치에 기초하여 상기 외부 로봇의 포즈를 식별하는 단계를 포함할 수 있다.
또한, 상기 로봇의 타겟 위치를 식별하는 단계는, 상기 외부 로봇으로부터 포즈 정보가 수신되면, 상기 수신된 포즈 정보, 상기 식별된 외부 로봇의 포즈 및 상기 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별 할 수 있다.
또한, 상기 외부 로봇의 위치 정보를 획득하는 단계는, 라이다(Lidar) 센서에 의해 획득된 센싱 신호 및 상기 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 상기 외부 로봇의 위치 정보를 획득 할 수 있다.
또한, 라이다 센서에 의해 획득된 센싱 신호에 기초하여 장애물 정보를 획득하는 단계 및 상기 획득된 장애물 정보 및 상기 외부 로봇의 위치 정보에 기초하여 상기 로봇에 구비된 통신 인터페이스의 위치를 변경하는 단계를 더 포함 할 수 있다.
또한, 상기 외부 로봇의 작업이 필요한 것으로 식별되면, 상기 외부 로봇이 수용되는 수납 공간에서 상기 외부 로봇을 출고하는 단계, 상기 외부 로봇의 작업이 완료된 것으로 식별되면, 상기 외부 로봇의 포즈에 기초하여 상기 외부 로봇의 이동 경로를 플래닝하는 단계 및 상기 플래닝된 이동 경로에 기초하여 상기 외부 로봇을 상기 수납 공간에 수용하는 단계를 더 포함할 수 있다.
본 개시의 다양한 실시 예에 따르면, 로봇과 외부 로봇 간의 통신에 발생한 에러를 능동적으로 제거하고 서비스 제공을 재개할 수 있으므로, 사용자의 편의가 향상될 수 있다.
도 1은 로봇 및 외부 로봇의 협동 서비스 제공 동작을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 설명하기 위한 블록도이다.
도 4a 및 도 4b는 본 개시의 일 실시 예에 따른 로봇이 외부 로봇의 포즈를 식별하는 동작을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 로봇이 맵 데이터에 기초하여 외부 로봇을 제어하는 동작을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 로봇이 외부 로봇을 수용하는 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 로봇의 에러 제거 동작을 설명하기 위한 도면이다.
도 8은 본 개시의 다른 실시 예에 따른 로봇의 에러 제거 동작을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 로봇 시스템을 통한 서비스 제공 과정을 설명하기 위한 시퀀스도이다.
도 10은 본 개시의 일 실시 예에 따른 로봇의 구성을 구체적으로 설명하기 위한 블록도이다.
도 11은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 개시에서 '사용자'는 로봇으로부터 서비스를 제공받는 사람을 의미할 수 있으나, 이에 한정되는 것은 아니다.
도 1은 로봇 및 외부 로봇의 협동 서비스 제공 동작을 개략적으로 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 로봇(100)은 특정 공간에 배치되며, 공간에 거주하거나 일시 방문한 사용자에게 다양한 서비스를 제공할 수 있다. 구체적으로, 로봇(100)은 사용자에게 청소, 가이드, 서빙, 패트롤 또는 긴급 상황 대처 중 적어도 하나에 대응되는 서비스를 제공할 수 있으나 이에 한정되는 것은 아니다.
또한, 특정 공간에는 로봇(100)을 비롯하여 적어도 하나의 외부 로봇(200)이 배치되며, 로봇(100) 및 적어도 하나의 외부 로봇(200)은 상호 협업을 통해 사용자에게 서비스를 제공할 수 있다. 여기서, 협업을 통한 서비스 제공이란 로봇(100) 및 적어도 하나의 외부 로봇(200)이 서로 관련된 태스크 정보에 기초하여 통합 제어됨으로써 로봇(100)과 적어도 하나의 외부 로봇(200)이 서로 관련된 서비스를 제공하는 것을 의미할 수 있다.
적어도 하나의 외부 로봇(200)은 로봇(100)과 상이한 스펙을 갖는 로봇일 수 있다. 특히, 적어도 하나의 외부 로봇(200)은 로봇(100)보다 작은 크기를 가지며, 로봇(100)에 수용되기 위해 필요한 결합부(미도시)를 포함할 수 있다. 적어도 하나의 외부 로봇(200)은 평상시에는 로봇(100)에 구비된 수납 공간(미도시)에 수용된 채로 대기하다가 적어도 하나의 외부 로봇(200)의 작업이 필요한 경우 로봇(100)의 수납 공간에서 출고되어 서비스를 제공할 수 있다.
또한, 적어도 하나의 외부 로봇(200)은 로봇(100)에 의해 제어되며 서비스를 제공할 수 있다. 구체적으로, 적어도 하나의 외부 로봇(200)은 로봇(100)으로부터 수신된 제어 신호에 기초하여 태스크 정보 및 이동 경로 정보를 획득하고, 획득된 태스크 정보 및 이동 경로 정보에 기초하여 서비스를 제공할 수 있다.
일 예에 따른 로봇(100)은 공간을 주행하며 해당 공간에 대한 맵 데이터 및 로봇(100)이 수행할 서비스에 대응되는 태스크 정보를 획득하고, 획득된 맵 데이터 및 태스크 정보에 기초하여 적어도 하나의 외부 로봇(200)의 작업이 필요한지 여부를 판단할 수 있다. 예를 들어, 로봇(100)이 청소 서비스를 제공하기 위해 공간을 주행하는 동안 로봇(100)은 장애물(10)이 위치한 영역을 청소하기 위해 로봇(100)보다 작은 크기를 갖는 외부 로봇(200)의 작업이 필요한 것으로 식별할 수 있다.
이 경우 로봇(100)은 외부 로봇(200)에 할당할 태스크와 관련된 태스크 정보를 획득하고, 태스크 수행을 위해 외부 로봇(200)이 이동할 경로와 관련된 이동 경로 정보를 획득할 수 있다. 또한, 로봇(100)은 획득된 태스크 정보 및 이동 경로 정보 기초하여 외부 로봇(200)을 제어하는 제어 신호를 외부 로봇(200)으로 전송할 수 있다.
만일 외부 로봇(200)이 서비스를 제공하는 과정에서 로봇(100)과 외부 로봇(200) 간의 통신에 에러가 발생한 경우, 로봇(100)은 식별된 외부 로봇(200)의 포즈 및 장애물(10)이 위치한 영역에 대한 맵 데이터에 기초하여 로봇(100)이 이동해야 할 타겟 위치를 식별하고, 식별된 타겟 위치로 이동함으로써 외부 로봇(200)과의 통신을 복구할 수 있다.
또한, 로봇(100)으로부터 출고된 외부 로봇(200)이 작업을 완료한 경우, 외부 로봇(200)은 로봇(100)의 제어를 받아 장애물(10)이 위치한 영역으로부터 로봇(100)의 수납 공간으로 복귀할 수 있다.
이하에서는, 로봇과 외부 로봇의 통신에 에러가 발생한 경우 외부 로봇의 포즈 및 저장된 맵 데이터에 기초하여 결정된 타겟 위치로 이동함으로써 통신 에러를 극복하는 다양한 실시 예에 대해 좀더 구체적으로 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 2에 따르면, 본 개시의 일 실시 예에 따른 로봇(100)은 통신 인터페이스(110), 거리 센서(120), 구동부(130), 메모리(140) 및 프로세서(150)를 포함할 수 있다.
통신 인터페이스(110)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어 통신 인터페이스(110)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다.
거리 센서(120)는 거리 데이터를 획득할 수 있다. 구체적으로, 거리 센서(120)는 로봇(100)의 위치와 적어도 하나의 외부 로봇의 위치 사이의 거리를 측정하고, 측정 결과에 기초하여 거리 데이터를 획득할 수 있다. 일 예에 따른 거리 센서(120)는 적외선 센서, UWB(Ultra Wide Band) 센서, 라이다(LIDAR, Light Detection And Ranging) 센서 또는 3D 카메라 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
구동부(130)는 로봇(100)을 주행시킬 수 있는 장치이다. 구동부(130)는 프로세서(150)의 제어에 따라 주행 방향 및 주행 속도를 조절할 수 있으며, 일 예에 따른 구동부(130)는 로봇(100)이 주행하기 위한 동력을 발생시키는 동력발생장치(예: 사용 연료(또는 에너지원)에 따라 가솔린 엔진(engine), 디젤 엔진, LPG(liquefied petroleum gas) 엔진, 전기 모터 등), 주행 방향을 조절하기 위한 조향 장치(예: 기계식 스티어링(manual steering), 유압식 스티어링(hydraulics steering), 전자식 스티어링(electronic control power steering; EPS) 등), 동력에 따라 로봇(100)을 주행시키는 주행 장치(예: 바퀴, 프로펠러 등) 등을 포함할 수 있다. 여기서, 구동부(130)는 로봇(100)의 주행 타입(예: 휠 타입, 보행 타입, 비행 타입 등)에 따라 변형 실시될 수 있다.
메모리(140)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(140)는 데이터 저장 용도에 따라 로봇(100)에 임베디드된 메모리 형태로 구현되거나, 로봇(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 로봇(100)의 구동을 위한 데이터의 경우 로봇(100)에 임베디드된 메모리에 저장되고, 로봇(100)의 확장 기능을 위한 데이터의 경우 로봇(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 로봇(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 로봇(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따른 메모리(140)는 로봇(100)이 주행하는 공간에 대응되는 맵 데이터를 저장할 수 있다. 프로세서(150)는 외부 서버(미도시)로부터 맵 데이터를 수신하여 메모리(140)에 저장하거나, 거리 센서(120)로부터 획득된 거리 데이터에 기초하여 맵 데이터를 생성하여 이를 메모리(140)에 저장할 수도 있다.
프로세서(150)는 로봇(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(150)는 로봇(100)의 각 구성과 연결되어 로봇(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(150)는 통신 인터페이스(110), 거리 센서(120), 구동부(130) 및 메모리(140)와 연결되어 로봇(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(150)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), NPU(Neural Processing Unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)) 등 다양한 이름으로 명명될 수 있으나, 본 명세서에서는 프로세서(150)로 기재한다.
프로세서(150)는 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(150)는 SRAM 등의 휘발성 메모리를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 프로세서(150)는 외부 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하도록 거리 센서(120)를 제어할 수 있다. 또한, 프로세서(150)는 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 외부 로봇의 위치 정보를 획득할 수 있다.
또한, 프로세서(150)는 라이다 센서에 의해 획득된 센싱 신호 및 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 외부 로봇의 위치를 보다 정확하게 식별할 수도 있다.
구체적으로, 에코 신호란 외부 로봇이 센싱 신호를 수신함에 기초하여 로봇(100)으로 전송하는 신호를 의미하며, 로봇(100)은 거리 센서(120)를 통해 에코 신호를 수신할 수 있다. 프로세서(150)은 센싱 신호를 출력한 시점 및 에코 신호가 수신된 시점에 기초하여 TOF(Time of flight) 방식 또는 TOA(Time of Arrival) 방식 중 적어도 하나에 따라 로봇(100)과 외부 로봇 간의 거리를 식별하고, 식별된 거리에 기초하여 외부 로봇의 위치 정보를 획득할 수 있다.
프로세서(150)는 획득된 위치 정보에 기초하여 구동부(130)를 제어하여 로봇(100)의 위치를 변경할 수 있다. 예를 들어, 프로세서(150)는 획득된 위치 정보 및 공간의 맵 데이터에 기초하여 로봇(100)이 식별된 외부 로봇의 위치와 근접한 위치로 이동하도록 구동부(130)를 제어할 수도 있다.
또한, 프로세서(150)는 획득된 위치 정보에 기초하여 외부 로봇의 동작 상태를 제어할 수도 있다. 예를 들어, 프로세서(150)는 외부 로봇이 수행할 서비스에 대응되는 태스크 정보를 획득하고, 태스크 정보 및 공간의 맵 데이터에 기초하여 외부 로봇의 동작 상태를 제어하기 위한 제어 신호를 외부 로봇으로 전송하도록 통신 인터페이스(110)를 제어할 수 있다.
또한, 프로세서(150)는 통신 인터페이스(110)를 통한 외부 로봇과의 통신에 에러가 발생한 것으로 식별되면 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 외부 로봇의 포즈(pose)를 식별할 수 있다. 여기서, 포즈란 외부 로봇의 위치 정보 및 외부 로봇이 지향하는 방향에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 외부 로봇은 상이한 위치에 배치되어 상이한 타입의 에코 신호를 출력하는 복수의 센서를 포함하며, 외부 로봇으로부터 수신된 복수의 에코 신호는 상이한 타입의 에코 신호를 출력하는 복수의 센서 각각으로부터 출력된 신호일 수 있다. 프로세서(150)는 통신 인터페이스(110)를 통한 외부 로봇과의 통신에 에러가 발생한 것으로 식별되면 외부 로봇으로부터 수신된 복수의 에코 신호의 타입에 기초하여 외부 로봇에 배치된 복수의 센서 중 복수의 에코 신호를 출력한 복수의 센서 각각의 위치를 식별할 수 있다.
구체적으로, 프로세서(150)는 수신된 복수의 에코 신호에 대응되는 외부 로봇의 센서 각각과 해당 신호를 수신한 거리 센서(120) 사이의 거리를 개별적으로 산출하여 외부 로봇의 위치를 식별하고, 식별된 복수의 센서 각각의 위치에 기초하여 외부 로봇의 포즈를 식별할 수 있다.
통신 인터페이스(110)를 통한 통신에 에러가 발생했더라도 거리 센서(120)를 통한 에코 신호 수신에 문제가 없다면, 프로세서(150)는 통신 에러 발생 이후 수신되는 에코 신호에 기초하여 외부 로봇의 포즈를 지속적으로 업데이트할 수 있다. 만일 통신 인터페이스(110)를 통한 통신 뿐만 아니라 거리 센서(120)를 통한 에코 신호 수신에도 에러가 발생한 경우라면, 프로세서(150)는 마지막으로 수신된 에코 데이터에 기초하여 외부 로봇의 포즈를 식별하고, 외부 로봇이 마지막으로 식별된 포즈를 유지하는 것으로 판단할 수 있다.
한편, 프로세서(150)는 식별된 외부 로봇의 포즈 및 저장된 맵 데이터에 기초하여 통신 에러를 제거하기 위해 로봇(100)이 이동해야 할 타겟 위치를 식별할 수 있다. 여기서, 타겟 위치는 외부 로봇의 위치까지의 가시 거리가 확보되는 위치로써, 로봇(100)이 타겟 위치로 이동하는 경우 로봇(100)과 외부 로봇 간의 전파 송수신에 방해가 되는 장애물이 존재하지 않아 통신이 재개될 수 있다.
프로세서(150)가 로봇(100)의 타겟 위치를 식별함에 있어서, 외부 로봇으로부터 수신된 포즈 정보를 고려할 수 있다. 여기서, 포즈 정보는 외부 로봇에 구비된 센서를 통해 획득된 외부 로봇의 위치 및 외부 로봇이 지향하는 방향에 관한 정보를 포함할 수 있으며, 프로세서(150)는 통신 인터페이스(110)를 통해 외부 로봇으로부터 포즈 정보를 수신하고, 수신된 포즈 정보에 기초하여 로봇(100)이 식별한 외부 로봇의 포즈를 보정할 수 있다.
예를 들어, 프로세서(150)는 수신된 포즈 정보에 기초하여 외부 로봇이 지향하는 방향을 식별하고, 로봇(100)이 식별한 외부 로봇의 위치 및 포즈 정보에 기초하여 식별된 외부 로봇의 위치 각각에 가중치를 부여하여 획득되는 보정된 위치를 외부 로봇의 위치로 판단할 수 있으나 이에 한정되는 것은 아니다.
이 경우 프로세서(150)는 보정된 외부 로봇의 포즈 및 저장된 맵 데이터 상의 장애물에 관한 정보에 기초하여 로봇(100)이 이동해야 할 타겟 위치를 식별할 수 있다. 또한, 프로세서(150)는 로봇(100)이 식별된 타겟 위치로 이동하도록 구동부(130)를 제어할 수 있다. 타겟 위치로 이동한 로봇(100)과 외부 로봇 간의 통신 에러가 제거되어 통신이 재개되는 경우 로봇(100)은 계속하여 외부 로봇을 제어함으로써 서비스 제공을 이어나갈 수 있다.
다른 예에 따르면, 프로세서(150)는 라이다 센서에 의해 획득된 센싱 신호에 기초하여 장애물 정보를 획득하고, 획득된 장애물 정보 및 외부 로봇의 위치 정보에 기초하여 통신 인터페이스(110)의 위치를 변경할 수 있다. 예를 들어, 프로세서(150)는 장애물이 위치한 Z축 정보를 획득하고, 통신 인터페이스(110)가 장애물이 위치하지 않는 Z축 범위 내에 위치하도록 통신 인터페이스(110)의 높이를 조정함으로써 로봇(100)과 외부 로봇 간의 통신 에러를 제거할 수 있다.
여기서, 프로세서(150)는 통신 인터페이스(110)를 통해 외부 로봇과 통신하는 동안 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 외부 로봇의 포즈를 식별하고, 식별된 외부 로봇의 포즈 및 저장된 맵 데이터에 기초하여 외부 로봇의 포즈를 변경하기 위한 제어 신호를 통신 인터페이스(110)를 통해 외부 로봇으로 전송할 수 있다.
구체적으로, 프로세서(150)는 식별된 외부 로봇의 포즈 및 저장된 맵 데이터에 기초하여 통신 인터페이스(110)를 통한 통신의 에러 발생이 예상되면 외부 로봇의 포즈를 변경하기 위한 제어 신호를 외부 로봇으로 전송하도록 통신 인터페이스(110)를 제어할 수 있다. 여기서, 프로세서(150)는 저장된 맵 데이터 상에서 외부 로봇의 위치에 대응되는 영역에 배치된 장애물 정보, 식별된 외부 로봇의 포즈 및 외부 로봇의 이동 경로에 기초하여 통신 인터페이스(110)를 통한 통신의 에러 발생 가능성을 식별할 수 있다.
예를 들어, 프로세서(150)는 외부 로봇의 위치 정보 및 외부 로봇이 지향하는 방향에 관한 정보에 기초하여 외부 로봇이 기존과 같이 주행을 지속할 경우 임계 시간 이내에 로봇(100)과 외부 로봇 간의 전파 송수신에 방해가 되는 장애물로 인해 통신에 에러가 발생할 것으로 식별되는 경우, 장애물로 인해 통신에 에러가 발생할 가능성이 있는 맵 데이터 상의 영역을 식별하고, 외부 로봇이 해당 영역을 제외한 나머지 영역 상에서 주행하도록 하는 제어 신호를 외부 로봇으로 전송하도록 통신 인터페이스(110)를 제어할 수 있다.
즉, 프로세서(150)는 통신 인터페이스(110)를 통한 외부 로봇과의 통신에 에러가 발생할 것을 미리 예측하여 외부 로봇의 이동 경로를 변경 내지 조정함으로써 통신 에러가 발생하는 것을 방지할 수 있게 된다.
한편, 로봇(100)은 외부 로봇이 수용되는 수납 공간을 더 포함할 수 있다. 프로세서(150)는 외부 로봇의 작업이 필요한 것으로 식별되면 외부 로봇이 수납 공간에서 출고되도록 제어하고, 외부 로봇의 작업이 완료된 것으로 식별되면 외부 로봇의 포즈에 기초하여 외부 로봇의 이동 경로를 플래닝하고, 플래닝된 이동 경로에 기초하여 외부 로봇이 수납 공간에 수용되도록 외부 로봇의 동작 상태를 제어할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 프로세서(150)는 SLAM 모듈(151), Global Localizer 모듈(152), Range & Direction Estimator 모듈(153), Local Pose Estimator 모듈(154), Global Pose Estimator 모듈(155) 및 Motion Planner 모듈(156)을 포함할 수 있다.
SLAM 모듈(151)은 SLAM(simultaneous localization and mapping), 즉 동시적 위치 추정 및 지도작성 방식을 통해 공간 내에 포함된 오브젝트에 관한 정보를 획득하고, 획득된 정보에 기초하여 맵 데이터를 생성할 수 있다. 여기서, 오브젝트는 공간을 구성하는 벽, 기둥 및 고정된 장애물은 물론 지속적으로 그 위치가 변화하는 동적 객체 또한 포함할 수 있다.
일 예에 따른 SLAM 모듈(151)은 거리 센서(120)를 통해 로봇(100)과 공간 내에 포함된 오브젝트 간의 거리를 획득하고, 획득된 거리 데이터에 기초하여 공간의 맵 데이터를 생성할 수 있다. 또한, SLAM 모듈(151)은 기 설정된 주기가 도래하는 경우 또는 기 설정된 이벤트가 발생한 경우에 거리 센서(120)를 통해 거리 데이터를 새로이 획득하여 공간의 맵 데이터를 업데이트할 수도 있다.
Global Localizer 모듈(152)은 생성된 맵 데이터에 로봇(100)의 위치를 맵핑할 수 있다. 예를 들어, Global Localizer 모듈(152)은 SLAM 모듈(151)에 의해 생성된 맵 데이터 및 로봇(100)의 위치 정보에 기초하여 로봇(100)의 위치가 맵핑된 맵 데이터를 획득할 수 있다. 또한, Global Localizer 모듈(152)은 로봇(100)이 이동함에 따라 변화하는 로봇(100)의 위치에 기초하여 맵 데이터 상에 맵핑된 로봇(100)의 위치를 지속적으로 업데이트할 수도 있다.
Range & Direction Estimator 모듈(153)은 로봇(100)을 기준으로 외부 로봇(200)에 이르는 거리 및 방향에 관한 정보를 획득할 수 있다. 외부 로봇(200)의 거리 센서(210)가 외부 로봇(200)의 상이한 위치에 배치되어 상이한 타입의 에코 신호를 출력하는 복수의 센서를 포함하는 경우, 일 예에 따른 Range & Direction Estimator 모듈(153)은 거리 센서(120)를 통해 수신된 복수의 에코 신호에 대응되는 외부 로봇(200)의 센서 각각과 해당 신호를 수신한 거리 센서(120) 사이의 거리 및 방향을 개별적으로 산출할 수 있다.
Local Pose Estimator 모듈(154)은 Range & Direction Estimator 모듈(153)을 통해 획득한 거리 및 방향 정보에 기초하여 외부 로봇(200)의 포즈를 식별할 수 있다. 외부 로봇(200)이 복수의 센서를 포함하는 경우, 일 예에 따른 Local Pose Estimator 모듈(154)은 통신 인터페이스(110)를 통한 외부 로봇(200)과의 통신에 에러가 발생한 것으로 식별되면 Range & Direction Estimator 모듈(153)을 통해 획득한 복수의 센서 각각의 위치 및 방향에 기초하여 외부 로봇(200)의 포즈를 식별할 수 있다.
Global Pose Estimator 모듈(155)은 Local Pose Estimator 모듈(154)을 통해 식별한 외부 로봇(200)의 포즈 및 메모리(140)에 저장된 로봇(100)의 위치가 맵핑된 맵 데이터에 기초하여, 전체 맵 데이터에 외부 로봇(200)의 위치 및 지향하는 방향을 맵핑할 수 있다. 다시 말해, Local Pose Estimator 모듈(154)이 로봇(100) 및 로봇(100)으로부터 임계 범위 내에 위치한 외부 로봇(200)과의 위치 관계에 관한 정보를 획득한다면, Global Pose Estimator 모듈(155)은 Local Pose Estimator 모듈(154)을 통해 획득된 정보 및 공간에 포함된 장애물 정보 등에 기초하여 Global Localizer 모듈(152)을 통해 획득된 맵 데이터에 대해 로봇(100) 및 외부 로봇(200)의 위치와 로봇(100) 및 외부 로봇(200)이 지향하는 방향에 관한 정보를 맵핑한 최종 맵 데이터를 획득할 수 있다.
Motion Planner 모듈(156)은 외부 로봇(200)의 작업이 필요한 것으로 식별되면 외부 로봇(200)에 할당할 태스크 정보를 획득할 수 있다. 또한, Global Pose Estimator 모듈(155)을 통해 획득된 최종 맵 데이터 및 외부 로봇(200)에 할당할 태스크 정보에 기초하여 외부 로봇(200)이 이동할 경로와 관련된 이동 경로 정보를 획득할 수 있다. Motion Planner 모듈(156)은 획득된 이동 경로 정보에 기초하여 외부 로봇(200)을 구동하기 위한 제어 신호를 외부 로봇(200)으로 전송하기 위해 통신 인터페이스(110)를 제어할 수 있다.
예를 들어, Motion Planner 모듈(156)은 외부 로봇(200)이 수용되는 수납 공간에서 외부 로봇(200)을 출고하고, 출고된 외부 로봇(200)의 포즈를 지속적으로 모니터링하면서 외부 로봇(200)을 통한 서비스 제공을 가이드할 수 있다. 또한, Motion Planner 모듈(156)은 외부 로봇(200)의 작업이 완료된 것으로 식별되면 외부 로봇(200)의 포즈에 기초하여 외부 로봇(200)의 복귀 경로를 플래닝하고, 플래닝된 복귀 경로에 기초하여 외부 로봇(200)이 수납 공간에 수용되도록 하기 위한 제어 신호를 통신 인터페이스(110)를 통해 외부 로봇(200)으로 전송할 수 있다.
만일 통신 인터페이스(110)를 통한 외부 로봇(200)과의 통신에 에러가 발생한 것으로 식별되는 경우, Motion Planner 모듈(156)은 최종 맵 데이터에 기초하여 로봇(100)이 통신의 재개를 위해 이동해야 할 타겟 위치를 식별하고, 식별된 타겟 위치로 로봇(100)이 이동하도록 구동부(130)를 제어할 수 있다. 일 예에 따른 Motion Planner 모듈(156)은 통신 인터페이스(110)를 통해 외부 로봇(200)으로부터 수신된 포즈 정보를 고려하여 최종 맵 데이터를 보정하고, 보정된 최종 맵 데이터에 기초하여 타겟 위치를 식별할 수도 있다.
또한, Motion Planner 모듈(156)은 최종 맵 데이터에 기초하여 외부 로봇(200)의 위치에 대응되는 영역에 배치된 장애물 정보, 외부 로봇(200)의 포즈 및 외부 로봇(200)의 이동 경로에 기초하여 통신 인터페이스(110)를 통한 통신의 에러 발생 가능성을 계산하고, 에러 발생 가능성이 임계 값 이상인 것으로 식별되면 외부 로봇(200)의 포즈를 변경하기 위한 제어 신호를 외부 로봇(200)으로 전송하도록 통신 인터페이스(110)를 제어할 수 있다.
다른 예에 따르면, Motion Planner 모듈(156)은 통신 인터페이스(110)를 통한 통신의 에러 발생 가능성이 임계 값 이상인 것으로 식별되면 거리 센서(120)를 통해 획득된 장애물 정보 및 외부 로봇(200)의 위치 정보에 기초하여 인터페이스(110)의 높이를 조정함으로써 로봇(100)과 외부 로봇(200) 간의 통신 에러를 제거할 수 있다.
한편, 본 개시의 일 실시 예에 따른 외부 로봇(200)거리 센서(210), 통신 인터페이스(220), 프로세서(230) 및 구동부(240)를 포함할 수 있다. 거리 센서(210)는 외부 로봇(200) 상의 상이한 위치에 배치되어 상이한 타입의 에코 신호를 출력하는 복수의 센서를 포함할 수 있다. 통신 인터페이스(220)는 블루투스 통신을 포함하는 근거리 통신 방식에 따라 로봇(100)의 통신 인터페이스(110)와의 관계에서 다양한 타입의 데이터를 송수신할 수 있다.
프로세서(230)는 외부 로봇(200)의 각 구성과 연결되어 외부 로봇(200)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(230)는 로봇(100)으로부터 로봇(100)과 외부 로봇(200)과의 거리를 센싱하기 위한 센싱 신호가 수신되면 거리 센서(210)에 포함된 복수의 센서를 통해 상이한 타입을 갖는 복수의 에코 신호를 출력할 수 있다.
또한, 프로세서(230)는 통신 인터페이스(220)를 통해 외부 로봇(200)의 구동을 위한 제어 신호가 수신되면 수신된 제어 신호에 기초하여 외부 로봇(200)이 동작하도록 구동부(240)를 제어할 수 있다. 예를 들어, 프로세서(230)는 수신된 제어 신호에 기초하여 외부 로봇(200)의 포즈를 변경할 수 있으나 이에 한정되는 것은 아니다.
또한, 프로세서(230)는 외부 로봇(200)의 위치 및 외부 로봇(200)이 지향하는 방향에 관한 정보를 포함하는 포즈 정보를 획득하여 획득된 포즈 정보를 로봇(100)으로 전송하도록 통신 인터페이스(200)를 제어할 수 있다.
도 4a 및 도 4b는 본 개시의 일 실시 예에 따른 로봇이 외부 로봇의 포즈를 식별하는 동작을 설명하기 위한 도면이다.
도 4a에 따르면, 로봇(100)에 구비된 거리 센서(120)는 적외선 센서(121)를 포함하며, 외부 로봇(200)은 상이한 위치에 배치되어 상이한 타입의 에코 신호를 출력하는 복수의 센서(211-1 내지 211-4)를 포함할 수 있다. 여기서, 외부 로봇(200)에 위치한 복수의 센서(211-1 내지 211-4)의 배치 관계에 관한 정보는 메모리(140)에 기 저장되어 있을 수 있다.
프로세서(150)는 외부 로봇(200)과의 거리를 센싱하기 위한 센싱 신호를 출력하도록 적외선 센서(121)를 제어할 수 있다. 복수의 센서(211-1 내지 211-4)를 통해 적외선 센서(121)로부터 출력된 센싱 신호를 수신한 외부 로봇(200)은 복수의 센서(211-1 내지 211-4) 각각을 통해 상이한 타입을 갖는 복수의 에코 신호를 출력할 수 있다. 도 4a에 따르면, 복수의 센서(211-1 내지 211-4) 중 제1 내지 제3 센서(211-1 내지 211-3)만이 센싱 신호를 수신하므로, 외부 로봇(200)은 제1 내지 제3 타입에 각각 대응되는 세 종류의 에코 신호를 출력할 수 있다.
로봇(100)은 제1 내지 제3 타입에 대응되는 세 종류의 에코 신호를 적외선 센서(121)를 통해 수신하고, 복수의 에코 신호가 수신된 시간에 기초하여 수신된 복수의 에코 신호에 각각 대응되는 제1 내지 제3 센서(211-1 내지 211-3)의 위치를 식별할 수 있다.
구체적으로, 로봇(100)은 적외선 센서(121)와 제1 센서(211-1)와의 거리가 0.9m이고 그에 이르는 각도가 0도인 것으로(411), 적외선 센서(121)와 제2 센서(211-2)와의 거리가 1m이고 그에 이르는 각도가 -30도인 것으로(412), 적외선 센서(121)와 제3 센서(211-3)와의 거리가 0.94m이고 그에 이르는 각도가 +20도인 것으로(413) 각각 식별하고, 이에 기초하여 외부 로봇(200)의 포즈를 식별할 수 있다.
도 4a에서는 로봇(100)이 전면부에 위치한 단일한 적외선 센서(121)를 구비하는 것으로 도시하였으나 이에 한정되지 않으며, 로봇(100)은 측면부와 후면부에 적외선 센서(미도시)를 더 구비할 수 있다. 이 경우 로봇(100)은 복수의 적외선 센서(121 등)를 통해 획득된 복수의 데이터 세트에 기초하여 외부 로봇(200)의 포즈를 보다 정확하게 식별할 수 있다.
도 4b에 따르면, 로봇(100)에 구비된 거리 센서(120)는 한 쌍의 UWB(Ultra Wide Band) 센서(122-1, 122-2)를 포함하며, 외부 로봇(200)에 구비된 거리 센서(210)는 UWB 센서(212)를 포함할 수 있다. 이 경우, 로봇(100)에 구비된 한 쌍의 UWB 센서(122-1, 122-2)는 UWB Anchor로, 외부 로봇(200)에 구비된 UWB 센서(212)는 UWB Tag로 동작할 수 있으나 이에 한정되는 것은 아니다.
일 예에 따르면, UWB Tag로 동작하는 외부 로봇(200)에 구비된 센서(212)가 지속적으로 전파를 출력할 수 있다. 프로세서(150)는 외부 로봇(200)에 구비된 센서(212)로부터 지속적으로 출력되는 전파를 수신함에 기초하여 외부 로봇(200)과의 거리를 센싱하기 위한 센싱 신호를 출력하도록 한 쌍의 UWB 센서(122-1, 122-2)를 제어할 수 있다. UWB 센서(212)를 통해 한 쌍의 UWB 센서(122-1, 122-2)로부터 출력된 센싱 신호를 수신한 외부 로봇(200)은 UWB 센서(212)를 통해 에코 신호를 출력할 수 있다.
로봇(100)은 에코 신호를 한 쌍의 UWB 센서(122-1, 122-2)를 통해 수신하고, 에코 신호가 수신된 시간에 기초하여 한 쌍의 UWB 센서(122-1, 122-2) 각각에 대응되는 한 쌍의 거리 데이터 세트를 획득할 수 있다. 또한, 로봇(100)은 제1 UWB 센서(122-1)를 통해 획득한 거리 데이터(421)에 대응되는 가상의 원 및 제2 UWB 센서(122-2)를 통해 획득한 거리 데이터(422)에 대응되는 가상의 원이 교차하는 지점에 외부 로봇(200)이 구비한 UWB 센서(212)가 위치하는 것으로 식별하고, 식별된 UWB 센서(212)의 위치에 기초하여 외부 로봇(200)의 포즈를 식별할 수 있다.
도 4b에서는 로봇(100)이 한 쌍의 UWB 센서(122-1, 122-2)를 구비하고, 외부 로봇(200)이 단일한 UWB 센서(212)를 구비하는 것으로 도시하였으나 로봇(100)과 외부 로봇(200)은 추가적인 UWB 센서를 구비할 수 있음은 물론이며, 이를 통해 로봇(100)이 외부 로봇(200)의 포즈를 보다 정확하게 식별할 수도 있다.
또한, 일 예에 따른 외부 로봇(200)은 관성 측정 장비(250)를 더 포함할 수 있다. 관성 측정 장치(250)는 가속도계와 회전 속도계 및 자력계 등의 센서를 포함할 수 있으며, 외부 로봇(200)은 관성 측정 장치(250)를 통해 획득된 센싱 데이터에 기초하여 외부 로봇(200)의 주행 이력에 대응되는 외부 로봇(200)의 위치 변화 값 및 외부 로봇(200)의 회전 각도에 관한 정보를 획득할 수 있다.
또한, 프로세서(230)는 획득된 정보에 기초하여 외부 로봇(200)의 포즈 정보를 획득하고, 획득된 포즈 정보를 통신 인터페이스(220)를 통해 로봇(100)으로 전송할 수 있다. 로봇(100)은 외부 로봇(200)으로부터 수신된 포즈 정보에 기초하여 로봇(100)이 식별한 외부 로봇(200)의 포즈를 보정할 수 있다.
즉, 외부 로봇(200)이 관성 측정 장치(250)를 구비하는 경우 로봇(100)은 외부 로봇(200)의 포즈를 보다 정확하게 식별할 수 있게 되며, 이후 외부 로봇(200)과의 통신에 에러가 발생한 경우에 통신 에러를 제거하기 위해 로봇(100)이 이동해야 할 타겟 위치를 보다 정확하게 식별할 수 있게 된다.
도 5는 본 개시의 일 실시 예에 따른 로봇이 맵 데이터에 기초하여 외부 로봇을 제어하는 동작을 설명하기 위한 도면이다.
도 5에 따르면, 로봇(100)은 맵 데이터(500)에 대응되는 공간을 주행하며 청소 서비스를 제공할 수 있다. 여기서, 맵 데이터(500) 내에는 로봇(100)이 주행할 수 없는 영역(11)에 대한 정보 및 로봇(100) 및 외부 로봇(200) 모두 주행 불가능한 장애물 영역(12)에 대한 정보가 포함될 수 있다.
일 예에 따른 로봇(100)은 수납 공간에 적어도 하나의 외부 로봇(200)을 수용하고, 외부 로봇(200)의 청소 작업이 필요한 것으로 식별되면 외부 로봇(200)을 출고하고, 로봇(100)이 주행할 수 없는 영역(11) 내에서 외부 로봇(200)이 주행하며 서비스를 제공하도록 가이드할 수 있다.
예를 들어, 로봇(100)은 맵 데이터(500)상에서 외부 로봇(200)의 위치에 대응되는 영역에 배치된 장애물 정보, 식별된 외부 로봇(200)의 포즈 정보 및 외부 로봇(200)의 이동 경로에 기초하여 외부 로봇(200) 동작 상태를 제어할 수 있다. 구체적으로, 로봇(100)은 외부 로봇(200)을 통해 가구 아래의 바닥면을 청소하기 위한 이동 경로(510) 또는 가구와 벽면 사이의 좁은 공간을 청소하기 위한 이동 경로(520)를 획득하고, 획득된 이동 경로(510 또는 520)에 대응되는 태스크 정보 및 이동 경로 정보에 기초하여 외부 로봇(200)의 동작 상태를 제어할 수 있다.
로봇(100)이 가구 아래의 바닥면을 청소하기 위한 이동 경로(510)에 기초하여 외부 로봇(200)을 제어하는 경우, 로봇(100)은 식별된 이동 경로(510)와 인접한 장애물(511, 512, 513)에 관한 정보와 식별된 외부 로봇(200)의 포즈 및 이동 경로(510)에 기초하여 외부 로봇(200)을 제어할 수 있다. 이 경우 로봇(100)은 외부 로봇(200)의 포즈를 지속적으로 모니터링하며 외부 로봇(200)이 장애물(511, 512, 513)과 충돌하지 않도록 지정된 이동 경로(510)를 지속적으로 업데이트할 수 있다. 또한, 로봇(100)은 외부 로봇(200)이 업데이트된 이동 경로(510)에 따라 주행하도록 외부 로봇(200)의 포즈를 변경할 수 있다.
로봇(100)이 가구와 벽면 사이의 좁은 공간을 청소하기 위한 이동 경로(520)에 기초하여 외부 로봇(200)을 제어하는 경우, 로봇(100)은 식별된 이동 경로(520)와 인접한 장애물(521)에 관한 정보와 식별된 외부 로봇(200)의 포즈 및 이동 경로(520)에 기초하여 외부 로봇(200)을 제어할 수 있다. 이 경우 로봇(100)은 외부 로봇(200)이 장애물(521)의 표면과 임계 거리만큼 이격된 채로 청소 태스크를 수행할 수 있도록 지정된 이동 경로(520)를 지속적으로 업데이트할 수 있다.
또한, 로봇(100)은 맵 데이터(500)상에서 외부 로봇(200)의 위치에 대응되는 영역에 배치된 장애물 정보, 식별된 외부 로봇(200)의 포즈 정보 및 외부 로봇(200)의 이동 경로에 기초하여 로봇(100)과 외부 로봇(200) 간의 통신에 에러가 발생할 가능성을 계산할 수 있다. 로봇(100)은 계산된 에러 발생 가능성이 임계 값 이상인 것으로 식별되면 외부 로봇(200)의 포즈를 변경하기 위한 제어 신호를 외부 로봇(200)으로 전송할 수 있다.
이 경우 로봇(100)은 기준 시점의 외부 로봇(200)의 포즈를 식별하고, 식별된 포즈에 기초하여 외부 로봇이 기 지정된 이동 경로(510 또는 520)에 따라 주행하는 경우 외부 로봇(200)이 위치한 영역에 배치된 장애물(511, 512, 513 또는 521)과 충돌한 것으로 예측되면 외부 로봇(200)의 포즈를 변경하여 기 지정된 이동 경로(510 또는 520)가 아닌 수정된 이동 경로에 따라 주행하도록 제어할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 로봇이 외부 로봇을 수용하는 동작을 설명하기 위한 도면이다.
도 6에 따르면, 로봇(100)은 수납 공간(160)을 더 포함할 수 있으며, 로봇(100)에 구비된 거리 센서(120)는 적외선 센서(121), UWB 센서(122), 라이다 센서(123) 및 3D 카메라(124)를 포함할 수 있다. 로봇(100)은 외부 로봇(200)의 작업이 완료된 것으로 식별되면 외부 로봇(200)의 포즈에 기초하여 외부 로봇(200)이 수납 공간(160)으로 수용되기 위해 이동하는 복귀 경로(600)를 플래닝할 수 있다. 예를 들어, 프로세서(150)는 라이다 센서(123)를 통해 획득된 센싱 신호 및 적외선 센서(121) 또는 UWB 센서(122)를 통해 외부 로봇(200)으로부터 수신된 적어도 하나의 에코 신호에 기초하여 외부 로봇(200)의 포즈를 식별하고, 식별된 외부 로봇(200)의 포즈에 기초하여 복귀 경로(600)를 플래닝할 수 있다.
외부 로봇(200)이 복귀 경로(600)를 통해 이동하는 경우, 로봇(100)은 거리 센서(120)를 통해 획득되는 데이터에 기초하여 외부 로봇(200)의 포즈를 지속적으로 업데이트할 수 있다. 또한, 로봇(100)은 3D 카메라(124)를 통해 획득된 뎁스 이미지 및 업데이트된 외부 로봇(200)의 포즈에 기초하여 외부 로봇(200)의 복귀 경로(600)를 지속적으로 업데이트할 수 있다.
이에 따라, 로봇(100)은 외부 로봇(200)의 복귀 시나리오에 있어서, 외부 로봇(200)이 수납 공간(160)에 정확하게 수용되기 위한 최적의 경로(600)를 지속적으로 업데이트함으로써 외부 로봇(200)의 수용 과정에서 로봇(100) 또는 외부 로봇(200)이 손상되는 것을 방지할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 로봇의 에러 제거 동작을 설명하기 위한 도면이다.
도 7에 따르면, 외부 로봇(200)이 가구(10) 아래의 바닥면을 주행하며 청소 서비스를 제공하는 동안 로봇(100)과 외부 로봇(200) 간의 통신에 에러가 발생(700)할 수 있다. 이 경우 외부 로봇(200)은 통신에 에러가 발생(700)한 것으로 식별되면 더 이상 주행하지 않고 현 위치에서 정지할 수 있다(701).
프로세서(150)은 통신 인터페이스(110)를 통한 외부 로봇(200)과의 통신에 에러가 발생(700)한 것으로 식별되면 외부 로봇(200)의 포즈 및 가구(10) 아래의 바닥면을 포함하는 영역에 대응되는 맵 데이터에 기초하여 통신을 재개하기 위해 외부 로봇(200)의 위치까지의 가시 거리가 확보되는 타겟 위치(702)를 식별할 수 있다. 또한, 프로세서(150)는 로봇(100)이 식별된 타겟 위치까지 주행(703)하도록 구동부(130)를 제어할 수 있다.
도 8은 본 개시의 다른 실시 예에 따른 로봇의 에러 제거 동작을 설명하기 위한 도면이다.
도 8에 따르면, 외부 로봇(200)이 옆면 중 일부 영역이 개방된 가구(10)의 바닥면을 주행하며 청소 서비스를 제공하는 동안 로봇(100)과 외부 로봇(200) 간의 통신에 에러가 발생(800)할 수 있다. 이 경우 외부 로봇(200)은 통신에 에러가 발생(800)한 것으로 식별되면 더 이상 주행하지 않고 현 위치에서 정지할 수 있다(801).
프로세서(150)는 통신 인터페이스(110)를 통한 외부 로봇(200)과의 통신에 에러가 발생(800)한 것으로 식별되면 외부 로봇(200)의 포즈 및 가구(10) 아래의 바닥면을 포함하는 영역에 대응되는 맵 데이터에 포함된 장애물 정보에 기초하여 통신을 재개하기 위해 외부 로봇(200)의 위치까지의 가시 거리가 확보되는 타겟 높이 범위(802)를 식별할 수 있다.
예를 들어, 프로세서(150)는 장애물(10)이 위치한 Z축 정보를 획득하고, 통신 인터페이스(110)가 장애물(10)이 위치하지 않는 Z축 범위(802) 내에 위치하도록 하기 위해 구동부(130)를 제어하여 통신 인터페이스(110)의 높이를 조정(803)함으로써 로봇(100)과 외부 로봇(200) 간의 통신 에러를 제거할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 로봇 시스템을 통한 서비스 제공 과정을 설명하기 위한 시퀀스도이다.
본 개시의 일 실시 예에 따라 제1 로봇(910) 및 상기 제1 로봇(910)의 수납 공간에 수용되는 제2 로봇(920)을 포함하는 로봇 시스템은 제1 로봇(910) 및 제2 로봇(920)의 협업을 통해 서비스를 제공할 수 있다. 또한, 로봇 시스템은 제1 로봇(910) 및 제2 로봇(920) 사이의 통신에 에러가 발생한 경우 제1 로봇(910) 및 제2 로봇(920)의 능동적인 동작을 통하여 통신 에러를 제거할 수 있다.
먼저, 제1 로봇(910)은 태스크 수행을 위해 제2 로봇(920)의 작업이 필요한 것으로 식별할 수 있다(S911). 이 경우 제1 로봇(910)은 제2 로봇(920)이 수납 공간에서 출고하기 위한 제어 신호를 제2 로봇(920)으로 전송하고(S931), 제어 신호를 수신한 제2 로봇(920)은 제어 신호에 기초하여 수납 공간에서 출고될 수 있다(S921).
이어서, 제1 로봇(910)은 제2 로봇(920)의 태스크 수행에 필요한 태스크 정보를 획득하고(S912), 획득된 태스크 정보를 제2 로봇(920)으로 전송할 수 있다(S932). 이 경우 제1 로봇(910)은 태스크 수행에 필요한 이동 경로 정보를 태스크 정보와 함께 제2 로봇(920)으로 전송할 수도 있다.
제1 로봇(910)으로부터 태스크 정보(및 이동 경로 정보)를 수신한 제2 로봇(920)은 수신한 태스크 정보에 기초하여 태스크를 수행할 수 있다(S922). 제2 로봇(920)이 태스크를 수행하는 과정에서 제1 로봇(910)은 제2 로봇(920)의 포즈를 지속적으로 모니터링할 수 있다.
구체적으로, 제1 로봇(910)은 제2 로봇(920)과의 거리를 센싱하기 위한 센싱 신호를 출력하고(S933), 센싱 신호를 수신한 제2 로봇(920)은 센싱 신호에 대응되는 상이한 타입의 에코 신호를 출력할 수 있다(S934). 제1 로봇(910)은 수신된 에코 신호에 기초하여 제2 로봇의 포즈를 식별할 수 있다(S913).
제2 로봇(920)은 태스크를 수행하는 도중 제1 로봇(910)과의 통신에 에러가 발생한 것으로 식별할 수 있다(S923). 이 경우 제2 로봇(920)은 더 이상 주행하지 않고 현 위치에서 정지할 수 있다(S924).
한편, 제2 로봇(920)이 태스크를 수행하는 과정에서 제1 로봇(910)은 제2 로봇(920)과의 통신에 에러가 발생한 것으로 식별할 수 있다(S914). 이 경우 제1 로봇(910)은 제2 로봇(920)의 포즈 및 맵 데이터에 기초하여 제1 로봇(910)의 타겟 위치를 식별하고, 식별된 타겟 위치로 이동할 수 있다(S915).
제1 로봇(910)이 타겟 위치로 이동함에 따라 제1 로봇(910) 및 제2 로봇(920) 간의 통신이 재개되는 경우(S935) 제2 로봇(920)은 할당된 태스크 수행을 완료하였음을 지시하는 신호를 제1 로봇(910)으로 전송할 수 있다(S936). 제2 로봇(920)으로부터 태스크 수행 완료를 보고받은 제1 로봇(910)은 제2 로봇(920)이 수납 공간에 수용되도록 하기 위해 제2 로봇(920)의 복귀를 지시하는 제어 신호를 제2 로봇(920)으로 전송할 수 있다(S937).
제2 로봇(920)이 수신한 제어 신호에 기초하여 제1 로봇으로 복귀하면(S925) 제1 로봇(910)은 복귀한 제2 로봇(920)을 수납 공간에 수용하고(S916) 서비스 제공을 종료할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 로봇의 구성을 구체적으로 설명하기 위한 블록도이다.
도 10에 따르면, 로봇(100)은 통신 인터페이스(110), 적외선 센서(121), UWB 센서(122), 라이다 센서(123), 3D 카메라(124), 구동부(130), 메모리(140), 프로세서(150) 및 수납 공간(160)을 포함한다, 도 10에 도시된 구성 중 도 2에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
적외선 센서(121)는 적외선을 방출하는 송신부와 적외선을 센싱하는 수신부를 포함할 수 있다. 프로세서(150)는 송신부를 통해 적외선이 방출된 시점과 수신부를 통해 에코 적외선 신호가 수신된 시점 사이의 시간과 외부 로봇의 에코 신호 출력까지 소요되는 지연시간 및 광속에 기초하여 적외선 센서(121)와 외부 로봇에 구비된 센서 사이의 거리 데이터를 획득할 수 있다.
UWB 센서(122)는 초광대역 주파수를 갖는 전자기파를 사용한 레이더 센서의 일종이다. 일 예에 따르면, 프로세서(150)는 외부 로봇으로부터 지속적으로 출력되는 전파를 수신함에 기초하여 UWB Anchor로 기능하는 UWB 센서(122)를 통해 외부 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하고, 외부 로봇으로부터 센싱 신호에 대응되는 에코 신호를 UWB 센서(122)를 통해 수신하여, 센싱 신호의 출력 시점과 에코 신호의 수신 시점 사이의 시간과 외부 로봇의 에코 신호 출력까지 소요되는 지연시간 및 광속에 기초하여 UWB 센서(122)와 외부 로봇에 구비된 센서(UWB tag) 사이의 거리 데이터를 획득할 수 있다.
라이다 센서(light detection and ranging, 123)는 레이저를 이용한 센서의 일종이다. 라이다 센서(123)는 360도 회전이 가능한 기구적 구조를 포함할 수 있으며, 프로세서(150)는 라이다 센서(123)가 지속적으로 회전하면서 레이저를 출력하도록 제어할 수 있다. 프로세서(150)는 라이다 센서(123)를 통해 출력된 레이저 신호가 주변의 오브젝트에 반사되어 되돌아오는 신호를 센싱하여 라이다 센서(123)와 오브젝트 간의 거리 데이터를 획득할 수 있다.
3D 카메라(124)는 뎁스 이미지를 획득하는 구성이다. 3D 카메라(124)는 복수의 렌즈 및 복수의 이미지 센서를 포함하는 카메라 모듈의 형태로 구현될 수 있다. 일 예에 따르면, 3D 카메라(124)는 두 개의 렌즈와 두 개의 이미지 센서를 포함하는 스테레오 카메라(stereo camera)일 수 있으나 이에 한정되는 것은 아니다. 프로세서(150)는 외부 로봇의 포즈를 식별하는 과정에서 3D 카메라(124)를 통해 획득되는 뎁스 이미지까지 고려함으로써 보다 정확한 외부 로봇의 포즈를 식별할 수 있다.
수납 공간(160)은 외부 로봇을 수용하기 위한 구성이다. 수납 공간(160)은 외부 로봇의 크기보다 큰 부피를 가지는 공동 형태로 구현될 수도 있으나 이에 한정되지 않으며, 수납 공간(160)은 로봇(100)의 표면에 배치되며, 외부 로봇에 구비된 결합부와 결속되어 외부 로봇이 로봇(100)에 수용되도록 하는 체결 부재를 포함하는 형태로 구현될 수도 있다.
프로세서(150)는 외부 로봇을 수용한 상태에서 외부 로봇의 작업이 필요하다고 식별되어 외부 로봇을 출고하는 경우, 수납 공간(160)에 포함된 체결부가 외부 로봇에 구비된 결합부로부터 이탈되도록 구동부(130)를 제어하여 외부 로봇이 로봇(100)과 분리되도록 할 수 있다. 반대로, 외부 로봇이 로봇(100)에 수용되기 위해 복귀하는 과정에서는 프로세서(150)가 수납 공간(160)에 포함된 체결부가 외부 로봇에 구비된 결합부와 결합되도록 구동부(130)를 제어하여 외부 로봇이 로봇(100)과 수용되도록 할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따른 제어 방법은 외부 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하고, 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 외부 로봇의 위치 정보를 획득한다(S1110).
이어서, 획득된 위치 정보에 기초하여 로봇 또는 외부 로봇 중 적어도 하나를 구동한다(S1120).
이어서, 외부 로봇과의 통신에 에러가 발생된 것으로 식별되면 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 외부 로봇의 포즈를 식별한다(S1130).
이어서, 식별된 외부 로봇의 포즈 및 맵 데이터에 기초하여 로봇의 타겟 위치를 식별한다(S1140).
마지막으로, 식별된 타겟 위치로 로봇을 이동시킬 수 있다(S1150).
여기서, 외부 로봇의 포즈를 식별하는 단계(S1130)에서는 외부 로봇과 통신하는 동안 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 외부 로봇의 포즈를 식별할 수 있다. 또한, 제어 방법은 식별된 외부 로봇의 포즈 및 맵 데이터에 기초하여 외부 로봇의 포즈를 변경하는 단계를 더 포함할 수 있다.
또한, 식별된 외부 로봇의 포즈 및 맵 데이터에 기초하여 통신의 에러 발생이 예상되면 외부 로봇의 포즈를 변경하는 단계를 더 포함할 수 있다.
여기서, 외부 로봇의 포즈를 변경하는 단계에서는 맵 데이터 상에서 상기 외부 로봇의 위치에 대응되는 영역에 배치된 장애물 정보, 식별된 외부 로봇의 포즈 및 외부 로봇의 이동 경로에 기초하여 통신의 에러 발생 가능성을 판단할 수 있다.
한편, 외부 로봇의 포즈를 식별하는 단계(S1130)는 외부 로봇과의 통신에 에러가 발생된 것으로 식별되면 외부 로봇으로부터 수신된 복수의 에코 신호의 타입에 기초하여 외부 로봇에 배치된 복수의 센서 중 복수의 에코 신호를 출력한 복수의 센서 각각의 위치를 식별하는 단계 및 식별된 복수의 센서 각각의 위치에 기초하여 외부 로봇의 포즈를 식별하는 단계를 포함할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 기존 로봇에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 로봇의 타겟 위치를 식별하는 단계(S1140)에서는 외부 로봇으로부터 포즈 정보가 수신되면 수신된 포즈 정보, 식별된 외부 로봇의 포즈 및 맵 데이터에 기초하여 로봇의 타겟 위치를 식별할 수 있다.
또한, 외부 로봇의 위치 정보를 획득하는 단계(S1110)에서는 라이다(Lidar) 센서에 의해 획득된 센싱 신호 및 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 외부 로봇의 위치 정보를 획득할 수 있다.
또한, 라이다 센서에 의해 획득된 센싱 신호에 기초하여 장애물 정보를 획득하는 단계 및 획득된 장애물 정보 및 외부 로봇의 위치 정보에 기초하여 로봇에 구비된 통신 인터페이스의 위치를 변경하는 단계를 더 포함할 수 있다.
또한, 외부 로봇의 작업이 필요한 것으로 식별되면 외부 로봇이 수용되는 수납 공간에서 외부 로봇을 출고하는 단계, 외부 로봇의 작업이 완료된 것으로 식별되면 외부 로봇의 포즈에 기초하여 외부 로봇의 이동 경로를 플래닝하는 단계 및 플래닝된 이동 경로에 기초하여 외부 로봇을 수납 공간에 수용하는 단계를 더 포함할 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버 또는 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서(150) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 로봇(100)의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 로봇(100)에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해 되어져서는 안될 것이다.
100: 로봇 110: 통신 인터페이스
120: 거리 센서 130: 구동부
140: 메모리 150: 프로세서

Claims (20)

  1. 로봇에 있어서,
    통신 인터페이스;
    거리 센서;
    구동부;
    상기 로봇이 주행하는 공간에 대응되는 맵 데이터가 저장된 메모리;
    외부 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하도록 상기 거리 센서를 제어하고,
    상기 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 상기 외부 로봇의 위치 정보를 획득하고,
    상기 획득된 위치 정보에 기초하여 상기 구동부 또는 상기 외부 로봇의 동작 상태 중 적어도 하나를 제어하는 프로세서;를 포함하며,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 상기 외부 로봇의 동작 상태를 제어하기 위한 제어 신호를 전송하고,
    상기 통신 인터페이스를 통한 상기 외부 로봇과의 통신에 에러가 발생한 것으로 식별되면, 상기 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 상기 외부 로봇의 포즈(pose)를 식별하고,
    상기 식별된 외부 로봇의 포즈 및 상기 저장된 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별하고,
    상기 식별된 타겟 위치로 이동하도록 상기 구동부를 제어하는, 로봇.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 상기 외부 로봇과 통신하는 동안, 상기 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 상기 외부 로봇의 포즈를 식별하고,
    상기 식별된 외부 로봇의 포즈 및 상기 저장된 맵 데이터에 기초하여 상기 외부 로봇의 포즈를 변경하기 위한 제어 신호를 상기 통신 인터페이스를 통해 상기 외부 로봇으로 전송하는, 로봇.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 외부 로봇의 포즈 및 상기 저장된 맵 데이터에 기초하여 상기 통신 인터페이스를 통한 통신의 에러 발생이 예상되면, 상기 외부 로봇의 포즈를 변경하기 위한 제어 신호를 상기 통신 인터페이스를 통해 상기 외부 로봇으로 전송하는, 로봇.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 맵 데이터 상에서 상기 외부 로봇의 위치에 대응되는 영역에 배치된 장애물 정보, 상기 식별된 외부 로봇의 포즈 및 상기 외부 로봇의 이동 경로에 기초하여 상기 통신 인터페이스를 통한 통신의 에러 발생 가능성을 판단하는, 로봇.
  5. 제1항에 있어서,
    상기 외부 로봇은 상이한 위치에 배치되어 상이한 타입의 에코 신호를 출력하는 복수의 센서를 포함하며,
    상기 프로세서는,
    상기 통신 인터페이스를 통한 상기 외부 로봇과의 통신에 에러가 발생한 것으로 식별되면, 상기 외부 로봇으로부터 수신된 복수의 에코 신호의 타입에 기초하여 상기 외부 로봇에 배치된 복수의 센서 중 상기 복수의 에코 신호를 출력한 복수의 센서 각각의 위치를 식별하고,
    상기 식별된 복수의 센서 각각의 위치에 기초하여 상기 외부 로봇의 포즈를 식별하는, 로봇.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 상기 외부 로봇으로부터 포즈 정보가 수신되면, 상기 수신된 포즈 정보, 상기 식별된 외부 로봇의 포즈 및 상기 저장된 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별하는, 로봇.
  7. 제1항에 있어서,
    상기 거리 센서는,
    라이다(Lidar) 센서를 포함하며,
    상기 프로세서는,
    상기 라이다 센서에 의해 획득된 센싱 신호 및 상기 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 상기 외부 로봇의 위치 정보를 획득하는, 로봇.
  8. 제1항에 있어서,
    상기 거리 센서는,
    라이다 센서를 포함하며,
    상기 프로세서는,
    상기 라이다 센서에 의해 획득된 센싱 신호에 기초하여 장애물 정보를 획득하고,
    상기 획득된 장애물 정보 및 상기 외부 로봇의 위치 정보에 기초하여 상기 통신 인터페이스의 위치를 변경하는, 로봇.
  9. 제1항에 있어서,
    상기 외부 로봇이 수용되는 수납 공간;을 더 포함하며,
    상기 프로세서는,
    상기 외부 로봇의 작업이 필요한 것으로 식별되면, 상기 외부 로봇이 상기 수납 공간에서 출고되도록 제어하고,
    상기 외부 로봇의 작업이 완료된 것으로 식별되면, 상기 외부 로봇의 포즈에 기초하여 상기 외부 로봇의 이동 경로를 플래닝하고 상기 플래닝된 이동 경로에 기초하여 상기 외부 로봇이 상기 수납 공간에 수용되도록 상기 외부 로봇의 동작 상태를 제어하는, 로봇.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 통신 인터페이스는,
    블루투스 통신을 포함하는 근거리 통신 방식에 따라 통신하며,
    상기 거리 센서는,
    적외선 센서 또는 UWB 센서 중 적어도 하나를 포함하는, 로봇.
  11. 제1 로봇 및 상기 제1 로봇의 수납 공간에 수용되는 제2 로봇을 포함하는 로봇 시스템에 있어서,
    상기 제2 로봇의 작업이 필요한 것으로 식별되면 통신 인터페이스를 통해 상기 제2 로봇이 상기 수납 공간에서 출고하기 위한 제어 신호를 상기 제2 로봇으로 전송하고,
    상기 제2 로봇의 작업이 완료된 것으로 식별되면, 상기 통신 인터페이스를 통해 상기 외부 로봇을 상기 수납 공간에 수용하기 위한 제어 신호를 상기 제2 로봇으로 전송하는 제1 로봇; 및
    상이한 위치에 배치되어 상이한 타입의 에코 신호를 출력하는 복수의 센서를 포함하는 제2 로봇;을 포함하며,
    상기 제1 로봇은,
    상기 제2 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하고,
    상기 통신 인터페이스를 통한 상기 제2 로봇과의 통신에 에러가 발생된 것으로 식별되면, 상기 제2 로봇으로부터 수신된 복수의 에코 신호의 타입에 기초하여 상기 제2 로봇에 배치된 복수의 센서 중 상기 복수의 에코 신호를 출력한 복수의 센서 각각의 위치를 식별하고,
    상기 식별된 복수의 센서 각각의 위치에 기초하여 상기 제2 로봇의 포즈(pose)를 식별하고,
    상기 식별된 제2 로봇의 포즈에 기초하여 및 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별하고, 상기 식별된 타겟 위치로 이동하는, 로봇 시스템.
  12. 로봇의 제어 방법에 있어서,
    외부 로봇과의 거리를 센싱하기 위한 센싱 신호를 출력하고, 상기 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 상기 외부 로봇의 위치 정보를 획득하는 단계;
    상기 획득된 위치 정보에 기초하여 상기 로봇 또는 상기 외부 로봇 중 적어도 하나를 구동하는 단계;
    상기 외부 로봇과의 통신에 에러가 발생된 것으로 식별되면, 상기 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 상기 외부 로봇의 포즈(pose)를 식별하는 단계;
    상기 식별된 외부 로봇의 포즈 및 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별하는 단계; 및
    상기 식별된 타겟 위치로 상기 로봇을 이동시키는 단계;를 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 외부 로봇의 포즈를 식별하는 단계는,
    상기 외부 로봇과 통신하는 동안, 상기 외부 로봇으로부터 수신된 적어도 하나의 에코 신호의 타입에 기초하여 상기 외부 로봇의 포즈를 식별하고,
    상기 제어 방법은,
    상기 식별된 외부 로봇의 포즈 및 상기 맵 데이터에 기초하여 상기 외부 로봇의 포즈를 변경하는 단계;를 더 포함하는, 제어 방법.
  14. 제12항에 있어서,
    상기 식별된 외부 로봇의 포즈 및 상기 맵 데이터에 기초하여 상기 통신의 에러 발생이 예상되면, 상기 외부 로봇의 포즈를 변경하는 단계;를 더 포함하는, 제어 방법.
  15. 제14항에 있어서,
    상기 외부 로봇의 포즈를 변경하는 단계는,
    상기 맵 데이터 상에서 상기 외부 로봇의 위치에 대응되는 영역에 배치된 장애물 정보, 상기 식별된 외부 로봇의 포즈 및 상기 외부 로봇의 이동 경로에 기초하여 상기 통신의 에러 발생 가능성을 판단하는, 제어 방법.
  16. 제12항에 있어서,
    상기 외부 로봇의 포즈를 식별하는 단계는,
    상기 외부 로봇과의 통신에 에러가 발생된 것으로 식별되면, 상기 외부 로봇으로부터 수신된 복수의 에코 신호의 타입에 기초하여 상기 외부 로봇에 배치된 복수의 센서 중 상기 복수의 에코 신호를 출력한 복수의 센서 각각의 위치를 식별하는 단계; 및
    상기 식별된 복수의 센서 각각의 위치에 기초하여 상기 외부 로봇의 포즈를 식별하는 단계;를 포함하는, 제어 방법.
  17. 제12항에 있어서,
    상기 로봇의 타겟 위치를 식별하는 단계는,
    상기 외부 로봇으로부터 포즈 정보가 수신되면, 상기 수신된 포즈 정보, 상기 식별된 외부 로봇의 포즈 및 상기 맵 데이터에 기초하여 상기 로봇의 타겟 위치를 식별하는, 제어 방법.
  18. 제12항에 있어서,
    상기 외부 로봇의 위치 정보를 획득하는 단계는,
    라이다(Lidar) 센서에 의해 획득된 센싱 신호 및 상기 외부 로봇으로부터 적어도 하나의 에코 신호가 수신된 시간에 기초하여 상기 외부 로봇의 위치 정보를 획득하는, 제어 방법.
  19. 제12항에 있어서,
    라이다 센서에 의해 획득된 센싱 신호에 기초하여 장애물 정보를 획득하는 단계; 및
    상기 획득된 장애물 정보 및 상기 외부 로봇의 위치 정보에 기초하여 상기 로봇에 구비된 통신 인터페이스의 위치를 변경하는 단계;를 더 포함하는, 제어 방법.
  20. 제12항에 있어서,
    상기 외부 로봇의 작업이 필요한 것으로 식별되면, 상기 외부 로봇이 수용되는 수납 공간에서 상기 외부 로봇을 출고하는 단계;
    상기 외부 로봇의 작업이 완료된 것으로 식별되면, 상기 외부 로봇의 포즈에 기초하여 상기 외부 로봇의 이동 경로를 플래닝하는 단계; 및
    상기 플래닝된 이동 경로에 기초하여 상기 외부 로봇을 상기 수납 공간에 수용하는 단계;를 더 포함하는, 제어 방법.
KR1020210136679A 2021-10-14 2021-10-14 로봇, 로봇 시스템 및 그 제어 방법 KR20230053314A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210136679A KR20230053314A (ko) 2021-10-14 2021-10-14 로봇, 로봇 시스템 및 그 제어 방법
PCT/KR2022/012758 WO2023063565A1 (ko) 2021-10-14 2022-08-25 로봇, 로봇 시스템 및 그 제어 방법
EP22881195.6A EP4353422A1 (en) 2021-10-14 2022-08-25 Robot, robot system and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210136679A KR20230053314A (ko) 2021-10-14 2021-10-14 로봇, 로봇 시스템 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20230053314A true KR20230053314A (ko) 2023-04-21

Family

ID=85987873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210136679A KR20230053314A (ko) 2021-10-14 2021-10-14 로봇, 로봇 시스템 및 그 제어 방법

Country Status (3)

Country Link
EP (1) EP4353422A1 (ko)
KR (1) KR20230053314A (ko)
WO (1) WO2023063565A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374155B1 (en) * 1999-11-24 2002-04-16 Personal Robotics, Inc. Autonomous multi-platform robot system
JP3986310B2 (ja) * 2001-12-19 2007-10-03 シャープ株式会社 親子型電気掃除機
KR101450843B1 (ko) * 2013-05-20 2014-10-15 한국생산기술연구원 군집 로봇 시스템 및 그 제어 방법
JP6464453B2 (ja) * 2015-03-24 2019-02-06 株式会社Ihiエアロスペース 通信回復装置と方法
US10866102B2 (en) * 2016-12-23 2020-12-15 X Development Llc Localization of robotic vehicles

Also Published As

Publication number Publication date
EP4353422A1 (en) 2024-04-17
WO2023063565A1 (ko) 2023-04-20

Similar Documents

Publication Publication Date Title
CN109164809B (zh) 一种车辆编队自主跟随控制系统及方法
US10739784B2 (en) Radar aided visual inertial odometry initialization
US10866587B2 (en) System, method, and computer program for mobile body management
EP3283843B1 (en) Generating 3-dimensional maps of a scene using passive and active measurements
US20170328992A1 (en) Distance sensor, and calibration method performed by device and system including the distance sensor
JP6973393B2 (ja) 移動体誘導システム、移動体、誘導装置およびコンピュータプログラム
US20140247116A1 (en) Robotic inventory systems
US10371567B2 (en) Intelligent noise monitoring device and noise monitoring method using the same
US20220357174A1 (en) Stand-alone self-driving material-transport vehicle
EP3913328A1 (en) Vehicle positioning apparatus, system and method, and vehicle
US10514456B2 (en) Radar aided visual inertial odometry outlier removal
WO2021227305A1 (en) On-board systems for trains and methods of determining safe speeds and locations of trains
KR20230137395A (ko) 3차원 지도 구축 방법 및 장치
WO2020207164A1 (zh) 机器人导航方法、装置、系统、电子设备及存储介质
US20190113934A1 (en) Method and system for guiding an autonomous vehicle
WO2018094863A1 (zh) 一种定位方法、装置和计算机存储介质
JP7160257B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JPWO2019054206A1 (ja) 移動体誘導システム
US11561553B1 (en) System and method of providing a multi-modal localization for an object
KR20230053314A (ko) 로봇, 로봇 시스템 및 그 제어 방법
KR101273125B1 (ko) 실시간 위치 추적 장치 및 그의 위치 추적 방법
EP2836853B1 (en) Apparatus and method for determining reference elements of an environment
JPWO2018180175A1 (ja) 移動体、信号処理装置およびコンピュータプログラム
US11243546B2 (en) Moving body management system, moving body, traveling management device, and computer program
US11945439B2 (en) AD or ADAS aided maneuvering of a vehicle