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

Error running move_base in navigation stack

asked 2015-10-07 05:06:59 -0500

steph_v gravatar image

updated 2016-10-24 09:07:17 -0500

ngrennan gravatar image

Hi,

I am trying to run the ROS navigation stack to take input from two Hokuyo laser sensors and output velocity commands to a robot according to a set goal.

I have set up the navigation stack as in the ROS tutorials http://wiki.ros.org/navigation/Tutori... except that instead of running the AMCL package, I am using gmapping to localise the robot and create a global map.

My launch files are:

wheelchair_config.launch

    <launch>
    <include file="$(find laser_pipeline)/launch/hokuyo.launch"/>
    <include file="$(find odometry)/launch/tf.launch"/>
    </launch>

and move_base.launch

    <launch>
    <master auto="start"/>

    <!--- Run gmapping for localisation -->
    <include file="$(find laser_pipeline)/launch/gmapping.launch" />

    <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
    <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />
    <rosparam file="$(find wheelchair_nav)/launch/costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find wheelchair_nav)/launch/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find wheelchair_nav)/launch/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find wheelchair_nav)/launch/global_costmap_params.yaml" command="load" />
    <rosparam file="$(find wheelchair_nav)/launch/base_local_planner_params.yaml" command="load" />
    </node>
    </launch>

In the yaml configuration files, I have followed the guidelines set out in the tutorial linked above: - in common config yaml: two laser sensors for my observation sources, robot footprint set up as a rectangle - in global costmap config yaml: global frame = /map, robot_base_frame = /base_link, static_map =false - in local costmap config yaml: global frame = /odom, robot_base_frame = /base_link, static_map = false, rolling_window = true - base local planner yaml identical to tutorial example

When I launch the wheelchair config file, the laser data and transforms appear as expected in rviz. When I then launch the move base file, the gmapping node seems to set up correctly and outputs a map in rviz as expected but I get an error with the move_base node.

process[move_base-2]: started with pid [28781] terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >' what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument [move_base-2] process has died [pid 28781, exit code -6, cmd /opt/ros/indigo/lib/move_base/move_base __name:=move_base __log:=/home/steph/.ros/log/a82bb134-6cd4-11e5-9cc0-88532ea048df/move_base-2.log]. log file: /home/steph/.ros/log/a82bb134-6cd4-11e5-9cc0-88532ea048df/move_base-2*.log

If I try to proceed to send goals to the navigation stack (despite the error as above) as instructed in the tutorial http://wiki.ros.org/navigation/Tutori... I get an output message stating

[ INFO] [1444210927.061683327]: Waiting for the move_base action server to come up

which makes me think the move_base node was perhaps not initiated correctly.

Does anyone know what causes this error when running the move base package? And is it likely that this error is the reason why the move base action server does not come up?

Thank you.

Addit: After trying to break down my process further, it seems that move_base crashes when I try to launch either my transform file or gmapping, which makes me think the problem is somehow being caused by my transforms?

My tf.launch file is

<launch>

    <!--  **********  TFs **********  -->

    <!-- dynamic ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2015-10-12 21:14:26 -0500

steph_v gravatar image

Hi - I have worked out the underlying problem. I found that running move_base and any transform concurrently would cause move_base to crash. I am currently using ROS on the Linux Mint platform. I reinstalled ROS inside Ubuntu instead, and now move_base and transforms are working correctly. I realise Linux Mint is not an officially supported platform for ROS, but I haven't had any problems with other packages prior to this. As a side note, I'm just wondering if anyone knows why Linux Mint causes issues. Thanks!

edit flag offensive delete link more

Comments

I am quite sure the issue has nothing to do with Linux Mint. Did you get any error message or warning when move_base crashed, or any log file you can share?

hvpandya gravatar image hvpandya  ( 2015-10-13 12:08:26 -0500 )edit

Hi,steph! I met exactly the same problem as yours. And I don't understand your statement "running move_base and any transform concurrently would cause move_base to crash". Can you explain that to me? Thank you in advance!

Clack gravatar image Clack  ( 2016-06-28 00:20:18 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2015-10-07 05:06:59 -0500

Seen: 1,973 times

Last updated: Oct 12 '15