crosstyan
58d95df311
feat(aruco): implement core alignment utilities for ground plane alignment
2026-02-06 10:41:15 +00:00
crosstyan
46dcfec648
feat: enhance recording_multi.py and svo_playback.py with new CLI options and features
2026-02-05 09:55:07 +00:00
crosstyan
afc8e9034d
chore(sisyphus): clear boulder state after plan completion
2026-02-05 05:12:53 +00:00
crosstyan
e033657bff
docs(plan): mark depth output DoD items complete via unit tests
2026-02-05 05:11:54 +00:00
crosstyan
553cc457f0
refactor(cli): extract depth postprocess and add tests
...
- Extract apply_depth_verify_refine_postprocess() from main() for testability
- Add test_depth_cli_postprocess.py using mocks to validate JSON and CSV behavior
- Keeps CLI behavior unchanged
2026-02-05 05:07:48 +00:00
crosstyan
15337d2d15
docs(plan): mark non-regression DoD item complete
2026-02-05 04:58:46 +00:00
crosstyan
e8a8156e0b
fix(cli): disable depth unless verify/refine enabled
...
- Ensure default extrinsics calibration runs with depth mode NONE
- Depth is only enabled when --verify-depth or --refine-depth is set
- Document opt-in behavior in notepad
2026-02-05 04:58:17 +00:00
crosstyan
23233c9138
docs(notepad): record missing marker-visible SVO blocker
2026-02-05 04:54:47 +00:00
crosstyan
0d71ef9f64
docs(plan): update depth-extrinsic-verify completion checkboxes
2026-02-05 04:47:33 +00:00
crosstyan
ffdedad7e7
docs(draft): capture depth extrinsic verify notes
2026-02-05 04:46:24 +00:00
crosstyan
d2674f76d6
chore(sisyphus): update boulder state for depth-extrinsic-verify
2026-02-05 04:46:04 +00:00
crosstyan
6d3c5cc5c1
feat(cli): add depth verify/refine outputs and tests
...
- Retrieve depth + confidence measures from SVOReader when depth enabled
- Compute depth residual metrics and attach to output JSON
- Optionally write per-corner residual CSV via --report-csv
- Post-process refinement: optimize final pose and report pre/post metrics
- Add unit tests for depth verification and refinement modules
- Add basedpyright dev dependency for diagnostics
2026-02-05 04:44:34 +00:00
crosstyan
882d9348a6
docs(plan): start depth-extrinsic-verify and mark tasks 1-4 complete
2026-02-05 04:19:08 +00:00
crosstyan
9f4abc21c7
feat(cli): integrate depth verification into calibration workflow
2026-02-05 04:09:09 +00:00
crosstyan
f6b6db5999
feat(cli): add depth verification and refinement flags
...
- Add --verify-depth / --no-verify-depth flag
- Add --refine-depth / --no-refine-depth flag
- Add --depth-mode with choices: NEURAL, ULTRA, PERFORMANCE, NONE
- Add --depth-confidence-threshold flag
- Add --report-csv flag for optional CSV output
2026-02-05 03:48:56 +00:00
crosstyan
73782a7c2d
feat(aruco): add depth refinement module with bounded optimization
...
- Add extrinsics_to_params() and params_to_extrinsics() conversions
- Add depth_residual_objective() with regularization
- Add refine_extrinsics_with_depth() using L-BFGS-B
- Add scipy dependency for optimization
- Enforce bounds on rotation (±5°) and translation (±5cm)
2026-02-05 03:47:39 +00:00
crosstyan
78ebe9a32e
feat(aruco): add depth verification module with residual computation
...
- Add DepthVerificationResult dataclass for metrics
- Add project_point_to_pixel() for 3D to 2D projection
- Add compute_depth_residual() with median window sampling
- Add verify_extrinsics_with_depth() for batch verification
- Support confidence-based filtering
2026-02-05 03:45:20 +00:00
crosstyan
bd9ea1c795
feat(aruco): extend SVOReader with depth map support
...
- Add depth_mode parameter to SVOReader.__init__()
- Add enable_depth property
- Add depth_map field to FrameData dataclass
- Add _retrieve_depth(), get_depth_at(), get_depth_window_median() methods
- Update grab_all() and grab_synced() to retrieve depth when enabled
2026-02-05 03:43:21 +00:00
crosstyan
fbfed24fc3
docs(plan): mark aruco-svo-calibration plan as complete
...
All 8 tasks implemented:
- Task 1: pose_math.py - Transform utilities
- Task 2: marker_geometry.py - Parquet loader
- Task 3: detector.py - ArUco detection
- Task 4: svo_sync.py - Multi-SVO sync
- Task 5: pose_averaging.py - Robust averaging
- Task 6: preview.py - Visualization
- Task 7: calibrate_extrinsics.py - Main CLI
- Task 8: Unit tests (all passing)
All Definition of Done criteria met:
- CLI help works
- Marker validation works
- Tests pass (10/10)
- Preview mode functional
2026-02-05 03:37:27 +00:00
crosstyan
aa08bb9c9f
fix(aruco): add dist parameter and handle single-point case in compute_reprojection_error
...
- Add optional dist parameter to match test expectations
- Handle single-point case where squeeze() removes necessary dimension
- Fixes failing tests in test_pose_math.py
2026-02-05 03:35:09 +00:00
crosstyan
1025bcbd8a
feat(aruco): add pose math utilities for transform operations
2026-02-05 03:19:13 +00:00
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
crosstyan
d1e58245a6
test: add pytest suite for pose utilities
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-04 11:55:38 +00:00
crosstyan
69a3d1e8bf
Add extrinsic calibration CLI tool
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-04 11:44:49 +00:00
crosstyan
43e736faac
Add ArUco detection and pose estimation modules
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-04 11:44:37 +00:00
crosstyan
0c4e906dcf
Update dependencies for calibration tool
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-04 11:44:27 +00:00
crosstyan
071cf7f572
chore: update .gitignore and remove tracked pycache
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-04 11:44:19 +00:00
crosstyan
a0ad369211
python workspace
2026-02-04 15:42:08 +08:00