KR-102960205-B1 - METHOD FOR TRACKING A MOVING TARGET WITH SEPARATION
Abstract
본 발명은 이동하는 목표를 추종하는 방법에 관한 것으로, 본 발명에 따른 이동 목표의 이격 추종 방법은 이동 목표와 소정의 임계 거리(d app )에 있는 지점으로 로봇이 이동할 수 있는 궤적을 생성하는 주행 궤적 생성 단계(S10); 상기 주행 궤적 생성 단계(S10)에서 생성된 주행 궤적으로 이동하는 경우 주행 궤적대로 이동이 가능한지 여부를 판단하는 주행 궤적 적용 판단 단계(S20); 상기 주행 궤적 적용 판단 단계(S20)에 주행 궤적으로 로봇의 이동이 불가능하다고 판단되는 경우 장애물을 회피할 수 있는 궤적을 생성하는 회피 궤적 생성 단계(S30); 상기 회피 궤적 생성 단계(S30)에서 생성된 회피 궤적으로 이동하는 경우 회피 궤적대로 이동이 가능한지 여부를 판단하는 회피 궤적 적용 판단 단계(S40); 상기 회피 궤적 생성 단계(S30)에서 생성된 회피 궤적으로 이동이 불가능하다고 판단되는 경우 로봇의 선속도를 줄이면서 이동 목표를 추종할 수 있도록 방향을 제어하는 지향 궤적을 생성하는 지향 궤적 생성 단계(S50); 상기 지향 궤적 생성 단계(S50)에서 생성된 지향 궤적으로 이동하는 경우 지향 궤적대로 이동이 가능한지 여부를 판단하는 지향 궤적 적용 판단 단계(S60) 및 상기 지향 궤적 생성 단계(S50)에서 생성된 지향 궤적으로 이동이 불가능하다고 판단되는 경우 로봇이 정지 상태가 되도록 하는 정지 궤적을 생성하는 정지 궤적 생성 단계(S70)를 포함하여 구성되는 것을 기술적 특징으로 한다.
Inventors
- 김윤정
- 변용진
- 장민경
Assignees
- 주식회사 트위니
Dates
- Publication Date
- 20260506
- Application Date
- 20240701
Claims (5)
- 이동 목표와 소정의 임계 거리(d app )에 있는 지점으로 로봇이 이동할 수 있는 궤적을 생성하는 주행 궤적 생성 단계(S10); 상기 주행 궤적 생성 단계(S10)에서 생성된 주행 궤적으로 이동하는 경우 주행 궤적대로 이동이 가능한지 여부를 판단하는 주행 궤적 적용 판단 단계(S20); 상기 주행 궤적 적용 판단 단계(S20)에서 주행 궤적으로 로봇의 이동이 불가능하다고 판단되는 경우 장애물을 회피할 수 있는 궤적을 생성하는 회피 궤적 생성 단계(S30); 상기 회피 궤적 생성 단계(S30)에서 생성된 회피 궤적으로 이동하는 경우 회피 궤적대로 이동이 가능한지 여부를 판단하는 회피 궤적 적용 판단 단계(S40); 상기 회피 궤적 생성 단계(S30)에서 생성된 회피 궤적으로 이동이 불가능하다고 판단되는 경우 로봇의 선속도를 줄이면서 이동 목표를 추종할 수 있도록 방향을 제어하는 지향 궤적을 생성하는 지향 궤적 생성 단계(S50); 상기 지향 궤적 생성 단계(S50)에서 생성된 지향 궤적으로 이동하는 경우 지향 궤적대로 이동이 가능한지 여부를 판단하는 지향 궤적 적용 판단 단계(S60) 및 상기 지향 궤적 생성 단계(S50)에서 생성된 지향 궤적으로 이동이 불가능하다고 판단되는 경우 로봇이 정지 상태가 되도록 하는 정지 궤적을 생성하는 정지 궤적 생성 단계(S70)를 포함하여 구성되고, 상기 주행 궤적 생성 단계(S10)에서 상기 이동 목표의 로봇의 기준 방향에 대한 각도 θ err 의 절대값이 소정의 제1 임계 각도 θ thr1 보다 큰 경우 아래 [수학식 2]에 따라, 작거나 같은 경우 아래 [수학식 3]에 따라 상기 로봇의 각속도가 제어되는 것을 특징으로 하는 이동 목표의 이격 추종 방법{단, ω(i)는 i번째 프레임에서 각속도, i는 자연수, T는 i가 1씩 증가하면서 갱신되는 주기, min[], max[]는 [] 내부 파라미터 중 최솟값, 최댓값을 채택하는 연산자, ω max , -ω max ,0은 ω가 ±ω max 나 0을 벗어나지 않도록 하는 포화치, α는 각속도의 단위 증감치}. [수학식 2] [수학식 3]
- 청구항 1에 있어서, 상기 주행 궤적 생성 단계(S10)에서 상기 이동 목표의 로봇의 기준 방향에 대한 각도 θ err 의 절대값이 소정의 제1 임계 각도 θ thr1 보다 큰 경우 아래 [수학식 2]에 따라, 작거나 같은 경우 아래 [수학식 3]에 따라 상기 로봇의 각속도가 제어되는 것을 특징으로 하는 이동 목표의 이격 추종 방법{단, ω(i)는 i번째 프레임에서 각속도, i는 자연수, T는 i가 1씩 증가하면서 갱신되는 주기, min[], max[]는 [] 내부 파라미터 중 최솟값, 최댓값을 채택하는 연산자, ω max , -ω max ,0은 ω가 ±ω max 나 0을 벗어나지 않도록 하는 포화치, α는 각속도의 단위 증감치}. [수학식 2] [수학식 3]
- 청구항 1에 있어서, 상기 주행 궤적 생성 단계(S10)에서 상기 로봇에 구비된 거리 센서에서 측정한 이동 목표까지의 거리 d tgt 가 임계 거리 d thr 를 초과하고, 상기 이동 목표의 로봇의 기준 방향에 대한 각도 θ err 이 제2 임계 각도 θ thr2 를 초과하지 않는 경우 아래 [수학식 4]에 따라, 그 외의 경우 아래 [수학식 5]에 따라 상기 로봇의 선속도가 제어되는 것을 특징으로 이동 목표의 이격 추종 방법{단, v(i)는 i번째 프레임에서 선속도, i는 자연수, T는 i가 1씩 증가하면서 갱신되는 주기, min[], max[]는 [] 내부 파라미터 중 최솟값, 최댓값을 채택하는 연산자, v max , 0은 v가 v max 나 0을 벗어나지 않도록 하는 포화치, β는 선속도의 단위 증감치}. [수학식 4] [수학식 5]
- 청구항 1에 있어서, 상기 지향 궤적 생성 단계(S50)에서 상기 로봇의 각속도가 상기 [수학식 2] 및 [수학식 3]에 따라 제어되고, 상기 로봇의 선속도는 아래 [수학식 4]에 따라 제어되는 것을 특징으로 하는 이동 목표의 이격 추종 방법. [수학식 4]
- 청구항 1에 있어서, 상기 주행 궤적 적용 판단 단계(S20)에서 주행 궤적으로 로봇의 이동이 가능한 것으로 판단되었더라도 d tgt < d thr 인 경우, 상기 지향 궤적 생성 단계(S50) 내지 정지 궤적 생성 단계(S70)를 수행하는 것을 특징으로 하는 이동 목표의 이격 추종 방법(단, d tgt 는 로봇에 구비된 거리 센서에서 측정한 이동 목표까지의 거리로서 아래 [수학식 1]과 같고, d thr 는 임계 거리 d app 에서 이동 목표와 로봇까지의 거리. L rbt 는 로봇의 길이). [수학식 1]
Description
이동 목표의 이격 추종 방법 {METHOD FOR TRACKING A MOVING TARGET WITH SEPARATION} 본 발명은 이동 로봇의 목표 추종 방법에 관한 것으로, 더욱 상세하게는 이동하는 목표를 추종하는 방법에 관한 것이다. 자율 주행이란 자동차, 비행기, 로봇 등 기계 장치(이하 ‘로봇 등’이라 한다)가 외부의 힘을 빌리지 않고 자체 장착된 각종 센서와 컴퓨팅 시스템에 의하여 자유롭게 주행하는 것으로서, 운전자 없이 주행하는 무인 자동차나 무인항공기, 로봇 주행 등이 대표적인 예이다. 대부분의 자율 주행 로봇은 정해진 환경(또는 지도) 내에서 사람에 의한 조작 없이 목적지까지 자율적으로 이동하는 것을 목적으로 한다. 이를 위해 로봇은 실시간으로 지도상에서 현재 위치를 추정하고, 목적지까지의 경로를 도출한 후, 도출된 경로를 따라가도록 동작이 제어된다. 그리고 로봇이 이동하는 환경에는 사람이나 물건과 같은 장애물이 있는 경우가 많아, 로봇이 장애물과 충돌하지 않고 안전하게 주행하기 위하여 목적지의 특징이나 주행 환경이 고려된 적절한 회피 경로 계획이 요구된다. 이러한 로봇의 회피 경로는 일반적으로 목적지가 주어지고, 목적지에 충돌없이 안전하게 도착하는 것을 목표로 도출되는데, 그 일례가 ‘특허문헌 1’에 개시되어 있다. 특허문헌 1에 개시된 발명은 ‘장애물의 회피 이동이 가능한 자율 주행 로봇’이고, 도 1은 그 자율 주행 알고리즘으로서, 종래의 자율 주행 로봇은 로봇의 상태를 이동 상태, 정지 상태, 고립 상태, 도착 상태 중 어느 하나로 결정(S1)하고, 각 상태에 따라 목적지 도착 여부(S2), 후진 궤적 생성 필요 여부(S3), 회피 궤적 생성 필요 여부(S4) 등을 판단하여 최종적으로 목적지까지 로봇이 이동할 수 있는 경로를 도출(S5)한다. 그런데 종래 기술에 따른 주어진 목적지에 도달하도록 하는 로봇의 주행 경로 계획 방법은 추종대상의 위치를 목적지로 하기 때문에 추종대상과 일정 거리를 두고 계속해서 추종하는 궤적을 생성해야 하는 경우, 예를 들면 공장이나 마트에서 작업자나 관리자를 추종하면서 소정 거리를 유지해야 하는 로봇에는 적용이 어려운 문제점이 있다(로봇이 작업자나 관리자에 충돌하지 않으면서 공구나 재료, 상품 등을 이동시켜야 하는 상황은 매우 많다). 또 이격을 유지하면서 대상을 추종해야 하므로, 장애물을 회피할 때 추종대상에 근접하는 것보다 추종대상을 향하는 방향을 선택하는 것이 유리한 경우가 있고, 추종대상에 접근할 때에도 최단 경로를 채택하기 보다는 추종대상을 놓치지 않도록 속도와 방향이 제어되어야 하는데 종래 기술에 따르면 이러한 운동 제어가 고려된 이동 궤적의 생성이 어려운 문제가 있다. 도 1은 종래의 자율 주행 로봇의 주행 알고리즘의 일례 도 2는 본 발명에 따른 이동 목표의 이격 추종 방법 도 3은 이동 목표와 로봇의 거리 관계 도 4는 주행 궤적 생성 방법 및 회피 궤적 생성 방법의 개요도 도 5는 지향 궤적 생성 방법의 개요도 도 6은 지향 궤적을 생성하는 경우의 예시도 도 7은 정지 궤적 생성 방법의 개요도 이하에서는 본 발명에 따른 이동 목표의 이격 추종 방법을 첨부된 도면을 참조하여 상세히 설명한다. 도 2는 본 발명에 따른 이동 목표의 이격 추종 방법으로서, 본 발명에 따른 이동 목표의 이격 추종 방법은 주행 궤적 생성 단계(S10), 회피 궤적 생성 단계(S30), 지향 궤적 생성 단계(S50), 정지 궤적 생성 단계(S70), 귀환 궤적 생성 단계(S100)로 이루어지는 궤적 생성 단계 및 주행 궤적 적용 판단 단계(S20), 회피 궤적 적용 판단 단계(S40), 지향 궤적 적용 판단 단계(S60), 최대 근접 거리 판단 단계(S80), 귀환 궤적 적용 판단 단계(S90)로 이루어지는 궤적 적용 판단 단계로 구성되어, 주행, 회피, 지향 주행의 가능 여부에 따라 적절한 궤적을 생성하고, 주행이 가능한 경우라도 이동 목표와 로봇의 위치 관계에 따라 지향이나 정지와 같은 주행 외의 상태를 채택할 수 있도록 한다. 참고로, 아래에서 설명할 주행 궤적 등은 로봇이 수행할 수 있는 선속도 및 각속도의 허용 범위 내에서 생성되기 때문에, 궤적 생성과 실제 운동 간 괴리가 발생할 염려는 없다. 예를 들어, 로봇의 선속도를 x축, 로봇의 각속도를 y축으로 하는 좌표계를 가정하면, 로봇의 운동 수행 능력은 좌표계에서 x축, y축에 꼭짓점을 두는 사각형(선속도나 각속도의 ± 한계가 동일하기 때문에 보통은 마름모꼴이 된다)으로 정의될 수 있고, 주행 궤적 등이 이러한 로봇의 운동 수행 능력 범위 내에서 생성되는 것이다. 주행 궤적 생성 단계(S10)는 이동 목표와 소정의 임계 거리(dapp)에 있는 지점으로 로봇이 이동할 수 있는 궤적, 즉 이동 목표와 소정의 임계 거리를 유지하면서 주행할 수 있는 궤적을 생성하는 단계로서, 주행 궤적은 이동 목표로부터 소정의 임계 거리에 있는 점을 목적지로 하고, 로봇의 선속도 및 각속도를 제어하면서 로봇이 이동 목표를 임계 거리로 접근하도록 한다. 예를 들면, 이동 목표를 중심으로 하고 소정 반경(dapp)을 반지름으로 하는 원과 이동 목표와 로봇을 이은 직선의 교점이 주행 궤적의 목적지가 될 수 있다. 참고로, 본 발명에서 도출되는 로봇의 궤적은 주행 궤적, 회피 궤적, 지향 궤적, 정지 궤적, 귀환 궤적이고, 그 각각의 정의는 아래와 같다. ① 주행 궤적: 로봇을 이동 목표와 임계 거리(dapp)에 있는 곳에 정지하도록 하는 궤적 ② 회피 궤적: 로봇이 장애물을 회피하여 후진하여 정지하거나 또는 중간 목적지에 정지하도록 하는 궤적 ③ 지향 궤적: 로봇의 선속도가 감소하면서 각속도가 제어되어 로봇이 이동 목표를 지향하도록 하는 궤적 ④ 정지 궤적: 로봇의 선속도와 각속도가 모두 감소하여 정지되도록 하는 궤적 ⑤ 귀환 궤적: 로봇이 이동 목표를 인식한 마지막 지점으로 귀환하도록 하는 궤적 주행 궤적 적용 판단 단계(S20)는 주행 궤적 생성 단계(S10)에서 생성된 주행 궤적으로 이동하는 경우 주행 궤적대로 이동이 가능한지 여부를 판단하는 단계이다. 가령 주행 궤적에 장애물이 있는 경우 주행 궤적으로 이동이 불가능하므로 주행 궤적을 로봇의 이동에 적용할 수 없고 회피나 지향, 정지 등 다른 궤적을 채택해야 한다. 회피 궤적 생성 단계(S30)는 주행 궤적 적용 판단 단계(S20)에서 주행 궤적으로 로봇의 이동이 불가능하다고 판단되는 경우 장애물을 회피할 수 있는 궤적을 생성하는 단계이다. 회피 궤적 생성은 로봇을 후진시키면서 주행 궤적이 생성되는지를 판단할 수 있도록 하는 후진 궤적 생성, 장애물과 충돌 회피 또는 고립 상태 해소를 위한 충돌 회피 중간 목적점 또는 고립 회피 중간 목적점 등을 설정하고 중간 목적점까지 이동하도록 하는 중간 목적점 궤적 생성 등이 있을 수 있다. 회피 궤적 적용 판단 단계(S40)는 회피 궤적 생성 단계(S30)에서 생성된 회피 궤적으로 이동하는 경우 회피 궤적대로 이동이 가능한지 여부를 판단하는 단계이다. 가령 회피 궤적으로 이동하더라도 장애물과 충돌이 예상되거나 이동 목표를 감지할 수 없을 것으로 예상되는 경우(이동 목표가 탐지되지 않는 경우) 회피 궤적으로 이동이 불가능하고, 지향이나 정지 상태를 채택해야 한다. 지향 궤적 생성 단계(S50)는 회피 궤적 생성 단계(S30)에서 생성된 회피 궤적으로 이동이 불가능하다고 판단되는 경우 로봇의 선속도를 줄이면서 이동 목표를 추종할 수 있도록 방향을 제어하는 지향 궤적을 생성하는 단계이다. 본 발명은 로봇이 주행 가능한 것으로 판단되는 경우 즉각적으로 주행 궤적을 생성하기 때문에 주행이나 회피가 불가능한 경우라도 확률적으로 추후 주행 궤적의 생성에 최대한 유리하도록 하기 위하여 지향 궤적을 생성하여 로봇이 이동 목표를 지향하는 상태를 유지할 수 있도록 한다. 지향 궤적 적용 판단 단계(S60)는 지향 궤적 생성 단계(S50)에서 생성된 지향 궤적으로 이동하는 경우 지향 궤적대로 이동이 가능한지 여부를 판단하는 단계이다. 지향 궤적 적용이 가능하다면 지향 궤적을 적용하여 이동하고, 지향 궤적마저 적용이 불가능하다면 일단 로봇을 정지 상태에 있도록 하는 정지 궤적 생성 단계(S70)를 수행하게 된다. 정지 궤적 생성 단계(S70)는 지향 궤적 생성 단계(S50)에서 생성된 지향 궤적으로 이동이 불가능하다고 판단되는 경우, 앞서 설명한 바와 같이 로봇의 선속도와 각속도를 모두 감소시켜 로봇이 정지 상태가 되도록 하는 정지 궤적을 생성하는 단계이다. 한편, 주행 궤적 적용 판단 단계(S20)에서 주행 궤적으로 로봇의 이동이 가능한 것으로 판단되더라도 이동 목표와 로봇의 위치 관계에 따라 주행 궤적을 그대로 적용하지 않는 것이 유리할 수 있고, 그 직관적인 예가 이동 목표와 로봇이 지나치게 근접하는 상황, 가령 로봇의 선단이 이동 목표와 소정 임계 거리(dapp) 이내에 위치하는 경우이다{본 발명이 가정하는 정상 상태는 로봇이 이동 목표를 소정의 임계 거리(dapp)를 유지하면서 추종하는 것이고, 소정의 임계 거리는 예를 들어 로봇이 이동 목표에 더이상 다가갈 수 없도록 하는 안전거리일 수 있다}. 도 3은 이동 목표와 로봇의 거리 관계를 도시한 것으로서, 임계 거리가 dapp, 로봇의 길이가 Lrbt인 경우이다. 전방향(360°)에 대한 거리 산출을 쉽게 하기 위하여, 그리고 일반적으로 거리 센서가 로봇의 중심 또는 그 근방에 구비되기 때문에 거리 센서가 로봇의 중심에 위치한 것으로 모델링할 수 있다. 이동 목표와 로봇의 거리는 로봇에 구비된 거리 센서에서 측정한 이동 목표까지의 거리가 되고 이를 dtgt라 하면, 임계 거리에서 이동 목표와 로봇의 거리 dthr(로봇이 이동 목표에 최대한 근접할 수 있는 거리라는 의미에서 ‘최대 근접 거리’라 한다)은 아래 [수학식 1]과 같고, 궤적 생성 방법의 분기점이 된다. 주행 궤적 적용 판단 단계(S20)에서 주행 궤적으로 로봇의 이동이 가능한 것으로 판단되었더라도 dtgt < dthr인 경우, 즉 로봇이 이동 목표에 최대 근접 거리 이내로 접근한 경우를 판단하는 최대 근접 거리 판단 단계(S80)를 수행하여 그렇다고 판단되면, 일단 최우선 시 되는 것은 로봇이 이동 목표에 더