Skip to main content

Module for handling UAV flight log data

Project description

FlightData

This repo is contains a set of datastructures and tools for handling flight log data.

Flight

The Flight object represents the data logged by a flight controller. The class wraps a pandas dataframe which is indexed on a single time axis. Where data is logged at different rates for different sensors it is mapped to the closest time index. Attribute access provides individual columns or sets of columns in the groups defined in Fields. Item access subsets the data in the time axis.

Table

The Table is the base type for most of the datastructures. It allows attribute access to individual columns. Attribute access is also available to return basic entities subclassed from the base type in the pfc-geometry package. For example in the state object table.x provides the x position, table.pos provides a Point representing the xyz position. columns that are not represented by geometric base types are considered to be labels for the data.

State

The State object is a table representing the position and orientation of the aircraft along with their derivatives, it can be constructed from a Flight or from scratch by extrapolating in lines or around arcs. Many tools are provided to manipulate the data. The position and attitude are in a reference frame (with Z up), the derivatives move with the aircraft in either the body, wind, stability or track (like the wind axis but with no wind) frame.

Ardupilot DataFlash log Parameters:

for reference (pulled from ardupilot github https://github.com/dronekit/ardupilot-releases/blob/master/libraries/DataFlash/DataFlash.h):

LOG_BASE_STRUCTURES:

FMT Type,Length,Name,Format,Columns

PARM TimeUS,Name,Value

GPS TimeUS,Status,GMS,GWk,NSats,HDop,Lat,Lng,RAlt,Alt,Spd,GCrs,VZ,U

GPS2 TimeUS,Status,GMS,GWk,NSats,HDop,Lat,Lng,RAlt,Alt,Spd,GCrs,VZ,U

GPA TimeUS,VDop,HAcc,VAcc,SAcc

GPA2 TimeUS,VDop,HAcc,VAcc,SAcc

IMU TimeUS,GyrX,GyrY,GyrZ,AccX,AccY,AccZ,ErrG,ErrA,Temp,GyHlt,AcHlt

MSG TimeUS

RCIN TimeUS,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14

RCOU TimeUS,Ch1,Ch2,Ch3,Ch4,Ch5,Ch6,Ch7,Ch8,Ch9,Ch10,Ch11,Ch12

RSSI TimeUS,RXRSSI

BARO TimeUS,Alt,Press,Temp,CRt

POWR TimeUS,Vcc,VServo,Flags

CMD TimeUS,CTot,CNum,CId,Prm1,Prm2,Prm3,Prm4,Lat,Lng,Alt

RAD TimeUS,RSSI,RemRSSI,TxBuf,Noise,RemNoise,RxErrors,Fixed

CAM TimeUS,GPSTime,GPSWeek,Lat,Lng,Alt,RelAlt,Roll,Pitch,Yaw

ARSP TimeUS,Airspeed,DiffPress,Temp,RawPress,Offset

CURR TimeUS,Throttle,Volt,Curr,Vcc,CurrTot,Volt2

ATT TimeUS,DesRoll,Roll,DesPitch,Pitch,DesYaw,Yaw,ErrRP,ErrYaw

MAG TimeUS,MagX,MagY,MagZ,OfsX,OfsY,OfsZ,MOfsX,MOfsY,MOfsZ,Health

MODE TimeUS,Mode,ModeNum

RFND TimeUS,Dist1,Dist2,Dist3,Dist4

IMU2 TimeUS,GyrX,GyrY,GyrZ,AccX,AccY,AccZ,ErrG,ErrA,Temp,GyHlt, AcHlt

IMU3 TimeUS,GyrX,GyrY,GyrZ,AccX,AccY,AccZ,ErrG,ErrA,Temp,GyHlt,AcHlt

AHR2 TimeUS,Roll,Pitch,Yaw,Alt,Lat,Lng

POS TimeUS,Lat,Lng,Alt,RelAlt

SIM TimeUS,Roll,Pitch,Yaw,Alt,Lat,Lng

EKF1 TimeUS,Roll,Pitch,Yaw,VN,VE,VD,PN,PE,PD,GX,GY,GZ

EKF2 TimeUS,Ratio,AZ1bias,AZ2bias,VWN,VWE,MN,ME,MD,MX,MY,MZ

EKF3 TimeUS,IVN,IVE,IVD,IPN,IPE,IPD,IMX,IMY,IMZ,IVT

EKF4 TimeUS,SV,SP,SH,SMX,SMY,SMZ,SVT,OFN,EFE,FS,TS,SS

TERR TimeUS,Status,Lat,Lng,Spacing,TerrH,CHeight,Pending,Loaded

UBX1 TimeUS,Instance,noisePerMS,jamInd,aPower,agcCnt

UBX2 TimeUS,Instance,ofsI,magI,ofsQ,magQ

UBX3 TimeUS,Instance,hAcc,vAcc,sAcc

GRAW TimeUS,WkMS,Week,numSV,sv,cpMes,prMes,doMes,mesQI,cno,lli

GRXH TimeUS,rcvTime,week,leapS,numMeas,recStat

GRXS TimeUS,prMes,cpMes,doMes,gnss,sv,freq,lock,cno,prD,cpD,doD,trk

SBFE TimeUS,TOW,WN,Mode,Err,Lat,Long,Height,Undul,Vn,Ve,Vu,COG

ESC1 TimeUS,RPM,Volt,Curr,Temp

ESC2 TimeUS,RPM,Volt,Curr,Temp

ESC3 TimeUS,RPM,Volt,Curr,Temp

ESC4 TimeUS,RPM,Volt,Curr,Temp

ESC5 TimeUS,RPM,Volt,Curr,Temp

ESC6 TimeUS,RPM,Volt,Curr,Temp

ESC7 TimeUS,RPM,Volt,Curr,Temp

ESC8 TimeUS,RPM,Volt,Curr,Temp

EKF5 TimeUS,normInnov,FIX,FIY,AFI,HAGL,offset,RI,meaRng,errHAGL

MAG2 TimeUS,MagX,MagY,MagZ,OfsX,OfsY,OfsZ,MOfsX,MOfsY,MOfsZ,Health

MAG3 TimeUS,MagX,MagY,MagZ,OfsX,OfsY,OfsZ,MOfsX,MOfsY,MOfsZ,Health

ACC1 TimeUS,SampleUS,AccX,AccY,AccZ

ACC2 TimeUS,SampleUS,AccX,AccY,AccZ

ACC3 TimeUS,SampleUS,AccX,AccY,AccZ

GYR1 TimeUS,SampleUS,GyrX,GyrY,GyrZ

GYR2 TimeUS,SampleUS,GyrX,GyrY,GyrZ

GYR3 TimeUS,SampleUS,GyrX,GyrY,GyrZ

PIDR TimeUS,Des,P,I,D,FF,AFF

PIDP TimeUS,Des,P,I,D,FF,AFF

PIDY TimeUS,Des,P,I,D,FF,AFF

PIDA TimeUS,Des,P,I,D,FF,AFF

PIDS TimeUS,Des,P,I,D,FF,AFF

BAR2 TimeUS,Alt,Press,Temp,CRt

BAR3 TimeUS,Alt,Press,Temp,CRt

VIBE TimeUS,VibeX,VibeY,VibeZ,Clip0,Clip1,Clip2

IMT TimeUS,DelT,DelvT,DelAX,DelAY,DelAZ,DelVX,DelVY,DelVZ

IMT2 TimeUS,DelT,DelvT,DelAX,DelAY,DelAZ,DelVX,DelVY,DelVZ

IMT3 TimeUS,DelT,DelvT,DelAX,DelAY,DelAZ,DelVX,DelVY,DelVZ

ORGN TimeUS,Type,Lat,Lng,Alt

RPM TimeUS,rpm1,rpm2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flightdata-0.2.1.tar.gz (30.8 kB view details)

Uploaded Source

File details

Details for the file flightdata-0.2.1.tar.gz.

File metadata

  • Download URL: flightdata-0.2.1.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for flightdata-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3d4829f8e316cab519f6b59dfe7f3e2344106a9f40c319bccbaa5f918a0faa8e
MD5 faef76f78cadc76faa2bc74bde24f174
BLAKE2b-256 d3e5eb47df60b720cf7a048273602af041204d469c9fd4da80a3e4dd4e6c3890

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page