Connecting multiple MAVProxy instances

So… Can multiple Raspberry Pis running MAVProxy be connected, so that MAVLink messages can be shared between them?

What sort of messages did you want to share? What’s your overall goal?

Having multiple antenna trackers with individual pilots sharing positional data of the UAVs in the air.

aka: FPV tandem flights knowing where your buddies are.

Just really need positional data to be shared, but others might have more uses…

If this can already be done, someone point me in the direction

Thanks!!

OK, so how I envision this working, sorry for the crude graphics

UAV1 <-telemetry radio1-> MAVProxy1 <-some link -> MAVProxy2 <-telemetry radio2-> UAV2

That would allow 2 to connect, but ideally multiple connects would be nice. My thinking is that if we can already display other aircraft from ADS-B, how difficult would it be to add “friendly” aircraft to the mix. I still need to then have someone code in the feature to an OSD, but getting the positional data of your friends into the system is a good start.

Ahh, I see now.

MAVProxy can display adsb data, but only for any adsb recievers connected to the flight controller. It can’t grab adsb data from seperate radio links.

You would need to write a custom module for MAProxy to have an overlay of other aircraft on your map.

[quote=“stephendade, post:5, topic:21552, full:true”]
Ahh, I see now.

MAVProxy can display adsb data, but only for any adsb recievers connected to the flight controller. It can’t grab adsb data from seperate radio links.[/quote]

But it’s not just ADSB data, it would also be the position data of the pilots I was flying with as well.

I was thinking the same, just wasn’t sure if a solution already existed or not. What I think I need to do to make it work is have a module in MAVProxy that communicates with another MAVProxy instance (on the other pilot’s system) and have them send MAVLink data back and forth. I know MAVProxy can connect with several Ground Stations, but can it connect to other MAVProxys??

Rusty

MAVProxy is a ground station itself. It can forward telemetry to other ground stations though - useful when you want mutiple people/GCS monitoring a single UAV.

There’s some experimental support for multiple UAV’s with MAVProxy, based on using different SYSID’s for each UAV. It’s not been well tested though. By the sound of it, you just want to monitor the location of other UAV’s - some you’ll want a module that takes in telemetry data and displays it on the map as other UAV’s.

Exactly, but I think it would probably be more like Multiple MAVProxies sharing positional data

Do you have a link to this discussion of multiple UAVs on MAVProxy?

There wasn’t a discussion and there’s not really any documentation on this feature. It was a last-minute feature that we added for the 2016 UAV Challenge to manage 2 UAV’s. It’s not been thoroughly tested.

There’s now some documentation at http://ardupilot.github.io/MAVProxy/html/getting_started/multi.html

OK, thanks, I’ll look it over.

OK, I looked over the documentation. Looks like something I can use, however what the docs show is 2 UAVs monitored by 1 MAVProxy. In my case I will have more than 1 MAVProxy. Each pilots UAV will communicate with a separate ground station, and each ground station will have a MAVProxy running.

I was also looking trough the code for MAVProxy and have a question. Can MAVProxy output to two separate outputs, say using Wifi on /ttyUSB1 and the RasPi serial port /ttyS0 with different data in each connection? Could this be done within a module?

It can via filtering on the SYSID. Assuming each UAV has a different SYSID, MAVProxy can send out the telemetry stream from a single UAV to a particular connection.

Could the same be accomplished using different ‘Net IDs’ on the telemetry radios?

On edit, and thinking out loud:
At some point the Mavlink messages from the multiple UAVs will mix, and likely need a way to ID them separately…

No, that’s a different system.

That’s what the SYSID parameter is for

So, after having spent a couple days poking around the MAVProxy code and the mavproxy_adsb.py module for it. I think I can repurpose a lot of the ADS-B module code to accomplish what I would like to do. Even thought about adding the tandem flight functionality to the ADS-B module, but didn’t know how well that would work, and the Mavlink messages for each type of craft (‘threats’ in ADS-B, where they would be ‘friendly’ when flying tandem) would have different info in them, so I think I will attempt to write a new module. I say attempt as I will be learning python, and the finer points of using Github as well, so more like a learning cliff then a curve :astonished:

So to recap what I am trying to do…
I am trying to add functionality to allow 2 completely independent UAV systems, (separate pilot, separate vehicles, separate ground station(s)) to share each other’s positional data, and then have that shown on the other pilots OSD/Ground station. Basically allowing two recreational FPV pilots to fly a tandem flight and be able to see where their buddy is, in relation to their own aircraft.

Rusty