I have a problem where the imu is showing acceleration in X and Y direction even if the imu is completely stationary. I found out that when I placed the IMU on flat ground and rotating it around z-axis (Yaw). The valuse if roll and pitch changes from +2 degree to -1.5degree as I rotate it from 360 around z-axis. I have made all tear (level, acc gyro) and all needed calibration and saved it. Nothing changes. Those are the values of roll and pitch when rotating complete 360 degree around Z-axis
When i plot the change in the roll and pitch on FDIsystem software, the change is exactly sinusoidal
The ROS example code here already performs coordinate system transformation, so the coordinate system used after the ROS SDK starts up is compatible with ROS.
This cannot be eliminated. If you want to avoid the influence of gravitational acceleration, you can parse the 0x62 data packet; the acceleration values in this packet exclude gravitational acceleration, whereas the acceleration values in other data packets include gravitational acceleration.
Okay, I used the ros sdk in this link: IMU &GNSS_V5.3 - Google 雲端硬碟
Now, the imu output data is following ros coordinate convention ENU.
But I still have a problem of roll and pitch changing their values while only rotating around z. Roll and pitch make complete sin wave every 360 degree rotation around Yaw. This small changes makes imu see around 0.2 m/s^2 (resulted from the component of gravitational acceleration in x-axis) acceleration in x-axis while the imu is stationary.