position estimator

Post here to get support
Post Reply
monsterhong
Beginner
Posts: 5
Joined: Fri Oct 09, 2015 12:25 am

position estimator

Post by monsterhong »

Hi,

I think the Crazyflie is using Kalman filter to estimate the position and orientation, I think it could also use complementary filter to estimate the position and orientation, since the complementary file is already given from the source file.

But I do not know how to change the crazyflie to use complementary filter for estimate.

Please let me know if you know how to do it.
Thank you
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: position estimator

Post by arnaud »

Hi,

The Crazyflie source code contains both a complementary filter and an Extended Kalman Filter (EKF).

The complementary filter is estimating the orientation. We also have a small complementary filter that estimates the height from the pressure sensor and accelerometer, but not the full position.

The EKF is currently the only estimator in the Crazyflie that can estimate both orientation and position.

The complementary filer is compiled by default. The EKF can be compiled by adding "ESTIMATOR=kalman" to the file tools/make/config.mk when compiling. If you want to look at the code you can start by stabiliser.c. All estimators implements the functions defined in estimator.h and the two estimators are in estimator_complementary.c and estimator_kalman.c.
monsterhong
Beginner
Posts: 5
Joined: Fri Oct 09, 2015 12:25 am

Re: position estimator

Post by monsterhong »

arnaud wrote:Hi,

The Crazyflie source code contains both a complementary filter and an Extended Kalman Filter (EKF).

The complementary filter is estimating the orientation. We also have a small complementary filter that estimates the height from the pressure sensor and accelerometer, but not the full position.

The EKF is currently the only estimator in the Crazyflie that can estimate both orientation and position.

The complementary filer is compiled by default. The EKF can be compiled by adding "ESTIMATOR=kalman" to the file tools/make/config.mk when compiling. If you want to look at the code you can start by stabiliser.c. All estimators implements the functions defined in estimator.h and the two estimators are in estimator_complementary.c and estimator_kalman.c.

Thank you very much for your help!
Post Reply