ROS报错处理--1

1、运行节点时报错:

[rospack] Error: package ‘test’ not found

没有找到ros功能包,原因是没有为功能包配置系统环境,可以利用source运行工作空间中devel目录下的setup.bash配置文件并使配置立即生效。setup.bash脚本的作用是让一些ros* 开头的命令可以使用,同时还能够创建一些ROS开头的环境变量eg:ROS_PACKAGE_PATH。在命令行中可以使用echo在~/.bashrc文件中追加以下内容:echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc

2、

Could not find a package configuration file provided by
“moveit_ros_planning” with any of the following names:

 moveit_ros_planningConfig.cmake
 moveit_ros_planning-config.cmake

没有安装moveit,可以使用sudo apt-get install ros-kinetic-moveit-full命令来安装。

3、运行launch文件时报错:

[robot_spawn.launch] is neither a launch file in package [robot_sim_demo] nor is [robot_sim_demo] a launch file name
The traceback for the exception was written to the log file

不能识别ros功能包中的launch文件,原因是没有修改系统中存放ros功能包路径的环境变量。可以使用如下命令添加路径:

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:[path of your ros package]

eg: export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src

(export命令修改环境变量的方式也能用来解决source覆盖机制)

还有一种可能,是你修改了ros功能包的名称,但是CMakeLists.txt文件和package.xml文件并不会自动修改。然而两个文件中都有关于功能包名的描述,这种情况下只需要修改两个文件中的功能包名称即可。

4、roscore打不开,并报错:

‘ascii’ codec can’t decode byte 0xe6 in position 10: ordinal not in range(128)
The traceback for the exception was written to the log file

注意不要在ubuntu桌面上创建ros包,这是因为ros的包路径不允许出现中文,所有ros包的路径都会被系统自动添加到ROS_PACKAGE_PATH和ROSLISP_PACKAGE_DIRECTORIES环境变量中,导致ros启动时出错。
解决方案是:将桌面上的包移动到其他不包含中文的目录中,或者删除这些包。

5、roscore打不开,并报错:

WARNING:ROS_MASTER_URI [http://MSI:11311] host is not set to this
machine

原因是在~/.bashrc文件中设置的节点管理器地址不是本机,而是在其他主机上,需要在该主机上打开roscoe或者将节点管理器地址修改为本机(注释掉ROS_MASTER_URI赋值即可,因为默认会将地址设置为本机)。

6、使用catkin_make 初始化或编译工作空间时,报错:

CMake Error at
/opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11
(message): execute_process(/home/robot/anaconda3/bin/python
“/opt/ros/kinetic/share/catkin/cmake/parse_package_xml.py”
“/opt/ros/kinetic/share/catkin/cmake/…/package.xml”
“/home/robot/ros_practice/build/catkin/catkin_generated/version/package.cmake”)
returned error code 1 Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkin_package_xml.cmake:74
(safe_execute_process)
/opt/ros/kinetic/share/catkin/cmake/all.cmake:163
(_catkin_package_xml)
/opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
CMakeLists.txt:52 (find_package)

– Configuring incomplete, errors occurred! See also “/home/robot/ros_practice/build/CMakeFiles/CMakeOutput.log”. See also
“/home/robot/ros_practice/build/CMakeFiles/CMakeError.log”. Invoking
“cmake” failed

这是因为安装了ros之后又安装了anaconda,导致系统将默认python更新为anaconda中安装的版本。然而新安装的anaconda中缺少支持ros的相关依赖包,因此需要使用以下命令安装相关的依赖包:

conda install setuptools
pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools

7、刚解决完上一个anaconda和ros共存的问题,又发现ros和python3.*不兼容,很多功能包中的python节点只能运行在python2.*中。否则各种报错。

8、进行分布式多机通信时,电脑之间互相可以ping通,但是节点之间却不能通信。报错:

[ERROR] [1552348968.995103251]: [registerPublisher] Failed to contact
master at [MSI:11311], Retrying…

这是因为防火墙没有关闭,注意参与通信的电脑都需要关闭防火墙。

9、roscore启动报错:

WARNING: unable to configure logging. No log files will be generated
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 “/usr/bin/rosversion”, line
11, in
load_entry_point(‘rospkg==1.1.9’, ‘console_scripts’, ‘rosversion’)() File
“/usr/lib/python2.7/dist-packages/rospkg/rosversion.py”, line 109, in
main
path = mm.get_path(args.package) File “/usr/lib/python2.7/dist-packages/rospkg/rospack.py”, line 201, in get_path
self._update_location_cache() File “/usr/lib/python2.7/dist-packages/rospkg/rospack.py”, line 184, in _update_location_cache
list_by_path(self._manifest_name, path, cache) File “/usr/lib/python2.7/dist-packages/rospkg/rospack.py”, line 74, in list_by_path
resource_name = root.findtext(‘name’).strip(’ \n\r\t’) AttributeError: ‘NoneType’ object has no attribute ‘strip’ Invalid

tag: Cannot load command parameter [rosversion]: command [rosversion roslaunch] returned with code [1].

Param xml is
The traceback for the exception was written to the log file No
handlers could be found for logger “roslaunch”

这是因为/usr/lib/python2.7/dist-packages/rospkg路径下的python文件没有可执行权限。进入该路径运行sudo chmod a+x rospack.py和sudo chmod a+x rosversion.py两句命令即可。

转载至:https://blog.csdn.net/li528405176/article/details/81941338

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值