Skip to content

ROS 2サンプルの実行(シミュレータ)

このページではシミュレータ上で ROS 2サンプル集(rt-net/raspimouse_ros2_examples) を実行する方法を紹介します。

使用機材

  • ノートパソコン等のPC
    • OS(Ubuntu Desktop 22.04)がインストール済みであることを前提としています
    • ROS 2がインストール済みであることを前提としています
    • ROS 2のシミュレータパッケージがインストール済みであることを前提としています

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

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

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

ジョイスティックで操縦

次のコマンドを実行します。

シミュレータの起動

ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py

別のターミナルでコマンドを実行

ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false

RGBカメラの色検出による物体追従

次のコマンドを実行します。

シミュレータの起動

ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true

別のターミナルでコマンドを実行

ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false

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

次のコマンドを実行します。

シミュレータの起動

ros2 launch raspimouse_gazebo raspimouse_with_line_follower_field.launch.py use_rgb_camera:=true camera_downward:=true

カメラライントレースを実行

ros2 launch raspimouse_ros2_examples camera_line_follower.launch.py mouse:=false use_camera_node:=false

走行開始

ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, switch1: false, switch2: true}"

走行停止

ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}"

カメラライントレースにおけるパラメータはこちらを参照してください。

SLAM

次のコマンドを実行します。

シミュレータの起動

ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg

lidarurgldsrplidarのいずれかを指定してください。

キーボードで操作

ros2 run teleop_twist_keyboard teleop_twist_keyboard

SLAMを実行

ros2 launch raspimouse_slam pc_slam.launch.py

Raspberry Pi Mouseを走らせて地図を作成

作成した地図を保存

ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME

MAP_NAMEは任意の名前を指定できます。

次のコマンドを実行します。

シミュレータの起動

ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg

lidarurgldsrplidarのいずれかを指定してください。

Navigationを実行

ros2 launch raspimouse_navigation pc_navigation.launch.py map:=$HOME/MAP_NAME.yaml

引数mapにはSLAMで作成した地図ファイルのパスを指定してください。