今天在ROS工作空间下创建功能包的时候遇到一个问题:当我找到我的工作空间(cd ~/dev/catkin_ws/src)之后,正确的输入创建功能包命令$ catkin_create_pkg chapter2_tutorials std_msgs roscpp.显示创建成功。如图所示:
但是当我通过命令:
rospack find chapter2_tutorials
寻找功能包的时候却出现了错误提示:
[rospack] Error : package 'chapter2_tuorials' not found
然后,当我查看功能包内容的时候又是可以显示的,所以这就有可能是没有编译工作空间的原因。问题又来了,我记得昨天在创建空座空间的时候已经编译了啊!后来发现,原来编译好的空间没有创建功能包,在关闭ROS之后再次启动的时候就失效了,需要再次编译工作空间就OK了,但是,在不关闭ROS系统的情况下只是关闭Terminal,重新打开一个新的Terminal是不需要再次编译工作空间的。现在,开始重新编译工作空间,输入命令:
$ cd ~/dev/catkin_ws
$catkin_make
运行将会开始进行工作空间的编译,截图如下:
进一步加载setup.bash文件:$ source devel/setup.bash
再次查找路径:
$ rospack find chapter2_tutorials
就OK了,截图如下: