Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design Roadmap: Driver Architecture, IMU Signal Processing, multi-EKF #9891

Closed
dagar opened this issue Jul 12, 2018 · 2 comments
Closed

Design Roadmap: Driver Architecture, IMU Signal Processing, multi-EKF #9891

dagar opened this issue Jul 12, 2018 · 2 comments

Comments

@dagar
Copy link
Member

dagar commented Jul 12, 2018

Under construction

Project Board: https://github.com/PX4/Firmware/projects/23

This is to discuss and design the path forward for a number of key architectural changes that will enable greater robustness, fault tolerance, and redundancy.

Problem
Failure to detect vibration induced inertial navigation failures early enough during system integration or operation has contributed to a number of vehicle loss incidents

The current practice of using the IMU’s internal DLPF is a major blocker for the following reasons:

  • IMU internal sampling is then limited to 1kHz which makes the ADC step susceptible to aliasing on airframes with high RPM/geared motors and high blade count propellers
  • The use of the IMU’s internal DLPF means that high frequency vibration clipping of the ADC cannot be detected externally until it has affected the INS
  • Data cannot be logged at the ADC sampling frequency so it is not possible to use a data driven approach to resolving vibration induced navigation failures.

High Level Architecture
WIP - https://drive.google.com/file/d/13Mcztqcvcaa82bg5UD3o95UAd-6uKu50/view?usp=sharing

image

Specific problems and solutions

  • IMU sampling at 1 kHz in ISRs
    Incremental work towards solutions
  • PX4 limited to a single estimator
  • enable estimators to subscribe directly to desired IMUs or other sensors
  • where needed voting can happen in parallel rather than directly in the sensor pipeline
  • drivers apply their own scale factors and offsets, but sensors module applies the temperature compensation
  • insufficient memory on typical STM32F4 setups for multiple estimators (see above)

Side issues that we might want to eliminate or at least reconsider along the way

  • sensor calibrations applied by sensors module on Nuttx, directly on other platforms
@mhkabir mhkabir self-assigned this Jul 12, 2018
@dagar dagar self-assigned this Jul 12, 2018
@philipoe
Copy link
Contributor

@ASM3

@dagar
Copy link
Member Author

dagar commented Jan 11, 2021

Done!

@dagar dagar closed this as completed Jan 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants