Pixhawk filters for Rover

Hi everybody
Does anybody know if pixhawk applies some preliminary filters (at the time of data collection when stored on SD card) to all the sensors on the pixhawk (IMU, …) and also on a GPS sensor (BU-353) attached externally?
I would like to have the raw data to apply my own personal filters not the ones like EKF applied automatically at the time of data collection.
Thank you

In Copter all IMU logging is done after the filtering and downsampling. INS_GYRO_FILTER and INS_ACCEL_FILTER define the second order low pass filter settings. There is also a peaking filter there to (like a notch) but that is turned off by default.

Rover uses the same logging of IMU as Copter so I believe it will be the same.

IMU_RAW logging gives you unfiltered logging but you need a fast SD card.

Thanks. I don’t see any IMU_RAW currently in my converted data in Matlab. Probably I should seek this string in Mission Planner and activate something to give me IMU_RAW like the regular (filtered) one which I am getting currently.

Yes, you need to turn RAW logging on. It will be one of your logging check boxes.

1 Like

After searching the Mission Planner software, in Advanced Params I found two options mostly related:

  1. Bitmask of active IMUs (EK2_IMU_MASK)
  2. EKF sensor logging IMU mask (EK2_LOG_MASK)
    Do you or anybody have any idea if these are the options I need to manipulate to activate RAW logging (for IMU probably only)?
    Thanks

How do you want to manipulate raw logging?

I meant I just need to have raw data logged (stored on SD card) not filtered ones. Then I will use “Download data flash Log via Mavlink” button in Mission Planner to download that raw data and then convert them to Matlab (then using them in Matlab for other applications …).

Then just turn on RAW logging. It is as simple as that. It is just a logging option check box.

Go to the configuration section, Advanced Parameters, find “log” then check the IMU_RAW check box.

Thank you. I can only find “Raw data logging (GPS_RAW_DATA)” and I changed that to “always log” (and I don`t see any new string now in my data base in Matlab when converted to, as I have a BU-353 GPS device externally connected to Pixhawk).
I did not see anything called “IMU_RAW” even in other tabs. Sorry for inconvenience. My Mission Planner software seems to be the most updated (1.3.52).

1 Like

Cool, thank you. Yes it gives me “Gyro” and “Accel” strings now. You also had mentioned “INS_GYRO_FILTER” and “INS_ACCEL_FILTER”. They have some value for filtering (Configuration/Full Parameter Tree/INS). Probably when I set them equal to 0 (no filter) “IMU” string (which includes gyro and accel values) should also give me the same value as “Gyro” and “Accel”.
Moreover, I have to turn on raw data logging for all other external sensors (including my GPS BU-353 device) manually right?

“INS_GYRO_FILTER” and “INS_ACCEL_FILTER”

Have no effect on the raw logging. Those filters are applied after so you do not need to change them.

1 Like

I got a fast speed SD card to be able to log raw and filtered data simultaneously without any lag. Now my question is: Using my slow SD card: I set “INS_GYRO_FILTER” and “INS_ACCEL_FILTER” to zero (they are 4 and 10 respectively by default) in: Configuration/Full Parameter Tree/INS, and I still do not get the right frequency for IMU string. Why is it like that? I mean when I set them equal to zero should not they give me the same results as IMU_RAW data structure? (because I have set the filters equal to zero probably meaning there should not be any filter applied)
Thanks

You will need to show what you are doing in a lot more detail for me to help further.

I needed raw data from Gyro and Accelerometer and I have them now with your help. Just for a matter of curiosity I`m asking: if I set the filter value of “INS_GYRO_FILTER” and “INS_ACCEL_FILTER” to zero, then the regular IMU string (not IMU_RAW) will give me unfiltered data from Gyro and Accelerometer?

Yes I believe so but it will be sampled at a much lower rate.

1 Like