KR20190024468A - 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇 - Google Patents

공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇 Download PDF

Info

Publication number
KR20190024468A
KR20190024468A KR1020170111479A KR20170111479A KR20190024468A KR 20190024468 A KR20190024468 A KR 20190024468A KR 1020170111479 A KR1020170111479 A KR 1020170111479A KR 20170111479 A KR20170111479 A KR 20170111479A KR 20190024468 A KR20190024468 A KR 20190024468A
Authority
KR
South Korea
Prior art keywords
robot
robots
partitioning
communication
map
Prior art date
Application number
KR1020170111479A
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 KR1020170111479A priority Critical patent/KR20190024468A/ko
Priority to PCT/KR2018/008784 priority patent/WO2019045294A1/ko
Publication of KR20190024468A publication Critical patent/KR20190024468A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

본 발명은 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇에 관한 것으로, 본 발명의 일 실시예에 의하면 제1로봇의 제어부가 공간에서 작업할 다수의 로봇들의 파티셔닝 영역을 포함하는 초기 파티셔닝 맵을 제1로봇의 맵 저장부에 저장 및 이동한 후 제1로봇의 통신부가 제1로봇과 통신할 제2로봇과 통신링크를 생성하되 제2로봇의 장애 상황이 발생하면, 통신부는 제2로봇과 통신링크를 생성하였던 제3로봇과 통신링크를 생성하여 재파티셔닝 맵을 생성하는 단계를 포함한다.

Description

