Skip to content

Commit

Permalink
docs: add map main modules (#22)
Browse files Browse the repository at this point in the history
* docs(main_module):add instruction documents

* docs(requirements): add requirement pc

* docs: add follow up
  • Loading branch information
taikitanaka3 authored Jun 14, 2024
1 parent 89201eb commit e8d1267
Show file tree
Hide file tree
Showing 10 changed files with 185 additions and 17 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/development/installation.ja.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# 環境構築

## 推奨環境

本大会で使用していただくPCの動作環境として以下を推奨しております。

- OS: Ubuntu 22.04
- CPU: Intel Core i5(4コア)以上(推奨)
- メモリ:
- 8GB以上(最低)
- 16GB以上(推奨)
- SSD: 60GB以上

## aptパッケージ等のインストール

まずは諸々最初に必要なパッケージをインストールします。
Expand Down
102 changes: 102 additions & 0 deletions docs/development/main-module.ja.md
Original file line number Diff line number Diff line change
@@ -1 +1,103 @@
# メインモジュール

## [任意]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をベースとした実装を用意しております.
本ページでは、その背景と説明に加えて、どのように本実装を活用できるかの紹介を行います.

前回のシミュレーション大会では、デフォルトのAutowareから機能を絞り、ノード数を減らした[縮小構成のAutowareを起動できるLaunchファイルを提供]()しました.その際の、背景や用意した意図については、[前大会のドキュメント](https://automotiveaichallenge.github.io/aichallenge2023-racing/customize/index.html)をご覧ください.

今回のシミュレーション大会では、前大会と同様にAutowareの部分的な活用や自由自在な取り込みを可能にするため、[AWSIMとの利用を想定した縮小構成のAutowareを用意しました](https://github.com/AutomotiveAIChallenge/aichallenge-2024/blob/main/aichallenge/workspace/src/aichallenge_submit/aichallenge_submit_launch/launch/reference.launch.xml)しました.


## 縮小構成のAutowareを用意した背景

### Autowareを利用する時の課題

デフォルトのAutowareでは様々な走行環境に対応するため、たくさんのノードから構成されています.

Autowareの公式ドキュメンテーションでは、[Autowareを構成するROSノードの構成図](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/node-diagram/)を見ることもできます.以下に現時点の図を示します.

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

自動運転に関わる各コンポーネントで多種多様な機能を揃えており、難易度の高い走行環境にも対応できるように作られています.

一方、その複雑な構成を理解し、各パラメータの意味や調整の仕方、モジュールの切り替え・入れ替えなどを行うことが必ずしも容易ではなくなっています.

### 縮小構成のAutoware-Microの用意

そのため、前回のシミュレーション大会では、デフォルトのAutowareから機能を絞り、ノード数を減らしたAutowareを用意しました.

Autoware-Microのノード図を以下に示します.ノード数が格段と減り、基本的な自動走行を可能とする機能のみが揃っていることが分かります.

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

Autoware-Microの特徴としては、以下が挙げられます.

- ほぼ全てのノードの起動を直接1つのLaunchファイルから行っている.
- パラメータを直接ノード起動時に書き込んでいるため、どのパラメータがどのノードで必要なのかを簡単に追うことができる.
- 各ノードの入出力となるROSトピック名も直接ノード起動時に`remap`しているため、トピック名も簡単に変えられる.

このAutowareをベースに自動運転ソフトを書くことで、以下のようなことができます.

- シンプルな構成となっているため、Autowareの中身をより深く理解できる
- 自作のモジュールをAutowareのものと簡単に入れ替えることができ、機能の改善に取り組める
- パラメータを変更した場合のシステム全体の動作への影響が分かりやすい
- 今回のAutowareには含まれていない既存のAutowareのノードを追加することもできる

各コンポーネントの変更点・特徴としては、以下が挙げられます.

- Localization:GNSS、IMU及び車輪速による自己位置推定
- Planning:behavior_velocity_plannerやobstacle_stop_plannerなどを省略し、出力経路から走行trajectoryを直接出力するように変更.
- Control:制御の1つの実装例としてsimple_pure_pursuitを用意.

## Autoware-Microの活用方法

Autoware-Microを活用することにより、本大会での課題となる:

1. カーブなどの戦略的な経路計画
2. 高速での車両制御

に集中して取り組むことができるようになります.

また、Autoware-Microの実装例を参考にしながら、Autowareのアーキテクチャとは少し異なる実装方法を試したり、新しくカスタムのノードを作成・導入したりすることができます.

独自のノードの実装を取り入れることにより、走行性能を向上させ点数を伸ばすことができます.

例えば、以下のような構成を考え、「Planning」と「Control」をそれぞれ実装して取り組んだり、「Planning & Control」を両方担うノードを実装できます.

ルートの入力と車両インターフェイス出力のROSトピックさえ合っていれば自由にカスタマイズして頂けます.

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

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

[アドベントカレンダー](https://qiita.com/advent-calendar/2023/jidounten-ai)

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

## 独自実装の作成例

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

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から呼び出しております)

※コピー元のパッケージのライセンスを違反しないよう各自確認お願いいたします。
Empty file.
16 changes: 16 additions & 0 deletions docs/development/requirements.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 推奨環境

本大会で使用していただくPCの動作環境として以下を推奨しております。

- OS: Ubuntu 22.04
- CPU: Intel Core i5(4コア)以上(推奨)
- メモリ:
- 8GB以上(最低)
- 16GB以上(推奨)
- SSD: 60GB以上

Windows環境しかお持ちでない方は、Ubuntu22.04のインストールをお願いいたします。Windows環境と同じディスクにUbuntu環境を入れることもできますが、不慣れな場合Windows環境を破壊してしまう可能性があるため、新しく外付けまたは内蔵SSDを購入したうえでそちらへのインストールをすることを強くお勧めします。

!!! info

Ubuntuのインストール方法については[こちらの記事](https://qiita.com/kiwsdiv/items/1fa6cf451225492b33d8)が参考になります。
60 changes: 46 additions & 14 deletions docs/development/workspace.ja.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
# ワークスペース

## 推奨環境

本大会で使用していただくPCの動作環境として以下を推奨しております。

- OS: Ubuntu 22.04
- CPU: Intel Core i5(4コア)以上(推奨)
- メモリ:
- 8GB以上(最低)
- 16GB以上(推奨)
- SSD: 60GB以上

## 大会用リポジトリのビルド・実行

大会用リポジトリでは、実際の動作環境はすべてDocker内で完結して提供されています。リポジトリの利用は以下の流れで行います。
Expand Down Expand Up @@ -72,13 +61,56 @@ Autowareのビルド後、以下のコマンドを実行します。
```bash
./run_evaluation.bash
```

下記の様な画面が表示されたら起動完了です。終了するにはターミナル上でCTRL + Cを入力します。
![autoware](./images/installation/autoware.png)

A. Dockerイメージのビルドをお願いします。
## [任意] 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/installation/autoware.png)

### [参考]ワークスペースの構成

### ワークスペースの構成
参考までにこちらにワークスペースの構成を記載しておきます。

docker-dev

Expand Down
12 changes: 9 additions & 3 deletions docs/getting-started.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,23 @@ Windows環境しかお持ちでない方は、Ubuntu22.04のインストール

## AIチャレンジの環境構築

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

[環境構築の説明ページ](./development/installation.md)

## 大会用リポジトリのビルド・実行

環境構築が終わってから再度`Alt+Ctrl+T`でターミナルを立ち上げてから、以下に従ってコマンドを実行します
環境構築が終わってから再度`Alt+Ctrl+T`でターミナルを立ち上げてから、以下に従ってコマンド`Ctrl+Shift+P`で貼り付けた後に`Enter`で実行します

[ワークスペースの使い方説明ページ](development/workspace.md)

## AIチャレンジでの開発の進め方

AIチャレンジで開発する上でベースとなるソースコードは[大会用リポジトリ](https://github.com/AutomotiveAIChallenge/aichallenge-2024/tree/main/aichallenge/workspace/src/aichallenge_submit)内に提供されています。参加者の皆様にはこちらのコードをカスタマイズすることで開発を進めていただきますが、Autowareに不慣れな方はまずは[入門講座](./course/index.md)を一通りやっていただくことをお勧めします。
ビルド・実行が終わってからメインモジュールの解説ページを読みながら実際に開発してみましょう。

[メインモジュールについての解説ページ](development/workspace.md)

※AIチャレンジで開発する上でベースとなるソースコードは[大会用リポジトリ](https://github.com/AutomotiveAIChallenge/aichallenge-2024/tree/main/aichallenge/workspace/src/aichallenge_submit)内に提供されています。参加者の皆様にはこちらのコードをカスタマイズすることで開発を進めていただきますが、Autowareに不慣れな方はまずは[入門講座](./course/index.md)を一通りやっていただくことをお勧めします。

## 参考

Expand Down Expand Up @@ -65,3 +69,5 @@ Q. `docker_run.sh: 行 35: rocker: コマンドが見つかりません`
A. [rockerのインストール](./development/installation.md)をお願いします。

Q. `WARNING unable to detect os for base image 'aichallenge-2024-dev', maybe the base image does not exist`

A. Dockerイメージのビルドをお願いします。
1 change: 1 addition & 0 deletions mkdocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ nav:
- development/visible-simulation.md
- development/main-module.md
- development/device-drivers.md
- development/requirements.md
- FAQ: faq.md
- Community: community.md

Expand Down

0 comments on commit e8d1267

Please sign in to comment.