File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -384,6 +384,22 @@ mechanically, not by discipline.
384384 teardown. Honest gaps: planning only, no time parameterization (adapters
385385 skipped), ~ 3.5 s parse bringup (heaviest kit). Docs: ` docs/moveit_kit/ ` .
386386
387+ - ** control_kit spike (2026-07-11, GO; 60fffc5, merged 697ab31):** the
388+ exposure-note's ⚠️ UNPROVEN item is PROVEN — a Python class deriving the
389+ real ` controller_interface::ControllerInterface ` runs inside a real
390+ in-process ` controller_manager ` , driven by the real read→update→write loop
391+ against mock hardware. Route A (cross-inheritance + ` add_controller `
392+ injection via a C++-built no-op-deleter shared_ptr) shipped — no compiled
393+ bridge .so needed; Route B documented as the spawner-by-name fallback +
394+ L2 graduation path. Numbers: update dispatch 2.57 µs (vs 0.85 µs C++);
395+ 100 Hz rock-solid (0 late/800); 1 kHz achieved with occasional
396+ GC-pause deadline misses (max 3.5 ms) → honest verdict: prototyping /
397+ soft-RT, not hard-RT (GC/GIL pauses, not per-call cost). Key env finding:
398+ ros2_control does NOT hit MoveIt's generate_parameter_library Cling wall —
399+ controller_manager.hpp parses cleanly; the full CM is directly reachable.
400+ Nav2 plugin injection would reuse this pattern verbatim where an
401+ add/inject API exists. Docs: ` docs/control_kit/ ` .
402+
387403## Risks & mitigations
388404
389405- ** conda-forge cppyy behaves differently from the pip wheel** (cling resource
You can’t perform that action at this time.
0 commit comments