로봇 역기구학 해석
📌 개요
- 실제 로봇 작업 = "손끝을 저 위치로 보내라"로 주어짐
- 이를 실행하려면 목표 포즈를 만족하는 조인트 각도를 거꾸로 계산 = 역기구학(Inverse Kinematics) → 경로계획·모션 제어가 실제로 동작하기 위한 필수 단계
- 순기구학과 달리 해가 없거나 여러 개일 수 있어 훨씬 어려움
- 핵심 출제 포인트: 다중해의 존재, 해석적 해법과 수치적 해법의 비교, 특이점(singularity), 여유자유도
📖 핵심 개념
역기구학이란
-
역기구학(Inverse Kinematics, IK) = 말단장치의 목표 위치·자세가 주어졌을 때, 이를 만족하는 조인트 변수 q = (\theta_1, \dots, \theta_n)을 구하는 문제
-
작업 공간 → 조인트 공간 방향의 번역 = 순기구학의 역방향
-
순기구학 식 x = f(q) = 삼각함수가 얽힌 비선형 연립방정식 → 역방향 q = f^{-1}(x)은 일반적으로 깔끔하게 풀리지 않음
-
이것이 역기구학이 어려운 근본 이유
순기구학과의 비교
| 구분 | 순기구학 (FK) | 역기구학 (IK) |
|---|---|---|
| 입력 | 조인트 변수 q | 말단 포즈 x |
| 출력 | 말단 포즈 x | 조인트 변수 q |
| 해의 개수 | 항상 유일 | 없거나, 여러 개거나, 무한개 |
| 계산 | 행렬 곱 연쇄 (단순) | 비선형 방정식 풀기 (어려움) |
해의 존재성과 다중해
-
해가 없는 경우: 목표 지점이 작업공간(Workspace) 밖이면 어떤 조인트 조합으로도 도달할 수 없다
-
해가 여러 개인 경우(다중해, Multiple Solutions): 같은 손끝 위치를 서로 다른 팔 모양으로 만들 수 있다. 2링크 로봇의 엘보우 업(elbow-up) / 엘보우 다운(elbow-down) 이 대표적 예이고, 일반적인 6축 산업용 로봇은 한 포즈에 대해 최대 8개의 해를 가질 수 있다
-
해가 무한개인 경우: 여유자유도 로봇 (아래 참조)
-
여러 해 중 하나를 골라야 할 때 = 보통 현재 자세에서 조인트 이동량이 가장 작은 해를 선택 (조인트 가동범위(한계각) 초과 여부·장애물 충돌 여부도 함께 고려)
해석적 해법 (Analytical / Closed-form Solution)
방정식을 손으로 풀어 닫힌 형태의 공식으로 해를 구하는 방법이다.
-
기하학적 방법(Geometric Approach): 로봇 팔이 만드는 삼각형에 코사인 법칙 등을 적용해 각도를 직접 구한다 (2링크 예제가 전형)
-
대수적 방법(Algebraic Approach): 순기구학 행렬 방정식을 대수적으로 조작하여 조인트 변수를 하나씩 분리해 낸다
-
장점: 계산이 매우 빠르고(실시간 제어에 유리), 모든 해를 빠짐없이 구할 수 있음
-
단점: 로봇 구조마다 유도를 새로 해야 하고, 구조가 복잡하면 닫힌 형태의 해가 아예 존재하지 않을 수 있음
- 산업용 6축 로봇 대부분이 손목 3축이 한 점에서 교차하도록 설계되는 이유 = 이 조건(Pieper 조건)을 만족하면 위치 3축과 자세 3축 문제를 분리해 해석적으로 풀 수 있기 때문
수치적 해법 (Numerical Solution)
- 공식 대신 반복 계산으로 해에 점점 다가가는 방법
- 자코비안을 이용한 뉴턴-랩슨(Newton-Raphson) 방식이 대표적:
"현재 추정 자세 q_k에서의 말단 위치 오차 (x_d - f(q_k))를 자코비안 역행렬로 조인트 공간의 수정량으로 바꿔 더한다"를 오차가 충분히 작아질 때까지 반복한다.
- 장점: 임의 구조의 로봇에 범용적으로 적용 가능
- 단점: 초기값에 따라 수렴하는 해가 달라지고, 한 번에 하나의 해만 얻으며, 반복 계산이라 느리고, 특이점 근처에서 불안정
| 구분 | 해석적 해법 | 수치적 해법 |
|---|---|---|
| 형태 | 닫힌 형식 공식 | 반복(iterative) 계산 |
| 속도 | 매우 빠름 | 상대적으로 느림 |
| 해의 개수 | 모든 해 획득 | 초기값 근처의 해 1개 |
| 적용성 | 구조마다 별도 유도 필요 | 임의 구조에 범용 |
자코비안과 특이점 (Singularity)
-
속도 관계 \dot{x} = J(q)\dot{q}를 뒤집으면 \dot{q} = J^{-1}(q)\dot{x} → 어떤 자세에서는 J의 역행렬이 존재하지 않음
-
이런 자세 = 특이점(Singularity)
-
수학적 조건: \det J(q) = 0 (자코비안이 정칙이 아님)
-
물리적 현상:
- 말단장치가 특정 방향으로 순간적으로 움직일 수 없다 (자유도를 하나 이상 잃음)
- 특이점 근처에서는 작은 말단 속도를 내는 데도 조인트 속도가 비정상적으로 커진다 (모터 한계 초과, 제어 불안정)
- 역기구학 수치해가 발산하거나 실패한다
-
대표 예: 팔을 완전히 뻗은 자세(작업공간 경계 특이점) — 이 상태에서는 팔 방향으로 더 뻗는 속도를 만들 수 없음
-
6축 로봇에서는 손목의 두 회전축이 일직선으로 겹치는 손목 특이점도 자주 문제
-
경로계획 단계에서 특이점을 피해 가도록 경로를 설계하는 것이 실무 원칙
여유자유도 (Redundancy)
-
로봇의 자유도가 작업에 필요한 차원(공간 작업이면 6)보다 많으면 = 여유자유도(Redundant) 로봇
-
대표적으로 사람 팔을 닮은 7축 협동로봇
-
같은 말단 포즈에 대해 무한개의 해가 존재한다 (팔꿈치를 돌려도 손끝은 그대로 — 사람이 손잡이를 잡은 채 팔꿈치를 움직여 보면 체감된다)
-
남는 자유도를 활용해 말단 작업을 유지하면서 장애물 회피·특이점 회피·자세 최적화가 가능하다
-
해가 무한하므로 "가장 좋은 해"를 고르는 최적화 문제로 풀며, 이때 자코비안의 영공간(null space)을 활용한다
📊 다이어그램 · 수식
역기구학 해법 선택 흐름
flowchart TD
A["목표 말단 포즈 x_d"] --> B{"작업공간 안인가?"}
B -- "아니오" --> C["해 없음 — 도달 불가"]
B -- "예" --> D{"닫힌 형식 해가 존재?
(단순 구조, Pieper 조건 등)"}
D -- "예" --> E["해석적 해법
모든 해 획득 → 최적 해 선택"]
D -- "아니오" --> F["수치적 해법
자코비안 반복 (초기값 필요)"]
E --> G["조인트 한계·충돌 검사 후 실행"]
F --> G2링크 평면 로봇의 역기구학 (기하학적 해법)
링크 길이 l_1, l_2, 목표 위치 (x, y)일 때, 원점—팔꿈치—손끝이 만드는 삼각형에 코사인 법칙을 적용하면:
- |\cos\theta_2| > 1이면 해 없음 (작업공간 밖)
- \theta_2의 부호 ±가 곧 다중해(엘보우 업/다운)
속도 역기구학
🎯 핵심 요약 · 암기 포인트
✏️ 예상문제
1. 역기구학에 대한 설명으로 옳은 것은?
① 해는 항상 유일하다 ② 목표가 작업공간 안에 있으면 해는 반드시 1개다 ③ 동일한 말단 포즈에 대해 여러 개의 조인트 해가 존재할 수 있다 ④ 순기구학보다 항상 계산이 간단하다
정답 및 해설
정답: ③ 역기구학은 엘보우 업/다운처럼 같은 말단 포즈를 만드는 서로 다른 팔 모양(다중해)이 존재할 수 있다. 해가 항상 유일한 것은 순기구학이며(①), 작업공간 안이라도 해는 보통 여러 개이고(②), 비선형 방정식을 풀어야 하므로 순기구학보다 어렵다(④).
2. 로봇 머니퓰레이터의 특이점(singularity)에서 발생하는 현상으로 옳지 않은 것은?
① 자코비안 행렬식이 0이 된다 ② 말단장치가 특정 방향으로 순간적으로 움직일 수 없게 된다 ③ 특이점 근처에서 조인트 속도가 비정상적으로 커질 수 있다 ④ 로봇의 자유도가 증가한다
정답 및 해설
정답: ④ 특이점에서는 자유도가 증가하는 것이 아니라 오히려 말단의 운동 자유도를 잃는다. ①은 특이점의 수학적 정의, ②③은 그로 인한 물리적 현상으로 모두 옳다.
3. 링크 길이 l_1 = l_2 = 1 m인 2링크 평면 머니퓰레이터의 말단을 (1, 1)로 보내려 한다. 엘보우 다운(\theta_2 > 0) 해는?
① \theta_1 = 0°,\ \theta_2 = 90° ② \theta_1 = 45°,\ \theta_2 = 45° ③ \theta_1 = 90°,\ \theta_2 = 0° ④ \theta_1 = 45°,\ \theta_2 = 90°
정답 및 해설
정답: ① \cos\theta_2 = \dfrac{1^2+1^2-1-1}{2 \cdot 1 \cdot 1} = 0 \Rightarrow \theta_2 = 90° (엘보우 다운) \theta_1 = \operatorname{atan2}(1,1) - \operatorname{atan2}(\sin 90°,\ 1+\cos 90°) = 45° - \operatorname{atan2}(1, 1) = 45° - 45° = 0° 검산(순기구학): x = \cos 0° + \cos 90° = 1, y = \sin 0° + \sin 90° = 1 ✓
4. 역기구학의 해석적 해법과 수치적 해법에 대한 설명으로 옳지 않은 것은?
① 해석적 해법은 닫힌 형태의 식으로 모든 해를 구할 수 있다 ② 수치적 해법은 초기값에 따라 수렴하는 해가 달라질 수 있다 ③ 수치적 해법은 임의 구조의 로봇에 범용적으로 적용할 수 있다 ④ 해석적 해법은 자유도가 많은 임의 구조의 로봇에도 항상 유도할 수 있다
정답 및 해설
정답: ④ 해석적 해법은 구조가 복잡하면 닫힌 형태의 해가 존재하지 않을 수 있다. 산업용 6축 로봇이 손목 3축을 한 점에서 교차하게 설계하는 것(Pieper 조건)도 해석적 해를 보장하기 위해서다. ①②③은 옳다.
5. 7자유도 머니퓰레이터처럼 작업 공간 차원(6)보다 자유도가 많은 로봇에 대한 설명으로 옳은 것은?
① 역기구학 해가 존재하지 않는다 ② 말단 포즈를 유지한 채 팔꿈치 자세를 바꿔 장애물을 회피할 수 있다 ③ 특이점이 존재하지 않는다 ④ 순기구학 해가 여러 개 존재한다
정답 및 해설
정답: ② 여유자유도 로봇은 같은 말단 포즈에 대해 무한개의 해를 가지므로(① 오답), 남는 자유도로 장애물·특이점 회피가 가능하다. 특이점은 여전히 존재하며 단지 피하기 쉬워질 뿐이고(③), 순기구학은 어떤 로봇이든 해가 유일하다(④).
🔗 관련 노트
- 로봇 기구학 해석 — 순방향 문제와 자코비안의 정의
- 변환행렬 — 목표 포즈를 표현하는 수단
- 머니퓰레이터 경로계획 — 계획된 경로의 각 지점마다 역기구학 수행
- 머니퓰레이터 충돌회피 — 다중해 중 충돌 없는 해 선택
- _MOC 모션소프트웨어