本記事は自動運転AIチャレンジにおいて、車両の制御にLRQを適用した際のまとめを書いた記事となっております。
取り組んだ背景
筆者はもともとOSS連携に興味があり、今回のコンテストでPythonRoboticsを組み込んでOSS連携する取り組みが推奨されていました。
Autoware-Microでは経路追従としてsimple pure pursuitというものを採用しており、これを別のアルゴリズムを使って組み込んでみたら面白いのではないのか、というところからやってみました。
具体的にやったこと
1.PythonRoboticsのソースコードをAutowareに組み付ける
2.パラメータを調整してそれなりに走れるようにする
です。
PythonRoboticsのソースコードをAutowareに組み付ける
PythonRoboticsを組み付けるにあたり、C++を採用しました。
使用したものはC++RoboticsというPythonRoboticsをC++に移植していた
ソースコードがGitHub上にあったのでそれを採用しました。
もともとのソースコードはOdometory,TrajectoryがPythonRoboticsのシミュレーション用になっていましたので
Autowareのsimple pure pursuitを参考に改造して入れ込みました。
加えてカーブする際にうまく曲がってくれなかったので、アクセラレーションをかなり小さくする処理を加えることでカーブ時にかなり速度が落ちた状態で曲がるようにしました。
実行結果
実行結果は以下の動画となります。
2個目のカーブでフラフラした後壁に衝突してしまうことがほとんどだったのですが、5回中1回位の割合で他レーシングカートとぶつかって進路変更が行われてそれなりに走る結果となりました。
そのときの動画となります。