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.04ROS Noetic
を使用する場合: Ubuntu Server 20.04- Raspberry Pi OSでのROSの動作は確認していません
- デバイスドライバがインストール済みであることを前提としています
- デバイスドライバのインストール手順を参照してください
- ROSまたはROS 2がインストール済みであることを前提としています
- ROS/ROS 2のインストール手順を参照してください
- ROSまたはROS 2用のROSパッケージがインストール済みであることを前提としています
- ROS/ROS 2パッケージのインストール手順を参照してください
- Raspberry Pi Mouse用電源
- バッテリでも電源変換ケーブルつきACアダプタでも可
- ノートパソコン等のPC
- OS(Ubuntu Desktop)がインストール済みであることを前提としています
ROS 2 Humble
を使用する場合: Ubuntu Desktop 22.04ROS Noetic
を使用する場合: Ubuntu Desktop 20.04
- OS(Ubuntu Desktop)がインストール済みであることを前提としています
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_IP
、ROS_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で起動する場合はネットワークと環境変数を設定してください。
LiDARでナビゲーション
実行手順はナビゲーションパッケージ を参照してください。 ナビゲーションパッケージをPCで起動する場合はネットワークと環境変数を設定してください。
実行手順はROS 2 ナビゲーションパッケージ を参照してください。 ナビゲーションパッケージをPCで起動する場合はネットワークと環境変数を設定してください。
IMUで角度制御
実行手順はROS サンプル集のdirection_control を参照してください。
実行手順はROS 2サンプル集のdirection_controller を参照してください。