KR101937269B1 - 로봇 모션 경로 계획방법 - Google Patents

로봇 모션 경로 계획방법 Download PDF

Info

Publication number
KR101937269B1
KR101937269B1 KR1020170059735A KR20170059735A KR101937269B1 KR 101937269 B1 KR101937269 B1 KR 101937269B1 KR 1020170059735 A KR1020170059735 A KR 1020170059735A KR 20170059735 A KR20170059735 A KR 20170059735A KR 101937269 B1 KR101937269 B1 KR 101937269B1
Authority
KR
South Korea
Prior art keywords
node
detection
nodes
radius
coefficient
Prior art date
Application number
KR1020170059735A
Other languages
English (en)
Other versions
KR20180125646A (ko
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 KR1020170059735A priority Critical patent/KR101937269B1/ko
Publication of KR20180125646A publication Critical patent/KR20180125646A/ko
Application granted granted Critical
Publication of KR101937269B1 publication Critical patent/KR101937269B1/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
    • 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

Abstract

본 발명은 동적 환경에서도 빠른 연산속도로 장애물을 피하여 이동할 수 있도록 매니퓰레이터의 모션 경로 계획을 수립할 수 있는 로봇 모션 경로 계획 방법을 제공하는 것을 기술적 과제로 한다.
본 발명은 전술한 기술적 과제를 해결하기 위해, 동적환경하에서 로봇의 이동경로를 계획하는 방법으로서,
상기 형상공간(CS)의 내부에 복수의 노드(qi)를 배치하고 상기 복수의 노드(qi)의 각각의 둘레에 일정한 간격으로 검지노드(△qj)를 형성하는 단계(s100);
상기 하나의 노드(qi)와 이웃하는 노드(qi)의 사이의 반경(r)와 미리 정해진 이웃 반경(rn)를 비교하여 확장반발계수를 하기 식에 의해 연산하는 단계(s200);
Figure 112017045599149-pat00019

여기서, 노드(qi), 이웃 노드(qj), 확장 반발계수(Fi 확장)는 방향성을 가지는 벡터임.
rij 는 노드(qi)와 노드(qj) 사이의 거리
ηi 는 이웃하는 노드(qj)의 셋트를 의미함.
반발포텐셜함수(f)는 0 < r ≤rn 만족시에는 거리(r)에 반비례하는 임의의 함수로 결정되며, 0 < r ≤rn 불만족시에는 O 으로 결정됨.
상기 각 노드 둘레의 검지노드가 장애물에 위치하는 지 여부를 판단하여 검지반발계수를 하기 식에 의해 연산하는 단계(s300);
Figure 112017045599149-pat00020

충돌검지함수(s)는 하기와 같이 결정됨
s(q) = 1 (형상공간(CS)내 검지노드와 장애물 충돌 발생 경우)
= 0 (형상공간(CS)내 검지노드와 장애물 충돌 발생하지 않은 경우)
각 노드(qi)에서 하기 식을 이용하여 노드(qi)의 위치를 업데이트 하는 단계(s400);
Figure 112017045599149-pat00021

여기서, G1, G2 는 각각 확장반발계수 Fi 확장(k) 및 검지반발계수 Fi 검지(k) 에 대한 게인(gain)값임.
상기 단계(s400)에서 업데이트된 노드(qi) 위치 qi(k+1)와 업데이트 전 노드(qi) 위치 qi(k)와의 반경 차이가 미리 정해진 허용치(ε) 이하인지 여부를 판단하는 단계(s600);
Figure 112017045599149-pat00022

상기 단계(s600)을 만족하지 못하는 경우 상기 단계(s200)으로 복귀하는 단계(s700);
상기 단계(s700)을 만족하는 경우 로봇 모션 경로 계획 방법을 종료하는 것을 특징으로 한다.

Description

로봇 모션 경로 계획방법{PLANNING METHOD FOR ROBOT MOTION}
본 발명은 로봇의 모션을 제어하는 방법에 대한 것으로서, 특히 동적환경하에서 장애물과 충돌하지 않도록 로봇 모션의 경로를 계획하는 방법에 대한 것이다.
일반적으로 로봇은 생산 현장에서의 작업 자동화ㆍ무인화 등을 목적으로 한 매니퓰레이터나 반송 로봇등의 산업용 로봇으로 인간을 대신하여 위험한 작업이나 단순한 반복 작업, 큰 힘을 필요로 하는 작업을 수행하였다.
그러나, 최근에는 인간과 유사한 관절체계를 가지고 인간의 작업 및 생활공간에서 인간과 공존하며 다양한 서비스를 제공하는 인간형 로봇(humanoid robot)의 연구 개발이 활발하게 진행되고 있다.
이러한 인간형 로봇은 전기적ㆍ기계적 메커니즘에 의해서 팔이나 손의 동작에 가깝게 운동할 수 있도록 만들어진 매니퓰레이터(manipulator)를 이용하여 작업을 수행한다.
현재 사용되고 있는 대부분의 매니퓰레이터는 여러 개의 링크(link)들이 서로 연결되어 구성된다. 각 링크들의 연결 부위를 관절(joint)이라 하는데 매니퓰레이터는 이러한 링크와 관절들 사이의 기하학적인 관계에 따라 운동 특성이 결정된다.
이 기하학적인 관계를 수학적으로 표현한 것이 기구학(Kinematics)이며 대부분의 매니퓰레이터는 이러한 기구학적 특성(kinematicscharacteristic)을 가지고 작업을 수행하기 위한 방향(목표점)으로 로봇 선단(end-effector;이하 엔드 이펙터라 한다)을 이동시킨다.
매니퓰레이터가 주어진 작업(예를 들어, 물체를 잡는 작업)을 수행하기 위해서는 매니퓰레이터가 작업을 수행하기 전의 초기 위치(시작점)에서부터 작업을 수행할 수 있는 즉, 물체를 잡을 수 있는 최종 위치(목표점)까지 매니퓰레이터의 이동 경로를 생성하는 것이 중요하다.
매니퓰레이터가 작업 영역 내의 장애물과 충돌하지 않는 충돌 회피 등의 구속 조건을 만족하면서 시작점과 목표점을 연결하는 경로를 계획하는 방법으로 샘플 경로 계획(Sampling Based Path Planning) 방법이 공지되어 있다.
이와 관련된 종래기술로서 한국특허공개 제10-2011-15764호가 개시되어 있다.
상기 종래기술에서는 도 9, 10 에 도시된 바와 같이 작업공간(WS)의 장애물 등을 매핑한 형상공간(CS)(configuration space)에서 샘플 경로 계획 방법을 이용하여 매니퓰레이터의 경로를 생성하는 기술이 공지되어 있다.
그런데, 샘플 경로 계획(Sampling Based Path Planning) 방법은 산업현장 등과 같이 장애물이 이동하지 않는 정적 환경에 대해 적용이 제한된다.
그 이유는 장애물이 움직이는 동적 환경에서는 위치가 변화된 장애물과 충돌하지 않도록 경로를 생성하기 위한 시간이 너무 많이 소요되는 처리시간이라는 구속조건에 빠르게 대응할 수 없기 때문이다.
또한, 형상 공간 내부로 장애물이 진입하고 퇴출함으로써 발생하는 형상공간(CS)의 크기 내지 부피의 변형을 다루기 위한 연산능력을 구비하지 못하기 때문이다.
최근에는 장애물이 변동되는 동적환경 또는 시간에 따라 상황이 변경하는 환경에서의 로봇의 사용에 대한 요구가 증가되고 있으나, 전술한 바와 같이 이러한 동적 환경에서의 로봇의 모션 계획을 수행할 만한 방법이 제시되지 못해 더욱 문제시 되고 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 동적 환경에서도 빠른 연산속도로 장애물을 피하여 이동할 수 있도록 매니퓰레이터의 모션 경로 계획을 수립할 수 있는 로봇 모션 경로 계획 방법을 제공하는 것을 기술적 과제로 한다.
본 발명은 전술한 과제를 해결하기 위해, 동적환경하에서 로봇의 이동경로를 계획하는 방법으로서, 상기 형상공간(CS)의 내부에 복수의 노드(qi)를 배치하고 상기 복수의 노드(qi)의 각각의 둘레에 일정한 간격으로 검지노드(△qj)를 형성하는 단계(s100);
상기 하나의 노드(qi)와 이웃하는 노드(qi)의 사이의 반경(r)와 미리 정해진 이웃 반경(rn)를 비교하여 확장반발계수를 하기 식에 의해 연산하는 단계(s200);
Figure 112017045599149-pat00001
여기서, 노드(qi), 이웃 노드(qj), 확장 반발계수(Fi 확장)는 방향성을 가지는 벡터임.
rij 는 노드(qi)와 노드(qj) 사이의 거리
ηi 는 이웃하는 노드(qj)의 셋트를 의미함.
반발포텐셜함수(f)는 0 < r ≤rn 만족시에는 거리(r)에 반비례하는 임의의 함수로 결정되며, 0 < r ≤rn 불만족시에는 O 으로 결정됨.
상기 각 노드 둘레의 검지노드가 장애물에 위치하는 지 여부를 판단하여 검지반발계수를 하기 식에 의해 연산하는 단계(s300);
Figure 112017045599149-pat00002
충돌검지함수(s)는 하기와 같이 결정됨
s(q) = 1 (형상공간(CS)내 검지노드와 장애물 충돌 발생 경우)
= 0 (형상공간(CS)내 검지노드와 장애물 충돌 발생하지 않은 경우)
각 노드(qi)에서 하기 식을 이용하여 노드(qi)의 위치를 업데이트 하는 단계(s400);
Figure 112017045599149-pat00003
여기서, G1, G2 는 각각 확장반발계수 Fi 확장(k) 및 검지반발계수 Fi 검지(k) 에 대한 게인(gain)값임.
상기 단계(s400)에서 업데이트된 노드(qi) 위치 qi(k+1)와 업데이트 전 노드(qi) 위치 qi(k)와의 반경 차이의 합이 미리 정해진 허용치(ε) 이하인지 여부를 판단하는 단계(s600);
Figure 112017045599149-pat00004
상기 단계(s600)을 만족하지 못하는 경우 상기 단계(s200)으로 복귀하는 단계(s700);
상기 단계(s600)을 만족하는 경우 로봇 모션 경로 계획 방법을 종료하는 것을 특징으로 한다.
본 발명의 로봇 모션 경로 계획 방법에서, 상기 단계(s400)와 단계(s600) 사이에 이웃반경(rn)을 하기 식에 의해 업데이트하는 단계(s600)를 더 포함하는 것을 특징으로 한다.
Figure 112017045599149-pat00005
G 는 게인(gain)값.
Pd 는 희망하는 반발력의 합의 값으로 미리 정해진 값.
P 는 각 노드에서의 반발력의 합.
Figure 112017045599149-pat00006
△t = tk+1 -tk 로서 k번째 반복과 k+1 번째 반복사이의 시간차이.
rn(tk)는 k 번째 반복에서의 이웃 반경.
본 발명의 로봇 모션 경로 계획 방법에서, 상기 반발포텐셜함수(f)는 하기 식에 의해 결정되는 것을 특징으로 한다.
f = 1/2(1/r-1/rn)2 [0 < r ≤rn 만족]
= 0 [0 < r ≤rn 만족]
본 발명의 로봇 모션 경로 계획 방법에서, 상기 단계(s200) 내지 단계(s400)는 각 노드에 대해 분산 쓰레드 방식으로 연산되는 것을 특징으로 한다.
본 발명의 로봇 모션 경로 계획 방법에서, 상기 단계(s400)은 즉, 노드(qi) 위치를 업데이트 하는 단계는 각각의 노드(qi)의 위치가 모두 업데이트될 때까지 이미 위치가 업데이트된 노드(qi)에서는 더 이상 위치 업데이트 작업을 하지 않고 대기하는 동기화방식으로 이루어지는 것을 특징으로 한다.
본 발명의 로봇 모션 경로 계획 방법에서, 상기 단계(s600) 이후에 노드를 연결하여 최적 경로를 형성하는 단계(s800)를 더 포함하는 것을 특징으로 한다.
본 발명의 로봇 모션 경로 계획 방법은 동적 환경의 경우에도 처리시간이라는 구속조건을 극복하면서 로봇의 모션 경로 계획을 빠른 시간 내에 도출할 수 있는 효과를 가진다.
또한, 형상공간(CS) 내부로의 장애물의 진입 및 퇴출로 인해 형상공간(CS)의 부피가 변하는 경우에도 적절하고 빠르게 로봇 모션의 경로를 계획하는 것이 가능하게 되는 장점을 가진다.
도 1 은 본 발명의 로봇 모션 계획 방법을 도시하는 플로우 차트이다.
도 2 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s100)을 도시하는 도면이다.
도 3 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s200)을 도시하는 도면이다.
도 4 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s300)을 도시하는 도면이다.
도 5 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s400)을 도시하는 도면이다.
도 6 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s500)을 도시하는 도면이다.
도 7 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s700)을 도시하는 도면이다.
도 8 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s800)을 도시하는 도면이다.
도 9 은 로봇의 손이 장애물을 회피하여 이동하는 모습을 도시하는 도면이다.
도 10 는 종래기술에서 로봇 모션 계획을 형상공간(CS)에서 수행하는 상황을 도시하는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대해 설명한다. 도 1 은 본 발명의 로봇모션계획방법을 도시하는 플로우차트이다.
본 발명의 로봇 모션 경로 계획방법은 다음과 같은 단계를 포함하여 이루어진다.
도 2 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s100)을 도시하는 도면이다.
단계(s100)에서는 도 2 에 도시된 바와 같이, 형상공간(CS)에서 복수의 노드(qi)를 배치하고 상기 복수의 노드(qi)의 각각의 둘레에 일정한 간격으로 검지노드(△qj)를 형성한다.
노드(qi)를 배치하는 단계(s100)에서는 장애물(COi)이 존재하지 않는 공간에 노드(qi)를 배치하는 것이 바람직 하나, 장애물(COi)이 존재하는 공간에 배치된 경우에도 후술하는 단계에 의해 자동적으로 노드(qi)가 장애물(COi)이 존재하지 않는 공간으로 이동하게 된다.
한편, 노드(qi)의 주변에는 원주방향으로도 일정한 반경(rs)을 가지도록 복수 개의 검지노드(△qj)를 배치한다.
도 2 에서는 본 실시예의 설명을 위해 2차원에서 원주방향에 형성된 경우에 대해서만 도시하고 있으나, n 차원을 가지는 초구(hypersphere)로 형성될 수 있다.
도 3 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s200)을 도시하는 도면이다.
다음으로, 이웃하는 노드(qi)를 검색하여 확장 반발 계수를 연산하는 단계(s200)를 수행한다
도 3 에 도시된 바와 같이 단계(s300)에서는 하나의 노드(qi)와 이웃하는 노드(qj)의 사이의 반경(r)을 미리 정해진 값을 가지는 이웃 반경(rn)과 비교하여 반발포텐셜함수(f)를 하기와 같이 결정한다.
f = 1/2(1/r-1/rn)2 [0 < r ≤rn 만족]
= 0 [0 < r ≤rn 불만족]
즉, 반경(r)이 0 < r ≤rn 을 만족하는 경우에 반발 포텐셜 함수(f)는 1/2(1/r-1/rn)2 에 의해 결정된다.
반발 포텐셜 함수(f)는 노드(qi) 사이의 반경(r)이 미리 정해진 이웃 반경(rn)보다 작은 경우에 노드(qi) 사이의 반경(r)을 이웃 반경(rn) 이상으로 멀게 형성되게 하기 위해 노드(qi)를 이동시키기 위한 이동량을 결정하기 위한 것이다.
즉, 본 발명에서 반발 포텐셜 함수(f)는 노드(qi) 사이의 반경(r)이 가까운 경우에 반경을 멀게 하는 작용을 위한 것인 바, 본 실시예에서의 1/2(1/r-1/rn)2 로 한정되는 것이 아니라 거리에 반비례하는 함수라면 다른 식을 사용하는 것도 가능하다.
예를 들어, 반발포텐셜함수(f) 는 f = -a/r 또는 f = -a/r+b 또는 f = -a/r2 + b (여기서, a, b 는 상수임)등 반발포텐셜함수(f)가 거리(r)에 반비례하는 여러 공지된 다른 함수를 사용하는 것도 가능하다.
한편, 반경(r)이 0 < r ≤rn 을 만족하지 못하는 경우에 반발 포텐셜 함수(f)는 0 으로 결정된다.
그 이유는 노드(qi) 사이 반경(r)가 미리 정해진 이웃 반경(rn)보다 큰 경우에 해당되므로 노드(qi) 사이의 반경(r)을 멀게 할 필요가 없기 때문이다.
노드(qi)는 여러 방향으로의 방향성을 가지는 벡터이므로 이러한 방향성을 고려하면 확장 반발계수(Fi 확장)가 하기 수학식 1 과 같이 표현된다.
Figure 112017045599149-pat00007
여기서, 노드(qi), 이웃 노드(qj), 확장 반발계수(Fi 확장)는 방향성을 가지는 벡터임.
rij 는 노드(qi)와 노드(qj) 사이의 거리
ηi 는 이웃하는 노드(qj)의 셋트를 의미함.
상기 식에서 반발포텐셜함수(f)는 반발로 인해 노드(qi)간의 거리를 멀어지게 하는 이동량의 크기를 의미하며 (qi-qj)/r 은 반발되어 이동하는 방향을 의미한다.
도 4 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s300)을 도시하는 도면이다.
다음으로, 검지반발계수를 연산하는 단계(s300)를 수행한다.
단계(s300)은 검지반발계수(Fi 검지)를 연산하기 위해 먼저 검지반발함수(s)를 결정하게 되는데, 각 노드(qi)에서의 검지노드(△qj)의 위치가 형상공간(CS)에서 장애물(COi)의 범위 내에 존재하는 경우에는 검지반발함수(s)를 1 로 결정하고, 장애물(COi)의 범위 내에 존재하지 않는 경우 검지반발함수(s)를 0 으로 결정하게 된다.
즉, s(q) = 1 (형상공간(CS) 내 검지노드(△qj)와 장애물 충돌 발생 경우)
= 0 (형상공간(CS) 내 검지노드(△qj)와 장애물 충돌 발생하지 않은 경우)
노드(qi)는 여러 방향으로의 방향성을 가지는 벡터이므로 이러한 방향성을 고려하여 검지반발계수(Fi 검지)를 표현하면 하기 수학식 2 와 같이 된다.
Figure 112017045599149-pat00008
검지반발계수(Fi 검지)는 마이너스값을 가지게 되는데 검지노드(△qj)는 노드(qi)에 대해 반대방향으로 검지반발계수(Fi 검지)를 형성하기 때문이다.
검지반발계수(Fi 검지)는 모든 검지노드(△qj)에 대해 연산되어야 하므로 j=1...ns 값을 가진다.
여기서, 노드(qi), 노드(qj), 검지 반발계수(Fi 검지)는 방향성을 가지는 벡터임.
S 는 검지노드(△qj)의 셋트를 의미함.
ns 는 검지노드(△qj)의 개수를 의미함.
상기 식의 의미를 살펴보면 충돌검지함수(s)는 장애물과 충돌이 검지된 경우 노드(qi)를 장애물로부터 이동시키는 이동량의 크기를 의미하며, △qj 는 충돌이 검지된 경우 이동하는 방향을 의미하는 것이다.
다음으로, 각 노드(qi)에서 위치를 업데이트 하는 단계(s400)를 수행하게 된다. 도 5 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s400)을 도시하는 도면이다.
노드(qi)의 위치는 하기 수학식 3 에 의해 새로운 위치로 업데이트된다.
Figure 112017045599149-pat00009
G1, G2 는 각각 확장반발계수 Fi 확장(k) 및 검지반발계수 Fi 검지(k) 에 대한 게인(gain)값임
상기 식의 의미를 설명하면 원래의 k 번째 위치 연산된 노드 qi(k) 위치에 확장반발계수 Fi 확장(k) 에 의한 노드 위치 변동량 및 검지반발계수 Fi 검지(k) 에 의해 노드 위치 변동량이 연산되어 새로운 위치인 k+1 번째 노드 위치 qi(k+1) 가 연산되는 것을 표현하는 것이다.
단계(s400)의 노드 위치 업데이트 작용에 대해 도 5을 참조하여 자세히 설명하면 다음과 같다.
먼저, 확장반발계수 연산과 관련하여 도 5a 를 살펴보면 하나의 노드(qi)의 이웃 반경(rn)의 내부에 이웃 노드(qj)가 배치되어 확장반발작용이 발생하는 것을 알 수 있다.
또한, 검지반발계수와 관련하여 도 5b 를 살펴보면 검지노드(△qj) 중에서 3개의 검지노드(△q1, △q2, △q3)가 장애물(COi)에 위치되어 충돌하므로 검지반발작용이 발생하는 것을 알 수 있다.
도 5c 에는 확장반발작용 및 검지반발작용이 동시에 작용하는 내용이 도시되어 있다.
이러한 2가지 작용의 발생으로 인해 도 5d 에 도시된 바와 같이 전술한 수학식 3 에 의해 새로운 노드 위치인 k+1 번째 노드 위치 qi(k+1) 가 연산되어 노드의 위치가 새로 업데이트 된다.
한편, 단계(s500)에서 노드(qi)는 각각의 노드 위치가 모두 한 번씩 위치 업데이트되도록 동기화방식으로 진행된다.
즉, 각각의 노드(qi)의 위치가 모두 업데이트될 때까지 이미 위치가 업데이트된 노드(qi)에서는 더 이상 위치 업데이트 작업을 하지 않고 대기하는 방식으로 이루어진다.
다음으로는 이웃 반경(rn)의 크기를 업데이트하는 단계(s500)를 수행하게 된다. 도 6 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s500)을 도시하는 도면이다.
먼저, 이웃반경(rn)을 업데이트할 필요성에 대해 설명하기로 한다.
단계(s500)에서 확장반발계수를 연산하는 경우 이웃 노드와의 반경(r)을 미리 정해진 이웃반경(rn)과 비교하여 연산하게 된다.
그런데 동적 환경에서는 작업공간(WS)으로 장애물(WOi)이 진입하고 퇴출하게 되는 바, 형상공간(CS)에서도 장애물(COi)의 크기 내지 부피도 수시로 변동하여 형상공간(CS)의 크기 내지 부피도 변동하게 된다.
따라서, 형상공간(CS)의 크기 내지 부피에 따라 이웃반경(rn)의 크기를 적절하게 변경하지 않으면 로봇 모션 경로 계획 방법을 수행하는 경우에 노드의 균등한 분포가 달성되지 못하는 문제점이 발생하게 된다.
예를 들어, 도 6 은 로봇 모션 경로 계획 방법을 100회 반복실시한 후의 상태를 도시하는 도면으로서 6a 는 이웃 반경(rn) 이 10 인 경우로서 아무런 반발작용이 발생하지 않는 상태임을 알 수 있다.
도 6b 의 경우 이웃반경(rn)이 30 인 경우로서 노드간의 반발작용이 발생하기는 하나 형상공간(CS)에 빈 공간이 발생하는 등 충분한 노드 균일 분포가 달성되지 않음을 도시하고 있다.
도 6c 는 이웃 반경(rn) 이 47 인 경우로서 아주 이상적으로 형상공간(CS) 전체에 걸쳐 노드가 균일하게 분포되고 있음을 알 수 있다.
도 6d 는 이웃 반경(rn)이 60 인 경우로서 로봇 모션 경로 계획방법을 수행하는 경우에 연산이 수렴되지 않아 균일한 노드 분포가 달성되지 않음을 알 수 있다.
따라서, 적정한 이웃반경(rn)의 값을 설정하는 것은 특히 동적환경으로 인해 형상공간(CS)의 부피가 급변하는 경우에 더욱 절실하게 필요하게 된다.
적절한 이웃 반경의 크기는 하기 수학식 4 에 의해 결정된다.
Figure 112017045599149-pat00010
G 는 게인(gain)값.
Pd 는 희망하는 반발력의 합의 값으로 미리 정해진 값.
P 는 각 노드에서의 반발력의 합.
Figure 112017045599149-pat00011
△t = tk+1 -tk 로서 k번째 반복과 k+1 번째 반복사이의 시간차이.
rn(tk)는 k 번째 반복에서의 이웃 반경.
N 은 노드의 총개수
다음으로 단계(s500)에서 업데이트 후 노드 위치 qi(k+1) 와 위치 업데이트 전 노드 위치 qi(k) 를 비교하여 미리 정해진 허용치(ε) 이하인지 여부를 판단하는 단계(s600)를 수행하게 된다.
Figure 112017045599149-pat00012
본 발명의 방법을 반복수행하면 노드(qi)간의 확장반발계수 및 충돌검지계수가 지속적으로 연산되어 노드(qi) 위치가 지속적으로 업데이트되어 변경되며, 최종적으로 노드(qi)간의 반경이 충분히 확보되고 장애물과도 충돌되지 않는 노드(qi)위치도 확보된다.
이러한 상태가 되면 노드(qi)의 위치가 더 이상 크게 변동되지 않으므로 노드(qi) 위치 변화가 미리 정해진 허용치(ε)보다 작게 되는 지 여부를 수학식 5 와 같이 판단하게 된다.
도 7 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s700)을 도시하는 도면이다.
단계(s700)에서 업데이트 전후의 노드 위치의 차이가 미리 정해진 허용치(ε)보다 크게 되면 다시 단계(s200)으로 복귀하여 단계(s200) 내지 단계(s500)을 반복하는 단계(s700)를 수행하게 된다.
단계(s700)를 지속적으로 수행하게 되면 형상공간(CS) 내부에서의 노드의 분포 균일도가 점점 더 향상되는 작용을 하게 된다.
예를 들어, 단계(s100)만을 초기에 수행한 경우에는 도 7a 에 도시된 바와 같이 형상공간(CS)의 내부에 노드가 불균일하게 분포된다.
단계(s700)을 5회 정도 반복하게 되면 도 7b 에 도시된 바와 같이 노드간의 균일 분포가 서서히 확보되며 10회 정도 반복하게 되면 도 7c 에서와 같이 노드의 분포 균일도가 더욱 향상되고 100회 정도 반복하게 되면 도 7d 에서와 같이 형상공간(CS)의 내부에서 노드의 거의 완전한 분포 균일성이 확보되게 된다.
이와 같이 지속적으로 단계(s700)를 수행하게 되면 노드의 위치가 균일하게 분포되므로 일정 반복회수 이후에는 업데이트 전후의 노드 위치의 차이의 합이 미리 정해진 허용치(ε)보다 작게 되어 단계(s600)을 만족하게 되므로 단계(s800)를 수행하게 된다.
도 8 는 본 발명의 로봇 모션 경로 계획방법에서 단계(s800)을 도시하는 도면이다.
단계(s700)의 지속적인 반복으로 충분한 노드 분포의 균일성이 확보된 후에는 전술한 바와 같이 노드 위치가 더 이상 크게 변경되지 않게 된다.
이와 같은 최종적으로 확정된 형상공간(CS)에서의 노드 분포를 기준으로 하여 공지된 최적 경로 방법 등을 통해 노드의 위치를 연결하여 로봇의 매니퓰레이터의 최적 경로를 형성하는 단계(s800)를 수행하게 된다.
도 8a 에 도시된 바와 같이 형상공간(CS)의 내부에서 균일도가 확보된 노드를 연결하여 최적경로를 형성하게 되면, 궁극적으로 도 8b 에 도시된 바와 같이 작업공간(WS)에서 로봇의 매니퓰레이터(M)가 장애물(WOi)과 간섭되거나 충돌되지 않으면서 이동할 수 있는 경로를 계획하는 것이 가능하게 된다.
이와 같이 본 발명에서는 단계(s200) 내지 단계(s400)을 수행함으로써 확장반발계수 및 검지반발계수라는 개념을 도입하여 노드의 균일한 위치를 빠르게 확보하는 작용을 확보하는 바, 동적환경에서의 로봇 모션 경로 계획을 빠른 시간 내에 달성할 수 있는 효과를 가지게 된다.
특히, 본 발명의 로봇 모션 경로 계획방법을 수행하는 경우 각 노드(qi)마다 하나의 쓰레드(thread)가 할당되어 분산적으로 수행하게 된다. 이와 같이 각 노드마다 각각의 쓰레드로 연산하는 경우 노드(qi)의 수가 많아지더라도 계산이 분산되어 더욱 빠르게 연산을 수행하게 된다.될 수 있게 된다.
또한, 이웃반경(rn)을 연산시마다 업데이트하는 단계(s500)를 수행함으로써 동적환경의 변화로 인해 형상공간(CS)의 부피가 장애물의 진입 및 퇴출로 인해 급변하는 경우에도 연산 자체가 수행되지 않거나 연산이 되더라도 수렴되지 않는 문제점을 방지하는 효과적인 작용을 하게 된다.
전술한 실시예는 본 발명의 기술적 사상을 예시적으로 설명하기 위한 것으로서 본 발명의 기술적 범위를 제한하는 것으로 해석될 수 없다.

