[SIM] 실습 4-1: 카메라 투영과 프레임 정합

cd ebook/book/04_sensor_data_pipeline

목표

내부 파라미터로 3D 점을 투영하고 ROS body/optical frame 변환을 검증한다.

절차

  1. python3 code/camera_geometry.py를 실행한다.
  2. fx,fyf_x,f_y를 20% 변경하고 픽셀 이동을 기록한다.
  3. optical depth와 Euclidean range를 같은 값으로 넣었을 때 화면 가장자리의 3D 복원 오차를 계산한다.
  4. x, y, z 단위 벡터에 R_opt_body를 곱하고 축 의미를 표로 작성한다.
  5. 의도적으로 한 축의 부호를 바꾸고 determinant가 -1이 되는지 확인한다.

제출물

  • 투영/역투영 round-trip 오차
  • 좌표 프레임 표
  • reflection과 rotation의 차이 설명

장비 없이 먼저 해보기

가상실습

실제 장비의 정밀한 동작을 재현하는 대신, 제어값을 바꾸고 결과를 관찰하는 실습 흐름을 안전하게 연습합니다.

Browser simulation

멀티레이트 센서 시간 정합

서로 다른 주기의 카메라와 관절 상태 메시지를 timestamp 기준으로 짝지어 데이터셋에 넣을지 판단합니다.

개념 모형
실습 과제: offset을 줄이거나 허용 오차를 조절하여 채택률을 높이고, 너무 큰 허용 오차가 데이터 의미를 흐릴 수 있는 이유를 설명해 보세요.
Camera 15 Hztimestamp stream
Joint 50 Hztimestamp stream

image stamp

0.000s

joint stamp

0.042s

현재 Δt

42ms

허용 오차

30ms

정합 판정

폐기

동기화 범위 밖

  • ›대기: 허용 오차와 timestamp offset을 비교하세요.
단순화 안내: 지연, 마찰, 백래시, 센서 비선형성 등 실제 장비의 모든 특성을 재현하지 않습니다. 실물 적용 전에는 저속·제한된 작업공간·비상 정지 조건에서 다시 검증하세요.
가상실습 해설과 적용 범위

센서 주기와 시간 오프셋을 달리해 같은 시각의 표본이 언제 사라지는지 관찰하세요. 허용 시간 차이를 키우면 매칭 수는 늘어도 서로 다른 순간의 데이터를 묶을 위험이 커집니다. 실제 센서 좌표 변환과 rosbag 기록 전체를 재현하는 도구는 아닙니다.

직접 답하고 피드백 받기

답안은 이 브라우저에 저장됩니다. AI 평가는 학습을 위한 피드백이며 실제 코드 실행이나 장비 동작을 검증하지 않습니다.

1. 수행 결과와 근거

위 과제를 수행하고 설정값, 관찰 결과, 해석과 개선안을 작성하세요. 실제 장비 없이 한 경우 가상실습 결과임을 명시하세요.

0 / 8,000자 · 최소 10자
이 장의 예제 코드·설정 파일 (12)

이 장의 자가 점검·가상실습