ROS基础教程二:创建软件包

tangtalang 于 2018-12-17 08:54 编辑了帖子
在上一篇教程中,我们创建了ROS工作空间,在这篇教程中我们来创建一个自己的软件包。
二:创建软件包
软件包的定义:ROS应用程序代码组织单元,每个软件包都可以包含程序库、可执行文件、脚本、或其他手动创建的东西。
1、在上篇中创建的工作空间中的src文件夹下,使用命令 catkin_create_pkg test_pkg std_msgs rospy roscpp ,其实这个功能包创建命令没有做太多工作,它只不过创建了一个存放这个功能包的目录,并在那个目录下生成了两个配置文件。(注意事项:ROS 包的命名遵循一个命名规范,只允许使用小写字母、数字和下划线,而且首字符必须是一个小写字母。一些 ROS工具,包括 catkin,不支持那些不遵循此命名规范的包。不符合命名规范的包名虽然会编译通过,但是会有警告,建议按照命名规范进行命名。)

2-1.1

创建通过后可以文件夹里看到两个文件夹和两个配置文件。

2-1.2

程序包依赖关系:一级依赖:在使用catkin_create_pkg(按tab键可以自动补全)命令时提供了几个程序包作为依赖包,我们可以使用 rospack depends1 +包名(test_pkg) 查看一级依赖。

2-1.3

若要想查看全部的依赖包,使用命令 rospack depends test_pkg 查看。

2-1.4

rospack列出了在运行catkin_create_pkg命令时作为参数的依赖包,这些依赖包随后保存在package.xml文件中。
若不想要每个软件包后,直接删除软件包文件夹,之后重新编译一下工作空间即可。

2、编写测试代码:为了演示如何正确的编译软件包, 我们需要在测试软件包 test_pkg 中编写一个测试代码才能演示如何编译软件包。
在test_pkg 软件包中的src文件夹(若没有该文件夹,可手动创建一个)下新建一个空白文档   test.cpp  ,打开后输入一下代码。

2-2.1

3、在编译之前,我们需要修改一下 CMakeLists.txt 这个编译配置文件,这样才能生成我们所需要的文件。

2-3.1

4、当修改完 CMakeLists.txt 文件后就可以在工作空间的根目录(一定要在该目录下编译)下使用catkin_make进行编译了。

2-4.1

2-4.2

5、运行节点:当编译过程没有错误时,接下来就可以使用rosrun命令来启动节点了,命令格式:rosrun +包名+ 节点名。首先新打开一个终端,运行 roscore 命令,启动master节点(同学可以百度一下master节点是什么)。

2-5.1
输出效果:
2-5.2


总结:要注意CMakeLists.txt 文件修改 和 要在工作空间的根目录下进行编译。
下篇教程:如何编写launch文件
后续教程将持续更新。。。。(教程资料如有问题欢迎指正)
游客
登录后才可以回帖,登录 或者 注册