
전체는 부분의 합과 다르다, 게슈탈트 원리(Gestalt Principles of Perception)

주제를 여러 면으로 쪼갠다, 패싯 분류(Faceted Classification)
탁자 위 컵을 집을 때 우리는 어깨를 몇 도 돌리고 팔꿈치를 몇 도 굽힐지 따지지 않습니다. 손을 컵까지 보내겠다고 마음먹으면 관절들이 알아서 각도를 맞춥니다. 로봇은 이 일을 계산으로 해내야 하는데, 손끝이 갈 자리에서 거꾸로 관절 각도를 구하는 이 계산이 바로 ‘역기구학(Inverse Kinematics)’입니다.
역기구학이란 쉽게 말해 ‘로봇 팔 끝에 달린 손이나 공구가 원하는 위치와 방향에 놓이려면 각 관절을 얼마나 돌리거나 늘여야 하는지 구하는 문제’를 의미합니다. 로봇의 일은 손끝에서 일어나지만 모터는 관절에 달려 있기 때문에, 이 둘을 잇는 역기구학은 로봇 팔을 움직이는 거의 모든 과정에 들어갑니다.
본 자료에서는 순기구학과 역기구학의 차이부터 답이 여러 개이거나 없는 까다로운 성질, 그리고 문제를 푸는 방법과 현장 활용까지 차례로 살펴보겠습니다.

손끝의 목표를 관절의 움직임으로 바꾸는 계산
순기구학과 역기구학, 무엇이 다른가?

로봇 팔은 단단한 막대인 링크(Link)를 관절(Joint)로 이어 붙인 사슬 구조입니다. 이 사슬의 맨 끝에서 실제로 물건을 잡거나 용접하는 부분을 말단 장치(End Effector)라고 부릅니다.
(1) 순기구학(Forward Kinematics)
관절 각도를 모두 알 때 손끝이 어디에 있는지 구하는 계산입니다. 링크 길이와 각도를 삼각함수로 차례로 이어 붙이면 되므로 답이 하나로 깔끔하게 나옵니다.
(2) 역기구학(Inverse Kinematics)
반대로 손끝이 가야 할 위치와 방향을 정해 두고 관절 각도를 거꾸로 찾는 계산입니다. 사람이 로봇에게 내리는 명령은 대개 ‘이 나사 위로 가라’처럼 손끝 기준이라, 실제 작업에서는 역기구학이 훨씬 자주 쓰입니다.
사람의 팔에 빗대면 순기구학은 ‘어깨를 30도, 팔꿈치를 90도 굽히면 손이 어디에 닿는가’를 묻는 것이고, 역기구학은 ‘손을 컵 손잡이에 대려면 어깨와 팔꿈치를 몇 도 굽혀야 하는가’를 묻는 것입니다. 순기구학은 계산을 그대로 따라가면 되지만, 역기구학은 여러 관절이 얽힌 비선형 방정식을 풀어야 해서 훨씬 어렵습니다.
답이 여러 개이거나 없는 까다로운 문제

역기구학이 어려운 까닭은 계산량만이 아닙니다. 같은 목표에 대해 답의 개수가 상황마다 달라집니다.
(1) 답이 여러 개인 경우
같은 컵을 집더라도 팔꿈치를 위로 들 수도, 아래로 내릴 수도 있습니다. 산업용 6축 로봇 가운데 손목 관절 세 축이 한 점에서 만나는 구조는 한 자세에 대해 많게는 8가지 답이 나옵니다.
(2) 답이 무한히 많은 경우
관절이 7개인 로봇 팔처럼 자유도가 필요한 것보다 많으면, 손끝을 고정한 채 팔꿈치만 빙 돌리는 식으로 답이 끝없이 생깁니다. 이런 로봇을 여유 자유도 로봇(Redundant Robot)이라 합니다.
(3) 답이 없는 경우
팔이 닿지 않는 먼 곳이나 관절이 꺾일 수 없는 방향은 아무리 계산해도 답이 없습니다. 손끝이 닿을 수 있는 공간을 작업 공간(Workspace)이라 부릅니다.
- 특이점(Singularity): 팔을 쭉 펴거나 두 관절 축이 한 줄로 겹치는 자세에서는 특정 방향으로는 손끝을 움직일 수 없게 되고, 그 근처에서는 작은 움직임에도 관절이 급하게 돌아야 합니다.
역기구학을 푸는 두 갈래 방법

