0
$\begingroup$

Rosanswers logo

Hi,

In the robot_localisation package, when the use_control param is set to true then the values from the cmd_vel topic are used for the state prediction. But what if its set false. How does the prediction setup work?

I looked at one of the questions posed where it is explained how the prediction step works link.

The transition function for x is x_new = x_old + vx * t + 0.5 * a * t^2

Normally this would mean the vx and aare obtained from the previous state and when the use_control param is true, then these values are obtained from cmd_vel topic.

When I look at the documentation of robot_localisation package, it says

Note: The presence and inclusion of linear acceleration data from an IMU will currently “override” the predicted linear acceleration value.

Which I'm not able to understand as the values from the IMU are used for the correction step and not prediction.

I know I'm assuming something wrong here, but could someone please explain to me how it works?

Thanks Sriram


Originally posted by b-sriram on ROS Answers with karma: 105 on 2017-03-17

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The prediction step uses the current state to generate a predicted state. If you have use_control set to true and do NOT have an IMU present, it will use the controls to set the state's acceleration values immediately prior to prediction. If you have use_control set to true, and you also have an IMU present and are fusing accelerations, the filter assumes that measurements of acceleration are more accurate than the controls, and will use those. The same logic occurs if you have use_control to false in that case, but there's nothing measuring linear acceleration.

Control commands do not affect velocity during prediction, only acceleration.


Originally posted by Tom Moore with karma: 13689 on 2017-04-11

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.