### 제3장 확인문제 해설 {#chapter-3-solutions}

1. 그리퍼는 개폐 기능을 수행하지만 팔 엔드이펙터의 6차원 pose를 만드는 직렬 관절 자유도에는 포함되지 않는다. 따라서 팔은 5-DoF이고 구동 모터는 6개다.
2. `origin`은 부모 링크 프레임에서 관절 프레임으로 가는 고정 변환이고, `axis`는 관절 프레임에서 표현된 운동 축이다.
3. $6\times5$ 행렬의 rank는 최대 5이므로 6차원 출력 공간 전체를 span할 수 없다.
4. 큰 $\lambda$는 특이점에서 관절 증분을 제한하지만 추종 오차가 커지고 수렴이 느려질 수 있다.
5. 한 프레임에 큰 위치 오차를 명령하면 최대 속도/가속도와 충돌 여유를 위반할 수 있다. 제한 속도 정렬이 필요하다.
6. 발행자마다 배열 순서가 다를 수 있다. `name[i]`와 값의 대응을 사용해야 한다.
7. ROS time은 시뮬레이션 정지, 점프, 재설정이 가능하다. 경과 시간 기반 안전 timeout에는 단조 시계가 적합하다.
8. 프로세스 정지, OS 멈춤, 통신 고장 때 소프트웨어 명령이 실행되지 않을 수 있다. 독립적인 하드웨어 전원 차단이 필요하다.
9. 원시 tick↔정규화 개폐율↔URDF rad/m 변환을 명시하고 포화, 극성, 캘리브레이션 버전을 관리해야 한다.
10. 측정과 예측을 서로 다른 토픽, 프레임 또는 표시 스타일로 분리하고, 각각의 타임스탬프와 추정 지연을 표시한다.

