diff --git a/docs/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies.md b/docs/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies.md index 6ffce00a8a1..dd70be04490 100644 --- a/docs/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies.md +++ b/docs/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies.md @@ -12,7 +12,7 @@ type: - name: policies.sequence text: The type of the target sequence. - name: policies.policy - text: The type of the cooporation policy. + text: The type of the cooperation policy. --- {% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies.md b/docs/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies.md index 463bf6af96c..01a4ff4e8c8 100644 --- a/docs/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies.md +++ b/docs/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies.md @@ -10,7 +10,7 @@ type: - name: policies.sequence text: The type of the target sequence. - name: policies.policy - text: The type of the cooporation policy. + text: The type of the cooperation policy. res: - name: status text: response status diff --git a/docs/how-to-guides/integrating-autoware/.pages b/docs/how-to-guides/integrating-autoware/.pages index 29eb42aa464..d520a5f69a0 100644 --- a/docs/how-to-guides/integrating-autoware/.pages +++ b/docs/how-to-guides/integrating-autoware/.pages @@ -1,6 +1,6 @@ nav: - overview.md - - 1. Creating your Autoware meta repository: creating-your-autoware-meta-repository + - 1. Creating your Autoware repositories: creating-your-autoware-repositories - 2. Creating vehicle and sensor description: creating-vehicle-and-sensor-description - 3. Creating vehicle interface: creating-vehicle-interface-package - 4. Creating maps: creating-maps diff --git a/docs/how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository.md b/docs/how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository.md deleted file mode 100644 index 71b128ba18f..00000000000 --- a/docs/how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository.md +++ /dev/null @@ -1,57 +0,0 @@ -# Creating Autoware meta-repository - -## What is Meta-repository? - -A meta-repository is a repository that manages multiple repositories, and [Autoware](https://github.com/autowarefoundation/autoware) is one of them. -It serves as a centralized control point for referencing, configuring, and versioning other repositories. - -By using Ansible and VCS, you can automatically set up your Autoware. -`autoware.repos` file manages the configuration of multiple repositories. - -Note: VCS stands for Version Control System, such as Git or Subversion. - -## How to create and customize your autoware meta-repository - -### 1. Create autoware repository - -If you want to integrate Autoware into your vehicle, the first step is to create an Autoware meta-repository. - -One easy way is to fork [autowarefoundation/autoware](https://github.com/autowarefoundation/autoware) and clone it. -For how to fork a repository, refer to [GitHub Docs](https://docs.github.com/en/get-started/quickstart/fork-a-repo). - -```bash -git clone https://github.com/YOUR_NAME/autoware.git -``` - -If you set up multiple types of vehicles, adding a suffix like `autoware.vehicle_A` or `autoware.vehicle_B` is recommended - -### 2. Customize your autoware.repos for your environment - -You need to customize `autoware.repos` for your own vehicle's Autoware. - -For example, if you want to customize the parameters in your `individual_params` or `autoware_launch` package to fit your vehicle, you can modify the configuration of each package and use them accordingly. - -Please edit the parameters in Autoware's `autoware_individual_params` and `autoware_launch` packages to match your vehicle's specific requirements, as these packages provide sample parameters and may not be tailored to your vehicle by default. - -If you want to fork `autoware_individual_params` and make modifications, it would be as follows: - -Example: If you fork `individual_params` and rename `autoware_individual_params.vehicle_A`: - -```diff -- param/autoware_individual_params: -- type: git -- url: https://github.com/autowarefoundation/autoware_individual_params -- version: main -+ param/autoware_individual_params.vehicle_A: -+ type: git -+ url: https://github.com/YOUR_NAME/autoware_individual_params.vehicle_A -+ version: main -``` - -Please refer to the following documentation link for instructions on how to create and customize each `vehicle_interface`: - -- [creating-vehicle-and-sensor-description](https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description) -- [creating-vehicle-interface-package](https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/) -- [customizing-for-differential-drive-model](https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/) - -Please remember to add all your custom packages, such as interfaces and descriptions, to your `autoware.repos` to ensure that your packages are properly included and managed within the Autoware repository. diff --git a/docs/how-to-guides/integrating-autoware/creating-your-autoware-repositories/creating-autoware-repositories.md b/docs/how-to-guides/integrating-autoware/creating-your-autoware-repositories/creating-autoware-repositories.md new file mode 100644 index 00000000000..46600edc8dd --- /dev/null +++ b/docs/how-to-guides/integrating-autoware/creating-your-autoware-repositories/creating-autoware-repositories.md @@ -0,0 +1,176 @@ +# Creating Autoware repositories + +## What is a Meta-repository? + +A meta-repository is a repository that manages multiple repositories, +and [Autoware](https://github.com/autowarefoundation/autoware) is one of them. +It serves as a centralized control point for referencing, configuring, +and versioning other repositories. +To accomplish this, +the Autoware meta-repository includes the [`autoware.repos`](https://github.com/autowarefoundation/autoware/blob/main/autoware.repos) file +for managing multiple repositories. +We will use the [VCS](https://github.com/dirk-thomas/vcstool) tool +(Version Control System) to handle the .repos file. +VCS provides us with the capability to import, export, and pull from multiple repositories. +VCS will be used to import all the necessary repositories to build Autoware into our workspace. +Please refer to the documentation for VCS and .repos file usage. + +## How to create and customize your autoware meta-repository + +### 1. Create autoware meta-repository + +If you want to integrate Autoware into your vehicle, the first step is to create an Autoware meta-repository. + +One easy way is to fork the Autoware repository and clone it. +(For instructions on how to fork a repository, +refer to [GitHub Docs](https://docs.github.com/en/get-started/quickstart/fork-a-repo)) + +- In this guide, Autoware will be integrated into a `tutorial_vehicle` + (Note: when setting up multiple types of vehicles, + adding a suffix like `autoware.vehicle_A` or `autoware.vehicle_B` is recommended). + For the first step, + please visit the [autoware](https://github.com/autowarefoundation/autoware) repository + and click the fork button. + The fork process should look like this: + +
+ ![forking-autoware_repository](images/forking-autoware_repository.png){ align=center } +
+ Sample forking demonstration for tutorial_vehicle +
+
+ +Then click "Create fork" button to continue. After that, we can clone our fork repository on our local system. + +```bash +git clone https://github.com/YOUR_NAME/autoware..git +``` + +For example, it should be for our documentation: + +```bash +git clone https://github.com/leo-drive/autoware.tutorial_vehicle.git +``` + +#### 1.1 Create vehicle individual repositories + +To integrate Autoware into your individual vehicles, +you need to fork and modify the following repositories as well: + +- [sample_sensor_kit](https://github.com/autowarefoundation/sample_sensor_kit_launch): This repository will be used for sensing launch files, their pipelines-organizations and sensor descriptions. + Please fork and rename as autoware meta-repository. At this point, our forked repository name will be `tutorial_vehicle_sensor_kit_launch`. +- [sample_vehicle_launch](https://github.com/autowarefoundation/sample_vehicle_launch): This repository will be used for vehicle launch files, vehicle_descriptions and vehicle_model. + Please fork and rename this repository as well. At this point, our forked repository name will be `tutorial_vehicle_launch`. +- [autoware_individual_params](https://github.com/autowarefoundation/autoware_individual_params): This repository stores parameters that change depending on each vehicle (i.e. sensor calibrations). Please fork + and rename this repository as well; our forked repository name will be `tutorial_vehicle_individual_params`. +- [autoware_launch](https://github.com/autowarefoundation/autoware_launch): + This repository contains node configurations and their parameters for Autoware. + Please fork and rename it as the previously forked repositories; + our forked repository name will be `autoware_launch.tutorial_vehicle`. + +### 2. Customize autoware.repos for your environment + +You need to customize your `autoware.repos` to import your forked repositories. +The `autoware.repos` file usually includes information for all necessary Autoware repositories +(except calibration and simulator repositories). +Therefore, your forked repositories should also be added to this file. + +#### 2.1 Adding individual repos to autoware.repos + +After forking all repositories, +you can start +adding them to your Autoware meta-repository +by opening the `autoware.repos` file using any text editor and updating `sample_sensor_kit_launch`, +`sample_vehicle_launch`, `autoware_individual_params` +and `autoware launch` with your own individual repos. +For example, in this tutorial, +the necessary changes for our forked `tutorial_vehicle` repositories should be as follows: + +- Sensor Kit: + + ```diff + - 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: + + ```diff + - 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: + + ```diff + - 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: + + ```diff + - 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 + ``` + +Please make similar changes to your own autoware.repos file. +After making these changes, +you will be ready to use VCS to import all the necessary repositories into your Autoware workspace. + +First, create a src directory under your own Autoware meta-repository directory: + +```bash +cd +mkdir src +``` + +Then, import all necessary repositories with vcs: + +```bash +cd +vcs import src < autoware.repos +``` + +After the running `vcs import` command, +all autoware repositories will be cloned in the `src` folder under the Autoware directory. + +Now, you can build your own repository with colcon build command: + +```bash +cd +colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release +``` + +Please refer to the following documentation links for instructions +on how to create and customize each of your vehicle's packages: + +- [creating-vehicle-and-sensor-description](https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description) +- [creating-vehicle-interface-package](https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/) +- [customizing-for-differential-drive-model](https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/) + +Please remember to add all your custom packages, such as interfaces and descriptions, to your `autoware.repos` to ensure that your packages are properly included and managed within the Autoware repository. diff --git a/docs/how-to-guides/integrating-autoware/creating-your-autoware-repositories/images/forking-autoware_repository.png b/docs/how-to-guides/integrating-autoware/creating-your-autoware-repositories/images/forking-autoware_repository.png new file mode 100644 index 00000000000..cb02ea0861f Binary files /dev/null and b/docs/how-to-guides/integrating-autoware/creating-your-autoware-repositories/images/forking-autoware_repository.png differ