0
$\begingroup$

Rosanswers logo

I am unable to send simple navigational goals to my own (physical) robot, with the following specs:

It runs diamondback on an internal computer, and ROS commands go directly to its motor controllers. I use a myrobot.launch file for this. In addition, I use an empty map server node, and a move base node very similar to the one in stage's navigation tutorial. The move base node has its static_map parameters both set to false. I can see a move_base/goal and move_base_simple/goal in rostopic list.

Now, if I build simple_navigation_goals.cpp and send the goal of moving 1 m forward, the Action client waits forever for the server to come up. (This doesn't happen with, for example,when I run simulations on gazebo / stage, when I am promptly able to connect to the action server and see the result.) This may sound silly, but when I comment out the stageros node in move_base_amcl_10cm.launch in stage navigation tutorial, I get the same effect as above - the client waits forever for the server to come up. Note that without the stageros node, move_base_amcl.launch looks very much like my map-server + move_base combination.

I am unable to make sense of what's happening and would like to know how to connect with move_base action server.

Update after Eric's comment:

map server : move base launch file

Our costmap files : Base local planner Global costmap Local costmap Costmap common params

Also, rostopic pub to move_base/goal or move_base_simple/goal hangs after latching the message.


Originally posted by PKG on ROS Answers with karma: 365 on 2011-07-16

Post score: 0


Original comments

Comment by Eric Perko on 2011-07-17:
Could you include your launch file and costmap configurations?

Comment by PKG on 2011-07-17:
No there are no errors in the terminals. move_base node (occasionally) keeps perpetually waiting for the map that it never receives. The simple_navigation_goals client hangs waiting for the server. I give all commands from the robot computer.

Comment by Eric Perko on 2011-07-17:
Do you get any errors in the terminals? Are you running code on the robot computer and sending commands from a different computer over a network?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I believe that setting both static_map and rolling_window to false for a costmap is undefined behavior (this is how your global_costmap is configured). One of those should be set to true if you want the costmap to actually do anything.

Also, in your map_server launch, you seem to have forgotten a closing tag.


Originally posted by Eric Perko with karma: 8406 on 2011-07-17

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by eitan on 2011-07-20:
The move_base node doesn't advertise its action server until it has completed setup. It sounds like, before, move_base was waiting for a map indefinitely, not allowing the node to complete its setup, and in-turn blocking the advertisement of its action server.

Comment by PKG on 2011-07-17:
Ah yes, I can see this. But still simple_nav_goals should at least contact server & send a goal.

Comment by Eric Perko on 2011-07-17:
rostopic pub should appear to hang... it has to remain open for the message to actually be latched.

Comment by PKG on 2011-07-17:
I've changed rolling_window to false & static_map to true, Also, I've changed the robot_base_frame in the costmap.yaml files to be "map" to avoid any issues with TF. Still, the problem recurs. rostopic pub also hangs, also rostopic echo move_base_simple/goal shows the relevant goal.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.