报错问题
在用ROS和ur5连接时,运行ur_modern_driver中的ur5_ros_control.launch文件时报错can't locate node [spawner] in package [controller_manager],显示找不到controller_manager中的spawner节点。
错误原因
在安装ros_control包时,习惯用git clone 在Github上直接下载ros_control包,编译也没出现问题,但是运行上面的launch文件发现找不到spawner节点,后来按照官方提供的第一种安装方法(kinetic版本):
$ sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers
由于是sudo安装,安装到opt/ros/kinetic文件夹里,source /opt/ros/kinetic/setup.bash后运行launch文件,连launch文件都找不到了。
到目前还没弄清楚source /opt/ros/kinetic/setup.bash和source ~/catkin_ws/devel/setup.bash该在什么情况用哪个。。
解决方法
很简单,换了官方提供的第二种安装方法,直接安装到自己的工作空间中。
cd CATKIN_WORKSPACE/src/ros_control wstool init wstool merge https://raw.github.com/ros-controls/ros_control/kinetic-devel/ros_control.rosinstall wstool update cd .. rosdep install --from-paths . --ignore-src --rosdistro kinetic -y catkin_make
运行launch文件,没报错。