Ask Your Question
0

Client [/mir_auto_bagger] wants topic /move_base/goal to have datatype/md5sum

asked 2019-04-09 03:09:41 -0600

chbloca gravatar image

updated 2019-04-10 13:10:26 -0600

jayess gravatar image

When I try to do a gmapping with my mobile robot an error pop-up:

[ERROR] [1554797108.240628800]: Client [/mir_auto_bagger] wants topic /move_base/goal to have datatype/md5sum [*/8ac6f5411618f50134619b87e4244699], but our version has [move_base_msgs/MoveBaseActionGoal/660d6895a1b9a16dce51fbdd9a64a56b]. Dropping connection.

[move_base_node-2] process has died [pid 6194, exit code -6, cmd /opt/ros/kinetic/lib/move_base/move_base cmd_vel:=mobile_base/commands/velocity __name:=move_base_node __log:=/home/chbloca/.ros/log/ed0463be-5a97-11e9-93e4-94c6911e7b24/move_base_node-2.log]. log file: /home/chbloca/.ros/log/ed0463be-5a97-11e9-93e4-94c6911e7b24/move_base_node-2*.log

What library should I modify in order to make the PC messages to be compatible with the mobile robot? PD: I cannot access to the mobile robot PC

edit retag flag offensive close merge delete

Comments

This seems like a cross-post of dfki-ric/mir_robot#20?

gvdhoorn gravatar imagegvdhoorn ( 2019-04-09 06:04:22 -0600 )edit

It is, indeed

chbloca gravatar imagechbloca ( 2019-04-09 06:17:19 -0600 )edit

What has changed since you opened that issue?

gvdhoorn gravatar imagegvdhoorn ( 2019-04-09 07:18:14 -0600 )edit

Nothing at all. No solutions yet

chbloca gravatar imagechbloca ( 2019-04-09 07:32:40 -0600 )edit
1

I believe @Martin Günther's answer on your mir_robot issue was pretty OK: either use a ROS version that corresponds to what the robot runs, or use his driver to not work with messages directly.

Alternatively you could see whether using the same move_base messages on your PC would work, but it's likely that move_base on your own PC will not work with the messages that your robot uses.

gvdhoorn gravatar imagegvdhoorn ( 2019-04-09 09:49:28 -0600 )edit

So do you mean that my robot is running under Indigo ROS? Because the ROS in my computer is Kinetic. I cannot use his bridge since it is not suitable for heavy topics such as the ones that the camera produces.

chbloca gravatar imagechbloca ( 2019-04-09 10:35:42 -0600 )edit

If your robot is running Indigo, then yes, using a client PC running Indigo (or a Docker image) should work.

gvdhoorn gravatar imagegvdhoorn ( 2019-04-09 10:50:04 -0600 )edit
1

@gvdhoorn - good catch on finding that GitHub issue, I wouldn't have seen this question if you hadn't mentioned me. Out of curiosity - do you monitor all of GitHub? :D

Martin Günther gravatar imageMartin Günther ( 2019-04-10 05:12:25 -0600 )edit

2 Answers

Sort by » oldest newest most voted
1

answered 2019-04-10 05:11:08 -0600

I've posted a full answer to the GitHub issue: https://github.com/dfki-ric/mir_robot...

In short, I've updated the MirMoveBase action definition to match the md5sum that's expected by the MiR - this should solve your problem.

edit flag offensive delete link more

Comments

Thanks Martin. So his answer was:

I have just updated the mir_actions and mir_msgs packages to the MiR software version 2.3.1. The MirMoveBase action now looks like this:

https://github.com/dfki-ric/mir_robot...

This action definition hasn't changed between MiR software versions 1.9.13 and 2.3.1, so as long as you use any MiR software version within that range, you should be ok. In 2.4.0, the action has changed, which causes problems.

If you use this new action definition, the message mir_actions/MirMoveBaseActionGoal has md5sum 8ac6f5411618f50134619b87e4244699, which is exactly what the client wants (see the error message in your first post).

This is what you need to do if you want to send move_base goals to the MiR directly, without using the mir_bridge:

  • clone and compile the latest version of this repo
  • change your move_base client so that it sends mir_actions/MirMoveBase, ...
chbloca gravatar imagechbloca ( 2019-04-10 11:03:39 -0600 )edit
0

answered 2019-04-10 11:06:40 -0600

chbloca gravatar image

updated 2019-04-10 11:06:57 -0600

Now I was wondering how to implement the second point in the move_base node of my launcher:

<node pkg="move_base" type="move_base" respawn="false" name="move_base_node" output="screen">
    <param name="footprint_padding" value="0.01" />
    <param name="controller_frequency" value="5.0" />
    <param name="controller_patience" value="3.0" />
    <param name="oscillation_timeout" value="30.0" />
    <param name="oscillation_distance" value="0.5" />
    <param name="planner_patience" value="1" />
    <param name="controller_patience" value="1" /> 
    <remap from="cmd_vel" to="mobile_base/commands/velocity"/>
    <param name="recovery_behavior_enabled" value="false" />
    <rosparam file="$(find rrt_exploration_tutorials)/param/costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find rrt_exploration_tutorials)/param/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find rrt_exploration_tutorials)/param/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find rrt_exploration_tutorials)/param/global_costmap_params.yaml" command="load" />
    <rosparam file="$(find rrt_exploration_tutorials)/param/base_local_planner_params.yaml" command="load" />  
    <param name="global_costmap/global_frame" value="$(arg namespace)/map"/>
    <param name="global_costmap/robot_base_frame" value="$(arg namespace)/base_link"/>
    <param name="global_costmap/laser_scan_sensor/sensor_frame" value="/$(arg namespace)/base_laser_link"/>
    <param name="global_costmap/laser_scan_sensor/topic" value="/$(arg namespace)/$(arg scan_topic)"/>    
    <param name="local_costmap/global_frame" value="$(arg namespace)/odom"/>
    <param name="local_costmap/robot_base_frame" value="$(arg namespace)/base_link"/>
    <param name="local_costmap/laser_scan_sensor/sensor_frame" value="$(arg namespace)/front_laser_link"/>
    <param name="local_costmap/laser_scan_sensor/topic" value="/$(arg namespace)/$(arg scan_topic)"/>
    <param name="local_costmap/obstacle_layer/laser_scan_sensor/topic" value="/$(arg namespace)/$(arg scan_topic)"/>
  </node>
edit flag offensive delete link more

Comments

1

Please don't post follow-up questions in answers.

This is not a forum, and Askbot works best if there is a 1-to-1 match of questions and answers.

Post a new question instead (but you can of course refer to this one).

gvdhoorn gravatar imagegvdhoorn ( 2019-04-10 11:09:57 -0600 )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: 2019-04-09 03:09:41 -0600

Seen: 223 times

Last updated: Apr 10