공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇{METHOD OF COMMUNICATION BETWEEN SPACE PARTITIONING-WORKING MULTI-ROBOT AND ROBOT IMPLEMENTING THEREOF}
본 발명은 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장, 체육관, 공연장과 같은 문화시설 등 인적, 물적 교류가 활발하게 발생하는 공간에서는 하나의 로봇이 전체 공간을 커버하여 동작할 수 없다. 따라서, 다수의 로봇들이 공간에 배치되어 동작하는 것이 필요하다.
그런데, 다수의 로봇들이 동작하기 위해서는 공간을 효과적으로 분할하여 작업하는 것이 필요한데, 로봇이 동작하는 공간은 다양한 변수가 발생할 가능성이 높다. 특히, 대면적의 유동 인구가 많은 공간에서는 이동 장애물이 다수 배치될 수 있으며, 또한 로봇이 동작 과정에서 고장이 날 수도 있다. 또한, 로봇들 간의 통신이 원활하지 못할 수 있는데, 이는 대면적의 공간에서 로봇의 통신에 일시적인 장애가 발생할 수 있기 때문이다.
따라서, 본 명세서에서는 대면적의 공간에서 로봇들이 협업하여 공간에서 특정 로봇에 장애가 발생한 경우 작업을 수행하는 방안에 대해 살펴본다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 다수의 로봇이 공간을 분할하여 작업하되 일부 로봇에 장애가 발생할 경우, 실시간 혹은 특정한 주기를 가지고 로봇들 간의 통신 링크를 변화시켜 새로이 공간을 분할하여 작업하는 방법 및 로봇을 제안한다.
또한, 본 명세서에서는 로봇들이 분산 통신의 링 구조로 통신 링크를 유지하여 장애가 발생한 경우 보다 신속하게 대응하는 방법 및 로봇을 제안한다.
또한. 본 명세서에서는 로봇들 간의 통신을 보장하기 위해 일부 로봇들 간의 통신망을 연결하는 방법 및 로봇을 제안한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 공간을 분할-작업하는 다중 로봇들 간의 통신 방법은 제1로봇의 제어부가 공간에서 작업할 다수의 로봇들의 파티셔닝 영역을 포함하는 초기 파티셔닝 맵을 제1로봇의 맵 저장부에 저장하는 단계, 제1로봇의 이동부가 제1로봇에게 할당된 파티셔닝 영역으로 로봇을 이동시키는 단계, 제1로봇의 통신부는 제1로봇과 통신할 제2로봇과 통신링크를 생성하는 단계, 통신부가 제2로봇의 장애 환경 정보를 수신하거나 제2로봇의 통신링크가 단절된 경우 통신부는 제2로봇과 통신링크를 생성하였던 제3로봇과 통신링크를 생성하는 단계, 및 제어부는 제3로봇과 제2로봇의 제2파티셔닝 영역 및 제1로봇의 제1파티셔닝 영역 및 제3로봇의 제3파티셔닝 영역을 포함하는 영역을 제1로봇의 제1재파티셔닝 영역 및 제3로봇의 제3재파티셔닝 영역으로 재파티셔닝하는 재파티셔닝 맵을 생성하는 단계를 포함하는 포함한다.
본 발명의 다른 실시예에 의한 공간을 분할-작업하는 다중 로봇들 간의 통신 방법을 구현하는 로봇은 외부에 배치된 객체를 센싱하는 센싱부, 로봇이 이동하는 공간의 고정 객체의 위치를 저장하는 맵 저장부, 로봇을 이동시키는 이동부, 파티셔닝 정보 및 환경 정보를 하나 이상의 다른 로봇과 송수신하는 통신부, 로봇이 작업을 수행하는 작업부, 및 센싱부와 맵 저장부와 이동부와 통신부와 작업부를 제어하며, 제어부는 로봇에 인접한 제2로봇과 통신 링크를 설정하도록 통신부를 제어하며, 통신부가 제2로봇의 장애 환경 정보를 수신하거나 제2로봇의 통신링크가 단절된 경우 통신부는 제2로봇과 통신링크를 생성하였던 제3로봇과 통신링크를 생성한 후, 제어부는 제3로봇과 재파티셔닝을 수행한다.
본 발명의 실시예들을 적용할 경우, 다중로봇이 주어진 대면적 환경에서 환경의 형태 및 동적/정적 장애물 정보를 모두 고려한 실시간 파티셔닝을 통해 협업하는 과정에서 특정 로봇에 장애가 발생한 경우 이에 대해 효율적으로 대처할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 대면적 공간에서 다중로봇들이 분산형 통신 시스템을 이용하거나 허브형 통신 시스템을 이용하여 모든 로봇의 연결성이 확보되지 않는 상태에서도 동작하며, 이 과정에서 장애가 발생할 경우 장애가 발생한 로봇에 인접한 다른 로봇들과 실시간 파티셔닝을 수행하여 각 로봇이 작업할 커버리지를 최적화 시킬 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 분산 통신 방식으로 로봇이 동작하는 과정을 보여주는 도면이다.
도 2는 본 발명의 다른 실시예에 의한 허브 통신 방식으로 로봇이 동작하는 과정을 보여주는 도면이다.
도 3 및 도 4는 본 발명의 일 실시예에 의한 고정맵의 구성을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 파티셔닝 맵의 구성을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 로봇들이 각각의 파티셔닝 영역으로 이동한 상태에서의 분산 통신 방식의 통신 링크를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 의한 새로운 링크가 생성된 도면이다.
도 8은 본 발명의 일 실시예에 의한 R3 로봇을 제외하고 재파티셔닝한 맵을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 로봇이 초기 파티셔닝 맵에 따라 작업을 수행한 후 재파티셔닝을 수행하는 과정을 보여주는 도면이다.
도 11 및 도 12는 본 발명의 일 실시예에 의한 환경 정보에 기반하여 재파티셔닝하는 과정을 보여주는 도면이다.
도 13 내지 도 16은 본 발명의 일 실시예에 의한 허브 통신에 기반한 시스템에서 고장 발생 후 협업 기반 분산 통신 시스템으로 변환하는 과정을 보여주는 도면이다.
도 17은 본 발명의 일 실시예에 의한 허브 로봇에 장애가 발생한 경우 분산 통신 시스템으로 전환하는 순서도이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하 본 명세서에서는 인접한 로봇들 사이에서 협업하여 정보를 교환하고 작업할 공간을 파티셔닝(partitioning)하고 작업을 수행하며, 이 과정에서 발생한 변화 요소를 반영하여 재파티셔닝(Re-Partitioning)을 수행하는 과정 및 이를 구현하는 로봇에 대해 살펴본다.
또한, 로봇은 공간에 대한 정보를 저장할 수 있다. 공간에 대한 정보를 저장하기 위해 공간을 소정의 단위가 되는 셀로 나눌 수 있으며, 각 셀은 정보를 저장할 수 있다. 일 실시예로, 고정된 장애물이 배치된 고정맵(Fixed Map), 고정맵에 추가하여 각 로봇이 작업하도록 파티셔닝된 파티셔닝 맵(Partitioning Map), 파티셔닝 맵에서 로봇이 작업을 수행한 영역을 표시하는 커버드 맵(Covered Map) 등이 존재한다. 커버드 맵은 파티셔닝 맵의 특정 셀을 표시하는 방식으로 구현할 수 있다.
로봇은 전체 공간에 대한 고정맵을 저장하며, 전체 공간 중 해당 로봇에게 할당된 공간과 할당한 공간에 인접한 다른 로봇의 공간 등의 정보를 포함하는 임시맵(Temporary Map)을 저장할 수 있다. 로봇이 다른 로봇과 통신할 수 있는 능력에 따라 임시맵이 전체 공간을 모두 포괄할 수 있다. 또한, 로봇의 통신 능력에 따라 임시맵이 일부 공간만을 포괄할 수 있다.
한편, 본 명세서에서 로봇들의 통신 방식은 두 가지 방식으로 이루어진다. 로봇들이 통신에 있어서 수평적인 관계를 가지는 분산 통신 방식과 로봇들 중에서 하나의 로봇이 통신의 중심에 있는 허브 통신 방식으로 나뉘어진다. 분산 통신 방식의 실시예로 로봇들의 통신망은 링(Ring) 형태로 구성될 수 있다. 허브 통신 방식의 일 실시예로 로봇들의 통신망은 스타(Star) 형태로 구성될 수 있다.
또한, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등 고정 객체에 대한 정보를 의미한다. 또한, 주기적으로 배치되는 동적인 객체들에 대한 정보도 맵 상에 저장될 수 있다. 일 실시예로 로봇의 진행 방향을 기준으로 일정한 범위 내에 배치된 장애물들에 대한 정보도 맵 상에 저장될 수 있다.
전술한 본 발명의 실시예가 가지는 기술적 특징들에 기반하여 다음과 같이 로봇의 구성 및 동작 과정에 대해 살펴본다.
먼저, 대면적의 로봇들은 초기 파티셔닝 또는 실시간/시간 주기에 따른 재파티셔닝을 수행할 수 있다. 이들 파티셔닝 방식은 특정한 로봇이 파티셔닝 정보에 기반하여 초기 파티셔닝을 수행한 후, 특정 로봇에게 문제가 발생한 경우, 해당 로봇을 제외하고 재파티셔닝 할 수 있다.
먼저 로봇들 사이에서 초기 파티셔닝 및 재파티셔닝 과정을 살펴본다. 이는 통신 방식에 따라 다양하게 구성될 수 있다.
도 1은 본 발명의 일 실시예에 의한 분산 통신 방식으로 로봇이 동작하는 과정을 보여주는 도면이다. 분산 통신 방식인 경우 로봇은 주어진 정보를 기준으로 각각 다음 정보를 산출할 수 있다. 본 발명의 일 실시예에서 로봇들은 주어진 정보가 동일할 경우 동일한 결과를 산출하도록 프로세싱할 수 있다.
각 로봇들은 주어진 형태의 환경, 즉 공간의 환경을 고려하여 N-개로 공간을 파티셔닝한다(S1). 각 로봇에게 초기에 주어진 환경 정보(공간의 정보)가 동일할 경우 각 로봇이 산출하는 N 개의 공간의 파티셔닝 결과는 동일할 수 있다. 반면, 각 로봇이 초기에 주어진 환경 정보(공간의 정보) 외에 각각의 로봇이 센싱하거나 취득한 개별 정보가 있을 경우, 각 로봇이 산출하는 N 개의 공간의 파티셔닝 결과는 상이할 수 있다.
각각의 로봇들은 파티셔닝된 영역(파티션)으로 이동한다(S2). 이동 후 로봇들은 근접하여 이웃하는 파티션의 로봇과 통신 연결성을 확인한다(S3). 통신 연결이 확인되면 각 파티션에서 로봇들은 각각의 작업을 수행한다(S4). 로봇이 수행하는 작업은 로봇이 수행하는 기능에 따라 상이할 수 있다. 청소 로봇인 경우 청소 작업을 수행할 수 있으며, 보안 로봇인 경우 위험물을 탐지하는 작업을 수행할 수 있다. 안내 로봇인 경우 파티션 내에서 사람들의 이동에 대응하여 안내 작업을 수행할 수 있다. 디스플레이 로봇인 경우, 파티션 내에서 일정한 정보를 지속하여 출력할 수 있다.
로봇은 일정한 주기로 파티션에서 작업의 수행이 완료되었는지를 확인한다(S5). 일정한 주기란 시간적 주기를 의미한다. 시간적 주기가 무한대인 경우 로봇은 작업을 완료할 때까지 S1에서 결정된 파티션 내에서 작업을 수행한다. 시간적 주기가 10분인 경우, 로봇은 10분동안 작업을 수행한 후, 작업이 완료되지 않은 경우 S6 단계로 진행한다. 시간적 주기 내에 작업이 완료되면 전체 영역의 커버 완료를 확인하고(S9) 종료한다.
S6 단계로 진행하면 분산 통신 상태에서 통신 연결에서 장애가 발생하거나 혹은 고장 등으로 인해 동작이 불가능한 경우 등 장애가 발생한 로봇이 있는지를 확인한다(S6). 이는 분산 통신 상태인 경우, 장애가 발생한 로봇과 근접하여 배치되어 장애 로봇과 통신을 수행했던 로봇들이 장애 로봇의 장애 발생사실을 확인할 수 있다.
따라서, 장애가 발생한 경우, 장애가 발생한 로봇을 제외한다. 그리고 장애가 발생한 로봇의 근접 로봇(이웃 로봇)은 다른 로봇들과 통신 연결을 재설정하여 전체 영역의 커버리지를 최대화하는 파티셔닝을 수행한다(S7). 그리고 S2 단계를 진행한다.
반면, 장애 로봇이 발생하지 않은 경우, 각각의 로봇들은 최소 한대 이상 근접한 로봇과 연결성을 보장하면서 전체 영역의 커버리지를 최대화하는 파티셔닝을 수행한다(S8). 이는 재파티셔닝을 의미하며, 지금까지 로봇이 작업한 영역과 새로운 장애물로 인한 작업 불가 영역, 혹은 특정 로봇의 고장 등 변화한 환경을 반영하여 공간을 새롭게 파티셔닝하는 실시예를 포함한다.
재파티셔닝(S7 또는 S8) 이후 로봇은 다시 새로운 파티셔닝된 영역으로 이동하여 S2 내지 S5 단계를 수행한다.
재파티셔닝(S6) 이후 로봇은 다시 새로운 파티셔닝된 영역으로 이동하여 S2 내지 S5 단계를 수행한다.
재파티셔닝(S7 또는 S8) 단계에서 기존의 통신 연결을 재설정할 수 있다. 예를 들어, 4개의 로봇(R1, R2, R3, R4)인 R1-R2-R3-R4들이 배치된 상태에서 초기 파티셔닝 과정에서는 R1-R2-R3-R4-R1과 같은 링 형태로 통신연결이 된 경우에서 재파티셔닝하는 과정에서 통신 효율을 재점검하여 통신 연결을 변경할 수 있다.
즉, R1-R2-R3-R4-R1의 연결 대신, R1-R2-R4-R3-R1과 같은 방식으로 통신이 새로이 설정되어 연결될 수도 있다.
도 2는 본 발명의 다른 실시예에 의한 허브 통신 방식으로 로봇이 동작하는 과정을 보여주는 도면이다. 도 1은 각각의 로봇들이 각자 파티셔닝을 수행하며 다른 로봇과 정보를 교환하는 방식이다. 이와 달리 도 2는 허브 로봇이 각각의 로봇들로부터 정보를 수집하여 파티셔닝을 수행한 후 다른 로봇에게 정보를 제공하는 방식이다. 여기서 모든 로봇들이 허브 로봇에게 정보를 직접 제공할 수도 있으며, 혹은 허브 로봇에 근접한 로봇들은 허브 로봇에게 정보를 직접 제공하고, 허브 로봇과 멀리 있는 로봇들은 허브 로봇에 근접한 로봇을 이용하여 정보를 간접 제공할 수 있다.
이하, 허브 로봇에 근접하여 허브 로봇과 직접 통신이 가능한 로봇을 T1(Tier 1) 로봇이라고 한다. 한편, T1 로봇에 근접하여 T1 로봇과 직접 통신이 가능하지만 허브 로봇과는 통신이 불가능한 로봇을 T2(Tier 2) 로봇이라고 한다. 마찬가지로 Tk 로봇은 T(k-1) 로봇과 직접 통신이 가능하지만 허브 로봇과는 통신이 불가능한 로봇을 지시한다. k의 수가 작을수록 로봇들이 보다 통신 환경이 좋은 상태에 있음을 의미한다. k의 숫자가 커질 경우, 허브 로봇이 다른 로봇들과 통신이 원활하지 않으므로, 허브 역할을 새로운 로봇이 수행하도록 조정될 수 있다.
앞서 로봇들을 R1, R2 등으로 지시할 경우, 특정한 로봇들이 T1 로봇이 될 수 있다. 예를 들어 R1 로봇이 허브이며 R2, R3 로봇이 T1 로봇이며, R4, R5 로봇이 T2 로봇이 될 수 있다.
허브 로봇(10)은 주어진 형태의 환경을 고려하여 로봇의 수 N에 따라 N개로 파티셔닝한다(S21). 허브 로봇(10)은 하나 이상의 T1 로봇(11)에게 파티셔닝 정보를 전송한다(S22). 파티셔닝 정보를 수신한 T1 로봇(11)은 T2 로봇(12)에게 파티셔닝 정보를 전송한다(S23). 이러한 과정은 T1 내지 Tk 로봇들에게 전달되어 전체 로봇들은 파티셔닝 정보를 확인하고 저장할 수 있다.
이후 허브 로봇(10) 및 다른 로봇들(11, 12)은 각각 파티셔닝된 영역으로 이동하여 작업을 수행한다(S25, S26, S27). 작업 수행 과정에서 각각의 로봇들(10, 11, 12)은 파티셔닝된 영역 내에서 작업을 수행한 공간에 대한 정보, 즉 작업 완료 정보를 생성하며, 또한 새로운 장애물과 같은 변화된 환경 정보를 생성한다. 그리고 생성된 정보는 S31(T1 로봇의 작업 완료 정보 및 변화된 환경 정보 전송), S32(T2 로봇이 T1 로봇에게 작업 완료 상황 및 변화된 환경 정보 전송), S33(T1 로봇이 T2 로봇의 작업 완료 정보 및 변화된 환경 정보 전송)의 단계에 따라 허브 로봇(10)에게 전송된다.
한편, 이 과정에서 T2 로봇(12)에 장애가 발생한다(S35). 장애가 발생하여 T2 로봇(12)과 T1 로봇(11) 사이에 통신 연결이 끊어지면, T1로봇(11)은 T2로봇(12)의 장애를 확인하고(S36). 허브 로봇(10)에게 T2 로봇의 장애 상태를 전송한다(S37).
허브 로봇(10)은 작업이 완료되지 않은 경우, 수신된 정보, 특히 T2 로봇의 장애 상황을 반영하여 재파티셔닝을 수행한다(S41). 재파티셔닝된 정보를 T1 로봇(11)에게 전송한다(S42).
이후 장애가 발생하지 않은 로봇들은 각각 각각 파티셔닝된 영역으로 이동하여 작업을 수행한다(S45, S46). 작업의 수행이 완료되기 까지는 S31 내지 S46 단계를 진행할 수 있다.
만약, T2 로봇(12)의 장애가 복구되거나 T1 로봇(11)과의 통신 연결이 가능해질 경우, S35 내지 S37 에서 살펴본 바와 같이, T1 로봇(11)은 T2 로봇(12)의 장애 복구 상태를 전송하고, 마차가지로 허브 로봇(10)은 T2 로봇 장애 복구 상황을 반영하여 재파티셔닝하는 일련의 과정(S41~S46)을 수행할 수 있다.
도 2에서 초가 파티셔닝 맵을 하나의 로봇이 생성하여, 다른 로봇으로 전송할 수 있다. 즉, 후술할 도 9에서 살펴볼 로봇의 구성 요소 중에서 통신부(300)는 초기 파티셔닝 맵을 다수의 로봇들 중 하나 이상의 로봇들에게 송신할 수 있다. 마찬가지로, 수신하는 로봇들(11, 12)의 통신부(300) 역시 초기 파티셔닝 맵을 다른 로봇으로부터 수신할 수 있다.
도 1 및 도 2에서 살펴본 로봇들의 동작은 맵에 기반하여 이루어진다. 맵은 공간에 대한 정보를 의미하며 맵 상에는 다양한 정보들이 저장될 수 있다. 맵은 중첩적으로 구성될 수 있다. 앞서 살펴본 고정맵은 고정된 장애물의 위치가 배치된다. 고정맵은 전체 공간의 정보를 저장하며 장애물 등 로봇이 이동할 수 없는 지점을 보여준다. 고정맵에 기반하여 로봇은 전체 공간 또는 일부 공간에 대해 파티셔닝을 수행하며 작업을 수행하는 과정에서 커버드 맵을 생성할 수 있다.
따라서 파티셔닝 맵은 고정맵 전체 또는 일부를 둘 이상의 로봇이 동작할 수 있는 공간으로 나눈 맵을 의미한다. 커버드 맵은 각 로봇에게 할당된 파티셔닝된 공간 내에서 로봇이 작업을 수행한 맵을 의미한다. 커버드 맵은 전술한 고정맵 전체 또는 일부에 대응할 수 있다. 예를 들어 로봇들은 모두 전체 공간에 대응하는 고정맵 및 각 고정맵 내의 각 셀들에서 로봇이 작업했는지 여부를 확인하는 커버된 영역에 대한 정보를 임시로 저장할 수 있다.
도 1 및 도 2를 정리하면 다음과 같다.
N개의 로봇이 서로 협업하며, 주어진 공간을 N개의 파티션으로 초기 분할한다. 분할은 도 1과 같이 각각의 로봇이 분할할 수도 있고 도2와 같이 허브 로봇이 분할하여 분할된 영역에 대한 정보(파티셔닝 정보)를 다른 로봇에게 제공할 수 있다. 그리고 각 로봇들은 파티셔닝 정보에 따라 지정된 충전 위치에서 각자의 파티셔닝 영역으로 이동한다.
로봇의 이동 목적지는 근접한 파티셔닝의 로봇과의 통신이 확보 되는 지점으로 자동 설정될 수 있다. 이는 장애물이 배치되지 않은 지점을 선택하는 것을 포함한다. 최소 한대 이상의 근접 파티셔닝의 로봇과 연결이 가능하도록 이동하며, 자신의 현재 영역의 커버리지를 최대화 할 수 있는 다음 셀로 이동하여 작업을 수행한다.
도 1의 분산 통신 방식에 따를 경우 통신망으로 연결되는 로봇들은 서로간의 현재 커버리지 상태와 현재 위치, 장애물 정보 등을 기반으로 다음 최적화된 파티셔닝을 진행하며 그를 토대로 다시 커버리지 작업을 수행한다. 새로운 파티셔닝을 진행하는 과정에서 장애가 발생한 로봇은 제외하고 재파티셔닝 할 수 있다.
도 2의 허브 통신 방식에 따를 경우 통신망으로 연결되는 로봇들은 각자의 커버리지 상태와 현재 위치, 장애물 정보를 직접 또는 간접으로 허브 로봇에게 전송한다. 허브 로봇은 전송받은 정보에 기반하여 다음 최적화된 파티셔닝을 진행하며 파티셔닝한 정보를 다른 로봇들에게 제공하고, 각각의 로봇들은 새로운 파티셔닝 정보에 기반하여 다시 커버리지 작업을 수행한다. 마찬가지로 허브 로봇은 새로운 파티셔닝을 진행하는 과정에서 장애가 발생한 로봇은 제외하고 재파티셔닝 할 수 있다.
또한, 특정 로봇이 임무 수행이 불가능한 상황이 되면 그 로봇을 제외하고 남은 로봇들이 협업하여 작업을 지속할 수 있다. 예를 들어 R3 로봇이 동작할 수 없는 상황인 경우 R3 로봇을 제외하고 전체 공간을 4개로 재파티셔닝하여 모든 영역이 커버 될 때까지 작업을 수행할 수 있다.
도 3 및 도 4는 본 발명의 일 실시예에 의한 고정맵의 구성을 보여주는 도면이다. 전체 공간에서 장애물의 위치는 도 3의 51과 같이 확인될 수 있다. 그리고 전체 공간을 소정의 셀로 나누면 도 3의 52가 된다. 도 3의 52를 기반으로 장애물이 있는 셀과 장애물이 없는 셀의 값을 달리 설정하면 고정맵이 될 수 있다. 물론, 셀의 값 외에도 52와 같이 검은 색이라는 컬러로도 장애물을 표시할 수 있다. 컬러로 표시하는 것은 로봇의 디스플레이부가 저장된 셀의 값을 특정한 셀로 표시하는 것을 포함하며, 로봇의 맵 저장부에 저장될 경우에는 도 4와 같이 각 셀에 배치된 장애물을 지시하는 값이 저장될 수 있다.
도 4는 고정물들을 하나의 단일한 값인 F라는 값으로 설정한 실시예이다. 210은 고정맵을 보여주며, F가 표시된 셀은 고정물이 배치된 셀을 의미한다. 실시예에 따라 F 대신 숫자나 혹은 다른 기호(f, a, b 등)으로 고정물의 특성에 따라 분류할 수 있다. 물론, 도 3의 52와 같이 검은 색으로 표시할 수 있다. 즉 고정맵은 52 또는 210 등 다양한 형태로 표시 및 저장될 수 있다.
셀을 지시하기 위해 좌측 및 하단의 좌표 정보를 이용할 수 있다. 좌하단을 (0, 0)으로, 우상단을 (21, 13)으로 지시할 수 있다.
도 1의 S1 또는 도 2의 S21은 로봇이 작업을 할 공간(최대 공간은 고정맵의 공간이며 최소 공간은 고정 맵의 하위 공간)을 로봇의 수 대로 파티셔닝을 수행한다. 고정맵에 대한 정보는 동일하며, 로봇이 작업을 할 공간 역시 동일한 입력값으로 주어지므로 다수의 로봇이 파티셔닝을 하여도 그 결과는 동일할 수 있다.
그 결과 도 1의 S1 또는 도 2의 S21의 과정을 적용하면 로봇의 맵 저장부는 파티셔닝 맵이 저장된다. 파티셔닝 맵은 고정물의 위치나 공간을 고려하여 N개의 로봇들이 효율적으로 작업할 수 있도록 공간을 세분화한 것을 의미한다. 이하 로봇의 개수인 N 이 5인 실시예를 중심으로 살펴본다.
도 5는 본 발명의 일 실시예에 의한 파티셔닝 맵의 구성을 보여주는 도면이다. 도 4의 고정맵(210)에 각 로봇에게 할당된 영역이 로봇의 식별정보(1~5)가 표시된 파티셔닝 맵(220a)을 살펴본다. 1은 제1로봇에 할당된 셀이며, 2는 제2로봇에 할당된 셀을 의미한다. 이렇게 총 1~5까지 5개의 로봇들이 작업할 공간을 파티셔닝하였다. 시각적으로 구별될 수 있도록 F 부분에 해칭으로 표시하였으며 각 파티셔닝 공간 사이의 경계 부분을 굵은 선으로 표시하였다.
도 5에서 각 로봇들 간의 파티셔닝 공간을 설정한 후 로봇은 해당 파티셔닝 영역으로 이동한다(도 1의 S2 및 도 2의 S25~S27). 도 2의 경우 로봇들 간에 파티셔닝 정보를 공유하는 과정(S22, S23)가 추가적으로 수행될 수 있다.
도 5에서 동그라미로 표시된 영역은 로봇이 파티셔닝한 영역으로 이동한 위치를 보여준다.
로봇은 해당 파티셔닝 맵에서 작업하는 과정에서 일정한 시간이 지난 후, 변화된 환경 정보에 기반하여 재파티셔닝을 수행할 수 있다. 변화된 환경 정보이란 각 로봇들이 작업을 수행한 셀(커버드 셀) 또는 우하단에 예측하지 못한 이동 장애물이 발생한 경우 등이 될 수 있다. 또한, 특정 로봇이 동작하지 못하는 상황 역시 변화된 환경 정보가 될 수 있다.
제3로봇이 장애가 발생하여 동작할 수 없는 경우 전체 로봇들의 파티셔닝 영역을 새로이 설정할 수 있다. 이에 대해 보다 상세히 살펴본다. 이러한 재파티셔닝 방식은 도 1의 방식(분산 통신 방식) 및 도 2의 방식(허브 방식)에 따라 달리 구현될 수 있다. 먼저 도 1의 방식에 대해 살펴본다.
도 6은 본 발명의 일 실시예에 의한 로봇들이 각각의 파티셔닝 영역으로 이동한 상태에서의 분산 통신 방식의 통신 링크를 보여주는 도면이다. 각 로봇은 인접한 다른 로봇과 통신 채널을 연결한다. 제1로봇(R1), 제2로봇(R2), ..., 제5로봇(R5)이 배치되며, 도 5의 동그라미 위치에 대응한다. 인접한 로봇들 사이에는 통신 링크가 형성되는데 i번 로봇과 j번 로봇 사이의 링크를 Linkij라 표시한다.
도 6에는 5개의 링크들이 표시되어 있다. 로봇들 간의 링크 형성은 각 로봇의 현재 위치를 기준으로 시계 방향 또는 반시계 방향으로 구성할 수 있다. 또는 각 로봇이 할당된 파티셔닝 영역에서 인접한 경계선의 길이가 긴 파티셔닝 영역의 로봇과 통신 링크를 형성할 수 있다. 또는 로봇과 로봇 사이에 장애물이 배치되었는지 여부에 따라 통신 링크를 형성하거나 혹은 형성하지 않을 수 있다.
특히, 장애물에 의해 통신이 원할하지 않은 로봇이 우선적으로 통신 링크를 설정할 수 있도록 할 수 있다. 이는 각 로봇이 자신의 파티셔닝 위치로 이동한 후 브로드캐스팅 방식으로 이동 완료 상태를 순서대로 메시지로 전송한 후 메시지가 다른 로봇들에게 전송되지 않은 횟수가 가장 많은 로봇이 통신 상태가 좋지 않은 것으로 판단하여, 다른 로봇과의 링크를 설정함에 있어 우선 순위를 줄 수 있다.
도 6에 제시된 바와 같이, R1 내지 R5의 로봇들은 이웃한 로봇하고만 통신한다. 그리고 로봇의 환경 정보는 로봇 연결의 순환 패스를 통해 하나의 사이클(1 cycle)을 돌면 모든 로봇이 서로 공유할 수 있다. 예를 들어 R1-R2-R3-R4-R5-R1 과 같이 사이클을 형성할 수 있다. 물론, R1-R5-R4-R3-R2-R1 방식으로 사이클을 형성할 수도 있다.
로봇은 파티셔닝 정보에 기반하여 파티셔닝 영역으로 이동한 후 각각 작업을 수행한다. 수행 과정에서 일부 로봇은 주어진 파티셔닝 영역에서 작업을 수행하는데 있어 고정맵을 기준으로 변화가 발생하지 않은 상태가 될 수 있다. 그러나, 로봇들이 작업을 수행하는 과정에서 장애가 발생하여 통신 연결이 끊어질 수 있다. 도 6에서 통신 장애로 인하여 R3와 R2 사이의 링크(Link23) 및 R3와 R4 사이의 링크(Link34)가 끊어진 상태를 보여준다. 또는 로봇이 동작할 수 없는 상태(배터리 방전 등)임을 환경 정보로 전송할 수 있다. 도 6에서 R3가 더 이상 동작할 수 없는 상태임을 알리는 환경 정보를 S61 및 S62와 같이 통신 연결을 설정한 로봇들(R2, R4)에게 전송할 수 있다. 사이클의 구성에 따라 R3는 R2 또는 R4 중 어느 하나의 로봇에게만 동작 불가라는 환경 정보를 전송할 수도 있고, 보다 빨리 인접한 다른 로봇들의 대처를 위해 특별하게 사이클 방향에 역행하여서도 R3는 R2 및 R4 로봇들에게 동작 불가라는 환경 정보를 전송할 수도 있다.
만약, 시계 방향으로 R3 로봇이 장애 상황을 전송하거나 혹은 R4 로봇이 R3 로봇의 장애를 확인한 경우, R4 로봇은 R3 로봇의 장애 발생 사실이 포함된 환경 정보를 메시지에 포함시켜 Link45를 이용하여 R5 로봇에게 전송한다. 그리고 이는 다시 R1 및 R2 로봇으로 전송된다(S64, S65). R2 로봇까지 메시지가 도달하면, R3 로봇 외에 장애가 발생한 로봇은 없는 것으로 각 로봇들은 확인한다. 그리고 R3를 제외하고 R2와 R4 사이에 새로운 통신 링크를 설정하고 파티셔닝을 수행한다.
도 7은 본 발명의 일 실시예에 의한 새로운 링크가 생성된 도면이다. R3 로봇은 제외되고 R3의 인접한 로봇이었던 R2 및 R4 사이에 새로운 통신 링크(Link24)가 생성되며, 화살표 방향으로 통신이 이루어질 수 있다. 따라서, 새로운 파티셔닝을 수행하여 이를 기반으로 로봇들은 정보를 공유할 수 있다.
도 6 및 도 7에 제시된 바와 같이, 특정한 로봇이 작업 또는 통신 기능에 장애가 발생한 경우, 다른 로봇들의 연결성이 유지되도록 구성할 수 있다. 이는 모든 로봇이 정보를 공유할 수 있음을 보여준다.
도 8은 본 발명의 일 실시예에 의한 R3 로봇을 제외하고 재파티셔닝한 맵을 보여주는 도면이다. 앞서 도 5에서 R3에 할당되었던 영역(도 5에서 3으로 표시)이 도 8에서는 R2 로봇 및 R4 로봇에 할당됨을 확인할 수 있다. 또한 R2/R4 로봇의 파티셔닝 영역이 확대되며 이들에 인접한 R1/R5 로봇의 파티셔닝 영역도 변경되었다. 따라서, 전체적으로 각 로봇에 할당된 셀의 개수는 도 5와 비교할 때 증가하였으나, 4개의 로봇으로 분산되었으므로, 각 로봇들이 추가로 작업해야 할 셀의 증가가 크지는 않다.
도 6의 로봇 구성에서 도 7의 로봇 구성 및 그로 인한 재파티셔닝을 살펴보면 다음과 같다. Link23 및 Link 34에 연결된 로봇들(R2, R4 및 선택적으로 R3)이 로봇 고장을 판단하고 일방향 통신으로 로봇의 고장 상상황의 정보를 공유한다. 일방향이 시계방향인 경우 R4->R5->R1->R2와 같이 S63, S64, S65가 될 수 있다. 반시계 방향인 경우 R2->R1->R5->R4가 될 수 있다. R3 로봇의 고장 상황이 다른 로봇들에게 공유가 되면, 나머지 4 대의 로봇들은 고장에 대응하는 알고리즘에 따라 도 8과 같이 재 파티셔닝을 수행하고, 남은 4대의 로봇들의 서로 간의 연결이 보장되면서도 통신이 가능한 형태(예를 들어 1 사이클이 가능한 포메이션)으로 변경하고 이를 토대로 도 8과 같이 재파티셔닝을 수행한다. 도 8에서 로봇들이 이동하는 위치를 원으로 표시하였다.
도 5 내지 도 8에서 살펴본 바와 같이 로봇들이 미리 설정된 순서(예를 들어 도 6 및 도 7에서의 R1~R5 순서 등)에 따라 통신을 수행하며, 매 순서 과정에서 양 로봇의 최적 파티셔닝을 구할 수 있다. 또한, 파티셔닝 후 통신에 연결된 로봇과 통신을 수행하며 변경된 환경 정보에 따라 최적 파티셔닝을 수행할 수 있다. 전체 통신 연결은 링 형태가 될 수 있으며, 한번의 사이클을 통과하면 모든 로봇의 상태를 반영한 결과가 도출되고, 파티셔닝 후 커버리지를 높이는 위치로 각 로봇들이 이동하여 작업할 수 있다. 이 과정에서 특정한 로봇이 동작에 오류가 발생한 경우, 혹은 통신이 불가능하여 해당 로봇이 작업에 더 이상 참여할 수 없는 경우 나머지 로봇들은 작업 불가인 로봇에 할당된 파티셔닝 영역을 포함하여 일부 또는 전체 공간을 재분배할 수 있으며, 그 결과 재파티셔닝된 영역으로 나머지 로봇들이 이동하여 동작할 수 있다. 이는 로봇의 장애가 발생하여도 해당 상황을 나머지 로봇이 능동적으로 대처하여 협업할 수 있도록 한다. 특히, 로봇은 이동 할 수 있으므로 고장 나서 멈춰 버린 로봇을 제외하고 나머지 로봇 간의 연결성이 보장되는 구성(formation)으로 변경하여 계속해서 시스템을 운용 할 수 있다. 전술한 바와 같은 시스템을 통하여 다중로봇이 협업하여 할당된 임무를 매 순간 최적의 방향으로 수행한다.
각 로봇들은 이동 할 수 있으므로 장애가 발생한 로봇을 제외하고 나머지 로봇 간의 연결성이 보장되는 형태(formation)으로 변경하여 계속해서 시스템을 운용 할 수 있다. 특히, 대면적을 파티셔닝할 때, 로봇이 고장 나더라도 전술한 방법으로 나머지 로봇만의 재파티셔닝을 수행하여 효율적이고 안정적인 협업로봇 시스템 운용이 가능하다.
도 5 내지 도 8에서 살펴본 바와 같이, 대면적 공간에서 다중로봇이 분산형 통신 시스템을 통해 모든 로봇의 연결성이 확보되지 않아도 실시간 파티셔닝을 통해 커버리지를 최적화하는 시스템을 운용할 수 있다. 따라서, 모든 로봇들 간에 통신을 보장할 필요가 없으며, 인접한 로봇들 사이에서 통신이 이루어질 경우, 협업을 지속할 수 있다. 그리고 특정 로봇의 통신이 끊어지거나 장애가 발생하는 경우, 해당 로봇에 연결되었던 통신 링크들을 조절하여 새로운 링 형태의 통신 링크를 생성할 수 있으므로, 장애가 발생한 로봇을 제외한 모든 로봇이 운용 가능한 상태를 유지하며 작업을 수행할 수 있다.
한편, 도 2와 같이 허브 로봇이 배치된 상태에서 특정 로봇에 장애가 발생한 경우, 이는 해당 로봇이 어떠한 통신상의 위치에 있느냐에 따라 달라진다. 예를 들어 통신 계층에서 말단에 배치된 로봇(Tk 로봇)의 장애가 발생할 경우, 통신 연결은 재구성하지 않고 장애가 발생한 로봇을 제외하고 파티셔닝을 수행할 수 있다.
한편, 말단이 아닌 중간에 배치된 로봇, 즉 허브 로봇 외에 다른 로봇에 연결된 로봇에 장애가 발생한 경우, 장애가 발생한 로봇에 연결된 다른 로봇들의 통신 연결을 재구축하면서 동시에 재파티셔닝을 수행하는 것이 필요하다.
이외에도 허브 로봇에 장애가 발생한 경우, 모든 로봇들이 통신 연결을 재설정해야 하는 문제가 발생하는데, 이 경우, 허브 로봇을 제외한 로봇들이 분산통신 방식에 의해 통신 연결을 재설정하고 이에 따라 재파티셔닝을 수행할 수 있다.
도 9는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(500)은 분산 통신 방식의 로봇이 될 수 있다. 또는 허브 통신 방식의 허브 로봇이 될 수 있다. 또는 허브 통신 방식에서 허브가 아닌 로봇이 될 수 있다.
로봇(500)의 구성요소로 외부에 배치된 객체를 센싱하는 센싱부(100), 로봇이 동하는 공간의 고정 객체의 위치를 저장하는 맵 저장부(200), 로봇을 이동시키는 이동부(310), 공간에서 파티셔닝 정보 및 환경 정보를 다른 로봇과 송수신하는 통신부(300), 그리고 로봇이 작업을 수행하는 작업부(320)를 포함한다. 또한 각 구성요소들을 제어하는 제어부(400)와 로봇의 동작 상태를 출력하고 외부로부터 지시를 수신하는 인터페이스부(330)를 포함한다.
센싱부(100)는 외부 사물의 존재 혹은 거리, 특성 등을 센싱하는 다양한 종류의 센서들을 의미한다. 본 발명의 실시예들을 적용할 경우, 센싱부(100)는 뎁스 값을 산출하는 뎁스 센싱부, 비전 정보를 산출하는 비전 센싱부, 적외선(IR) 센싱부, 초음파 센싱부, 라이다 센싱부 등을 포함할 수 있다.
제어부(400)는 맵 저장부(200)에 저장된 고정맵(210)에 기반하여 파티셔닝 맵(220)을 생성한다. 또한, 제어부(400)는 일정한 시간 간격 후에 센싱부(100)가 센싱한 객체 중 맵 저장부(200)의 고정 객체에 해당하지 않는 객체(새로운 장애물)와 로봇이 작업을 수행한 공간에 대한 정보 중 어느 하나 이상을 환경 정보로 생성한다.
생성된 환경 정보는 통신 링크가 설정된 이웃 로봇 또는 허브 로봇 등 다른 로봇과 송수신할 수 있다. 즉, 제어부(400)는 통신부를 제어하여 파티셔닝 정보와 환경 정보를 송수신할 하나 이상의 이웃 로봇을 결정하고 이웃 로봇에게 파티셔닝 정보와 환경 정보를 전송하거나 혹은 교환하여 새로운 파티셔닝을 수행하여 재파티셔닝 맵을 생성한다. 로봇 간의 통신링크는 앞서 도 6 및 도 7에서 살펴보았듯이 특정 로봇의 장애나 통신 두절 상태에서 새롭게 통신링크를 설정할 수 있다.
통신 링크를 설정하는 이웃 로봇의 결정 방식은 도 5 및 도 6에서 살펴본 바와 같이 인접한 파티셔닝 영역에 배치된 로봇을 이웃 로봇으로 결정할 수 있다. 이웃 로봇들의 통신 링크가 연결되고 이들을 연결하면 전체 로봇은 링 형태의 통신 링크를 구성할 수 있다. 즉, 다수의 로봇들이 생성한 통신 링크는 링 형태를 유지하며, 각 로봇은 통신 링크를 이용하여 미리 설정된 방향으로 메시지를 송신할 수 있다. 미리 설정된 방향이란, 단방향일 수도 있고 양방향일 수도 있다.
정리하면, 제어부(400)는 로봇에 인접한 다른 로봇, 예를 들어 제2로봇과 통신 링크를 설정하도록 통신부(300)를 제어하며, 통신부(300)가 제2로봇의 장애 환경 정보를 수신하거나 제2로봇의 통신링크가 단절된 경우 통신부(300)는 제2로봇과 통신링크를 생성하였던 제3로봇과 통신링크를 생성한 후, 제어부(400)는 제3로봇과 재파티셔닝을 수행할 수 있다.
이하 로봇의 동작 과정에 대해 상세히 살펴본다.
도 10은 본 발명의 일 실시예에 의한 로봇이 초기 파티셔닝 맵에 따라 작업을 수행한 후 재파티셔닝을 수행하는 과정을 보여주는 도면이다.
제1로봇의 제어부(400)가 공간에서 작업할 다수의 로봇들의 파티셔닝 영역을 포함하는 초기 파티셔닝 맵을 제1로봇의 맵 저장부(200)에 저장한다(S71). 앞서 도 5와 같이 로봇들에게 할당하는 초기 파티셔닝 맵을 살펴볼 수 있다. 이 과정에서 초기 파티셔닝 맵은 각각의 로봇이 생성하여 각자 보유할 수 있다. 도 1의 S1을 일 실시예로 한다. 한편, 각각의 로봇이 생성하는 대신 어느 하나의 로봇(제1로봇)이 생성하여 이를 다른 로봇에게 송신할 수도 있고 다른 로봇으로부터 초기파티셔닝 맵을 수신할 수 있다.
정리하면, 제1로봇의 통신부(300)가 초기 파티셔닝 맵을 다수의 로봇들 중 하나 이상의 로봇들에게 송신하거나, 또는 제1로봇의 통신부(300)가 초기 파티셔닝 맵을 다수의 로봇들 중 하나 이상의 로봇으로부터 수신할 수 있다.
다양한 방식으로 초기 파티셔닝 맵이 각각의 로봇의 맵 저장부(200)에 저장되면, 각 로봇의 이동부(310)는 로봇에게 할당된 파티셔닝 영역으로 로봇을 이동시킨다(S72). 이 과정에서 각자의 파티셔닝 영역으로 이동한 제1로봇의 통신부(300)는 제1로봇과 통신할 제2로봇과 통신링크를 생성한다(S73). 통신 링크가 형성된 실시예는 도 6 및 도 7에서 살펴보았다.
통신 링크를 설정하는 기준으로는 인접한 로봇 사이에서 이루어지는 것을 일 실시예로 한다. 일 실시예로 로봇 간의 물리적 거리에 기반하여 통신 링크를 생성할 수 있다. 또는 각 로봇이 할당받은 파티셔닝 영역이 인접한 경우 이들 로봇들이 통신 링크를 생성할 수 있다. 또한, 장애물이 많이 배치된 파티셔닝 영역에 할당받은 로봇의 경우 우선적으로 통신 링크를 선호하는 로봇과 생성할 수 있다. 다양한 기준에 따라 통신 링크가 생성될 수 있으며, 이들 통신 링크는 분산 통신 시스템에서는 링 형태를 유지할 수 있다. 반면, 허브 통신 시스템에서는 트리 구조를 유지할 수 있다.
통신 링크를 설정한 후, 제1로봇의 이웃 로봇, 즉 제1로봇과 통신 링크를 설정한 로봇의 장애가 발생한다. 즉, 제1로봇의 통신부(300)가 제2로봇의 장애 환경 정보를 수신하거나 제2로봇의 통신링크가 단절된 것을 확인한 다. 이후 통신부(300)는 제2로봇과 통신링크를 생성하였던 제3로봇과 통신링크를 생성한다(S74). 제2로봇은 제1로봇 및 제3로봇과의 통신 링크를 유지했었으나 장애 상황이 발생하며 제1로봇 및 제3로봇이 통신 링크를 생성한다.
제1로봇의 제어부(400)는 제3로봇과 재파티셔닝을 수행한다. 즉, 제2로봇의 제2파티셔닝 영역, 제1로봇의 제1파티셔닝 영역, 제3로봇의 제3파티셔닝 영역을 포함하는 영역을 재파티셔닝하여, 제1로봇의 제1재파티셔닝 영역 및 제3로봇의 제3재파티셔닝 영역으로 재파티셔닝한다. 그 결과 새로운 재파티셔닝 맵을 생성할 수 있다(S75).
도 10의 과정을 제1로봇과 다른 통신 링크를 설정한 제4로봇과도 새로이 재파티셔닝을 수행할 수 있다. 예를 들어, 제1로봇은 제2로봇과 통신 링크를 생성하는 과정(S73)에서 제1로봇의 통신부가 제4로봇과 통신 링크를 생성할 수 있다. 이러한 통신 링크의 구조는 "제4로봇-제1로봇-제2로봇"과 같이 구성된다. 제2로봇에 장애가 발생하기 전까지 제1로봇은 제4로봇 및 제2로봇을 양쪽의 이웃 로봇으로 설정한 상태이다. 이 상태에서 제2로봇에 장애가 발생하고, 제1로봇이 제3로봇과 통신 링크를 설정한 결과 통신 링크의 구조는 "제4로봇-제1로봇-제3로봇"이 된다.
이후, 제3로봇과 제1로봇이 재파티셔닝 맵을 생성한 후, 제1로봇의 통신부(300)는 제1재파티셔닝 영역에 대한 정보를 제4로봇에게 송신하고, 제1로봇의 제어부(400)는 제4로봇의 제4파티셔닝 영역과 제1재파티셔닝 영역을 포함하는 영역에 대하여 재파티셔닝하는 재파티셔닝 맵을 생성할 수 있다. 왜냐하면, 제2로봇의 고장으로 인해 제1/3 로봇이 제2로봇의 영역까지 할당받을 경우, 제1/3로봇에 재파티셔닝된 영역의 면적이 제4로봇의 영역보다 과도하게 클 수 있으며, 이는 작업 효율을 떨어뜨릴 수 있다.
따라서, 제1로봇의 제어부(400)는 재파티셔닝된 결과 초기 파티셔닝 맵에서 할당된 영역과 비교하여 과도하게 큰 영역이 재파티셔닝되어 할당된 경우, 인접한 다른 로봇(제4로봇)과 재파티셔닝을 수행할 수 있다. 이러한 과정이 통신 링크의 특정한 방향 혹은 양방향으로 이루어질 경우, 통신 링크에 연결된 모든 로봇들 사이에서 재파티셔닝이 이루어질 수 있다.
또한, 도 10의 S75 단계를 수행하기 전에, 통신 링크에 연결된 모든 로봇들에게 재파티셔닝이 이루어 질 수 있음을 메시지로 송신하고, 전체적인 영역에 대해 일괄적으로 재파티셔닝을 수행할 수 있다. 이는 초기 파티셔닝 맵을 생성하는 것과 동일한 방식으로 이루어질 수 있다.
즉, 특정 로봇에게 현재까지 각 로봇이 작업한 영역 및 장애물 영역을 환경 정보로 제공한 후, 재파티셔닝을 수행할 수 있다. 또는, 각 로봇이 작업한 영역 및 장애물 영역을 환경 정보로 전체 로봇이 공유한 후, 각각의 로봇이 각자 파티셔닝을 수행할 수 있다. 이를 위해 로봇들의 제어부는 입력된 환경 정보가 동일할 경우 동일한 파티셔닝 맵을 산출하도록 설계될 수 있다.
한편, 재파티셔닝 하는 과정에서 로봇의 환경 정보를 이용할 수 있다. 일 실시예로, 통신부(300)가 송수신한 제3로봇의 환경 정보에 기반하여 제어부(400)가 재파티셔닝 맵을 생성할 수 있다.
환경 정보를 이용한다는 것은 공간 내에 새롭게 확인된 장애물과 고정장애물, 그리고 작업 가능한 로봇의 수를 입력값으로 하여 재파티셔닝 맵을 생성하는 것을 의미한다. 일 실시예로 특정 로봇이 다른 로봇들로부터 환경 정보를 모두 수신할 수 있다. 또는 로봇은 인접한 로봇 사이에서만 환경 정보를 수신하고, 이를 반영하여 파티셔닝을 수행할 수 있다.
도 11 및 도 12는 본 발명의 일 실시예에 의한 환경 정보에 기반하여 재파티셔닝하는 과정을 보여주는 도면이다. 도 11의 초기 파티셔닝 맵(220c)은 4 개의 로봇에게 할당된 공간이다. 각 파티셔닝 영역에 할당된 로봇들은 각각 R1내지 R4이다. 초기 파티셔닝 후 로봇이 작업을 수행한 영역을 C로 표시하였다. 그리고 각 로봇 사이의 통신 링크는 점선으로 표시하였다. 220c와 같은 초기 파티셔닝 맵의 상태에서 R2 로봇에 장애가 발생하면, 통신링크가 연결된 인접한 로봇(R1/R3)들은 R1-R3 간에 통신을 설정한 후, 우선 R2에 할당된 영역과 R1/R3에 포함된 영역을 포함하는 영역(즉, R4의 영역을 제외한 영역)에 대해 재파티셔닝을 수행한다. 220c에서 R1/R2/R3에 할당된 파티셔닝 영역을 220d와 같이 하나로 하여 R1과 R3 사이에서 재파티셔닝을 수행한다. 이 과정에서, 재파티셔닝시, 로봇의 제어부(400)는 다수의 로봇들이 작업을 수행한 셀에 기반하여 다수의 로봇 각각의 작업 속도를 산출하여 작업 속도가 높은 로봇에게 더 많은 영역이 할당된 재파티셔닝 맵을 생성할 수 있다.
즉, 220c에서 R1이 작업을 완료한 셀은 2개이며, R3가 작업을 완료한 셀은 6개이다. 이는 R3의 작업 속도가 높음을 알 수 있다. 따라서, 220d에서 영역을 나눌 경우 R3에게 보다 많은 작업 공간이 포함되도록 재파티셔닝을 수행할 수 있다.
도 12의 재파티셔닝 맵(220e)은 R3의 작업 속도가 R1 의 작업 속도보다 높은 환경 정보를 반영하여 재파티셔닝한 결과이다. R3가 작업을 완료한 셀의 수가 R1이 작업을 완료한 셀의 수 보다 4개가 많으므로, R3가 보다 많은 영역을 할당받은 결과이다. 도 12의 재파티셔닝 결과 R1이 작업해야 하는 셀의 개수는 31개이며, R3가 작업해야 하는 셀의 개수는 34개이다.
한편, R4의 경우 작업해야 하는 셀의 수는 21개이며, 이는 R1, R3와 비교하여 매우 작은 수이다. 따라서, R3-R4 간에 재파티셔닝이 이루어지거나, R1-R4 간에 재파티셔닝을 수행할 수 있다. 이는 통신 링크의 순서에 따라 특정 방향(R3->R1->R4 또는 R3->R4->R1)으로 이루어질 수 있다.
또는 본 발명의 다른 실시예에 의하면 가장 많이 셀을 할당받은 로봇에 우선 순위를 두어 재파티셔닝을 할 수 있다. 220e에서는 R3가 가장 많은 파티셔닝 영역을 할당받은 바, R3-R4 간에 재파티셔닝을 수행할 수 있다. 마찬가지로, R3와 R4 사이에도 그동안 처리했던 셀들의 개수에 기반하여 로봇의 처리 속도를 산출하고 작업 속도가 높은 로봇에게 더 많은 영역을 할당할 수 있다. 그 결과, 220f와 같이 R3-R4 간에 재파티셔닝된 결과 최종적인 재파티셔닝 맵을 산출한다. R4가 할당받은 셀의 수는 26개이고, R3가 할당받은 셀의 수는 29개이다. R1은 31개의 셀을 할당받은 상태이다.
R1/R3/R4 각각에게 할당받은 셀의 수의 차이가 파티셔닝에서 작업의 효율을 높이기 위한 기준에 적합한 경우, 로봇들은 새로 생성된 재파티셔닝맵(220f)에 기반하여 이동 및 작업을 수행할 수 있다. 전술한 기준은 각 로봇 별 할당된 셀의 수의 편차, 각 로봇이 과거 작업했던 셀의 개수 대비 새로 할당된 셀의 수의 편차 등을 반영할 수 있다.
또한, 도 12의 220f와 같은 재파티셔닝 맵에 기반하여 동작하는 과정에서 일정한 주기에 따라 재파티셔닝 할 수 있다. 즉, 특정한 로봇에 장애가 발생하지 않아도, 로봇 사이에 환경 정보를 공유하여, 재파티셔닝 맵의 작성 당시 작업을 처리할 것으로 예상했던 시간 보다 더 많은 시간이 소요되는 상황이 발생하거나 작업에 영향을 미치는 변수(새로운 장애물의 등장)가 발생하면 그에 따라 각 로봇들이 환경 정보를 일정한 방식으로 통신 링크에 따라 메시지로 송수신할 수 있다. 그리고 송수신된 환경 정보에 기반하여 새로이 재파티셔닝을 수행할 수 있다.
도 11 및 도 12는 각 로봇들의 작업한 영역을 기준으로 재파티셔닝을 수행하였으나, 환경 정보로 각 로봇들이 작업 가능한 시간/면적 정보를 포함할 수 있으며, 이에 기반하여 재파티셔닝을 수행할 수 있다. 즉, 도 11에서 R1-R3 간에 로봇들의 작업 가능 시간 혹은 작업 가능 면적에 대한 정보를 환경 정보로 송수신될 수 있다. 그리고 R1 또는 R3 중 어느 하나 이상의 제어부(400)가 작업 가능 시간이 크거나 작업 가능 면적이 큰 값을 가지는 로봇에게 더 많은 영역이 할당된 재파티셔닝 맵을 생성할 수 있다.
전술한 실시예에서 대면적 환경에서의 통신 불안정성에 대응하여 분산 통신 시스템을 구성할 경우, 환경 변화 또는 로봇의 고장과 같은 비상상황에 대처하여 다수의 로봇들이 재파티셔닝을 통해 작업을 유지할 수 있다. 특히, 장애가 발생한 상황에 최적인 커버리지 알고리즘을 토대로 운용할 수 있다. 커버리지 알고리즘은 로봇의 제어부(400)에 프로그램 형태로 설치될 수 있으며, 전술한 각 로봇의 작업 영역, 작업 가능한 상태, 장애물 상태 등을 입력값으로 하여 최적의 재파티셔닝 맵을 산출할 수 있다.
본 발명의 실시예를 청소 로봇에 적용할 경우, 협업에 기반한 시스템을 통하여 대면적에서의 능동적으로 빠른 시간 협업 청소가 가능하다. 뿐만 아니라, 보안, 정찰, 안내 등 특정한 임무를 나누어 스케쥴링하여 협업하는 시스템에도 본 발명의 실시예를 적용할 수 있다.
본 발명의 다른 실시예에 의하면, 협업에 기반하지 않은 시스템인 경우, 즉 허브 통신에 기반한 시스템인 경우에도 특정 로봇에 고장이 발생한 경우, 협업에 기반한 통신 시스템으로 변경할 수 있다.
도 11 내지 도 12의 실시예를 정리하면, 제1로봇(R1)은 제3로봇(R3)와 제2로봇(R2)의 제2파티셔닝 영역과 제1로봇(R1)의 제1파티셔닝 영역, 그리고 제3로봇(R3)의 제3파티셔닝 영역을 포함하는 영역을 제1로봇(R1)의 제1재파티셔닝 영역 및 제3로봇(R3)의 제3재파티셔닝 영역으로 재파티셔닝하는 재파티셔닝 맵을 생성할 수 있다.
또한, 재파티셔닝을 수행한 후, R1-R4 사이에도 재파티셔닝을 수행할 수 있다. 즉, 제1로봇(R1)의 통신부는 제3로봇과의 재파티셔닝 결과인 제1재파티셔닝 영역에 대한 정보를 제4로봇(R4)에게 송신하고, 제1로봇 및 제4로봇의 제어부는 제4로봇의 제4파티셔닝 영역과 제1로봇의 제1재파티셔닝 영역을 포함하는 영역에 대하여 재파티셔닝하는 재파티셔닝 맵을 새로이 생성할 수 있다.
재파티셔닝 과정에서 작업이 완료한 공간은 제외하고 나머지 셀들의 수를 기반으로 각 로봇들에게 할당하여 재파티셔닝을 수행할 수 있다. 재파티셔닝 과정에서 각 로봇이 작업을 처리한 속도를 기준으로 재파티셔닝할 수 있다. 예를 들어 로봇이 가지는 상태 정보(로봇의 배터리 잔량 등)와 환경적 정보를 반영하여 처리 속도가 매우 낮은 것으로 인접한 로봇들이 판단하여 해당 로봇에 할당할 영역을 줄일 수 있다. 마찬가지로 셀을 처리하는 속도가 높은 로봇은 새로이 파티셔닝이 될 경우라 하여도 작업 처리 속도가 높아질 것으로 가정하여 파티셔닝 공간을 더 많이 할당할 수 있다.
도 13 내지 도 16은 본 발명의 일 실시예에 의한 허브 통신에 기반한 시스템에서 고장 발생 후 협업 기반 분산 통신 시스템으로 변환하는 과정을 보여주는 도면이다. 도 2의 허브 로봇 및 T1, T2 로봇들을 중심으로 살펴본다. 이는 각 로봇들 중에서 허브 로봇을 제외한 다른 로봇들은 허브 로봇으로부터 초기 파티셔닝 맵을 수신한 이후 동작하는 과정을 보여준다.
도 13은 허브 로봇과 T1/T2/.../Tn 로봇들이 특정한 공간 내에 배치된 구성이다. 허브 로봇은 HR로 표시하고, T1 로봇은 순서대로 T1-1, T1-2 등으로 표시한다. T2 로봇은 T2-1, T2-2 등으로 표시한다. 도 13은 허브 로봇(HR)을 중심으로 파티셔닝 영역이 배치된 구성이다. 도 13의 구성에서 허브 로봇(HR)의 동작에 장애가 발생한 경우, 어느 하나의 로봇이 허브 역할을 맡을 수도 있으나, 전체 통신 링크를 분산 시스템으로 변환할 수 있다. 도 14에서 보다 상세히 살펴본다.
허브 로봇(HR)이 장애가 발생하여 더 이상 동작할 수 없는 상태이므로 허브 로봇이 제거된 상태이다. 이 경우, T1 레벨의 로봇들과 그에 부속하는 T2 레벨의 로봇들끼리 원래 설정되었던 통신 링크를 유지하면서 새로이 링 구조의 통신 링크를 설정한다. 예를 들어 T2-1 및 T2-2와 T1-1이 링 형태의 통신 링크를 구성하도록 배치된다. 이는 도 14에 도시되어 있다.
도 14와 같은 통신 링크의 구조에서 T1 레벨의 로봇들 사이에서 통신이 가능한 로봇들 사이에서 통신 링크를 설정한다. 일 실시예로 T1-1~T1-4 에서 인접하게 배치된 로봇들 간에 도 15와 같이 통신 링크를 구성할 수 있다. T1 레벨의 로봇들은 로봇들 간의 거리가 가까우므로 서로 통신 링크를 링 구조로 구성할 수 있다.
도 15와 같은 구성에서 각각의 T1 레벨의 로봇들이 각자의 링 구조의 하위 통신 링크를 관리하며 재파티셔닝을 수행할 수 있다. 이 경우, 허브 로봇의 영역을 T1 레벨의 로봇들이 분할하여 할당한 후, 각각의 하위 링 구조의 통신 링크를 이용하여 T2 레벨의 로봇들과 다시 재파티셔닝을 수행할 수 있다.
또는, 전체 로봇들이 통신이 가능한지를 확인할 수 있는데, 예를 들어 현재 연결되지 않은 T2 레벨의 로봇들, 즉 T2-5와 T2-4가 통신이 가능하고, T2-2 및 T2-3이 통신이 가능한 경우 도 16과 같이 링 형태의 통신 링크를 구성할 수 있다.
도 16은 전체 로봇들이 링 형태의 통신 링크를 구성한 도면이다. 도 16과 같이 통신 링크를 설정한 로봇들은 앞서 도 10 및 도 11, 12의 프로세스에 따라 허브 로봇이 담당하던 영역을 포함하여 다시 재파티셔닝하여 영역을 분할한다.
정리하면 도 15에서 T2-5와 T2-4가 통신 가능하지 않은 경우, 그리고 T2-2와 T2-3이 통신 가능하지 않은 경우, T1 레벨의 로봇들만 링 구조의 통신 링크를 구성하고, 허브 로봇의 영역을 재파티셔닝한다. 그리고 허브 로봇의 영역을 T1 레벨의 로봇들이 재파티셔닝에 의해 할당받은 후, 각각의 T1 레벨의 로봇들은 자신과 통신 링크를 구성하는 T2 레벨의 로봇들과 다시 재파티셔닝을 수행할 수 있다.
반대로, 도 16과 같이 T2-5와 T2-4가 통신 가능하고 T2-2와 T2-3이 통신이 가능한 경우, 모든 로봇들이 링 형태의 통신 링크를 구성할 수 있다. 이 경우에도 통신 링크를 형성한 후, 허브 로봇의 영역에 인접하였던 T1 레벨의 로봇들이 허브 로봇의 영역을 재파티셔닝에 의해 할당받은 후, 각각의 T1 레벨의 로봇들과 인접한 다른 로봇들(T2 레벨의 로봇들)과 다시 재파티셔닝을 수행할 수 있으며, 링 구조의 통신 링크에 따라 순차적으로 재파티셔닝할 수도 있다.
도 17은 본 발명의 일 실시예에 의한 허브 로봇에 장애가 발생한 경우 분산 통신 시스템으로 전환하는 도 13 내지 도 16의 과정을 보여주는 순서도이다. 간략하게 정리하면, 도 17은 허브 로봇과 통신이 두절된 T1 레벨의 로봇의 제어부(400)가 다른 T1 레벨의 로봇들 간에 링 구조의 통신 링크를 설정하고, 링 구조의 통신 링크에 기반하여 재파티셔닝 맵을 생성하는 과정을 보여준다.
먼저, T1 레벨의 로봇들은 허브 로봇의 장애가 발생하였음을 확인한다(S81). 확인은 T1 레벨의 로봇들이 허브 로봇으로부터 장애 발생 메시지를 수신하거나 또는 허브 로봇과의 통신이 두절되는 것을 T1 레벨의 로봇의 통신부가 확인하는 것을 포함한다.
이후 각각의 T1 레벨의 로봇들은 하위 레벨의 로봇들과 링 구조의 통신 링크를 설정한다(S82). 앞서, 도 14의 링크 구성을 일 실시예로 한다.
단위 별 링 구조의 통신 링크가 설정되면, 통신 가능한 T1 레벨의 로봇 간에 통신 링크를 설정한다(S83). T1 레벨의 로봇 간에 통신 링크가 설정되면 도 15에서 살펴본 바와 같이, 전체적으로 링구조의 통신 링크를 형성하기 위해 T1~Tk 레벨의 로봇들 중에서 통신 가능한 로봇 사이에 통신 링크를 형성한다(S84).
이 과정에서 전체 로봇이 포함되는 통신 링크가 형성되지 않을 경우, 도 15와 같이 T1 레벨의 로봇들만 링 구조로 통신 링크를 유지할 수 있다. 반면 전체 로봇이 포함되는 통신 링크가 형성될 경우, 도 16과 같이 구성될 수 있다. S84 및 도 16은 T1 레벨의 하위 레벨의 로봇들 간에 링 구조의 통신 링크를 설정하는 과정을 보여준다.
이후 링 구조의 통신 링크에 기반하여 허브 로봇에 할당되었던 영역을 포함하여 재파티셔닝을 수행한다(S85). 링 구조는 도 15와 같이 T1 레벨의 로봇들 간의 링 구조이거나 또는 도 16과 같이 전체 로봇들 간의 링 구조를 포함한다.
모든 로봇을 연결하는 허브 역할을 하는 장치(혹은 로봇 하나를 그 역할로 지정)가 있고 각 로봇의 데이터를 실시간으로 전송받아 그를 토대로 결과를 내어 다시 각 로봇에게 그 다음 명령(다음 위치 혹은 다음 임무)을 전송하는 방식은 모든 로봇의 상태를 갖고 알고리즘을 실행하므로 최적의 결과 도출할 수 있으며 구현이 용이하지만, 허브 로봇과 통신 연결이 끊어질 경우 다른 로봇들이 기능을 수행할 수 없다.
따라서, 도 13 내지 도 17에서 살펴본 바와 같이, 각 로봇들에 장애가 발생하지 않은 상태에서는 허브 통신 방식으로 동작하고, 허브 로봇에 장애가 발생하면 분산 통신 방식으로 전환하여 각 로봇들이 다시 재파티셔닝을 수행한 후 공간 내의 영역에서 작업을 수행할 수 있도록 한다.
본 발명을 적용할 경우, 대면적의 환경에서 모든 로봇 간의 통신의 안정성을 보장 할 수 있다. 초기 시작은 허브(중앙) 통신 방식 또는 분산 통신 방식으로 초기 파티셔닝 맵을 생성하고, 동작 과정에서 장애가 발생할 경우, 분산형 통신 시스템에 기반하여 로봇들이 동작할 수 있도록 함으로써, 제한된 통신 범위 안에서도 실시간 파티셔닝을 통한 커버리지 최적화가 가능하다. 특히, 특정 로봇의 연결이 끊기더라도 모든 로봇의 협업 알고리즘의 영향을 주지 않아 고장 등의 비상상황에서의 대처가 용이하다.
본 발명을 적용할 경우, 대면적 공간에서 다중로봇들이 분산형 통신 시스템을 이용하거나 허브형 통신 시스템을 이용하여 모든 로봇의 연결성이 확보되지 않아도 실시간 파티셔닝을 수행하여 각 로봇이 작업할 커버리지를 최적화 시킬 수 있다. 특히, 허브형 통신 시스템에 있어서도, 허브 로봇과 통신이 가능한 로봇들과 그렇지 않은 로봇들을 분류하여 계층적으로 로봇들이 통신할 수 있도록 한다.
특히, 본 발명을 적용할 경우, 다중로봇이 주어진 대면적 환경에서 환경의 형태 및 동적/정적 장애물 정보를 모두 고려한 실시간 파티셔닝을 통해 협업하여 최적으로 지역을 커버할 수 있다. 또한, 로봇의 장애가 발생하여도 해당 로봇을 제외하고 통신을 수행할 수 있으므로, 로봇의 작업의 신뢰성을 높일 수 있다.
한편, 재파티셔닝 과정에서 커버리지 정보에 기반하여 각 로봇마다 상이한 작업 처리 속도를 포함하는 현재 상황(장애물, 커버리지면적, 속도 등)을 실시간으로 반영하여 실시간 파티셔닝을 수행함으로서 효율적인 커버리지 작업이 가능하다. 즉, 특정 영역에 장애물이 많은 경우, 커버한 영역의 차이가 큰 경우 등 다양한 상황을 고려한 실시간 파티셔닝을 진행하여 효율적인 커버리지 작업이 가능하다.
로봇은 재파티셔닝을 수행하는 과정에서 이전에 작업한 영역의 크기나 분산 정도, 새로운 장애물이 배치된 영역의 크기나 분산 정도, 그리고 작업 속도와 경계선의 형태 등을 모두 가중치로 적용하여 재파티셔닝맵을 생성할 수 있다. 제어부(400)는 동일한 개수의 셀들이라 하여도 해당 셀들의 분산 정도, 위치와 로봇의 배터리 상태 등을 가중치로 적용하여 재파티셔닝할 영역의 셀들의 개수를 먼저 산출하고, 개수를 적용함에 있어서 로봇의 이동 거리를 줄이는 경계선을 선택할 수 있다.
또한, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
100: 센싱부 200: 맵 저장부
210: 고정맵 220: 파티셔닝맵
300: 통신부 310: 이동부
320: 작업부 330: 인터페이스부
400: 제어부 500: 로봇

