Skip to content

Commit

Permalink
global_traj_opt: とりあえずざっと書き上げた
Browse files Browse the repository at this point in the history
  • Loading branch information
KentaKato committed Aug 23, 2024
1 parent d4644a5 commit d934dba
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 10 deletions.
37 changes: 28 additions & 9 deletions AutomotiveAIChallenge/2024/global_trajectory_optimization.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@

トラックを走行する上で最適な軌道を生成するツールとして [global_trajectory_optimization](https://github.com/TUMFTM/global_racetrajectory_optimization) があります。



"最適" の評価指標として次の選択肢から選ぶことができます。
* 最短時間(mintime)
* 最短距離(shortest_path)
Expand All @@ -22,20 +20,41 @@
最短距離軌道の場合
<img src="https://github.com/Roborovsky-Racers/RoborovskyNote/blob/main/AutomotiveAIChallenge/2024/.images/global_trajectory_optimization/shortest.png?raw=true" width="400px" />

本ツールの詳しい内容については [M.Eguchiさんによるこちらの記事](https://zenn.dev/tamago117/articles/b021d2fcb875cc) をご覧ください。私自身、本ツールを今回使用するにあたってこちらの記事に助けられました。ありがとうございます
なお、最適指標の比較に関するの詳しい内容については [M.Eguchiさんによるこちらの記事](https://zenn.dev/tamago117/articles/b021d2fcb875cc) が詳しいです

## 環境構築

[global_trajectory_optimization 本家](https://github.com/TUMFTM/global_racetrajectory_optimization) の最終更新はやや古く、 requirments.txt に従っても動作しない可能性があります。
そこで、適切なバージョンの Python パッケージをインストールするためのスクリプトを [こちら](https://github.com/Roborovsky-Racers/global_racetrajectory_optimization/blob/master/setup_env.bash) を用意しました。少なくとも自動運転AIチャレンジ 2024 の Docker 環境においては正しく機能することを確認しています。
下記を実行すれば環境構築できます。少なくとも、自動運転AIチャレンジ 2024 の Docker 環境においては動作することを確認済みです。
```bash
git clone [email protected]:Roborovsky-Racers/global_racetrajectory_optimization.git
cd global_racetrajectory_optimization
./setup_env.bash
```

※補足
- [global_trajectory_optimization 本家](https://github.com/TUMFTM/global_racetrajectory_optimization) の最終更新はやや古く、 requirements.txt に従ってインストールしても動作しない可能性があります。
そこで、適切なバージョンを [requirements.txt](https://github.com/Roborovsky-Racers/global_racetrajectory_optimization/blob/master/requirements.txt) に反映させ、Python パッケージのインストールスクリプトを [こちら](https://github.com/Roborovsky-Racers/global_racetrajectory_optimization/blob/master/setup_env.bash) に用意しています。なお、 quadprog を requirements.txt に追加していないのは意図的です。

環境構築手順

## 軌道生成の実行

下記を実行すれば軌道生成が開始されます。
```bash
git clone [email protected]:Roborovsky-Racers/global_racetrajectory_optimization.git
cd global_racetrajectory_optimization
./setup_env.bash
cd /path/to/global_trajectory_optimization
python3 main_globaltraj.py
```

デフォルトでは最短時間(mintime)の軌道が生成されます。評価指標を変更したい場合は [こちら](https://github.com/Roborovsky-Racers/global_racetrajectory_optimization/blob/master/main_globaltraj.py#L60)を切り替えてください。


なお、自動運転AIチャレンジ 2024 のトラックの入力データは [こちら](https://github.com/Roborovsky-Racers/global_racetrajectory_optimization/blob/master/inputs/tracks/aic_2024.csv) に格納しています。こちらのデータを生成するにあたり [toki-1441さんのこちらの記事](https://qiita.com/toki-1441/items/615d781e3a20edf22cda) に大変助けられました。ありがとうございます。


最適化に使用される設定パラメータは[こちら](https://github.com/Roborovsky-Racers/global_racetrajectory_optimization/blob/master/params/racecar.ini) にあります。私達は左右の壁から少し離れた軌道を生成したかったため、車幅を実際より広めにするなどの変更が加えてあります。あくまで参考値としてご活用ください([本家との差分はこちら](https://github.com/Roborovsky-Racers/global_racetrajectory_optimization/commit/6ca9c96f59bc73e3c38530e67c0212eaa6bdbd25))。

※補足
- 本家のリポジトリをそのまま実行すると、 casadi のバージョンが原因(?)か `.../casadi/core/function_internal.cpp:1832: 'eval_sx' not defined for IpoptInterface.` というエラーが発生します。[こちらの Issue](https://github.com/TUMFTM/global_racetrajectory_optimization/issues/10) に従い、修正を加えてあります。


## 最後に
[global_trajectory_optimization](https://github.com/TUMFTM/global_racetrajectory_optimization) を自動運転AIチャレンジ 2024 の環境で実行できるようにするまでにいくつかハードルがあったため記事にしてみました。参考になれば幸いです。
2 changes: 1 addition & 1 deletion AutomotiveAIChallenge/2024/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@


## 開発記録
- [走行軌道の最適化ツールを自動運転AIチャレンジ2024コースに適用](/AutomotiveAIChallenge/2024/index.md)
- [走行軌道の最適化ツールを自動運転AIチャレンジ2024コースに適用](global_trajectory_optimization.md)
- 評価環境への外部パッケージインストール
- 経路最適化
- WP生成GUI
Expand Down

0 comments on commit d934dba

Please sign in to comment.