今天学习一下如何创建功能包。
跟着教程,首先创建一个catkin_ws的文件夹,下面再创建一个src文件夹。
1.通过:mkdir -p ~/catkin_ws/src。这个命令。
直接使用mkdir指令创建src文件夹的话,如果没有catkin_ws这个文件夹,那么将会出错,说没有该文件夹,无法创建。
而使用mkdir -p这个命令,可以递归创建目录,即使上级目录不存在,也会按目录层级自动创建目录。
2.继续。切换进入该文件夹下,通过命令cd ~/catkin_ws命令。
3.继续。通过catkin_make命令进行编译。(编译是让源代码生成可执行文件的过程)
继续。编译完成之后,catkin_ws目录下出现了bulid和devel文件夹,src,build和devel文件夹中都各有不同的文件。
4.然后配置环境变量。(为什么要配置环境变量?为了访问方便)
回到主文件夹ctrl+h显示隐藏文件夹。然后找到.bashrc这个文件。在文件的下方输入:source /home/zcfly/catkin_ws02/devel/setup.bash命令。
像下面一样,添加一行。
具体路径要找到自己的setup.bash文件查看属性看一下自己的路径哈。
然后source一下,source这个命令主要是寻找文件,通过这个寻找setup.sh文件。
source这个命令是配置工作空间,用于刷新环境,必不可少,将当前的工作空间配置了。每次编译之后都要执行以下source这个命令。
关于此命令,这里有一篇网友的文章非常详细。
至此,我们的catkin_ws工作空间就创建完成了,然后创建功能包,功能包在src文件夹下,我们常说的package就是指功能包,
package里面是写代码的地方。
用catkin_create_pkg这个命令来创建一个新的功能包。
我们来创建第一个功能包吧。
命令:catkin_create_pkg demo0 roscpp rospy std_msgs
这个命令的意思是:创建一个名为’demo0’的新功能包,这个功能包依赖于std_msgs、roscpp和rospy。
std_msgs、roscpp、rospy是ros程序依赖的库。
继续操作。
粘贴。
继续
然后,发现看代码好累,安装个qt吧
然后安装完了以后,在下面文件夹新建一个qt工程,然后在main函数里面讲上文中my_demo.cpp里的代码给复制到main函数,然后调试。
发现以下错误提示:
这里有解决办法:
可以,继续尝试。还是不行。
未完待续。