로봇에는 조인트 공간과 직선 공간이 있습니다. 동일한 포즈에 대해서 각각의 공간은 서로 다른 방식으로 표현하기 때문에, 두 공간 사이에서 좌표를 변환하는 계산이 필요하고, 이를 기구학(Kinematics)라고 합니다.
정기구학(Forward kinematics)
로봇의 각 조인트는 특정한 각도를 갖고 있는데, 현재의 조인트 각도는 각 조인트의 엔코더 센서에 의해 알 수 있습니다. 조인트 공간의 각도는 직접적으로 확인 가능합니다.
로봇의 또 다른 중요한 공간인 직선 공간에서의 현재 좌표 또한 알고 싶을 때, 로봇 팔의 경우, 직선 공간 상에서 우리가 관심있는 정보는 끝단의 엔드이펙터(end-effector)의 위치와 자세입니다.
우리가 알고 있는 조인트 공간의 각도 값으로부터 직선 공간의 엔드이펙터 위치와 자세를 얻기 위해 사용되는 계산을 정기구학(Forward kinematics)이라고 합니다.
조인트 각도가 정해지면 로봇 엔드이펙트는 반드시 어딘가에 위치합니다. 이렇듯, 정기구학의 특징은 반드시 해가 존재한다는 것입니다. 즉, 조인트 각도가 정해지면, 우리는 엔드이펙터의 위치와 자세를 계산할 수 있습니다.
역기구학(Inverse kinematics)
반대로, 직선 공간에 있는 로봇 엔드이펙터의 위치와 자세를 조인트 각도로 변환하는 계산을 역기구학(Inverse kinematics)라고 합니다.
로봇의 목표 위치를 지정할 때, 조인트 각도 대신 엔드이펙터의 위치 및 자세를 기록할 수 있습니다. 하지만 실제 로봇이 움직이기 위해서는 모터가 각 조인트 각도를 움직여야 합니다. 결국 역기구학을 계산하여 조인트 목표 각도를 알아야합니다.
계산적 측면에서 역기구학은 정기구학보다 복잡합니다. 역기구학의 경우, 여러 개의 해가 존재할 수도 있고, 해가 존재하지 않을 수도 있습니다. 이로 인해 로봇을 동작하는데 제약이 있을 수도 있습니다. 특히 로봇팔의 경우 특이점(Singularity)이라는 문제가 존재합니다.
'Robotics' 카테고리의 다른 글
조인트 제어 (0) | 2022.02.15 |
---|---|
동역학(Dynamics) (0) | 2022.02.15 |
특이점(Singularity) (0) | 2022.02.15 |
조인트 공간, 직선 공간 (0) | 2022.02.14 |
모션(Motion) (0) | 2022.02.14 |