Ask Your Question
0

sbpl_lattice_planner can't locate sbpl during execution

asked 2014-04-30 01:58:01 -0500

Oier gravatar image

Hi,

I am trying to get sbpl_lattice_planner working on groovy. I installed ros-groovy-sbpl package, though roscd seems not to be able to find sbpl, and downloaded sbpl_lattice_planner from navigation-experimental github and rosmaked it without problems. When running the commands suggested in the wiki, "roslaunch sbpl_lattice_planner move_base_sbpl_fake_localization_2.5cm.launch" I get following error:

Traceback (most recent call last):
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/__init__.py", line 279, in main
    p.start()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/parent.py", line 257, in start
    self._start_infrastructure()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/parent.py", line 206, in _start_infrastructure
    self._load_config()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/parent.py", line 121, in _load_config
    self.config = roslaunch.config.load_config_default(self.roslaunch_files, self.port, verbose=self.verbose)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/config.py", line 428, in load_config_default
    loader.load(f, config, verbose=verbose)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 698, in load
    self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 670, in _load_launch
    self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 634, in _recurse_load
    val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 575, in _include_tag
    default_machine, is_core, verbose)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 605, in _recurse_load
    n = self._node_tag(tag, context.child(''), ros_config, default_machine, verbose=verbose)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 373, in _node_tag
    self._param_tag(t, param_ns, ros_config, force_local=True, verbose=verbose)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 232, in _param_tag
    vals = self.opt_attrs(tag, context, ('value', 'textfile', 'binfile', 'command'))
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 178, in opt_attrs
    return [self.resolve_args(tag_value(tag,a), context) for a in attrs]
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 159, in resolve_args
    return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 299, in resolve_args
    resolved = _resolve_args(resolved, context, resolve_anon, commands)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 312, in _resolve_args
    resolved = commands[command](resolved, a, args, context)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 137, in _find
    return _find_executable(resolve_without_path, a, [args[0], path], context)
  File "/opt/ros ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2014-04-30 03:46:00 -0500

adornbush gravatar image

The launch files in sbpl_lattice_planner aren't updated to use the system dependency version of sbpl released with groovy through ros-groovy-sbpl. sbpl isn't a ROS package (as of Fuerte) so rospack won't be able to find it and correspondingly $(find pkg) commands in roslaunch will also fail. A quick fix is to change this line

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

in sbpl_lattice_planner/launch/move_base/move_base_sbpl.xml to point to a new location for pr2.mprim. Unfortunately, ros-groovy-sbpl doesn't include pr2.mprim so you should checkout sbpl from https://github.com/sbpl/sbpl.git and place sbpl/matlab/mprim/pr2.mprim somewhere where rospack can find it.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2014-04-30 01:58:01 -0500

Seen: 258 times

Last updated: Apr 30 '14