ROS 2サンプルの実行(シミュレータ)
このページではシミュレータ上で ROS 2サンプル集(rt-net/raspimouse_ros2_examples) を実行する方法を紹介します。
使用機材
- ノートパソコン等のPC
- OS(Ubuntu Desktop 22.04)がインストール済みであることを前提としています
- ROS 2がインストール済みであることを前提としています
- インストール方法についてはROS/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
lidar
はurg
、lds
、rplidar
のいずれかを指定してください。
キーボードで操作
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
は任意の名前を指定できます。
Navigation
次のコマンドを実行します。
シミュレータの起動
ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg
lidar
はurg
、lds
、rplidar
のいずれかを指定してください。
Navigationを実行
ros2 launch raspimouse_navigation pc_navigation.launch.py map:=$HOME/MAP_NAME.yaml
引数map
にはSLAMで作成した地図ファイルのパスを指定してください。