I have a Pixhawk 2 mounted on a rover with direct contact to a aluminum plate. Using mavros, I get IMU readings for all three. This data (maybe not all three, haven’t decided) is then fed into the robot_localization ROS package (Kalman filter). What stumps me is that the IMUs output noticeably large values when the robot is still. Below I have a sample of what they are outputting.
The values are pretty consistent, but they might change if I reconnect to it a few hours later. I have a couple of questions:
- Is this expected? Should I just “ignore” it and take it into account when setting the sensor noise covariance in the Kalman filter?
- Before I begin robot_localization, should I offset the IMUs to what the readings should be (0,0,9,81)? I’ve noticed it improves the robot_localization’s output, but I am sure if this is a frown upon method.
- Is there something wrong with my setup? Anything I can do to improve the readings? We calibrated the pixhawk before mounting it on the rover since its infeasible to calibrate it with it already attached to the large rover.
I will appreciate any input on it!