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

Revision history [back]

According to ROS REP-105, there are two frames recommended for navigation; map and odom. The difference between them is that the odom frame may drift over time (which makes it useless for long-term reference) whereas the map frame should not drift over time but maybe noncontinuous (may cause discrete jumps) in the short term.

You will have to create a link from map -> odom -> base_link to properly get all the transforms working properly. From your urdf file, it is clear that you are creating a link between base_link and laser, but ROS has no idea how to get from base_link to odom and map in the future.

I recommend using a package like robot_localization in your setup to get odometry information and take care of these transforms for you. If you choose not to, you can also calculate the transforms manually but make sure you publish them to the tf tree. You can use tools such as rqt_tf_tree to ensure these transforms exist.

According to ROS REP-105, there are two frames recommended for navigation; map and odom. The difference between them is that the odom frame may drift over time (which makes it useless for long-term reference) whereas the map frame should not drift over time but maybe noncontinuous (may cause discrete jumps) in the short term.

You will have to create a link from map -> odom -> base_link to properly get all the transforms working properly. From your urdf file, it is clear that you are creating a link between base_link and laser, but ROS has no idea how to get from base_link to odom and map in the future.

I recommend using a package like robot_localization in your setup to get odometry information and take care of these transforms for you. If you choose not to, you can also calculate the transforms manually but make sure you publish them to the tf tree. You can use tools such as rqt_tf_tree to ensure these transforms exist.

According to ROS REP-105, there are two frames recommended for navigation; map and odom. The difference between them is that the odom frame may drift over time (which makes it useless for long-term reference) whereas the map frame should not drift over time but maybe noncontinuous (may cause discrete jumps) in the short term.

You will have to create a link from map -> odom -> base_link to get all the transforms working properly. From your urdf file, it is clear that you are creating a link between base_link and laser, but ROS has no idea how to get from base_link to odom and (and map in the future.future).

I recommend using a package like robot_localization in your setup to get odometry information and take care of these transforms for you. If you choose not to, you can also calculate the transforms manually but make sure you publish them to the tf tree. You can use tools such as rqt_tf_tree to ensure these transforms exist.