Search

Kinematics Overview

리뷰완료날짜
2023/03/24
리뷰어
카테고리
기타
출판
-
파일
깃헙주소
태그
HPS

Kinematics Overview

로보틱스 관련 용어

path: 로봇이 움직이고 싶어하는 점들의 집합
kinematic constraints: 로봇의 관절마다 정해져 있는 기구적 제한조건
dynamic constraints: 관절의 구동계는 최대 토크, 최대 속도, 가속도 조건이 있으며 이를 dynamic constraints라 함
Trajectory Planning: 우리가 원하는 path에 두 조건 (kinematic constraints, dynamic constraints)을 만족하는 (시간 기준의)position, velocity, acceleration을 찾는 문제

Inverse Kinematics (IK)

로봇의 hand 쪽을 end-effector라 하고 이동할 위치에 해당하는 (x,y)(x,y)의 공간을 task(cartesian) space라 하고 각도 joint의 공간 (q1,q2)(q_1, q_2)의 집합을 joint space라 한다.
Forward Kinematics : joint space → task space (x=f(q)x=f(q))
Inverse Kinematics : task space → joint space (q=f1(x)q=f^{-1}(x))

IK Solvers

Cyclic coordinate Descent (CCD)

1.
joint 마다 순회하며 end effector와 target path 사이의 각도가 최소가 되도록 각도를 변환한다.
i.
타겟의 위치 TT, end effector와 P4P_4 (joint)의 사이각의 θ4\theta_4라 할 때, θ4\theta_4의 각도가 0이 되도록 end effector를 이동한다.
ii.
end effector부터 base 까지 역순으로 i의 과정을 진행한다.
2.
만족스러울 때 까지 1번 과정을 반복한다.
관절각도는 타겟의 위치(TT)와 두 관절 사이에서 생기는 위치 사이의 벡터 (u,v)(u,v)의 내적을 이용하여 구한다.
θi=cos1(uiviuivi)\theta_i = \cos^{-1}({u_i\cdot v_i\over{|u_i||v_i|}})

Forward And Backward Reaching Inverse Kinematics (FABIK)

1.
Forward
i.
P4P_4(end effector)를 타겟의 위치(TT)로 이동한다. 이동한 P4P_4P4P^{\prime}_4라 한다.
ii.
P4P^{\prime}_4P3P_3를 잇는 벡터 위에 P4P^{\prime}_4로 부터 거리가 d3d_3가 되는 위치 P3P^{\prime}_3를 찾는다.
iii.
P1P_1까지 위 두 과정을 진행한다.
2.
Backward
i.
Base joint P1P^{\prime}_1을 다시 원래의 위치로 옮긴다. 옮긴 P1P^{\prime}_1의 새로운 위치는 P1P^{\prime\prime}_1이라 한다.
ii.
위 과정을 역순으로 P4P^{\prime}_4 (end effector)까지 진행한다.
3.
iteration
만족스러울 때 까지 위 1과 2 과정을 반복한다.

Reference