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#刷新环境命令