Connect Mission Planner to multiple SkyVipers

Hello All,
A bit new to ardupilot and mission planner software. I am tasked with putting on a little show to display how multiple drones can be controlled at the same time. Trying to keep this cost effective and simple, so I saw that mission planner has the capability to set up a small swarm (following this guide http://ardupilot.org/planner/docs/swarming.html).

My questions is, how can I connect to multiple Sky Vipers over UDP? I have a few wifi adapaters I can have connected to the same machine and can connect to multiple Access Points from the drones this way. How do I get mission planner to connect to each one individually? Or is this even possible at all?

Any guidance would be greatly appreciated!
Thanks!

-Matt

PS forgot to mention, the sky viper I am using is the V2450GPS.

You want to use wifi station mode.
Here is a link to get you started
http://ardupilot.org/dev/docs/skyviper.html#wifi-tricks

That works just fine, but how do I get Mission Planner to recognize multiple MAVS over UDP? When I have multiple connected to the same AP and connect over UDP, it seems to just be picking up all traffic over UDP as one drone.

Did you ever figure it out?
I was just looking at this, but I must admit I am not sure how to translate that to the Sky Viper’s…

Hi Loic, Funny that I should first see this thread just 8 hours after you asked if an answer was ever found by Matthew (mdomanic). I was wondering the same thing. I have 3 Sky Viper Journeys that I would like to control with my own home-grown GCS (writing from the ground up in C#, a fledgling work-in-progress). I’m to the point now where I have 3 wifi adapters on my PC connected to the respective drones, receiving UDP packets (which I am able to make Mavlink sense of) but similar to Matthew’a case, all the remote IPEndPoint objects that I read off my UDP datagram socket say 192.168.99.1. I see no way to easily configure the drones to use a different subnet (e.g., change drones 2 and 3 to use 192.168.100.1 and 192.168.101.1 instead of 192.168.99.1). So my latest theory is that I may need to build my own ardupilot firmware .abin files with the subnet tweaks, and load those in my 2nd and 3rd drones. Disclaimer: I am not a drone expert. Very much a newcomer to this. On the bright side, I am a professional programmer with 30+ years of programming experience, including writing communication software (back in the 80’s, but concepts are still the same), so I am cheerfully (naively?) optimistic I can figure this out. If I have a break-thru, I’ll write back on this thread. Oh…I meant to add that I looked at your reference link regarding the Antenna Tracker. Seems like an overly complicated solution to me. I mean, each drone can report its GPS coordinate just fine, right? So all the GCS needs is to be able to distinguish between them. Hence, I’ll continue researching my custom firmware idea to tweak the subnet used by each Sky Viper.
Wish me luck.

2 Likes

Hey! Good to see there is interest in sorting it out !

Well, if you set the Vipers in “station mode” per the discussion above, then each viper will have a unique IP address, which sounds like it would help with your issue.
My two drones are set up so, I can sniff their IPs and check that they are indeed connected to my network. My issue is that Mission Planner is ingesting the entire UDP Traffic on the 14550 port and does not seem to be able to distinguish the Vipers.
Even though I also assign them different SYSID_THISMAV in the full parameter interface, which I thought might solve it … But did not

@OlivierB you’ve mentioned in a few places that you’ve successfully ran auto missions with multiple Vipers with MP – how do you get MP to recognize the different drones ? Hope you’re still around :sweat_smile:

Thanks all in advance

So I am now happily confused. I can see both Vipers on MP and same in QGroundcontrol … Not sure what I did, nothing I’d say besides a few power cycles which might have been needed for the mav sys IDs to take effect.
One of them is however showing a bad logging error during pre arm which I will have to look into later – dunno if it’s related or not.

Thanks Loic. Using the WIFI.TXT file in the root of the microSD card to connect the drones to my main wifi access point did the trick. They each picked up a unique IP via DHCP, so I’m seeing unique IP addresses for them in their respective UDP packets. Note: When creating the WIFI.TXT file, I found out the hard way that the drone won’t connect to my wifi if I don’t add a newline after the password in the file. For example: this worked…
STATION_SSID=mySSID
STATION_PASS=mypassword
But this did not work:
STATION_SSID=mySSID
STATION_PASS=mypassword

This worked:
STATION_SSID=mySSID
STATION_PASS=mypassword(newline)(eof)
But this did not work:
STATION_SSID=mySSID
STATION_PASS=mypassword(eof)

Glad to hear it’s working out :slight_smile:
As for the line ending, it might be a Windows vs Linux end of line thing. Olivier mentioned it in one of the station mode threads – I use notepad++ and set it to Linux end of line convention in settings.

1 Like

Is a laptop with wifi adapters the only hardware that can run multiple vehicles or is it possible with a phone/tablet and the app-based GCS like Tower or QGC? (@loicspace sounds like you are using QGC?)

Also how to safely have multiple vehicles simultaneously flying the same waypoints? Is there a parameter that assigns an offset dimension?
EDIT: At the top of this thread I see the answer: As @mdomanic notes, Mission Planner assigns leader/follower offsets in swarming mode:
http://ardupilot.org/planner/docs/swarming.html

Glad this topic continues.

I have started using both Mission Planner and QGC – emphasis on started – but both on laptop, I have not yet experienced with mobile platforms. However, I am not using any wifi adapters, I am using a router and connect my laptop and Sky Vipers to the network (with Station Mode) so I don’t see why it wouldn’t work just as well with a tablet.

As for the waypoints, if you want them to be flown as a swarm, as in, all drones at each waypoint at the same time, but collision free of course, then the swarm module should achieve that. I am actually interested to have my drones fly the same waypoints but with a time offset, like a patrol if you will.