Adding Multidrone Deployment Feature with Zenoh-ROS2#74
Draft
N0OBSTUDENT wants to merge 62 commits into
Draft
Conversation
-barrier is shared via socket -barrier setup in configuration -barrier could start by any deploy node, or standalone barrier process started by host
…lti-drone racing configuration Other dimension problem fixed within deploy
…_drone_racing into zenoh_multidrone
51e8bc2 to
4a63d77
Compare
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>
… could not be compiled.
…T/lsy_drone_racing into zenoh_ros2_multidrone
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Multi-drone real race support via host-client ROS2 architecture
Host-client split: Replaces the monolithic
multi_deploy.pywith separatedeploy_host.pyand
deploy_client.pyscripts. 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
RealMultiDroneRaceEnvHostandRealMultiDroneRaceEnvClient—Gymnasium-compatible environments for the two sides of the host-client protocol.
ROS2 race communication layer: New
RaceCommNodeinros_race_comm.pyhandles allinter-process messaging (host-ready, race-start, client-state, clock calibration) using
lsy_race_msgsROS2 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
AttitudeControllerandAttitudeMPCsubclassesthat 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.tomlandmulti_level0.tomlupdated to fit the newarchitecture.