Comments (5)
Hi Tom,
Thanks for the input.
All the systems currently implemented provide magnetometer data, therefore the "import_data" function always reads those in. As for the evaluation, the (exact) "quatInt" option ignores magnetomenter data. But all the published algorithms (implemented here) require magnetometer input. If you have a good algorithm that works without magnetomenter data, please let me know.
Also, contributions (in the form of implementations of other algorithms) would be greatly appreciated!
from scikit-kinematics.
"import_data" was one of the reasons that I did not start a pull request directly, which may affect your original design of the system. :)
I know Madgwick implementations can work without the magnetic data, and don't know details about other algorithms. This is another reason that I did not start working on that.
from scikit-kinematics.
Can you send me the reference of Madgwick without magnetic field data? The paper "Estimation of IMU and MARG orientation using a gradient descent algorithm" ( 2011 IEEE International Conference on Rehabilitation Robotics; Rehab Week Zurich, ETH Zurich Science City, Switzerland, June 29 - July 1, 2011, p 179-185) mentions explicitly "The MARG implementation incorporates magnetic distortion compensation."
from scikit-kinematics.
One more comment: on
http://www.olliw.eu/2013/imu-data-fusing/
I found the comment
"Madgwick has presented an interesting approach, which is based on formulating task T3 as a minimization problem and solving it with a gradient technique [SM]. I will argue here that this approach is – IMHO – not appropriate for IMUs which are using only gyro and accelerometer data (6DOF IMU). "
So any suggestion of which algorithms should best be used without magnetometer info would be appreciated!
from scikit-kinematics.
Hi, man. I also read that excellent article. :) The source code quoted there should include what you need.
I do agree 9DOF is more helpful to gain more accurate data. But 6DOF is more practical and less expensive than 9DOF. In particular for some use cases in which the magnetic interference is a big issue, 6DOF is a better choice.
Besides, 6DOF can achieve similar results as 9DOF can do if we turn parameters of filters carefully. A use case is PDR and can be found at xio
from scikit-kinematics.
Related Issues (20)
- Denavit-Hartenberg convention HOT 2
- Real motion for test data HOT 1
- Sample rate vs. Sample period HOT 2
- Madgwick and Mahony 6Dof HOT 2
- initialization of orientation calculation for Kalman, Madgwick & Mahony HOT 3
- remove pos calculation from analytical(), make rotating q[0] to reference optional for all 4 orientation functions
- expose Kalman tunable parameters HOT 1
- the Kalman implementation questions HOT 2
- Madgwick and Mahony Update() does not support arrays with shape (N,3) HOT 1
- ImportError: cannot import name 'dist' from 'matplotlib.mlab' HOT 7
- Raspbian Buster installation anomaly
- Enable scikit-kinematics to run without OpenGL HOT 3
- ImuBase.calc_position wrongly uses normalized acc HOT 1
- Real time application HOT 3
- [question] IMU position estimate, bias issue?
- How to compute distance from positions? HOT 1
- R_init doesn't work as intended with manual sensors. HOT 2
- assertion failure in tests/test_imus.py HOT 1
- Xens data file doesn't work HOT 9
- Tkinter is a dependency, but not listed anywhere
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scikit-kinematics.