March 28, 2014
about 11 months ago
The latest version of RTIMULib (https://github.com/richards-tech/RTIMULib) now has the RTQF fusion filter available (and it’s now the default). This is a severely stripped-down Kalman - actually it’s now incredibly simplistic. There are some small optimizations that could be made still but the big stuff has been done. So, if you want to try RTQF, let me know how it goes!
Ok, I am working on it…
The current performance of the Kalman on a Pro Mini would be far inferior to the highly optimized alternatives (on the other hand, it does seem to perform nicely on the Pi, even if it is wasteful). Now that the RTIMULib drivers are in a reasonable state for 9-dof operation at least, I will take a look at stripping down the Kalman. This is exactly what RTIMULib was designed for - to make filter (and driver) development, testing and tuning easy to do. A lot of things are getting multiplied by zero in the Kalman so there’s a fair bit of waste. It’s not so much of a problem on the Raspberry Pi which has pretty decent floating point performance. The problem there is getting the data through the OS. It’s the opposite to a bare metal microcontroller where it’s easy to get the data but there’s less processing power.
Something that would be interesting would be to put those two filters into RTIMULib as alternatives to the (highly unoptimized) Kalman filter that’s there currently.
If anyone is interested in trying this out with the Raspberry Pi (or similar embedded Linux system), the RTIMULib 9-dof IMU library has just been updated to include support for the LSM9DS0 and has been tested with this breakout. RTIMULib outputs fully Kalman-fused pose with just a few function calls. It achieves sample rates of up to around 700 Kalman-fused samples per second. Incidentally, the library also supports the MPU-9150 - that can achieve the full 1000 samples per second supported by the MPU-9150. The repo is here - https://github.com/richards-tech/RTIMULib. It’s all very new and there will be bugs - please feel free to open issues on GitHub as necessary. There’s also a second set of apps (SyntroPiNav and SyntroNavView) that provide OpenGL-based 3D visualization.
RTIMULib is now available at https://github.com/richards-tech/RTIMULib. There are also a couple of other related apps in the Syntro repos: https://github.com/richards-tech/SyntroApps/tree/master/SyntroNavView (an OpenGL based 3D visualization tool) and https://github.com/richards-tech/SyntroPiApps/tree/master/SyntroPiNav (the Syntro wrapper for RTIMULib). The old linux-mpu9150 uses the MPU9150’s DMP while RTIMULib uses its own Kalman filter for sensor fusion. Measured results show 7% CPU utilization at 100 samples per second with a maximum of 1000 samples per second and 30% CPU utilization.
The old Pansenti GitHub repos are indeed vanishing but MPU9150Lib and linux-mpu9150 are now available at https://github.com/richards-tech/MPU9150Lib and https://github.com/richards-tech/linux-mpu9150. There’ll very soon be a new and improved version intended for the Raspberry Pi called RTIMULib.
No public wish lists :(
Forgot your password?
No account? Register one!