I am currently working on ROS based autonomous skid steered robot . as I have seen in the literature the base controller needs to subscribe to the geometry_msgs/cmd_vel topic output by the move_base package. it has two tasks :
Converting the cmd_vel stream to PWM signals
outputting a message of type nav_msgs/odometry which includes the position and velocity and their covariances estimated from the encoders pulses. fed to an extended Kalman filter along with other odometry streams in order to produce more accurate estimates of the robot state
I have some questions :
The covariance matrix is calculated using the error in the distance. it's a diagonal matrix with the square of that error but which error is that ( distance measured by the encoders relative to what ) what is the process used to calculate this error?
Supposing that the other data stream is sourced from an IMUS gyro and accelerometer do we need to calculate the pose and velocity based on this data or is it possible to feed this raw data direcly to the EKF ? in this case, don't we need to provided to the KF a mathematical model linking the inputted raw data ( acceleration and angular velocity and their covariances ) to the ( robot pose and the velocities and their covariances )?
I am thankful for any replies waiting for your help !!!!!