crosstyan
8f6aee7f22
fix: resolve basedpyright errors in aruco and tests
2026-02-07 09:00:07 +00:00
crosstyan
4fc8de4bdc
feat(calibrate): integrate multi-frame depth pooling with --depth-pool-size flag
2026-02-07 08:10:01 +00:00
crosstyan
dad1f2a69f
feat(calibration): robust depth refinement pipeline with diagnostics and benchmarking
2026-02-07 05:51:07 +00:00
crosstyan
ead3796cdb
feat(refine): replace L-BFGS-B MSE with least_squares soft-L1 robust optimizer
2026-02-07 05:23:28 +00:00
crosstyan
b33bb78d54
chore: track .vscode and .gitattributes
2026-02-07 04:30:34 +00:00
crosstyan
a80fd809a9
chore(config): update dependencies and gitignore
2026-02-07 04:17:03 +00:00
crosstyan
cdc4f9eec4
chore(metadata): update beads and sisyphus planning artifacts
2026-02-07 04:16:41 +00:00
crosstyan
ddb7054f96
docs(calibration): update findings summary and troubleshooting for depth refinement
2026-02-07 04:13:46 +00:00
crosstyan
fca04c47c1
docs(calibration): document auto-align and refine-depth workflows
2026-02-07 03:34:28 +00:00
crosstyan
446c02d42a
feat(calibration): add data-driven ground alignment with debug and fast iteration flags
2026-02-07 03:20:16 +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
crosstyan
e7c5176229
Add depth sensing sample and OpenGL tests
...
- Implemented a new sample application in main.cpp to capture and display a live 3D point cloud using the ZED SDK and OpenGL.
- Created test_opengl.cpp to demonstrate basic OpenGL rendering with depth testing using two triangles.
- Added test_points.cpp to visualize a grid of colored points in OpenGL, showcasing point rendering capabilities.
2026-01-20 10:31:35 +08:00
crosstyan
61ad8346af
Add .gitignore, update Dockerfile, and enhance README with udev rules and calibration instructions
2026-01-19 16:18:15 +08:00
crosstyan
4e8a4a5579
init
2026-01-19 12:18:03 +08:00