ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I figured out it is non-trivial in my application to compute tf(map, odom_future) and tf(odom_future, base_footprint_future) given amcl_pose using the method used in AMCL.

As shown in the AMCL ROS webpage, it has the following tfs:

tf(map, odom) + tf(odom, base_footprint) = tf(map, base_footprint)

tf(map, odom) is the drifting effect by the odometer. tf(odom, base_footprint) is the pose of the robot from the odometer reading.

The pose given by AMCL is tf(map, base_footprint). In my application, since I am predicting the future, the amcl_pose is in the future. In other words, tf(map, odom), tf(odom, base_footprint), tf(map,base_footprint) are in the future, while only tf(map,base_footprint) is given by my motion predictor.

One way to overcome this is to build a motion model to predict future robot pose in the odom frame. I.e. tf(odom, base_footprint), which is not a trivial task. One could use the velocity motion model, but it might be a naive solution.

I figured out it is non-trivial in my application to compute tf(map, odom_future) and tf(odom_future, base_footprint_future) given amcl_pose using the method used in AMCL.

As shown in the AMCL ROS webpage, it has the following tfs:

tf(map, odom) + tf(odom, base_footprint) = tf(map, base_footprint)

tf(map, odom) is the drifting effect by the odometer. tf(odom, base_footprint) is the pose of the robot from the odometer reading.

The pose given by AMCL is tf(map, base_footprint). In my application, since I am predicting the future, the amcl_pose amcl_pose is in the future. In other words, tf(map, odom), tf(odom, base_footprint), tf(map,base_footprint) are in the future, while only tf(map,base_footprint) is given by my motion predictor.

One way to overcome this is to build a motion model to predict future robot pose in the odom frame. I.e. frame, i.e. tf(odom, base_footprint), which is not a trivial task. One could use the velocity motion model, but it might be a naive solution.

solution.