Monday, February 27, 2017

Rotorcraft Analysis Recording (RoAR) format

The Rotorcraft Analysis Recording (RoAR) format is a JSON-based format for storing and sharing rotorcraft data from different sources.  This format is currently being used by the FAA for various R&D efforts.

RoAR

Rotorcraft Analysis Recording (RoAR) format is a JSON-based format for storing and sharing rotorcraft data from different sources.
This RoAR project on GitHub provides the specification of the RoAR format, as well as other supporting items such as scripts (e.g., RoAR to CSV, RoAR to FDR, RoAR to MongoDB etc.).
The RoAR JSON format is comprised of a Metadata section and a Flight Messages section that includes the rotorcraft recording data. The full version of the RoAR specification includes well over 200 parameters. Note that the coordinates of the flights positions are in GeoJSON format.

RoAR (Full) 0.1.1 JSON

View the full version of the RoAR 0.1.1 specification.

RoAR (Mini) 0.1.0 JSON

This is an abbreviated version of the RoAR format that can be used for more lightweight purposes.
{
  "isSimulation": true,
  "flightMetaData": {
    "rotorcraft": {
      "rotorcraftType": "Robinson",
      "rotorcraftModel": "R22",
      "rotorcraftYear": "1979",
      "aircraftRegistration": "SIMTAIL1"
    },
    "missionProfileName": "Training",
    "flightBox": {
      "upperRightLatitude": 39.46418,
      "bottomLeftLongitude": -74.59129,
      "bottomLeftLatitude": 39.46267,
      "safetyMargin": 0.01,
      "upperRightLongitude": -74.59083
    },
    "startTime": "1970-01-01T00:00:00.000Z",
    "endTime": "1970-01-01T00:01:01.025780Z",
    "startLocationLatitude": 39.46418,
    "endLocationLatitude": 39.46267,
    "startLocationLongitude": -74.59083,
    "endLocationLongitude": -74.59119,
    "startLocationGpsAltitudeMsl": 70.77993,
    "endLocationGpsAltitudeMsl": 0.0
  },
  "translationScript": {
    "script": "xfdr2roar.py",
    "translationDateTime": "2017-01-24T08:18:58.836468Z",
    "inputFile": "Data.fdr",
    "status": "Deployment",
    "version": "0.1.10 01-24-17"
  },
  "flightMessages": [
    {
      "flightState": {
        "position": {
          "roll": 130.6492,
          "trueHeading": 245.2587,
          "pitch": -19.08849
        },
        "location": {
          "type": "Point",
          "coordinates": [
            -74.59119,
            39.46267
          ]
        },
        "altitudes": {
          "radioAltitude": 0.0,
          "gpsAltitude": 0.0,
          "indicatedAltitude": 71.49762,
          "altimeterSetting": 29.92
        },
        "speeds": {
          "groundSpeed": 0.0,
          "indicatedVerticalSpeed": 16.16403,
          "indicatedAirspeed": 245.2587
        }
      },
      "times": {
        "gpsDateTime": "1970-01-01T00:01:01.025780Z",
        "timestamp": "1970-01-01T00:01:01.025780Z",
        "milliseconds": 18061.02578
      }
    }
  ]
}

Example XPlane flight visualized with the help of RoAR

This RoAR project contains a variety of support scripts. For example roar2sections.py generates flights on sectionals as shown here:
flight

No comments:

Post a Comment

Landing Spicoli in the Wind

Many know by now that I have three Blade 200 S RC helicopters in my fleet: Speck - for training Spot - for maintenance exercises Spicol...