[SIM] 실습 3-1: FK와 DLS IK
목표
- DH 변환 체인과 위치 자코비안을 코드로 확인한다.
- 감쇠, 최대 스텝, 관절 한계가 수렴성에 미치는 영향을 비교한다.
- “수렴하지 않음”을 정상적인 결과 상태로 처리한다.
준비
cd ebook/book/03_so101_kinematics_teleop
python3 -m venv .venv
source .venv/bin/activate
python -m pip install numpy
절차
python code/fk_dls_ik.py를 실행한다.target을 1 cm씩 이동하며 반복 횟수와 최종 오차를 표로 기록한다.damping을 0.005, 0.02, 0.08, 0.2로 바꾼다.max_step_rad제한을 제거했을 때 큰 점프가 생기는지 관찰한다. 이 단계는 계산만 수행하며 실물에 연결하지 않는다.- 목표를
[1.0, 0.0, 1.0]m로 두고 도달 불가능한 목표의 반환값을 확인한다. - 관절 중 하나를 상한에 고정하도록
Q_MIN/Q_MAX를 임시 수정하고 workspace 변화를 설명한다.
예상 관찰
- 작은 감쇠는 빠르게 수렴할 수 있지만 특이점 근처에서 큰 스텝이 발생한다.
- 큰 감쇠는 안정적이지만 느리거나 목표 오차를 남긴다.
- 관절 한계에서 clip이 반복되면 오차가 줄지 않는 정체 상태가 생긴다.
보고서 질문
- 감쇠와 최종 오차의 관계는 단조적인가?
JJ^T를 푸는 현재 구현과J^TJ를 푸는 구현의 행렬 크기를 비교하라.- 실제 SO-101 URDF로 교체할 때 어떤 데이터와 회귀 검사가 필요한가?