Skip to content

ROS / ROS 2サンプル集の実行

このページでは ROSサンプル集(rt-net/raspimouse_ros_examples) / ROS 2サンプル集(rt-net/raspimouse_ros2_examples) のサンプル実行方法を説明します。

使用機材

  • 組み立て済みRaspberry Pi Mouse本体
    • 製品マニュアルを読んで組み立て済みの状態を前提としています
    • OS(Ubuntu Server)がインストール済みであることを前提としています
      • ROS 2 Humbleを使用する場合: Ubuntu Server 22.04
      • ROS Noeticを使用する場合: Ubuntu Server 20.04
      • Raspberry Pi OSでのROSの動作は確認していません
    • デバイスドライバがインストール済みであることを前提としています
    • ROSまたはROS 2がインストール済みであることを前提としています
    • ROSまたはROS 2用のROSパッケージがインストール済みであることを前提としています
  • Raspberry Pi Mouse用電源
    • バッテリでも電源変換ケーブルつきACアダプタでも可
  • ノートパソコン等のPC
    • OS(Ubuntu Desktop)がインストール済みであることを前提としています
      • ROS 2 Humbleを使用する場合: Ubuntu Desktop 22.04
      • ROS Noeticを使用する場合: Ubuntu Desktop 20.04

ROSパッケージ情報の読み込み

ROSサンプル集(rt-net/raspimouse_ros_examples) のサンプルを実行する場合は下記コマンドを実行し、 ROSとパッケージを読み込んでください。

$ source /opt/ros/noetic/setup.bash
$ source ~/catkin_ws/devel/setup.bash

ROS 2サンプル集(rt-net/raspimouse_ros2_examples) のサンプルを実行する場合は下記コマンドを実行し、 ROS 2とパッケージを読み込んでください。

$ source /opt/ros/humble/setup.bash
$ source ~/ros2_ws/install/setup.bash

ROS 2サンプル集(rt-net/raspimouse_ros2_examples) のサンプルを実行する場合は下記コマンドを実行し、 ROS 2とパッケージを読み込んでください。

$ source /opt/ros/foxy/setup.bash
$ source ~/ros2_ws/install/setup.bash

Raspberry PiとPC間のROSネットワークを接続する

環境変数ROS_IPROS_MASTER_URIを設定することで、 PCからネットワークを介してRaspberry Pi側のトピックやサービスにアクセスできます。

Raspberry PiのIPアドレスが192.168.11.89、 PCのIPアドレスが192.168.11.100のとき、 下記コマンドで環境変数を設定します。この設定値は環境によって変わりますのでご注意ください

# Raspberry Pi側
$ export ROS_IP=192.168.11.89
$ export ROS_MASTER_URI=http://192.168.11.89:11311/

# PC側
# ROS_MASTER_URIにはRaspberry PiのIPアドレスを入力する
$ export ROS_IP=192.168.11.100
$ export ROS_MASTER_URI=http://192.168.11.89:11311/

ネットワーク接続を切る場合は、 ROS_MASTER_URIをデフォルトのhttp://localhost:11311/に戻します。

PCとRaspberry Piに同じ環境変数ROS_DOMAIN_IDを設定することで、 PCからネットワークを介してRaspberry Pi側のトピックやサービスにアクセスできます。

下記コマンドでは、PCとRaspberry PiにそれぞれROS_DOMAIN_ID=22を設定します。

# Raspberry Pi側
$ export ROS_DOMAIN_ID=22

# PC側
$ export ROS_DOMAIN_ID=22

ネットワーク接続を切る場合は、 ROS_DOMAIN_IDを削除します。

$ unset ROS_DOMAIN_ID

キーボードで操縦する

実行手順はROS サンプル集のkeyboard_control を参照してください。 PCから操縦する場合はネットワークと環境変数を設定してください。

ジョイスティックコントローラで操縦する

実行手順はROS サンプル集のjoystick_control を参照してください。 PCから操縦する場合はネットワークと環境変数を設定してください。

実行手順はROS 2サンプル集のjoystick_control を参照してください。 PCから操縦する場合はネットワークと環境変数を設定してください。

カメラで物体追跡する

実行手順はROS サンプル集のobject_tracking を参照してください。 物体検出画像をPCで表示する場合はネットワークと環境変数を設定してください。

実行手順はROS 2サンプル集のobject_tracking を参照してください。 物体検出画像をPCで表示する場合はネットワークと環境変数を設定してください。

ライントレース

実行手順はROS サンプル集のline_follower を参照してください。 PCから操縦する場合はネットワークと環境変数を設定してください。

実行手順はROS 2サンプル集のline_follower を参照してください。 PCから操縦する場合はネットワークと環境変数を設定してください。

カメラによるライントレース

実行手順はROS 2サンプル集のcamera_line_follower を参照してください。 PCから操縦する場合はネットワークと環境変数を設定してください。

LiDARでSLAM

実行手順はSLAMパッケージ を参照してください。 SLAMパッケージをPCで起動する場合はネットワークと環境変数を設定してください。

実行手順はROS 2 SLAMパッケージ を参照してください。 SLAMパッケージをPCで起動する場合はネットワークと環境変数を設定してください。

実行手順はナビゲーションパッケージ を参照してください。 ナビゲーションパッケージをPCで起動する場合はネットワークと環境変数を設定してください。

実行手順はROS 2 ナビゲーションパッケージ を参照してください。 ナビゲーションパッケージをPCで起動する場合はネットワークと環境変数を設定してください。

IMUで角度制御

実行手順はROS サンプル集のdirection_control を参照してください。

実行手順はROS 2サンプル集のdirection_controller を参照してください。