Simulink IMU's accelerometer is different with MPU6050 acclerometer
7 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Sanskar
2023-6-26
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 个评论
Brian Fanous
2023-6-26
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!