URSA - Unmanned and Robotics System Analysis - API documentation

The URSA API provides a mechanism to upload UAV related log files such as DJI DAT files from the aircraft and DJI Go files from mobile devices into the URSA environment. Once in the environment, the query API enables users to retireve information on aircraft, batteries, flights, and collections of aircraft, flights, and batteries.

The data exposed via this API represents a small subset of the available data and insights. Data from the visual positioning system, gimbal, and flight controls is also available. Insights into a particular flight are interesting, insights across multiple flights of different aircraft are possibly more interesting.

Coming Soon

Contact Information

Please contact dkovar@ursasecure.com for more information and demo API keys


API


Verson 1.0.0


Authentication

Authentication is via AWS Access Keys. We will assign each user or client an access key ID and a secret access key. Used together, these uniquely identify the client application to URSA.

API Keys coming soon.


Flight Information

Given a flightID, return information about that flight.

field description type
log_stats    
log_stats.start_timestamp Start time of the log in milliseconds since the epoch number
log_stats.log_record_count Number of records in the flight log number
log_stats.end_timestamp End time of the log in milliseconds since the epoch number
log_stats.log_duration Length of log in milliseconds number
battery    
battery.serial_number The onboard battery’s serial number string
battery.max_charge The onboard battery’s maximum charge during the flight string
battery.max_temp The onboard battery’s maximum temperature during the flight string
battery.min_charge The onboard battery’s minimum charge during the flight string
battery.min_temp The onboard battery’s minimum temperature during the flight string
battery.distanceTraveled TBD string
homepoint    
homepoint_location.latitude GPS latitude of homepoint in decimal degrees number
homepoint_location.altitude GPS altitude of home point in meters number
homepoint_location.longitude GPS longitude of homepoint in decimal degrees number
maxDistanceFromHomePoint TBD string
aircraft    
aircraft.controller_serial_number Serial number of the controller used to operate the aircraft string
aircraft.app_type Vendor’s identification number for the application controlling the flight number
aircraft.name Aircraft name as defined by the operator string
aircraft.device_activation Date aircraft activated in milliseconds since the epoch number
aircraft.battery_serial_number The onboard battery’s serial number string
aircraft.camera_serial_number The onboard camera’s serial number string
aircraft.serial_number Aircraft’s internal serial number string
aircraft.app_version Vendor’s version number for the application controlling the flight string
aircraft.type Vendor’s identification number for the type of aircraft number
aircraft.maxAltitude Maximum altitude acheived by the aircraft during this flight string
flight_stats    
flight_stats.avg_altitude Average altitude of the aircraft during flight number
flight_stats.start_timestamp Start time of the flight in milliseconds since the epoch number
flight_stats.max_sats Maximum number of GPS satellites in view during flight number
flight_stats.max_altitude Maximum altitude of the aircraft during flight number
flight_stats.num_pictures Number of pictures taken during flight number
flight_stats.avg_sats Average number of GPS satellites in view during flight number
flight_stats.min_sats Minimum number of GPS satellites in view during flight number
flight_stats.end_timestamp End time of the flight in milliseconds since the epoch number
flight_stats.average_speed Average speed of the aircraft during the flight number
flight_stats.distance_flown Distance flown during the flight in meters number
flight_stats.flight_duration Duration of the flight in milliseconds number

OR

https://xxxxxxxxx.execute-api.us-east-2.amazonaws.com/prod/flightinfo/157309862406b11a1f762ea46dfcebe867e26295bfa0b1904f4b7a400d7ff7

Battery Information

Given a batteryID, return information about that specific battery.

field description type
serial_number Printed serial number of the battery string
battery_manufacture_date Start time of the log in milliseconds since the epoch number
battery_int_serial Internal serial number of the battery string
life Vendor representation of remaining life in the battery number
charge_cycles Total number of times the battery has been charged number
total_capacity Total capacity of the battery in XXXXX number

OR

https://xxxxxxx.execute-api.us-east-2.amazonaws.com/prod/battery/0000072191

Aircraft Information

Given an aircraftID, return information about that specific aircraft.

field description type
serial_number Aircraft’s internal serial number string
controller_serial to be removed string
device_type Vendor’s identification number for the type of aircraft number
device_serial to be removed string
device_name Aircraft name as defined by the operator string
app_type Vendor’s identification number for the application controlling the most recent flight number
camera_serial The onboard camera’s serial number during the most recent flight string
device_activation Date aircraft activated in milliseconds since the epoch number
app_version Vendor’s version number for the application controlling the flight string

OR

https://xxxxxxx.execute-api.us-east-2.amazonaws.com/prod/battery/0000072191

Time Series Information

Flight Information - GPS Health

Given a flightID, return time series information about the number of GPS satellites available.

The result is a JSON object containing the following pairs:

field description type
min_sats minimum number of available satellites number
timestamp time in milliseconds since the epoch number

OR

https://xxxxxxxxx.execute-api.us-east-2.amazonaws.com/prod/flightinfo/157309862406b11a1f762ea46dfcebe867e26295bfa0b1904f4b7a400d7ff7/gpshealth

Flight Information - Flight Track

Given a flightID, return time series information about the location of the aircraft.

The result is a JSON object containing a series of groups of the following fields:

field description type
latitude GPS latitude of location in decimal degrees number
altitude GPS altitude of location in meters number
longitude GPS longitude of location in decimal degrees number
timestamp time in milliseconds since the epoch number

OR

https://xxxxxxxxx.execute-api.us-east-2.amazonaws.com/prod/flightinfo/157309862406b11a1f762ea46dfcebe867e26295bfa0b1904f4b7a400d7ff7/gpshealth

Flight - Battery Health

Given a flightID, return the battery attributes vs time for that flight.

File Upload

Uploads a UAV flight data file into URSA.

There are two upload methods, one for large files and one for smaller files. The small file (<10MB) method takes the file in the body. The large file method uses a more complex handshake involving S3.

Small file method:

</upload>

PUT

Required:

`None`

Optional:

https://xxxxxxxxx.execute-api.us-east-2.amazonaws.com/prod/upload?sha256=157309862406b11a1f762ea46dfaabe867e26295bfa0b1904f4b7a400d7ff7

Large file method:

TBD