Sensor data fusion with quaternions

13 views (last 30 days)
Bogac Tur
Bogac Tur on 9 Nov 2022
Answered: Raj on 5 Feb 2024
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
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?
Bogac Tur
Bogac Tur on 10 Nov 2022
Thanks for the answer. I think the gyroscope gives the angular acceleration around the x,y and z axes. I'm not sure right now what acceleration_l means, so i would ignore that for now.
As far as i understood correctly, The quaternions show the direction vector and the angle around this direction vector.
My question is, is there anyone who has evaluated sensor data of similar structure?

Sign in to comment.

Answers (1)

Raj
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!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!