作者: Sam (甄峰) sam_code@hotmail.com
0. Package(功能包)简介:
功能包(Package)是ROS中组织软件的主要形式,可以编写代码并编译,执行。一个功能包一般包含程序文件,库文件,编译描述文件,配置文件,脚本等。 它是一组用于实现特定功能的相关文件集合。每个功能包由一个清单文件(package.xml)定义
1.Package的建立:
可以使用roscreate-pkg或者catkin创建Package. 我们先看如何使用catkin建立Package。
1.1: catkin Package特征:
一个Package被认为是catkin Package,必须满足以下条件:
A:必须包含一个package.xml文件(提供关于package的元信息)
B:必须包含一个使用catkin的CMakeLists.txt文件。
C:同一个文件夹内只能有一个Package。
所以,catkin内,通常包含: CMakeLists.txt config launch package.xml
1.2:catkin工作空间中的Package和目录管理:
Package建议放在ROS工作空间内. 目录结果通常如此:
catkin_ws,
catkin_ws/build, catkin_ws/devel, catkin_ws/src
catkin_ws/src/CMakeLists.txt //顶级CMake文件
catkin_ws/src/xxx/Package1 , catkin_ws/src/xxx/Package2 catkin_ws/src/xxx/Package3 //包都放在这里
1.3:catkin package创建:
使用catkin_create_pkg脚本创建一个新的package, 要指出包名,以及它依赖的包。
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
catkin_create_pkg Pakage_Name 新包依赖的Package1 新包依赖的Package2 新包依赖的Package3
2. 编译Package:
在catkin_ws 目录内,运行catkin_make
catkin_make
0. Package(功能包)简介:
功能包(Package)是ROS中组织软件的主要形式,可以编写代码并编译,执行。一个功能包一般包含程序文件,库文件,编译描述文件,配置文件,脚本等。 它是一组用于实现特定功能的相关文件集合。每个功能包由一个清单文件(package.xml)定义
1.Package的建立:
可以使用roscreate-pkg或者catkin创建Package. 我们先看如何使用catkin建立Package。
1.1: catkin Package特征:
一个Package被认为是catkin Package,必须满足以下条件:
A:必须包含一个package.xml文件(提供关于package的元信息)
B:必须包含一个使用catkin的CMakeLists.txt文件。
C:同一个文件夹内只能有一个Package。
所以,catkin内,通常包含: CMakeLists.txt config launch package.xml
1.2:catkin工作空间中的Package和目录管理:
Package建议放在ROS工作空间内. 目录结果通常如此:
catkin_ws,
catkin_ws/build, catkin_ws/devel, catkin_ws/src
catkin_ws/src/CMakeLists.txt //顶级CMake文件
catkin_ws/src/xxx/Package1 , catkin_ws/src/xxx/Package2 catkin_ws/src/xxx/Package3 //包都放在这里
1.3:catkin package创建:
使用catkin_create_pkg脚本创建一个新的package, 要指出包名,以及它依赖的包。
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
catkin_create_pkg Pakage_Name 新包依赖的Package1 新包依赖的Package2 新包依赖的Package3
2. 编译Package:
在catkin_ws 目录内,运行catkin_make
catkin_make