PX4-ECL icon indicating copy to clipboard operation
PX4-ECL copied to clipboard

some think about ekf2 framework

Open garlinplus opened this issue 3 years ago • 2 comments

In current ekf2 framework, ekf estimator run in internal layer,and complementary filter run in extern layer. Can we use two thread to run these,one thread for complmentary filter and one for ekf estimator. The complementary thread is used to add sensor data to ringbuffer,and get data from every buffer for sensors to ekf thread. In this way,the sensor data can be immediately processed and not omited,and ekf estiamtor maybe can run in a high frequncy.

garlinplus avatar Mar 02 '21 03:03 garlinplus

I've actually already prototyped this and I think it makes sense for PX4 architecturally. I'd like to discuss the specifics.

  • we move the output predictor to a new module that runs directly off of raw sensor data
  • the new module handles running the output predictor, filtering control data, and publishing one kinematically consistent message with all data the controllers need (angular velocity, acceleration, velocity, etc)
  • ecl/EKF can now run synchronized with integrated IMU updates rather than have its own hardcoded update period and have to downsample
  • the logging requirements for ekf2 replay are now drastically reduced (200 Hz -> 100 Hz)

Thoughts?

dagar avatar Mar 05 '21 16:03 dagar

It sounds good!

garlinplus avatar Mar 08 '21 04:03 garlinplus