Sensor data fusion with quaternions
13 views (last 30 days)
Show older comments
Hello all,
does anyone have experience in sensor data fusion with quaternions? I have measurement data from an acceleration sensor.
Specifically, I have 600 data measurement points. For each measurement value, I have the acceleration in x,y,z direction and gyroscope in x,y,z direction. Then I have 4 more values for the quaternions (A,B,C,D). Can anyone tell me how to evaluate this data in a meaningful way, so that I end up with a 3D plot with the flight curve of my object. It is less important to me how my object is oriented, so it can be assumed to be a point. The whole thing should be plotted over time, so the along the flight curve would be the time axis, if you divide it into aquidistant steps.
Does anyone have experience with this or an example how to plot my data? Please find attached one dataset. Thanks for the help
2 Comments
Jeffrey Clark
on 10 Nov 2022
@Bogac Tur, you say there is gyroscope (I assume it is body orientation data or is it position in space?) and acceleration in x,y,z but what is acceleration_l in x,y,x? Not sure what the quaternion data represents; it could be the object orientation and its change velocity that is independent of the position (x,y,z) and velocity being tracked, or it could be the quaternion equivalent of the position and velocity (which appears to be missing). Someone must have given you the definitions of what is being provided in the csv file?
Answers (1)
Raj
on 5 Feb 2024
Hello Bogac Tur,
I see you ultimately wish to plot a 3D plot of your object's flight curve. As per my understanding, one way is to perform a double integration on the readings from the accelerometer to determine position in the absence sensors such as GPS. However, this is not recommended. Accelerometers are not perfectly accurate and have a slight constant error in their measurements. If you use these measurements to calculate position by integrating them twice, this small error gets bigger and affects the accuracy of the position calculation. Consequently, the estimated position would be subjected to an error that increases quadratically. To precisely compute the position, GPS sensor is necessary.
You can use the accelerometer data and gyrocope data from your sensor to compute orientation and angular velocity measurements. This can be done using the function 'imufilter' of MATLAB. For more detailed understanding you can refer to the documentation link below-
Hope this helps!
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!