micropython-fusion icon indicating copy to clipboard operation
micropython-fusion copied to clipboard

How to get position updates?

Open OlegJakushkin opened this issue 4 years ago • 4 comments

So I see how we get heading, pitch, roll. How to get position updates?

OlegJakushkin avatar Nov 09 '20 01:11 OlegJakushkin

That is not possible using an IMU. In theory it can be done by double integrating the accelerometer, but in practice errors accumulate exponentially. I believe it can be done with extreme precision accelerometers, but not with ones we can buy.

You need to find another way: counting wheel revolutions on a wheeled robot, or using GPS.

peterhinch avatar Nov 09 '20 10:11 peterhinch

These guys tend to promise position+quaternion pairs. Here is their implementation sample, their license is also MITish.

OlegJakushkin avatar Nov 09 '20 11:11 OlegJakushkin

I would be fascinated to hear of any success with this. My own experiments produced exactly the (bad) result I expected.

As far as I can see, basic physics requires double integration with its inherent vice of amplifying errors. This code comment seems to suggest that they are double integrating. However I'm willing to be convinced that they have discovered something I've missed. Perhaps there is some clever filtering technique?

peterhinch avatar Nov 09 '20 12:11 peterhinch

@OlegJakushkin have you had any success from that implementation? As @peterhinch mentioned, I also haven't any good results double integrating due to cumulative errors.

claudiorodr avatar Dec 20 '20 19:12 claudiorodr