Feature: Depth configuration parity with the reference camera driver
User Story
As an operator configuring the camera,
I want the depth modes and confidence filters the reference driver uses,
so that depth quality on the robot matches what perception was tuned against.
Log the resolved depth mode, both thresholds and the depth range at startup.
Document every variable and its default in README.md.
Acceptance Criteria
Each of the six depth modes can be selected and is reported at startup.
An unknown depth mode exits non-zero and prints the accepted values.
Both confidence thresholds reach sl::RuntimeParameters.
Defaults are 1080, 200 mm and 600 mm.
README.md matches the implemented defaults.
Notes
Current behaviour: parse_depth_mode in src/zed/camera.cc returns NEURAL for any
unrecognised string, so a typo silently changes depth quality. NEURAL_PLUS, NEURAL_LIGHT and ULTRA are not reachable. Neither confidence threshold is set, so the
SDK defaults apply.
Reference values from littlehand/cameras/zed.py: ZED_DEPTH_MODES maps NEURAL, NEURAL_PLUS and NEURAL_LIGHT; confidence_threshold=60; texture_confidence_threshold=100; resolution=1080; depth_min_mm=200; depth_max_mm=600. The two thresholds discard the depth the SDK is least certain of.
# Feature: Depth configuration parity with the reference camera driver
## User Story
As an operator configuring the camera,
I want the depth modes and confidence filters the reference driver uses,
so that depth quality on the robot matches what perception was tuned against.
## Requirements
- `ZED_DEPTH_MODE` accepts `NEURAL`, `NEURAL_PLUS`, `NEURAL_LIGHT`, `PERFORMANCE`, `QUALITY`, `NONE`.
- An unrecognised `ZED_DEPTH_MODE` is a startup error listing the accepted values, not a silent fallback.
- Add `ZED_CONFIDENCE_THRESHOLD`, default `60`, applied to `sl::RuntimeParameters::confidence_threshold`.
- Add `ZED_TEXTURE_CONFIDENCE_THRESHOLD`, default `100`, applied to `sl::RuntimeParameters::texture_confidence_threshold`.
- Change defaults: `ZED_RESOLUTION=1080`, `ZED_DEPTH_MIN_MM=200`, `ZED_DEPTH_MAX_MM=600`.
- Log the resolved depth mode, both thresholds and the depth range at startup.
- Document every variable and its default in `README.md`.
## Acceptance Criteria
- [ ] Each of the six depth modes can be selected and is reported at startup.
- [ ] An unknown depth mode exits non-zero and prints the accepted values.
- [ ] Both confidence thresholds reach `sl::RuntimeParameters`.
- [ ] Defaults are 1080, 200 mm and 600 mm.
- [ ] `README.md` matches the implemented defaults.
## Notes
Current behaviour: `parse_depth_mode` in `src/zed/camera.cc` returns `NEURAL` for any
unrecognised string, so a typo silently changes depth quality. `NEURAL_PLUS`,
`NEURAL_LIGHT` and `ULTRA` are not reachable. Neither confidence threshold is set, so the
SDK defaults apply.
Reference values from `littlehand/cameras/zed.py`: `ZED_DEPTH_MODES` maps `NEURAL`,
`NEURAL_PLUS` and `NEURAL_LIGHT`; `confidence_threshold=60`;
`texture_confidence_threshold=100`; `resolution=1080`; `depth_min_mm=200`;
`depth_max_mm=600`. The two thresholds discard the depth the SDK is least certain of.
cristhian
added this to the v0.2.0 Pure camera source on dora 1.0 milestone 2026-09-04 20:35:30 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Feature: Depth configuration parity with the reference camera driver
User Story
As an operator configuring the camera,
I want the depth modes and confidence filters the reference driver uses,
so that depth quality on the robot matches what perception was tuned against.
Requirements
ZED_DEPTH_MODEacceptsNEURAL,NEURAL_PLUS,NEURAL_LIGHT,PERFORMANCE,QUALITY,NONE.ZED_DEPTH_MODEis a startup error listing the accepted values, not a silent fallback.ZED_CONFIDENCE_THRESHOLD, default60, applied tosl::RuntimeParameters::confidence_threshold.ZED_TEXTURE_CONFIDENCE_THRESHOLD, default100, applied tosl::RuntimeParameters::texture_confidence_threshold.ZED_RESOLUTION=1080,ZED_DEPTH_MIN_MM=200,ZED_DEPTH_MAX_MM=600.README.md.Acceptance Criteria
sl::RuntimeParameters.README.mdmatches the implemented defaults.Notes
Current behaviour:
parse_depth_modeinsrc/zed/camera.ccreturnsNEURALfor anyunrecognised string, so a typo silently changes depth quality.
NEURAL_PLUS,NEURAL_LIGHTandULTRAare not reachable. Neither confidence threshold is set, so theSDK defaults apply.
Reference values from
littlehand/cameras/zed.py:ZED_DEPTH_MODESmapsNEURAL,NEURAL_PLUSandNEURAL_LIGHT;confidence_threshold=60;texture_confidence_threshold=100;resolution=1080;depth_min_mm=200;depth_max_mm=600. The two thresholds discard the depth the SDK is least certain of.