Robotics StackExchange | Archived questions

Running move_base with DWA_local_planner

Hi everyone, I would like to use the navigation stack on a differential drive wheelchair to perform local path planning. Up to now I have odometry from the chair as well as a local cost map coming from sensor data. After some research, I have decided that the 'Dynamic window approach' would be ideal for my application but i cannot seem to get movebase to use DWAlocalplanner as its planning algorithm, actual, i cannot get movebase working at all. I run it within a launch file as below:

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

<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>

But the terminal keeps outputting this error:

process[move_base-2]: started with pid [5257]
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 5257, exit code -6, cmd /opt/ros/indigo/lib/move_base/move_base __name:=move_base __log:=/home/rocky/.ros/log/fac44b2a-6d80-11e5-8d64-d30c77a21d38/move_base-2.log].
log file: /home/rocky/.ros/log/fac44b2a-6d80-11e5-8d64-d30c77a21d38/move_base-2*.log

I am not sure what is causing this error, could anyone please help? Thanks,

Thibault

Asked by Thibault_Rouillard on 2015-10-08 02:04:40 UTC

Comments

Are you compiling any parts of navigation yourself?

Asked by David Lu on 2015-10-08 18:15:41 UTC

No, i am not. With reference to the schematic in http://wiki.ros.org/navigation/Tutorials/RobotSetup. I am only running move_base with the parameters i require as shown in the launch file above.

Asked by Thibault_Rouillard on 2015-10-09 01:50:49 UTC

Answers

Try to set your local planner to DWA from your base_local_planner_params.yaml. So the following line in your move_base.launch should be removed:

<param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />

instead in your base_local_planner_params.yaml put the following:

dwa: true

Although navigation stack by default uses dynamic window approach meaning that the value for dwa parameter is true if it is not set by user. For more info please take a look at base_local_planner documentation: http://wiki.ros.org/base_local_planner?distro=indigo

hope it helps

Asked by mohsen1989m on 2015-10-19 09:28:20 UTC

Comments

Thank you very, much. It worked.

Asked by Thibault_Rouillard on 2015-10-29 04:14:22 UTC