순방향 계산을 거꾸로 풀기
관절 값 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보다 작다. 이 성질은 현재 선형 문제에 대한 것이며 최종 관절 배치의 전역 최적성을 보장하지 않는다.
종료와 실제 적용
작업 오차가 허용 범위에 들면 종료하고, 반복 횟수도 제한한다. 목표가 조금씩 변하는 연속 작업에서는 직전 관절 값을 초기값으로 활용할 수 있다. 도달 불가능한 목표나 나쁜 초기값에서는 잔차가 줄지 않거나 반복이 발산할 수 있다. 계산된 해가 관절 한계나 충돌 조건까지 자동으로 만족하는 것은 아니므로 별도 확인이 필요하다.