🛠 끝점에서 거꾸로
지난 글에서는 슬라이더로 관절각을 돌리면 끝점이 따라 움직이는 정기구학 도구를 만져봤습니다. 관절각 → 끝점 방향이었죠.
이번에는 반대 방향으로 갑니다.
"끝점을 마우스로 잡고 끌면, 관절이 알아서 따라오게 만들 수는 없을까?"
이게 바로 역기구학(Inverse Kinematics, IK) 입니다. 이론 시리즈 #2에서 다룬 그 식을, 이번에는 직접 손으로 끌어보면서 이해해봅니다.
🧭 왜 시각화가 필요한가
#2 글에서 우리는 IK를 이렇게 정의했습니다.
$$\cos\theta_2 = \frac{x^2 + y^2 - L_1^2 - L_2^2}{2 L_1 L_2}$$ $$\theta_2 = \mathrm{atan2}\!\left(\pm\sqrt{1 - \cos^2\theta_2},\ \cos\theta_2\right)$$ $$\theta_1 = \mathrm{atan2}(y, x) - \mathrm{atan2}(L_2 \sin\theta_2,\ L_1 + L_2 \cos\theta_2)$$식이 길어 보이지만, IK가 정기구학(FK)과 다른 본질적 특징은 두 가지입니다.
- $\theta_2$ 의 부호 ± 가 곧 두 가지 해 — Elbow up / Elbow down
- 끝점이 작업공간 밖에 있으면 해가 존재하지 않음
이 두 특징은 식만 봐서는 잘 와닿지 않습니다. 끝점을 손으로 끌어보고, "같은 위치에서 팔이 두 가지로 접힌다"는 걸 직접 봐야 감이 옵니다.
🎮 직접 끌어보는 로봇팔
아래 데모에서 주황색 끝점을 마우스로 잡고 끌어보세요. (모바일은 터치) 끝점이 가는 곳마다 관절각이 실시간으로 계산되어 팔이 따라옵니다.
🔍 도구 사용법
이 도구는 마우스 드래그와 두 가지 조작으로 사용합니다.
- 주황색 끝점 드래그 — 마우스(또는 터치)로 끝점을 잡고 끌면 팔이 따라옵니다
- Elbow up / Elbow down 버튼 — 같은 끝점에 대한 두 가지 해 사이를 전환
- L₁, L₂ 슬라이더 — 링크 길이 조정
- 초기화 버튼 — 기본값으로 되돌리기
그림에서 각 요소의 의미는 이렇습니다.
- 보라색 + 초록색 진한 링크 — 현재 선택된 해 (메인 팔)
- 옅은 색 링크 — 선택되지 않은 다른 해 (alt solution). 같은 끝점에 도달하는 또 다른 자세
- 주황색 큰 점 — 마우스로 끌 수 있는 끝점
- 빨간 점 + 점선 — 끝점이 작업공간 밖으로 나갔을 때 표시 (도달 불가)
- 초록색 점선 — 1번 링크의 연장선. θ₂의 기준선
아래쪽 카드에는 목표 끝점 좌표, 계산된 θ₁/θ₂ 값, 도달 가능 여부가 실시간으로 표시됩니다.
🧪 이런 실험을 해보세요
마우스로 끝점을 끌어보면서 IK의 본질적인 성질을 직접 관찰해봅니다.
실험 1 — 작업공간 밖으로 끌어보기
끝점을 보라색 점선 원 바깥으로 끌어보세요. 빨간 점이 나타나면서 "경계로 클램프" 상태가 됩니다. "도달 불가능한 위치는 IK가 풀리지 않는다" 는 걸 직접 보는 거예요. 팔은 작업공간 경계까지만 따라옵니다.
실험 2 — Elbow up / Elbow down 전환
끝점을 한 자리에 두고 두 버튼을 번갈아 눌러보세요. 같은 끝점인데 팔꿈치가 위/아래로 다르게 접힙니다. "같은 위치에 두 가지 해가 존재한다" 는 IK의 핵심 성질이에요.
실험 3 — alt solution 따라가보기
옅은 색으로 보이는 다른 해(alt solution)를 잘 보세요. 끝점을 움직이면 메인 팔과 alt 팔이 마치 거울처럼 같이 움직입니다. 두 해가 항상 동시에 존재한다는 게 보여요.
실험 4 — L₁ = L₂ 로 맞추고 원점 근처 끌기
두 링크 길이를 같게 만들고 끝점을 원점 가까이 끌어보세요. 안쪽 경계가 사라지면서 원점 바로 옆까지 도달합니다. 정확히 원점에서는 특이점(singularity) 이 발생하는데, 이건 #5에서 자세히 다룰 거예요.
실험 5 — 작업공간 경계를 따라 끌기
끝점을 보라색 점선 원 바로 안쪽에서 따라 그려보세요. 팔이 거의 일자로 펴진 채 회전합니다. 이 경계 위에서는 Elbow up과 Elbow down이 거의 일치해요. "두 해가 하나로 합쳐지는 순간" 입니다.
📐 한눈에 정리
이 도구로 관찰할 수 있는 IK의 핵심은 정기구학과 정반대입니다.
같은 끝점 위치에 대해, 관절각은 보통 두 가지가 존재한다.
그리고 작업공간 밖에서는 해가 존재하지 않는다.
이 비대칭성이 곧 로봇 제어의 본질적 어려움 중 하나입니다. 어디로 갈지는 사람이 정하지만, 어떻게 갈지는 로봇이 풀어야 하고, 그 답이 한 가지가 아니에요.
실제 로봇에서는 다음 기준으로 두 해 중 하나를 고릅니다.
- 현재 자세와의 거리 — 갑자기 팔꿈치가 위에서 아래로 휙 뒤집히면 위험
- 장애물 회피 — 한쪽 자세는 책상이나 벽에 부딪힐 수 있음
- 다음 동작과의 연속성 — 부드러운 움직임을 위해
📘 다음 편 예고
이번 글에서는 끝점을 끌면 관절이 따라오는 IK 도구를 만져봤습니다.
지금까지는 위치만 다뤘죠. "여기서 저기로 가라"가 전부였습니다.
다음 글에서는 한 단계 위로 올라가서, 도달할 수 있는 모든 영역을 한눈에 보는 도구를 만들어봅니다.
"끝점이 갈 수 있는 곳을 직접 칠해서 그려보면 어떨까?"
이게 바로 #3 작업공간(Workspace) 시각화 도구 입니다. 링크 길이를 바꾸면서 도달 가능 영역이 어떻게 변하는지, 도넛이 어떻게 꽉 찬 원이 되는지 직접 확인해볼 거예요.
'로봇공학 > 로봇공학기초 - 2DOF Sim' 카테고리의 다른 글
| [2DOF Simulation] #5. 특이점 시각화 (Singularity Tool) (0) | 2026.05.31 |
|---|---|
| [2DOF Simulation] #4. 자코비안 시각화 (Jacobian Tool) (1) | 2026.05.30 |
| [2DOF Simulation] #3. 작업공간 시각화 (Workspace Tool) (0) | 2026.05.24 |
| [2DOF Simulation] #1 정기구학 시각화 (Forward Kinematics Tool) (0) | 2026.05.17 |