ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
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.
2 | No.2 Revision |
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.