역기구학을 푸는 방법은 크게 식으로 단번에 푸는 길과 조금씩 다가가는 길로 나뉩니다.
(1) 해석적 방법(Analytical Method)
로봇의 기하 구조를 이용해 관절 각도를 공식으로 바로 구합니다. 1968년 미국 스탠퍼드 대학교의 도널드 피퍼(Donald L. Pieper)는 손목 세 축이 한 점에서 만나는 6축 로봇이라면 손목 위치와 손의 방향을 나누어 공식으로 풀 수 있음을 보였습니다. 많은 산업용 로봇이 손목을 이렇게 만드는 이유입니다.
(2) 수치적 방법(Numerical Method)
처음 짐작한 자세에서 출발해 목표와의 차이를 조금씩 줄여 갑니다. 관절이 조금 움직일 때 손끝이 얼마나 움직이는지 나타낸 야코비 행렬(Jacobian Matrix)을 이용해 반복 계산하는 방식이 대표적이며, 어떤 구조의 로봇에도 쓸 수 있다는 장점이 있습니다. 다만 출발 자세에 따라 다른 답에 도착할 수 있고 특이점 근처에서는 계산이 흔들리기 쉬워, 움직임을 일부러 조금 줄여 안정시키는 감쇠 최소제곱법(Damped Least Squares) 같은 보완책을 함께 씁니다.
- 휴리스틱 방법(Heuristic Method): 관절을 하나씩 돌려 맞추는 순환 좌표 하강법(Cyclic Coordinate Descent)이나 2011년 발표된 FABRIK(Forward And Backward Reaching Inverse Kinematics)처럼 간단한 규칙을 되풀이해 빠르게 근사해를 얻습니다.
현장에서 만나는 역기구학

역기구학은 공장부터 화면 속 캐릭터까지 손끝이나 발끝을 정확한 자리에 보내야 하는 곳이면 어디서나 쓰입니다.
- 산업용 로봇(Industrial Robot): 용접선이나 도장 경로를 손끝 좌표로 정해 주면 제어기가 매 순간 관절 각도로 바꿔 모터를 움직입니다.
- 보행 로봇(Legged Robot): 다음 발을 디딜 자리를 먼저 정하고 무릎과 발목 각도를 역기구학으로 계산해 울퉁불퉁한 땅을 걷습니다.
- 수술 로봇(Surgical Robot): 의사가 조종 장치로 움직인 손 동작을 몸속에 들어간 가느다란 기구 끝의 목표 위치로 옮기고, 그 위치를 만들 관절 각도를 실시간으로 계산합니다.
- 컴퓨터 애니메이션(Computer Animation): 게임 캐릭터가 계단을 오를 때 발이 바닥을 뚫거나 허공에 뜨지 않도록 발끝을 지면에 맞추고 다리 관절을 자동으로 구합니다.
역기구학은 손끝이 가야 할 목표에서 출발해 관절 각도를 거꾸로 찾아내는 계산입니다. 답이 여러 개이거나 없을 수 있고 특이점이라는 함정도 있지만, 기하 구조를 살린 공식과 반복 계산 덕분에 오늘날 로봇 팔과 보행 로봇, 화면 속 캐릭터까지 자연스럽게 움직일 수 있게 되었습니다.
관절 하나하나보다 먼저 손끝이 닿아야 할 목표를 또렷이 정하는 것, 그것이 정확한 로봇 동작의 첫걸음입니다.