Claims (16)

  1. 제1로봇의 제어부가 공간에서 작업할 다수의 로봇들의 파티셔닝 영역을 포함하는 초기 파티셔닝 맵을 상기 제1로봇의 맵 저장부에 저장하는 단계;
    상기 제1로봇의 이동부가 상기 제1로봇에게 할당된 파티셔닝 영역으로 상기 로봇을 이동시키는 단계;
    상기 제1로봇의 통신부는 상기 제1로봇과 통신할 제2로봇과 통신링크를 생성하는 단계;
    상기 통신부가 상기 제2로봇의 장애 환경 정보를 수신하거나 상기 제2로봇의 통신링크가 단절된 경우 상기 통신부는 상기 제2로봇과 통신링크를 생성하였던 제3로봇과 통신링크를 생성하는 단계; 및
    상기 제어부는 제3로봇과 상기 제2로봇의 제2파티셔닝 영역 및 상기 제1로봇의 제1파티셔닝 영역 및 상기 제3로봇의 제3파티셔닝 영역을 포함하는 영역을 상기 제1로봇의 제1재파티셔닝 영역 및 상기 제3로봇의 제3재파티셔닝 영역으로 재파티셔닝하는 재파티셔닝 맵을 생성하는 단계를 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  2. 제1항에 있어서,
    상기 제2로봇과 통신링크를 생성하는 단계는 상기 제1로봇의 통신부가 제4로봇과 통신 링크를 생성하는 단계를 더 포함하며,
    상기 재파티셔닝 맵을 생성하는 단계 이후에,
    상기 제1로봇의 통신부는 상기 제1재파티셔닝 영역에 대한 정보를 상기 제4로봇에게 송신하는 단계; 및
    상기 제어부는 상기 제4로봇의 제4파티셔닝 영역과 상기 제1재파티셔닝 영역을 포함하는 영역에 대하여 재파티셔닝하는 재파티셔닝 맵을 생성하는 단계를 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  3. 제1항에 있어서,
    상기 제1로봇을 포함한 상기 다수의 로봇들이 생성한 통신 링크는 링 형태를 유지하며,
    상기 제1로봇의 통신부는 상기 통신 링크를 이용하여 미리 설정된 방향으로 메시지를 송신하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  4. 제1항에 있어서,
    상기 저장하는 단계 이전에,
    상기 제1로봇의 통신부가 상기 초기 파티셔닝 맵을 상기 다수의 로봇들 중 하나 이상의 로봇들에게 송신하는 단계를 더 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  5. 제1항에 있어서,
    상기 저장하는 단계 이전에,
    상기 제1로봇의 통신부가 상기 초기 파티셔닝 맵을 상기 다수의 로봇들 중 하나 이상의 로봇으로부터 수신하는 단계를 더 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  6. 제5항에 있어서,
    상기 수신하는 단계는
    상기 제1로봇의 통신부가 상기 제2로봇으로부터 초기 파티셔닝 맵을 수신하는 단계를 포함하며,
    상기 제1로봇의 제어부는 상기 제3로봇을 포함하는 T1 레벨의 로봇들 간에 링 구조의 통신 링크를 설정하는 단계; 및
    상기 제1로봇의 제어부는 상기 링 구조의 통신 링크에 기반하여 상기 재파티셔닝 맵을 생성하는 단계를 더 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  7. 제6항에 있어서,
    상기 제1로봇 및 상기 제3로봇을 포함하는 T1 레벨의 하위 레벨의 로봇들 간에 링 구조의 통신 링크를 설정하는 단계를 더 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  8. 제1항에 있어서,
    상기 재파티셔닝 맵을 생성하는 단계는
    상기 통신부가 송수신한 상기 제3로봇의 환경 정보에 기반하여 상기 제어부가 상기 재파티셔닝 맵을 생성하는 단계를 더 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  9. 제8항에 있어서,
    상기 재파티셔닝 맵을 생성하는 단계는
    상기 제어부는 상기 환경 정보에서 상기 다수의 로봇들이 작업을 수행한 셀에 기반하여 상기 다수의 로봇 각각의 작업 속도를 산출하여 작업 속도가 높은 로봇에게 더 많은 영역이 할당된 재파티셔닝 맵을 생성하는 단계를 더 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  10. 제8항에 있어서,
    상기 환경 정보는 상기 제1로봇 및 상기 다수의 로봇들의 작업 가능 시간 또는 작업 가능 면적에 대한 정보를 더 포함하며,
    상기 제어부는 제1로봇 및 상기 다수의 로봇들 중 상기 작업 가능 시간 또는 상기 작업 가능 면적이 더 큰 값을 가지는 로봇에게 더 많은 영역이 할당된 재파티셔닝 맵을 생성하는 단계를 더 포함하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법.
  11. 공간을 분할-작업하는 로봇에 있어서,
    외부에 배치된 객체를 센싱하는 센싱부;
    상기 로봇이 이동하는 공간의 고정 객체의 위치를 저장하는 맵 저장부;
    상기 로봇을 이동시키는 이동부;
    파티셔닝 정보 및 환경 정보를 하나 이상의 다른 로봇과 송수신하는 통신부;
    상기 로봇이 작업을 수행하는 작업부; 및
    상기 센싱부와 상기 맵 저장부와 상기 이동부와 상기 통신부와 상기 작업부를 제어하며,
    상기 제어부는 상기 로봇에 인접한 제2로봇과 통신 링크를 설정하도록 상기 통신부를 제어하며, 상기 통신부가 상기 제2로봇의 장애 환경 정보를 수신하거나 상기 제2로봇의 통신링크가 단절된 경우 상기 통신부는 상기 제2로봇과 통신링크를 생성하였던 제3로봇과 통신링크를 생성한 후, 상기 제어부는 상기 제3로봇과 재파티셔닝을 수행하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법을 구현하는 로봇.
  12. 제11항에 있어서,
    상기 제어부는 제3로봇과 상기 제2로봇의 제2파티셔닝 영역 및 상기 제1로봇의 제1파티셔닝 영역 및 상기 제3로봇의 제3파티셔닝 영역을 포함하는 영역을 상기 제1로봇의 제1재파티셔닝 영역 및 상기 제3로봇의 제3재파티셔닝 영역으로 재파티셔닝하는 재파티셔닝 맵을 생성하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법을 구현하는 로봇.
  13. 제11항에 있어서,
    상기 통신부는 제4로봇과 통신 링크를 생성하며,
    상기 제어부가 상기 재파티셔닝 맵을 생성한 이후, 상기 제1로봇의 통신부는 상기 제1재파티셔닝 영역에 대한 정보를 상기 제4로봇에게 송신하며,
    상기 제어부는 상기 제4로봇의 제4파티셔닝 영역과 상기 제1재파티셔닝 영역을 포함하는 영역에 대하여 재파티셔닝하는 재파티셔닝 맵을 생성하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법을 구현하는 로봇.
  14. 제11항에 있어서,
    상기 제1로봇을 포함한 상기 다수의 로봇들이 생성한 통신 링크는 링 형태를 유지하며,
    상기 제1로봇의 통신부는 상기 통신 링크를 이용하여 미리 설정된 방향으로 메시지를 송신하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법을 구현하는 로봇.
  15. 제11항에 있어서,
    상기 제1로봇의 통신부가 상기 제2로봇으로부터 초기 파티셔닝 맵을 수신하며,
    상기 제1로봇의 제어부는 상기 제3로봇을 포함하는 T1 레벨의 로봇들 간에 링 구조의 통신 링크를 설정하고, 상기 링 구조의 통신 링크에 기반하여 상기 재파티셔닝 맵을 생성하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법을 구현하는 로봇.
  16. 제11항에 있어서,
    상기 통신부가 송수신한 상기 제3로봇의 환경 정보에 기반하여 상기 제어부가 상기 재파티셔닝 맵을 생성하는, 공간을 분할-작업하는 다중 로봇들 간의 통신 방법을 구현하는 로봇.

