Inverse kinematics 제어시스템 이론 및 실습 2014.05.27 손성호
Contents Forward vs Inverse kinematics Why? Principle NLP-based method D-H representation Issues Q & A
Forward vs Inverse kinematics Forward kinematics
Forward vs Inverse kinematics
Why? ( θ 1 , θ 2 , θ 3 ) ⇒ (x, y); Forward kinematics To find the present end effector position ( x , y ) ⇒ ( 𝜃 1 , 𝜃 2 , 𝜃 3 ) ; Inverse kinematics To find the desired motor angle ( θ 1 , θ 2 , θ 3 ) ⇒ ( 𝜃 1 , 𝜃 2 , 𝜃 3 ) Control technique 왜 우리가 둘 다를 사용해야 하는 것인가 포워드를 통해 현재의 엔드팁의 위치를 알고 인버스를 통해 원하는 엔드팁의 위치에 해당하는 모터의 각도를 알아서 그 만큼 보정하고자 하는 것
Principle Forward kinematics ( x =𝑓( 𝜃 )) 𝑥= 𝑙 1 cos 𝜃 1 + 𝑙 2 cos 𝜃 2 + 𝑙 3 cos 𝜃 3 𝑦= 𝑙 1 sin 𝜃 1 + 𝑙 2 sin 𝜃 2 + 𝑙 3 sin 𝜃 3 ( θ 1 , θ 2 , θ 3 ) ⇒ (x, y) Possible!!! 원리: 각각의 각도를 통해 엔드팁의 x,y,z를 아는 것 => 쉽다
Principle Inverse kinematics ( 𝜃 = 𝑓 −1 ( x )) 𝑥= 𝑙 1 cos 𝜃 1 + 𝑙 2 cos 𝜃 2 + 𝑙 3 cos 𝜃 3 𝑦= 𝑙 1 sin 𝜃 1 + 𝑙 2 sin 𝜃 2 + 𝑙 3 sin 𝜃 3 (x, y) ⇒ ( θ 1 , θ 2 , θ 3 ) Number of equation: 2 Unknown variables: 3 ⇒ Infinite number of solutions 원리: 엔드팁의 x,y,z를 통해서 각각의 모터의 각도를 아는 것 => 미지수가 많아서 어렵다(식의 개수<미지수의 개수) => nonlinear 방법 사용
Principle Our system (Robot arm) Inverse kinematics solutions System DOF(6) > End effector position(3) Redundancy Inverse kinematics solutions NLP-based method Jacobian-based method
NLP-based method Non Linear Programming (Zhao, 1994) Method to optimize a nonlinear function Constraint Iterative algorithm Minimization of Goal potential function Goal potential function 𝐺 𝜃 = 𝑥 𝑔 −𝑥 2 + 𝑦 𝑔 −𝑦 2 = 𝑥 𝑔 − 𝑙 1 cos 𝜃 1 + 𝑙 2 cos 𝜃 2 + 𝑙 3 cos 𝜃 3 2 + 𝑦 𝑔 − 𝑙 1 sin 𝜃 1 + 𝑙 2 sin 𝜃 2 + 𝑙 3 sin 𝜃 3 2
NLP-based method Find the most effective solution θ
D-H representation Align the two axis just using the 4 parameters ( 𝜃 𝑛 , 𝑑 𝑛 , 𝑎 𝑛 , 𝛼 𝑛 )
D-H representation Absolute coordinate 𝑥 1 = 𝑙 1 cos 𝑞 1 𝑦 1 = 𝑙 1 𝑠𝑖𝑛 𝑞 1 𝑥 2 = 𝑙 1 𝑐𝑜𝑠 𝑞 1 + 𝑙 2 𝑐𝑜𝑠 𝑞 1 + 𝑞 2 𝑦 2 = 𝑙 1 𝑠𝑖𝑛 𝑞 1 + 𝑙 2 𝑠𝑖𝑛 𝑞 1 + 𝑞 2 ⁞ ⇒ too complex Relative coordinate ⇒ simple
D-H representation
D-H representation
D-H representation
Issues Angle optimization from start point Robot arm coverage range
Q & A Thank you