Ask Your Question
1

move_base action server doesn't come up with a real robot

asked 2016-06-21 05:35:02 -0500

lfr gravatar image

updated 2016-06-23 03:17:53 -0500

Hello !

I try to run the move_base node on a real robot. When I run it in simulation (with another robot), it works successfully.
But, when I try to bring up the navigation stack on a real robot, the move_base action server doesn't come up.
Indeed, when I launch the move_base node, I get continuously the unexpected following warning:

[ WARN] [1466504490.216963462]: Costmap2DROS transform timeout. Current time: 1466504490.2169, global_pose stamp: 1466504032.8989, tolerance: 0.3000

Moreover, when I run my own C++ node in order to send a goal command, the program stays blocked inside the waitForServer loop, this loop is as follows:

while(!ac.waitForServer(ros::Duration(5.0)))
{
    ROS_INFO("Waiting for the move_base action server to come up");
}

I don't understand why it doesn't work and why when I run the move_base node the move_base action server doesn't come up.
If anyone can help me, I would be very grateful,
lfr

update 1

Here the result of the roswtf command:

WARNING: Package "ompl" does not follow the version conventions. It should not contain leading zeros (unless the number is 0).
Loaded plugin tf.tfwtf
No package or stack in context
================================================================================
Static checks summary:

No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules
running tf checks, this will take a second...
... tf checks complete

Online checks summary:

Found 3 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /teleop:
   * /torso_controller/state

WARNING The following nodes are unexpectedly connected:
 * /mugiro_node->/rqt_gui_py_node_4590 (/tf)

WARNING Received out-of-date/future transforms:
 * receiving transform from [/sickS3000_publisher] that differed from ROS time by -460.430734051s
 * receiving transform from [/Publish_odom_TF] that differed from ROS time by -460.43225327s

You can find the tf tree below:
image description

And the graph here:
image description

edit retag flag offensive close merge delete

Comments

Look to your tf (rosrun rqt_tf_tree rqt_tf_tree) and node graph (rosrun rqt_graph rqt_graph). Which topics/nodes are unconnected? What's the differences between simulation's graph and real robot's graph? Also you can use roswtf command for looking whats going on.

Orhan gravatar imageOrhan ( 2016-06-21 07:28:40 -0500 )edit

I updated the question, thanks for your help

lfr gravatar imagelfr ( 2016-06-22 02:32:41 -0500 )edit

I think there is a problem with your pose estimation node, In a simulation, gazebo publishes odometry and transformation between odom and base_link. I think your problem is in your Publissh_odom_TF node (or mugiro_node).

Orhan gravatar imageOrhan ( 2016-06-22 06:17:33 -0500 )edit

Ok, could you tell me what kind of problem may appear with these nodes because I still don't understand why it doesn't work.

lfr gravatar imagelfr ( 2016-06-23 03:15:54 -0500 )edit

It may be message type(stamped or not stamped) or publishing with wrong frame. Your screenshots are from real robot. Compare them with simulation's graph and tf tree. I think you should publish odom transformation from /mugiro_node directly. Why you using /Publish_odom_TF?

Orhan gravatar imageOrhan ( 2016-06-23 03:40:46 -0500 )edit

Ah ok, thanks. But didn't write these nodes, I got the robot and these nodes from other ones. My task is to bring up the navigation stack in order to do some tests with the planner (that I have chosen). I will see about tf, I think this is the problem too. Thank you for your help.

lfr gravatar imagelfr ( 2016-06-23 04:33:00 -0500 )edit

You're welcome.

Orhan gravatar imageOrhan ( 2016-06-23 05:03:34 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2016-06-28 05:12:29 -0500

lfr gravatar image

The problem was the clocks of my computer and the robot was not synchronized. The difference was about 500 sec (this is why even setting the transform_tolerance value to 10 sec -> the max value, it didn't change anything). After synchronizing it, it worked properly.

Thanks to Orhangazi44 for helping me,
lfr

edit flag offensive delete link more

Your Answer

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

Add Answer

Question Tools

1 follower

Stats

Asked: 2016-06-21 05:35:02 -0500

Seen: 1,185 times

Last updated: Jun 28 '16