KR1020170111479A 2017-08-31 2017-08-31 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇 KR20190024468A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170111479A KR20190024468A (ko) 2017-08-31 2017-08-31 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇
PCT/KR2018/008784 WO2019045294A1 (ko) 2017-08-31 2018-08-02 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170111479A KR20190024468A (ko) 2017-08-31 2017-08-31 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇

Publications (1)

Publication Number Publication Date
KR20190024468A true KR20190024468A (ko) 2019-03-08

Family

ID=65527593

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170111479A KR20190024468A (ko) 2017-08-31 2017-08-31 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇

Country Status (2)

Country Link
KR (1) KR20190024468A (ko)
WO (1) WO2019045294A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110716545A (zh) * 2019-10-18 2020-01-21 深圳拓邦股份有限公司 一种多台清洁设备协同作业方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8744626B2 (en) * 2010-05-27 2014-06-03 Deere & Company Managing autonomous machines across multiple areas
KR101855831B1 (ko) * 2011-05-12 2018-05-09 엘지전자 주식회사 청소 장치, 및 복수의 로봇 청소기를 이용한 협동 청소 방법
KR101415737B1 (ko) * 2012-07-31 2014-08-06 김복수 로봇 청소 시스템
KR102117984B1 (ko) * 2013-11-27 2020-06-02 한국전자통신연구원 군집 로봇의 협력 청소 방법 및 제어 장치
EP3120597B1 (en) * 2014-03-18 2018-08-22 Telefonaktiebolaget LM Ericsson (publ) Provision of coverage for a wireless communication network by using moving base stations on robots or drones

