[SIM] 실습 4-2: TF2와 ApproximateTime
cd ebook/book/04_sensor_data_pipeline
source /opt/ros/jazzy/setup.bash
cd code/ros2_jazzy
colcon build --symlink-install --packages-select sensor_pipeline
source install/setup.bash
새 터미널마다 위의 ROS 환경과 install/setup.bash를 source한 뒤 다음을 실행한다.
# 터미널 A: 30 Hz Image + 50 Hz JointState
ros2 run sensor_pipeline synthetic_sensors
# 터미널 B: 고정 카메라 TF
ros2 run sensor_pipeline static_camera_tf
# 터미널 C: 근사 동기화
ros2 run sensor_pipeline approx_sync --ros-args -p slop_s:=0.015
목표
카메라 TF 트리를 확인하고 image-joint timestamp 차이를 측정한다.
절차
ros2 run sensor_pipeline synthetic_sensors로 30 Hz Image와 50 Hz JointState를 생성한다.static_camera_tf를 실행하고tf2_echo로 변환을 확인한다.- 별도 터미널에서
approx_sync의slop_s를 0.005, 0.015, 0.050으로 바꾼다. - 각 설정의 pair 수, delta p95, 최대 delta를 기록한다.
synthetic_sensors의image_offset_ms와jitter_ms를 바꾸고 callback 비율을 비교한다.- publisher와 subscriber QoS를 일부러 다르게 하고
ros2 topic info -v로 진단한다.
제출물
- TF tree 그림
- slop별 품질 표
- 선택한 운영 slop과 근거