mavlink / mavros

MAVLink to ROS gateway with proxy for Ground Control Station
Other
847 stars 983 forks source link

Redundancy : Secondary link interface for UAS object as an option #947

Open Kiwa21 opened 6 years ago

Kiwa21 commented 6 years ago

Issue details

Feature : It would be fantastic to have the option to enable a second link to UAS for redundant links between OBC/GCS and UAV. Solution would be that UAS object exposes two link interfaces. For example, primary/master link could use TCP/UDP while secondary link use Serial (UART / RF radio). Question/Issue is how to merge these into a sngle stream to avoid receiving twice the same messages. Mavproxy is apparently already doing this. https://github.com/ardupilot/MAVProxy/blob/master/MAVProxy/modules/mavproxy_link.py#L235

MAVROS version and platform

Mavros: 0.23 ROS: Kinetic Ubuntu: 16.04

Autopilot type and version

[ X ] ArduPilot [ X] PX4

Kiwa21 commented 6 years ago

@vooon
https://github.com/Kiwa21/mavros/tree/iLink Here is a simple implementation of a node connecting 3 sources :

All 3 links are continuously read but slave link is prevented to sent to mavros when master link is active to avoid having all msg twice.

Can you make comments on this ? :)

More elegant solution would be to change the UAS class to accept a slave link but it's a lot more work and I'm not sure I have enough understanding of the whole code to attempt that. If you can guide me with a strategy, I can try though.