10.77 인간형 로봇의 전신 자세 표현

1. 인간형 로봇의 전신 자세 개요

인간형 로봇(humanoid robot)은 인간과 유사한 형태와 자유도를 가진 로봇이며, 머리, 몸통, 양팔, 양다리 등 여러 신체 부위로 구성된다. 이러한 로봇의 전신 자세(whole-body posture)는 모든 부위의 자세와 위치를 통합적으로 기술해야 하며, 일반적으로 30개에서 50개 이상의 자유도를 가진다. 전신 자세 표현은 운동 계획, 균형 제어, 모방 학습, 동작 시뮬레이션 등 다양한 응용에서 핵심적인 역할을 한다. 쿼터니언은 인간형 로봇의 자세 표현에 자연스러운 도구로 사용된다.

2. 인간형 로봇의 운동학 구조

2.1 트리 구조의 운동학

인간형 로봇은 일반적으로 트리 구조의 운동학 모형을 가진다. 본체(torso) 또는 골반(pelvis)이 트리의 루트가 되며, 양팔, 양다리, 머리가 각각 분기로 연결된다. 각 관절은 회전 축과 회전 한계로 정의된다.

2.2 부유 베이스

지상에 고정된 매니퓰레이터와 달리 인간형 로봇은 부유 베이스(floating base)를 가진다. 즉, 몸통 또는 골반의 절대 위치와 자세가 시간에 따라 변하는 추가 자유도이다. 이는 6자유도(위치 3 + 자세 3)를 추가로 갖는다.

2.3 자유도 구성

전형적인 인간형 로봇의 자유도 구성은 다음과 같다.

부위자유도
부유 베이스6
몸통/허리1~3
머리/목2~3
양팔(각각)6~8
양손(각각)1~20
양다리(각각)6~7

전체 자유도는 30 이상이며, 손가락까지 포함하면 50을 초과할 수 있다.

3. 전신 자세의 매개변수화

3.1 일반화 좌표

인간형 로봇의 일반화 좌표는 다음과 같이 표현된다.

\mathbf{q} = [\mathbf{q}_b^T, \mathbf{q}_j^T]^T

여기서 \mathbf{q}_b는 부유 베이스의 자세 매개변수이고, \mathbf{q}_j는 모든 관절 각도의 벡터이다.

3.2 부유 베이스의 표현

부유 베이스는 일반적으로 위치와 쿼터니언으로 표현된다.

\mathbf{q}_b = [\mathbf{p}_b^T, \mathbf{q}_b^T]^T \in \mathbb{R}^7

여기서 \mathbf{p}_b \in \mathbb{R}^3는 베이스의 위치, \mathbf{q}_b \in \mathbb{S}^3는 베이스의 자세 쿼터니언이다.

3.3 관절 각도의 표현

회전 관절의 각도는 일반적으로 스칼라로 표현된다.

\mathbf{q}_j = [\theta_1, \theta_2, \ldots, \theta_n]^T \in \mathbb{R}^n

여기서 n은 관절의 수이다. 일부 관절은 다중 자유도(예: 어깨의 3축 회전)를 가지며, 이 경우 쿼터니언이나 다른 표현이 사용될 수 있다.

4. 본체 자세와 쿼터니언

4.1 본체 좌표계

인간형 로봇의 본체 좌표계는 일반적으로 골반에 고정된다. 이 좌표계의 자세는 세계 좌표계에 대한 쿼터니언으로 표현된다.

\mathbf{q}_{\text{torso}} \in \mathbb{S}^3

이 자세가 로봇의 전반적인 방향을 결정한다.

4.2 자세 명령

전신 자세 명령에서 본체 자세는 작업의 요구에 따라 결정된다. 예를 들어 보행 시 본체는 진행 방향을 향하며, 작업 시 작업 대상을 향한다.

4.3 균형 유지

본체 자세는 균형 유지에 직접 영향을 준다. 본체가 기울어지면 무게 중심이 이동하여 균형을 잃을 수 있다. 자세 제어는 균형 유지의 핵심 요소이다.

5. 사지의 자세 표현

5.1 어깨와 엉덩이 관절

