refactor: things
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
|
||||
## [2026-02-09] Dependency Update
|
||||
- Encountered a TOML parse error during the first `edit` attempt due to incorrect escaping of quotes and newlines in the `newString`. Fixed by providing the literal string in a subsequent `edit` call.
|
||||
|
||||
## [2026-02-09] Final Integration
|
||||
- No regressions found in the full test suite.
|
||||
- basedpyright warnings are mostly related to missing stubs for third-party libraries (h5py, open3d, plotly) and deprecated type hints in older Python patterns, which are acceptable given the project's current state and consistency with existing code.
|
||||
|
||||
## Working Tree Cleanup
|
||||
- Restored deleted legacy plan files in .sisyphus/plans/
|
||||
- Restored unintended modifications to apply_calibration_to_fusion_config.py
|
||||
- Restored unintended modifications to ../zed_settings/inside_shared_manual.json
|
||||
- Verified that implementation files (aruco/ground_plane.py, calibrate_extrinsics.py, refine_ground_plane.py, tests/test_ground_plane.py) remain intact.
|
||||
## Issues Encountered
|
||||
- Initial implementation placed `ground_refine` directly under camera nodes, which could break schema-strict consumers like `calibrate_extrinsics.py` output expectations.
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
## [2026-02-09] Dependency Update
|
||||
- Added `open3d` and `h5py` to `pyproject.toml`.
|
||||
- Successfully synced with `uv sync`.
|
||||
- Verified imports:
|
||||
- open3d: 0.19.0
|
||||
- h5py: 3.15.1
|
||||
|
||||
## [2026-02-09] Ground Plane Detection Implementation
|
||||
- Implemented `unproject_depth_to_points` using vectorized NumPy operations for efficiency.
|
||||
- Implemented `detect_floor_plane` using Open3D's `segment_plane` (RANSAC) with deterministic seeding.
|
||||
- Implemented `compute_consensus_plane` with weighted averaging and normal alignment to handle flipped normals.
|
||||
- Implemented `compute_floor_correction` using `rotation_align_vectors` for minimal rotation (preserving yaw) and vertical translation.
|
||||
- Added comprehensive tests covering edge cases (outliers, bounds, identity transforms).
|
||||
- Refactored to use `FloorPlane` and `FloorCorrection` dataclasses for structured outputs.
|
||||
- Fixed test logic for `compute_consensus_plane` to correctly account for normal normalization effects on `d`.
|
||||
- Verified type safety with `basedpyright` (0 errors, only expected warnings).
|
||||
|
||||
## [2026-02-09] Ground Plane Diagnostic Visualization
|
||||
- Implemented `create_ground_diagnostic_plot` using Plotly `go.Figure`.
|
||||
- Visualization includes:
|
||||
- World origin axes (RGB triad).
|
||||
- Consensus plane surface (semi-transparent gray).
|
||||
- Per-camera floor points (scatter3d).
|
||||
- Camera positions before (red) and after (green) refinement.
|
||||
- Added `save_diagnostic_plot` for HTML export.
|
||||
- Verified with smoke tests in `tests/test_ground_plane.py`.
|
||||
|
||||
## [2026-02-09] Final Integration
|
||||
- Full test suite (90 tests) passed successfully.
|
||||
- basedpyright verified on new modules (depth_save.py, ground_plane.py, refine_ground_plane.py).
|
||||
- README updated with Ground Plane Refinement workflow.
|
||||
|
||||
## [2026-02-09] Documentation Hardening
|
||||
- Updated `docs/calibrate-extrinsics-workflow.md` with detailed implementation notes.
|
||||
- Documented the HDF5 depth data schema for reproducibility.
|
||||
- Clarified the "Consensus-Relative Correction" strategy vs. absolute alignment.
|
||||
- Added explicit tuning guidance for `stride`, `ransac-dist-thresh`, and `max-rotation-deg` based on implementation constraints.
|
||||
|
||||
## Schema Compatibility Fix
|
||||
- Moved per-camera ground refinement diagnostics to `_meta.ground_refined.per_camera` to maintain compatibility with consumers expecting only `pose` in camera nodes.
|
||||
- Preserved `<camera_sn>.pose` contract.
|
||||
Reference in New Issue
Block a user