Skip to content

Feature/houston -- an alternative process manager#609

Draft
mvukov wants to merge 37 commits into
mainfrom
feature/houston
Draft

Feature/houston -- an alternative process manager#609
mvukov wants to merge 37 commits into
mainfrom
feature/houston

Conversation

@mvukov

@mvukov mvukov commented Feb 14, 2026

Copy link
Copy Markdown
Owner

I am exploring, for a while now, how to use an alternative to the native ROS process mgmt. Some stuff that bothers me with the current situation:

  • It's in Python. I have to drag along the interpreter. Write unit/integration tests for launch stuff (yes, I do that).
  • Configuration: overrides, the launch mechanism dumping things to tmp files -- would like to have all final params in a single file.
  • Have deterministic order of starting up and tearing down of the nodes. When using iceoryx (classic) this is handy. Iceoryx has a daemon that should be started first and be torn down last; it has a built in monitoring functionality that can interfere with signal handlers of ROS nodes and screw that up.

I kinda think that most of the deployment checks can be done in build time -- if a launch target builds it should mean that the launch config is OK. No surprises.

Searching the web the best thing I could find is https://github.com/malyn/groundcontrol/tree/main. I imported it here and patched since build broke with a newer rust compiler.

Demonstration

cd examples

bazel run //chatter:houston_chatter

# OR

bazel run //zero_copy/houston:zero_copy_houston --@cyclonedds//:enable_shm=True -c opt

The zero-copy example is a bit more complicated, and therefore more interesting.

One of the nice things about groundcontrol is that the processes are torn down in the reverse order.

This is very very early prototype but hopefully illustrates ideas.

Pay attention that all Python launch stuff is basically executed during build in exec config. No Python dependencies in runtime at all (at least for those two examples). Didn't want to invent a DSL nor use YAML or something third. Deployment composition is done in Python for convenience.

@ahans @lalten @rdelfin WDYT?

@mvukov mvukov changed the title Feature/houston Feature/houston -- an alternative process manager Feb 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant