open-sourcing provably safe distributed crazyflie swarm on-board controller #427
Replies: 1 comment 1 reply
-
This looks exciting and contributions are of course always welcome! I think adding this would benefit many other researchers to compare different methods fairly. The Crazyswarm switched completely to the official firmware. So the first & biggest step would be to get your firmware changes accepted upstream. The "closest" example might be an collision avoidance mode that @jpreiss contributed, see bitcraze/crazyflie-firmware#628. This also already includes the infrastructure to receive other robots' relative state (position and velocity). I don't think we have support for the goal position, yet. Note that the Crazyflies do have a peer-to-peer communication feature now as well, which might be suitable in your case. This can be used with the Crazyswarm of course, although it does make debugging harder, since the Crazyradio PA cannot be used for "sniffing" on the over-the-air packets. Once the firmware is ready, it would make most sense to directly integrate your Crazyswarm changes here, without the use of a fork or submodule (simply via a pull request). Looking forward to your contribution, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello crazyswarm developers,
In one of my latest research projects I have worked on provably safe on-board distributed feedback control for aerial swarms (this paper, video with method explained and hardware experiments).
The method is an Invariant Set Distributed Explicit Reference Governor (D-ERG) law which runs on-board the crazyflie firmware. The overall control law (i.e. a navigation and control layer) is very computationally efficient (runs at 500Hz) and ensures asymptotic stability and safety for higher order quadrotor dynamics under the presence of input saturation on each of the motors and collision avoidance constraints with static obstacles and dynamic agents (i.e. the other Crazyflies). For the collision avoidance the crazyflies share their position or applied reference position to coordinate safely. For more details, check out the paper and video. If you got inspired or if you plan to use it, please cite the paper.
If there is sufficient interest from the community I would like to open source the software for others to use and extend it further.
I developed and tested the software mid 2019 when I was on a research stay in the ROCC lab of University of Colorado Boulder. Unfortunately, I did not have the opportunity afterwards to access a sufficiently large vicon system to continue this project on the Crazyflies? Covid pushed me to work on bigger outdoor drone swarms now :-).
Back then, my software requested changes in:
So according to your documentation, you would propose me to go for option 2 where I make my own ROS package (since I also have changes in the firmware and that seems cumbersome with option 1)? What is the main difficulty if I would use option 1? I would like to have a solution to keep easily up to date with the original Crazyswarm, while I can still add other variants of my D-ERG to compare with.
Thanks in advance for the interest and suggestions!
I am open for future collaborations so you can always contact me. ;-)
Best,
Bryan Convens
Beta Was this translation helpful? Give feedback.
All reactions