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 module
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 param tag: Cannot load command parameter [rosversion]: command [rosversion roslaunch] returned with code [1].
Param xml is param command rosversion roslaunch name rosversion /
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两句命令即可。
点赞 12 评论 2
本文链接: http://wasros.immuno-online.com/view-750564.html