I started the week by researching gyroscope Kalman filter implementations. However, we decided to change our approach to mapping IMU raw data to points in 3d space. Dan was having trouble removing drift from the IMU data and, after looking for a fix, he found a potential approach that uses an AHRS algorithm, which could replace our Kalman filter solution.
I read this paper by Sebastian Madgwick called “An efficient orientation filter for inertial and inertial/magnetic sensor arrays” (https://www.x-io.co.uk/res/doc/madgwick_internal_report.pdf?fbclid=IwAR04aEJ2P2wOHS0G6vEN4JvOwuK3lVl9Sf-_p6JC2Pmbu7ZVovKN2yiEIEY) to find out how this AHRS algorithm approach works and to understand the mathematics behind it. I also went over Madgwick’s implementation of the approach in matlab: https://github.com/xioTechnologies/Oscillatory-Motion-Tracking-With-x-IMU. Here is someone else’s implementation in Python, which we are now using: https://github.com/morgil/madgwick_py.
This coming week, I will work with Dan to refine the 3D positioning and to implement I2C with a second IMU. We will have to change the device address of the second IMU and we will have to figure out appropriate resistance values for the pull-up resistors.
My parts from Quinn have just arrived and so I have connected an IMU to my arduino. I will start using the photon instead of the arduino as soon as the photon I ordered arrives.
0 Comments