Servers by jDrones

Introduction to drone Swarming with Ardupilot

I recently have been exploring and learning about ardupilot’s multi drone control features. I went ahead and put together a few video tutorials that go over the following

I know that there is a lot more you can do with swarming, but I believe the above tutorials can be a good jumping off point for people starting to experiment with swarming.

each of the above tutorials have accompanying text tutorials on my github aswell, which you can find here

  • Simulating Multiple Drones With Gazebo
  • connecting multiple Drones to QGroundcontrol
  • Controlling Multiple Drones With MAVROS

I hope the above information is helpful!

2 Likes

Very informative, thanks.
Please note I added a screen capture of your video to make the blog more catchy.

Very nice !
We have seen this some time ago and were speaking about adding some part on the wiki to help newcomers !

Some tips :

  • to set the SYSID_THISMAV, we have now a --sysid cmdline option !
  • QGC support multicast connection, so using --mcast will be simpler than manually setting a output to 0.0.0.0:xyz
  • with more than 3 vehicles, that is better to not load mavproxy for performance: --no-mavproxy cmdline
  • --add-param-file to append a parameter file on loading instead of modifying vehicleinfo.py

There is also a swarm launcher on sim_vehicle.py that need some documentation :stuck_out_tongue_winking_eye:

I am looking to simulate about 500 drones or even more, I know running these much of ardupilot SITL instances does not look feasible on same machine, my current system starting to getting laggy after starting 16 SITL instances and even after that on my system there doesn’t seem any platform which is capable of simulation of more than 16 drones properly, right now I am using MQTT to exchange messages across multiple python scripts each running their own SITL instances, but these messages starting to get lag when running multiple SITL instances, that’s why this lag messed up the swarming logics and other stuffs but on actual drones things work properly, is there any way around doing simulations of 500 or more drones ? One way I can guess is running multiple SITL instances on multiple systems and exchange MQTT messages across AWS EC2 and then receive MQTT messages coming from multiple systems on a single system which will be running simulation platform like gazebo, blender or something else, but this setup is not practical and too expensive

Servers by jDrones