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

2D Nav Goal not working turtlebot3

asked 2022-02-26 09:07:42 -0500

ENTMar gravatar image

updated 2022-03-08 07:22:14 -0500

lucasw gravatar image

Hello

I am trying to navigate the turtlebot3 with the instruction from e-robotis. The configuration is the same as the guideline: (TB3 is the short form of turtlebot3)

  1. roscore in PC

  2. roslaunch turtlebot3_bringup turtlebot3_robot.launch in TB3

  3. Scan the field using slam methods in PC

    roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=frontier_exploration

  4. After that save the map and start the navigation with the saved map in PC

    roslaunch turtlebot3_navigation turtelbot3_navigation.launch map_file:=$HOME/map.yaml

  5. RVIZ is opened and configure the position of the robot in the field using 2D estimated pose. Then to make the position accurate steer the robot with turtlebot3_teleop. After that, turn off the turtlebot3_teleop and set the goal (2D Nav Goal).

  6. In this case the robot isn't moving and the goal position is received in rostopic /move_base_simple/goal

I am using turtlebot3 waffle pi and ros kinetic (Ubuntu 16.04).

The running rosnode:

/amcl
/map_server
/move_base
/robot_state_publisher
/rosout
/rviz
/turtlebot3_core
/turtlebot3_diagnostics
/turtlebot3_lds

The running rostopic:

/amcl/parameter_descriptions; /amcl/parameter_updates; /acml_pose
/battery_state; /cmd_vel; /cmd_vel_rc100; /diagnostics; /firmware_version
/imu; /initialpose; /joint_states; /magnetic_field
/map; /map_metadata; /map_updates; /motor_power
/move_base/.../... (total 31 topics)
/odom; /particlecloud; /reset; /rosout; /rosout_agg; /rpms; /scan
/sensor_state; /sound; /tf; /tf_static; /version_info

I read the old posts and have already tried the network configuration. It doesn't work somehow. Any idea why the robot can't move?

edit retag flag offensive close merge delete

Comments

You need to provide more information. Please edit your description to show us the output of:

rosnode list

rostopic list

You edit your description using the "edit" button near the end of the text. Format the lists using the 101010 button.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-02-26 12:29:43 -0500 )edit

Also describe your setup: are you using a laptop to run rviz? Are you communicating with the turtlebot over wifi?

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-02-26 12:33:56 -0500 )edit

I edited my post and look forward to the answer.

ENTMar gravatar image ENTMar  ( 2022-02-28 05:14:12 -0500 )edit

In the future, please provide the complete listing for rostopic because it provides valuable information about what features you have enabled; it is OK on this site if the description gets long.

It is suspicious that you have these two topics with similar names: /cmd_vel and cmd_vel_rc100. What does rostopic info say about them?

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-02-28 07:31:57 -0500 )edit

/cmd_vel has a publisher /move_base and a subscriber /turtlebot3_core. /cmd_vel_rc100 has a publisher /turtlebot3_core and no publisher. The different between 2 topics is /cmd_vel outputs the velocity from pc or rviz and /cmd_vel_rc100 from joystick only.

ENTMar gravatar image ENTMar  ( 2022-02-28 08:36:14 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-03-02 09:03:49 -0500

ENTMar gravatar image

After digging into some details, I found the solution and I will explain it.

2D Nav Goal doesn't work because TB doesn't receive any information from costmap either global or local. Costmap gives the information about your field and the obstacle in the field (costmap configuration). First check your costmap, if it doesn't work check your warning message in rviz. When it says:

[ WARN] [1646227801.198231830]: Costmap2DROS transform timeout. Current time: 1646227801.1981, global_pose stamp: 1646168702.9185, tolerance: 0.5000

it means your time in TB3 and PC doesn't synchronous. Try to match the time to each other or you can change the transform_tolerance in global_costmap_params.yaml and local_costmap_params.yaml.

edit flag offensive delete link more

Comments

I'm glad you figured out the cause of your problem. Yes, when you have multiple ROS hosts, the time-of-day must be synchronized. On Ubuntu, most people use the systemd-timesyncd service to handle this.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-03-02 15:36:06 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2022-02-26 09:07:42 -0500

Seen: 227 times

Last updated: Mar 02 '22