2.10 단계별 통합 실습
실습 A: 변환 체인 검증
code/transforms.py를 실행한다.- 출력된
world_from_object의 translation을 손 계산과 비교한다. world_from_object.inverse().compose(world_from_object)가 identity에 가까운지 확인하는 코드를 추가한다.- pitch를 89°, 90°, 91°로 바꾸고 rotation matrix와 quaternion을 비교한다.
- quaternion 순서를
(w,x,y,z)로 잘못 전달했을 때 결과가 어떻게 달라지는지 기록한다.
상세 활동지는 실습 2-A: 좌표 변환 체인과 쿼터니언을 사용한다.
실습 B: 충돌 형상과 CCD 비교
- 얇은 platform과 작은 고속 cube를 만든다.
- CCD를 끈 상태에서 초기 높이와 속도를 바꾸며 tunneling 횟수를 센다.
- physics timestep을 절반으로 줄이고 다시 측정한다.
- sweep CCD, speculative CCD를 각각 적용한다.
- penetration rate와 frame time을 표로 비교한다.
상세 활동지는 실습 2-B: 충돌 근사와 CCD 비용-효과 분석을 사용한다.
실습 C: 마찰과 반발 보정
- 실제 재질 pair의 임계 경사각을 반복 측정한다.
code/contact_estimator.py로 초기 friction과 restitution을 구한다.- Isaac Sim physics material에 값을 입력한다.
- 동일한 tilt/drop scenario를 실행해 오차를 측정한다.
- 평균 오차뿐 아니라 trial별 분산을 기록한다.
상세 활동지는 실습 2-C: 마찰·반발·질량 파라미터 보정을 사용한다.