Claims (6)

  1. 동적환경하에서 로봇의 이동경로를 계획하는 방법으로서,
    형상공간(CS)의 내부에 복수의 노드(qi)를 배치하고 상기 복수의 노드(qi)의 각각의 둘레에 일정한 간격으로 검지노드(△qj)를 형성하는 단계(s100);
    상기 하나의 노드(qi)와 이웃하는 노드(qi)의 사이의 반경(r)와 미리 정해진 이웃 반경(rn)를 비교하여 확장반발계수를 하기 식에 의해 연산하는 단계(s200);
    Figure 112018092180610-pat00013

    여기서, 노드(qi), 이웃 노드(qj), 확장 반발계수(Fi 확장)는 방향성을 가지는 벡터임.
    rij 는 노드(qi)와 노드(qj) 사이의 거리
    ηi 는 이웃하는 노드(qj)의 셋트를 의미함.
    반발포텐셜함수(f)는 0 < r ≤rn 만족시에는 거리(r)에 반비례하는 임의의 함수로 결정되며, 0 < r ≤rn 불만족시에는 O 으로 결정됨.
    상기 각 노드 둘레의 검지노드가 장애물에 위치하는 지 여부를 판단하여 검지반발계수를 하기 식에 의해 연산하는 단계(s300);
    Figure 112018092180610-pat00014

    충돌검지함수(s)는 하기와 같이 결정됨
    s(q) = 1 (형상공간(CS)내 검지노드와 장애물 충돌 발생 경우)
    = 0 (형상공간(CS)내 검지노드와 장애물 충돌 발생하지 않은 경우)
    ns 는 검지노드의 개수
    각 노드(qi)에서 하기 식을 이용하여 노드(qi)의 위치를 업데이트 하는 단계(s400);
    Figure 112018092180610-pat00015

    여기서, G1, G2 는 각각 확장반발계수 Fi 확장(k) 및 검지반발계수 Fi 검지(k) 에 대한 게인(gain)값임.
    상기 단계(s400)에서 업데이트된 노드(qi) 위치 qi(k+1)와 업데이트 전 노드(qi) 위치 qi(k)와의 반경 차이의 합이 미리 정해진 허용치(ε) 이하인지 여부를 판단하는 단계(s600);
    Figure 112018092180610-pat00016

    상기 단계(s600)을 만족하지 못하는 경우 상기 단계(s200)으로 복귀하는 단계(s700);
    상기 단계(s600)을 만족하는 경우 로봇 모션 경로 계획 방법을 종료하는 것을 특징으로 로봇 모션 경로 계획 방법.
  2. 청구항 1 에서,
    상기 단계(s400)와 단계(s600) 사이에 이웃반경(rn)을 하기 식에 의해 업데이트하는 단계(s500)를 더 포함하는 것을 특징으로 하는 로봇 모션 경로 계획 방법.
    Figure 112018092180610-pat00017

    G 는 게인(gain)값.
    Pd 는 희망하는 반발력의 합의 값으로 미리 정해진 값.
    P 는 각 노드에서의 반발력의 합.
    Figure 112018092180610-pat00018

    △t = tk+1 -tk 로서 k번째 반복과 k+1 번째 반복사이의 시간차이.
    rn(tk)는 k 번째 반복에서의 이웃 반경.
  3. 청구항 1 에 있어서,
    상기 반발포텐셜함수(f)는 하기 식에 의해 결정되는 것을 특징으로 하는 로봇 모션 경로 계획 방법.
    f = 1/2(1/r-1/rn)2 [0 < r ≤rn 만족]
    = 0 [0 < r ≤rn 만족]
  4. 청구항 2 에서,
    상기 단계(s200) 내지 단계(s400)는 각 노드에 대해 분산 쓰레드 방식으로 연산되는 것을 특징으로 하는 로봇 모션 계획 방법.
  5. 청구항 1 또는 청구항 2 에 있어서,
    상기 단계(s400)은 즉, 노드(qi) 위치를 업데이트 하는 단계는 각각의 노드(qi)의 위치가 모두 업데이트될 때까지 이미 위치가 업데이트된 노드(qi)에서는 더 이상 위치 업데이트 작업을 하지 않고 대기하는 동기화방식으로 이루어지는 것을 특징으로 하는 로봇 모션 경로 계획 방법.
  6. 청구항 1 또는 청구항 2 에 있어서,
    상기 단계(s600) 이후에 노드를 연결하여 최적 경로를 형성하는 단계(s800)를 더 포함하는 것을 특징으로 하는 로봇 모션 경로 계획 방법.
KR1020170059735A 2017-05-15 2017-05-15 로봇 모션 경로 계획방법 KR101937269B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170059735A KR101937269B1 (ko) 2017-05-15 2017-05-15 로봇 모션 경로 계획방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170059735A KR101937269B1 (ko) 2017-05-15 2017-05-15 로봇 모션 경로 계획방법

Publications (2)

Publication Number Publication Date
KR20180125646A KR20180125646A (ko) 2018-11-26
KR101937269B1 true KR101937269B1 (ko) 2019-01-14

Family

ID=64603155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170059735A KR101937269B1 (ko) 2017-05-15 2017-05-15 로봇 모션 경로 계획방법

Country Status (1)

Country Link
KR (1) KR101937269B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017214581A1 (en) 2016-06-10 2017-12-14 Duke University Motion planning for autonomous vehicles and reconfigurable motion planning processors
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
ES2928250T3 (es) 2018-03-21 2022-11-16 Realtime Robotics Inc Planificación del movimiento de un robot para diversos entornos y tareas y mejora del funcionamiento del mismo
JP7479064B2 (ja) 2019-06-03 2024-05-08 リアルタイム ロボティクス, インコーポレーテッド 動的障害物を有する環境における動作計画を容易にする装置、方法及び物品
EP3993963A4 (en) 2019-08-23 2022-08-24 Realtime Robotics, Inc. MOTION PLANNING FOR ROBOTS TO OPTIMIZE SPEED WHILE RESPECTING ACCELERATION AND JERK LIMITS
TW202146189A (zh) 2020-01-22 2021-12-16 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置
US20230342967A1 (en) * 2020-04-14 2023-10-26 Realtime Robotics, Inc. Configuration of robot operational environment including layout of sensors
CN114003047B (zh) * 2021-12-31 2022-04-08 山东科技大学 一种小型无人船路径规划方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101145243B1 (ko) 2010-03-31 2012-05-24 한국과학기술연구원 다관절 매니퓰레이터의 위치센서를 이용한 제한 공간 산출 방법
KR101641022B1 (ko) 2015-06-29 2016-07-20 중앙대학교 산학협력단 이동 로봇 및 미지의 미끄러짐을 갖는 이동 로봇에서의 제어 방법
KR101667032B1 (ko) 2009-10-30 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101667032B1 (ko) 2009-10-30 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법
KR101145243B1 (ko) 2010-03-31 2012-05-24 한국과학기술연구원 다관절 매니퓰레이터의 위치센서를 이용한 제한 공간 산출 방법
KR101641022B1 (ko) 2015-06-29 2016-07-20 중앙대학교 산학협력단 이동 로봇 및 미지의 미끄러짐을 갖는 이동 로봇에서의 제어 방법