어깨와 엉덩이는 3자유도 회전 관절이며, 자세는 쿼터니언으로 표현될 수 있다. 그러나 운동학적 분석에서는 일반적으로 세 개의 회전 각으로 분해하여 사용한다.

5.2 손과 발의 자세

손과 발의 자세는 작업 공간에서 정의된다. 픽 앤 플레이스, 조작, 보행 등의 작업에서 손과 발의 자세는 쿼터니언으로 표현된다.

\mathbf{q}_{\text{hand}}, \mathbf{q}_{\text{foot}} \in \mathbb{S}^3

5.3 머리 자세

머리의 자세는 시각 추적과 환경 인식에 사용된다. 머리 자세는 쿼터니언으로 표현되며, 시선 방향은 자세로부터 유도된다.

6. 전신 자세의 표현 형식

6.1 데이터 구조

전신 자세는 다음과 같은 데이터 구조로 표현될 수 있다.

Posture:
  base_position: [x, y, z]
  base_orientation: [w, x, y, z]  # quaternion
  joint_angles: [θ_1, θ_2, ..., θ_n]

6.2 표준 형식

ROS의 sensor_msgs/JointState 메시지는 관절 각도를 표현하며, 부유 베이스의 자세는 별도의 메시지(예: tf 변환 또는 nav_msgs/Odometry)로 전달된다.

6.3 URDF와 SRDF

URDF는 로봇의 운동학과 동역학을 정의하는 표준 형식이며, 관절의 회전 축과 자세 정보를 포함한다. 자세는 내부적으로 회전 행렬이나 쿼터니언으로 변환된다.

7. 자세의 일관성과 부호 처리

7.1 쿼터니언 부호

부유 베이스의 자세 쿼터니언은 부호 모호성을 가진다. 시간에 따른 자세 추적 시 부호의 일관성을 유지해야 한다.

\text{if } \mathbf{q}_t^T\mathbf{q}_{t-1} < 0, \text{ then } \mathbf{q}_t \leftarrow -\mathbf{q}_t

7.2 자세 보간

자세 사이의 매끄러운 전이가 필요할 때 SLERP을 사용한다. 부유 베이스 자세와 다중 부위 자세의 동기화된 보간이 필요하다.

8. 동작 캡처와 학습

8.1 동작 캡처 데이터

인간 동작 캡처 시스템(예: Vicon, OptiTrack)은 마커 위치로부터 인체 각 부위의 자세를 추출한다. 이 자세 데이터는 일반적으로 쿼터니언으로 저장된다.

8.2 BVH와 FBX 형식

동작 캡처 데이터의 표준 형식인 BVH(Biovision Hierarchy)나 FBX는 부위 별 회전을 저장한다. 회전은 오일러 각이나 쿼터니언으로 표현된다.

8.3 인간형 로봇으로의 매핑

인간 동작을 인간형 로봇으로 매핑하는 데이터 리타깃팅에서 자세 데이터가 쿼터니언으로 처리된다. 인간과 로봇의 운동학적 차이를 고려하여 자세를 조정한다.

9. 전신 자세 제어

9.1 전신 운동학적 제어

여러 작업 공간 변수를 동시에 제어하는 전신 운동학적 제어(whole-body kinematic control)에서 각 부위의 자세가 동시에 제어된다.

\dot{\mathbf{q}} = \sum_i \mathbf{J}_i^\dagger\mathbf{e}_i

여기서 \mathbf{J}_i는 작업 i의 자코비안이고 \mathbf{e}_i는 작업 i의 오차이다. 자세 작업의 오차는 쿼터니언 오차에서 유도된다.

9.2 우선순위 기반 제어

여러 작업이 동시에 정의될 때 우선순위가 부여된다. 균형 유지가 가장 높은 우선순위를 가지며, 그 다음으로 손의 위치, 손의 자세 등이 따른다.

9.3 전신 동역학 제어

동역학을 명시적으로 고려하는 전신 동역학 제어(whole-body dynamic control)에서는 일반화 좌표와 일반화 속도, 일반화 가속도 모두가 사용된다.

\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau} + \mathbf{J}^T\mathbf{f}_{\text{ext}}

자세 명령은 작업 공간 가속도를 결정하고, 이로부터 일반화 토크가 유도된다.

10. 보행과 자세 조정

10.1 보행 중 본체 자세

