Multi-Vehicle testing with APM:Copter, Tracker and Mission Planner

For some tasks (like Search and Rescue and mapping) what you can do with one vehicle, you can probably do faster with multiple vehicles.  To test how well it works in practice I tested controlling three Pixhawk powered IRISs at the same time from the Mission Planner using an Antenna Tracker and six 3DR radios (jump here to skip the intro).  A transmitter was attached but I didn't use it.

This test was done with APM:Copter 3.3-rc3 (AC3.2.1 should also work), Antenna Tracker 0.7 (ver 0.6 will work but only for two vehicles), and the latest Mission Planner.

The setup was:

  • Each vehicle had a 3DR radio which was paired to a 3DR radio on the antenna tracker.  Before the test I connected to each 3DR radio individually once and set their NetIDs to be "23" for the first IRIS and 1st 3DR radio on the tracker, "24" for the second pair, "25" for the 3rd pair.
  • The 3DR radios on the tracker were plugged into the Tracker Pixhawk's Telem1, Telem2 and Serial 4/5 ports.
  • Changed the Tracker Pixhawk's SERIAL4_PROTOCOL to "1" to redefine the Serial 4/5 port as a MAVLink channel (this is the new piece that's not available in Tracker 0.6 but will be released very soon).
  • Connected the Tracker to my Windows PC using a USB cable

To control the vehicles, I:

  • plugged in all three vehicles, started MissionPlanner and connected to the tracker and voila!  All four vehicles (tracker + 3 IRISs) appeared on the map.
  • switched between vehicles using the MP's hidden "Ctrl-X" keystroke.  When you switch, the map re-centers on the new vehicle and the HUD, action tabs, etc all show information or allow control of that vehicle.
  • The MP's dataflash screen's Action tab can be used to arm the vehicles, and right-mouse-button-clicking on the map and selecting "Take-off" allowed me to get the vehicles into the air without touching the RC transmitter.
  • Used the action tab to change each vehicle into "AUTO" mode.  I could have done other things like drag them around individually in Guided mode too.

Of course, there were some issues (I ran the test 3 times, the video is from the 2nd time).  The biggest problem was that there was too much network traffic clogging up the 3DR radio links so sometimes the vehicle wouldn't respond quickly to the actions sent from the mission planner.  So in my first test it was hard to arm and take-off before the vehicle auto-disarmed.  We think the issue is that I didn't reduce the data rate and the antenna tracker combines all mavlink streams and then resends them out on all channels.  This means a lot of bandwidth is being wasted sending, for example, copter's #1's position to copter #2.  We probably want some vehicle information (like position) sent to all vehicles but other data (like IMU readings) isn't useful.

Another small issue was the Mission Planner would not let me send new commands until the last command was accepted/rejected by the vehicle.  Makes sense in a single vehicle environment, but at times I wanted to submit a command to each vehicle in rapid succession without waiting for the first vehicle's response.

If I was going to do this often, I would change the setup so that there was a single TX/RX for each vehicle to allow faster manual take-over of a single vehicle.  I could of course bring all three vehicles down by switching to stabilize and cutting the throttle, or I could switch a single vehicle to Loiter through the MP and then take-over with the RC but that's all a little clunky in an emergency situation.

I might also use RFD900 radios (or re-flash the 3DR radios with the RFD900 firmware) which would remove the need for the antenna tracker completely because it support multi-point communication.

So some more work to do including getting other GCSs like Droid Planner to handle multiple vehicles as well as the MP but still, I was pretty happy that it worked and I wanted others to know that this multi-vehicle style flying is possible.

Views: 7070

Comment by Jiro Hattori on May 3, 2015 at 8:52pm


This is great accomplishment of multiple copter swarming.

However, they are not really swarming. May be so, in correct terminology:-)

Are you going to try swarm each other after all ?

Comment by Hugues on May 3, 2015 at 10:38pm

That's impressive and something new (to me). Thx for the explanations.

Comment by Randy on May 3, 2015 at 10:47pm


Thanks!  Yes, I think you're right that this doesn't qualify as "swarming" but it's a step in that direction.  I guess it's officially "swarming" when the operator stops thinking/controlling the individual vehicles completely and just provides a high level task which the ground station or vehicle's collectively figure out how to breakdown into individual vehicle tasks.

Probably realistic next steps are:

  • someone will implement a follow-vehicle feature
  • some GCS developers will start taking advantage of the multi-vehicle functionality by designing an interface that makes it easy to control groups of vehicles.  It could be simple things like allowing the selecting of multiple vehicle right on the map and have actions (like arm, set-mode, move-here) apply to all of them.

Comment by Jiro Hattori on May 3, 2015 at 11:34pm

I am very much appreciate to look your crazy experiment. :-)

Emlid has introduced inexpensive RTK GPS module.

This real time kinetic may possible swarming.

Comment by earthpatrol on May 4, 2015 at 12:21am

Nice video. Have you considered using Paparazzi on your rotorcrafts? It's had these kinds of capabilities you are exploring for many years. When you start to build dynamic flight plans/behaviors, it's a well thought out architecture/system. Here's a live multi-aircraft demo they presented at Chaos Communication Congress in 2007.

I would recommend it for anyone exploring autonomous UAV.

Comment by Randy on May 4, 2015 at 12:56am


Thanks for the link.  I'm so wired into APM:Copter that I won't switch to Paparazzi at this point.  Still, it's good to see that others have been successful and maybe some lessons can be learned from what they've done.

Probably fair to say that as the vehicles become more and more reliable and people start using them commercially the multi-vehicle thing will become more popular.

Comment by Crashpilot1000 on May 4, 2015 at 1:44am

Great work! Try using MSI-Afterburner. It is a free overclocking (not needed...) utility but also has a very nifty recording function. I think it has some advantages over camstudio - just a hint.

Comment by earthpatrol on May 4, 2015 at 1:47am


Do you think the APM development is close to the types of capabilities presented in this video?

I have a need for reliable multi-uav operations and the only real and open-source solution I have found, so far, is Paparazzi. It's worked great for my autonomous vehicles. I'm open to looking at new platforms as long as they can perform at a similar level. When will APM have these kinds of capabilities?

Comment by u4eake on May 4, 2015 at 7:14am

Beautifull Randy!  And a very well made video and explanation.  Thanks for you great work!

Comment by Doug Walmsley on May 4, 2015 at 7:37am

@ Randy

Awesome video and flight demonstration.  I have a suggestion for your Radio to UAV control.


You mentioned in the video that the radio could control all three UAV's as the radio in bound to all of the receivers.  Could I suggest that in an emergency and with the radio preconfigured prior to flight that you use channel 5 multifunction switch to toggle which UAV you wish to control?

Example:  Program UAV 1 to position Low

                                UAV 2 to position Mid

                                UAV 3 to position High


If UAV 2 was acting outside of your comfort zone, then you could take control of it by selecting channel 5 to Mid and then select channel 7 to Land or Stabilized. 

This way you do have some level of manual control in the event of a rouge or unpredictable UAV in flight.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service