0.レシピ
Isaac SIM 2022.2.0のサンプルでNavigation2を行う
- 社内向け(誰かやってるの?)手順書の体をとっています。
- そこそこのスペックでも動く(Warehouse)を使用。
- 下はRTX3060、上は3090を使用。
- Anacondaで環境作っています。
Isaac SIMサンプル比較
項目 | 2022.1.x | 2022.2.0 |
---|---|---|
Ubuntu バージョン | 20.04 | 22.04 |
Carter | V1 | V1のまま |
Moveit2 | Foxy版 | Humble版 |
ROS2 | Foxy | Humble(推奨) |
備考
- うっかりFoxyは消してしまいました。
- 予備(自前)機はFoxyなのですが、IsaacSIM内のそこそこ追加機能は使えています。
1.Humbleセットアップ(バイナリ版)
-
Set localeの項目から開始します。
- 私はロケールが UTF-8 だったので、次のリポジトリ設定から行いました。
-
説明は本家に任せて、ざっとコピペしていきます。
公式より引用(コマンドライン)
ROSインストール準備
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
注意
公式以外や初期版?ではapt-keyで入っているところがあり、難儀しました。最新の情報と照合してください。
更新確認からのコンポーネントインストール
- 一式セットのdesktopで進めます。
ROS2 Humbleインストール
sudo apt update
sudo apt upgrade -y
sudo apt install ros-humble-desktop
sudo apt install ros-dev-tools
echo "source /opt/ros/humble/setup.bash" >> .bashrc
残りの作業
-
2022.2.0に付属のサンプルをcolcon build します。
- どうみても中身は1.0と変わりなさそうです。
- この後出るトラブルからして、同じっぽい。
- Moveitでダメだしされる場合は先にMoveit2をインストールしておきます
2.Navigation2その他コンポーネント追加
- こちらはHumbleと一緒にインストールされてしまっているかもしれません。
Navigation2インストール
sudo apt install ros-humble-navigation2 ros-humble-nav2-bringup '~ros-humble-turtlebot3-.*'
Moveitインストール
sudo apt install ros-humble-moveit
3.Isaac SIM起動・動作確認
- 2022.1系からメニューの位置が変わっています。地味にサブメニューも変わっています。
- 不満ながらもこれまで通り、ROS2 Humbleを有効にして起動します。
失敗例.ROS2 Humbleが無効な場合の表示(ROS2は選択可能)
すべてがunknownで地図が非表示
- こちらはMoveitがない状態でした…
- ROS2 removeと再インストールはしてワークスペースは消す前にhumble環境でビルドしたケースです
- なお、'ros2 topic echo /tf'はしっかり応答しています。
- ビルドしたNavigationフォルダ内のparamにあるyamlファイルを変更します。
#robot_model_type: "Differential"
robot_model_type: "nav2_amcl::DifferentialMotionModel"yaml ファイルのacmlにあるロボットモデルのパラメータを上記の通り変更します。
- よく見るとNavigation2 のリファレンスもFoxyの時と変わっていました。
2 - Under bt_navigator: (Added all the plugins that were missing)
bt_navigator: 配下の-nav2 xxxを指摘の通り置き換えてみます。
- ロボ担外れてみかくにんですが、こちらを見たほうがいいかもしれません
参考
- 既存のパラメータの場合、Carterが動かなかったです。
- nav2のパラメータが既存のものでは少なかったためでしょうか。
launchファイル実行画面
♯ 表示例:Navigationしてみた場合
[rviz2-1] Start navigation
[rviz2-1] [INFO] [1678848958.275447508] [_]: NavigateToPose will be called using the BT Navigator's default behavior tree.
[rviz2-1] [ERROR] [1678848958.275850774] [_]: Goal was rejected by server
動作例
参考:Ubuntu20.04での様子
- IsaacSIM は同じく2022.2.0ですが、こちらはFoxyです
Navigation2の画面が違いますが、Window>ExtensionでROS2 Humbleを有効にします
教訓
- ROS2 humbleがのコンポーネントが不足なくインストールされている
- Navigation2のパラメータは最新のものを参考に
- もう少し、機能をさぐってみます
注意
社内的にIssacSIM関連外れていて、久々にOmmniverse触ってミスったのでリマインダー
- IsaacSIMのバージョンによってメニューの場所はことなりますが必ず「Extension>ROS Bridge をROS2のものにチェックを入れ替えてから実行しましょう。
- 最初、気が付きませんでした・・・トホホ