KR20190109332A - 로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇 - Google Patents

로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇 Download PDF

Info

Publication number
KR20190109332A
KR20190109332A KR1020190109844A KR20190109844A KR20190109332A KR 20190109332 A KR20190109332 A KR 20190109332A KR 1020190109844 A KR1020190109844 A KR 1020190109844A KR 20190109844 A KR20190109844 A KR 20190109844A KR 20190109332 A KR20190109332 A KR 20190109332A
Authority
KR
South Korea
Prior art keywords
robot
gap
width
configuration
spaces
Prior art date
Application number
KR1020190109844A
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 KR1020190109844A priority Critical patent/KR20190109332A/ko
Publication of KR20190109332A publication Critical patent/KR20190109332A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇이 개시된다. 개시된 로봇은 하나 이상의 명령어를 저장하는 메모리, 상기 하나 이상의 명령을 실행함으로써, 로봇의 경로 계획을 산출하고, 상기 경로 계획을 이용하여 상기 로봇의 이동 명령을 생성하는 프로세서 및 상기 이동 명령에 기초하여 상기 로봇을 이동시키는 주행부를 포함하고, 상기 프로세서는, 실제 공간에 위치한 복수의 객체에 대한 정보를 가지는 n(2 이상의 정수)개의 구성 공간(C-space)을 생성하고, 상기 n개의 구성 공간에 기초하여 상기 로봇의 경로 계획을 산출하되,상기 객체에 대한 정보는 상기 복수의 객체의 표면에 형성된 가상의 충돌 방지 영역의 정보를 포함하고, 상기 로봇은 상기 충돌 방지 영역으로 이동할 수 없고, 상기 n개의 구성 공간 각각의 충돌 방지 영역의 폭은 상이하다.

Description

로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇{APPARATUS AND METHOD FOR PLANNING PATH OF ROBOT, AND ROBOT FOR OPERATING BASED ON THE METHOD}
본 발명은 로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇에 관한 기술이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다.
한편, 이동 계획(motion planning) 문제는 로봇이 장애물과의 충돌을 피하면서 초기 상태에서 목표 상태까지 도달하는 이동 경로를 찾는 것을 의미한다. 이는 자율 주행, 군용 물류 운송 등 로봇을 활용하는 분야에서 필수적인 요소이다.
여러 가지 이동 계획 기법들이 개발되었는데, 그 중에서 PRM (Probabilistic Roadmaps Method), RRT(Rapidly exploring Random Trees)와 같은 샘플링 기반의 모션 플래닝(motion planning) 알고리즘이 많이 사용되고 있다.
샘플링 기반 모션 플래닝은 주어진 문제의 차원이 증가할 때의 계산량의 증가 폭이 작은 장점이 있다. 하지만, 공간 상의 장애물을 C-space(Configuration Space)로 변환하는 것은 C-space의 차원이 증가함에 따라 계산량이 큰 폭으로 증가한다.
샘플링 기반의 모션 플래닝 알고리즘은 C-space 상의 충돌이 없는 로봇의 상태(Configuration state)를 샘플링하고, 이들 간의 관계를 그래프화하여 C-space를 추정하며, 이를 통해 차원의 문제를 해결한다.
한편, 샘플링 기반 모션 플래닝 알고리즘은 충돌 마진 확보와 최소폭 탐색을 동시에 수행할 수 없고, 따라서 복잡한 비용(cost) 맵을 생성하여 최적화 튜닝을 수행한다.
하지만, 샘플링 기반 모션 플래닝 알고리즘을 서비스 로봇에 적용하기 위해서는 동적 환경에서 지속적인 재탐색 동작을 수행하여야 하나, 많은 연산 동작으로 인한 한계점이 존재한다.
본 발명의 목적은 서로 다른 n개의 구성 공간을 사용하여 로봇의 경로 계획을 산출함으로써, 로봇의 충돌 방지를 최소화하고, 빠른 속도로 경로 계획을 산출할 수 있는 로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 로봇은, 하나 이상의 명령어를 저장하는 메모리, 상기 하나 이상의 명령을 실행함으로써, 로봇의 경로 계획을 산출하고, 상기 경로 계획을 이용하여 상기 로봇의 이동 명령을 생성하는 프로세서, 상기 이동 명령에 기초하여 상기 로봇을 이동시키는 주행부를 포함하고, 상기 프로세서는, 실제 공간에 위치한 복수의 객체에 대한 정보를 가지는 n(2 이상의 정수)개의 구성 공간(C-space)을 생성하고, 상기 n개의 구성 공간에 기초하여 상기 로봇의 경로 계획을 산출하되, 상기 객체에 대한 정보는 상기 복수의 객체의 표면에 형성된 가상의 충돌 방지 영역의 정보를 포함하고, 상기 로봇은 상기 충돌 방지 영역으로 이동할 수 없고, 상기 n개의 구성 공간 각각의 충돌 방지 영역의 폭은 상이하다.
본 발명의 일 실시예에 의한 로봇의 경로 계획 장치는, 하나 이상의 명령어를 저장하는 메모리 및 상기 하나 이상의 명령을 실행함으로써, 로봇의 경로 계획을 산출하는 프로세서를 포함하고, 상기 프로세서는, 실제 공간에 위치한 복수의 객체에 대한 정보를 가지는 n(2 이상의 정수)개의 구성 공간을 생성하고, 상기 n개의 구성 공간에 기초하여 상기 로봇의 경로 계획을 산출하고, 상기 객체에 대한 정보는 상기 복수의 객체의 표면에 형성된 가상의 충돌 방지 영역의 정보를 포함하고, 상기 로봇은 상기 충돌 방지 영역으로 이동할 수 없고, 상기 n개의 구성 공간 각각의 충돌 방지 영역의 폭은 상이하다.
본 발명의 일 실시예에 의한 프로세서가 포함된 장치에서 수행되는 로봇의 경로 계획 방법은, 실제 공간에 위치한 복수의 객체에 대한 정보를 가지는 n(2 이상의 정수)개의 구성 공간을 생성하는 단계, 상기 n개의 구성 공간에 기초하여 상기 로봇의 경로 계획을 산출하는 단계를 포함하되, 상기 객체에 대한 정보는 상기 복수의 객체의 표면에 형성된 가상의 충돌 방지 영역의 정보를 포함하고, 상기 로봇은 상기 충돌 방지 영역으로 이동할 수 없고, 상기 n개의 구성 공간 각각의 충돌 방지 영역의 폭은 상이하다.
본 발명에 따르면, 로봇의 충돌 방지를 최소화하고, 빠른 속도로 경로 계획을 산출할 수 있는 장점이 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 로봇의 경로 계획 방법의 흐름도를 도시한 도면이다.
도 3 내지 도 5는 본 발명의 일 실시예에 따른 n개의 구성 공간의 일례를 도시하고 있다.
도 6 및 도 7은 도 2의 단계(S240)의 일례를 설명하기 위한 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
본 명세서에서 기술되는 로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
한편, 로봇은 AI 기술이 적용될 수 있으며, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇에서 직접 학습되거나, AI 서버 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇을 주행시킬 수 있다.
맵 데이터에는 로봇이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
앞서 설명한 내용들은 본 명세서에 후술되는 내용에 적용될 수 있으며, 본 명세서에서 제안하는 방법들의 기술적 특징을 구체화하거나 명확하게 하는데 보충될 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 로봇(100)은 자율적으로 주행하는 이동 로봇일 수 있으며, 통신부(110), 센싱부(120), 주행부(130), 사용자 인터페이스부(140), 메모리(150) 및 프로세서(160)를 포함할 수 있다.
이하, 각 구성 요소 별로 그 기능을 상세하게 설명하기로 한다.
통신부(110)는 외부 장치와 통신을 수행한다. 일례로서, 외부 장치는 사용자의 단말기, 로봇의 제어 서버 등일 수 있다. 이 때, 통신부(110)는 이동통신 모듈, 근거리 통신 모듈 등을 포함할 수 있다.
이동 통신 모듈은 이동 통신을 위한 기술 표준들 또는 통신 방식을 사용하여 통신을 수행할 수 있다. 여기서, 기술 표준들 또는 통신 방식은 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G 네트워크 등을 포함할 수 있다.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 포함할 수 있다.
센싱부(120)는 다양한 센서들을 이용하여 로봇(100)의 내부 정보 및 로봇(110)의 주변 환경 정보 등을 획득한다.
일례로, 센싱부(120)는 근접 센서(proximity sensor), 조도 센서(illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 카메라 센서, 적외선 센서(IR 센서: infrared sensor), 지문 인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor), 라이다 센서, 레이더 센서 등을 포함할 수 있다.
특히, 적외선 센서, 초음파 센서, 라이다 센서, 레이더 센서 등은 객체와 로봇(100) 간의 거리를 측정할 때 사용된다. 즉, 상기의 센서는 객체와 로봇(100) 간의 거리를 측정하는 거리 측정 센서이다.
주행부(130)는 휠 등을 포함하며, 로봇(100)을 이동시킨다. 여기서, 주행부(130)는 아래에서 설명하는 프로세서(160)에서 생성된 이동 명령에 기초하여 로봇(100)를 이동시킨다.
사용자 인터페이스부(140)는 로봇(100)의 이동을 위한 시작 지점 및 목표 지점의 좌표를 사용자로부터 입력받는다. 즉, 사용자 인터페이스부(140)는 로봇(100)에 작업 명령을 입력하기 위해, 사용자로부터 스위치 조작 신호 또는 음성 신호 등을 입력받을 수 있다.
메모리(150)는 휘발성 및/또는 비휘발성 메모리일 수 있고, 로봇(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장한다. 특히, 메모리(160)에는 로봇(100)의 주행과 관련된 컴퓨터 프로그램 내지 기록 매체에 관계된 명령어 또는 데이터, 아래에서 설명하는 샘플링 기반의 모션 플래닝(motion planning) 알고리즘 등이 저장될 수 있다.
프로세서(160)는 중앙처리장치, 애플리케이션 프로세서, 또는 커뮤니케이션 프로세서 중 하나 또는 그 이상을 포함할 수 있다. 예를 들면, 프로세서(160)는 로봇(100)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
특히, 프로세서(160)는 상기 컴퓨터 프로그램의 실행에 관계된 명령을 실행하여 로봇(100)의 경로 계획(path planning)을 산출하고, 경로 계획을 이용하여 로봇(100)의 이동 명령을 생성할 수 있다.
한편, 통신부(110), 메모리(150) 및 프로세서(160)는 별로도 하나의 장치, 즉 로봇(100)의 경로 계획 장치를 구성할 수도 있다. 일례로서, 로봇(100)의 경로 계획 장치는 상기에서 설명한 바와 같이 로봇(100)의 내부에 포함될 수도 있고, 통신부(110)를 통해 로봇(100)과 통신하는 제어 서버 내부에 포함될 수도 있다.
본 발명에 따른 로봇(100)은 샘플링 기반의 모션 플래닝(motion planning) 알고리즘에 기초하여 로봇(100)의 경로 계획을 산출할 수 있다. 이하, 본 발명의 기반이 되는 샘플링 기반의 모션 플래닝 알고리즘에 대해 개략적으로 설명하기로 한다.
로봇에 주어진 임무 또는 서비스를 수행하기 위해서, 로봇의 동작을 제어하는 것이 중요하다. 로봇의 동작을 다루는 기술은 기본적으로 경로 계획(path planning) 알고리즘 또는 모션 계획 알고리즘에 기반을 둔다. 로봇의 경로 계획을 위해서 로봇 주행 지역의 환경 지도(즉, 객체 맵)이 필요하다. 환경 지도를 이용하여 로봇은 실행 가능한 경로들을 찾고, 이 중에서 최적의 경로를 선택하여 추종한다
모션 계획 알고리즘은 장애물(즉, 객체)과의 충돌을 피하면서 로봇을 초기 상태에서 목표 상태로 도달하도록 하는 구현 가능한 이동 경로를 검색하는 알고리즘이다. 이는 공업 분야, 자율 주행, 군용 물류 운송 등 로봇을 활용하는 분야에서 사용되고 있다.
모션 계획 알고리즘은 그리드(grid) 기반의 격자 주행 경로 계획과 샘플링 기반의 경로 계획으로 구분된다.
그리드 기반의 격자 주행 경로계획은 환경 지도를 격자로 나뉘어 격자간의 주행으로 목적지까지 주행하는 경로를 계획한다.
샘플링 기반의 경로 계획은 환경 지도를 사용하여 트리 형태의 모습으로 주행 가능 지역들을 탐색하여 목적지까지의 경로를 찾는다. 샘플링 기반의 경로 계획은 최적화된 경로를 찾기 보다는 불확실성을 이용하여 복잡한 로봇의 동역학을 고려한 경로 생성을 목적으로 한다.
여러 가지 샘플링 기반의 경로 계획들이 개발되었는데, 그 중에서 PRM(Probabilistic Roadmaps), RRT(Rapidly exploring Random Trees), RRT*(Rapidly exploring Random Tree Star) 등과 같은 샘플링 기반의 알고리즘들이 최근 많이 활용되고 있다. 샘플링 기반의 알고리즘은 완결성(completeness) 요구 조건을 완화함으로써, 높은 차원의 상태 공간일지라도 시작 상태와 목표 상태를 연결하는 구현 가능한 경로를 상대적으로 빠르게 찾을 수 있다.
PRM 알고리즘은 구성 공간(C-space: Configuration space)에서 존재하는 충돌 회피점을 무작위로 추출한 후에 상호 연결하여 로드맵을 구성하고, 각각의 경로에 대하여 이동에 소요되는 비용을 연산함으로써, 시작 지점과 목표 지점을 연결하는 최적의 경로를 추출한다.
PRM 알고리즘은 구성 공간 상의 자유 공간에서 경로계획을 위한 로드맵을 구성하는 과정인 학습 단계(preprocessing phase)와, 구성된 로드맵을 바탕으로 각각의 국부 경로에 대한 이동 비용을 연산하여 전역 경로를 생성하는 과정인 쿼리 단계(query phase)를 포함한다.
학습 단계에서는, 구성 공간 내에 존재하는 충돌 회피점을 무작위로 추출한 후, 충돌 회피점을 상호 연결하여 네트워크 형식의 로드맵을 구성한다. 쿼리 단계에서는 로드 맵을 바탕으로 시작 지점과 목표지점을 연결하면서 최적의 전역 경로를 구성한다.
RRT 알고리즘은 구성 공간에서 무작위 탐색을 이용하여 자료 구조(tree)를 생성하고, 이를 로봇의 경로 계획으로 이용한다. 구성 공간에서 로봇의 구성이 하나의 노드로 모델링된 트리로 시각화되며, 시작 지점으로부터 목적 지점까지 제약조건을 만족하는 경로를 검색한다.
여기서, 트리의 확장은 구성 공간에서 무작위로 샘플링한 노드에서 트리에 속하는 노드들 중 최근접 노드를 정하고, 그 최근접 노드에서 일정 거리만큼 떨어진 새로운 노드를 선정하는 과정의 반복과 대응된다.
RRT*는 RRT로부터 생성되는 경로가 최적 경로로 수렴되지 않는 문제점을 극복하기 위해 개발되었다. RRT* 기반의 알고리즘은 반복 수 증가에 따라 점진적으로 최적 경로로 수렴하고, 동적인 환경 속에서 빠르게 경로를 생성할 수 있고, 상대적으로 적은 반복수로 경로를 검색할 수 있다.
이하, 상기에서 설명한 내용에 초기하여, 로봇(100)이 경로 계획을 산출하는 방법을 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 로봇의 경로 계획 방법의 흐름도를 도시한 도면이다. 이는 로봇(100) 또는 로봇(100)의 경로 계획 장치에서 수행될 수 있다.
이하, 각 단계 별로 수행되는 과정을 상세하게 설명한다.
단계(S210)에서는 복수의 객체와 로봇(100) 간의 거리 정보를 획득한다.
여기서, 객체는 실제 공간에 위치하는 장애물과 대응된다.
그리고, 상기 방법이 로봇(100)에서 수행되는 경우, 단계(S210)는 센싱부(120)를 이용하여 거리 정보를 측정하는 과정과 대응될 수 있다.
또는, 상기 방법이 로봇(100)의 경로 계획 장치에서 수행되는 경우, 단계(S210)는 로봇(100)에서 측정된 거리 정보를 통신부(110)를 통해 수신하는 과정과 대응될 수 있다.
단계(S220)에서, 프로세서(160)는 획득된 거리 정보를 이용하여 객체 맵을 생성한다. 생성된 객체 맵은 메모리(150)에 저장된다.
객체 맵은 장애물 맵과 대응되며, 실제 공간에서 객체(즉, 장애물)이 어디에 위치하는지에 대한 정보를 담고 있다.
단계(S230)에서, 프로세서(160)는 객체 맵에 기초하여 n(2 이상의 정수)개의 구성 공간(C-space)을 생성한다.
n개의 구성 공간 각각은 로봇(100)의 이동 경로를 생성하기 위해 이용되는 것으로서, 이진 맵(binary map)일 수 있으며, 시작 지점, 목표 지점, 객체에 대한 정보(즉, 장애물에 대한 정보)를 포함한다.
도 3 내지 도 5에서는 프로세서(160)에 의해 생성된 n개의 구성 공간의 일례를 도시하고 있다.
설명의 편의를 이해, 도 3에서는 3개의 구성 공간을 도시하였으나, 이는 일례에 불과한 것으로서, n개의 구성 공간 각각에 대해 하기에서 설명하는 내용이 적용될 수 있다.
도 3 내지 도 5를 참조하면, 구성 공간에 포함된 객체에 대한 정보는, 복수의 객체(310)의 표면에 형성된 충돌 방지 영역(320)의 정보를 포함한다.
이 때, 구성 공간에 표시된 객체(310)는 설명의 편의를 위해 나타낸 것으로서, 구성 공간 상에는 표시되지 않을 수 있다.
충돌 방지 영역(320)은 실제 공간에서 존재하지 않고, 구성 공간에서만 존재하는 가상의 영역이다.
충돌 방지 영역(320)은 로봇(100)이 이동할 때 객체와 충돌하는 것을 방지하기 위해 설정된다. 로봇(100)은 충돌 방지 영역(320)으로 또는 충돌 방지 영역(320)을 통하여 이동할 수 없다.
도 3 내지 도 5를 참조하면, 각각의 구성 공간에서, 충돌 방지 영역(320)은 동일한 폭으로 객체(310)의 표면에 형성될 수 있다.
즉, 충돌 방지 영역(320)은 구성 공간 상에서 객체(310)의 표면이 확장된 것일 수 있으며, 실제 공간에서의 객체(310)의 표면은 구성 공간에서의 충돌 방지 영역(320)과 대응된다. 일례로, 충돌 방지 영역(320)에 의해 길이 막혀있는 경우, 로봇(100)은 길로 이동할 수 없다.
본 발명의 일 실시예에 따르면, n개 구성 공간 각각의 충돌 방지 영역(320)의 폭은 상이할 수 있다. 이는 도 3 내지 도 5에 도시된 바와 같다.
도 3에서는 가장 작은 폭의 충돌 방지 영역(320)을 가지는 구성 공간을 도시하고 있고, 도 4에서는 중간 폭의 충돌 방지 영역(320)을 가지는 구성 공간을 도시하고 있고, 도 5에서는 가장 넓은 폭의 충돌 방지 영역(320)을 가지는 구성 공간을 도시하고 있다.
즉, 프로세서(160)는 순위(order)를 가지도록 충돌 방지 영역(320)을 생성할 수 있다. 일례로, 첫번째 구성 공간에 포함된 충돌 방지 영역(320)의 폭은 제일 짧고, 순위가 높아질수록 구성 공간에 포함된 충돌 방지 영역(320)의 폭은 커지며, 마지막 구성 공간(즉, n번째 구성 공간)에 포함된 충돌 방지 영역(320)의 폭이 가장 길다.
본 발명의 일 실시예에 따르면, 프로세서(160)는 로봇(100)의 폭, 구성 공간의 순위, 객체 맵의 해상도 및 거리 측정 센서의 해상도 중 적어도 하나를 이용하여 n개의 구성 공간 각각의 충돌 방지 영역(320)의 폭을 설정할 수 있다.
보다 상세하게, 프로세서(160)는 첫번째 구성 공간의 충돌 방지 영역(320)의 폭을 로봇(100)의 폭의 절반 및 기 설정된 제1 마진 폭의 합(즉,
Figure pat00001
)으로 설정할 수 있다. 이는 아래의 수학식 1과 같이 표현될 수 있다.
즉, 상기에서도 설명한 바와 같이, 충돌 방지 영역(320)은 객체(310)의 표면이 구성 공간 내에서 확장한 것과 대응되고, 로봇(100)이 이동하기 위해서는 로봇(100)의 폭의 절반만큼의 길의 폭이 형성되어야 한다. 따라서, 프로세서(160)는 로봇(100)의 폭의 절반과 오차 등을 위해 설정된 제1 마진 폭에 기초하여 첫번째 구성 공간의 충돌 방지 영역(320)의 폭을 설정할 수 있다.
여기서, 제1 마진 폭은 거리 측정 센서의 해상도 및 로봇(100)의 폭에 기초하여 설정될 수 있다.
즉, 거리 측정 센서의 해상도가 크면 로봇(100)은 보다 정확한 주행 제어가 가능하다. 따라서, 거리 측정 센서의 해상도가 작을수록 제1 마진 폭은 작게 설정되고, 거리 측정 센서의 해상도가 클수록 제1 마진 폭은 크게 설정된다.
또한, 프로세서(160)는 i(2 이상 n 이하의 정수)번째 구성 공간의 충돌 방지 영역(320)의 폭을, 첫번째 구성 공간의 충돌 방지 영역의 폭과 i번째 마진 폭의 합(즉,
Figure pat00002
)으로 설정할 수 있다. 여기서, i번째 마진 폭은 객체 맵의 해상도에 따른 제1 폭과 i의 곱(즉,
Figure pat00003
)으로 설정될 수 있다.
즉, 프로세서(160)는 n개의 구성 공간의 충돌 방지 영역(320)의 폭을 순위와 비례하여 설정할 수 있다.
한편, 객체 맵 및 n개의 구성 공간은 로봇(100)이 이동하는 경우 업데이트될 수 있으며, 이는 프로세서(160)에 의해 수행될 수 있다.
다시, 도 2를 참조하면, 단계(S240)에서, 프로세서(160)는 n개의 구성 공간에 기초하여 로봇(100)의 경로 계획을 산출한다. 이 때, 프로세서(160)는 샘플링 기반의 모션 플래닝 알고리즘을 이용할 수 있다.
특히, 공간 상에 위치한 제1 객체와 제2 객체 사이에 틈(gap)이 존재하는 경우, 프로세서(160)는 n개의 구성 공간을 순차적으로 모션 플래닝 알고리즘에 입력하여 상기 틈으로 로봇(100)이 이동할 수 있는지 여부를 판단할 수 있다.
단계(S250)에서, 프로세서(160)는 산출된 경로 계획을 이용하여 로봇(100)의 이동 명령을 생성한다.
단계(S260)에서, 주행부(130)는 이동 명령에 기초하여 로봇(100)을 이동시킨다.
이하, 본 발명의 주요 특징인 단계(S240)에 대해 보다 상세하게 설명하기로 한다.
본 발명의 제1 실시예에 따르면, 프로세서(160)는 n개의 구성 공간을 순위가 높은 순서에서 낮은 순서로 순차적으로 모션 플래닝 알고리즘에 입력하여 상기 틈으로 로봇(100)이 이동할 수 있는지 여부를 판단할 수 있다.
여기서, 상기 틈의 폭은, 상기 틈과 맞닿은 제1 객체의 충돌 방지 영역과, 상기 틈과 맞닿은 제2 객체의 충돌 방지 영역 사이의 거리와 대응될 수 있다.
도 6은 상기에서 설명한 단계(S240)의 제1 실시예의 흐름도를 도시한 도면이다.
먼저, 단계(S241)에서, 프로세서(160)는 n개의 구성 공간 중 n(= j)번째 구성 공간(즉, 순위가 최대인 구성 공간)을 선택한다.
다음으로, 단계(S242)에서, 프로세서(160)는 구성 공간의 순위가 0인지 여부를 판단한다.
만약, 구성 공간의 순위가 0인 경우, 단계(S243)에서 프로세서(160)는 다른 경로를 검색한다.
반대로, 구성 공간의 순위가 0이 아닌 경우, 단계(S244)에서 프로세서(160)는 선택된 구성 공간을 모션 플래닝 알고리즘에 입력한다.
그 후, 단계(S245)에서 프로세서(160)는 상기 틈으로 로봇(100)이 이동 가능한지 여부를 판단한다. 이는 모션 플래닝 알고리즘에 의해 수행될 수 있다.
만약, 상기 틈으로 로봇(100)이 이동할 수 있는 경우, 단계(S246)에서 프로세서(160)는 순위가 최대인 구성 공간을 이용하여 로봇(100)의 경로 계획을 산출한다.
반대로, 상기 틈으로 로봇(100)이 이동할 수 없는 경우, 단계(S247)에서 프로세서(160)는 j를 1만큼 감소시키고, 단계(S248)에서 프로세서(160)는 j가 감소된 구성 공간을 선택한다.
즉, 단계(S244) 내지 단계(S248)를 정리하면, 프로세서(160)는, j번째 구성 공간을 이용하여 로봇(100)이 상기 틈으로 이동할 수 있는지 여부를 판단한다. 로봇(100)이 상기 틈으로 이동할 수 있는 경우, 프로세서(160)는 상기 틈으로 로봇(100)이 이동하는 경로 계획을 산출하고, 로봇(100)이 상기 틈으로 이동할 수 없는 경우, 프로세서(160)는 j-1번째 구성 공간을 이용하여 로봇(100)이 상기 틈으로 이동할 수 있는지 여부를 판단한다.
이 후 단계(S242) 내지 단계(S246)이 반복되어 수행된다.
도 7은 도 6의 단계를 개념적으로 설명하기 위한 도면이다. 이 때, 설명의 편의를 위해 3개의 구성 공간이 이용된다.
먼저, 프로세서(160)는 3개의 구성 공간 중 최대의 충돌 방지 영역(320)의 폭을 가지는 3번째 구성 영역을 모션 플래닝 알고리즘에 입력한다.
이 때, 로봇(100)의 폭은 3번째 구성 영역의 제3 틈보다 크다. 따라서, 프로세서(160)는 로봇(100)이 제3 틈으로 이동할 수 없는 것으로 판단하며, 다음 과정으로 넘어간다.
그 후, 프로세서(160)는 3개의 구성 공간 중 중간의 충돌 방지 영역(320)의 폭을 가지는 2번째 구성 영역을 모션 플래닝 알고리즘에 입력한다.
이 때, 로봇(100)의 폭은 2번째 구성 영역의 제2 틈보다 크다. 따라서, 프로세서(160)는 로봇(100)이 제2 틈으로 이동할 수 없는 것으로 판단하며, 다음 과정으로 넘어간다.
마지막으로, 프로세서(160)는 3개의 구성 공간 중 최소의 충돌 방지 영역(320)의 폭을 가지는 1번째 구성 영역을 모션 플래닝 알고리즘에 입력한다.
이 때, 로봇(100)의 폭은 1번째 구성 영역의 제1 틈보다 작다. 따라서, 프로세서(160)는 로봇(100)이 제1 틈으로 이동할 수 있는 것으로 판단하며, 로봇(100)의 경로 계획을 산출한다.
한편, 상기 틈으로 간격과 비례하여 로봇(100)이 상기 틈으로 이동하는 속도가 결정될 수 있다. 즉, 상기 틈으로 로봇(100)이 이동하는 속도는 충돌 방지 영역(320)의 폭과 비례할 수 있다.
다시 말해, 충돌 방지 영역(320)의 폭이 큰 경우, 로봇(100)이 객체와 충돌할 가능성이 낮으므로, 프로세서(160)는 로봇(100)이 빠른 속도로 이동하도록 제어할 수 있다. 또는, 충돌 방지 영역(320)의 폭이 작은 경우, 로봇(100)이 객체와 충돌할 가능성이 상기한 상황보다 높으므로, 프로세서(160)는 로봇(100)이 느린 속도로 이동하도록 제어할 수 있다. 이는 로봇(100)의 충돌 가능성을 더 줄이기 위함이다.
요컨대, 본 발명은 하나의 구성 공간을 사용하는 것이 아니라, 충돌 방지 영역(320)이 서로 다른 n개의 구성 공간을 사용하여 로봇(100)의 경로 계획을 산출한다. 이 때, 충돌 방지 영역(320)의 폭이 큰 순서대로 순차적으로 이용함으로써 로봇(100)의 충돌 방지를 최소화할 수 있다.
또한, 본 발명에 따르면, 프로세싱 능력이 낮은 프로세서에서도 경로 계획을 빠르게 산출할 수 있고, 실시간 재탐색이 가능하며, 경로 최적화 및 충돌 마진 영역을 동시에 확보할 수 있다.
한편, 본 발명의 제2 실시예에 따르면, 프로세서(160)는 n개의 구성 공간을 순위가 낮은 순서에서 높은 순서로 순차적으로 모션 플래닝 알고리즘에 입력하여 상기 틈으로 로봇(100)이 이동할 수 있는지 여부를 판단할 수 있다. 이는 상기에서 설명한 프로세서(160)의 동작과 반대되는 동작이다.
이 때, 프로세서(160)는, 기 설정된 시간 구간에서, n개의 구성 공간 중 상기 틈으로 로봇(100)이 이동할 수 있는 적어도 하나의 구성 공간을 산출하고, 적어도 하나의 구성 공간 중 상기 틈의 폭이 최대인 구성 공간을 이용하여 경로 계획을 산출할 수 있다.
보다 상세하게, 프로세서(160)는 주기적으로 경로 계획을 산출하기 위한 처리 동작을 수행한다. 이 때, 설명의 편의를 위해 9개의 구성 공간이 생성되고, 프로세서(160)가 하나의 주기 내에서 3개의 구성 공간에 대한 처리가 가능하며, 1번째 구성 공간 내지 4번째 구성 공간에 포함된 틈으로 로봇(100)이 이동할 수 있는 것으로 가정한다.
n개의 구성 공간을 순위가 높은 순서에서 낮은 순서로 순차적으로 입력하는 본 발명의 제1 실시예의 경우, 2개의 주기를 사용하여 경로 계획을 설정하여야 한다. 그러나, n개의 구성 공간을 순위가 낮은 순서에서 높은 순서로 순차적으로 입력하는 본 발명의 제2 실시예의 경우 하나의 주기만을 사용하여 경로 계획을 설정할 수 있다.
따라서, 본 발명의 제2 실시예는 본 발명의 제1 실시예보다 로봇(100)의 충돌 가능성을 줄일 수는 없지만, 보다 빠르게 경로 계획을 산출할 수 있다.
또한, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
100: 로봇 110: 통신부
120: 센서부 130: 주행부
140: 사용자 인터페이스부 150: 메모리
160: 프로세서

Claims (20)

  1. 하나 이상의 명령어를 저장하는 메모리;
    상기 하나 이상의 명령을 실행함으로써, 로봇의 경로 계획을 산출하고, 상기 경로 계획을 이용하여 상기 로봇의 이동 명령을 생성하는 프로세서; 및
    상기 이동 명령에 기초하여 상기 로봇을 이동시키는 주행부;를 포함하고,
    상기 프로세서는, 실제 공간에 위치한 복수의 객체에 대한 정보를 가지는 n(2 이상의 정수)개의 구성 공간(C-space)을 생성하고, 상기 n개의 구성 공간에 기초하여 상기 로봇의 경로 계획을 산출하되,
    상기 객체에 대한 정보는 상기 복수의 객체의 표면에 형성된 가상의 충돌 방지 영역의 정보를 포함하고, 상기 로봇은 상기 충돌 방지 영역으로 이동할 수 없고, 상기 n개의 구성 공간 각각의 충돌 방지 영역의 폭은 상이한, 로봇.
  2. 제1항에 있어서,
    상기 복수의 객체와 상기 로봇 간의 거리를 측정하는 센싱부;를 더 포함하되,
    상기 프로세서는 상기 센싱부에서 측정된 정보를 이용하여 객체 맵을 생성하고, 상기 객체 맵에 기초하여 상기 n개의 구성 공간을 생성하며,
    상기 객체 맵 및 상기 n개의 구성 공간은 상기 로봇의 이동 시 업데이트되는, 로봇
  3. 제1항에 있어서,
    상기 n개의 구성 공간은 순위(order)을 가지고,
    상기 프로세서는 상기 로봇의 폭, 상기 구성 공간의 순위, 상기 n개의 구성 공간을 생성하는데 이용되는 객체 맵의 해상도 및 상기 로봇에 포함된 거리 측정 센서의 해상도 중 적어도 하나를 이용하여 상기 n개의 구성 공간 각각의 상기 충돌 방지 영역의 폭을 설정하는, 로봇.
  4. 제1항에 있어서,
    상기 n개의 구성 공간 중 첫번째 구성 공간의 충돌 방지 영역의 폭은 상기 로봇의 폭의 절반 및 기 설정된 제1 마진 폭의 합으로 설정되는, 로봇.
  5. 제4항에 있어서,
    상기 제1 마진 폭은 상기 로봇에 포함된 거리 측정 센서의 해상도 및 상기 로봇의 폭에 기초하여 설정되는, 로봇
  6. 제3항에 있어서,
    상기 n개의 구성 공간 중 i(2 이상 n 이하의 정수)번째 구성 공간의 충돌 방지 영역의 폭은 상기 첫번째 구성 공간의 충돌 방지 영역의 폭과 i번째 마진 폭의 합으로 설정되는, 로봇.
  7. 제5항에 있어서,
    상기 i번째 마진 폭은 상기 n개의 구성 공간을 생성하는데 이용되는 객체 맵의 해상도에 따른 제1 폭과 i의 곱으로 설정되는, 로봇.
  8. 제6항에 있어서,
    제1 객체와 제2 객체 사이에 틈(gap)이 존재하며, 상기 프로세서는 상기 n개의 구성 공간을 순위가 높은 순서에서 낮은 순서로 순차적으로 이용하여 상기 틈으로 상기 로봇이 이동할 수 있는지 여부를 판단하되,
    상기 틈의 폭은 상기 틈과 맞닿은 상기 제1 객체의 충돌 방지 영역과 상기 틈과 맞닿은 상기 제2 객체의 충돌 방지 영역 사이의 거리와 대응되는, 로봇.
  9. 제8항에 있어서,
    상기 프로세서는, j(2 이상 n 이하의 정수)번째 구성 공간을 이용하여 상기 로봇이 상기 틈으로 이동할 수 있는지 여부를 판단하되,
    상기 로봇이 상기 틈으로 이동할 수 있는 경우, 상기 프로세서는 상기 틈으로 상기 로봇이 이동하는 경로 계획을 산출하고,
    상기 로봇이 상기 틈으로 이동할 수 없는 경우, 상기 프로세서는 j-1번째 구성 공간을 이용하여 상기 로봇이 상기 틈으로 이동할 수 있는지 여부를 판단하는, 로봇.
  10. 제9항에 있어서,
    상기 프로세서는, 상기 j번째 구성 공간에서의 상기 틈의 폭이 상기 로봇의 폭보다 큰 경우, 상기 로봇이 상기 틈으로 이동할 수 있는 것으로 판단하는, 로봇.
  11. 제8항에 있어서,
    상기 프로세서는 샘플링 기반의 모션 계획 알고리즘에 상기 n개의 구성 공간을 순위가 높은 순서로부터 순차적으로 입력하여 상기 로봇의 경로 계획을 산출하되,
    상기 n개의 구성 공간 어느 하나의 구성 공간에서 상기 로봇이 상기 틈으로 이동할 수 있는 것으로 판단된 경우, 상기 샘플링 기반의 모션 계획 알고리즘은 상기 로봇의 이동 경로를 출력하는, 로봇.
  12. 제9항에 있어서,
    상기 틈으로 상기 로봇이 이동하는 속도는 상기 충돌 방지 영역의 폭과 비례하는 속도와 비례하는, 로봇.
  13. 제6항에 있어서,
    제1 객체와 제2 객체 사이에 틈이 존재하고,
    상기 프로세서는 상기 n개의 구성 공간을 순위가 낮은 순서에서 높은 순서로 순차적으로 이용하여 상기 틈으로 상기 로봇이 이동할 수 있는지 여부를 판단하되,
    상기 틈의 폭은 상기 틈과 맞닿은 상기 제1 객체의 충돌 방지 영역과 상기 틈과 맞닿은 상기 제2 객체의 충돌 방지 영역 사이의 거리와 대응되고,
    상기 프로세서는, 기 설정된 시간 구간에서 상기 n개의 구성 공간 중 상기 틈으로 상기 로봇이 이동할 수 있는 적어도 하나의 구성 공간을 산출하고, 상기 적어도 하나의 구성 공간 중 상기 틈의 폭이 최대인 구성 공간을 이용하여 상기 경로 계획을 산출하는, 로봇.
  14. 하나 이상의 명령어를 저장하는 메모리; 및
    상기 하나 이상의 명령을 실행함으로써, 로봇의 경로 계획을 산출하는 프로세서;를 포함하고,
    상기 프로세서는, 실제 공간에 위치한 복수의 객체에 대한 정보를 가지는 n(2 이상의 정수)개의 구성 공간을 생성하고, 상기 n개의 구성 공간에 기초하여 상기 로봇의 경로 계획을 산출하고,
    상기 객체에 대한 정보는 상기 복수의 객체의 표면에 형성된 가상의 충돌 방지 영역의 정보를 포함하고, 상기 로봇은 상기 충돌 방지 영역으로 이동할 수 없고, 상기 n개의 구성 공간 각각의 충돌 방지 영역의 폭은 상이한, 로봇의 경로 계획 장치.
  15. 제14항에 있어서,
    상기 n개의 구성 공간은 순위를 가지고,
    상기 n개의 구성 공간 중 첫번째 구성 공간의 충돌 방지 영역의 폭은 상기 로봇의 폭의 절반 및 기 설정된 제1 마진 폭의 합으로 설정되고,
    상기 n개의 구성 공간 중 i번째 구성 공간의 충돌 방지 영역의 폭은 상기 첫번째 구성 공간의 충돌 방지 영역의 폭과 i번째 마진 폭의 합으로 설정되는, 로봇의 경로 계획 장치.
  16. 제15항에 있어서,
    제1 객체와 제2 객체 사이에 틈이 존재하며, 상기 프로세서는 상기 n개의 구성 공간을 순위가 높은 순서에서 낮은 순서로 순차적으로 이용하여 상기 틈으로 상기 로봇 이동할 수 있는지 여부를 판단하되,
    상기 틈의 폭은 상기 틈과 맞닿은 상기 제1 객체의 충돌 방지 영역과 상기 틈과 맞닿은 상기 제2 객체의 충돌 방지 영역 사이의 거리와 대응되는, 로봇의 경로 계획 장치.
  17. 제16항에 있어서,
    상기 프로세서는, j(2 이상 n 이하의 정수)번째 구성 공간을 이용하여 상기 로봇이 상기 틈으로 이동할 수 있는지 여부를 판단하되,
    상기 로봇이 상기 틈으로 이동할 수 있는 경우, 상기 프로세서는 상기 틈으로 상기 로봇이 이동하는 경로 계획을 산출하고,
    상기 로봇이 상기 틈으로 이동할 수 없는 경우, 상기 프로세서는 j-1번째 구성 공간을 이용하여 상기 로봇이 상기 틈으로 이동할 수 있는지 여부를 판단하는, 로봇의 경로 계획 장치.
  18. 프로세서가 포함된 장치에서 수행되는 로봇의 경로 계획 방법에 있어서,
    실제 공간에 위치한 복수의 객체에 대한 정보를 가지는 n(2 이상의 정수)개의 구성 공간을 생성하는 단계;
    상기 n개의 구성 공간에 기초하여 상기 로봇의 경로 계획을 산출하는 단계;를 포함하되,
    상기 객체에 대한 정보는 상기 복수의 객체의 표면에 형성된 가상의 충돌 방지 영역의 정보를 포함하고, 상기 로봇은 상기 충돌 방지 영역으로 이동할 수 없고, 상기 n개의 구성 공간 각각의 충돌 방지 영역의 폭은 상이한, 로봇의 경로 계획 방법.
  19. 제18항에 있어서,
    상기 n개의 구성 공간을 생성하는 단계에 선행하여,
    상기 복수의 객체와 상기 로봇 간 사이의 거리 정보에 기초하여 객체 맵을 생성하는 단계;를 더 포함하되,
    상기 n개의 구성 공간을 생성하는 단계는 상기 객체 맵에 기초하여 상기 n개의 구성 공간을 생성하며,
    상기 객체 맵 및 상기 n개의 구성 공간은 상기 로봇의 이동 시 업데이트되는, 로봇의 경로 계획 방법.
  20. 제19항에 있어서,
    제1 객체와 제2 객체 사이에 틈이 존재하며,
    상기 산출하는 단계는, 상기 n개의 구성 공간을 순위가 높은 순서에서 낮은 순서로 순차적으로 이용하여 상기 틈으로 상기 로봇 이동할 수 있는지 여부를 판단하되,
    상기 틈의 폭은 상기 틈과 맞닿은 상기 제1 객체의 충돌 방지 영역과 상기 틈과 맞닿은 상기 제2 객체의 충돌 방지 영역 사이의 거리와 대응되는, 로봇의 경로 계획 방법.
KR1020190109844A 2019-09-05 2019-09-05 로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇 KR20190109332A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190109844A KR20190109332A (ko) 2019-09-05 2019-09-05 로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190109844A KR20190109332A (ko) 2019-09-05 2019-09-05 로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇

Publications (1)

Publication Number Publication Date
KR20190109332A true KR20190109332A (ko) 2019-09-25

Family

ID=68068663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190109844A KR20190109332A (ko) 2019-09-05 2019-09-05 로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇

Country Status (1)

Country Link
KR (1) KR20190109332A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111216125A (zh) * 2019-12-04 2020-06-02 山东省科学院自动化研究所 面向狭窄通道的移动机械臂装置的避障方法及系统
KR20210143402A (ko) * 2020-05-20 2021-11-29 주식회사 클로봇 시나리오 기반 작업을 수행하는 이동로봇 및 이의 작업 기반 이동경로 생성 방법
CN114474091A (zh) * 2022-01-26 2022-05-13 北京声智科技有限公司 机器人消杀方法、消杀机器人、消杀设备及存储介质
WO2023038284A1 (ko) * 2021-09-09 2023-03-16 삼성전자주식회사 로봇 및 그 제어 방법
CN116394266A (zh) * 2023-06-08 2023-07-07 国网瑞嘉(天津)智能机器人有限公司 一种机器人自碰撞处理方法、装置、机器人及介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111216125A (zh) * 2019-12-04 2020-06-02 山东省科学院自动化研究所 面向狭窄通道的移动机械臂装置的避障方法及系统
KR20210143402A (ko) * 2020-05-20 2021-11-29 주식회사 클로봇 시나리오 기반 작업을 수행하는 이동로봇 및 이의 작업 기반 이동경로 생성 방법
WO2023038284A1 (ko) * 2021-09-09 2023-03-16 삼성전자주식회사 로봇 및 그 제어 방법
CN114474091A (zh) * 2022-01-26 2022-05-13 北京声智科技有限公司 机器人消杀方法、消杀机器人、消杀设备及存储介质
CN114474091B (zh) * 2022-01-26 2024-02-27 北京声智科技有限公司 机器人消杀方法、消杀机器人、消杀设备及存储介质
CN116394266A (zh) * 2023-06-08 2023-07-07 国网瑞嘉(天津)智能机器人有限公司 一种机器人自碰撞处理方法、装置、机器人及介质
CN116394266B (zh) * 2023-06-08 2023-10-20 国网瑞嘉(天津)智能机器人有限公司 一种机器人自碰撞处理方法、装置、机器人及介质

Similar Documents

Publication Publication Date Title
KR20190109332A (ko) 로봇의 경로 계획 장치 및 방법과, 이에 기반하여 동작하는 로봇
Cao et al. TARE: A Hierarchical Framework for Efficiently Exploring Complex 3D Environments.
CN113110457B (zh) 在室内复杂动态环境中智能机器人的自主覆盖巡检方法
Jun et al. Path planning for unmanned aerial vehicles in uncertain and adversarial environments
Phillips et al. Sipp: Safe interval path planning for dynamic environments
Shiller Off-line and on-line trajectory planning
Faridi et al. Multi-robot multi-target dynamic path planning using artificial bee colony and evolutionary programming in unknown environment
Nieto et al. Online path planning based on rapidly-exploring random trees
Kala et al. Planning of multiple autonomous vehicles using RRT
CN115494834A (zh) 机器人路径规划方法、装置及机器人
Zhang et al. An improved path planning algorithm based on RRT
Diéguez et al. Deliberative on-line local path planning for autonomous mobile robots
Zhang et al. Decentralized motion planning for multi quadrotor with obstacle and collision avoidance
Cheng et al. Research on path planning of mobile robot based on dynamic environment
Chinag et al. Robot navigation in dynamic environments using fuzzy logic and trajectory prediction table
Chen et al. Rrt* combined with gvo for real-time nonholonomic robot navigation in dynamic environment
Indri et al. Supervised global path planning for mobile robots with obstacle avoidance
US20220236736A1 (en) Decentralized trajectory planning for multi-agent coordination
Löcklin et al. Trajectory Prediction of Moving Workers for Autonomous Mobile Robots on the Shop Floor
Chen et al. Deep reinforcement learning-based robot exploration for constructing map of unknown environment
Riman et al. A Priority-based Modified A∗ Path Planning Algorithm for Multi-Mobile Robot Navigation
Goodwin A robust and efficient autonomous exploration methodology of unknown environments for multi-robot systems
Mäenpää et al. Formi: A fast holonomic path planning and obstacle representation method based on interval analysis
Lee et al. Path planning based on probabilistic roadmap for initial deployment of marsupial robot team
Hasegawa Continuous observation planning for autonomous exploration