LoginSignup
6
4

ROS2 Humble Navigation2 設定メモ

Last updated at Posted at 2023-03-15

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

残りの作業

  • Talker-listener:IsaacSIMではこれが正常でもですが…確認しておきます。
    Screenshot from 2023-03-02 14-49-17.png

  • 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は選択可能)

fail.png

すべてが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

動作例

seccess2.png

参考:Ubuntu20.04での様子
  • IsaacSIM は同じく2022.2.0ですが、こちらはFoxyです

2004.png

Navigation2の画面が違いますが、Window>ExtensionでROS2 Humbleを有効にします

教訓

  • ROS2 humbleがのコンポーネントが不足なくインストールされている
  • Navigation2のパラメータは最新のものを参考に
  • もう少し、機能をさぐってみます

注意
社内的にIssacSIM関連外れていて、久々にOmmniverse触ってミスったのでリマインダー

  • IsaacSIMのバージョンによってメニューの場所はことなりますが必ず「Extension>ROS Bridge をROS2のものにチェックを入れ替えてから実行しましょう。
  • 最初、気が付きませんでした・・・トホホ
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4