Autoware.Autoをインストールしてみた
※2021.03.13更新
初稿以降,公式サイトのインストールに関する情報もだいぶ変わった.バージョン1.0.0がリリースされたので,最新情報にアップデートしておく.
- 公式サイトアップデート情報のダイジェスト
- サポートするアーキテクチャとして,amd64に加えてarm64が明記された
- 依存環境としてROS2が明記された
- ADEを用いた仮想環境ベースのインストール手順(以下,ADEインストール)については,アーキテクチャごとにコンテナが提供され,ユーザがビルドする必要がなくなった
- ADEインストールの他に,ターゲットのルートファイルシステム上でビルドしてインストールする手順(以下,ネイティブビルド)も提供された ※本稿では取り扱わないが,別記事を起こす予定
- arm64向けのADEインストールでは,通常のADEインストールの他に仮想環境内にADEインストールする手順が提供された(クラウド上のインスタンスにADEインストールすることを想定している?) ※本稿では取り扱わない
- 車のシミュレータとしてLGSVL simulatorをADEインストールする手順が提供された(これまではUnityをインストールしたり色々設定したりと煩雑な手順が必要だった) ※本稿では取り扱わないが,インストールしてAutoware.Autoとの連携が確認できたら別記事を起こす予定
- 本稿での対応
- ROS2 Dashingベースのシステムは保守のみとなったので,ROS2 Dashingに関する記述は取り消し線で取り消す
- ROS2 FoxyでのADEインストールについて扱う
- ADEインストールの手順は大きく変わっているので,必要に応じてこれまでのやり方は折りたたんでおく
- マイコンとの接続については使用しているros2arduinoがROS2 Dashingのみの対応であり,現状ROS2 Foxyへの対応が見込めないことから,参考扱いとして折りたたむ
記事概要
備忘録程度に,Autoware.Autoをインストールして拡張カルマンフィルタデモを起動するところまでの手順を記す.
環境
ベースOS | Docker | ROS2 | CPU, RAM | |
---|---|---|---|---|
環境1 | Ubuntu 20.04(amd64) | v19.03 | Foxy | Core i5-7200U, 4GB x 2 |
Dockerは後述の開発環境"ADE"に必要.ROS2環境はAutoware.Autoの明示的なインストール要件に含まれていないが,筆者の環境には既にROS2の環境が構築されていたので記しておく.
ADEインストールの手順
公式サイトのインストール手順をベースに補足していく.ADEそのもののインストールについては筆者の好みで改変しているので,トラブるようなら公式サイトに従うのが良いだろう.大まかなステップとしては以下の通り.
Step1. ADEのインストール
Step2. プロジェクトのチェックアウト
Step3. プロジェクトのビルドADE環境の設定
Step4. 拡張カルマンフィルタデモの起動
ADEのインストール
公式サイトには静的リンクのバイナリを落とすように記載されているが,筆者の好みで以下の手順で進めた.
Ubuntu 20.04の場合
$ pip3 install ade-cli
$ ade --version
3.5.1
Ubuntu 18.04の場合
$ pip3 install ade-cli
$ ade --version
3.5.1
プロジェクトのチェックアウト
公式サイトの手順に説明を加える.
ADEのワークスペースを作成する.
$ mkdir ~/adehome
$ cd ~/adehome
$ touch .adehome
クローンする.
$ cd ~/adehome
$ git clone https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git
所望のリリースタグをチェックアウトする.ここではrelease-1.0.0
ブランチの1.0.0
タグをチェックアウトする.
$ cd AutowareAuto
$ git checkout tags/1.0.0 -b release-1.0.0
ホストシステムとの設定ファイルの共有設定(任意). ※公式サイトの説明にはささやかなtypoがあるので注意
$ cd ~
$ mv ~/.bashrc ~/adehome/.bashrc
$ ln -s ~/adehome/.bashrc
adehomeに,環境変数の設定ファイル".aderc"を配置する.中身へのリンクはこちら. GitLabからプロジェクトをチェックアウトするにあたって,筆者の環境ではGitLabにSSH接続している状態が必要であった. 別ターミナルにてSSH接続. この状態で とするとプロジェクトをチェックアウトできた.以前のやり方で必要だった手順(参考用に折りたたんで残す)
export ADE_DOCKER_RUN_ARGS="--cap-add=SYS_PTRACE -e RMW_IMPLEMENTATION=rmw_cyclonedds_cpp"
export ADE_GITLAB=gitlab.com
export ADE_REGISTRY=registry.gitlab.com
export ADE_DISABLE_NVIDIA_DOCKER=true
export ADE_IMAGES="
registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/ade:master
registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto:master
"
SSH公開鍵の登録やSSH接続の設定についてはこちらを参考にした.ssh -T [email protected]
$ cd adehome
$ git clone --recurse-submodules [email protected]:autowarefoundation/autoware.auto/AutowareAuto.git
ADE環境の設定
ADEの設定ファイル(.aderc
)はアーキテクチャやベースとなるROS2のバージョンごとに雛形が用意されている.ADE環境に入る前にadehome
ディレクトリ内の.aderc
が所望の雛形へのシンボリックリンクとなっていることを確認する.
$ cd ~/adehome
$ ls -l .aderc
.aderc -> .aderc-amd64-foxy
確認できたらADE環境に入る.
$ cd ~/adehome/AutowareAuto
$ ade start --update --enter
ADE環境に入るとターミナルの表示が若干変わるので見分けることができる.
username@ade:~$ # usernameは元々のユーザー名
公式サイトの手順通りである.以前のやり方で必要だった手順(参考用に折りたたんで残す)
プロジェクトのビルド
$ ade start --update --enter
ade$ cd AutowareAuto
ade$ colcon build
ade$ colcon test
ade$ colcon test-result
拡張カルマンフィルタデモの起動
公式サイトのチュートリアル通り.各デモを起動する前にROS2の環境変数を読み込むステップを忘れないこと.
username@ade:~$ source /opt/AutowareAuto/setup.bash # ROS2の環境変数を読み込む
username@ade:~$ ros2 launch autoware_demos ekf_ndt_smoothing_lgsvl.launch.py
ADEのイメージ内にはROS2 Dashingの環境とビルドシステム一式が含まれているように見える.このイメージ内にMicro-XRCE-DDS-Agentを構築して外のマイコンボードと接続できれば,マイコンボードのスイッチを操作してAutoware.Auto内のランプをチカチカさせたり,その逆にAutoware.Auto内の状態に応じてマイコンボードのランプをチカチカさせたり出来るようになるのではないか. ※2020.09.30更新 Step1. ros2arduinoのpublisherサンプルを焼き込んだSeeeduino XIAOをUSBでホストPCに接続 Step4. Micro-XRCE-DDS-Agentを起動(ターミナルを使いまわすために末尾に&を付けている) Step7. ros2 topic echo /arduino_chatter でtopicをsubscriberos2arduinoを使用した組み込みROS2との接続はいったん折りたたむ
今後の野望
イメージ内でのMicro-XRCE-DDS-Agentのビルドと,マイコンボードからのtopicをAgent経由で ros2 topic echo するところまではできた.
Step2. 仮想シリアルのデバイスファイル名を渡して,イメージに入る
Step3. ROS2の環境変数を読み込む
Step5. シリアル経由でのセッションが確立される
Step6. ros2 topic list で /arduino_chatter を確認
参考資料
1.Autoware.Auto公式サイトのインストール手順
2..adercへのリンク
3.SSH認証キーをGitLabに登録・設定手順 覚書
4.Usage
5.Micro-XRCE-DDS-Agent
6.ros2arduino
7.@MAEHARA_Keisukeのポータル記事
Author And Source
この問題について(Autoware.Autoをインストールしてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/MAEHARA_Keisuke/items/81e2cae93f50cabd160c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .