Files
crosstyan 9c861105f7 feat: add aruco-svo-calibration plan and utils scripts
- Add comprehensive work plan for ArUco-based multi-camera calibration
- Add recording_multi.py for multi-camera SVO recording
- Add streaming_receiver.py for network streaming
- Add svo_playback.py for synchronized playback
- Add zed_network_utils.py for camera configuration
- Add AGENTS.md with project context
2026-02-05 03:17:05 +00:00

15 lines
1000 B
Markdown

## ArUco Detector Implementation (2026-02-04)
- Implemented `aruco/detector.py` using `cv2.aruco.ArucoDetector` (modern API).
- `detect_markers` returns corners as `(N, 4, 2)` float32 and ids as `(N,)` int32.
- `build_camera_matrix_from_zed` extracts intrinsics from `sl.Camera` calibration parameters.
- `estimate_pose_from_detections` uses `cv2.solvePnP` with `SOLVEPNP_SQPNP` flag for robust pose estimation from multiple markers.
- Reprojection error is calculated using the utility from `aruco/pose_math.py`.
## Extrinsics Calibration Tool (2026-02-04)
- Created `calibrate_extrinsics.py` CLI tool for multi-camera extrinsic calibration.
- Uses `SVOReader` for synchronized playback and `PoseAccumulator` for robust pose averaging.
- Computes `T_world_from_cam` by inverting the `solvePnP` result (`T_cam_from_world`).
- Implements RANSAC-based filtering of poses to handle outliers and noise.
- Outputs deterministic JSON mapping serial numbers to 4x4 transformation matrices and statistics.