Developer

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.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • @Randy

    Thanks for the video. It's exactly the motivation I needed to get back to the bench.

    Last spring I setup my Tx to control both copter and rover simultaneously. With the rover on my right stick,(throttle/steer) I assigned pitch/roll to the left stick, yaw on the slider and throttle on a knob. A 3-position switch was utilized the give me '2-stick' control of either vehicle. With mid-pos for controlling both. Still had room for separate mode switches, and ch.6&7&8

    I didn't manage to run any dual missions, it was more of a lesson in concentration. Retraining my thumbs with new stick positions, and attempting to simultaneously operate both vehicles line of sight.

    Made an attempt to connect both vehicles to MP using a USB hub last year. There wasn't much documentation at the time, as the features had just been added to MP. I changed the sysid, both APMs were connected, but I could only get correct info from the first vehicle. Seems the ctrl-X command may have been the missing piece of the puzzle. Guess it's time to try that again.

    I was actually reading up on multi-point sik Saturday morning. It would use far less radios. I don't think I'll flash until I fully understand how everything works.

    Back to the bench,

    Mike
  • @ 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.

  • 100KM

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

  • @Randy,

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

    https://youtu.be/Z7XgRK7pMoU

    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?

  • 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.

  • Developer

    @earthpatrol,

    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.

  • 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. 

    https://youtu.be/e3wXIHdArQ0?t=12m58s

    I would recommend it for anyone exploring autonomous UAV.

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

    Emlid has introduced inexpensive RTK GPS module.

    This real time kinetic may possible swarming.

  • Developer

    Hattori-san,

    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.

  • MR60

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

This reply was deleted.