FAQ
参加について
GPU未搭載のUbuntuPCでも参加できますか?
Intel内蔵GPUでもご参加いただけます。GPUが完全に未搭載PCの場合は、非サポートとなりますがAWSIMをヘッドレスモードで実行すれば、最低限の動作確認はできます。
MacやWindowsでも参加できますか?
本大会のサポート対象はUbuntu 22.04です。詳細のご案内はできませんが、一般的に下記のような方法があると思われます。なお、性能やパッケージの有無、ホスト-コンテナ内の通信設定などの問題が起きる可能性があります。
- デュアルブートでUbuntuを用意
- Windows上にVMでUbuntuを用意 (Hyper-V、VirtualBox、VMwareなど)
- WSL2上にUbuntuを用意
- Windows上にdocker環境を用意(直接、Autowareのイメージを入れる)
- クラウドに環境を構築 (過去の大会ではAWSを利用して参加されている方もいらっしゃいました)
プログラミング経験はどの程度必要ですか?
C++またはPythonの基礎的な知識があれば参加できます。まずはパラメータ調整から始めて、慣れてきたらコードの変更に挑戦してみてください。基礎演習ではゼロからステップバイステップで学べます。
Autoware / ROS 2 を触ったことがないのですが大丈夫ですか?
大丈夫です。多くの参加者がAutowareやROS 2に初めて触れる方です。開発の進め方を参考にまずはコマンドを打つところから始めてみましょう。その後、基礎演習等で学んでいきましょう。
どのようにしてAutowareを改良して参加すればよいかが分かりません。
段階的に以下のアプローチで進めることをお勧めします。
- パラメータ調整:
reference.launch.xmlの速度やゲイン値を変更する(開発のアイデア参照) - 基礎演習で学ぶ: 基礎演習で車両制御や経路追従の基礎を習得する
- ノードの改良・置き換え: メインモジュールを参考に、PlanningやControlのノードをカスタマイズする
また、外部の方の記事ですが、こちらも参考になるかもしれません。
FAQに載っていない質問はどこで聞けますか?
コミュニティページから参加者同士の情報交換の場にアクセスできます。
環境構築について質問する場合は、症状に加えてご自身の環境と./setup.bash doctorの結果もご共有いただけると、よりスムーズにアドバイスできます。
環境構築
WARNING unable to detect os for base image 'aichallenge-racingkart-dev', maybe the base image does not existが出ます。
Dockerイメージのビルドをお願いします。
Dockerがpullできません
newgrp dockerかsudo service docker restartでdockerの再起動またはUbuntuの再起動をお願いします。
make devで起動しません。
以下を確認してください。
- GPUドライバが正しくインストールされているか確認:
nvidia-smiでGPU情報が表示されることを確認してください。 - Dockerコンテナが残っていないか確認:
make downおよびmake down_allを実行してから再度make devを試してください。 - Dockerイメージがビルド済みか確認:
./docker_build.sh devを実行してから再度試してください。
AWSIMがコアダンプで終了します。
AWSIMを起動した直後にcoredumpで終了する場合、GPUのメモリが不足している可能性があります。そのため、nvidia-smiでGPUメモリの利用率が限界に達していないか確認してください。
なお、GPUのメモリは11GB以上を推奨しています。
AWSIMがピンク画面になります。
GPUの認識に失敗している可能性があります。例えば、NVIDIA GPUのみが存在するPCで、.env に docker-compose.gpu.yml が追加されていないとピンク画面になります。.envの確認を参照してください。まずはコンテナ内で nvidia-smi が正常に動作することを確認してください。NVIDIAドライバのインストール状況とDockerのGPU設定も確認してください。
AWSIMが重いです。(Intel 内蔵 GPU 使用時)
ご使用のGPUのスペックをご確認ください。特にPC全体が重くなってしまう場合はスペックが足りていない可能性があります。例えば第10世代 Intel Coreの内蔵GPUだと、3FPS程度しか出ませんでした。
AWSIMが重い・たまに固まります。(NVIDIA GPU 使用時)
NVIDIA GPU と Intel 内蔵 GPU の両方が搭載されたPCを使用している場合は、NVIDIAを優先して使用するように設定してください。
sudo prime-select nvidia
AWSIMの起動・終了に時間がかかります。
現状、数秒〜10秒程度かかります。
AWSで環境構築したところ、AWSIMは表示されたが、Rvizがブラックスクリーンとなりました。
sudo apt upgradeで治ったという事例がありますので、内容を確認の上、お試しください。
また、過去Issueにてご質問内容と似た質問がありましたので、こちらも合わせてご確認ください。
開発・デバッグ
pythonでパッケージを作成すると実行時 no module named * のerrorが起きます。
こちらを参考にしてみてください。
ros2 topic list が表示されません。
コマンドをDockerコンテナ内で発行していることと、ROS_DOMAIN_IDが設定されていることを確認してください。例えば、 export ROS_DOMAIN_ID=1
もしもDockerコンテナ外で確認している場合は、ワークスペースがソースされていることの確認をお願いします。
トピックの型を調べるには、どのようなコマンドを打てばよろしいでしょうか。
topicの型を調べる際はros2 topic info -v fuga_topicもしくはnodeが特定できれば、ros2 node info hoge-nodeで調べることができます。
その他にもROSに関する情報を調べたい場合は「ROS2 コマンド」で、ネット検索すると良いかもしれません。
Rviz上で地図・ルートが表示されません。
使用しているマップデータが適切な場所に配置されいるか・正しいかを確認してください。
docker_run.sh: 行 35: rocker: コマンドが見つかりませんが出ます。
現在の推奨ワークフローではmake devを使用するため、通常はdocker_run.shを使う必要はありません。開発の進め方を参照してください。デバッグ目的でdocker_run.shを使用する場合は、rockerの公式READMEに従ってインストールしてください。
Rockerが起動しません。
まず、rockerがインストールされているかの確認をお願いします。 インストールされているにも関わらず、起動しない場合は権限をご確認ください。過去の事例ですと、イメージをビルドしたアカウントと実行する際のアカウントの種類・権限が異なると実行できないことが報告されています。
Autoware
制御モードを変更するにはどうすればいいですか?
reference.launch.xmlのcontrol_mode引数を変更することで制御モードを切り替えられます。
mpc(デフォルト):MPCベースの制御pure_pursuit: Pure Pursuitベースの制御tiny_lidar_net: TinyLiDARNetによるEnd-to-End制御pilot_net: PilotNetによるEnd-to-End制御joycon: 手動テレオペ操作
経路生成(Behavior Path/Motion Planner)に関して教えてください。
behavior plannerは、主にODD3以上のいわゆる一般道での走行を行うのに必要な機能(一時停止線、横断歩道、信号停止)など破ってはいけない交通ルールを加味したplanningを行うものとなっています。 それ故、回避機能もルールベースの回避で最適化を行っていません。 一方でmotionはODD2以下のいわゆる限定区域や限定空間での走行を実現するもので、例えば信号や、地図の情報等といった情報を扱うものはありません。 障害物の回避や、停止、速度の最適化など、通常走行に必要な機能を担うものとなっています。
Autowareの回避行動について教えて下さい
回避には二種類あり、behavior pathとobstacle avoidanceがあります。 デフォルトではobstacle avoidabceの回避はoffで、経路の平滑化のみ行われる設定になっています。 また、デフォルトではbehavior pathで回避する設定にはなっていますがその際の回避対象物は車とトラックのみです。
center pointについて教えて下さい。
center pointは車両とトラックと歩行者を検知してくれますが、ダンボールなどタグ付けされていないものは検知できません。 ただ、現状のautowareとしてはplanningがobjectを受け取らないと動かないようになっており、objectを受け取る段階でcenter pointを使うデフォルトの構成にしていると、以下の2つの原因により不具合が起こります。
- center pointが死んだときにplanningが経路を生成できなくなる
- data associationでclusteringによる障害物検知結果が消される
そのため、perceptionの構成はautoware miniが理想的ですが、このあたりを理解してノードの足し引き、取捨選択をして実装することははなかなか難しいため、center pointが問題なく動くようにすることは重要になってくるかもしれません。 参考
mpcのチューニングをしたいのですが,今回AWSIMで使用されているモデルパラメータ(遅れや時定数など)は公開されていないでしょうか.
遅れや時定数については計測も公開もされていませんが、基本的な仕様についてはこちらに公開されています。
ドメインIDとは何ですか?
本大会ではマルチ車両対応のため、ROS 2のドメインID機能を使用しています。
- ドメイン0: AWSIM(シミュレータ)が使用
- ドメイン1〜4: 各車両が使用
domain_bridgeノードがドメイン間のトピックを橋渡しします。通常の開発では、ドメインIDを意識する必要はありません。
シミュレータ・実行
車を初期位置にリセットするにはどうすればいいでしょうか。
AWSIMのキーボード操作でSpaceキーを押すとリセットできます。また、/admin/awsim/resetトピックにstd_msgs/msg/EmptyをPublishすることでもリセットが可能です。
AWSIMの動作が安定しません。
GPUの性能不足が原因の一つになります。 高性能GPUの利用が難しい場合は、awsimの画面の下部にスライドバーでtime scaleを0.5くらいに設定すると安定して動作する可能性があります。
センサの追加取り付けは可能ですか。
同一条件・難易度で課題に取り組んでいただくために、新たなセンサの取り付けは不可としています。