运行launch文件时,老是报以下类型错误:
执行roslaunch pocketsphinx robocup.launch 时提示找不到包的错误。
File "/usr/lib/pymodules/python2.7/rospkg/rospack.py", line 190, in get_path
raise ResourceNotFound(name, ros_paths=self._ros_paths)
rospkg.common.ResourceNotFound: pocketsphinx
ROS path [0]=/opt/ros/hydro/share/ros
ROS path [1]=/opt/ros/hydro/share
ROS path [2]=/opt/ros/hydro/stacks
ROS path [3]=.
[recognizer-2] process has died [pid 11893, exit code 1, cmd /home/ppeix/tutorials/catkin_ws/src/pocketsphinx/nodes/recognizer.py __name:=recognizer __log:=/home/ppeix/.ros/log/ab621940-b099-11e3-9789-002511e7bcff/recognizer-2.log].
log file: /home/ppeix/.ros/log/ab621940-b099-11e3-9789-002511e7bcff/recognizer-2*.log
即问题为:
roslib.load_manifest('pocketsphinx')执行失败
解决办法:
将pocketsphinx拷贝到/opt/ros/hydro/share目录中
还遇到一种情况是,type为.py文件时,文件执行权限有问题导致的。
在使用语音的时候,总是出现
raise ResourceNotFound(name, ros_paths=self._ros_paths)
rospkg.common.ResourceNotFound: roslang
ROS path [0]=/opt/ros/hydro/share/ros
ROS path [1]=/opt/ros/hydro/share
ROS path [2]=/opt/ros/hydro/stacks
[voice_nav-1] process has died [pid 18126, exit code 1, cmd /opt/ros/hydro/share/rbx1/rbx1_speech/voice_nav.py __name:=voice_nav __log:=/home/ppeix/.ros/log/176ed5ba-b0a4-11e3-a814-002511e7bcff/voice_nav-1.log].
log file: /home/ppeix/.ros/log/176ed5ba-b0a4-11e3-a814-002511e7bcff/voice_nav-1*.log
的问题。
1.目录问题。确保在ROS_PACKAGE_PATH路径中可看到。
2.type文件执行权限问题。包括用户相关执行权限。尤其在文件夹拷贝时容易出现此问题。
3.看具体提示,NotFound:roslang。这里的roslang为关键词。
google得出一种情况:add roslang for manifest.xml and package.xml
https://github.com/start-jsk/openhrp3/issues/32
<rosdep name="rostest" /> |
<rosdep name="rosbuild" /> |
+ <rosdep name="roslang" /> |
<rosdep name="mk" /> |
或
<build_depend>mk</build_depend> |
<build_depend>rosbuild</build_depend> |
<build_depend>rostest</build_depend> |
+ <build_depend>roslang</build_depend> |
|
<run_depend>atlas</run_depend> |
<run_depend>boost</run_depend> |
但我这里添加后尝试让然不成功。
4.最后尝试sudo apt-get install ros-hydro-roslang 后再次执行则成功了。说明是roslang这个包没有安装导致的。
转载:https://blog.csdn.net/ppp2006/article/details/21456469