Also Published As

Publication number Publication date
WO2019045294A1 (ko) 2019-03-07

Similar Documents

Publication Publication Date Title
CN109814556B (zh) 一种多机器人协作探索未知环境与地图构建的装置与方法
Darmanin et al. A review on multi-robot systems categorised by application domain
CN102707675B (zh) 群机器人控制器、群机器人控制方法及控制器终端
Andre et al. Collaboration in multi-robot exploration: to meet or not to meet?
Senthilkumar et al. Multi-robot exploration and terrain coverage in an unknown environment
Andre et al. Coordinated multi-robot exploration: Out of the box packages for ROS
KR20190039407A (ko) 설정 디바이스를 이용해 현장 디바이스를 설정하기 위한 시스템 및 방법
Ferranti et al. Brick& Mortar: an on-line multi-agent exploration algorithm
CN106485897A (zh) 智能机器人系统
US20210221001A1 (en) Map-based framework for the integration of robots and smart devices
CN109059926A (zh) 跨楼层路径规划方法及系统
KR20190023835A (ko) 다중 로봇이 공간을 분할-작업하는 방법 및 이를 구현하는 로봇
EP3345057B1 (en) System, device and method for automatic commissioning of application control systems
Sukhatme et al. Embedding robots into the internet
Lopez-Perez et al. Distributed multirobot exploration based on scene partitioning and frontier selection
Nevatia et al. Augmented autonomy: Improving human-robot team performance in urban search and rescue
KR20190024468A (ko) 공간을 분할-작업하는 다중 로봇들 간의 통신 방법 및 이를 구현하는 로봇
Jamshidpey et al. Centralization vs. decentralization in multi-robot coverage: Ground robots under uav supervision
Kang et al. Recen: resilient manet based centralized multi robot system using mobile agent system
Skulimowski Anticipatory control of vehicle swarms with virtual supervision
Krishna Challenges, opportunities, and dimensions of cyber-physical systems
Mathews et al. Deployment of mobile routers ensuring coverage and connectivity
Hung et al. Distributed coverage control for networked multi-robot systems in any environments
KR20220074563A (ko) 다중 로봇 기반 보안 및 감시 장치
Im et al. Radio mapping scheme using collective intelligent robots for teleoperation in unstructured environments