Kalman filter position update requirement

Firmware/software/electronics/mechanics
Post Reply
thasu
Beginner
Posts: 15
Joined: Wed Oct 18, 2017 7:16 am

Kalman filter position update requirement

Post by thasu » Sat Apr 21, 2018 5:53 pm

Does the Kalman estimator require Loco positioning nodes to work correctly? I'm reading the x,y,z position data from the kalman estimator log and x position stays at 0.5 even the Crazyflie move in the x direction. Further, I would like to know whether this estimator works if we move the Crazyflie by hand.

arnaud
Bitcraze
Posts: 1672
Joined: Tue Feb 06, 2007 12:36 pm

Re: Kalman filter position update requirement

Post by arnaud » Thu Apr 26, 2018 7:05 am

The Kalman filter requires some kind of position information to output a correct position estimate. This can be the LPS, the flow deck or any other mean of measuring the copter state in the room.

It will work well when moving the Crazyflie by hand (if the motors are switched off, otherwise the kalman filter equation will assume the Crazyflie is flying on its own).

I have never seen the EKF locking its position, it should either track the position or diverge quickly if there is no position update available. What was your setup when you observed this behavior?

ps. I moved your message to a new thread to keep the original thread on topic.

thasu
Beginner
Posts: 15
Joined: Wed Oct 18, 2017 7:16 am

Re: Kalman filter position update requirement

Post by thasu » Wed May 02, 2018 7:41 am

Thanks for the reply. Now the kalman estimator seems to be working. I'm using flow deck with the crazyflie. I have another question. Kalman estimator shows the best estimate of the current position. Assume we are moving in a closed loop path. How can we use several particles to track the position with the kalman estimator in order to close the loop at the end.

arnaud
Bitcraze
Posts: 1672
Joined: Tue Feb 06, 2007 12:36 pm

Re: Kalman filter position update requirement

Post by arnaud » Wed May 02, 2018 8:42 am

I am still curious about what was the problem, what did you change to get things to work well?

For the second question I am not sure to understand, maybe you could elaborate a bit.

Post Reply