Effacer les filtres
Effacer les filtres

I want to know if it is possible to get displacement data out of the orientation data in the form of a quaternion?

2 vues (au cours des 30 derniers jours)
I'm trying to us the Sensor Fusion toolbox to fuse accel and gyro data, then get displacement. Here is what I've tried:
>> me = loadTest('Me');
>> accel = me.sdChest(:,2:4);
>> gyro = me.sdChest(:,5:7);
>> FUSE = imufilter;
>> accel = table2array(accel);
>> gyro = table2array(gyro);
>> [orientation,angularVelocity] = FUSE(accel,gyro);
Now I want to get displacement data out. I get the orientation in the form of a quaterion, don't know how to get displacement.
Using: >> [position,orient ] = pose(FUSE); doesn't work
I understand that to get displacement you have to differentiate accel two times, but I was hoping a funtion was available for this.

Réponse acceptée

Roshni Garnayak
Roshni Garnayak le 22 Août 2019
Integrating the acceleration data two times will also integrate the measurement errors that occur in the accelerometer and gyroscope data. Moreover, effects of random noise and offset will also affect the displacement computation. This will result in inaccurate values of displacement.
It is advisable to fuse data from both inertial sensors and GPS to obtain pose and hence displacement.
To know how to determine pose using inertial sensors and GPS, refer to the following link:

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by