about estimator_kalman.c

All discussions related to the Loco Positioning system
Post Reply
justinleeyang
Expert
Posts: 186
Joined: Mon Dec 28, 2015 5:07 am

about estimator_kalman.c

Post by justinleeyang »

hi, arnaud:

we are research estimator_kalman.c code, it fusion the IMU and UWB to get the 3D position, can we remove the IMU, only use UWB
to get the position ? I amd confused with both.
and wish you a happy Christmas!!!
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: about estimator_kalman.c

Post by arnaud »

Hi Justin,

If you do not want of the IMU, then this kalman filter is not very useful. You might be better-off trying to modify the particule filter or the LMS to fit TDoA.

/Arnaud
justinleeyang
Expert
Posts: 186
Joined: Mon Dec 28, 2015 5:07 am

Re: about estimator_kalman.c

Post by justinleeyang »

Hi, arnaud:

I study some IMU knowledge recently, I think that we can estimator the position with IMU in free-space, and UWB calibration it ?
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: about estimator_kalman.c

Post by arnaud »

Hi Justin,

Yes I guess that is one way to see it.

The kalman filter will tend to trust the inertial sensors for short period of time and the LPS in the long run. Roll/pitch/yaw are corrected according to the dynamic of the system which allows to correct for yaw drifts for example.
justinleeyang
Expert
Posts: 186
Joined: Mon Dec 28, 2015 5:07 am

Re: about estimator_kalman.c

Post by justinleeyang »

hi, arnaud:

yeah, because we know that get the 3D position (x,y,z), must more than 4 anchors, if we use TOF method, we need know the tag and 4 anchors distances. the following figure is 3 anchors position method to get the 2D position (x,y), likely, add a anchor, we get the 3D position (x,y,z) .
33333333333.png
But we need the 2D or 3D Algorithm to calculate the (x,y,z) with all distances and anchor's known coordinates. from the stm32 code, I don't see the algorithm, so ROS implement the algorithm ? the above is TOF method.

likely, if use TDOA estimator the 3D position with time difference and anchor's known coordinates, we also need other algorithm to get tag's coordinate. but from estimator_kalman.c, I don't find other algorithm other than kalman. I miss something ? or my understand wrong ?
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: about estimator_kalman.c

Post by arnaud »

The kalman filter is updated with information from the LPS by this code: https://github.com/bitcraze/crazyflie-f ... #L880-L937. There is two function, one for TOA and one for TDOA.

I am not completely versed with this code yet but my understanding of it is that both the error and the direction of the error is pushed which allows to close-in on a position estimate (I know that this intuitive interpretation is somewhat wrong so if someone want to correct me please do :-).
justinleeyang
Expert
Posts: 186
Joined: Mon Dec 28, 2015 5:07 am

Re: about estimator_kalman.c

Post by justinleeyang »

hi, arnaud:

thank you for your reply!
the part code, it isn't easy to understand. because my algorithm is so poor. so I will firstly study more algorithm knowledge.
Post Reply