dimensionalOS / dimensionalOS/dimos
Tech spec: e-stop module
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4.5k
- Forks
- 808
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 233
Description
E-stop module
Add a Rust latching e-stop. Any condition can be added to set it, and only a manual reset can clear it.
Current proposed conditions
- Manual stop:
trigger=truelatches the e-stop. - Humanoid fall detection: unreadable IMU orientation or tilt above the configured limit latches the e-stop.
Each condition owns one typed input and one small check; adding one means adding its file, input handler, and physical config.
control/estop/
├── conditions/manual.rs
├── conditions/humanoid_fall.rs
└── rust/src/main.rs
Manual reset
reset=true clears the latch only when every condition is healthy, and leaves the robot disarmed until a separate start command.
Embodiment defaults
Each embodiment owns one EStop-default bundle, and every root blueprint for that embodiment composes it.
g1_estop_defaults = EStop.blueprint(max_tilt_deg=45.0)
g1_root = autoconnect(g1_hardware, g1_estop_defaults)
Derived blueprints inherit the bundle from their root. autoconnect links imu, and estop must reach ControlCoordinator.set_estop().
Not run on hardware yet.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading control/estop/conditions/manual.rs, control/estop/conditions/humanoid_fall.rs, and rust/src/main.rs to trace the existing control entry points. Then inspect EStop.blueprint, the embodiment root blueprints, autoconnect, and ControlCoordinator.set_estop(). Done means the proposed conditions, manual reset, defaults, blueprint inheritance, and estop connection are implemented and hardware validation is addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- embedded-iot, robotics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100