UV Tracks service provides access to missions and reported states saved to the vehicle shadow by UV Hub server of SPL Global Telemetry System.
Actions
The following table provides a quick reference operations for the REST interface to the UV Tracks service. The description of each operation also includes the required HTTP method.
Action | HTTP Method |
---|---|
GetTracks | GET |
GetMissions | GET |
GetTracks
Returns reported positions and state information of the vehicle in GeoJSON format.
Syntax
GET /uvtracks/api/v1/tracks?sysid={SysId}&startTime={StartTime}&endTime={EndTime}&top={Top}
Request Parameters
Parameter | Data Type | Required | Description |
---|---|---|---|
SysId | Integer | No | System ID. The default value is 1. |
StartTime | Integer | No | Start of time range query as UNIX epoch time. |
EndTime | Integer | No | End of time range query as UNIX epoch time. |
Top | Integer | No | Maximum number of returned entries. The default value is 100. |
Response
GetTracks response body contains GeoJSON point feature collection with properties of HIGH_LATENCY MAVLink message.
Example
Request
GET /uvtracks/api/v1/tracks?top=1
Response
{
"features":[
{
"geometry":{
"coordinates":[
-117.1461032,
34.0733229,
469.0
],
"type":"Point"
},
"properties":{
"throttle":0,
"latitude":340733229,
"wp_num":0,
"roll":0,
"groundspeed":0,
"landed_state":0,
"gps_nsat":6,
"compid":0,
"temperature":16,
"pitch":198,
"wp_distance":0,
"gps_fix_type":3,
"longitude":-1171461032,
"failsafe":0,
"heading":19177,
"sysid":1,
"airspeed_sp":0,
"base_mode":89,
"msgid":234,
"airspeed":0,
"temperature_air":0,
"altitude_sp":0,
"battery_remaining":99,
"altitude_amsl":469,
"custom_mode":5,
"heading_sp":-16800,
"climb_rate":0,
"time":1538107742933
},
"type":"Feature"
}
],
"type":"FeatureCollection"
}
GetMissions
Returns mission plan of the vehicle.
Syntax
GET /uvtracks/api/v1/missions?sysid={SysId}}
Request Parameters
Parameter | Data Type | Required | Description |
---|---|---|---|
SysId | Integer | No | System ID. The default value is 1. |
Response
GetMissions response body contains mission plan in QGroundControl JSON format.
Example
Request
GET /uvtracks/api/v1/missions
Response
{
"fileType":"Plan",
"groundStation":"QGroundControl",
"version":1,
"geoFence":{
"polygon":[
],
"version":1
},
"mission":{
"cruiseSpeed":0,
"firmwareType":3,
"hoverSpeed":0,
"items":[
{
"type":"SimpleItem",
"autoContinue":true,
"command":22,
"doJumpId":2,
"frame":3,
"params":[
15.0,
0.0,
0.0,
0.0,
0.0,
0.0,
500.0
]
},
{
"type":"SimpleItem",
"autoContinue":true,
"command":16,
"doJumpId":3,
"frame":3,
"params":[
0.0,
0.0,
0.0,
0.0,
34.073726654052734,
-117.15079498291016,
500.0
]
}
],
"plannedHomePosition":[
34.072021484375,
-117.15083312988281,
474.0
],
"vehicleType":2,
"version":2
},
"rallyPoints":{
"version":1,
"points":[
]
}
}
Data Types
HIGH_LATENCY Message Properties
Field | Data Type | Description |
---|---|---|
base_mode | Integer | Bitmap of enabled system modes (see MAV_MODE_FLAG) |
custom_mode | Integer | A bitfield for use for autopilot-specific flags |
landed_state | Integer | The landed state (see MAV_LANDED_STATE enum). Is set to MAV_LANDED_STATE_UNDEFINED if landed state is unknown. |
roll | Integer | Roll (degrees) |
pitch | Integer | Pitch (degrees) |
heading | Integer | Heading (degrees) |
throttle | Integer | Throttle (percentage) |
heading_sp | Integer | Heading setpoint (degrees) |
latitude | Integer | Latitude (decimal degrees) |
longitude | Integer | Longitude (decimal degrees) |
altitude_amsl | Integer | Altitude above mean sea level (meters) |
altitude_sp | Integer | Altitude setpoint relative to the home position (meters) |
airspeed | Integer | Airspeed (meters/seconds) |
airspeed_sp | Integer | Airspeed setpoint (meters/seconds) |
groundspeed | Integer | Ground speed (meters/seconds) |
climb_rate | Integer | Climb rate (meters/seconds) |
gps_nsat | Integer | Number of satellites visible. If unknown, set to 255 |
gps_fix_type | Integer | GPS Fix type (GPS_FIX_TYPE enum) |
battery_remaining | Integer | Remaining battery (percentage) |
temperature | Integer | Autopilot temperature (degrees C) or battery voltage (volts) |
temperature_air | Integer | Air temperature (degrees C) from airspeed sensor or battery current (amp) |
failsafe | Integer | Failsafe (each bit represents a failsafe where 0=ok, 1=failsafe active (bit0:RC, bit1:batt, bit2:GPS, bit3:GCS, bit4:fence) |
wp_num | Integer | Current waypoint number |
wp_distance | Integer | Distance to target (meters) |
time | Integer | Report time (UNIX epoch time) |
QGroundControl Mission Plan
Field | Data Type | Description |
---|---|---|
fileType | String | Document type |
groundStation | String | GCS type |
version | Integer | document version |
geoFence | Object | GeoFence (not supported yet) |
mission | Object | Mission |
rallyPoints | Object | Rally Points (not supported yet) |
Errors
When operations fail, UV Tracks service returns HTTP status code greater or equal to 400 and an errors response in the following format.
{
"code":500,
"message":"Operation failed."
}