이전 글에서 로봇팔을 운동하기 위한 수학적 표현 방법들을 알아보았습니다.
- 강체의 수학적 표현 ― 회전행렬
- 오일러 각도
- 롤-피치-요(RPY) 각도
- 쿼터니언 방향각
- 임의의 축에 대한 회전
- 동차 변환
모두 Manipulaotr Kinematics를 공부하기 위한 수학이였습니다.
이번 글에서는 Forward Kinematics순기구학에 대해 알아보겠습니다.
Forward Kinematics (순기구학, 정기구학)
- Denavit-Hartenberg 매개변수
- Forward Kinematics 해를 결정하기 위한 좌표 변환
- 4DOF Manipulator Forward Kinematics 계산
- Product of exponentials
Forward Kinematics는 로봇을 구성하고 있는 링크와 관절(joints)의 각도와 길이로부터, 로봇이 작업을 하는 말단장치(End-effector)의 위치와 각도를 알아내는 것을 의미합니다. 역기구학에 비해 상대적으로 간단합니다.
동차변환(Homogeneous Transform)을 이용하여 해를 구하게 됩니다.
말단 장치의 좌표계를 m-차원 벡터 (m ≤ 6)
로 표현하는 것이 가능하고, 다음과 같이 q와 x의 비선형 관계식 형태로 나타낼 수 있습니다.
이는 말단 장치의 좌표계를 다수의 독립 변수로 표현하는 것이 가능합니다.
Denavit-Hartenberg(DH) Parameter (대너빗 하텐버그 매개변수)
매니퓰레이터 내의 연결된 링크 간의 관계를 수학적으로 표현할 수 있는 기구학적인 모델링 방법이 D-H 매개변수 입니다.
공통 법선(common normal)이라는 개념을 이용하여 총 4개의 매개변수로 두개의 링크간 관계를 표현하는 방법입니다.
위 그림은 D-H 매개변수를 이용하여 연결된 두 개의 링크 간의 좌표 시스템을 보여주고 있습니다.
D-H 매개변수를 표현하는 방법 : 좌표계 설정 방법은 다음과 같습니다.
1) z축을 관절의 축방향과 일치 시킨다. z(i)와 z(i+1)고정
2) x(i+1)축은 z(i)축과 z(i+1)축을 연장시킨 공통 법선(common normal)에 일치시킨다. 즉, x(i+1) = z(i) × z(i+1)
3) 오른손 법칙에 의하여 y(i+1)축이 결정된다.
- 기준 좌표계 0에서 z0의 방향이 설정된다면, x0과 원점은 임의로 선택할 수 있다.
- 마지막 좌표계 n에서 xn만 설정이 된다면, zn과 yn은 임의로 선택할 수 있다.
- 두개의 연속적인 축이 교차할 때, xi의 방향은 임의로 선택할 수 있다.
위 그림에서 4개의 D-H 매개변수는 다음과 같습니다.
(a) d 는 i번째 좌표 시스템에서 z(i)축 방향으로 공통법선 까지의 거리
만약 z(i)축과 z(i+1)축이 평행하다면, 공통법선이 없게 되므로, d는 어떤값이 되어도 관계 없다.
(b) 𝜃 는 x(i)에서 x(i+1) 까지 z(i)축을 따라서 회전한 각도
(c) r 은 공통법선의 거리
(d) 𝜶 는 x(i+1)축을 따라서 z(i)에서 z(i+1)까지 회전한 각도
따라서, 연결된 두개의 링크는 다음과 같은 좌표 변환(i번째에서 i+1번째 좌표계로의 변환)에 의해서 표현될 수 있습니다.
위 식을 동차변환으로 변환하면 다음과 같습니다.
Forward Kinematics 해를 결정하기 위한 좌표 변환
기준 좌표계(로봇 베이스)에 대한 말단부의 위치 및 각도는 각 관절 사이의 연속적인 좌표 변환을 거쳐 산출되는 최종 행렬로 결정할 수 있습니다.
기준 좌표계(x0,y0,z0)에서 말단장치의 종단좌표계(xn,yn,zn) 까지의 좌표변환을 통해 말단 장치의 위치와 각도를 계산합니다.
말단 장치의 위치는 행렬 T에서 4번째 열벡터인 p로 얻을 수 있고,
각도는 회전행렬 R로부터 계산할 수 있습니다.
4DOF Manipulator의 Forward Kinematics 계산
Figure 2. (4자유도 로봇팔)의 DH table은 이렇게 됩니다.
첫번째 열 ai : r 공통법선의 거리
두번째 열 αi : 𝜶 x(i+1)축을 따라서z(i)에서 z(i+1)까지 회전한 각도
세번째 열 di : d i번째 좌표 시스템에서 z(i)축 방향으로 공통법선 까지의 거리
네번째 열 𝜃i : 𝜃 x(i)에서 x(i+1) 까지 z(i)축을 따라서 회전한 각도
DH table이 준비되면, Transformation matirces(변환행렬)는 찾기 쉽습니다.
각각의 변환행렬 (i = 1, 2, 3, 4) 은 쉽게 얻어집니다.
그 후, complete transformation 0T4도 찾을 수 있습니다.
계산
일때,
0T4가 결정되면, end effector의 global coordinates를 찾을 수 있습니다.
Fig 2.를 예로 들면, 팔의 4번째 모터의 위치 벡터(4rp)는
이므로, (4번째 모터에서 end effector까지 0,0,0)
(끝 지점의)전체 frame의 위치벡터는 다음과 같습니다.
즉, dx = px, dy= py, dz = pz(0T4 행렬)
0T4 변환 행렬의 마지막 열만 남게 됩니다. 이를 삼각함수 공식을 써서 다음과 같이 쓸 수 있습니다.
그러므로, dx, dy, dz는 global end effector coordinates : 좌표계 0을 기준으로 하는 로봇 팔 끝 점의 좌표가 됩니다.
또한, end effector의 방향(각도)은 다음과 같습니다.
이 로봇의 배치는 DH parameters에 흡사하지만, 다른 매니퓰레이터의 구조에서는 이 기구학 방정식 풀이만 쓰지 않습니다. DH convention에 베이스한 매니퓰레이터 기구학 방정식은 몇가지 케이스에서 풀수 없는 특이성을 가지기 때문입니다.
게다가, DH convention에서는 두개의 관절 축이 평행할 때 공통 법선이 적절히 정의되지 않습니다. 이 로봇 팔 케이스의 DH 풀이법은, 평행한 축의 공간 좌표의 약간의 변화가 잘못된 배치 형태를 만들 수 있습니다.
그래서, DH convention의 대안인 PE(Product of Exponentials)를 계속 보겠습니다.
Product of Exponentials(POE)
관절 축을 동반한 회전에 의해 생성되는 각각의 관절 움직임을 사용하여, Kinematics의 기하학적인 표현을 얻을 수 있습니다.
product of exponentials(POE) 풀이법은 DH parameterization의 대안입니다. POE는 관절의 움직임을 최소한의 매개변수를 사용하여 나타낼 수 있고, screw 축을 사용한 기하학적인 해석법이라는 이점이 있습니다.
𝜃1...𝜃n 각도의 관절에 관하여 베이스와 툴 프레임 사이의 변환 행렬을 매개 변수화하기 위해 kinematic chanin의 product of exponentials를 결정하는 데 다음 방법이 사용됩니다.
ξ를 twist라고 하면, forward kinematics는 다음과 같습니다.
위의 식은 로봇 Forward Kinematics순기구학의 product of exponential(POE) 공식이라 부릅니다.
초기값은 다음과 같습니다.
은 다음과 같은 (회전+병렬)행렬입니다.
이에 관한 유도는 다음 문서를 참조하세요.
- https://en.wikipedia.org/wiki/Product_of_exponentials_formula#cite_note-1
- R. M. Murray, Z. Li, S. S. Sastry, and S. S. Sastry, A Mathematical
Introduction to Robotic Manipulation, CRC press, 1994.
직선형 관절에서 ξi는,
이고,
회전형 관절에서 ξi는,
로 나타내어집니다.
결과적으로 알아야 할 것은,
- ωi ∈ R^3 은 fixed frame(base)에서 바라본 회전 축 방향의 단위벡터
qi ∈ R^3은 축상의 한 점- vi ∈ R^3 는 한 점(qi)에서의 변환 방향을 가리키는 단위벡터
- g(0) 초기 자세에서 원점과 tool frame의 관계 (4 x 4)
예제 보기 더보기 클릭
이므로,
이 케이스(4DOF 로봇팔)에서, 로봇의 다른 link의 twist ξ와 gst(0)은 다음과 같습니다.
매니퓰레이터의 forward kinematics map은 다음과 같으므로
POE 공식에 의해, 다음과 같이 구할 수 있습니다.
이것은 위의 DH convention 계산과 같은 것을 알 수 있습니다.
그러므로, 제 로봇(4-DOF)의 DH convention과 product of exponential을 이용한 kinematics modeling은 서로 같게 나오는 것을 알 수 있습니다.
순기구학(FK) 풀이법을 알아본 것에 이어서, 이제 역기구학(IK) 풀이에 대해 알아보겠습니다.