How to log filtered acceleration data & angular velocities (from EKF) for offline analysis?


I need to log the  X,Y & Z accelerations (described in the inertial frame) and angular velocities & accelerations (p, q, r and their time derivatives) for offline analysis. I am using a Pixhawk equipped with Copter 3.3 firmware.

The only data available in Dataflash logs are raw sensor data, which are very noisy. But as I have read in the Ardupilot documents, Arducopter uses EKF to estimate the status of the vehicle, and among the estimated variables are the accelerations & angular velocities.

Can I somehow log these data for offline use?

Views: 481

Reply to This

Replies to This Discussion

I've been making data loggers using a Teensy [or Arduino], GY-80 imu's, GPS modules, and SDCard modules. This allows me to log anything I want with raw values independent of the APM/Pixhawk/MavLink. I can stream live data over radios/bluetooth/ESP8266 or download the logs off the SDCard and then you can manipulate the data anyway you want :)

It's actually pretty easy as well and was way easier for me to do then try to figure out mavlink and the APM stack :)

That's a good solution if you want raw sensor data (although you could also easily obtain the raw data of Pixhawk sensors from Dataflash logs without having to figure out anything about Mavlink/APM). But I need the processed & filtered data, and I don't wanna go though the trouble of implementing the filters & algorithms myself.

Anyways, thanks for the suggestion!

Alireza, in the logs you will find NKF fields. This logs both estimated biases and EKF innovations. The algorithm for EKF3 is well documented, and you can use it to reconstruct EKF filter estimates using Matlab etc

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service