ament(ROS 2 构建系统)
ament进阶ROS 2 的包构建系统,ament_cmake 管 C++ 包,ament_python 管 Python 包
ament 是 ROS 2 采用的构建系统,是 ROS 1 里 catkin 的后继。它规定了一个 ROS 2 功能包(package)怎么声明依赖、怎么编译、怎么安装以及怎么被其他包找到。常用的两种构建类型是 ament_cmake(基于 CMake,用于 C++ 包,也可以装 Python 脚本)和 ament_python(基于 Python 的 setuptools,用于纯 Python 包),在 package.xml 里用 build_type 指定。日常开发中大家不直接调用 ament,而是用 colcon 这个构建工具一次编译整个工作空间,colcon 会根据每个包的类型去调用对应的 ament 流程。新手在 ROS 2 里新建包时用 ros2 pkg create 选择 ament_cmake 或 ament_python 即可。
例子ros2 pkg create my_controller --build-type ament_python 会生成一个带 setup.py 的 Python 包,再用 colcon build 编译整个工作空间。
- 也叫
- ament_cmake、ament_python
- 相关
- ROS 2、colcon、catkin(ROS 1 构建系统)、功能包、ROS 工作空间、CMake
- 来源
- ROS 2 Docs: About the build system
ROS 2 Design: ament