KR102479619B1 - 장애물의 회피 이동이 가능한 자율 주행 로봇 - Google Patents
장애물의 회피 이동이 가능한 자율 주행 로봇 Download PDFInfo
- Publication number
- KR102479619B1 KR102479619B1 KR1020220019769A KR20220019769A KR102479619B1 KR 102479619 B1 KR102479619 B1 KR 102479619B1 KR 1020220019769 A KR1020220019769 A KR 1020220019769A KR 20220019769 A KR20220019769 A KR 20220019769A KR 102479619 B1 KR102479619 B1 KR 102479619B1
- Authority
- KR
- South Korea
- Prior art keywords
- destination
- robot
- trajectory
- avoidance
- isolation
- Prior art date
Links
- 230000004438 eyesight Effects 0.000 claims abstract description 15
- 230000007423 decrease Effects 0.000 claims abstract description 5
- 238000013459 approach Methods 0.000 claims abstract description 4
- 238000002955 isolation Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 15
- 230000005043 peripheral vision Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/005—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators using batteries, e.g. as a back-up power source
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
본 발명은 사용자의 개입 없이 이동 가능한 자율 주행 로봇에 관한 것으로, 본 발명에 따른 장애물의 회피 이동이 가능한 자율 주행 로봇은 모터(110); 상기 모터(110)를 제어하는 모터 구동 보드(120); 배터리(130); 상기 배터리를 제어하는 전력 공급 보드(140); 주변의 비전 데이터를 획득하는 비전 장치(150); 상기 비전 장치(150)로부터 비전 데이터를 전송받아 경로를 설정하고 동작 명령을 생성하여 상기 모터 구동 보드(120)와 전력 공급 보드(140)를 제어하는 PC(160)로 구성되고, 상기 PC(160)가 상태 판단 모듈(161) 및 궤적 생성 모듈(163)로 구성되며, 상기 상태 판단 모듈(161)이 로봇의 위치 및 방향을 결정하는 로봇 상태 결정 단계(S10)를 수행한 후, 상기 로봇이 목적지와 제1 임계 거리 이하에 있는지를 판단하는 도착 판단 단계(S20)를 수행하여 상기 로봇이 목적지와 제1 임계 거리 이하에 있는 경우 상기 궤적 생성 모듈(163)이 정지 궤적 생성 단계(S30)를 수행하여 상기 로봇이 목적지에 접근하면서 속도가 줄어들어 0이 되는 정지 궤적을 생성하는 것을 기술적 특징으로 한다.
Description
본 발명은 로봇에 관한 것으로, 더욱 상세하게는 사용자의 개입 없이 이동 가능한 자율 주행 로봇에 관한 것이다.
자율 주행이란 자동차, 비행기, 로봇 등 기계 장치(이하 ‘로봇 등’이라 한다)가 외부의 힘을 빌리지 않고 자체 장착된 각종 센서와 컴퓨팅 시스템에 의하여 자유롭게 주행하는 것으로서, 운전자 없이 주행하는 무인 자동차나 무인 항공기, 로봇 주행 등이 대표적인 예이다.
자율 주행은 일반적으로 목적지가 입력되면 로봇 등이 출발지에서 목적지까지 전체 경로에 대한 대략적인 계획인 전역 경로 계획을 수립하고, 전역 경로 계획에 따라 이동하면서 센싱되는 각종 정보를 참조하여 세부 경로인 지역 경로 계획을 수립하여 이에 의해 실제 이동이 이루어지는 방법으로 수행된다.
‘특허문헌 1’에 이러한 전역 계획 및 지역 계획 수립의 개괄적인 개념이 개시되어 있고, 특히 지역 계획의 수립에 대한 구체적 방법이 나타나 있다. 도 1은 로봇의 자율 주행을 가능하게 하는 구성을 나타낸 블럭도이다.
자율 주행 로봇에 전체 지도가 구비되고, 사용자에 의해 목적지가 입력되면 전역 경로 계획부에서 출발지에서 목적지까지 중간 경로점(waypoint)을 도출한다. 즉, 출발지 - 중간 경로점 - 목적지를 순차적으로 이은 선이 전역 경로가 된다. 다음으로 자율 주행 로봇은 출발지 - 첫번째 중간 경로점 - 두번째 중간 경로점 - … - 목적지까지 순차적으로 지역 구간을 이동하면서 자율 주행을 하게 되는데, 이 과정에서 필요한 정보를 카메라, 라이다 등 환경 인식 센서에 의해 수집하여 지역 환경을 인식하고 지역 경로 계획 수립에 반영하게 된다. 그리고 수립된 지역 경로 계획에 의해 로봇을 제어하여 지역 경로를 경유함으로써 목적지까지 자율 주행을 구현한다.
본 발명이 주목하는 분야는 지역 경로 계획에 관한 것인데, 도 2는 특허문헌 1에 개시된 지역 계획 수립 방법의 순서도로서 지역 경로 계획 방법의 일례라 할 수 있다.
도 2에 도시된 지역 계획 수립 방법은 증분(점진적) 계획 방법(Incremental planning method)으로서, 로봇이 궤적을 계획하는 타임 스텝마다 장애물에 충돌하지 않으면서 정해진 비용함수가 최소가 되는 입력을 선택하도록 함으로써, 전역 계획 경로를 최대한 수정하지 않고 최선의 궤적을 생성하여 이동하도록 하는 방법이다. 그런데 이러한 방법은 이전 타임 스텝에서 결정한 선택으로 인해 현재 타임 스템에서 장애물과 충돌이 없는 궤적을 생성할 수 없어 로봇이 고립되거나, 충돌이 없지만 비효율적인 궤적을 생성할 수 있고, 목적지 근처에 장애물이 있는 경우 반복되는 회피 알고리즘 수행으로 불필요한 움직임을 되풀이함으로써 고립과 다름없는 상태에 빠지는 문제가 있다.
그리고 로봇이 선택할 수 없는 입력값에 해당되는 상태값들을 계산에서 제외하고, 로봇이 실현 가능한 상태값들의 집합 중 일부를 샘플링하여 계산이 필요한 노드 수를 줄임으로써 실시간 경로 계획이 가능하도록 한 샘플링 기반의 최적 트리를 이용한 지역 경로 계획 방법이 제안되어 있지만, 실제 구현에 있어서는 많은 계산 시간이 요구되고, 정해진 비용 함수에서 파라미터별 가중치를 변경하는 것만으로는 최적 궤적을 찾기 어려운 문제(local minima)가 있다.
또 종래의 지역 경로 계획 방법을 포함하여 대부분의 지역 경로 계획 방법은 하나의 경로를 생성할 때 매 타입 스텝마다 로봇의 상태와 주변 환경을 고려하여 다음 타임 스텝에서 로봇의 상태를 결정하고 이에 의해 이동 경로를 생성하기 때문에 계산 시간이 많이 요구되는 문제가 있다.
본 발명은 위와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명이 해결하고자 하는 과제는 적은 계산량으로 최적 지역 경로를 생성할 수 있고 로봇의 고립 회피를 포함한 장애물의 회피 이동이 가능한 자율 주행 로봇을 제공하는 것이다.
본 발명에 따른 장애물의 회피 이동이 가능한 자율 주행 로봇은 모터; 상기 모터를 제어하는 모터 구동 보드; 배터리; 상기 배터리를 제어하는 전력 공급 보드; 주변의 비전 데이터를 획득하는 비전 장치; 상기 비전 장치로부터 비전 데이터를 전송받아 경로를 설정하고 동작 명령을 생성하여 상기 모터 구동 보드와 전력 공급 보드를 제어하는 PC로 구성되고, 상기 PC가 상태 판단 모듈 및 궤적 생성 모듈로 구성되며, 상기 상태 판단 모듈이 로봇의 위치 및 방향을 결정하는 로봇 상태 결정 단계를 수행한 후, 상기 로봇이 목적지와 제1 임계 거리 이하에 있는지를 판단하는 도착 판단 단계를 수행하여 상기 로봇이 목적지와 제1 임계 거리 이하에 있는 경우 상기 궤적 생성 모듈이 정지 궤적 생성 단계를 수행하여 상기 로봇이 목적지에 접근하면서 속도가 줄어들어 0이 되는 정지 궤적을 생성하는 것을 기술적 특징으로 한다.
본 발명에 따른 장애물의 회피 이동이 가능한 자율 주행 로봇은 목적지 주변에 장애물이 있는 경우라도 반복적 회피 동작 없이 최대한 목적지에 가까이 정지할 수 있다.
또 장애물에 의해 목적지까지 궤적 형성이 불가능한 경우라도 충돌 회피 목적점을 설정하여 새로운 궤적 탐색의 가능성을 부여한다.
또 로봇이 고립된 경우 고립 회피 목적점을 설정하고 회피 궤적을 생성하여 고립 상태를 벗어날 수 있다.
도 1은 로봇의 자율 주행을 가능하게 하는 구성을 나타낸 블럭도
도 2는 지역 계획 수립 방법의 예시
도 3은 본 발명에 따른 장애물의 회피 이동이 가능한 자율 주행 로봇의 구성도
도 4는 PC에서 지역 궤적을 도출하는 모듈 집합체
도 5는 본 발명에서 정의하고 있는 4가지 상태의 천이도
도 6은 장애물의 회피 이동이 가능한 자율 주행 로봇이 궤적을 생성하는 순서도
도 7은 도 6에서 생성되는 궤적들을 충돌 발생의 관점에서 바라본 알고리즘
도 8은 충돌 회피 목적점의 생성, 설정 및 이와 관련된 로봇의 상태 알고리즘
도 9 및 도 10은 로봇, 목적지, 충돌 회피 목적점 후보군을 도시한 예시도
도 11은 고립 회피 목적점의 생성, 설정 및 이와 관련된 로봇의 상태 알고리즘
도 12는 2대의 로봇이 마주하는 경우의 예시도
도 13은 고립 회피 목적점의 설정 및 이에 따른 로봇의 이동을 도시한 예시도
도 2는 지역 계획 수립 방법의 예시
도 3은 본 발명에 따른 장애물의 회피 이동이 가능한 자율 주행 로봇의 구성도
도 4는 PC에서 지역 궤적을 도출하는 모듈 집합체
도 5는 본 발명에서 정의하고 있는 4가지 상태의 천이도
도 6은 장애물의 회피 이동이 가능한 자율 주행 로봇이 궤적을 생성하는 순서도
도 7은 도 6에서 생성되는 궤적들을 충돌 발생의 관점에서 바라본 알고리즘
도 8은 충돌 회피 목적점의 생성, 설정 및 이와 관련된 로봇의 상태 알고리즘
도 9 및 도 10은 로봇, 목적지, 충돌 회피 목적점 후보군을 도시한 예시도
도 11은 고립 회피 목적점의 생성, 설정 및 이와 관련된 로봇의 상태 알고리즘
도 12는 2대의 로봇이 마주하는 경우의 예시도
도 13은 고립 회피 목적점의 설정 및 이에 따른 로봇의 이동을 도시한 예시도
이하에서는 본 발명에 따른 장애물의 회피 이동이 가능한 자율 주행 로봇을 첨부된 도면을 참조하여 상세히 설명한다.
도 3은 본 발명에 따른 장애물의 회피 이동이 가능한 자율 주행 로봇의 구성도이다. 본 발명에 따른 장애물의 회피 이동이 가능한 자율 주행 로봇은 바퀴나 무한궤도 등 로봇의 이동에 필요한 운동을 생성하는 모터(110), 모터(110)를 제어하는 모터 구동 보드(120), 배터리(130), 배터리를 제어하는 전력 공급 보드(140), 주변의 비전 데이터를 획득하기 위한 비전 장치(150), 비전 장치(150)로부터 비전 데이터를 전송받아 경로를 설정하고 동작 명령을 생성하여 모터 구동 보드(120)와 전력 공급 보드(140)를 제어하는 PC(160)로 구성되고, 적외선 센서, 초음파 센서 등 센서(170)와 센서(170)에서 센싱된 데이터를 수집하는 MCU 보드(180)를 더 포함하여 구성될 수 있다. PC(160)와 모터 구동 보드(120), MCU 보드(180) 사이는 RS232 또는 CAN 통신 등의 방법으로 데이터 및 제어 명령이 송수신될 수 있다.
PC(160)는 비전 데이터로부터 장애물을 인식하고 로봇의 지역 위치를 추정하여 지역 궤적을 도출한 후 모터 구동 보드(120), 전력 공급 보드(140) 등을 제어하여 로봇을 이동시킨다. 지역 궤적의 도출은 펌웨어 또는 소프트웨어적으로 수행될 수 있는데, 본 발명에서는 펌웨어와 소프트웨어를 구분하지 않고 모듈(하드웨어적으로 구현될 수도 있고 소프트웨어적으로 구현될 수도 있으나 기술 사상면에 있어서는 동일하므로 이 역시 구분하지 않는다) 개념으로 접근하도록 한다.
도 4는 PC에서 지역 궤적을 도출하는 모듈 집합체의 구성도로서, 본 발명에서 PC(160)는 상태 판단 모듈(161) 및 궤적 생성 모듈(163)로 구성된다.
상태 판단 모듈(161)은 로봇의 상태를 판단하는 구성요소로서, 로봇의 상태를 이동 상태, 정지 상태, 고립 상태, 도착 상태 중 어느 하나로 판단한다. 이동 상태는 로봇의 위치 이동이 진행 중인 상태로서 로봇의 속도가 0이 아닌 상태이고, 정지 상태는 순간적으로 로봇의 위치 이동이 없는 상태로서 로봇의 전방 또는 후방으로 이동할 수 있는 궤적이 존재하지 않거나 목적지 주변에 장애물이 존재하여 목적지에 도달할 수 없다고 판단된 상태이다. 고립 상태는 정지 상태가 소정 시간, 예를 들면 2 내지 3초가 지속된 경우이고, 도착 상태는 로봇이 목적지 근처의 소정 거리에 도달한 상태이다. 정지 상태와 고립 상태의 구분은 소정의 시간을 기준으로 수행될 수 있다. 예를 들면 로봇이 2초 이하로 정지해 있다면 정지 상태로, 2초 초과로 정지해 있다면 고립 상태로 정의될 수 있다.
도 5는 본 발명에서 정의하고 있는 4가지 상태의 천이도로서, 이동 상태에서 전방 또는 후방으로 갈 수 있는 궤적이 없거나 목적지에 도착할 수 없는 경우 정지 상태로 천이되고, 정지 상태에서 고립 상태로 천이하기 전에 전방 또는 후방으로 갈 수 있는 궤적이 생성되는 경우(장애물이 이동하는 등의 경우) 다시 이동 상태로 천이될 수 있다. 정지 상태가 소정 시간 지속되는 경우 로봇이 갈 곳이 없는, 즉 고립 상태로 천이되는데 고립 상태에서 이탈하는 수단을 찾지 못하면 장애물이 이동하는 등의 외부 조건 변화가 없이는 로봇이 한 지점에서 계속 머무를 수 밖에 없게 된다. 이때 고립 상태에서 이탈하는 수단을 찾을 수 있다면 다시 이동 상태로 천이할 수 있게 되고, 본 발명의 핵심적인 기술사상은 이러한 고립 상태에서 이탈과 관련이 있다. 로봇이 목적지와 소정 거리 이내(이하 ‘제1 임계 거리’라 한다, 보통 설계 변수로 주어짐)에 있는 것으로 판단되는 경우 이동 상태를 거쳐 도착 상태로 천이되고, 모든 천이가 종료된다.
이러한 로봇의 상태 천이에 따른 운동을 궤적으로 정의한다. 목적지 궤적은 현재 로봇의 위치에서 목적지까지 도달하는 전체 궤적으로서, 이동 상태, 정지 상태, 고립 상태의 조합을 거쳐 도착 상태로 천이하는 궤적이다. 그리고 목적지 궤적을 2분할하여 로봇에 가까운 궤적을 제1 궤적이라 하고, 목적지에 가까운 궤적을 제2 궤적이라 하고, 목적지 궤적의 2분할은 목적지에서 소정 반경(이하 ‘제2 임계거리’라 한다, 설계 변수로 주어짐)의 원과 목적지 궤적의 교점에서 이루어진다. 정지 궤적은 이동 상태에서 도착 상태로 이동하는 경우의 궤적인데, 로봇이 목적지에 접근하면서 속도가 점점 줄어들어 결국 목적지 또는 그 주변에서 0이 된다. 회피 궤적은 목적지 궤적이 존재하지 않는 경우 일단 충돌이 발생하지 않는 지역적 목적점을 탐색하여 지역적 목적점까지 이동하는 궤적으로 정의된다.
도 6은 장애물의 회피 이동이 가능한 자율 주행 로봇이 궤적을 생성하는 순서도로서, 로봇 상태 결정 단계(S10), 도착 판단 단계(S20), 후진 판단 단계(S40), 회피 판단 단계(S60)가 상태 판단 모듈(161)에 의해 수행되고, 정지 궤적 생성 단계(S30), 후진 궤적 생성 단계(S50), 목적지 궤적 생성 단계(S70), 회피 궤적 생성 단계(S80)가 궤적 생성 모듈(163)에 의해 수행된다.
먼저 로봇 상태 결정 단계(S10)는 로봇의 위치 및 방향, 바람직하게는 각속도 및 선속도를 더 포함하여 결정하는 단계로서, 위치 및 방향은 궤적 생성에 직접적으로 관련되고, 각속도 및 선속도는 로봇의 운동 능력과 관련하여 궤적 생성 가능성에 영향을 준다. 예를 들면 특정 각속도나 선속도에서는 생성 가능한 궤적이 다른 각속도나 선속도에서는 생성 불가능할 수 있다.
도착 판단 단계(S20)는 로봇이 목적지와 제1 임계 거리 이하에 있는지를 판단하는 단계로서, 제1 임계 거리 이하라면 목적지에 정확하게 일치하지는 않는다 하더라도 목적지까지 최대한 근접할 수 있도록 궤적 생성 모듈(163)이 정지 궤적 생성 단계(S30)를 수행하여 정지 궤적을 생성하고 이동을 종료한다.
후진 판단 단계(S40)는 로봇의 후방(로봇의 정면을 0°로 보고 반시계방향으로 각을 잴 때, 90 ~ 270°)으로 목적지 궤적이 생성되는지를 판단하는 단계이다. 보통 로봇이 전방으로 이동하기 때문에 후방으로 목적지 궤적이 생성되는 경우가 흔하지 않지만 후방으로 이동하는 경우가 유리하다면 이를 배제할 필요가 없으므로 후진 필요성을 먼저 판단하는 것이다. 후진이 필요하다고 판단되는 경우 궤적 생성 모듈(163)은 후진 궤적 생성 단계(S50)를 수행하여 후진 궤적을 생성하고, 후진 궤적에 따라 로봇이 이동된다.
다음으로 회피 판단 단계(S60)는 목적지 궤적이 생성 불가능한지를 판단한다. 목적지 궤적이 생성될 수 없다면, 즉 목적지까지 장애물과 충돌 없이 도달 가능한 궤적이 없다면 다른 중간 지점인 지역적 목적점을 생성하여 충돌을 회피하고 지역적 목적점에서 다시 목적지까지 도달 여부를 판단한다는 접근이다. 따라서 회피가 필요없다면 궤적 생성 모듈(163)은 목적지 궤적 생성 단계(S70)를 수행하여 목적지 궤적 생성하고 이에 따라 로봇이 이동된다. 이때 로봇의 속력이 단조 감소한다면 목적지 궤적은 정지 궤적이 된다. 그리고 회피가 필요한 경우 궤적 생성 모듈(163)은 회피 궤적 생성 단계(S80)를 수행하여 지역적 목적점을 설정하고 지역적 목적점까지 이르는 회피 궤적을 생성하게 된다.
도 7은 도 6에서 생성되는 궤적들을 충돌 발생의 관점에서 바라본 알고리즘을 도시한 것이다. 목적지까지 거리가 제1 임계 거리보다 작거나 같은 소정의 제3 임계 거리(D_stop) 이하라면 제2 궤적만 존재하고, 제2 궤적에서 충돌이 발생하더라도 정지 궤적을 생성하여 최대한 로봇을 목적지에 근접하게 이동시키고, 만약 제2 궤적에 충돌이 발생하지 않는다면 목적지 궤적을 생성하여 로봇을 목적지에 이동시킨다. 만약 목적지까지 거리가 제3 임계 거리(D_stop)를 초과한다면 목적지 궤적을 생성하고, 목적지 궤적에서 제2 궤적을 구분한다. 이때 제1 궤적은 없을 수도 있고 있을 수도 있는데, 제1 궤적의 끝이 제3 임계 거리를 반경으로 하는 원과 제1 임계 거리를 반경으로 하는 원 사이에 있으면 제1 궤적이 생성되지 않고 제1 궤적의 끝이 제1 임계 거리를 반경으로 하는 원 바깥에 있으면 제1 궤적이 생성된다. 제1 궤적이 없는 경우는 위의 제2 궤적만 존재하는 경우와 동일하다. 제1 궤적이 있는 경우는 제1 궤적에서 충돌이 발생하지 않는다면 목적지 궤적을 생성하고, 충돌이 발생한다면 회피 궤적을 생성한다. 이에 따라 제1 궤적에서 충돌이 발생하지 않는 경우라면 일단 제1 궤적의 끝점까지는 로봇의 이동이 가능하고, 충돌이 발생한다 하더라도 적어도 회피 궤적에 의한 지역적 목적점까지의 이동이 가능해진다. 이러한 과정을 통해 목적지 근처에 장애물이 있을 때 목적지 근처에서 반복적으로 회피 궤적을 생성하지 않고 목적지 근처에 정지하는 궤적을 생성할 수 있다.
다음으로 회피 궤적 생성을 위한 지역적 목적점에 대해 설명한다. 지역적 목적점은 장애물과 충돌을 회피하기 위하여 설정되는 충돌 회피 목적점과 고립 상태를 해소하기 위한 고립 회피 목적점으로 나눌 수 있다. 먼저 충돌 회피 목적점과 관련하여 설명한다.
충돌 회피 목적점은 궤적 생성 모듈(163)에 의해 도 6의 회피 궤적 생성 단계(S80)에서 생성되고, 충돌 회피 목적점의 생성 또는 설정은 로봇이 이동 또는 정지 상태일 때 수행된다. 도 8은 충돌 회피 목적점의 생성, 설정 및 이와 관련된 로봇의 상태 알고리즘을 도시한 것이다. 로봇의 이동은 목적지 궤적에 의한 것일 수도 있고 회피 궤적에 의한 것일 수도 있는데, 충돌 회피 목적점이 궤적 생성 모듈(163)에 의해 설정되어 있는 경우 충돌 회피 목적점까지 장애물과 충돌이 없다면 생성된 궤적에 따라 이동 상태를 유지하면 된다. 만약 이러한 상황이 아니라면, 즉 충돌 회피 목적점이 설정되어 있으나 충돌 회피 목적점까지 장애물과 충돌이 예상되거나 충돌 회피 목적점이 설정되어 있지 않은 경우라면 충돌 회피 목적점을 생성해야 한다. 이 경우 충돌 회피 목적점이 될 수 있는 다수의 후보군을 생성하고 이중 충돌 회피 목적점까지 충돌이 없는 목적점 중 하나를 선정하여 충돌 회피 목적점을 설정하고 이동 상태를 유지해야 하는데, 만약 다수의 후보군 중 충돌 회피 목적점까지 충돌이 없는 목적점이 없다면 로봇은 정지 상태로 천이된다.
충돌 회피 목적점 후보군의 선정은 다음과 같은 방법으로 수행될 수 있다. 도 9 및 도 10은 로봇, 목적지, 충돌 회피 목적점 후보군을 도시한 예시도로서, 충돌 회피 목적점의 후보군은 로봇의 전방 방향에서 Δθ를 뺀 각과 로봇과 목적지를 잇는 방향에서 Δθ를 뺀 각 중 작은 값과 로봇의 전방 방향에서 Δθ를 더한 각과 로봇과 목적지를 있는 방향에서 Δθ를 더한 각 중 큰 값을 양 끝각으로 하고, 반경이 d1인 부채꼴의 호 위에 소정 간격으로 N개 설정될 수 있다. 충돌 회피 목적점 후보군의 선정에 이러한 방향성을 부여하는 이유는 로봇이 진행하는 방향 및 목적지로 향하는 방향에 충돌 회피 목적점이 있는 것이 최적 궤적을 채택하게 될 가능성을 높이기 때문이다.
충돌 회피 목적점 후보군(C1 ~ CN) 중 충돌 회피 목적점까지 궤적이 장애물과 충돌하는 충돌 회피 목적점(Ck ~ Ck+3)은 충돌 회피 목적점이 될 수 없다(이하에서 설명하겠지만 충돌 회피 목적점에서 목적점까지의 충돌이 발생하는 경우 후보에서 제외하지 않거 충돌 비용에서 고려한다).
다음으로 최적 충돌 회피 목적점을 결정해야 하는데, 각 충돌 회피 목적점 후보를 경유하는 궤적의 비용(cost)를 계산하여 비용이 최소가 되는 궤적을 포함하는 충돌 회피 목적점 후보를 최적 충돌 회피 목적점으로 결정한다. 궤적의 비용 함수는 아래 [수학식 1]과 같이 충돌 회피 목적점에서 목적점까지 장애물과 충돌하는지 여부(CC, 0 또는 1), 궤적과 장애물 간 거리의 최솟값(CO), 궤적의 곡률(궤적을 구성하는 복수 개의 지점에서 곡률을 측정함)의 합(Ccur), 궤적의 길이(Cd) 등에 가중치(W)를 곱하여 산출할 수 있다.
다음으로 고립 회피 목적점에 대해 설명한다. 도 11은 고립 회피 목적점의 생성, 설정 및 이와 관련된 로봇의 상태 알고리즘을 도시한 것이다. 고립 회피 목적점은 용어 그대로 로봇이 고립 상태일 때 생성 또는 설정된다. 고립 회피 목적점도 궤적 생성 모듈(163)에 의해 도 6의 회피 궤적 생성 단계(S80)에서 생성된다. 고립 회피 목적점은 로봇의 전방에 위치하는 고립 회피 전방 목적점과 로봇의 후방에 위치하는 고립 회피 후방 목적점으로 구분하고 고립 회피 전방 목적점에 대해 먼저 판단하는데 그 이유는 앞서 충돌 회피 목적점 후보군의 선정에 이러한 방향성을 부여한 이유와 유사하게 로봇이 진행하는 방향을 먼저 고려하는 것이 최적 궤적을 채택할 가능성을 높이기 때문이다. 고립 회피 전방 목적점이 궤적 생성 모듈(163)에 의해 이미 설정되어 있다면 고립 회피 전방 목적점까지 충돌이 발생하지 않는 경우 고립 회피 전방 목적점까지 궤적에 따라 로봇이 이동 상태에 있게 된다. 만약 설정되어 있으나 충돌이 발생한다면 로봇은 정지 상태로 천이된다. 고립 회피 전방 목적점이 설정되어 있지 않고 생성 가능하다면 고립 회피 전방 목적점을 생성 및 설정하고 그 궤적에 따라 로봇이 이동한다.
고립 회피 전방 목적점이 설정되어 있지도 않고 생성도 불가능하다면 고립 회피 후방 목적점을 고려해야 하는데, 고립 회피 후방 목적점이 설정되어 있다면 고립 회피 전방 목적점과 동일하게 처리가 가능하다. 그리고 고립 회피 후방 목적점이 설정되어 있지 않지만 생성이 가능한 경우라면 고립 회피 후방 목적점을 생성 및 설정하고 그 궤적에 따라 로봇이 이동할 수 있다. 만약 고립 회피 후방 목적 점이 설정도 없고 생성도 불가능하다면 로봇은 정지 상태에 있게 된다.
고립 회피 전방 목적점의 경우 충돌 회피 목적점과 동일한 비용함수를 이용하여 구하는데, 단 충돌 회피 목적점의 경우와 다르게 그 후보군 선정 시 고립 회피 목적점에서 목적점까지 충돌이 발생하는 경우에는 후보군에서 제외한다.
고립 회피 후방 목적점의 경우 후보군은 로봇의 후방, 즉 로봇의 전방을 0°로 보았을 때 180°± Δθ를 양 끝 각으로 하고 반경 d2인 부채꼴의 호 위에 소정 간격으로 N개로 생성될 수 있다. 이때 충돌 회피 목적점 또는 고립 회피 전방 목적점 생성에 고려했던 부채꼴의 반경 d1보다 d2가 작거나 같은 것이 좋은데, 최소한의 후진으로 고립을 회피할 수 있다면 이를 택하는 것이 바람직하기 때문이다.
최적 고립 회피 후방 목적점을 구하기 위한 비용 함수에는 아래 [수학식 2]와 같이 좌우 후진 방향에 대한 비용(Cdir, 0 또는 1)이 포함되는 것이 좋다. 왜냐하면, 방향에 대한 비용을 고려하지 않는 경우 로봇과 로봇이 마주했을 때 거울상과 같은 움직임을 하지 않도록 할 수 있기 때문이다.
도 12는 2대의 로봇이 마주하는 경우를 도시한 것인데, 도 12(a)와 같이 로봇1과 로봇2과 마주하였을 때, 비용 함수에 우측 후방에 대한 비용이 낮게 설정되어 있다면 2대의 로봇이 모두 도 12(b)와 같이 각자의 우측 후방으로 이동하게 되고, 도 12(c)와 같이 다시 직진하였을 때 마주보지 않고 서로 회피하여 이동할 수 있게 된다. 만약 방향에 대한 비용이 포함되어 있지 않다면 주변 환경이 비슷하기 때문에 2개의 로봇이 모두 위로 가거나 모두 아래로 가 다시 직진하였을 때 마주할 가능성이 높고 이는 로봇들을 고립 상태나 마찬가지 상태에 빠지게 하기 때문이다.
그리고 최적 고립 회피 후방 목적점을 구하기 위한 비용 함수는 로봇에서 고립 회피 후방 목적점까지의 비용만, 즉 고립 회피 후방 목적점에서 목적지까지의 비용은 포함하지 않고 계산된다. 왜냐하면, 고립 회피 후방 목적점의 설정은 본 발명에서 최후의 수단으로 채택하는 것이기 때문에 이동 이후를 생각하지 않고 일단 고립 상태를 벗어나고자 하는 것을 목적으로 하기 때문이다.
도 13은 고립 회피 목적점의 설정 및 이에 따른 로봇의 이동을 도시한 예시도이다. 로봇이 전방의 상자형 장애물에 의해 고립되어 있다면 도 13(a)와 같이 고립 회피 전방 목적점 후보군을 생성하더라도 목적지에 충돌 없이 도달할 수 있는 고립 회피 전방 목적점이 없어, 도 13(b)와 같은 고립 회피 후방 목적점을 생성하게 된다. 이때 로봇은 우측 후방에 대한 비용이 낮기 때문에 도 13(c)와 같이 장애물의 우측으로 고립을 벗어나게 되고, 충돌 회피 목적점을 설정하거나 목적지(정지) 궤적을 설정하여 도 13(d)와 같이 고립을 회피하여 목적지에 도달할 수 있게 된다.
110 모터 120 모터 구동 보드
130 배터리 140 전력 공급 보드
150 비전 장치 160 PC
161 상태 판단 모듈 163 궤적 생성 모듈
170 센서 180 MCU 보드
S10 로봇 상태 결정 단계 S20 도착 판단 단계
S30 정지 궤적 생성 단계 S40 후진 판단 단계
S50 후진 궤적 생성 단계 S60 회피 판단 단계
S70 목적지 궤적 생성 단계 S80 회피 궤적 생성 단계
130 배터리 140 전력 공급 보드
150 비전 장치 160 PC
161 상태 판단 모듈 163 궤적 생성 모듈
170 센서 180 MCU 보드
S10 로봇 상태 결정 단계 S20 도착 판단 단계
S30 정지 궤적 생성 단계 S40 후진 판단 단계
S50 후진 궤적 생성 단계 S60 회피 판단 단계
S70 목적지 궤적 생성 단계 S80 회피 궤적 생성 단계
Claims (5)
- 모터(110);
상기 모터(110)를 제어하는 모터 구동 보드(120);
배터리(130);
상기 배터리를 제어하는 전력 공급 보드(140);
주변의 비전 데이터를 획득하는 비전 장치(150);
상기 비전 장치(150)로부터 비전 데이터를 전송받아 경로를 설정하고 동작 명령을 생성하여 상기 모터 구동 보드(120)와 전력 공급 보드(140)를 제어하는 PC(160)로 구성되고,
상기 PC(160)가 상태 판단 모듈(161) 및 궤적 생성 모듈(163)로 구성되며,
상기 상태 판단 모듈(161)이 로봇의 위치 및 방향을 결정하는 로봇 상태 결정 단계(S10)를 수행한 후, 상기 로봇이 목적지와 제1 임계 거리 이하에 있는지를 판단하는 도착 판단 단계(S20)를 수행하여 상기 로봇이 목적지와 제1 임계 거리 이하에 있는 경우 상기 궤적 생성 모듈(163)이 정지 궤적 생성 단계(S30)를 수행하여 상기 로봇이 목적지에 접근하면서 속도가 줄어들어 0이 되는 정지 궤적을 생성하고,
상기 도착 판단 단계(S20)에서 상기 로봇이 목적지와 제1 임계 거리를 초과하여 있는 경우, 상기 상태 판단 모듈(161)이 후진 필요성 및 상기 로봇의 후방으로 목적지까지 목적지 궤적이 생성되는지를 판단하는 후진 판단 단계(S40)를 수행하고, 후진이 필요하다고 판단되는 경우로서 목적지 궤적이 생성되는 경우 상기 궤적 생성 모듈(163)이 후진 궤적 생성 단계(S50)를 수행하여 후진 궤적을 생성하며,
상기 후진 판단 단계(S40)에서 후진 필요성이 없거나 목적지 궤적이 생성되지 않는 경우, 상기 상태 판단 모듈(161)이 회피 판단 단계(S60)를 수행하고, 목적지까지 장애물과 충돌 없이 도달 가능한 궤적이 없다면 상기 궤적 생성 모듈(163)이 회피 궤적 생성 단계(S80)를 수행하여 지역적 목적점을 설정하고 지역적 목적점까지 이르는 회피 궤적을 생성하는 것을 특징으로 하는 장애물의 회피 이동이 가능한 자율 주행 로봇.
- 삭제
- 삭제
- 청구항 1에 있어서,
상기 지역적 목적점 중 장애물과 충돌을 회피하기 위하여 설정되는 충돌 회피 목적점의 후보군이 상기 로봇의 전방 방향에서 Δθ를 뺀 각과 로봇과 목적지를 있는 방향에서 Δθ를 뺀 각 중 작은 값과 상기 로봇의 전방 방향에서 Δθ를 더한 각과 로봇과 목적지를 있는 방향에서 Δθ를 더한 각 중 큰 값을 양 끝각으로 하고, 반경이 d1인 부채꼴의 호 위에 N개 설정되는 것을 특징으로 하는 장애물의 회피 이동이 가능한 자율 주행 로봇.
- 청구항 1에 있어서,
상기 지역적 목적점 중 로봇의 고립 상태를 해소하기 위한 고립 회피 목적점이 고립 회피 전방 목적점 및 고립 회피 후방 목적점으로 구성되고, 상기 고립 회피 후방 목적점의 후보군 중 최적 고립 회피 후방 목적점을 구하기 위한 비용 함수에 좌우 후진 방향에 대한 비용이 포함되는 것을 특징으로 하는 장애물의 회피 이동이 가능한 자율 주행 로봇.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220019769A KR102479619B1 (ko) | 2022-02-15 | 2022-02-15 | 장애물의 회피 이동이 가능한 자율 주행 로봇 |
PCT/KR2022/020206 WO2023158075A1 (ko) | 2022-02-15 | 2022-12-13 | 장애물의 회피 이동이 가능한 자율 주행 로봇 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220019769A KR102479619B1 (ko) | 2022-02-15 | 2022-02-15 | 장애물의 회피 이동이 가능한 자율 주행 로봇 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102479619B1 true KR102479619B1 (ko) | 2022-12-21 |
Family
ID=84536908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220019769A KR102479619B1 (ko) | 2022-02-15 | 2022-02-15 | 장애물의 회피 이동이 가능한 자율 주행 로봇 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102479619B1 (ko) |
WO (1) | WO2023158075A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102572851B1 (ko) | 2023-04-04 | 2023-08-31 | 주식회사 클로봇 | 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060093964A (ko) * | 2005-02-23 | 2006-08-28 | 엘지전자 주식회사 | 이동로봇의 정지제어방법 |
KR20170043946A (ko) * | 2015-10-14 | 2017-04-24 | 국방과학연구소 | 이동체의 경로계획 장치 및 그 계획 방법 |
KR102049962B1 (ko) | 2019-04-17 | 2019-11-28 | 주식회사 트위니 | 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100585680B1 (ko) * | 2004-12-10 | 2006-06-07 | 엘지전자 주식회사 | 이동 로봇의 구동바퀴 속도지령치 생성방법 |
JP5312894B2 (ja) * | 2008-10-08 | 2013-10-09 | 村田機械株式会社 | 自律移動体及び自律移動体の移動制御方法 |
KR20120054879A (ko) * | 2010-11-22 | 2012-05-31 | 고려대학교 산학협력단 | 차량형 이동 로봇의 충돌 회피 경로 생성 방법 및 이를 이용한 주차 보조 시스템 |
-
2022
- 2022-02-15 KR KR1020220019769A patent/KR102479619B1/ko active IP Right Grant
- 2022-12-13 WO PCT/KR2022/020206 patent/WO2023158075A1/ko unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060093964A (ko) * | 2005-02-23 | 2006-08-28 | 엘지전자 주식회사 | 이동로봇의 정지제어방법 |
KR20170043946A (ko) * | 2015-10-14 | 2017-04-24 | 국방과학연구소 | 이동체의 경로계획 장치 및 그 계획 방법 |
KR102049962B1 (ko) | 2019-04-17 | 2019-11-28 | 주식회사 트위니 | 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102572851B1 (ko) | 2023-04-04 | 2023-08-31 | 주식회사 클로봇 | 목적지까지 이동하는 이동 로봇 장치 및 그의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2023158075A1 (ko) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5112666B2 (ja) | 移動装置 | |
Konolige | A gradient method for realtime robot control | |
Chitsaz et al. | Time-optimal paths for a Dubins airplane | |
US5400244A (en) | Running control system for mobile robot provided with multiple sensor information integration system | |
De Lima et al. | Navigation of an autonomous car using vector fields and the dynamic window approach | |
JP6959056B2 (ja) | 移動ロボットの制御装置と制御方法 | |
Pradhan et al. | Robot crowd navigation using predictive position fields in the potential function framework | |
Ge et al. | Sensor-based path planning for nonholonomic mobile robots subject to dynamic constraints | |
KR102479619B1 (ko) | 장애물의 회피 이동이 가능한 자율 주행 로봇 | |
CN115309168B (zh) | 一种井下无人车控制方法及装置 | |
Zhang et al. | P-CAP: Pre-computed alternative paths to enable aggressive aerial maneuvers in cluttered environments | |
RU2661964C2 (ru) | Способ автоматического формирования гладких траекторий движения мобильного робота в неизвестном окружении | |
Simon et al. | Vehicle guidance for an autonomous vehicle | |
Sánchez et al. | Foresee the unseen: Sequential reasoning about hidden obstacles for safe driving | |
CN115309163A (zh) | 基于改进方向评价函数dwa算法的局部路径规划方法 | |
Xu et al. | Concepts for dynamic obstacle avoidance and their extended application in underground navigation | |
WO2021246169A1 (ja) | 情報処理装置、情報処理システム、および方法、並びにプログラム | |
Thrunyz | The dynamic window approach to collision avoidance | |
WO2021246170A1 (ja) | 情報処理装置、情報処理システム、および方法、並びにプログラム | |
Diéguez et al. | Deliberative on-line local path planning for autonomous mobile robots | |
JP6809913B2 (ja) | ロボット、ロボットの制御方法、および地図の生成方法 | |
Hoshino et al. | End-to-end discrete motion planner based on deep neural network for autonomous mobile robots | |
Vandorpe et al. | Lias: A reflexive navigation architecture for an intelligent mobile robot system | |
Amano et al. | Autonomous mobile robot navigation for complicated environments by switching multiple control policies | |
Vandorpe et al. | A reflexive navigation algorithm for an autonomous mobile robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |