Skip to content

Robot Harness kingfisher

Robot Harness

A harness for embodied intelligence.
From intent to action. Back with evidence.

Website · Quick start · Documentation · Examples · Contribute

Core on Ubuntu Nav2 on Humble

Robot Harness is building the execution foundation between agents, robot skills and the physical world. The aim is to make actions observable, interruptible and composable—and make their outcomes useful for the next decision and future improvement.

Its experimental C++17 Core starts with three questions: May this action run? May this result be used? Is the previous work settled enough to proceed? Applications choose goals; robot stacks retain control and device protection.

See it move

Recorded Harness cancellation and handoff in simulation

Watch cancellation and handoff · Full recordings & evidence

Actual TurtleBot3 / Nav2 simulation, viewed in RViz. A moves and is cancelled; Harness admits B only after A settles. A second clip shows why stopping alone does not establish settlement. Excerpts preserve playback speed; full originals and same-run receipts are available.

Build

Requires a C++17 compiler and CMake 3.16+. No model or robot is needed for this first run.

git clone https://github.com/xiao-yang25/robot-harness.git
cd robot-harness
cmake -S . -B build -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build build --parallel 2
(cd build && ctest --output-on-failure)
./build/robot_harness_normal_execution

Expect sums 29 and 61, with accepted results and settled work. Continue with two-step tasks, cancellation, or the Ubuntu container. Build troubleshooting. For robot motion, follow the Humble/Gazebo simulation tutorial, or use the local live viewer to watch navigation, cancellation and replacement.

Current scope

Available today Next
Execution authority, guarded results, cancellation and deadlines Contributor reproduction and further backend tutorials
Local workers, dependent tasks, replacement and provider rebinding Broader loss and recovery coverage
Limited Linux Host recovery; experimental Nav2 sequencing, moving cancellation, replacement and bounded loss isolation Broader robot skills and learning-based backends

M4 simulation scope is complete. The next integration step is first-device preparation: identify the native control and stop/loss boundaries, then validate them before controlled motion. Learning-based skill integration remains later work.

Early-stage software and simulation. No physical-robot integration or hard stop guarantee yet. Recovery requires a surviving, polled Owner; sequential navigation uses an exclusive simulator. The source-built simulation package provides the matching native fixture. See tested behavior and limits and the architecture. Learning and self-improvement are future directions, not current product capabilities.

Interfaces and compatibility

C++17 · ROS-independent Core · CMake installation and source-tree adapters/examples. APIs are evolving; there is no stable SDK/API/ABI or published release yet. Start with the architecture guide or backend integration.

Contributing

Report a bug, discuss an integration, or read CONTRIBUTING. The kingfisher is our preview identity and may evolve.

License

License and patch contribution terms are pending. See the licensing status before submitting patches or adopting the code.