Skip to content

MAVLink Client Enhancements (TCP/multi-MAV/system ID parameter)#34

Open
sapience-tudelft wants to merge 4 commits into
tudelft:mainfrom
sapience-tudelft:main
Open

MAVLink Client Enhancements (TCP/multi-MAV/system ID parameter)#34
sapience-tudelft wants to merge 4 commits into
tudelft:mainfrom
sapience-tudelft:main

Conversation

@sapience-tudelft

Copy link
Copy Markdown

This PR adds the following to the MAVLINK optitrack client:

  • Support for a TCP MAVLINK router target (--tcp flag)
  • Support for specifying a custom MAVLink System ID (--system_ids, in line with the streaming IDs flag)
  • Support for relaying multiple rigid bodies to the MAVLink server (specify a streaming ID, nose and system ID for each MAV; order of arguments must be consistent/is used for matching)

Our testing includes:

  • The test client + MAVLink-router + multiple px4 MAVs (though the MAVLINK router setup used will route all clients to all destinations - we had to reduce the publishing frequency to avoid saturation of our serial connection). Both MAVs receive the correct visual odometry data.
  • Optitrack + a single px4 MAV with a non-default system ID, visual odometry/local position works correctly.
  • TCP uplink over a local wired ethernet connection to a secondary device acting as a MAVLink router.

Furthermore, during testing, we noticed the existing UDP client always binds "locally", rather than running sendto directly if the IP is non-local. Could check for 0.0.0.0/127.0.0.1, add a flag, or something else. Likely out of the scope of this PR, but this would help make the bahavior between our TCP client and the existing UDP client/server more consistent.

@OpenUAS OpenUAS requested a review from tblaha March 19, 2026 08:08
@OpenUAS OpenUAS added the enhancement New feature or request label Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants