Skip to content

Adding Multidrone Deployment Feature with Zenoh-ROS2#74

Draft
N0OBSTUDENT wants to merge 62 commits into
learnsyslab:devfrom
N0OBSTUDENT:zenoh_ros2_multidrone
Draft

Adding Multidrone Deployment Feature with Zenoh-ROS2#74
N0OBSTUDENT wants to merge 62 commits into
learnsyslab:devfrom
N0OBSTUDENT:zenoh_ros2_multidrone

Conversation

@N0OBSTUDENT
Copy link
Copy Markdown
Collaborator

@N0OBSTUDENT N0OBSTUDENT commented Mar 27, 2026

Multi-drone real race support via host-client ROS2 architecture

  • Host-client split: Replaces the monolithic multi_deploy.py with separate deploy_host.py
    and deploy_client.py scripts. The host manages all Crazyflie workers and race coordination;
    each client runs on its own compute unit and controls a single drone.

  • New environment classes: Adds RealMultiDroneRaceEnvHost and RealMultiDroneRaceEnvClient
    Gymnasium-compatible environments for the two sides of the host-client protocol.

  • ROS2 race communication layer: New RaceCommNode in ros_race_comm.py handles all
    inter-process messaging (host-ready, race-start, client-state, clock calibration) using
    lsy_race_msgs ROS2 message types.

  • Clock synchronisation: Clients calibrate their clock offset against the host via a ROS2
    service before the race starts.

  • Multi-drone controller wrappers: Adds AttitudeController and AttitudeMPC subclasses
    that slice the per-drone observation from the joint multi-drone obs dict using the drone's rank.

  • Unknown observations default to NaN: Considering that other drones could be out of mocap range, set the default observation to np.nan

  • Config updates: multi_level2.toml and multi_level0.toml updated to fit the new
    architecture.

N0OBSTUDENT and others added 27 commits April 21, 2026 03:33
And use only one stop event for now
Now the setup_mocap.sh script clones an external repository including the message at https://github.com/rducrist/drone_racing_msgs
Co-authored-by: Copilot <copilot@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants