ROS入门之package

什么是package

package:功能包,是ros软件的基本组成形式,是catkin编译的基本单元。一个package可以包含多个可执行文件。
在这里插入图片描述
package只有有这两个文件,才能被编译系统认为是package。

CmakeList.txt

CmakeList.txt规定编译规则。源文件,依赖,目标文件等。。。
在这里插入图片描述

在创建package时候,会生成模板,然后来改就好。

package.xml

package.xml文件定义package的属性信息,作者,维护者等。只需要改划横线的地方就好。
在这里插入图片描述
老版本叫manifest.xml

代码文件

在这里插入图片描述
scripts:脚本文件
include:头文件
scr:python或者cpp

自定义通信内容(消息,服务,动作)

在这里插入图片描述

launch文件、配置文件

将可执行文件组织起来
launch一次运行多个可执行文件
config:参数,设置
在这里插入图片描述

总结

在这里插入图片描述

常用包管理指令

在这里插入图片描述

比如用rosed命令。

rosed test1 CMakeLists.txt 

可以直接打开这个CMakeLists.txt 文件,因为这个文件是编译规则的模板,生成message就只需要将注释去掉,等。
在这里插入图片描述
第六个用在github上clone的package

实践

tree软件可以查看结构
在这里插入图片描述
创建package且自动添加依赖进CMakeLists.txt和package.xml

catkin_create_pkg test1 roscpp rospy std_msgs nav_msgs#c++,py编成API,通信,导航

clone的文件放在src中,然后回到工作空间安装依赖,最后编译。

下面的代码是将这个命令放在这个环境变量文件中,这样每开一个终端就可以自动执行source。这样才能用之前讲的命令去操作。

echo "source ~/ros_test/devel/setup.bash">> ~/.bashrc
rospack profile#刷新环境命令
发布了53 篇原创文章 · 获赞 8 · 访问量 3062

猜你喜欢

转载自blog.csdn.net/def_init_myself/article/details/105338078