Robotics and Autonomous Systems - Air (RAS-A MAVLink Control Link Interoperability Profile v1.2

Set up an external Microhard radio and integrate it with Skydio X2D via MAVlink. 

[note]Contact Fedsupport@Skydio.us for additional information or help.[/note]

Required

  1. A Skydio X2D drone with software version 24.19.39 or above
  2. A Microhard development kit or other packaged radio (UxV SRM, Tomahawk MxC-Mini) that allows direct access to the user interface
  3. A device with access to the Internet
  4. The current Microhard admin username and password
    • Default is Username: Admin Password: Admin

Video

X2D supports RTP or RTSP video delivery. The vehicle's configuration determines which video protocol is used. Only RTP or RTSP can be active at one time.

RTP

RTSP video is also delivered using the AVC (H.264) codec, and additionally multiplexes KLV metadata into an MPEG-TS container.

eo.sdp

o=- 0 0 IN IP4 127.0.0.1  

s=No Name  

c=IN IP4 127.0.0.1  

t=0 0  

a=tool:libavformat 55.2.100  

m=video 5600 RTP/AVP 96  

a=rtpmap:96 H264/90000  

a=fmtp:96 packetization-mode=1  

ir.sdp

v=0  

o=- 0 0 IN IP4 127.0.0.1  

s=No Name  

c=IN IP4 127.0.0.1  

t=0 0  

a=tool:libavformat 55.2.100  

m=video 5900 RTP/AVP 96  

a=rtpmap:96 H264/90000  

a=fmtp:96 packetization-mode=1   

RTSP

RTSP video is also delivered using the AVC (H.264) codec and multiplexes KLV metadata into an MPEG-TS container. The video metadata section provides more details about the specific metadata included. There are separate endpoints for each camera stream using RTSP. The URIs to specify with many common clients, including ffplay, VLC, and gstreamer, are as follows:

rtsp://192.168.42.10:5554/subject (EO stream)

rtsp://192.168.42.10:6554/infrared (IR stream)

Video metadata

X2D includes video metadata following the MISB 0601 UAS Datalink Local Set standard when using the RTSP video option.

Tag # Name Description
1 Checksum Checksum used to detect errors within a UAS Datalink LS packet
2 Precision Time Stamp Timestamp for all metadata in this Local Set; used to coordinate with Motion Imagery
5 Platform Heading Angle Aircraft heading angle
10 Platform Designation Model name for the platform
12 Image Coordinate System Name of the image coordinate system used
13 Sensor Latitude Sensor latitude
14 Sensor Longitude Sensor longitude
15 Sensor True Altitude The altitude of the sensor as measured from Mean Sea Level (MSL)
16 Sensor Horizontal Field of View Horizontal field of view of selected imaging sensor
17 Sensor Vertical Field of View Vertical field of view of selected imaging sensor 
18 Sensor Relative Azimuth Angle Relative rotation angle of sensor to platform longitudinal axis
19 Sensor Relative Elevation Angle Relative elevation angle of sensor to platform longitudinal-transverse plane
20 Sensor Relative Roll Angle Relative roll angle of sensor to aircraft platform
21 Slant Range Slant range in meters
23 Frame Center Latitude Terrain latitude of frame center
24 Frame Center Longitude Terrain longitude of frame center
25 Frame Center Elevation Terrain elevation at frame center relative to Mean Sea Level (MSL)
59 Platform Callsign Call sign of platform or operating unit
82 Corner Latitude Point 1 (Full) Frame latitude for the upper left corner
83 Corner Longitude Point 1 (Full) Frame longitude for upper left corner
84 Corner Latitude Point 2 (Full) Frame latitude for upper right corner
85 Corner Longitude Point 2 (Full) Frame longitude for upper right corner
86 Corner Latitude Point 3 (Full) Frame latitude for lower right corner
87 Corner Longitude Point 3 (Full) Frame longitude for lower right corner
88 Corner Latitude Point 4 (Full) Frame latitude for lower left corner
89 Corner Longitude Point 4 (Full) Frame longitude for lower left corner
90 Platform Pitch Angle (Full) Aircraft pitch angle
91 Platform Roll Angle (Full) Aircraft roll angle
123 Number of NAVSATs in View Count of navigation satellites in view of platform

To configure the ground-side Microhard (MH)

The following settings need to be configured to establish an IP connection to the drone:

  • RF channel
  • Channel bandwidth
  • RF mode
  • Encryption type
  • Network ID
  • Encryption password
  • IP address
  • Netmask

Step 1 - Log in to the MH admin page (default IP 192.168.168.1) and navigate to the Network menu → LAN tab.

  • If this is a new MH, the default username and password will be Admin
  • After the first time logging in, you will need to change the password
MH1.png

Step 2 - Select Edit to display the LAN configuration options.

Key requirements for a valid configuration:

  • The MH IP address cannot be 192.168.42.1 or 192.168.42.10, both are used by the drone
  • If the netmask and LAN IP scheme are not set to 192.168.42/24, further configuration for routing will be required. The MH needs to be the interface used to reach 192.168.42.1 and 192.168.42.10.

Step 3 - Select Submit when you have configured the options

  • The MH will take approximately 90 seconds to complete the configuration
  • May need to be reached at a new URL (if it was changed)

MH2.png

This screenshot is an example of a valid LAN configuration.

To configure the drone Microhard

Step 1 - Power on the X2D

Step 2 - Attach a USB-C cable to the port on the top of the drone and connect the other end to a Mac or Linux computer, or a Windows PC with RNDIS support.

 

Step 3 - Navigate to the radio configuration page:

http://192.168.11.1/dev_index_free2fly.html#radio_config

  • You cannot view the Vehicle MH settings from this page only set them.

Step 4 - Populate the channel

  • Must include the full frequency, bandwidth, mode, network ID, and encryption password fields. All of these fields should match the MH configuration except for mode, which needs to be the inverse. The instructions for the ground-side MH set it to Slave, so the drone MH should be set to Master.

Step 5 - Select Configure RF settings 

  • You will receive a success notification
  • Configuration is now complete
MH4.png

Step 6 - Verify connectivity

  • Select the Wireless menu and the Status tab on the MH admin page
  • you will see a computer with signal bars Icon and see traffic transmitting
  • Once connected the Vehicle Flight Deck page should also be reachable at 192.168.42.10. 

Skydio MAVLink Connection Instructions

MAVProxy

MAVProxy is a flexible, lightweight MAVLink Ground Control Station, but it is not easy to use for those without prior MAVLink experience. Download and installation instructions are available at: https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html 

Step 1 - Install MAVProxy

Step 2 - Connect to the drone with the command: 

mavproxy.py --master=udpout <vehicle_ip>:15667

MH6.png

QGroundControl

QGroundControl (QGC) is a map-oriented MAVLink GCS driven primarily by a graphical user interface that does not require any direct MAVLink knowledge to operate.

Step 3 - Download QGC

Step 4 - Launch QGC and select the global settings Q icon at the top left of the home screen

Step 5 - Select the Application Settings tab from the menu

Step 6 - Select Comm Links and Add

Step 7 - Create a new link configuration

  • The name can be anything
  • Type must be UDP
  • Port must be 15667
  • Enter the IP address of the drone in the Server Addresses field and select Add Server

Snip - QGroundControl (2).png

After adding the server and clicking OK, QGC should connect to the drone and automatically take the user to a different screen where it complains about parameters missing from firmware. This is expected and does not need to be addressed for the X2D.

Click OK to dismiss the warning, then Back at the upper-left corner. From there, make sure that “Fly View” is selected from the left-hand side of the screen and QGC will present a map view of the area around the drone, with the drone depicted as a red arrow.

From this point, you should review the generic QGC documentation to learn the basics of platform tasking from Fly View: https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html


Note - QGC will currently only work with RTP streams.

 

 

Was this article helpful?