Journal of Korea Robotics Society
[ ARTICLE ]
Journal of Korea Robotics Society - Vol. 13, No. 2, pp.129-141
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date May 2018
Received 6 Feb 2018 Revised 13 Apr 2018 Accepted 30 Apr 2018
DOI: https://doi.org/10.7746/jkros.2018.13.2.129

작업 전이 알고리즘 기반 로봇 동작 제한 극복 프레임워크

장근우1 ; 김상현1 ; 박수한1 ; 박재흥
A Unified Framework for Overcoming Motion Constraints of Robots Using Task Transition Algorithm
Keunwoo Jang1 ; Sanghyun Kim1 ; Suhan Park1 ; Jaeheung Park
1Graduate School of Convergence Science and Technology, Seoul National University jkw0701@snu.ac.krggory15@snu.ac.krpsh117@snu.ac.kr

Corresponding author: Graduate School of Convergence Science and Technology, Seoul National University, Gwanggyo-ro, Yeongtong-gu, Suwon, Korea. Advanced Institutes of Convergence Technology, Gwanggyo-ro, Yeongtong-gu, Suwon, Korea ( park73@snu.ac.kr)

© Korea Robotics Society. All rights reserved.

Abstract

This paper proposes a unified framework that overcomes four motion constraints including joint limit, kinematic singularity, algorithmic singularity and obstacles. The proposed framework is based on our previous works which can insert or remove tasks continuously using activation parameters and be applied to avoid joint limit and singularity. Additionally, we develop a method for avoiding obstacles and combine it into the framework to consider four motion constraints simultaneously. The performance of the proposed framework was demonstrated by simulation tests with considering four motion constraints. Results of the simulations verified the framework’s effectiveness near joint limit, kinematic singularity, algorithmic singularity and obstacles. We also analyzed sensitivity of our algorithm near singularity when using closed loop inverse kinematics depending on magnitude of gain matrix.

Keywords:

Task Transition, Joint Limit Avoidance, Singularity Avoidance, Obstacle Avoidance

1. 서 론

직교 좌표계(Cartesian Space)에서 정의된 로봇의 말단 장치 의 위치와 방위로 움직이기 위해서는 로봇의 관절 위치 값을 구해야한다. 이를 역기구학(Inverse Kinematics)라고 부르고, 역기구학의 해는 일반적으로 해석적인 해(Analytic Solution) 와 수치적인 해(Numerical Solution)로 나눌 수 있다[1].

해석적인 해는 정기구학(Forward Kinematics)에서 구한 삼 각함수를 포함한 비선형식을 기반으로 각 관절 위치 해를 직 접 구한다[2-4]. 수치적인 해는 로봇의 말단 장치 속도 벡터와 로 봇의 관절 속도 벡터 사이의 관계를 선형화시킨 자코비안 (Jacobian)의 역행렬을 이용하여 구한다[5-8]. 해석적인 해의 경 우, 보통 역삼각함수을 통해 관절 위치 해를 얻는데 해의 조합 에 따라 로봇의 자세가 다양해진다. 또한 7자유도 이상의 로봇 은 해를 무한히 구할 수 있어 이를 고려하여 해를 구해야 한다. 이에 비해 수치적인 해는 자코비안의 의사역행렬(Pseudoinverse Matrix)을 통해 상대적으로 쉽게 해를 구한다. 또한, 자 코비안의 영공간을 활용하여 복수의 작업을 보다 쉽게 설계하 며, 로봇의 기구학적 구조에 의존적이지 않아 다양한 형태의 로봇에서 수치적인 해를 구할 수 있다.

하지만 자코비안을 이용해 해를 구하기 전에 말단 장치의 위치와 방위가 작업 공간(Workspace) 내에 있는지 확인해야 한다. 이 때, 작업 공간은 관절 한계, 특이점, 장애물과 같은 제 한 조건들이 반영되어야 한다. 이러한 제한 조건들은 작업을 시작하기 전에 반영하여 말단 장치의 경로를 계획(Path Planning)하기도 하고, 작업을 하는 도중에 반영하기도 한다. 그러나 경로를 계획하는 방법은 계산 시간이 오래 걸려 로봇 이 작업하면서 발생할 수 있는 외란이나 환경 변화에 대해 실 시간으로 반영하는 것이 어렵다.

이러한 단점 때문에 작업을 하는 도중에 제한조건을 반영 하는 연구가 활발히 진행되어 왔다. H. Zghal et al. [9]은 각 관 절 위치 값과 각 관절의 상한치, 하한치로 이루어져 있는 성 능 기준(Performance Criterion)을 만들었다. 이에 대한 구배 (Gradient)를 자코비안의 영공간(Null-space)에 대입한 관절 속 도 해를 통해 관절 한계를 회피하였다. Y. Nakamura and H. Hanafusa[10]은 자코비안의 특이값(Singular Value)에 조정 항 을 더하였다. 이는 특이값이 영으로 수렴하더라도 자코비안의 의사 역행렬이 항상 존재하게 한다. 이를 통해 특이점을 회피 하였다. B. Dariush et al. [11]은 로봇과 장애물 사이의 거리에 따 른 전위 함수를 도입하고 이에 대한 구배값을 이용해 가중행 렬을 구성하였다. 가중행렬을 반영한 자코비안의 의사역행렬 을 통해 해를 구하여 장애물을 회피하였다. 이외에도 많은 연 구에서 수치적인 해를 구하는 과정에서 제한 조건을 고려하여 회피하였다[12-20].

앞서 소개한 연구들을 포함한 여러 연구들에서는 두 가지 한계점이 존재한다. 첫째로 제한 조건들을 회피하는 작업을 더 우선으로 수행해야할 상황에 대한 고려가 없었다[9,11,17]. 이 연구들은 모두 주 작업 자코비안의 영공간 내에서 회피 작업 을 설계하였기 때문에 제한 조건에 대한 회피를 보장할 수 없 었다. 둘째로 작업을 연속적으로 삽입 및 제거하는 것에 대한 고려가 없었다[10,13,14]. 즉, 회피 작업을 삽입 및 삭제할 때 생기 는 수치적 해의 불연속성을 고려하지 않았다.

Lee et al. [21]은 위의 두 가지 한계점을 극복하고자 수치적 역 기구학 기반 작업 전이(Task Transition) 알고리즘을 제안하였 고, 이를 이용하여 관절 한계를 회피하였다. 또한 Kim and Park[22]은 이에 대한 후속 연구로 자코비안의 특이값 분해 (Singular Value Decomposition)로 얻은 특이값을 통해 특이점 을 판별하고 작업 전이 알고리즘을 적용하여 특이점을 회피하 였다.

본 논문에서는 작업 전이 알고리즘을 기반으로 위의 두 선 행 연구[21,22]에서 고려하지 않은 장애물을 회피하는 알고리즘 을 제안한다. 이 알고리즘은 장애물과 가까워지면 장애물과 가장 가까운 로봇 링크 위의 점을 계산하고 그 점이 장애물에 서 멀어지도록 하는 작업을 생성한다. 이를 작업 전이 알고리 즘에 적용하여 장애물을 회피한다. 추가적으로, 본 논문에서 는 앞의 두 연구와 장애물 회피 알고리즘을 통합한 프레임워 크를 제시한다. 프레임워크는 각 제한 조건에 우선순위를 두 어 총 4개의 계층적 구조로 이루어져있고, 관절 한계, 특이점, 그리고 장애물을 동시에 고려하면서 극복할 수 있다.

본 논문의 구성은 다음과 같다. 2장에서는 작업 전이 알고 리즘을 소개하고 이를 이용한 장애물 회피 알고리즘을 설명한 다. 또한, 앞서 소개한 두 연구[21,22]의 관절 한계 회피 방법, 특 이점 회피 방법과 통합한 프레임워크를 정리하면서 2장을 마 무리한다. 3장에서는 7자유도 로봇 매니퓰레이터 MITSU BISHI PA-10[23]을 시뮬레이션 환경에서 프레임워크를 검증한 결과 및 분석을 담고 있으며, 4장에서 본 논문을 결론짓는다.


2. 통합 프레임워크

이 장에서는 선행 연구로써 작업의 삽입 및 제거를 연속적 으로 하여 해의 불연속성을 없앤 작업 전이 알고리즘[21]을 정 리한다. 또한, 이에 대한 후속연구로써 작업 전이 알고리즘을 이용한 장애물 회피 알고리즘을 제안한다. 마지막으로, 관절 한계, 특이점, 장애물을 모두 고려할 수 있는 프레임워크로 확 장시킨다.

2.1 작업 전이 알고리즘

두 작업(x˙1dRm1,x˙2dRm2)과 이에 해당하는 자코비안 (J1Rm1×n,J2Rm2×n(m1+m2n))으로 작업과 로봇 관절 속도(q˙Rn)와의 관계를 식 (1)로 나타낼 수 있다. 여기 서 1번 작업만 수행하는 관절 속도 해는 식 (2)이다.

x˙1d=J1q˙,x˙2d=J2q˙(1) 

q˙d=J1+x˙1d(2) 

q˙dRn은 전체 관절 속도 해, J1+Rn×mJ1의 의사 역 행렬을 의미한다. 2번 작업을 삽입하여 동시에 수행한다고 하 면, 해는 식 (3)와 같이 구한다. 작업을 삽입하면서 해는 식 (2) 에서 식 (3)으로 바뀌고 이 순간에 해의 불연속성이 발생한다. 그 이유는 의사 역행렬이 q˙d의 2-노옴(2-norm)을 최소화시키 기 때문이다. 이를 [Fig. 1]에 m1, m2, n이 각각 1, 1, 2일 때에 대해 나타내었다. [Fig. 1]에서 파란색 실선과 주황색 점선은 각각 x˙1d , x˙2d에 대한 해를 나타낸다. q˙1,q˙2은 로봇의 첫 번째, 두 번째 관절 속도이다. 한 작업만 수행하던 중에 작업을 추가 하여 해를 구하면 두 선의 교점이 해가 된다.

Fig. 1

Discontinuity of solution due to an abrupt insertion of a task

q˙d=J+x˙dJ=[J1J2],x˙d=[x˙1dx˙2d](3) 

이처럼 작업의 삽입 및 제거 중에 발생하는 해의 불연속성 을 고려한 프레임워크가 작업 전이 알고리즘이다. 작업 전이 알고리즘은 0에서 1사이의 실수 값을 갖는 활성화 지표 (Activation Parameter)라는 개념을 도입해 각 작업에 부여한 다. 이 값을 0에서 1로 연속적으로 변화시켜서 작업을 삽입, 1 에서 0으로 연속적으로 변화시켜 작업을 제거한다. 1번 작업 (x˙1d )의 우선순위가 2번 작업(x˙2d )보다 높으면, 일반적인 해는 식 (4)로 얻는다.

q˙d=J1+x˙1d+N1q˙2|1N1=IJ1+J1q˙2|1=(J2N1)+(x˙2dJ2J1+x˙1d)(4) 

N1Rn×nJ1의 영공간, IRn×n은 단위행렬, q˙2|1RnJ1의 영공간에서 수행되는 2번 작업의 관절 속도 해를 의미한다. 여기에 1번 작업과 2번 작업에 활성화 지표 h1, h2을 반영한 식은 다음과 같다.

q˙d=J1+x˙1i+(J2N1)+(x˙2iJ2J1+x˙1i)x˙1i=h1x˙1d+(1h1)J1J2+h2x˙d2x˙2i=h2x˙2d+(1h2)J2J1+h1x˙1d(5) 

식 (5)을 통해 우선순위를 1번 작업에 두면서 h1, h2을 이용 하여 1번 작업과 2번 작업의 삽입 및 제거를 연속적으로 할 수 있다.

q˙d=J1+x˙1i+n=2pq˙niq˙ni=N[n1]Jn+(x˙niJnk=1n1q˙ki)(n2)(6) 

N[k]=s=1kNs|s1(k2,N[1]=N1)x˙ni=hnx˙nd+(1hn)Jnq˙[/n]dq˙[/n]d=J1+x˙1i+r=2n1q˙ri+r=n+1pq˙ri(7) 

비슷한 방법으로 p개의 작업에 대해서도 확장하여 식(6), (7)에 정리하였다. 우선순위는 1번 작업이 가장 높으며 순서대 로 낮아지며 p번 작업이 가장 낮다.

2.2 장애물 회피 알고리즘

로봇이 장애물을 회피하기 위해서는 로봇이 장애물과 가까 워지고 있는지에 대한 판별과 이를 반영한 움직임이 필요하 다. 판별은 로봇과 장애물 사이의 한계 거리를 설정하여 한다. 판별 후, 움직임을 만들기 위해 장애물에서 로봇을 가리키는 위치 벡터를 구하고, 이를 이용해 장애물과 가장 가까운 로봇 링크 위의 점을 기준으로 속도 성분을 만든다. 결론적으로, 로 봇과 장애물사이의 거리에 따른 활성화 지표를 설정하여 작업 을 삽입하여 장애물을 회피한다.

판별을 위해 먼저 장애물과 가장 가까운 로봇 링크 위의 점 을 계산한다. [Fig. 2(a)]와 같이 n번째 링크와 장애물이 있다 고 가정한다. 원점에서 n번째 관절까지의 위치 벡터 pnR3, 원점에서 n+1번째 관절까지의 위치 벡터 pn+1R3,n번째 관절에서 장애물을 가리키는 벡터 pn,ob=pobpnR3 을 정 의한다. pob은 원점에서 장애물을 가리키는 위치 벡터이고, 마 지막으로 n번째 관절에서 n+1번째 관절을 가리키는 위치 벡터 pn,n+1R3을 정의한다. 위에 정의한 위치 벡터들의 내 적 비율 α을 식 (8)로 정한다.

Fig. 2

(a) Illustration of position vectors for robot and obstacle (b) Illustration of desired position vector for avoiding an obstacle

α=pn,n+1·pn,obpn,n+1·pn,n+1(8) 

α의 범위에 따라 n번째 링크 위에서 장애물과 가장 가까운 위치 벡터 pn,dosestR3을 구할 수 있다. 이를 식 (9)에 나타내 었다.

pn,closest={pnifα<0pn+1ifα>1pn+αpn,n+1else(9) 

식 (9)을 이용해 모든 링크에 대해 위치 벡터들을 구하고 pob 와의 거리를 비교한다. 그 중에서 장애물과 가장 가까운 위치 벡터 pclosestR3pob와의 거리를 이용해 장애물과 가까워 지고 있는지 판별한다.

다음으로, 움직임을 만들어낼 작업과 자코비안을 만든다. 이를 위해 장애물에서 멀어지는 방향의 단위 벡터 utask와 장 애물을 회피하기 위한 목표 위치 벡터 xd을 식 (10), (11)과 [Fig. 2(b)]에 그림으로 나타내었다.

utask=pclosestpobpclosestpob2(10) 

xd=pclosest+kputask(11) 

위의 정의한 목표 위치는 3자유도이지만 1자유도만 사용하 여 장애물을 회피하기 위해 utask의 전치를 이용하여 (12), (13) 과 같이 목표 작업과 자코비안을 회전시킨다.

x˙task=utaskT(xdpclosest)R(12) 

Jtask=utaskTJclosestR1×n(13) 

kp은 이득 상수이고, Jclosest은 로봇의 원점부터 pclosest까지 의 자코비안 행렬이다.

마지막으로 로봇과 장애물 사이의 거리에 따라 활성화 지 표를 정하고, 작업 전이 알고리즘을 적용하여 작업을 삽입 및 삭제하여 장애물을 회피한다. 로봇과 장애물 사이의 거리에 따른 활성화 지표는 식 (14)와 [Fig. 3]에 나타내었다.

Fig. 3

Value of activation parameter depending on distance between robot and obstacle

h={f(ρ)ifρ<βρβγ1.0ifρ<βγ0.0elsef(ρ)=0.5+0.5sin(πγ(ρβ)-π2)(14) 

ρ=pobpclosest2 은 로봇과 장애물 사이의 거리, β,γ 은 각각 한계 거리와 버퍼(Buffer) 영역의 폭을 나타낸다. [Fig. 3]은 β은 0.075 m, γ은 0.05 m일 때의 활성화 지표를 나타내었 다. 따라서 로봇과 장애물 사이의 거리가 0.075 m부터 활성화 지표가 0부터 증가하기 시작하면서 작업이 삽입된다.

2.3 통합 프레임워크

통합 프레임워크는 관절 한계, 특이점, 장애물에 대한 회피 작업을 하나의 프레임워크에서 적용하도록 정리한다. 먼저 우 선순위에 따라 작업의 번호를 부여한다. 우선순위가 제일 높 은 1번 작업은 관절 한계 회피 작업, 2번 작업은 장애물 회피 작업, 3번 작업은 자코비안의 특이값에 영향을 받지 않는 작업 이다. 4번 작업은 특이값에 영향을 받는 작업이다. 4번 작업은 특이값에 따라 활성화 지표를 이용하여 연속적으로 제거하면 특이점 회피 작업을 수행할 수 있다[22]. 식 (6), (7)을 기반으로 통합 프레임워크를 식 (15-17)과 같이 구성할 수 있다.M15M16M17

q˙d=q˙1i+q˙2i+q˙3i+q˙4i(15) 

q˙1i=J1+x˙1iq˙2i=(J2N1)+(x˙2iJ2q˙1i)q˙3i=(J3N1N2|1)+(x˙3iJ3(q˙1i+q˙2i))q˙4i=(J4N1N2|1N3|2|1)+(x˙4iJ4(q˙1i+q˙2i+q˙3i))(16) 

N2|1=I(J2N1)+(J2N1)N3|2|1=I(J3N1N2|1)+(J3N1N2|1)x˙1i=h1x˙1d+(1h1)J1q˙[/1]dx˙2i=h2x˙2d+(1h2)J2q˙[/2]dx˙3i=h3x˙3d+(1h3)J3q˙[/3]dx˙4i=h4x˙4d+(1h4)J4q˙[/4]d(17) 

q˙dRn는 목표 관절 속도 해, x˙1iRmm개 관절에 대한 관절 한계 회피 작업, J1Rm×n,h1는 그에 대한 자코비안과 활성화 지표, x˙2iR1는 장애물 회피 작업, J2R1×n,h2는 그 에 대한 자코비안과 활성화 지표, x˙3iRprr는 특이값에 영향 을 받지 않는 작업, J3R(pr)×n,h3는 그에 대한 자코비안과 활성화 지표이다. x˙4iRr,(r1)는 특이점 회피 작업, J4Rr×n,h4는 그에 대한 자코비안과 활성화 지표 이다. x˙3i,x˙4i는 목표 경로 추종 작업 x˙dRp가 특이값 분해된 자코 비안의 직교 방향 벡터들에 의해 회전된 것이고, J3,J4는 목표 경로 추종 작업의 자코비안 JRp×n이 특이값 분해된 자코 비안의 직교 방향 벡터들에 의해 회전된 것이다. p는 목표 경 로 추종 작업의 차원, r은 특이값이 0에 가까운 방향 벡터들의 수, IRn×n은 단위행렬이다.


3. 실 험

이 장에서는 2장에서 제안한 장애물 회피 알고리즘과 통합 프레임워크를 시뮬레이션 환경에서 검증한다. 3.1절에서 실 험 환경을 설명하고 3.2절에서 3가지 제한 조건에 대한 각각의 회피 작업과 통합 프레임워크를 실험한 결과를 정리한다. 또 한, 폐루프 역기구학의 되먹임 이득 행렬에 대한 민감도 분석 을 추가적으로 진행하였는데, 이를 이 장의 마지막 절에 정리 하였다.

3.1 실험 환경

통합 프레임워크를 구현하기 위해 [Fig. 4]와 같이 7자유도 로봇 매니퓰레이터 MITSUBISHI PA-10[23]을 사용하였다. [Fig. 4]에 각 링크, 각 관절 축 위치와 방향을 나타내었다. 이 로봇을 가상현실에서 제어하기 위해 로봇 시뮬레이터 V-REP[24]을 사용하였고, 물리엔진으로는 Vortex를 선택하였 다. 시뮬레이션을 수행한 컴퓨터의 사양은 Intel i7 4.0GHz, RAM 16GB이다. 로봇의 제어주기는 200 Hz이고, 로봇의 제어 입력은 로봇의 관절 위치 값이다.

Fig. 4

7-DOF manipulator MITSUBISHI PA-10

목표 경로를 추종하는 작업에 대해서는 관절 속도 해를 수 치 적분하여 생긴 추종 오차를 없애기 위해 식 (18)과 같이 폐 루프 역기구학(Closed Loop Inverse Kinematics)을 이용하여 관절 위치 값을 입력하였다. 이외의 모든 회피 작업에 대해서 는 단순히 관절 속도 해를 수치 적분하여 관절 위치 값을 입력 하였다.

q˙d=J+(x˙d+Ke)qc=qcurr+q˙dΔt(18) 

q˙dR7은 관절 속도 해, J+R7×s은 해당 작업에 대한 자 코비안 의사 역행렬, KRs×s은 되먹임 이득(Gain) 행렬, x˙dRs은 목표 속도, e=xdxRs은 위치 추종 오차, s은 작업의 차원, qcR7,qcurrR7은 각각 제어 입력, 현재 관절 위치 값, Δt은 제어 주기이다.

3.2 실험 결과

실험 결과는 제시한 통합 프레임워크를 기반으로 각 회피 작업을 수행하여 검증하였다. 통합 프레임워크를 검증하기 전 에, 실험에 사용된 (15-17)의 차원을 식 (19)과 (20)에 정리한 다. 목표 경로 추종 작업은 직교 좌표계 위치와 Y-축 방향의 방 위로 정하였고, 활성화 지표를 적용할 때에는 (18)에서와 같이 목표 속도항과 위치 추종 오차항의 합을 전체 작업으로 정의 한다. 관절 한계 회피의 경우 4번째 관절만 고려하였고, 장애 물 회피의 경우도 하나의 장애물만 고려하였다.

q˙dR7,x˙dR4,JR4×7,K=400IR4×4(19) 

x˙1dR,J1R1×7x˙2dR,J2R1×7UnTx˙d=x˙3dR3,UnTJ=J3R3×7UsTx˙d=x˙4dR,UsTJ=J4R1×7(20) 

식 (20)의 UnR4×3,UsR4×1 은 각각 J를 특이값 분해 하여 얻은 직교 방향 벡터들 중 특이값이 큰 방향 벡터들과 특 이값이 0에 가까운 방향 벡터이다.

3.2.1 관절 한계 회피

Lee et al. [21]은 관절 위치의 상한치(Upper Limit), 하한치 (Lower Limit)에 근처에서 버퍼 영역을 정하였다. 로봇의 관절 위치가 버퍼 영역 안으로 들어가면 버퍼 영역 밖으로 움직이 도록 하는 작업을 (21)과 같이 설계하였다. 버퍼 영역 내 관절 위치 값에 따라 활성화 지표를 연속적으로 변화시켜 관절 한 계를 회피하였다. 이 실험에서는 [Fig. 5]와 같이 4번째 관절에 대해서 관절 한계 회피 작업을 수행하였다.

Fig. 5

Desired trajectory for experiment of joint limit avoidance

x˙1d=k4(q˜upq4)x˙1d=k4(q˜loq4)(21) 

q˜up=q˜4λq˜lo=q˜4+λ(22) 

x˙1d은 4번째 관절에 대한 관절 상한치, 하한치 회피 작업, k4 는 이득 상수, q˜up,q˜lo는 4번째 관절 버퍼영역의 상한, 하한 경 계 값, q4은 현재 4번째 관절 위치 값을 의미한다. (22)의 λ은 버퍼 영역의 폭, q¯4,q_4 은 4번째 관절 위치 값의 상한치, 하한치 이다. 해당 작업에 대한 활성화 지표는 관절 위치 값에 따라 달 라지며 (23), (24)에 나타내었다. 0에서 1사이는 f(q4),g(q4) 로 (24)에 나타내었다. 관절의 상한치와 하한치는 각각 π4rad,π4rad 이고 버퍼영역의 폭은 π5rad인데 이에 대 한 활성화 지표를 [Fig. 6]에 나타내었다.

Fig. 6

Value of activation parameter depending on joint angle

h1={1.0,ifq4q¯4f(q4),ifq˜up<q4<q¯n0.0,ifq˜loq4q˜upg(q4)ifq_4<q4<q˜lo1.0,ifq4q4(23) 

f(q4)=0.5+0.5sin(πλ(q4-q˜up)π2)g(q4)=0.5+0.5sin(πλ(q4-q˜lo)π2)(24) 

말단 장치의 목표 경로 xd는 [Fig. 5]에 나와 있듯이 시작 위 치에서 4번째 관절 한계 영역 내에 있는 빨간색 점을 거쳐 시 작 위치를 돌아오는 경로이다. 빨간색 점은 말단 장치에서 X- 축으로 –0.3 m, Z-축으로 –0.3 m에 위치한다. 경로는 3차 스플 라인(Cubic-spline)함수를 이용하여 각각 5 초씩 총 10 초 동안 움직이도록 생성하였다. 방위는 Y-축 방향의 방위만 제어하 였고, 2번 작업의 활성화 지표 h2은 항상 0, 3번과 4번 작업의 활성화 지표 h3, h4은 항상 1로 두었다. 활성화 지표는 [Fig. 6] 에 따라 적용하였다.

[Fig. 7]은 시간에 대한 목표 경로와 말단 장치의 위치를 나 타내었다. 3 초 근처부터 버퍼 영역에 진입하면서 로봇이 목표 경로를 정확히 추종하지 못하였고 7 초 이후 버퍼 영역을 벗어 나면서 목표 경로를 다시 추종하기 시작했다. [Fig. 8]에서 관 절 값이 버퍼 영역에 진입하면서부터 활성화 지표가 증가하였 고, 상한치 아래를 유지하였다. 또한, 동일한 경로에 대해서 관 절 한계 회피 작업을 수행한 관절 값과 수행하지 않은 관절 값 의 차이를 통해 관절 한계 회피 작업을 검증하였다.

Fig. 7

Desired trajectory and end-effector position over time

Fig. 8

Value of activation parameter and 4th joint position with and without joint limit avoidance task over time

3.2.2 특이점 회피

특이점 회피 실험은 자코비안의 특이값에 따라 작업 전이 알고리즘을 적용하였다. 목표 경로 xd는 [Fig. 9]에 나와 있듯 이, 처음 위치에서 빨간색 점을 거쳐 다시 처음 위치로 돌아오 는 경로이다. 빨간색 점은 말단 장치에서 Z-축으로 0.25 m에 위치한다. 경로는 3차 스플라인 함수를 이용해 각각 5 초씩, 총 10 초 동안 움직이도록 생성하였다. 방위는 Y-축 방향의 방위 만 유지하도록 제어하였고, 1번과 2번 작업의 활성화 지표 h1, h2은 항상 0으로 두었다. 빨간색 점은 로봇의 말단 장치가 도달하지 못하는 점이다. 따라서 빨간색 점 근처는 특이점 영 역이 되고 이 영역 주위에서 로봇의 목표 경로 추종 능력과 해 의 발산 여부를 통해 특이점 회피 작업을 검증하였다.

Fig. 9

Desired trajectory for experiment of singularity avoidance

작업과 자코비안을 특이값 분해된 방향 벡터들을 이용해 분해하고, 자코비안의 제일 작은 특이값을 기준으로 특이점을 판별하였다. 자코비안의 특이값이 0에 가까워지면 h4의 값을 0으로 수렴시켜 4번 작업을 제거하여 특이점을 회피하였다. 3 번 작업은 특이값에 영향을 받지 않기 때문에 h3의 값을 항상 1로 두어 3번 작업을 수행하였다. 특이값에 따른 각 작업의 활 성화 지표는 특이값이 0.001부터 0.05사이에서 결정되는데 이 를 [Fig. 10]에 나타내었다.

Fig. 10

Value of activation parameter of task depending on singular value

[Fig. 11]에서 말단 장치 위치는 Z-축으로 최대로 움직여 경 로를 추종하였다. 활성화 지표는 말단 장치가 최대 높이까지 도달하기 전에 0이 되었다가, 돌아오면서 1으로 되었다. 이를 통해 특이점 근처에서 특이점 회피 작업을 수행하여 해가 발 산하지 않고 로봇이 안정적으로 움직인 것을 검증하였다.

Fig. 11

Desired trajectory, end-effector position and value of activation parameter over time

3.2.3 알고리즘 특이점 회피

여러 작업의 우선순위가 존재하는 경우, 본 논문에서 실험 한 기구학적 특이점 이외에도 알고리즘 특이점이 발생할 수 있다. 알고리즘 특이점은 우선순위가 높은 작업 자코비안 행 의 범위 공간과 우선순위가 낮은 작업 자코비안 행의 범위 공 간이 겹치면서 발생한다. 이는 식 (4)에서 J2N1의 특이값이 0 으로 수렴하면서 발생한다. 본 논문에서 적용한 특이점 회피 알고리즘으로 알고리즘 특이점을 회피할 수 있는데 이에 대한 실험 환경과 결과는 다음과 같다.

우선순위가 높은 1번 작업은 1번 관절 한계 회피 작업으로 설정하였고, 2번 작업은 목표 경로 추종 작업으로 설정하였다. 여기서 J2N1을 특이값 분해하여 특이값이 0으로 수렴하면 특 이 방향으로의 작업을 제거하여 알고리즘 특이점을 회피하도 록 하였다.

실험 환경은 3.1절과 동일하며, 목표 경로 xd는 [Fig. 12]에 나타내었는데 처음 위치에서 검은색 점을 거쳐 다시 처음 위 치로 돌아오는 경로이다. 검은색 점은 말단 장치에서 Y-축으 로 0.1 m, Z-축으로 0.25 m에 위치한다. 경로는 3차 스플라인 함수를 이용해 각각 5 초씩, 총 10 초 동안 움직이도록 생성하 였다. 방위는 Y-축 방향의 방위만 유지하도록 제어하였고, 1번 관절의 상한치와 하한치는 각각 π6rad,π6rad 이고 버 퍼영역의 폭은 π6rad,k1은 0.5로 하였다. 이에 대한 목표 작 업과 자코비안을 다음과 같이 정리하였다.M25

Fig. 12

Desired trajectory for experiment of algorithmic singularity

x˙1dR,J1R1×7(25) 

Jtask=[JυJw]R4×7,JtaskN1=[Un,Us]SVTx˙taskd=x˙d+K(xdx)R4x˙2d=UnTx˙taskdR3,J2=UnTJtaskN1R3×7x˙3d=UsTx˙taskdR,J3=UsTJtaskN1R1×7(26) 

식 (26)의 UnR4×3,UsR4×1 은 각각 J2N1 를 특이값 분 UnR4×3,UsR4×1 벡터들과 특이값이 0에 가까운 방향 벡터이다.

실험 결과는 [Fig. 13-14]에 나타내었다. [Fig. 13]은 시간에 따른 목표 경로와 말단 장치 위치를 나타내었는데, 목표점이 알고리즘 특이점 근처이면서 동시에 1번 관절 한계 버퍼 영역 에 진입하는 영역이므로 목표 경로를 정확히 추종하지 못하였 다. [Fig. 14]은 시간에 따른 활성화 지표를 나타내었는데 목표 점에 도달하면서 1번 관절의 버퍼 영역에 진입하여 h1이 증가 하였고, 알고리즘 특이점에 도달하면서 h4가 0으로 감소하여 특이점을 회피하였다. 이를 통해 본 논문에서 적용한 특이점 회피 알고리즘으로 자코비안의 범위 공간이 겹치면서 발생하 는 알고리즘 특이점을 회피하였다.

Fig. 13

Desired trajectory and end-effector position over time

Fig. 14

Value of activation parameters of tasks for algorithmic singularity

3.2.4 장애물 회피

장애물 회피 실험은 움직이는 장애물에 대하여 작업 전이 알고리즘을 적용하여 검증하였다. 목표 경로 xd는 [Fig. 15]에 표현하였는데, 말단 장치를 기준으로 X-축으로 –0.25 m, Z-축 으로 0.125 m에 위치한 검은색 점에 도달하는 경로이다. 장애 물은 빨간색 구이며 반지름이 0.05 m이고, 말단 장치를 기준으 로 X-축으로 –0.25 m, Z-축으로 –0.125 m에 위치하고 있다. 장 애물의 X-축 위치는 진폭이 0.03 m이고 주기가 3 초인 사인파 형태로 변하도록 설정하였다. 경로는 3차 스플라인 함수를 이 용하여 5 초 동안 이동하도록 생성하였다. 방위는 Y-축 방향의 방위만 유지하도록 제어하였고, 1번 작업의 활성화 지표 h1은 항상 0, 3번과 4번 작업의 활성화 지표 h3, h4은 항상 1로 두었 다. 장애물 회피 작업의 활성화 지표는 [Fig. 3]과 같이 설정하 여 로봇과 장애물 사이의 거리에 따라 증감한다. (11)의 kp은 3.0을 입력하였다.

Fig. 15

Desired trajectory for experiment of obstacle avoidance

장애물과 가까워지면 활성화 지표가 증가하면서 장애물에 서 멀어지는 방향의 작업이 삽입되어 장애물을 회피한다. 이 에 대한 그래프를 [Fig. 16]과 [Fig. 17]에 나타내었고, 시간에 따른 로봇의 사진을 [Fig. 18]에 나타내었다. [Fig. 16]은 시간 에 대한 목표 경로와 말단 장치 위치를 나타내었다. 5 초 근처 를 시작으로 장애물이 가까워지는 주기인 3 초마다 로봇이 목 표 경로를 정확히 추종하지 못하였다. 이는 장애물 회피 작업 의 우선순위가 목표 경로 추종 작업보다 높기 때문이다. [Fig. 17]는 시간에 대한 2번 작업의 활성화 지표, 그리고 로봇과 장 애물 사이의 거리를 나타내었는데 장애물이 가까워짐에 따라 2번 작업의 활성화 지표는 증가하였고 장애물이 멀어지면서 감소하였다.

Fig. 16

Desired trajectory and end-effector position over time

Fig. 17

Value of activation parameter and distance between robot and obstacle along time

Fig. 18

Snapshots of simulated manipulator with obstacle avoidance. From left to right, the shots of robot avoiding obstacle were taken at 0 s, 2 s, 4 s, 6 s and 8 s during experiment

3.2.5 통합 프레임워크

통합 프레임워크는 세 가지 제한 조건을 동시에 고려하면 서 회피하는 과정을 통해 검증하였다. 목표 경로 xd은 [Fig. 19] 과 같이 총 세 가지 목표점을 거치는 경로이다. 먼저 말단 장치 를 기준으로 X-축으로 –0.05 m, Z-축으로 0.05 m에 위치한 목 표점 1을 거치는데 경로 근처에는 움직이는 장애물이 존재하 여 회피하여야 한다. 장애물은 반지름이 0.05 m인 빨간색 구이 며, 말단 장치를 기준으로 X-축으로 –0.125 m, Z-축으로 – 0.125 m에 위치하고 있다. 장애물의 X-축 위치는 앞의 실험과 동일하게 진폭이 0.03 m이고 주기가 3 초인 사인파 형태로 변 하도록 설정하였다. 다음으로 목표점 1을 기준으로 X-축으로 0.25 m, Z-축으로 0.25 m에 위치한 목표점 2에 도달하는 경로 인데 목표점 2 근처에서는 4번째 관절의 한계 영역과 특이점 영역이기 때문에 이를 동시에 회피하여야 한다. 마지막 경로 는 목표점 2를 기준으로 Z-축으로 –0.2 m에 위치한 목표점 3에 도달하는 것이다. 경로는 3차 스플라인 함수를 이용하여 각각 의 목표점에 도달하도록 5 초씩 총 15 초 동안 이동하도록 생 성하였다. 방위는 Y-축 방향의 방위만 제어하도록 하였다. 4 번 관절의 상한치와 하한치는 각각 π3rad,π3rad 이고 버 퍼영역의 폭은 π6rad,k4은 0.5로 하였다. 3번 작업의 활성화 지표 h3은 항상 1로 두었다. (11)의 kp은 3.0을 입력하였고, 장 애물 회피 작업과 특이점 회피 작업에 대한 활성화 지표는 [Fig. 3], [Fig. 10]에 따라 적용하였다.

Fig. 19

Desired trajectory for experiment of unified framework

실험 결과를 [Fig. 20]과 [Fig. 21]에 정리하였다. [Fig. 20]은 시간에 따른 목표 경로와 말단 장치의 위치를 나타내는데, 3 초, 5 초 근처에서 장애물과 가까워져서 목표 경로를 정확히 추종하지 못하였고, 8 초 근처에서부터 12 초 근처까지 관절 한계 버퍼 영역과 특이점에 도달하여 목표 경로를 정확히 추 종하지 못하였다. 나머지 영역에서는 목표 경로를 정확히 추 종하였다. [Fig. 21]은 시간에 따른 각 작업의 활성화 지표를 나 타내었다. 3 초, 5 초 근처에서 장애물과 가까워져서 h2가 증가 하였다가 회피하여 다시 감소하였다. 8 초 근처에서부터 12 초 근처까지 h1은 증가하였다가 다시 0으로 감소하였고, h4은 감 소하였다가 다시 1로 증가하였다. 이처럼 통합 프레임워크를 통해 세 가지 제한 조건을 동시에 고려하면서 회피할 수 있었 고, 관절 속도 해의 불연속성 없이 작업을 수행할 수 있었다.

Fig. 20

Desired trajectory and end-effector position over time

Fig. 21

Value of activation parameters of tasks for unified framework

3.2.6 폐루프 역기구학의 되먹임 이득 행렬 값에 따른 특이 점 회피 알고리즘의 민감도 분석

식 (18)의 폐루프 역기구학을 적용하여 로봇을 제어할 때, 되먹임 이득 행렬 K의 대각 성분 값을 크게 설정하면, 목표 경 로를 추종하는 해의 정확성을 높일 수 있다. 하지만 특이점 근 처에서는 해가 발산하려는 경향이 더 커진다. 이에 대해 K의 대각 성분 값에 따른 본 논문에서 적용한 특이점 회피 알고리 즘의 민감도에 대해 분석해보았다. 실험 환경은 3.1절에서 설 명한 환경과 동일하며, 목표 위치는 [Fig. 9]에서 설정한 위치 와 동일하다. 경로는 3차 스플라인 함수를 이용해 5 초 동안 움 직이도록 생성하였고, 5 초 이후에는 경로 생성을 정지하였다. 방위는 Y-축 방향의 방위만 유지하도록 제어하였다. 특이값 에 따른 활성화 지표는 [Fig. 10]과 동일하게 설정하였다. K400I,700I,1000I인 경우에 대해서 실험하였고 이에 대한 결 과를 [Fig. 22-24]에 나타내었다.

Fig. 22

Desired trajectory and end-effector position over time depending on magnitude of feedback gain matrix

[Fig. 22]은 시간에 따른 목표 경로와 말단 장치 위치를 나타 내었는데 K의 대각 성분 값에 따라 두 경로의 차이가 거의 없 었고, 특이점 회피 작업으로 인해 목표 경로를 모두 추종하지 못하였다. [Fig. 23]은 시간에 따른 특이점 회피 작업인 4번 작 업의 활성화 지표를 나타내었는데 K가 1000I인 경우가 제일 빠른 속도로 활성화 지표가 0에 수렴하였다. 마지막으로, [Fig. 24]은 시간에 따른 목표 속도항과 위치 오차항을 합한 벡터의 2-노옴, 그리고 여기에 4번 작업의 활성화 지표를 곱한 2-노옴 을 나타내었다. K가 1000I인 경우가 K가 400I, 700I인 경우 보다 오차가 더 빠르고 많이 증가하지만 활성화 지표가 그만 큼 빠르게 0으로 수렴하므로 특이점 근처에서 발산하지 않고 특이점을 회피할 수 있는 것을 확인할 수 있다. 결론적으로, 본 논문에서 적용한 특이점 회피 알고리즘은 되먹임 이득 행렬 크기에 영향을 받지 않고 안정적으로 특이점을 회피하였다.

Fig. 23

Value of activation parameter over time depending on magnitude of feedback gain matrix

Fig. 24

Error norm of singularity avoidance task over time depending on magnitude of feedback gain matrix


4. 결 론

본 논문에서는 작업의 삽입 및 제거를 연속적으로 할 수 있 는 작업 전이 알고리즘을 이용하여 장애물을 회피하는 알고리 즘을 제안하였다. 또한 관절 한계, 특이점, 장애물을 포함한 세 가지 제한 조건을 통합적으로 예측, 회피하는 하나의 프레임 워크를 제시하였다. 제시한 프레임워크를 검증하기 위해 7자 유도 매니퓰레이터를 이용해 시뮬레이션 환경에서 실험하였 다. 실험은 제한 조건을 각각 회피하는 작업과 동시에 고려하 여 회피하는 작업을 수행하여 결과를 정리하였다.

본 연구의 후속 연구로는 다음과 같다. 본 연구에서는 수치 적 역기구학을 기반으로 하는 통합 프레임워크를 제시하였지 만 이를 역동역학을 기반으로 하는 통합 프레임워크로 확장할 것이다. 또한 이를 실제 로봇에 적용하여 구현할 것이다.

Acknowledgments

This work was mainly supported by Industrial strategic technology development program (No. 10060121) funded by the Ministry of Trade, Industry & Energy (MI, Korea). And this work was partially supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIP) (No. NRF-2015R1A 2A1A10055798) and by Industrial strategic technology development program (No. 10077538) funded by the Ministry of Trade, Industry & Energy (MI, Korea).

References

  • R.M. Murray, Z. Li, S.S. Sastry, A mathematical introduction to robotic manipulation., CRC Press, (1994). [https://doi.org/10.1201/9781315136370]
  • H.H. An, W.I. Clement, B. Reed, Analytic inverse kinematic solution with self-motion constraint for the 7-dof restore robot arm, 2014 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Besacon, France, p1325-1330, (2014). [https://doi.org/10.1109/aim.2014.6878266]
  • Z. Cui, H. Pan, D. Qian, Y. Peng, Z. Han, A novel inverse kinematics solution for a 7-dof humanoid manipulator, 2012 IEEE International Conference on Mechatronics and Automation, Chengdu, China, p2230-2234, (2012). [https://doi.org/10.1109/icma.2012.6285690]
  • Y-L. Kim, J-B. Song, Analytical inverse kinematics algorithm for a 7-dof anthropomorphic robot arm using intuitive elbow direction., Journal of Korea Robotics Society, (2011), 6(1), p27-33. [https://doi.org/10.7746/jkros.2011.6.1.027]
  • J-H. Lee, J-Y. Kim, J-H. Lee, D-H. Kim, H-K. Lim, S-H. Ryu, Inverse kinematics solution and optimal motion planning for industrial robots with redundancy., Journal of Korea Robotics Society, (2012), 7(1), p35-44. [https://doi.org/10.7746/jkros.2012.7.1.035]
  • C-G. Kang, Solution space of inverse differential kinematics., Journal of Korea Robotics Society, (2015), 10(4), p230-244. [https://doi.org/10.7746/jkros.2015.10.4.230]
  • C.W. Wampler, Manipulator inverse kinematic solutions based on vector formulations and damped least-squares methods., IEEE Trans. Syst. Man Cybern., (1986), 16(1), p93-101. [https://doi.org/10.1109/tsmc.1986.289285]
  • D.E. Whitney, Resolved motion rate control of manipulators and human prostheses., IEEE Trans. Man Mach. Syst., (1969), 10(2), p47-53. [https://doi.org/10.1109/tmms.1969.299896]
  • H. Zghal, R.V. Dubey, J.A. Euler, Efficient gradient projection optimization for manipulators with multiple degrees of redundancy, IEEE International Conference on Robotics and Automation, Cincinnati, OH, USA, vol. 2, p1006-1011, (1990). [https://doi.org/10.1109/robot.1990.126123]
  • Y. Nakamura, H. Hanafusa, ?oInverse kinematic solutions with singularity robustness for robot manipulator control, ?? IEEE/ASME., J. Dyn. Syst. Meas. Control, (1986), 108(3), p163-171.
  • B. Dariush, Y. Zhu, A. Arumbakkam, K. Fujimura, Constrained closed loop inverse kinematics, 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, p2499-2506, (2010). [https://doi.org/10.1109/robot.2010.5509456]
  • S. Chiaverini, Singularity-robust task-priority redundancy resolution for real-time kinematic control of robot manipulators, IEEE Transactions on Robotics and Automation, (1997), 13(3), p398-410. [https://doi.org/10.1109/70.585902]
  • A.A. Maciejewski, C.A. Klein, Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments., Int. J. Robot. Res., (1985), 4(3), p109-117. [https://doi.org/10.1177/027836498500400308]
  • T.F. Chan, R.V. Dubey, A weighted least-norm solution based scheme for avoiding joints limits for redundant manipulators., IEEE Trans. Robot. Autom., (1995), 11(2), p286-292.
  • J. Kim, G. Marani, W.K. Chung, J. Yuh, Task reconstruction method for real-time singularity avoidance for robotics manipulators., Adv. Robot., (2006), 20(4), p453-481. [https://doi.org/10.1163/156855306776562233]
  • G. Schreiber, G. Hirzinger, Singularity consistent inverse kinematics by enhancing the jacobian transpose., Advances in Robot Kinematics: Analysis and Control., J. Lenar ?i ?, M.L. Husty, Dordrecht, Springer, (1998), p475-482.
  • F. Chaumette, E. Marchand, A redundancy-based iterative scheme for avoiding joint limits: application to visual servoing., IEEE Trans. Robot. Autom., (2001), 17(5), p719-730.
  • K. Glass, R. Colbaugh, D. Lim, H. Seraji, Real-time collision avoidance for redundant manipulators., IEEE Trans. Robot. Autom., (1995), 11(3), p448-457. [https://doi.org/10.1109/70.388789]
  • K-K. Lee, M. Buss, Obstacle avoidance for redundant robots using Jacobian transpose method, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, USA, p3509-3514, (2007). [https://doi.org/10.1109/iros.2007.4399182]
  • S.R. Buss, J-S. Kim, Selectively damped least squared for inverse kinematics., J. Graphics Tools, (2011), 10, p37-49.
  • J. Lee, N. Mansard, J. Park, Intermediate desired value approach for task transition of robots in kinematic control., IEEE Trans. Robot. Autom., (2012), 28(6), p1260-1277. [https://doi.org/10.1109/tro.2012.2210293]
  • S. Kim, J. Park, Singularity avoidance algorithms for controlling robot manipulator: a comparative study., Journal of Korea Robotics Society, (2017), 12(1), p42-54. [https://doi.org/10.7746/jkros.2017.12.1.042]
  • K. Oonishi, N. Oonishi, K. Shimoyama, Producing and the latest development programs of the portable general purpose intelligent arm ?~Mitsubishi PA-10 ?(tm)., Adv. Robot., (2001), 15(3), p333-337.
  • E. Rohmer, S.P.N. Singh, M. Freese, V-rep: A versatile and scalable robot simulation framework, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, p1321-1326, (2013). [https://doi.org/10.1109/iros.2013.6696520]
장 근 우

2016 고려대학교 기계공학부(공학사)

2016~현재 서울대학교 융합과학부 석사, 박사 통합과정

관심분야: Mobile Manipulator, Motion Planning

김 상 현

2012 서울대학교 기계항공공학부(공학사)

2012~현재 서울대학교 융합과학부 석사, 박사 통합과정

관심분야: Robot Hand, Dual Arm Manipulator

박 수 한

2017 광운대학교 로봇학부(공학사)

2017~현재 서울대학교 융합과학부 석사, 박사 통합과정

관심분야: Mobile Manipulator, Planning

박 재 흥

1995 서울대학교 항공우주공학과(공학사)

1997 동 대학원 항공우주공학과(공학석사)

2006 Stanford University Aero/Astro (공학박사)

2009~현재 서울대학교 융합과학기술대학원 교수

관심분야: Robot-environment Interaction, Multi Contact Control, Whole Body Control

Fig. 1

Fig. 1
Discontinuity of solution due to an abrupt insertion of a task

Fig. 2

Fig. 2
(a) Illustration of position vectors for robot and obstacle (b) Illustration of desired position vector for avoiding an obstacle

Fig. 3

Fig. 3
Value of activation parameter depending on distance between robot and obstacle

Fig. 4

Fig. 4
7-DOF manipulator MITSUBISHI PA-10

Fig. 5

Fig. 5
Desired trajectory for experiment of joint limit avoidance

Fig. 6

Fig. 6
Value of activation parameter depending on joint angle

Fig. 7

Fig. 7
Desired trajectory and end-effector position over time

Fig. 8

Fig. 8
Value of activation parameter and 4th joint position with and without joint limit avoidance task over time

Fig. 9

Fig. 9
Desired trajectory for experiment of singularity avoidance

Fig. 10

Fig. 10
Value of activation parameter of task depending on singular value

Fig. 11

Fig. 11
Desired trajectory, end-effector position and value of activation parameter over time

Fig. 12

Fig. 12
Desired trajectory for experiment of algorithmic singularity

Fig. 13

Fig. 13
Desired trajectory and end-effector position over time

Fig. 14

Fig. 14
Value of activation parameters of tasks for algorithmic singularity

Fig. 15

Fig. 15
Desired trajectory for experiment of obstacle avoidance

Fig. 16

Fig. 16
Desired trajectory and end-effector position over time

Fig. 17

Fig. 17
Value of activation parameter and distance between robot and obstacle along time

Fig. 18

Fig. 18
Snapshots of simulated manipulator with obstacle avoidance. From left to right, the shots of robot avoiding obstacle were taken at 0 s, 2 s, 4 s, 6 s and 8 s during experiment

Fig. 19

Fig. 19
Desired trajectory for experiment of unified framework

Fig. 20

Fig. 20
Desired trajectory and end-effector position over time

Fig. 21

Fig. 21
Value of activation parameters of tasks for unified framework

Fig. 22

Fig. 22
Desired trajectory and end-effector position over time depending on magnitude of feedback gain matrix

Fig. 23

Fig. 23
Value of activation parameter over time depending on magnitude of feedback gain matrix

Fig. 24

Fig. 24
Error norm of singularity avoidance task over time depending on magnitude of feedback gain matrix