Indoor position estimate with onboard sensors only

Hey everyone,

I’m faced with the challenge of developing a quadcopter capable of indoor autonomous navigation with precision on the scale of centimeters without GPS. For that, I need the quadcopter to have position estimate, which could be obtained via visual-inertial odometry or optical flow sensors, for example. But due to budget and processing power limitations (everything must be onboard the quad), I’m looking for cheaper alternatives to achieve good position estimate, such as using only the data from the onboard IMU/sensors of a Pixhawk 6C flight controller.

I’ve read that IMUs that come with most flight controllers drift too quickly to allow position estimation without an external velocity or position source. To what extent is this true? Do any of you have experience with using only IMUs for position estimate? Are there affordable external IMUs more capable than the ones that come with flight controllers that would be able to do this well?

I know that’s a lot of questions, but any insight on this matter would help a lot.
Thanks in advance.

They do, anything not considered at least “dual use” will likely drift badly without some additional sensors though most Cubes have thermally stabilized sensors that should limit drift compared to cheaper controllers.

You should be able to run at least basic VIO on a more powerful RPi IIRC if not decent optical flow sensor will likely arrest drift to a sufficient extent.

Centimetric gps denied localization is the Holy Grail of UAV.
Get ready to spend time and money if you intend to achieve this goal at the centimetric level.

You can look here for some inspiration
https://ardupilot.org/copter/docs/common-non-gps-navigation-landing-page.html

2 Likes