Skip to content

Commit

Permalink
update document readability
Browse files Browse the repository at this point in the history
Signed-off-by: ismetatabay <[email protected]>
  • Loading branch information
ismetatabay committed Oct 20, 2023
1 parent 03eef10 commit c00eb98
Showing 1 changed file with 54 additions and 44 deletions.
Original file line number Diff line number Diff line change
@@ -1,37 +1,44 @@
# Creating Autoware repositories

## What is Meta-repository?
## 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.
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.
In order to do that,
Autoware meta-repository includes [`autoware.repos`](https://github.com/autowarefoundation/autoware/blob/main/autoware.repos) file for managing multiple repositories.
We will use [VCS](https://github.com/dirk-thomas/vcstool) tool (Version Control System) for handling .repos file.
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.

We will use VCS for importing all necessary repositories in our workspace.
Please follow the documentation for VCS and .repos file usage.
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 autoware repository and clone it.
(For how to fork a repository, refer to [GitHub Docs](https://docs.github.com/en/get-started/quickstart/fork-a-repo))
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 order to do that,
please go to the [autoware](https://github.com/autowarefoundation/autoware) repository
- 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.
For example,
we will integrate `tutorial_vehicle` for these guidelines
(If you set up multiple types of vehicles,
adding a suffix like `autoware.vehicle_A` or `autoware.vehicle_B` is recommended),
so our forking should be like this:
The fork process should look like this:

![forking-autoware_repository.png](images/forking-autoware_repository.png)
<figure markdown>
![forking-autoware_repository](images/forking-autoware_repository.png){ align=center }
<figcaption>
Sample forking demonstration for tutorial_vehicle
</figcaption>
</figure>

Then click "Create fork" button to continue. After that, we can clone our fork repository on our local system.

Expand All @@ -47,35 +54,37 @@ git clone https://github.com/leo-drive/autoware.tutorial_vehicle.git

#### 1.1 Create vehicle individual repositories

For integrating autoware on your own individual vehicles, you need fork and modify the following repositories as well:
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 contains node configurations and their parameters for Autoware. Please fork
and rename this repository as previous forked repositories, our forked repository name will be `autoware_launch.tutorial_vehicle`.

### 2. Customize your autoware.repos for your environment
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`.

You need to customize `autoware.repos` for your own vehicle's Autoware
(It is included under the forked Autoware meta-repository directory).
The all necessary autoware repos (except calibration and simulator repos)
information is included in this file.
### 2. Customize autoware.repos for your environment

Now we can add forked individual repositories to `autoware.repos` before the importing operation.
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 the forking of all repositories, we can start adding these repos to autoware.repos file.
In order to do that, you should open autoware.repos via any text editor.
You need to update `sample_sensor_kit_launch`,
`sample_vehicle_launch`,
`autoware_individual_params` and `autoware launch` with your own individual repos.
In example at this tutorial,
the necessary changes for our forked `tutorial_vehicle` repos should be like this:
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:

Expand Down Expand Up @@ -129,35 +138,36 @@ the necessary changes for our forked `tutorial_vehicle` repos should be like thi
+ version: main
```

Please do same similar changes on your own autoware.repos file.
After the changing these repositories,
we will be ready to use VCS for importing all necessary repositories to our autoware workspace.
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.

Firstly, we will create src directory under the own autoware meta-repository directory:
First, create a src directory under your own Autoware meta-repository directory:

```bash
cd <YOUR-AUTOWARE-DIR>
mkdir src
```

Then, we will import all necessary repositories via:
Then, import all necessary repositories with vcs:

```bash
cd <YOUR-AUTOWARE-DIR>
vcs import src < autoware.repos
```

After the running `vcs import` command,
all autoware repositories will be cloned in `src` folder under the Autoware directory.
all autoware repositories will be cloned in the `src` folder under the Autoware directory.

So, we can build our own repository with colcon build:
Now, you can build your own repository with colcon build command:

```bash
cd <YOUR-AUTOWARE-DIR>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
```

Please refer to the following documentation link for instructions on how to create and customize each `vehicle_interface`:
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/)
Expand Down

0 comments on commit c00eb98

Please sign in to comment.