Add hik_camera_ros2_driver (renamed from camera2_ws to fori_camera_ws)
Hikvision MV-CS016-10UC ROS2 driver used for the dual/triple camera rig: hardware-triggered acquisition, per-camera exposure/gain/white-balance params, and self-calibrating device-clock timestamping (anchored to the shared LiDAR/GPS clock domain via /timeshare) to keep image timestamps tightly synced across cameras during motion. Includes the vendored Hikvision MVS SDK (hikSDK/) needed to build.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 카메라 해상도 변경 작업 (1440×1080 → 720×540)
|
||||
|
||||
병목 원인: 카메라가 1440×1080으로 전송 → FAST-LIVO2가 scale=0.5로 소프트웨어 리사이즈
|
||||
해결 방향: 하드웨어 binning 2×2으로 카메라 자체를 720×540 출력 → 전송량 1/4, 리사이즈 제거
|
||||
|
||||
---
|
||||
|
||||
## 체크리스트
|
||||
|
||||
### 1. MVS 소프트웨어 (카메라 하드웨어 설정)
|
||||
|
||||
- [ ] MVS 실행 후 카메라 접속
|
||||
- [ ] `Image Format Control` → `BinningHorizontal = 2`
|
||||
- [ ] `Image Format Control` → `BinningVertical = 2`
|
||||
- [ ] `Width = 720`, `Height = 540` 확인
|
||||
- [ ] `User Set Control` → `User Set Save` (재시작 후에도 유지)
|
||||
|
||||
### 2. Config 파일 (이미 완료)
|
||||
|
||||
- [x] `fast_ws/src/FAST-LIVO2/config/camera_mid360s.yaml`
|
||||
- `cam_width/height`: 1440/1080 → 720/540
|
||||
- `scale`: 0.5 → 1.0
|
||||
- intrinsic (fx, fy, cx, cy): 원본값 × 0.5
|
||||
- [x] `fori_camera_ws/src/hik_camera_ros2_driver/config/camera_info.yaml`
|
||||
- `image_width/height`: 1440/1080 → 720/540
|
||||
- camera_matrix, projection_matrix: 원본값 × 0.5
|
||||
- distortion_coefficients: 변경 없음 (무차원값)
|
||||
|
||||
### 3. 동작 확인
|
||||
|
||||
- [ ] 카메라 드라이버 재시작
|
||||
- [ ] `ros2 topic echo /camera/camera_info | grep width` → 720 확인
|
||||
- [ ] `ros2 topic hz /camera/image` → 10Hz 달성 확인
|
||||
|
||||
---
|
||||
|
||||
## 재캘리브레이션이 필요 없는 이유
|
||||
|
||||
| 파라미터 | 단위 | binning 시 변화 |
|
||||
|----------|------|-----------------|
|
||||
| fx, fy | 픽셀 | 픽셀 크기 2배 → 값 ÷ 2 (수학적으로 정확) |
|
||||
| cx, cy | 픽셀 | 동일하게 ÷ 2 |
|
||||
| k1, k2, p1, p2 | 무차원 | 렌즈 왜곡은 물리 광학 → 변화 없음 |
|
||||
|
||||
렌즈와 센서 광학 자체는 동일하므로 재캘리브레이션 불필요.
|
||||
Reference in New Issue
Block a user