Robotics, ROS

How to solve ResourceNotFound: gazebo_worlds error when running simulated PR2 for gps?

When I tried to launch the simulated PR2 by

roslaunch gps_agent_pkg pr2_gazebo.launch

This error occurred:

 

gazebo_worlds_error

ros@ros-K401UB:~/research/gps/src/gps_agent_pkg$ roslaunch gps_agent_pkg pr2_gazebo.launch
... logging to /home/ros/.ros/log/10b10e84-bbe8-11e7-944c-82ea96c4b45e/roslaunch-ros-K401UB-7307.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

Traceback (most recent call last):
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/__init__.py", line 307, in main
 p.start()
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start
 self._start_infrastructure()
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/parent.py", line 217, in _start_infrastructure
 self._load_config()
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/parent.py", line 132, in _load_config
 roslaunch_strs=self.roslaunch_strs, verbose=self.verbose)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default
 loader.load(f, config, verbose=verbose)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 746, in load
 self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 718, in _load_launch
 self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 682, in _recurse_load
 val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
 return f(*args, **kwds)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 625, in _include_tag
 default_machine, is_core, verbose)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 682, in _recurse_load
 val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
 return f(*args, **kwds)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 587, in _include_tag
 inc_filename = self.resolve_args(tag.attributes['file'].value, context)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 183, in resolve_args
 return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 316, in resolve_args
 resolved = _resolve_args(resolved, context, resolve_anon, commands)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 329, in _resolve_args
 resolved = commands[command](resolved, a, args, context)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 142, in _find
 source_path_to_packages=source_path_to_packages)
 File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 188, in _find_executable
 full_path = _get_executable_path(rp.get_path(args[0]), path)
 File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 203, in get_path
 raise ResourceNotFound(name, ros_paths=self._ros_paths)
ResourceNotFound: gazebo_worlds
ROS path [0]=/opt/ros/indigo/share/ros
ROS path [1]=/home/ros/rosbuild_ws/package_dir
ROS path [2]=/opt/ros/indigo/share
ROS path [3]=/opt/ros/indigo/stacks
ROS path [4]=/home/ros/research/gps
ROS path [5]=/home/ros/research/gps/src/gps_agent_pkg

This happened because gazebo_worlds only exists in the version before ROS Groovy. So,  you can modify the launch file by rosed gps_agent_pkg pr2_gazebo_no_controller.launch :

<launch>
 <!-- Use the following for ROS hydro or later: <include file="$(find gazebo_ros)/launch/empty_world.launch"> -->
 <include file="$(find gazebo_ros)/launch/empty_world.launch">
 </include>
 <include file="$(find pr2_gazebo)/launch/pr2_no_controllers.launch" />
</launch>

After modification, the error changes. Obviously, this is another problem (import glob error).

import_glob_error

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s