Also Published As

Publication number Publication date
KR20180125646A (ko) 2018-11-26

Similar Documents

Publication Publication Date Title
KR101937269B1 (ko) 로봇 모션 경로 계획방법
WO2018107851A1 (zh) 冗余机械臂的控制方法及装置
WO2016103297A1 (ja) アーム型のロボットの障害物自動回避方法及び制御装置
CN109901397B (zh) 一种使用粒子群优化算法的机械臂逆运动学方法
JP5156836B2 (ja) リアルタイム自己衝突および障害物回避
JP2003039353A (ja) マニピュレータの制御方法
Li et al. A hybrid model and model-free position control for a reconfigurable manipulator
JP5173958B2 (ja) 移動体姿勢生成方法および移動体姿勢生成装置
Walker et al. Robot-human handovers based on trust
El Haiek et al. Optimal trajectory planning for spherical robot using evolutionary algorithms
Shibata et al. Deep reinforcement learning of event-triggered communication and control for multi-agent cooperative transport
Ananthanarayanan et al. A fast converging optimal technique applied to path planning of hyper-redundant manipulators
CN114939872B (zh) 基于MIRRT*-Connect算法的智能仓储冗余机械臂动态避障运动规划方法
Kim et al. Efficient path planning for high-DOF articulated robots with adaptive dimensionality
Kaden et al. Maximizing robot manipulability along paths in collision-free motion planning
Cheung et al. Semi-autonomous formation control of a single-master multi-slave teleoperation system
Moll et al. Distributed control of the center of mass of a modular robot
Thi et al. A Lyapunov-based model predictive control strategy with a disturbances compensation mechanism for dual-arm manipulators
Huptych et al. Online path planning in dynamic environments using the curve shortening flow method
Abainia et al. Bio-inspired approach for inverse kinematics of 6-dof robot manipulator with obstacle avoidance
Chembuly et al. An efficient approach for inverse kinematics and redundancy resolution scheme of hyper-redundant manipulators
Chen et al. A novel autonomous obstacle avoidance path planning method for manipulator in joint space
Salmaninejad et al. Motion path planning of two robot arms in a common workspace
Ruiz-García et al. Direct kinematics of a 6-pus parallel robot using a numeric-geometric method
Liu Task-space control of bilateral human-swarm interaction with constant time delay

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right