This repository contains the plant-facing simulation node of the Industrial Edge Labs stack. It runs a deterministic mass-spring-damper model, consumes the canonical FsmPayload contract used by the control layer, and stays aligned with the generated RK4 artifacts produced by Symbolic-to-Numeric Computation Pipeline.
- Consumes the canonical
FsmPayloadcontract emitted by the control layer. - Uses the same
FastRK4.hppsolver shape generated by Symbolic-to-Numeric Computation Pipeline. - Produces deterministic CSV telemetry for local analysis and dashboard experiments.
cmake -S . -B build-default
cmake --build build-default --config Releasecmake -S . -B build -DMPCS_ENABLE_ZEROMQ=ON
cmake --build build --config Release./build-default/Release/physics_engine --dry-run --ticks 2000 --target-hz 1000./build/Release/physics_engine --target-hz 1000 --fsm-endpoint tcp://127.0.0.1:5556python main.py
python plot_results.py- The default build is portable and does not require ZeroMQ.
- The runtime writes
simulation_results.csvwith deterministic columns for position, velocity, force, and FSM state. - The current control-plane integration still relies on the canonical
FsmPayloadcontract while the downstream plant bus remains under active evolution. - The external documentation for this node lives in docs-Industrial-Edge-Labs/multi-physics-simulation-and-control-system.