역 기구학(Inverse Kinematics)의 두 번째.
3link 역 기구학 입니다.
로봇팔의 끝점이 P3(x, y)에 위치 하기를 희망합니다.
관절각 θ1, θ2, θ3를 어떻게 조정해야 할까요?
link길이 L1, L2, L3는 알고 있는 값입니다.
이게 가능할까요?
다행히도 2link 때와는 다르게 P3(x, y, α)로 α값이 추가로 주어졌습니다.
세번째 link L3을 분해해 보겠습니다.
분해하는데 이런 공구는 필요치 않습니다. 소프트웨어의 장점입니다.
(이미지 출처 : 세신버팔로 공식 홈페이지 (seshinbuffalo.kr) )
L3와 α를 이용해 P2(x, y)를 구할 수 있습니다.
(P3x - P2x) = L3 * cosα , P2x = P3x – (L3 * cosα)
(P3y - P2y) = L3 * sinα , P2y = P3y – (L3 * sinα)
이제 세번째 link는 필요 없어졌습니다.
지금부터는 지난 게시물에 있던 2link 역기구학과 동일할 방식으로 θ1, θ2를 구하면 됩니다.
관절각 θ2를 먼저 확정시키고, θ1을 구합니다.
이렇게 θ2를 만들었습니다. 이제 θ1은,
전체 그림을 다시 보겠습니다.
마지막으로 θ3를 확인하겠습니다.
α = θ1 + θ2 + θ3
θ3 = α - θ1 - θ2
여기서 잠깐!
만약 L3의 기울기 α값이 주어지지 않는다면 3link 역기구학은 θ1, θ2, θ3 3개의 조합이 거의 무한대로 만들어질 수도 있습니다. θ1, θ2, θ3 각도를 20도, 21도, 22도… 와 같이 정수인 경우로만 산정해도 수십~수백가지 경우의 자세가 나올 수 있습니다.
α값이 제시되지 않아도 상관없습니다. α값은 내맘대로 정하면 됩니다. 그리고 현장 상황에 따라 장애물이 작업공간내에 있을 경우, 장애물을 회피할 수 있는 자세가 나오도록 L3의 α값을 정하면 됩니다.