Simulink IMU's accelerometer is different with MPU6050 acclerometer
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am using Simulink IMU box to simulate my dynamic model, but its accelerometer values seem to have opposite sign. If we lay MPU6050 on flat desk and sensor's Z axis upward, MPU6050 senses [0, 0, 9.81] because of inertial force. but Simulink IMU (ENU frame) outputs [0, 0, -9.81]. Do I just multiply by -1?
0 comentarios
Respuestas (2)
Sanskar
el 26 de Jun. de 2023
Hi!
What I understand from your question is that you are expecting positive value for Z-axis upward, but simulink IMU output returns it in negative.
In Simulink, the IMU block follows the right-hand rule convention for the coordinate frames. According to the convention, the Z-axis points upward, which is opposite to the gravity vector direction.
So, if you are expecting a positive value for the accelerometer readings along the Z-axis when the sensor is placed on a flat desk , and Simulink IMU is giving you a negative value, you can indeed multiply the output by -1 to obtain the expected positive value.
Hope it helps!
Sanskar
0 comentarios
Brian Fanous
el 26 de Jun. de 2023
I'm not sure which IMU block you mean, but the ones in the Navigation Toolbox and Sensor Fusion and Tracking Toolbox, when in the ENU convention, have the Z-axis pointing up. So gravity will exert a negative acceleration.
You likely cannot only negate the z-axis because then you won't end up with a right-handed coordinate system. You might also need to swap the X and Y axes.
shows how to swap and negate the MPU-9250s axes to match the NED convention. The process is similar for the ENU convention.
0 comentarios
Ver también
Categorías
Más información sobre Tracking and Sensor Fusion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!