At Organic Navigation we use reference data sets for both the development and testing of our software and algorithms.  We are making the best of this data accessible through a Python package named ONavData. Read more about the motivation in this post: Reference Data Sets or simply continue reading on how to get started with ONavData.

Installation

Installation is available using the command line pip utility.


>> pip install --upgrade onavdata

Quick Start

List Data Sets Available


>> import onavdata
>> onavdata.print_shortnames()
	 2011 UMN-UAV GPSFASER1
	 2012 UMN-UAV FASER5
	 2012 UMN-UAV GPSFASER3
	 2012 UMN-UAV THOR79
	 2012 UMN-UAV THOR77
	 2012 UMN-UAV THOR75
	 2012 UMN-UAV THOR60

Load Data

By default, the data is returned as a Pandas DataFrame.


>> import onavdata
>> df = onavdata.get_data('2012 UMN-UAV GPSFASER1')
>> df.head()                                                          
	                   AccelX (m/s^2)           ...             InputAileronRight (0-1)
	TimeFromStart (s)                           ...                                    
	0.00                     1.176502           ...                              0.5516
	0.02                     1.078460           ...                              0.5516
	0.04                     1.143822           ...                              0.5516
	0.06                     1.176502           ...                              0.5516
	0.08                     1.209183           ...                              0.5516

Note that if desired, it is easy to access the same data as Numpy array via the Pandas DataFrame.


>> time_sec_array = df.index.values.copy()
>> data_array = df.values.copy()
>> columns_hdr = df.columns.tolist()

Work with Data

At this point the data is readily available for analysis, design, or simply visualization.  For example, using the Matplotlib module we can quickly plot the Euler angles from this flight.


>> from matplotlib import pyplot as plt
>> df[['AngleHeading (rad)', 'AnglePitch (rad)', 'AngleRoll (rad)']].plot(subplots=True)
>> plt.show()

Feedback

Comments or feedback are welcome and can be shared via e-mail: contact@organicnavigation.com.  

Developers can submit issues via the project repository