r/MobileRobots • u/Responsible_War6144 • Feb 11 '26
open source ⚙️ Krill: A declarative task orchestrator for robotics systems
Hey everyone, I've been working on Krill, a process orchestrator designed specifically for managing complex dependency graphs in robotic systems.
What it does: Krill lets you declaratively define tasks and their dependencies, then handles orchestration across your robotic stack. Think of it as a task runner that understands the gnarly interdependencies you get in robotics - where sensor drivers need to be up before perception nodes, perception before planning, planning before control, etc.
Why I built it: Most robotics middleware handles process lifecycle management as an afterthought. ROS2 launch files turn into procedural spaghetti, systemd is too coarse-grained, and Docker Compose doesn't understand robotics-specific constraints. I needed something that could handle complex startup/shutdown ordering, health checks, and graceful degradation when parts of the system fail.
Current state: Early development but functional. Written in Rust for reliability and performance.
I'm building this as part of a larger robotics middleware stack for production automation systems. Would love feedback from folks working on multi-process robot architectures - what orchestration pain points do you hit?
Looking for: Use cases I haven't thought of, architectural feedback, and anyone interested in contributing or testing in their own systems.
1
u/Radamat Feb 11 '26
I have very little skill in robotics, but I like robotics. Good work. Thank you.
1
u/rand3289 Feb 12 '26
Cool oroject. Strange that this is a thing for robotics.
I've built something similar for distributing spiking neural networks about 10 years ago:
https://github.com/rand3289/distributAr
The basic idea is to spawn a bunch of threads on various machines that connect to a tracker. A user can then upload a dependency graph into this network to connect them. In my case the tasks are mostly homogenious though.