Comments (4)
Variables such as halfGravity
and halfGyroscope
exist as an optimisation to avoid unnecessary operations. There any many intermediate calculations that involve a multiplication by 2. The optimisation removes all of these intermediate multiplications, and replaces them with a single multiplication at the end.
For example, consider the following sequence:
value = 2 * input
value = value + 2 * constant_a
value = value + 2 * constant_b
output = value
This can be optimised as:
half_value = input
half_value = half_value + constant_a
half_value = half_value + constant_b
output = 2 * half_value
This is effectively what is going on in FusionAhrsUpdate
.
from fusion.
Thank you for your kind reply of the detailed trick in the code. I also want to ask the second question. I have tested the algorithm without the feedback of acc or mag, and contrasted with the direct integration of the gyro data. The results show that the quaternion implementaion with a half gyro is more stable than the direct integration of single axis gyro data, which has less drift over time while the direct integration caused drift is very obvious. Have you noticed this phenomenon? Could you tell me the possible reason for this phenomenon. Many thanks!
from fusion.
Calling FusionAhrsUpdate
with the arguments accelerometer
and magnetometer
set to FUSION_VECTOR_ZERO
will remove the accelerometer and magnetometer feedback so that the orientation is calculated though integration of the gyroscope data.
It sounds like you are comparing this result for a triple-axis gyroscope, to different result for a single axis gyroscope. The difference in performance will be because the single-axis is not accounting for motion (even if very small) in the other two axes.
from fusion.
Thank you for your detailed reply. I have understand this phenomenon.
from fusion.
Related Issues (20)
- Roll and pitch relative to device, yaw relative to earth HOT 2
- Linear/earth acceleration very slow to catch up with movement HOT 3
- TEST data HOT 1
- Python "No code object available for imufusion" with Setup.py or pip install HOT 4
- Measurement convention for sensors other than x-imu HOT 3
- How to use the magnetometer data with different sampling frequency from the inertial sensors? HOT 1
- Gyroscope Offset Algorithm HOT 7
- Link to dissertation is broken HOT 1
- Q: Influence of motion and external acceleration HOT 3
- Very noisy Roll Pitch Yaw data HOT 5
- Recommended sampling rate? HOT 2
- yaw value changes while rotating on only roll or pitch axis. HOT 3
- 5 seconds delay in real-time operation (python) HOT 2
- Need some help setting up the algorithm. HOT 14
- Application Questions HOT 25
- Integration of GPS data to estimate position and velocity HOT 1
- Proper way of calling FusionAhrsUpdate with accel, gyro and mag all having different update rates HOT 2
- What is the difference between this algorithm and madwick gradient algorithm? Can it still be called gradient descent algorithm? HOT 7
- 做过这块IMU融合的加一下我微信 HOT 1
- data advice request HOT 1
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 fusion.