위키득계정 ↗
과학

수치적 역기구학

수치적 역기구학과학
영문명
Numerical inverse kinematics
입력
목표 말단 배치와 초기 관절 값
대표 갱신
q 다음=q+J⁺e
주요 한계
수렴과 해 존재가 보장되지 않음
수치적 역기구학은 원하는 말단 위치나 자세를 얻기 위한 관절 값을 반복 계산으로 찾는 방법이다. 현재 추정값에서 순기구학 오차를 계산하고 자코비안을 이용해 관절 값을 보정한다. 초기값과 특이점, 목표의 도달 가능성이 결과에 영향을 준다.

순방향 계산을 거꾸로 풀기

관절 값 q에서 말단 좌표를 계산하는 함수를 f(q)라 하자. 목표 x에 대해 f(q)=x인 q를 구하는 것이 역기구학 문제다. 현재 추정값에서 오차 e=x−f(q)를 계산하고 f(q+Δq)≈f(q)+J(q)Δq로 선형화한다. 고차항을 생략한 국소 근사이므로 보정 후 실제 오차를 다시 계산해야 한다.

한 변수로 보는 반복

예제로 f(q)=q², 목표 x=4를 생각하자. q=1에서 오차는 3이고 미분은 2이므로 다음 추정값은 2.5다. 다음 보정에서는 오차 −2.25를 미분 5로 나누어 2.05를 얻는다. 양의 해 2로 가까워지는 과정이지만 음의 해 −2도 존재한다. q=0에서 시작하면 미분이 0이므로 같은 나눗셈 갱신을 적용할 수 없다. 이는 반복 계산의 성질을 보여 주는 단순 예제다.

의사역행렬의 역할

정방 가역 자코비안에서는 Δq=J⁻¹e를 쓴다. 비정방이거나 특이한 경우에는 Δq=J⁺e로 선형화된 문제의 최소제곱 보정을 구할 수 있다. 해가 여러 개라면 그중 최소 노름 보정을 선택한다. J=(1,1), e=2라면 보정 (1,1)의 길이는 √2로, 역시 방정식을 만족하는 (2,0)의 길이 2보다 작다. 이 성질은 현재 선형 문제에 대한 것이며 최종 관절 배치의 전역 최적성을 보장하지 않는다.

종료와 실제 적용

작업 오차가 허용 범위에 들면 종료하고, 반복 횟수도 제한한다. 목표가 조금씩 변하는 연속 작업에서는 직전 관절 값을 초기값으로 활용할 수 있다. 도달 불가능한 목표나 나쁜 초기값에서는 잔차가 줄지 않거나 반복이 발산할 수 있다. 계산된 해가 관절 한계나 충돌 조건까지 자동으로 만족하는 것은 아니므로 별도 확인이 필요하다.

관련 문서

로봇 자코비안 / 로봇 특이점 / 의사역행렬 / 최소제곱법 / 뉴턴 방법 / 조작성 타원체