创建 Autoware 存储库#
什么是元存储库?#
元仓库是管理多个仓库的仓库.
而 Autoware 就是其中之一.
它用作引用、配置、
以及对其他存储库进行版本控制.
为了实现这一点,
Autoware 元存储库包括 autoware.repos 文件
用于管理多个存储库.
我们将使用 VCS 工具
(版本控制系统)来处理 .repos 文件.
VCS 为我们提供了从多个存储库导入、导出和拉取的功能.
VCS 将用于导入所有必要的存储库,以将 Autoware 构建到我们的工作区中.
请参阅 VCS 和 .repos 文件用法的文档.
如何创建和自定义 autoware 元存储库#
1. 创建 autoware 元存储库#
如果要将 Autoware 集成到您的车辆中,第一步是创建 Autoware 元存储库.
一种简单的方法是 fork Autoware 存储库并克隆它. (有关如何 fork 仓库的说明, 请参阅 GitHub Docs)
- 在本指南中,Autoware 将集成到
tutorial_vehicle中 (注意:设置多种类型的车辆时, 建议添加autoware.vehicle_A或autoware.vehicle_B等后缀. 对于第一步, 请访问 autoware 存储库 ,然后单击 fork 按钮. fork 过程应如下所示:
然后点击 Create fork 按钮继续.之后,我们可以在本地系统上克隆我们的 fork 存储库.
git clone https://github.com/YOUR_NAME/autoware.<YOUR-VEHICLE>.git
例如,它应该用于我们的文档:
git clone https://github.com/leo-drive/autoware.tutorial_vehicle.git
1.1 创建车辆个人存储库#
要将 Autoware 集成到您的单个车辆中, 您还需要 fork 和修改以下存储库:
- sample_sensor_kit: 此存储库将用于检测启动文件、其管道组织和传感器描述.
请 fork 并重命名为 autoware meta-repository.此时,我们的 fork 仓库名称将为
tutorial_vehicle_sensor_kit_launch. - sample_vehicle_launch: 此存储库将用于车辆发布文件、vehicle_descriptions 和 vehicle_model.
请同时 fork 并重命名此存储库.此时,我们的 fork 仓库名称将为
tutorial_vehicle_launch. - autoware_individual_params: 此存储库存储根据每辆车而变化的参数(即传感器校准).请分叉
并重命名此存储库;我们的 forked 仓库名称将为
tutorial_vehicle_individual_params. - autoware_launch:此存储库包含 Autoware 的节点配置及其参数.
请 fork 并将其重命名为之前 fork 的仓库;
我们的 fork 仓库名称将为
autoware_launch.tutorial_vehicle.
2. 为您的环境自定义 autoware.repos#
你需要自定义你的 autoware.repos 来导入你的 fork 仓库.
autoware.repos 文件通常包含所有必要的 Autoware 仓库的信息
(校准和模拟器存储库除外).
因此,您的复刻仓库也应添加到此文件中.
2.1 将单个存储库添加到 autoware.repos#
在分叉所有仓库后,
您可以开始
将它们添加到您的 Autoware 元存储库
通过使用任何文本编辑器打开 autoware.repos 文件并更新 sample_sensor_kit_launch,
sample_vehicle_launch, autoware_individual_params
以及 autoware launch 和你自己的独立存储库.
例如,在本教程中,
我们分叉的 tutorial_vehicle 仓库的必要更改应如下所示:
-
传感器套件:
- sensor_kit/sample_sensor_kit_launch: - type: git - url: https://github.com/autowarefoundation/sample_sensor_kit_launch.git - version: main + sensor_kit/tutorial_vehicle_sensor_kit_launch: + type: git + url: https://github.com/leo-drive/tutorial_vehicle_sensor_kit_launch.git + version: main
-
Vehicle Launch:
- vehicle/sample_vehicle_launch: - type: git - url: https://github.com/autowarefoundation/sample_vehicle_launch.git - version: main + vehicle/tutorial_vehicle_launch: + type: git + url: https://github.com/leo-drive/tutorial_vehicle_launch.git + version: main
-
Individual Params:
- param/autoware_individual_params: - type: git - url: https://github.com/autowarefoundation/autoware_individual_params.git - version: main + param/tutorial_vehicle_individual_params: + type: git + url: https://github.com/leo-drive/tutorial_vehicle_individual_params.git + version: main
-
Autoware Launch:
- launcher/autoware_launch: - type: git - url: https://github.com/autowarefoundation/autoware_launch.git - version: main + launcher/autoware_launch.tutorial_vehicle: + type: git + url: https://github.com/leo-drive/autoware_launch.tutorial_vehicle.git + version: main
请对你自己的 autoware.repos 文件进行类似的更改. 进行这些更改后, 您将准备好使用 VCS 将所有必要的存储库导入到您的 Autoware 工作区中.
首先,在你自己的 Autoware 元仓库目录下创建一个 src 目录:
cd <YOUR-AUTOWARE-DIR>
mkdir src
然后,使用 vcs 导入所有必要的仓库:
cd <YOUR-AUTOWARE-DIR>
vcs import src < autoware.repos
在运行 vcs import 命令后,
所有 Autoware 存储库都将克隆在 Autoware 目录下的 src 文件夹中.
现在,你可以使用 colcon build 命令构建自己的仓库:
cd <YOUR-AUTOWARE-DIR>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
请参阅以下文档链接以获取说明 关于如何创建和自定义车辆的每个包装:
请记住将所有自定义包(例如接口和描述)添加到您的 autoware.repos 中,以确保您的包在 Autoware 存储库中正确包含和管理.