ROS2: Foxyのインストールと設定

ROS2 Foxyのインストールメモ。作業時間はネットワーク環境によりますが、30分ほどで終わると思います。

環 境

  • Ubuntu 20.04  (64bit x86)
    • 本ページではIntelまたはAMDのCPU用のUbuntu20.04 (64bit x86)を対象とします。

参考サイト

準 備

  •  ROS2をインストールするためのサイト(リポジトリ)を追加
    • GPG公開鍵を利用するための設定
      • $ sudo apt update
      • $ sudo apt install curl gnupg2 lsb-release
      • $ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
    • 次のようなエラーが出た場合
      • エラー:4 http://packages.ros.org/ros2/ubuntu focal InRelease
        公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY F42ED6FBAB17C654
      • 次のコマンドで解決する。なお、以下のキー番号は上のNO_PUBKEYと同じにする。
        • sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys F42ED6FBAB17C654
    •  リポジトリの追加
      • $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

ROS2 のインストール

  • リポジトリを更新したのでアップデートする。
    • $ sudo apt update
  • インストールする。このインストールにより約3GBディスク容量が消費される。
    • $ sudo apt install ros-foxy-desktop

 

環境設定

  • 設定スクリプトの反映。sourceコマンドはファイルにあるコマンドを現在のシェルで実行するコマンド。
    • $ source /opt/ros/foxy/setup.bash
  • 毎回、このコマンドを実行するのは面倒なので次のコマンドで~/.bashrcの最後の行に加える。
    • $ echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc

アプリのインストール

  •  ROS2ではビルドシステムがcatkinからcolconに変わった。別途インストールする必要がある。
    • $ sudo apt install python3-colcon-common-extensions
  • その他アプリのインストール
    • $ sudo apt install -y python3-argcomplete  python3-pip

テスト

  • ROS2がうまくインストールされたか、デモプログラムで確認する。まず、端末を2つ開く。
  • 1番目の端末で設定スクリプトを反映して、C++で作成されたtalkerプログラムを実行する。
    • $ source /opt/ros/foxy/setup.bash
    • $ ros2 run demo_nodes_cpp talker
  • 2番目の端末で設定スクリプトを反映して、Pythonで作成されたlistenerスクリプトを実行する。てうまくROS2がインストールされたか確認する。
    • $ source /opt/ros/foxy/setup.bash
    • $ ros2 run demo_nodes_py listener
  • うまく実行されると、下図のようにtalkerが送信した情報をlistenerが受信して端末に表示される。

終わり

コメント

Folding@home Kanazawa (ID 257261)

みんなのためにおうちで新型コロナウイルスを解析しよう!

タイトルとURLをコピーしました