Skip to content

创建 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_Aautoware.vehicle_B 等后缀. 对于第一步, 请访问 autoware 存储库 ,然后单击 fork 按钮. fork 过程应如下所示:

forking-autoware_repository

tutorial_vehicle 的分叉示例演示

然后点击 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 存储库中正确包含和管理.