보행 중에는 본체의 자세가 진행 방향과 균형을 동시에 고려하여 조정된다. 각 단계마다 자세 명령이 갱신된다.

10.2 발의 자세

보행 시 발의 자세는 지면과의 접촉을 고려하여 결정된다. 평지에서는 발이 수평이 되도록 자세가 조정되며, 경사면에서는 경사에 적응한다.

10.3 균형 회복

외란으로 인해 균형을 잃을 때 본체와 다리의 자세가 빠르게 조정되어 균형을 회복한다. 쿼터니언 기반 자세 표현이 빠른 응답에 적합하다.

11. 모방 학습과 자세

11.1 인간 시범의 학습

인간이 시범한 동작을 인간형 로봇이 학습할 때, 자세 데이터가 쿼터니언 형태로 처리된다. 학습된 모형은 새로운 상황에서 자세 명령을 생성한다.

11.2 동작 라이브러리

표준화된 동작 라이브러리에 다양한 자세 데이터가 저장된다. 인사, 걸음, 댄스 등의 동작이 쿼터니언 시퀀스로 정의된다.

11.3 신경망 기반 자세 생성

신경망을 사용한 자세 생성에서 출력이 쿼터니언으로 정규화되어 사용된다. 4차원 출력에 대해 단위 노름 제약을 적용한다.

12. 시뮬레이션과 시각화

12.1 시뮬레이션 환경

Gazebo, MuJoCo, Bullet, Webots 등의 시뮬레이터는 인간형 로봇의 전신 자세를 쿼터니언으로 처리한다. 부유 베이스의 동역학과 다중 관절의 운동을 정확히 시뮬레이션할 수 있다.

12.2 시각화 도구

RViz, OpenRAVE 등의 시각화 도구는 전신 자세 데이터를 받아 3차원 화면에 표시한다. 부유 베이스의 자세와 관절 각도가 함께 시각화된다.

13. 표준 인간형 로봇 플랫폼

13.1 ROS 기반 표준

ASIMO, NAO, Pepper, Atlas, HRP 시리즈, Talos 등 주요 인간형 로봇 플랫폼은 ROS와 호환되는 인터페이스를 제공한다. 이들 모두 쿼터니언 기반 자세 표현을 채택한다.

13.2 통신 메시지

전신 자세 정보가 ROS 메시지로 전송될 때, 부유 베이스 자세는 geometry_msgs/Pose로, 관절 각도는 sensor_msgs/JointState로 표현된다.

14. 자세 데이터의 압축과 저장

14.1 효율적 저장

장시간의 동작 데이터를 저장할 때 쿼터니언이 효율적이다. 회전 행렬보다 적은 저장 공간을 사용하면서도 정확성을 보장한다.

14.2 압축 기법

자세 데이터의 압축에서 쿼터니언의 단위 노름 제약을 활용하여 4개 성분 중 3개만 저장할 수 있다. 나머지 한 성분은 제약으로부터 복원된다.

15. 자세 표현의 도전 과제

15.1 차원의 저주

전신 자세는 고차원이며, 이로 인한 학습과 제어의 어려움이 있다. 차원 축소 기법이 활용된다.

15.2 운동학적 제약

자세 명령이 운동학적 제약(관절 한계, 자가 충돌)을 위반하지 않도록 검증이 필요하다.

15.3 동적 일관성

정적 자세가 동적으로 도달 가능한지 검증해야 한다. 균형, 마찰 한계 등이 고려된다.

16. 참고 문헌

  • Sentis, L., & Khatib, O. (2005). “Synthesis of whole-body behaviors through hierarchical control of behavioral primitives.” International Journal of Humanoid Robotics, 2(4), 505–518.
  • Kajita, S., Hirukawa, H., Harada, K., & Yokoi, K. (2014). Introduction to Humanoid Robotics. Springer.
  • Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
  • Khatib, O., Sentis, L., Park, J., & Warren, J. (2004). “Whole-body dynamic behavior and control of human-like robots.” International Journal of Humanoid Robotics, 1(1), 29–43.
  • Wieber, P. B., Tedrake, R., & Kuindersma, S. (2016). “Modeling and control of legged robots.” Springer Handbook of Robotics, 1203–1234.

version: 1.0