utiasSTARS / pykitti

Python tools for working with KITTI data.
MIT License
1.14k stars 239 forks source link

Erronous angular velocity in Date: 2011_10_03 Drive: 0027 (Seq 00) #56

Open ylmzkaan opened 4 years ago

ylmzkaan commented 4 years ago

I do a simple euler integration using angular velocity provided in raw dataset 0027 starting from the initial ground truth orientation. I would expect the estimated orientation to be overlapping with the ground truth until some timestep and then drift away. Instead I get the following orientation estimations vs ground truth.

orientation

The roll and pitch estimations are incorrect. They make huge jumps. After each jump the estimation's shape is consistent with the ground truth but it is way higher or lower than the ground truth because of jumps. When I use the same algorithm for other dataset, I absolutely don't get such irrelevant estimations. I get figures like this:

orientation

orientation

Anyway, in order to check if there is anything wrong with my euler integration based orientation estimation, I calculated the true angular velocity by subtracting two consecutive ground truth orientation values (For roll pitch and yaw) and dividing the difference by the time passed. The results that I get here and from the angular velocity readings (Collected from OXTS) are extremely different and there is no bias or scale term that could correct this behavoir because the difference isn't in a way that allows for it.

Have you ever encountered a similar behavior in dataset 0027 (Seq 00) ? I think the angular velocity readings are wrong.