Ask Your Question
0

move_base/feedback seems to be wrong

asked 2018-05-17 13:49:35 -0500

sterlingm gravatar image

updated 2018-05-17 14:02:49 -0500

Hi,

I'm trying to run the navigation stack on a Turtlebot 2. I started the robot with roslaunch turtlebot_bringup minimal.launch and then started the navigation with roslaunch turtlebot_navigation amcl_demo.launch map_file:=/path/to/my/map.yaml. I have not edited the configuration files so everything (except my map) should be default. The Turtlebot is running Hydro.

The behavior I see is that when I give a goal, the robot begins moving in that direction, but then passes the goal and continues to move in the same direction until I stop the navigation.

The problem seems to be with the topic /move_base/feedback. It is always incorrect. The poses published on /amcl_pose are correct, and the odometry values seem to be correct. Both the global path and the first local path look good. The problem is that the local path is updated with a new starting state based on /move_base/feedback, and those values are always near (0,0,0), basically saying that the robot has not moved much even if the robot has moved several meters from the initial location. So the local path always begins near the initial location, causing the robot to pass the goal and keep driving until I manually kill the nodes.

The transforms all look fine in Rviz. The msgs published on /move_base/feedback all say that the frame_id is /map (which is the fixed frame). The msgs published on /amcl_pose all say that they are relative to /map too, but they are correct whereas the msgs being published on move_base/feedback are not. The wiki for move_base describes the msgs on /move_base/feedback as "Feedback contains the current position of the base in the world" so I would expect them to be equal to the poses on /amcl_pose.

I have looked around the config files in turtlebot_navigation and cannot find anything that seems relevant to move_base/feedback. However, this is my first time using the navigation stack so I may be overlooking something. Does anyone know what I can look/check for and/or what might be causing this issue? Any help is appreciated.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-05-17 14:30:20 -0500

sterlingm gravatar image

Okay, I figured out the problem.

The costmap tf configurations affect this. In turtlebot_navigation/param/global_costmap_params.yaml, the parameter robot_base_frame was set to /odom. It should be set to /base_footprint (or whatever frame is moved with your robot). This will make the feedback be correct.

The robot_base_frame value also needs to be correct on turtlebot_navigation/param/local_costmap_params.yaml. This is the one that will affect the local path's initial location.

I've had the turtlebot for a while and have used the costmap package before (but not the full nav stack) so I must have changed this incorrectly at some point.

edit flag offensive delete link more

Comments

Hey, I am facing similar issue. The robot_base_frame in both local_costmap_params.yaml and global_costmap_params.yaml is set to /base of the robot. I still face the issue( the robot is always at the initial position (0.0 , 0.0). I do not have the odometry so I set global_frame to /map. Can you tell me what am I doing wrong? Also is it possible for you to share your param files? Thank you.

archit0994 gravatar image archit0994  ( 2019-05-05 06:17:53 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2018-05-17 13:49:35 -0500

Seen: 811 times

Last updated: May 17 '18