Skip to content

Enable onboard/offboard autonomy split, and upgrade robot container to ROS2 Jazzy#318

Merged
andrewjong merged 115 commits intomainfrom
aj/airstack-hardware
Mar 9, 2026
Merged

Enable onboard/offboard autonomy split, and upgrade robot container to ROS2 Jazzy#318
andrewjong merged 115 commits intomainfrom
aj/airstack-hardware

Conversation

@andrewjong
Copy link
Member

@andrewjong andrewjong commented Mar 9, 2026

What does this pull request do?

Enables onboard/offboard autonomy split. Spawns offboard containers for things to run on ground station. Sets up comms with DDS Router to communicate needed topics between onboard and offboard.

How did you implement it?

  • upgrade to ROS2 Jazzy for improved debugging tools around ROS2 services and actions
  • use DDS router
  • add new profiles for onboard and offboard
  • improved tmux experience; now airstack connect automatically connects to tmux, and tmux has window already split between autonomy and bash shell.

Testing

How do you run the tests?
To run the onboard/offboard split:

airstack up --profile desktop_split

What do the tests do?
Will spawn different containers on different ROS_DOMAIN_IDs.

Run airstack status to show the different containers and their ROS_DOMAIN_IDs
image

Can airstack connect onboard and airstack connect offboard in two windows to see the autonomy modules running separately. Onboard has local planning and behavior tree. Offboard has Global VDB Mapping and Random Walk planning.
image

What are the expected results of the tests?
Takeoff and global plan works exactly as expected with the normal version.
airstack up --profile desktop_split and airstack up will both run global planning, with the desktop_split having the autonomy split of course.

Did you update the docs (and where)?

Yes, under the robot tab
Docs are updated via mkdocs.yml and markdown files under docs/. It should render at localhost:8000 when you run docker compose up docs.

…e that's defined in .env to be used by default
@andrewjong andrewjong merged commit 80ffe25 into main Mar 9, 2026
@andrewjong andrewjong deleted the aj/airstack-hardware branch March 9, 2026 20:07
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