Skip to content

Commit

Permalink
Merge branch 'main' into 3-2
Browse files Browse the repository at this point in the history
  • Loading branch information
masahiro-kubota committed Jul 19, 2024
2 parents d636368 + 75f7c79 commit 38e4f05
Show file tree
Hide file tree
Showing 38 changed files with 1,648 additions and 290 deletions.
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,25 @@

このリポジトリでは、自動車技術会主催の自動運転AIチャレンジで使用するドキュメントのリソースを管理しています。参加者の皆様は、生成されたドキュメントサイトをご覧ください。

This repository manages the documentation resources used for the Autonomous Driving AI Challenge organized by the Society of Automotive Engineers of Japan. Participants are encouraged to view the generated documentation site.

- [日本語ページ](https://automotiveaichallenge.github.io/aichallenge-documentation-2024/)
- [English Page](https://automotiveaichallenge.github.io/aichallenge-documentation-2024/en/)

## Deploy

ドキュメントの生成環境をインストールするには以下のコマンドを実行します。

To install the documentation generation environment, run the following command:

```bash
pip install -r requirements.txt
```

ドキュメントをローカル環境で確認したい場合は以下を実行します。

To view the documentation in your local environment, run:

```bash
mkdocs serve
```
Binary file added docs/assets/top_image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions docs/community.en.md
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
# Community

## Autonomous Driving AI Challenge Advent Calendar 2024

<https://qiita.com/advent-calendar/2023/jidounten-ai>

## Articles on Autonomous Driving AI Challenge Efforts

<https://automotive.panasonic.com/feature/jaaic>

<https://www.ritsumei.ac.jp/ise/suki_ict/story01.html/>

We are actively seeking contributions!!!
12 changes: 10 additions & 2 deletions docs/competition/rules/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# 移動しました
# Redirect

このページの内容は[こちら](../../information/rules.ja.md)に移動しました。
<!doctype html>
<html>
<head>
<title>Redirect</title>
<meta http-equiv="refresh" content="0;url=../../information/rules.html">
</head>
<body>
</body>
</html>
185 changes: 185 additions & 0 deletions docs/development/images/where-to-start.drawio.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions docs/development/main-module.en.md
Original file line number Diff line number Diff line change
@@ -1 +1,81 @@
# Main Module

## Customizing Autoware

For this competition, we have prepared an implementation based on the autonomous driving software Autoware. This page provides background information and explanations on how to utilize this implementation effectively.

In the previous simulation competition, we provided a launch file that could start a reduced configuration of Autoware by limiting functions and reducing the number of nodes from the default Autoware. For the background and purpose of this setup, please refer to the [previous competition's documentation](https://automotiveaichallenge.github.io/aichallenge2023-racing/customize/index.html).

For this simulation competition, we have similarly prepared a [reduced configuration of Autoware designed for use with AWSIM](https://github.com/AutomotiveAIChallenge/aichallenge-2024/blob/main/aichallenge/workspace/src/aichallenge_submit/aichallenge_submit_launch/launch/reference.launch.xml) to enable partial use and flexible integration of Autoware.

## Background of the Reduced Configuration of Autoware

### Challenges of Using Autoware

The default Autoware is composed of many nodes to accommodate various driving environments.

You can also view the [configuration diagram of ROS nodes that constitute Autoware](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/node-diagram/) in the official Autoware documentation. The current diagram is shown below.

![node-diagram](./images/architecture/autoware-node-diagram.png)

Autoware is equipped with a wide range of functions in each component related to autonomous driving, designed to handle complex driving environments.

However, understanding this complex configuration, the meaning and adjustment of each parameter, and switching or replacing modules is not necessarily easy.

### Preparing a Reduced Configuration of Autoware-Micro

Therefore, in the previous simulation competition, we prepared a reduced configuration of Autoware by limiting functions and reducing the number of nodes from the default Autoware.

The node diagram of Autoware-Micro is shown below. You can see that the number of nodes has significantly decreased, and only the functions necessary for basic autonomous driving are included.

![micro-node-diagram](./images/architecture/reference-autoware.png)

Features of Autoware-Micro include:

- Almost all nodes are started directly from a single launch file.
- Parameters are written directly at the node startup, making it easy to track which parameters are needed for which nodes.
- The ROS topic names used for input and output of each node are directly remapped at the node startup, making it easy to change the topic names.

By writing autonomous driving software based on this Autoware, you can:

- Understand the inner workings of Autoware more deeply due to its simple configuration.
- Easily replace Autoware modules with your custom modules to work on functionality improvements.
- Clearly see the impact of parameter changes on the overall system operation.
- Add existing Autoware nodes that are not included in this version of Autoware.

Changes and features of each component include:

- Localization: Self-position estimation using GNSS, IMU, and wheel speed.
- Planning: Simplified by omitting behavior_velocity_planner and obstacle_stop_planner, directly outputting a driving trajectory from the output route.
- Control: A simple implementation example of control with simple_pure_pursuit.

## Utilizing Autoware-Micro

By utilizing Autoware-Micro, you can focus on the challenges of this competition:

1. Strategic route planning for curves.
2. Vehicle control at high speeds.

Moreover, while referring to the implementation example of Autoware-Micro, you can try implementation methods slightly different from Autoware's architecture or create and introduce new custom nodes.

By incorporating your custom nodes, you can improve driving performance and increase your score.

For example, you can consider the following configuration, implement "Planning" and "Control" separately, or implement a node that handles both "Planning & Control."

You are free to customize as long as the ROS topics for route input and vehicle interface output match.

![racing-diagram](./images/architecture/racing_simple.png)

## Workspace Structure

For reference, the workspace structure used in this competition is as follows:

docker-dev

![dev](./images/docker/dev.drawio.svg)

docker-eval

![eval](./images/docker/eval.drawio.svg)

## [NextStep: Reference](./reference.en.md)
32 changes: 7 additions & 25 deletions docs/development/main-module.ja.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
# メインモジュール

## [任意]Mapの編集

2024年度のAIチャレンジでは[VectorMapBuilder](https://tools.tier4.jp/feature/vector_map_builder_ll2/)などのツールを使ってpoint cloud map , lanelet2 mapなどの地図の編集を推奨しています。

[Mapのファイル置き場](https://drive.google.com/drive/folders/1nsYIg_3rwIjg0x6BC__aWVmnv-25nZkn)からpointcloud map lanelet2 mapなどをダウンロードして編集してみましょう!

[VectorMapBuilderの使い方動画](https://www.youtube.com/watch?v=GvZr707TmuM)にステップバイステップのインストラクションなどがあるので参考にしてみてください。

作成したlanelet2 mapは`aichallenge/workspace/src/aichallenge_submit/aichallenge_submit_launch/map`に格納しましょう!

## Autowareのカスタマイズ

本大会では、自動運転ソフトウェアAutowareをベースとした実装を用意しております.
Expand Down Expand Up @@ -79,24 +69,16 @@ Autoware-Microを活用することにより、本大会での課題となる:

![racing-diagram](./images/architecture/racing_simple.png)

昨年度の取り組みはこちらのアドベントカレンダーにまとめられていますので参考にしてみてください。
## ワークスペースの構成

[アドベントカレンダー](https://qiita.com/advent-calendar/2023/jidounten-ai)
参考までに本大会で使用しているワークスペースの構成は以下となります。

どれから読もうか迷った方は2023年度コミュニティ貢献賞を受賞した田中新太さんが記載してくれた[こちらの記事](https://qiita.com/Arata-stu/items/4b03772348dca4f7ef89)から読み進めると良いと思います。
docker-dev

## 独自実装の作成例
![dev](./images/docker/dev.drawio.svg)

とりあえず新たに自作パッケージを作成してみたい方は既存のパッケージをコピーしたり、[autoware practice](https://github.com/AutomotiveAIChallenge/autoware-practice)をコピーする形で以下のように進めると良いと思います。
docker-eval

1. 元のパッケージをコピーして、下記を変更
- パッケージ名
- フォルダ名
- コード
- package.xml
- CMakeLists.txt
2. aichallenge_submitの中に配置
3. autoware_micro_awsim_launchから呼び出されるlaunchファイルを変更
- 参考例:pose_initializer_custom( autoware_universe_launch/tier4_localization_launch/launch/util/util.launch.xmlから呼び出しております)
![eval](./images/docker/eval.drawio.svg)

※コピー元のパッケージのライセンスを違反しないよう各自確認お願いいたします。
## [NextStep:参考](./reference.ja.md)
63 changes: 63 additions & 0 deletions docs/development/reference.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Reference

## Incorporating Changes

When there are significant updates to the competition environment, announcements will be made accordingly. For reference, the following instructions are provided.

Update Docker

```bash
docker pull ghcr.io/automotiveaichallenge/autoware-universe:humble-latest
```

Update Repository

```sh
cd aichallenge2024 # path to aichallenge2024
git pull origin/main
```

## Installing AWSIM with Visualization

If you want to check the simulation screen of AWSIM, follow the steps in [this guide](../setup/visible-simulation.en.md) to install AWSIM with visualization.

## Setting up Three Terminals for Debugging (Reference)

To develop with three terminals for debugging, open the first terminal using `Alt+Ctrl+T` and then execute the following commands by pasting them with `Ctrl+Shift+P` and pressing `Enter`.

```bash
cd ~/aichallenge-2024
./docker_run.sh dev cpu
```

```bash
cd /aichallenge
bash run_simulator.bash
```

Open the second terminal using `Alt+Ctrl+T` and then execute the following commands by pasting them with `Ctrl+Shift+P` and pressing `Enter`.

```bash
cd ~/aichallenge-2024
./docker_run.sh dev cpu
```

```bash
cd /aichallenge
bash run_autoware.bash
```

Open the third terminal using `Alt+Ctrl+T` and then execute the following commands by pasting them with `Ctrl+Shift+P` and pressing `Enter`.

```bash
cd ~/aichallenge-2024
./docker_run.sh dev cpu
```

```bash
cd /aichallenge
ros2 topic pub --once /control/control_mode_request_topic std_msgs/msg/Bool '{data: true}' >/dev/null
```

When the screen below appears, the startup is complete. To terminate, press CTRL + C in each terminal.
![autoware](./images/autoware.png)
64 changes: 64 additions & 0 deletions docs/development/reference.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# 参考

## 変更点の取り込み

大会環境の重大なアップデートがあった際には適宜アナウンスがあります。
参考までにこちらに記載しています。以下を実行してください。

Dockerのupdate

```bash
docker pull ghcr.io/automotiveaichallenge/autoware-universe:humble-latest
```

Repositoryのupdate

```sh
cd aichallenge2024 # path to aichallenge2024
git pull origin/main
```

## 描画ありAWSIMの導入

AWSIMのシミュレーション画面を確認したい方は、[こちら](../setup/visible-simulation.ja.md)の手順に従って描画ありAWSIMの導入を行ってください。

## Debug用にTerminalを3つ用意して開発したい場合 (参考)

`Alt+Ctrl+T`で1つ目のターミナルを立ち上げてから、以下のコマンド`Ctrl+Shift+P`で貼り付けた後に`Enter`で実行します。

```bash
cd ~/aichallenge-2024
./docker_run.sh dev cpu
```

```bash
cd /aichallenge
bash run_simulator.bash
```

`Alt+Ctrl+T`で2つ目のターミナルを立ち上げてから、以下のコマンド`Ctrl+Shift+P`で貼り付けた後に`Enter`で実行します。

```bash
cd ~/aichallenge-2024
./docker_run.sh dev cpu
```

```bash
cd /aichallenge
bash run_autoware.bash
```

`Alt+Ctrl+T`で3つ目のターミナルを立ち上げてから、以下のコマンド`Ctrl+Shift+P`で貼り付けた後に`Enter`で実行します。

```bash
cd ~/aichallenge-2024
./docker_run.sh dev cpu
```

```bash
cd /aichallenge
ros2 topic pub --once /control/control_mode_request_topic std_msgs/msg/Bool '{data: true}' >/dev/null
```

下記の様な画面が表示されたら起動完了です。終了するには各ターミナル上でCTRL + Cを入力します。
![autoware](./images/autoware.png)
12 changes: 10 additions & 2 deletions docs/development/requirements/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# 移動しました
# Redirect

このページの内容は[こちら](../../setup/requirements.ja.md)に移動しました。
<!doctype html>
<html>
<head>
<title>Redirect</title>
<meta http-equiv="refresh" content="0;url=../../setup/requirements.html">
</head>
<body>
</body>
</html>
Loading

0 comments on commit 38e4f05

Please sign in to comment.