Setup constant gravity vector for imusensor object of Sensor Fusion and Tracking Toolbox
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jan Piosik
le 22 Nov 2020
Réponse apportée : Brian Fanous
le 23 Nov 2020
I want to create an output of an imu sensor from my data set of acceleration and angular velocity. For this I'm using the "imusensor" object of the Sensor Fusion and Tracking Toolbox to include the gravity in the acceleration data set. My problem is, that the gravity vector always points in the direction of the z-axis even if the sensor rotates due to the angular velocity. So ist there a way to set up the gravity vector, so that it does not rotate with the sensor and does not always points in the direction of the z-axis?
In the example below the gravity vector always points in the direction of the z-axis, even if there is a constant angular velocity
IMU_test = imuSensor;
acc_test=zeros(100,3);
gyr_test=zeros(100,3);
gyro_test(:,1) = 1;
[accelReadings, gyroReadings] = IMU_test(acc_test,gyr_test)
0 commentaires
Réponse acceptée
Brian Fanous
le 23 Nov 2020
Hi Jan
The syntax you are using on the final line assumes the IMU always has its (body) coordinate system aligned with the global coordinate system. Supply a final input argument to alter the orientation of our IMU relative to the global coordinate system.
[accelReadings, gyroReadings = IMU_test(acc_test, gyr_test, quaternion([30 40 50], ‘eulerd’, ‘ZYX’, ‘frame’); % IMU at a 30deg yaw, 40 deg pitch, 50 deg roll relative to NED.
Brian
0 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!