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

sbpl_lattice_planner loading move_base plugin fails

asked 2015-04-06 12:26:10 -0600

l0g1x gravatar image

updated 2015-04-06 19:14:26 -0600

Im trying to setup my nav config to use pose_follower as my local planner (so i can have backwards movements) and then reading around, people say NavFn doesnt work with pose_follower. So i read around and saw people where saying to use sbpl_lattice_planner with pose_follower, so i tried to add it as a plugin to use with move base. For some reason im getting a really wierd error when i launch move_base (the full log can be viewed in a pastebin i made to not clutter the question. But the primary part of the error log is this:

process[move_base-1]: started with pid [9692]
[ WARN] [1428337418.710189086, 9.812000000]: Waiting on transform from base_link to odom to become available before running costmap, tf error:
[ INFO] [1428337418.724891841, 9.826000000]: Loading from pre-hydro parameter style
[ INFO] [1428337418.777851298, 9.878000000]: Using plugin "obstacle_layer"
[ INFO] [1428337418.840831680, 9.939000000]:     Subscribed to Topics:
[ INFO] [1428337418.889993790, 9.989000000]: Using plugin "inflation_layer"
[ INFO] [1428337419.030963854, 10.131000000]: Name is SBPLLatticePlanner
terminate called after throwing an instance of 'SBPL_Exception*'
[move_base-1] process has died [pid 9692, exit code -6, cmd /opt/ros/indigo/lib/move_base/move_base /odom:=/odometry/filtered __name:=move_base __log:=/home/parallels/.ros/log/3216eba8-dc79-11e4-9dbf-001c42dabd93/move_base-1.log].
[move_base-1] restarting process

I did the following to install/use sbpl_lattice planner as a plugin:

sudo apt-get install ros-indigo-sbpl

As when i install sbpl from source, it installs the files into /usr/local (i think i might be doing something wrong) and then therefore when i clone the sbpl_lattice_planner source and compile it via catkin_make it cant properly link the libspl shared libraries because its looking for it in /opt/ros/share/sbpl instead.

So after i install the sbpl ros debian, I clone the sbpl_lattice_planner source into my workspace, and compile successfully.

Then rospack plugins --attrib=plugin nav_core shows sbpl_lattice_planner is loaded as a plugin, and inside the bgp_plugin.xml i find that

<class name="SBPLLatticePlanner" type="sbpl_lattice_planner::SBPLLatticePlanner"...

So i use SBPLLatticePlanner as the name for the move_base parameter base_global_plannerto look like so:

  <master auto="start"/>

  <node pkg="move_base" type="move_base" respawn="true" name="move_base" output="screen">

    <remap from="/odom" to="/odometry/filtered" />

    <param name="base_local_planner" value="pose_follower/PoseFollower"/>
    <param name="base_global_planner" value="SBPLLatticePlanner"/>

    <param name="SBPLLatticePlanner/primitive_filename" value="$(find sbpl)/matlab/mprim/pr2.mprim" />

    <param name="controller_frequency" value="10.0"/>
    <rosparam file="$(find test_2dnav)/costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find test_2dnav)/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find test_2dnav)/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find test_2dnav)/global_costmap_params.yaml" command="load" />
#    <rosparam file="$(find test_2dnav)/base_local_planner_params.yaml" command="load" />
    <rosparam file="$(find test_2dnav)/pose_follower_params.yaml" command="load" />

Would anyone happen to know if im missing something/mis-configuring something? I know you must load a primitives file (which was the first issue i overcame).

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-04-07 20:53:37 -0600

l0g1x gravatar image

updated 2015-04-13 02:01:21 -0600

Thanks to @balamesh I figured out how to get sbpl_lattice_planner running on indigo. Seems like there where some missing symbols on initialization of sbpl_lattice_planner when loading it into move_base as a global planner plugin.

You can view a working version for indigo here:

Make sure you use both the sbpl and sbpl_lattice_planner from source from that repo, as the normal sbpl does not link libraries correctly for sbpl_lattice_planner use

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-04-06 12:26:10 -0600

Seen: 1,678 times

Last updated: Apr 13 '15