DOI: 10.5281/zenodo.10337558
title: Flight data for a conventional fixed wing and delta -wing drone applied to model-based navigation

description: The following two bags permit the testing of the vehicle dynamic model-based navigation real-time software VDMc available here. 

TOPOPlane2_20221027_STIM14.bag

Data are saved in a rosbag while flying with the TOPOPlane2 drone on October 2nd, 2022. The _tagged suffix name means that the data come from the autopilot and the time is GNSS time-tagged with an internal routine. The bag contains the following topics:



/GIINAV_POSE - solution of the INS/GNSS software (ros msg type: nav_msgs/Odometry)

/GPS0 - binary output of the GNSS receiver.  These data need to be parsed with the function GNSSReceiver::gpsCallBack in gnssreceiver.cpp (ros msg type: std_msgs/Uint8MultiArray)

/IMU0 - binary output of the IMU sensor. These data need to be parsed with the function IMUReceiver::imuCallback in imureceiver.cpp (ros msg type: std_msgs/Uint8MultiArray)

/airData - data from the surrey PitotTube and processed (custom ros msg type: surrey_sensor/AirData, available in AirData.h)



GNSS time [s]

airSpeed [m/s]

baroAltitude [m]

density [hPa]



/airpressure_tagged - dynamic air pressure of the PitotTube (Pa) (ros msg type: sensor_msgs/FluidPressure ) 

/airspeed_tagged - transformed airspeed [m/s] and groundspeed [m/s] from Pitotube (ros msg type: mavros_msgs/VFR_HUD)

/cc_tagged - control commands tagged with GNSS time (ros msg type: mavros_msgs/RCout)



header, channels (autopilot value from 1000 to 2000). The conversion is done in the function CCReceiver::ccCallback in ccreceiver.cpp [aileron elevator rpm rudder]



/mavros/debug_value/debug_vector - This custom vector is used to exchange data from/to the Ground Control Station (GCS). It contains the solution of the INS/GNSS (Giinav) and VDMNav (ros msg type: mavros_msgs/DebugValue)

/mavros/debug_value/named_value_float - Topic used to trigger the real-time simulated GNSS outage from the GCS (ros msg type: mavros_msgs/DebugValue) 

/mavros/debug_value/send - not used

/mavros/imu/diff_pressure (ros msg type: sensor_msgs/FluidPressure)

/mavros/imu/static_pressure (ros msg type: sensor_msgs/FluidPressure)

/mavros/rc/out - control commands tagged with autopilot (system) time (ros msg type: mavros_msgs/RCout)

/mavros/wind_estimation - autopilot estimation of the wind (ros msg type: geometry_msgs/TwistWithCovarianceStamped)

/surrey - raw data from the surrey PitotTube (custom ros msg type: surrey_sensor/Surrey, available in Surrey.h)

/timeSync - mapping from autopilot time and GNSS time to tag the data autopilot data (*_tagged) with GNSS time (ros msg type: std_msgs/Float32MultiArray)


concordeS_20230601.bag

These data are generated in a formatted version using the recorded flight with the ConcordeS1 drone on June 1st, 2023. The bag contains the following topics:



/airData - data from the PitotTube (custom ros msg types: surrey_sensor/AirData, available from AirData.h)



GNSS time [s]

airSpeed [m/s]

baroAltitude [m]

density [hPa]



/cc_formatted - control commands (ros msg type: std_msgs/Float64MultiArray)



data :[GNSS time [s], rpm [normalized value from autopilot channel 0-1000], LeftDeflection [degree], RightDeflection [degree]]



/giinav_formatted - INS/GNSS solution, used to initialize the in-flight VDM-based navigation filter (ros msg type: nav_msgs/Odometry)



pose:



position (WGS84) [x(lat) [rad], y(long) [rad], z(alt) [m]]

orientation (NED) [x y z w]  in quaternion



twist:



linear (NED) [x [m/s], y [m/s], z [m/s]]

angular (body) [x [degree/s], y [degree/s], z [degree/s]]





/gnss_formatted - GNSS position and velocity (ros msg type: nav_msgs/Odometry)



pose:



position (WGS84) [x(lat) [rad], y(long) [rad], z(alt) [m]]

orientation - null



twist:



linear (NED) [x [m/s], y [m/s], z [m/s]]

angular - null





/imu_formatted - a triplet of accelerometer and gyroscope (ros msg type: sensors_msgs/IMU)



header

orientation (NED) (quaternion) [x y z w]

orientation_covariance

angular_velocity (body) [degree/s] [x y z]

angular_velocity_covariance

linear_acceleration (body) [m/s2] [x y z]

linear_acceleration_covariance



/toggleOnOffGnss - Simulate the activation of the GNSS outage for testing purposes (ros msg type: std_msgs/Bool)


In addition, there is a complete example of VDMc with TOPOPLANE2 in the TOPOPlane2_20220826_STIM13.zip file. It contains



The VDMc code in the vdm_c folder that you can run

The input data: TP2_20220825_outage382606_120sbaro.bag, which contains the rosbag from the STIM13 flight, performed on August 25th, 2022

The compilation and execution of the code is explained at : https://gitlab.epfl.ch/laupre/vdm_c/-/wikis/Installation