ArduPilot / ArduPilot/MAVProxy

Using high and low latency links in parallel

Open
#1,014 10 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
595
Forks
773
Avg merge
2d 6h
Merged PRs (30d)
18

Description

Hey!

I am trying to use two links at the same time on my UAV:
* Low latency via a 4G cellular connection
* High latency via an Iridium sat connection

Basically referring to the explicit handover section in the MavLink documentation:
"If using this model the GCS and autopilot should be able to work with a mixed regime of low and high latency links. Specifically, this means that they should be able to handle the case where the same message is sent over different both channels."

But using it all the time since usually I do not know when I will leave the low latency cellular coverage area.

I also read the whole discussion you guys had here:
https://github.com/ArduPilot/ardupilot/pull/19882

My problem is now that MavProxy can only set the high latency mode in general, so on both links I add. There is no ability to set high latency exclusively for one link.

I know there is a MAVLink CMD to enable/disable the high latency data stream but for redundancy and safety purposes I wanted to have both links active at the same time, transmitting data. For me this avoids the issue of having longer communication outages until the MavLink CMD to enable the high latency has reached the UAV and the first HIGH_LATENCY2 packet came back to the GCS (which on Iridium might take 6-7 seconds round trip).

I wanted to give MavProxy a try since the implementation for dual link and high latency in QGroundControlStation is there but the GUI itself has some issues properly displaying the information and enabling/disabling its buttons depending on if it gets a low latency or high latency packet in parallel.

Thanks for any input!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how MAVProxy represents high-latency mode and how its dual-link handling applies that setting. Compare the behavior with the explicit handover model described in the issue and the linked ArduPilot discussion; done means low-latency and high-latency traffic can remain active on separate links without requiring a delayed mode command.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.