From c0b67cacda12ec048492bba771f3aed2a79ef8b9 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Thu, 31 Jul 2025 15:19:16 +0900 Subject: [PATCH 01/26] init commit --- OLD_README.md | 226 +++++++++++++++++++++++++++++++++++++++++++ README.md | 259 ++++++++++++++++++++++++++++++++------------------ 2 files changed, 390 insertions(+), 95 deletions(-) create mode 100644 OLD_README.md diff --git a/OLD_README.md b/OLD_README.md new file mode 100644 index 0000000..8bfda49 --- /dev/null +++ b/OLD_README.md @@ -0,0 +1,226 @@ +[English](README.en.md) | [日本語](README.md) + +# raspimouse_sim + +[![industrial_ci](https://github.com/rt-net/raspimouse_sim/actions/workflows/industrial_ci.yml/badge.svg?branch=ros2)](https://github.com/rt-net/raspimouse_sim/actions/workflows/industrial_ci.yml) + +Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージです。 + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) + +**本ブランチはROS 2 Jazzy向けです。他のディストリビューションについては、以下にリストされた対応するブランチを参照してください。** + +- ROS 2 Humble ([humble](https://github.com/rt-net/raspimouse_sim/tree/humble)) + +## 動作環境 + +以下の環境を前提として動作確認しています。 + +* Ubuntu + * Ubuntu 24.04 Noble Numbat +* ROS 2 + * ROS 2 Jazzy Jalisco +* Gazebo + * Gazebo Sim 8.x +* ROS 2 Package + * ros-jazzy-desktop-full + +## インストール方法 + +このROS 2パッケージをダウンロードします。 + +```sh +cd ~/ros2_ws/src +git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_sim.git +``` + +依存しているROS 2パッケージをインストールします。 + +```sh +cd ~/ros2_ws/src +git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_ros2_examples.git +git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_slam_navigation_ros2.git +git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_description.git +rosdep install -r -y -i --from-paths raspimouse* +``` + +`colcon`を使用してパッケージをビルドします。 + +```sh +cd ~/ros2_ws +colcon build --symlink-install +source ~/ros2_ws/install/setup.bash +``` + +## QuickStart + +パッケージビルド後、次のコマンドを実行するとGazeboシミュレータが起動します。 + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py +``` + +## サンプル動作例 + +各サンプルの動作には、[raspimouse_ros2_examples](https://github.com/rt-net/raspimouse_ros2_examples)が必要です。 + +### ジョイスティックコントローラによる操縦サンプル + +端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。 + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py +``` + +端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 + +```sh +ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false +``` + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_joystick.gif) + +### RGBカメラを用いた色検出による物体追従サンプル + +端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。 + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true +``` + +端末2で次のコマンドを実行すると、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 + +```sh +ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false +``` + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_object_tracking.gif) + +### RGBカメラを用いたライントレースサンプル + +端末1で次のコマンドを実行すると、ライントレースのサンプルコースが配置されたワールドが表示されます。 +```sh +ros2 launch raspimouse_gazebo raspimouse_with_line_follower_field.launch.py use_rgb_camera:=true camera_downward:=true +``` + +端末2で次のコマンドを実行すると、カメラライントレースのノードが起動します。 +```sh +ros2 launch raspimouse_ros2_examples camera_line_follower.launch.py mouse:=false use_camera_node:=false +``` + +端末3で次のコマンドを実行すると、Raspberry Pi Mouseが走行を開始します。 +```sh +ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, switch1: false, switch2: true}" +``` + +次のコマンドを実行すると、Raspberry Pi Mouseが停止します。 +```sh +ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" +``` + +カメラライントレースにおけるパラメータは[こちら](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters)を参照してください。 + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_camerafollower_short.gif) + +### LiDARを用いたSLAMとNavigationのサンプル + +本サンプルの動作には、[raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) が必要です。 + +#### SLAM + +端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 +```sh +ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg +``` +`lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + +端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 +```sh +ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false +``` + +端末3で次のコマンドを実行すると、SLAMが実行されます。 +```sh +ros2 launch raspimouse_slam pc_slam.launch.py +``` + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_slam.png) + +端末4で次のコマンドを実行すると、作成した地図を保存できます。 +```sh +ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME +``` +`MAP_NAME`は任意の名前を指定できます。 + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_slam_short.gif) + +#### Navigation + +端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 +```sh +ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg +``` +`lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + +端末2で次のコマンドを実行すると、Navigationが実行されます。 +```sh +ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml +``` +引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_navigation_short.gif) + +## モデルデータ一覧 + +### course_curve_50x50cm + +ライントレース用の曲線コースパネルです。 +パネルサイズは50cm x 50cm、線の幅は4cmです。 + +![](./raspimouse_gazebo/models/course_curve_50x50cm/meshes/course_curve.jpg) + +### course_straight_50x50cm + +ライントレース用の直線コースパネルです。 +パネルサイズは50cm x 50cm、線の幅は4cmです。 + +![](./raspimouse_gazebo/models/course_straight_50x50cm/meshes/course_straight.jpg) + +### cube_*cm_color-name +それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 +色は赤、黄、青、緑、黒です。 + +![](https://rt-net.github.io/images/raspberry-pi-mouse/color_objects.png) + +### daeファイルについて +daeファイルはBlender 4.0で編集しています。 + +## ライセンス + +このリポジトリはMITライセンスに基づいて公開されています。 +MITライセンスについては[LICENSE]( ./LICENSE )を確認してください。 + +※このソフトウェアは基本的にオープンソースソフトウェアとして「AS IS」(現状有姿のまま)で提供しています。本ソフトウェアに関する無償サポートはありません。 +バグの修正や誤字脱字の修正に関するリクエストは常に受け付けていますが、それ以外の機能追加等のリクエストについては社内のガイドラインを優先します。 + +### 謝辞 + +以下のリポジトリのファイルをベースに開発されています。 + +* [CIR-KIT/fourth_robot_pkg]( https://github.com/CIR-KIT/fourth_robot_pkg ) + * author + * RyodoTanaka + * maintainer + * RyodoTanaka + * BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) + * 詳細は [package.xml](https://github.com/CIR-KIT/fourth_robot_pkg/blob/indigo-devel/fourth_robot_control/package.xml) を参照してください。 +* [yujinrobot/kobuki]( https://github.com/yujinrobot/kobuki ) + * authors + * Daniel Stonier + * Younghun Ju + * Jorge Santos Simon + * Marcus Liebhardt + * maintainer + * Daniel Stonier + * BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) + * 詳細は [package.xml](https://github.com/yujinrobot/kobuki/blob/melodic/kobuki/package.xml) を参照してください。 diff --git a/README.md b/README.md index 8bfda49..8b6584b 100644 --- a/README.md +++ b/README.md @@ -8,45 +8,67 @@ Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージ ![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) -**本ブランチはROS 2 Jazzy向けです。他のディストリビューションについては、以下にリストされた対応するブランチを参照してください。** - -- ROS 2 Humble ([humble](https://github.com/rt-net/raspimouse_sim/tree/humble)) - -## 動作環境 - -以下の環境を前提として動作確認しています。 - -* Ubuntu - * Ubuntu 24.04 Noble Numbat -* ROS 2 - * ROS 2 Jazzy Jalisco -* Gazebo - * Gazebo Sim 8.x -* ROS 2 Package - * ros-jazzy-desktop-full +## Table of Contents + +- [<リポジトリ名>](#リポジトリ名) + - [Table of Contents](#table-of-contents) + - [Supported ROS distributions](#supported-ros-distributions) + - [Requirements](#requirements) + - [Installation](#installation) + - [Binary Installation](#binary-installation) + - [Source Build](#source-build) + - [QuickStart](#quickstart) + - [How To Use Examples](#how-to-use-examples) + - [](#sample名) + - [Packages](#packages) + - [Topics](#topics) + - [Subscribed](#subscribed) + - [Published](#published) + - [Services](#services) + - [Actions](#actions) + - [Parameters](#parameters) + - [](#etc-lifecycle-description等) + - [License](#license) + - [Contributing](#contributing) + - [Contributors](#contributors) + +## Supported ROS distributions + +### ROS 2 + +- [Humble Hawksbill](https://github.com/rt-net/raspimouse_sim/tree/humble) +- [Jazzy Jalisco](https://github.com/rt-net/raspimouse_sim/tree/jazzy) + +## Requirements + +- OS + - Ubuntu Desktop 24.04 +- ROS 2 + - ROS 2 Jazzy Jalisco +- Gazebo + - Gazebo Sim 8.x + +## Installation + +### Binary Installation + +```bash +sudo apt install ros-jazzy-raspimouse-sim +``` -## インストール方法 +### Source Build -このROS 2パッケージをダウンロードします。 +```bash +# Create workspace directory +mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src -```sh -cd ~/ros2_ws/src +# Clone package git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_sim.git -``` - -依存しているROS 2パッケージをインストールします。 - -```sh -cd ~/ros2_ws/src -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_ros2_examples.git -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_slam_navigation_ros2.git -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_description.git -rosdep install -r -y -i --from-paths raspimouse* -``` -`colcon`を使用してパッケージをビルドします。 +# Install dependencies +rosdep install -r -y -i --from-paths . -```sh +# Build & Install cd ~/ros2_ws colcon build --symlink-install source ~/ros2_ws/install/setup.bash @@ -54,17 +76,21 @@ source ~/ros2_ws/install/setup.bash ## QuickStart -パッケージビルド後、次のコマンドを実行するとGazeboシミュレータが起動します。 +次のコマンドを実行するとGazeboシミュレータが起動します。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ``` -## サンプル動作例 +## How to Use Examples + +### Joystick Controll + +Raspberry Pi Mouseをジョイスティックコントローラで操作します。 -各サンプルの動作には、[raspimouse_ros2_examples](https://github.com/rt-net/raspimouse_ros2_examples)が必要です。 -### ジョイスティックコントローラによる操縦サンプル + + 端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。 @@ -73,14 +99,17 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ``` 端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 - +v ```sh ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false ``` -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_joystick.gif) +### Object Tracking + +Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 + + -### RGBカメラを用いた色検出による物体追従サンプル 端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。 @@ -94,9 +123,14 @@ ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_ca ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false ``` -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_object_tracking.gif) +### camera_line_follower + +Raspberry Pi Mouseが、床に描かれた黒いラインを追従します。 + +カメラライントレースにおけるパラメータは[こちら](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters)を参照してください。 + + -### RGBカメラを用いたライントレースサンプル 端末1で次のコマンドを実行すると、ライントレースのサンプルコースが配置されたワールドが表示されます。 ```sh @@ -118,23 +152,32 @@ ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, s ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" ``` -カメラライントレースにおけるパラメータは[こちら](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters)を参照してください。 - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_camerafollower_short.gif) +### SLAM & Navigation -### LiDARを用いたSLAMとNavigationのサンプル +RapimouseがLiDARを使用したSLAMとNavigationを行います。 -本サンプルの動作には、[raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) が必要です。 +> [!NOTE] +> 本サンプルの動作には、[raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) が必要です。 #### SLAM +SLAMによる自己位置推定と地図作成を行います。 + + + + + 端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 + +> [!NOTE] +> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -`lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 + ```sh ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false ``` @@ -144,83 +187,109 @@ ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js ros2 launch raspimouse_slam pc_slam.launch.py ``` -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_slam.png) - 端末4で次のコマンドを実行すると、作成した地図を保存できます。 + +> [!NOTE] +> `MAP_NAME`は任意の名前を指定できます。 + ```sh ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME ``` -`MAP_NAME`は任意の名前を指定できます。 - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_slam_short.gif) #### Navigation +作成した地図をもとにNavigationします。 + + + 端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 + +> [!NOTE] +> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -`lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 端末2で次のコマンドを実行すると、Navigationが実行されます。 + +> [!NOTE] +> 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 + ```sh ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml ``` -引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_navigation_short.gif) +## Packages + +- [ [!NOTE] +> daeファイルはBlender 4.0で編集されています。 -![](./raspimouse_gazebo/models/course_curve_50x50cm/meshes/course_curve.jpg) +- `course_curve_50x50cm` + - ライントレース用の曲線コースパネルです。 + - パネルサイズは50cm x 50cm、線の幅は4cmです。 -### course_straight_50x50cm + -ライントレース用の直線コースパネルです。 -パネルサイズは50cm x 50cm、線の幅は4cmです。 +- `course_straight_50x50cm` + - ライントレース用の直線コースパネルです。 + - パネルサイズは50cm x 50cm、線の幅は4cmです。 + + -![](./raspimouse_gazebo/models/course_straight_50x50cm/meshes/course_straight.jpg) +- `cube_*cm_color-name` + - それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 + - 色は赤、黄、青、緑、黒です。 -### cube_*cm_color-name -それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 -色は赤、黄、青、緑、黒です。 + -![](https://rt-net.github.io/images/raspberry-pi-mouse/color_objects.png) +## License -### daeファイルについて -daeファイルはBlender 4.0で編集しています。 +(C) 2016 RT Corporation \ -## ライセンス +各ファイルはライセンスがファイル中に明記されている場合、そのライセンスに従います。特に明記されていない場合は、MIT Licenseに基づき公開されています。 +ライセンスの全文は[LICENSE](./LICENSE)または[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)から確認できます。 -このリポジトリはMITライセンスに基づいて公開されています。 -MITライセンスについては[LICENSE]( ./LICENSE )を確認してください。 +## Contributing -※このソフトウェアは基本的にオープンソースソフトウェアとして「AS IS」(現状有姿のまま)で提供しています。本ソフトウェアに関する無償サポートはありません。 -バグの修正や誤字脱字の修正に関するリクエストは常に受け付けていますが、それ以外の機能追加等のリクエストについては社内のガイドラインを優先します。 +- 本ソフトウェアはオープンソースですが、開発はオープンではありません。 +- 本ソフトウェアは基本的にオープンソースソフトウェアとして「AS IS」(現状有姿のまま)で提供しています。 +- 本ソフトウェアに関する無償サポートはありません。 +- バグの修正や誤字脱字の修正に関するリクエストは常に受け付けていますが、 +それ以外の機能追加等のリクエストについては社内のガイドラインを優先します。 +詳しくは[コントリビューションガイドライン](https://github.com/rt-net/.github/blob/master/CONTRIBUTING.md)に従ってください。 -### 謝辞 +### Acknowledgements -以下のリポジトリのファイルをベースに開発されています。 +本リポジトリは、以下のリポジトリのファイルをベースに開発されています。 -* [CIR-KIT/fourth_robot_pkg]( https://github.com/CIR-KIT/fourth_robot_pkg ) - * author - * RyodoTanaka - * maintainer - * RyodoTanaka - * BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) - * 詳細は [package.xml](https://github.com/CIR-KIT/fourth_robot_pkg/blob/indigo-devel/fourth_robot_control/package.xml) を参照してください。 -* [yujinrobot/kobuki]( https://github.com/yujinrobot/kobuki ) - * authors - * Daniel Stonier - * Younghun Ju - * Jorge Santos Simon - * Marcus Liebhardt - * maintainer - * Daniel Stonier - * BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) - * 詳細は [package.xml](https://github.com/yujinrobot/kobuki/blob/melodic/kobuki/package.xml) を参照してください。 +- [CIR-KIT/fourth_robot_pkg]( https://github.com/CIR-KIT/fourth_robot_pkg ) + - author + - RyodoTanaka + - maintainer + - RyodoTanaka + - BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) + - 詳細は [package.xml](https://github.com/CIR-KIT/fourth_robot_pkg/blob/indigo-devel/fourth_robot_control/package.xml) を参照してください。 +- [yujinrobot/kobuki]( https://github.com/yujinrobot/kobuki ) + - authors + - Daniel Stonier + - Younghun Ju + - Jorge Santos Simon + - Marcus Liebhardt + - maintainer + - Daniel Stonier + - BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) + - 詳細は [package.xml](https://github.com/yujinrobot/kobuki/blob/melodic/kobuki/package.xml) を参照してください。 From 672e3456ae7e717461d8a41539fb2c55c68446f6 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Tue, 5 Aug 2025 17:13:58 +0900 Subject: [PATCH 02/26] =?UTF-8?q?=E3=83=91=E3=83=83=E3=82=B1=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E8=AA=AC=E6=98=8E=E8=BF=BD=E5=8A=A0=E3=81=A8=E7=9B=AE?= =?UTF-8?q?=E6=AC=A1=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 8b6584b..73a0008 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージ ## Table of Contents -- [<リポジトリ名>](#リポジトリ名) +- [raspimouse/_sim](#raspimouse_sim) - [Table of Contents](#table-of-contents) - [Supported ROS distributions](#supported-ros-distributions) - [Requirements](#requirements) @@ -18,19 +18,19 @@ Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージ - [Binary Installation](#binary-installation) - [Source Build](#source-build) - [QuickStart](#quickstart) - - [How To Use Examples](#how-to-use-examples) - - [](#sample名) - [Packages](#packages) - - [Topics](#topics) - - [Subscribed](#subscribed) - - [Published](#published) - - [Services](#services) - - [Actions](#actions) - - [Parameters](#parameters) - - [](#etc-lifecycle-description等) + - raspimouse_sim + - raspimouse_fake + - raspimouse_gazebo + - [How To Use Examples](#how-to-use-examples) + - [Joystick Controll](#joystick-controll) + - [Object Tracking](#object-tracking) + - [Camera Line Follower](#camera_line_follower) + - [SLAM & Navigation](#slam--navigation) + - [Mode data list](#etc-lifecycle-description等) - [License](#license) - [Contributing](#contributing) - - [Contributors](#contributors) + - [Acknowledgements](#acknowledgements) ## Supported ROS distributions @@ -222,14 +222,12 @@ ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map ## Packages -- [ Date: Tue, 5 Aug 2025 17:15:40 +0900 Subject: [PATCH 03/26] =?UTF-8?q?=E3=82=A8=E3=82=B9=E3=82=B1=E3=83=BC?= =?UTF-8?q?=E3=83=97=E3=82=B7=E3=83=BC=E3=82=B1=E3=83=B3=E3=82=B9=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 73a0008..b49ec24 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージ ## Table of Contents -- [raspimouse/_sim](#raspimouse_sim) +- [raspimouse\_sim](#raspimouse_sim) - [Table of Contents](#table-of-contents) - [Supported ROS distributions](#supported-ros-distributions) - [Requirements](#requirements) From 1c4ed03f7630ca24747cc3c05603392f0bfb27c6 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Tue, 5 Aug 2025 17:26:38 +0900 Subject: [PATCH 04/26] =?UTF-8?q?Gazebo=E3=83=91=E3=83=83=E3=82=B1?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=81=AE=E8=AA=AC=E6=98=8E=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b49ec24..a9f21a8 100644 --- a/README.md +++ b/README.md @@ -227,7 +227,7 @@ ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map - raspimouse_fake - Raspberry Pi Mouseのモータ制御インターフェースを模擬するROS 2ライフサイクルコンポーネントノードを提供します。 - raspimouse_gazebo - - Gazebo上で動作するシミュレーション環境を構築するためのモデルや設定ファイルを提供します。 + - Gazebo上でのシミュレーション環境を構築するためのモデルやスクリプトを提供します。 ## Model data list From daf05ed24bb97728a5e9f738d6e7386e1c7d66da Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Tue, 5 Aug 2025 17:51:51 +0900 Subject: [PATCH 05/26] =?UTF-8?q?raspimoujse=5Fgazebo=E3=81=ABREADME?= =?UTF-8?q?=E3=81=AE=E4=B8=80=E9=83=A8=E3=82=92=E7=A7=BB=E6=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 174 ++-------------------------------- raspimouse_gazebo/README.md | 182 ++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+), 164 deletions(-) create mode 100644 raspimouse_gazebo/README.md diff --git a/README.md b/README.md index a9f21a8..6da4135 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,6 @@ Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージ - [Object Tracking](#object-tracking) - [Camera Line Follower](#camera_line_follower) - [SLAM & Navigation](#slam--navigation) - - [Mode data list](#etc-lifecycle-description等) - [License](#license) - [Contributing](#contributing) - [Acknowledgements](#acknowledgements) @@ -82,177 +81,24 @@ source ~/ros2_ws/install/setup.bash ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ``` -## How to Use Examples - -### Joystick Controll - -Raspberry Pi Mouseをジョイスティックコントローラで操作します。 - - - - - -端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。 - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py -``` - -端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 -v -```sh -ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false -``` - -### Object Tracking - -Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 - - - - -端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。 - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true -``` - -端末2で次のコマンドを実行すると、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 - -```sh -ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false -``` - -### camera_line_follower - -Raspberry Pi Mouseが、床に描かれた黒いラインを追従します。 - -カメラライントレースにおけるパラメータは[こちら](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters)を参照してください。 - - - - -端末1で次のコマンドを実行すると、ライントレースのサンプルコースが配置されたワールドが表示されます。 -```sh -ros2 launch raspimouse_gazebo raspimouse_with_line_follower_field.launch.py use_rgb_camera:=true camera_downward:=true -``` - -端末2で次のコマンドを実行すると、カメラライントレースのノードが起動します。 -```sh -ros2 launch raspimouse_ros2_examples camera_line_follower.launch.py mouse:=false use_camera_node:=false -``` - -端末3で次のコマンドを実行すると、Raspberry Pi Mouseが走行を開始します。 -```sh -ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, switch1: false, switch2: true}" -``` - -次のコマンドを実行すると、Raspberry Pi Mouseが停止します。 -```sh -ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" -``` - -### SLAM & Navigation - -RapimouseがLiDARを使用したSLAMとNavigationを行います。 - -> [!NOTE] -> 本サンプルの動作には、[raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) が必要です。 - -#### SLAM - -SLAMによる自己位置推定と地図作成を行います。 - - - - - -端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 - -> [!NOTE] -> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg -``` - -端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 - -```sh -ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false -``` - -端末3で次のコマンドを実行すると、SLAMが実行されます。 -```sh -ros2 launch raspimouse_slam pc_slam.launch.py -``` - -端末4で次のコマンドを実行すると、作成した地図を保存できます。 - -> [!NOTE] -> `MAP_NAME`は任意の名前を指定できます。 - -```sh -ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME -``` - -#### Navigation - -作成した地図をもとにNavigationします。 - - - -端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 - -> [!NOTE] -> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg -``` - -端末2で次のコマンドを実行すると、Navigationが実行されます。 - -> [!NOTE] -> 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 - -```sh -ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml -``` - ## Packages - raspimouse_sim - - 本リポジトリ内の各種パッケージのメタ情報を管理します。 + - 本リポジトリ内の各種パッケージのメタ情報を管理するパッケージです。 - raspimouse_fake - - Raspberry Pi Mouseのモータ制御インターフェースを模擬するROS 2ライフサイクルコンポーネントノードを提供します。 + - Raspberry Pi Mouseのモータ制御インターフェースを模擬するパッケージです。 - raspimouse_gazebo - - Gazebo上でのシミュレーション環境を構築するためのモデルやスクリプトを提供します。 - -## Model data list - -各種サンプルで使用しているモデルデータ一覧です。 + - [Gazebo](https://gazebosim.org/home)上でシミュレーション環境を構築するためのモデルやスクリプトを提供するパッケージです。 -> [!NOTE] -> daeファイルはBlender 4.0で編集されています。 - -- `course_curve_50x50cm` - - ライントレース用の曲線コースパネルです。 - - パネルサイズは50cm x 50cm、線の幅は4cmです。 - - - -- `course_straight_50x50cm` - - ライントレース用の直線コースパネルです。 - - パネルサイズは50cm x 50cm、線の幅は4cmです。 - - +## How to Use Examples -- `cube_*cm_color-name` - - それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 - - 色は赤、黄、青、緑、黒です。 +サンプルプログラムの詳細な動作方法は、`raspimouse_gazebo`パッケージののREADMEで説明しています。 - +- raspimouse_gazebo + - [Joystick Controll](./raspimouse_gazebo/README.md#joystick-controll) + - [Object Tracking](./raspimouse_gazebo/README.md#object-tracking) + - [Camera Line Follower](./raspimouse_gazebo/README.md#camera_line_follower) + - [SLAM & Navigation](./raspimouse_gazebo/README.md#slam--navigation) ## License diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md new file mode 100644 index 0000000..8f3871c --- /dev/null +++ b/raspimouse_gazebo/README.md @@ -0,0 +1,182 @@ +[English](README.en.md) | [日本語](README.md) + +# raspimouse_gazebo + +Gazebo上でシミュレーション環境を構築するためのモデルやスクリプトを提供します。 + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) + +## Table of Contents + +- [raspimouse\_gazebo](#raspimouse_gazebo) + - [Table of Contents](#table-of-contents) + - [How To Use Examples](#how-to-use-examples) + - [Joystick Controll](#joystick-controll) + - [Object Tracking](#object-tracking) + - [Camera Line Follower](#camera_line_follower) + - [SLAM & Navigation](#slam--navigation) + - [Model data list](#etc-lifecycle-description等) + +## How to Use Examples + +### Joystick Controll + +Raspberry Pi Mouseをジョイスティックコントローラで操作します。 + + + + + +端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。 + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py +``` + +端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 +v +```sh +ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false +``` + +### Object Tracking + +Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 + + + + +端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。 + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true +``` + +端末2で次のコマンドを実行すると、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 + +```sh +ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false +``` + +### camera_line_follower + +Raspberry Pi Mouseが、床に描かれた黒いラインを追従します。 + +カメラライントレースにおけるパラメータは[こちら](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters)を参照してください。 + + + + +端末1で次のコマンドを実行すると、ライントレースのサンプルコースが配置されたワールドが表示されます。 +```sh +ros2 launch raspimouse_gazebo raspimouse_with_line_follower_field.launch.py use_rgb_camera:=true camera_downward:=true +``` + +端末2で次のコマンドを実行すると、カメラライントレースのノードが起動します。 +```sh +ros2 launch raspimouse_ros2_examples camera_line_follower.launch.py mouse:=false use_camera_node:=false +``` + +端末3で次のコマンドを実行すると、Raspberry Pi Mouseが走行を開始します。 +```sh +ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, switch1: false, switch2: true}" +``` + +次のコマンドを実行すると、Raspberry Pi Mouseが停止します。 +```sh +ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" +``` + +### SLAM & Navigation + +RapimouseがLiDARを使用したSLAMとNavigationを行います。 + +> [!NOTE] +> 本サンプルの動作には、[raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) が必要です。 + +#### SLAM + +SLAMによる自己位置推定と地図作成を行います。 + + + + + +端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 + +> [!NOTE] +> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg +``` + +端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 + +```sh +ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false +``` + +端末3で次のコマンドを実行すると、SLAMが実行されます。 +```sh +ros2 launch raspimouse_slam pc_slam.launch.py +``` + +端末4で次のコマンドを実行すると、作成した地図を保存できます。 + +> [!NOTE] +> `MAP_NAME`は任意の名前を指定できます。 + +```sh +ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME +``` + +#### Navigation + +作成した地図をもとにNavigationします。 + + + +端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 + +> [!NOTE] +> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg +``` + +端末2で次のコマンドを実行すると、Navigationが実行されます。 + +> [!NOTE] +> 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 + +```sh +ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml +``` + +## Model Data List + +各種サンプルで使用しているモデルデータ一覧です。 + +> [!NOTE] +> daeファイルはBlender 4.0で編集されています。 + +- `course_curve_50x50cm` + - ライントレース用の曲線コースパネルです。 + - パネルサイズは50cm x 50cm、線の幅は4cmです。 + + + +- `course_straight_50x50cm` + - ライントレース用の直線コースパネルです。 + - パネルサイズは50cm x 50cm、線の幅は4cmです。 + + + +- `cube_*cm_color-name` + - それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 + - 色は赤、黄、青、緑、黒です。 + + + From 2fe485cc43a290cdbd33ea05710e8236baaecd53 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Tue, 5 Aug 2025 17:54:21 +0900 Subject: [PATCH 06/26] =?UTF-8?q?=E7=9B=AE=E6=AC=A1=E3=81=AE=E9=81=8E?= =?UTF-8?q?=E5=89=B0=E3=81=AA=E3=83=AA=E3=83=B3=E3=82=AF=E3=82=92=E5=89=8A?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6da4135..4828eeb 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,10 @@ Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージ - raspimouse_fake - raspimouse_gazebo - [How To Use Examples](#how-to-use-examples) - - [Joystick Controll](#joystick-controll) - - [Object Tracking](#object-tracking) - - [Camera Line Follower](#camera_line_follower) - - [SLAM & Navigation](#slam--navigation) + - Joystick Controll + - Object Tracking + - Camera Line Follower + - SLAM & Navigation - [License](#license) - [Contributing](#contributing) - [Acknowledgements](#acknowledgements) From 5d65aadc2e4667fad45443ca1772e2e7122f817e Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Tue, 5 Aug 2025 17:58:57 +0900 Subject: [PATCH 07/26] =?UTF-8?q?=E4=B8=80=E6=99=82=E7=9A=84=E3=81=AAREADM?= =?UTF-8?q?E=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OLD_README.md | 226 -------------------------------------------------- 1 file changed, 226 deletions(-) delete mode 100644 OLD_README.md diff --git a/OLD_README.md b/OLD_README.md deleted file mode 100644 index 8bfda49..0000000 --- a/OLD_README.md +++ /dev/null @@ -1,226 +0,0 @@ -[English](README.en.md) | [日本語](README.md) - -# raspimouse_sim - -[![industrial_ci](https://github.com/rt-net/raspimouse_sim/actions/workflows/industrial_ci.yml/badge.svg?branch=ros2)](https://github.com/rt-net/raspimouse_sim/actions/workflows/industrial_ci.yml) - -Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージです。 - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) - -**本ブランチはROS 2 Jazzy向けです。他のディストリビューションについては、以下にリストされた対応するブランチを参照してください。** - -- ROS 2 Humble ([humble](https://github.com/rt-net/raspimouse_sim/tree/humble)) - -## 動作環境 - -以下の環境を前提として動作確認しています。 - -* Ubuntu - * Ubuntu 24.04 Noble Numbat -* ROS 2 - * ROS 2 Jazzy Jalisco -* Gazebo - * Gazebo Sim 8.x -* ROS 2 Package - * ros-jazzy-desktop-full - -## インストール方法 - -このROS 2パッケージをダウンロードします。 - -```sh -cd ~/ros2_ws/src -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_sim.git -``` - -依存しているROS 2パッケージをインストールします。 - -```sh -cd ~/ros2_ws/src -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_ros2_examples.git -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_slam_navigation_ros2.git -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_description.git -rosdep install -r -y -i --from-paths raspimouse* -``` - -`colcon`を使用してパッケージをビルドします。 - -```sh -cd ~/ros2_ws -colcon build --symlink-install -source ~/ros2_ws/install/setup.bash -``` - -## QuickStart - -パッケージビルド後、次のコマンドを実行するとGazeboシミュレータが起動します。 - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py -``` - -## サンプル動作例 - -各サンプルの動作には、[raspimouse_ros2_examples](https://github.com/rt-net/raspimouse_ros2_examples)が必要です。 - -### ジョイスティックコントローラによる操縦サンプル - -端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。 - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py -``` - -端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 - -```sh -ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false -``` - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_joystick.gif) - -### RGBカメラを用いた色検出による物体追従サンプル - -端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。 - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true -``` - -端末2で次のコマンドを実行すると、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 - -```sh -ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false -``` - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_object_tracking.gif) - -### RGBカメラを用いたライントレースサンプル - -端末1で次のコマンドを実行すると、ライントレースのサンプルコースが配置されたワールドが表示されます。 -```sh -ros2 launch raspimouse_gazebo raspimouse_with_line_follower_field.launch.py use_rgb_camera:=true camera_downward:=true -``` - -端末2で次のコマンドを実行すると、カメラライントレースのノードが起動します。 -```sh -ros2 launch raspimouse_ros2_examples camera_line_follower.launch.py mouse:=false use_camera_node:=false -``` - -端末3で次のコマンドを実行すると、Raspberry Pi Mouseが走行を開始します。 -```sh -ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, switch1: false, switch2: true}" -``` - -次のコマンドを実行すると、Raspberry Pi Mouseが停止します。 -```sh -ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" -``` - -カメラライントレースにおけるパラメータは[こちら](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters)を参照してください。 - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_camerafollower_short.gif) - -### LiDARを用いたSLAMとNavigationのサンプル - -本サンプルの動作には、[raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) が必要です。 - -#### SLAM - -端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 -```sh -ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg -``` -`lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 - -端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 -```sh -ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false -``` - -端末3で次のコマンドを実行すると、SLAMが実行されます。 -```sh -ros2 launch raspimouse_slam pc_slam.launch.py -``` - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_slam.png) - -端末4で次のコマンドを実行すると、作成した地図を保存できます。 -```sh -ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME -``` -`MAP_NAME`は任意の名前を指定できます。 - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_slam_short.gif) - -#### Navigation - -端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 -```sh -ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg -``` -`lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 - -端末2で次のコマンドを実行すると、Navigationが実行されます。 -```sh -ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml -``` -引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_navigation_short.gif) - -## モデルデータ一覧 - -### course_curve_50x50cm - -ライントレース用の曲線コースパネルです。 -パネルサイズは50cm x 50cm、線の幅は4cmです。 - -![](./raspimouse_gazebo/models/course_curve_50x50cm/meshes/course_curve.jpg) - -### course_straight_50x50cm - -ライントレース用の直線コースパネルです。 -パネルサイズは50cm x 50cm、線の幅は4cmです。 - -![](./raspimouse_gazebo/models/course_straight_50x50cm/meshes/course_straight.jpg) - -### cube_*cm_color-name -それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 -色は赤、黄、青、緑、黒です。 - -![](https://rt-net.github.io/images/raspberry-pi-mouse/color_objects.png) - -### daeファイルについて -daeファイルはBlender 4.0で編集しています。 - -## ライセンス - -このリポジトリはMITライセンスに基づいて公開されています。 -MITライセンスについては[LICENSE]( ./LICENSE )を確認してください。 - -※このソフトウェアは基本的にオープンソースソフトウェアとして「AS IS」(現状有姿のまま)で提供しています。本ソフトウェアに関する無償サポートはありません。 -バグの修正や誤字脱字の修正に関するリクエストは常に受け付けていますが、それ以外の機能追加等のリクエストについては社内のガイドラインを優先します。 - -### 謝辞 - -以下のリポジトリのファイルをベースに開発されています。 - -* [CIR-KIT/fourth_robot_pkg]( https://github.com/CIR-KIT/fourth_robot_pkg ) - * author - * RyodoTanaka - * maintainer - * RyodoTanaka - * BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) - * 詳細は [package.xml](https://github.com/CIR-KIT/fourth_robot_pkg/blob/indigo-devel/fourth_robot_control/package.xml) を参照してください。 -* [yujinrobot/kobuki]( https://github.com/yujinrobot/kobuki ) - * authors - * Daniel Stonier - * Younghun Ju - * Jorge Santos Simon - * Marcus Liebhardt - * maintainer - * Daniel Stonier - * BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) - * 詳細は [package.xml](https://github.com/yujinrobot/kobuki/blob/melodic/kobuki/package.xml) を参照してください。 From 3e1f9e518622192c3ad11c83063dd4e295a4a2ab Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 6 Aug 2025 10:12:33 +0900 Subject: [PATCH 08/26] =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AEREADM?= =?UTF-8?q?E=E3=82=92=E6=95=B4=E5=82=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 265 +++++++++++---------------------- raspimouse_gazebo/README.en.md | 185 +++++++++++++++++++++++ 2 files changed, 276 insertions(+), 174 deletions(-) create mode 100644 raspimouse_gazebo/README.en.md diff --git a/README.en.md b/README.en.md index bb4aca5..f3ad26a 100644 --- a/README.en.md +++ b/README.en.md @@ -8,46 +8,66 @@ ROS 2 package suite for Raspberry Pi Mouse Simulator runs on Gazebo ![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) -**This branch is intended for ROS 2 Jazzy. For other distributions, please refer to the corresponding branches listed below.** - -- ROS 2 Humble ([humble](https://github.com/rt-net/raspimouse_sim/tree/humble)) - +## Table of Contents + +- [raspimouse\_sim](#raspimouse_sim) + - [Table of Contents](#table-of-contents) + - [Supported ROS distributions](#supported-ros-distributions) + - [Requirements](#requirements) + - [Installation](#installation) + - [Binary Installation](#binary-installation) + - [Source Build](#source-build) + - [QuickStart](#quickstart) + - [Packages](#packages) + - raspimouse_sim + - raspimouse_fake + - raspimouse_gazebo + - [How To Use Examples](#how-to-use-examples) + - Joystick Controll + - Object Tracking + - Camera Line Follower + - SLAM & Navigation + - [License](#license) + - [Contributing](#contributing) + - [Acknowledgements](#acknowledgements) + +## Supported ROS distributions + +### ROS 2 + +- [Humble Hawksbill](https://github.com/rt-net/raspimouse_sim/tree/humble) +- [Jazzy Jalisco](https://github.com/rt-net/raspimouse_sim/tree/jazzy) ## Requirements -requires the following to run: - -* Ubuntu - * Ubuntu 24.04 Noble Numbat -* ROS 2 - * ROS 2 Jazzy Jalisco -* Gazebo - * Gazebo Sim 8.x -* ROS 2 Package - * ros-jazzy-desktop-full +- OS + - Ubuntu Desktop 24.04 +- ROS 2 + - ROS 2 Jazzy Jalisco +- Gazebo + - Gazebo Sim 8.x ## Installation -Download this ROS 2 package. +### Binary Installation -```sh -cd ~/ros2_ws/src -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_sim.git +```bash +sudo apt install ros-jazzy-raspimouse-sim ``` -Download the dependent ROS 2 packages. +### Source Build -```sh -cd ~/ros2_ws/src -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_ros2_examples.git -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_slam_navigation_ros2.git -git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_description.git -rosdep install -r -y -i --from-paths raspimouse* -``` +```bash +# Create workspace directory +mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src -Build this package using `colcon`. +# Clone package +git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_sim.git -```sh +# Install dependencies +rosdep install -r -y -i --from-paths . + +# Build & Install cd ~/ros2_ws colcon build --symlink-install source ~/ros2_ws/install/setup.bash @@ -61,161 +81,58 @@ After building this package, run the following commands. ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ``` -## Examples - -These exsamples require [raspimouse_ros2_examples](https://github.com/rt-net/raspimouse_ros2_examples) to operate. - -### Joystick Controll - -Terminal 1: - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py -``` - -Terminal 2: - -```sh -ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false -``` - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_joystick.gif) - -### Object Tracking - -Terminal 1: - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true -``` - -Terminal 2: - -```sh -ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false -``` - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_object_tracking.gif) - -### camera_line_follower - -Terminal 1: - -```sh -ros2 launch raspimouse_gazebo raspimouse_with_line_follower_field.launch.py use_rgb_camera:=true camera_downward:=true -``` - -Terminal 2: - -```sh -ros2 launch raspimouse_ros2_examples camera_line_follower.launch.py mouse:=false use_camera_node:=false -``` - -Terminal 3: Start - -```sh -ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, switch1: false, switch2: true}" -``` - -Terminal 3: Stop -```sh -ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" -``` - -For information on parameters in camera line follower, click [here](https://github.com/rt-net/raspimouse_ros2_examples/blob/master/README.en.md#parameters). +## Packages -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_camerafollower_short.gif) +- raspimouse_sim + - This package manages the meta-information for the various packages in this repository. +- raspimouse_fake + - This package simulates the motor control interface of the Raspberry Pi Mouse. +- raspimouse_gazebo + - This package provides models and scripts to set up a simulation environment on [Gazebo](https://gazebosim.org/home). -### SLAM & Navigation +## How to Use Examples -This exsample requires [raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) to operate. - -#### SLAM - -Terminal 1: -```sh -ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg -``` -The lidar option supports `urg`, `lds`, and `rplidar`. - -Terminal 2: -```sh -ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false -``` - -Terminal 3: -```sh -ros2 launch raspimouse_slam pc_slam.launch.py -``` +Detailed usage of the sample program is explained in the README of the `raspimouse_gazebo` package. -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_slam.png) +- raspimouse_gazebo + - [Joystick Controll](./raspimouse_gazebo/README.md#joystick-controll) + - [Object Tracking](./raspimouse_gazebo/README.md#object-tracking) + - [Camera Line Follower](./raspimouse_gazebo/README.md#camera_line_follower) + - [SLAM & Navigation](./raspimouse_gazebo/README.md#slam--navigation) -Terminal 4: -```sh -ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME -``` - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_slam_short.gif) - -#### Navigation - -Terminal 1: -```sh -ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg -``` -The lidar option supports `urg`, `lds`, and `rplidar`. - -Terminal 2: -```sh -ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml -``` - -![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_navigation_short.gif) - -## Model data list - -### course_curve_50x50cm -Curve course panel for line following. -Panel size is 50 cm x 50 cm and line width is 4 cm. - -![](./raspimouse_gazebo/models/course_curve_50x50cm/meshes/course_curve.jpg) - -### course_straight_50x50cm -Straight course panel for line following. -Panel size is 50 cm x 50 cm and line width is 4 cm. - -![](./raspimouse_gazebo/models/course_straight_50x50cm/meshes/course_straight.jpg) - -### cube_*cm_color-name -Each cube is 5 cm, 7.5 cm, 10 cm, and 15 cm, 30 cm on a side. -The cube colors are red, yellow, blue, green and black. +## License -![](https://rt-net.github.io/images/raspberry-pi-mouse/color_objects.png) +(C) 2016 RT Corporation \ -### about dae files -The dae file is edited in Blender 4.0. +Each file is licensed as stated in their headers. +If no license is specified, the file is licensed under the MIT License. +The full license text is available in the [LICENSE](./LICENSE) file or at [https://opensource.org/license/MIT](https://opensource.org/license/MIT). -## License +## Contributing -This repository is licensed under the MIT license, see [LICENSE]( ./LICENSE ). -Unless attributed otherwise, everything in this repository is under the MIT license. +- This software is open source, but its development is not open. +- This software is essentially provided as open source software on an “AS IS” (in its current state) basis. +- No free support is available for this software. +- Requests for bug fixes and corrections of typographical errors are always accepted; however, requests for additional features will be subject to our internal guidelines. For further details, please refer to the [Contribution Guidelines](https://github.com/rt-net/.github/blob/master/CONTRIBUTING.md). ### Acknowledgements -* [CIR-KIT/fourth_robot_pkg]( https://github.com/CIR-KIT/fourth_robot_pkg ) - * author - * RyodoTanaka - * maintainer - * RyodoTanaka - * BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) - * See [package.xml](https://github.com/CIR-KIT/fourth_robot_pkg/blob/indigo-devel/fourth_robot_control/package.xml) for details. -* [yujinrobot/kobuki]( https://github.com/yujinrobot/kobuki ) - * authors - * Daniel Stonier - * Younghun Ju - * Jorge Santos Simon - * Marcus Liebhardt - * maintainer - * Daniel Stonier - * BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) - * See [package.xml](https://github.com/yujinrobot/kobuki/blob/melodic/kobuki/package.xml) for details。 +This repository is developed based on files from the following repository. + +- [CIR-KIT/fourth_robot_pkg]( https://github.com/CIR-KIT/fourth_robot_pkg ) + - author + - RyodoTanaka + - maintainer + - RyodoTanaka + - BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) + - 詳細は [package.xml](https://github.com/CIR-KIT/fourth_robot_pkg/blob/indigo-devel/fourth_robot_control/package.xml) を参照してください。 +- [yujinrobot/kobuki]( https://github.com/yujinrobot/kobuki ) + - authors + - Daniel Stonier + - Younghun Ju + - Jorge Santos Simon + - Marcus Liebhardt + - maintainer + - Daniel Stonier + - BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) + - 詳細は [package.xml](https://github.com/yujinrobot/kobuki/blob/melodic/kobuki/package.xml) を参照してください。 diff --git a/raspimouse_gazebo/README.en.md b/raspimouse_gazebo/README.en.md new file mode 100644 index 0000000..8277517 --- /dev/null +++ b/raspimouse_gazebo/README.en.md @@ -0,0 +1,185 @@ +[English](README.en.md) | [日本語](README.md) + +# raspimouse_gazebo + +This package provides models and scripts to set up a simulation environment in Gazebo. + +![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) + +## Table of Contents + +- [raspimouse\_gazebo](#raspimouse_gazebo) + - [Table of Contents](#table-of-contents) + - [How To Use Examples](#how-to-use-examples) + - [Joystick Controll](#joystick-controll) + - [Object Tracking](#object-tracking) + - [Camera Line Follower](#camera_line_follower) + - [SLAM & Navigation](#slam--navigation) + - [Model data list](#etc-lifecycle-description等) + +## How to Use Examples + +### Joystick Controll + +Operates the Raspberry Pi Mouse using a joystick controller. + + + + +Run the following command in Terminal 1 to launch the Gazebo simulator. + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py +``` + +Run the following command in Terminal 2 to control the Raspberry Pi Mouse using a joystick controller. + +```sh +ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false +``` + +### Object Tracking + +Raspberry Pi Mouse follows an orange (red) object. + + + + +Run the following command in Terminal 1 to launch a world with colored cubes. + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true +``` + +Run the following command in Terminal 2 to make the Raspberry Pi Mouse follow an orange (red) object. + +```sh +ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false +``` + +### camera_line_follower + +The Raspberry Pi Mouse follows a black line drawn on the floor. + +For parameters used in camera-based line tracing, please refer to this [section](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters). + + + + + +Run the following command in Terminal 1 to launch a world with a sample course for line tracing. + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_line_follower_field.launch.py use_rgb_camera:=true camera_downward:=true +``` + +Run the following command in Terminal 2 to start the camera-based line tracing node. + +```sh +ros2 launch raspimouse_ros2_examples camera_line_follower.launch.py mouse:=false use_camera_node:=false +``` + +Run the following command in Terminal 3 to start the Raspberry Pi Mouse's movement. + +```sh +ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, switch1: false, switch2: true}" +``` + +Run the following command to stop the Raspberry Pi Mouse. + +```sh +ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" +``` + +### SLAM & Navigation + +> [!NOTE] +> This sample requires [raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) to run. + +#### SLAM + +Runs SLAM for localization and mapping. + + + + + +Run the following command in Terminal 1 to launch a world with the `Lake House` model placed in it. + +> [!NOTE] +> The `lidar` option supports `urg`, `lds`, and `rplidar`. + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg +``` + +Run the following command in Terminal 2 to control the Raspberry Pi Mouse with a joystick controller. + +```sh +ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false +``` + +Run the following command in Terminal 3 to run SLAM. + +```sh +ros2 launch raspimouse_slam pc_slam.launch.py +``` + +Run the following command in Terminal 4 to save the created map. + +> [!NOTE] +> You can specify any name for `MAP_NAME`. + +```sh +ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME +``` + +#### Navigation + +Navigate using the created map. + + + +Run the following command in Terminal 1 to launch a world with the `Lake House` model placed in it. + +> [!NOTE] +> The `lidar` option supports `urg`, `lds`, and `rplidar`. + +```sh +ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg +``` + +Run the following command in Terminal 2 to run Navigation. + +> [!NOTE] +> Specify the path to the map file created by SLAM for the map argument. + +```sh +ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml +``` + +## Model Data List + +This is a list of model data used in the various samples. + +> [!NOTE] +> The dae file is edited in Blender 4.0. + +- `course_curve_50x50cm` + - Curve course panel for line following. + - Panel size is 50 cm x 50 cm and line width is 4 cm. + + + +- `course_straight_50x50cm` + - traight course panel for line following. + - Panel size is 50 cm x 50 cm and line width is 4 cm. + + + +- `cube_*cm_color-name` + - The cube colors are red, yellow, blue, green and black. + - Each cube is 5 cm, 7.5 cm, 10 cm, and 15 cm, 30 cm on a side. + + + From ed94831382d352712687a78a94d6eb95566dbcc5 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 6 Aug 2025 10:15:51 +0900 Subject: [PATCH 09/26] =?UTF-8?q?README=E3=81=AE=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=BC=E3=83=9E=E3=83=83=E3=83=88=E4=B8=8D=E5=82=99=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- raspimouse_gazebo/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index 8f3871c..bd937eb 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -163,7 +163,7 @@ ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map > daeファイルはBlender 4.0で編集されています。 - `course_curve_50x50cm` - - ライントレース用の曲線コースパネルです。 + - ライントレース用の曲線コースパネルです。 - パネルサイズは50cm x 50cm、線の幅は4cmです。 @@ -175,8 +175,8 @@ ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map - `cube_*cm_color-name` - - それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 - 色は赤、黄、青、緑、黒です。 + - それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 From 144552acadd7a7438d3c94b6e0c2398d76b8be98 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 6 Aug 2025 10:21:35 +0900 Subject: [PATCH 10/26] =?UTF-8?q?README=E3=81=AEtypo=E3=82=84=E8=A1=A8?= =?UTF-8?q?=E7=8F=BE=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 4828eeb..c9a8e6f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![industrial_ci](https://github.com/rt-net/raspimouse_sim/actions/workflows/industrial_ci.yml/badge.svg?branch=ros2)](https://github.com/rt-net/raspimouse_sim/actions/workflows/industrial_ci.yml) -Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージです。 +Gazebo上でRaspberry Pi Mouseの動作をシミュレーションするためのROS 2パッケージです。 ![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) @@ -22,8 +22,8 @@ Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージ - raspimouse_sim - raspimouse_fake - raspimouse_gazebo - - [How To Use Examples](#how-to-use-examples) - - Joystick Controll + - [How to Use Examples](#how-to-use-examples) + - Joystick Control - Object Tracking - Camera Line Follower - SLAM & Navigation @@ -75,7 +75,7 @@ source ~/ros2_ws/install/setup.bash ## QuickStart -次のコマンドを実行するとGazeboシミュレータが起動します。 +次のコマンドを実行するとGazeboシミュレータが起動し、Raspberry Pi Mouseのモデルが表示されます。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py @@ -84,7 +84,7 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ## Packages - raspimouse_sim - - 本リポジトリ内の各種パッケージのメタ情報を管理するパッケージです。 + - 本リポジトリに含まれる複数のパッケージに関するメタ情報を管理します。 - raspimouse_fake - Raspberry Pi Mouseのモータ制御インターフェースを模擬するパッケージです。 - raspimouse_gazebo @@ -92,10 +92,10 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ## How to Use Examples -サンプルプログラムの詳細な動作方法は、`raspimouse_gazebo`パッケージののREADMEで説明しています。 +サンプルプログラムの詳細な動作方法は、`raspimouse_gazebo`パッケージのREADMEで説明しています。 - raspimouse_gazebo - - [Joystick Controll](./raspimouse_gazebo/README.md#joystick-controll) + - [Joystick Control](./raspimouse_gazebo/README.md#joystick-control) - [Object Tracking](./raspimouse_gazebo/README.md#object-tracking) - [Camera Line Follower](./raspimouse_gazebo/README.md#camera_line_follower) - [SLAM & Navigation](./raspimouse_gazebo/README.md#slam--navigation) @@ -111,7 +111,7 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py - 本ソフトウェアはオープンソースですが、開発はオープンではありません。 - 本ソフトウェアは基本的にオープンソースソフトウェアとして「AS IS」(現状有姿のまま)で提供しています。 -- 本ソフトウェアに関する無償サポートはありません。 +- 本ソフトウェアに関する無償サポートは行っていません。 - バグの修正や誤字脱字の修正に関するリクエストは常に受け付けていますが、 それ以外の機能追加等のリクエストについては社内のガイドラインを優先します。 詳しくは[コントリビューションガイドライン](https://github.com/rt-net/.github/blob/master/CONTRIBUTING.md)に従ってください。 @@ -120,7 +120,7 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py 本リポジトリは、以下のリポジトリのファイルをベースに開発されています。 -- [CIR-KIT/fourth_robot_pkg]( https://github.com/CIR-KIT/fourth_robot_pkg ) +- [CIR-KIT/fourth_robot_pkg](https://github.com/CIR-KIT/fourth_robot_pkg) - author - RyodoTanaka - maintainer From 52372a011bd5a6dd58096c39b82d78a4b6a97660 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 6 Aug 2025 11:17:47 +0900 Subject: [PATCH 11/26] =?UTF-8?q?=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E8=A1=A8=E7=8F=BE=E3=82=84typo=E3=81=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 18 +++++++++--------- README.md | 2 +- raspimouse_gazebo/README.en.md | 13 ++++++------- raspimouse_gazebo/README.md | 26 +++++++++++++------------- 4 files changed, 29 insertions(+), 30 deletions(-) diff --git a/README.en.md b/README.en.md index f3ad26a..1f5e34a 100644 --- a/README.en.md +++ b/README.en.md @@ -4,7 +4,7 @@ [![industrial_ci](https://github.com/rt-net/raspimouse_sim/actions/workflows/industrial_ci.yml/badge.svg?branch=ros2)](https://github.com/rt-net/raspimouse_sim/actions/workflows/industrial_ci.yml) -ROS 2 package suite for Raspberry Pi Mouse Simulator runs on Gazebo +ROS 2 package suite for simulating the Raspberry Pi Mouse in Gazebo ![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) @@ -22,8 +22,8 @@ ROS 2 package suite for Raspberry Pi Mouse Simulator runs on Gazebo - raspimouse_sim - raspimouse_fake - raspimouse_gazebo - - [How To Use Examples](#how-to-use-examples) - - Joystick Controll + - [How to Use Examples](#how-to-use-examples) + - Joystick Control - Object Tracking - Camera Line Follower - SLAM & Navigation @@ -75,7 +75,7 @@ source ~/ros2_ws/install/setup.bash ## QuickStart -After building this package, run the following commands. +The following command launches the Gazebo simulator and displays the Raspberry Pi Mouse model. ```sh ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py @@ -84,18 +84,18 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ## Packages - raspimouse_sim - - This package manages the meta-information for the various packages in this repository. + - Manages meta-information for the packages in this repository. - raspimouse_fake - This package simulates the motor control interface of the Raspberry Pi Mouse. - raspimouse_gazebo - - This package provides models and scripts to set up a simulation environment on [Gazebo](https://gazebosim.org/home). + - This package provides models and scripts to set up a simulation environment on [Gazebo](https://gazebosim.org). ## How to Use Examples Detailed usage of the sample program is explained in the README of the `raspimouse_gazebo` package. - raspimouse_gazebo - - [Joystick Controll](./raspimouse_gazebo/README.md#joystick-controll) + - [Joystick Control](./raspimouse_gazebo/README.md#joystick-control) - [Object Tracking](./raspimouse_gazebo/README.md#object-tracking) - [Camera Line Follower](./raspimouse_gazebo/README.md#camera_line_follower) - [SLAM & Navigation](./raspimouse_gazebo/README.md#slam--navigation) @@ -125,7 +125,7 @@ This repository is developed based on files from the following repository. - maintainer - RyodoTanaka - BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) - - 詳細は [package.xml](https://github.com/CIR-KIT/fourth_robot_pkg/blob/indigo-devel/fourth_robot_control/package.xml) を参照してください。 + - For details, see [package.xml](https://github.com/CIR-KIT/fourth_robot_pkg/blob/indigo-devel/fourth_robot_control/package.xml). - [yujinrobot/kobuki]( https://github.com/yujinrobot/kobuki ) - authors - Daniel Stonier @@ -135,4 +135,4 @@ This repository is developed based on files from the following repository. - maintainer - Daniel Stonier - BSD ([BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)) - - 詳細は [package.xml](https://github.com/yujinrobot/kobuki/blob/melodic/kobuki/package.xml) を参照してください。 + - For details, see [package.xml](https://github.com/yujinrobot/kobuki/blob/melodic/kobuki/package.xml). \ No newline at end of file diff --git a/README.md b/README.md index c9a8e6f..0895cbf 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py - raspimouse_fake - Raspberry Pi Mouseのモータ制御インターフェースを模擬するパッケージです。 - raspimouse_gazebo - - [Gazebo](https://gazebosim.org/home)上でシミュレーション環境を構築するためのモデルやスクリプトを提供するパッケージです。 + - [Gazebo](https://gazebosim.org)上でシミュレーション環境を構築するためのモデルやスクリプトを提供するパッケージです。 ## How to Use Examples diff --git a/raspimouse_gazebo/README.en.md b/raspimouse_gazebo/README.en.md index 8277517..69d92d0 100644 --- a/raspimouse_gazebo/README.en.md +++ b/raspimouse_gazebo/README.en.md @@ -11,7 +11,7 @@ This package provides models and scripts to set up a simulation environment in G - [raspimouse\_gazebo](#raspimouse_gazebo) - [Table of Contents](#table-of-contents) - [How To Use Examples](#how-to-use-examples) - - [Joystick Controll](#joystick-controll) + - [Joystick Control](#joystick-control) - [Object Tracking](#object-tracking) - [Camera Line Follower](#camera_line_follower) - [SLAM & Navigation](#slam--navigation) @@ -19,13 +19,12 @@ This package provides models and scripts to set up a simulation environment in G ## How to Use Examples -### Joystick Controll +### Joystick Control -Operates the Raspberry Pi Mouse using a joystick controller. +Operates using a joystick controller. - Run the following command in Terminal 1 to launch the Gazebo simulator. ```sh @@ -40,7 +39,7 @@ ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js ### Object Tracking -Raspberry Pi Mouse follows an orange (red) object. +Follows an orange (red) object. @@ -59,7 +58,7 @@ ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_ ### camera_line_follower -The Raspberry Pi Mouse follows a black line drawn on the floor. +Follows a black line drawn on the floor. For parameters used in camera-based line tracing, please refer to this [section](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters). @@ -172,7 +171,7 @@ This is a list of model data used in the various samples. - `course_straight_50x50cm` - - traight course panel for line following. + - Straight course panel for line following. - Panel size is 50 cm x 50 cm and line width is 4 cm. diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index bd937eb..438e943 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -2,7 +2,7 @@ # raspimouse_gazebo -Gazebo上でシミュレーション環境を構築するためのモデルやスクリプトを提供します。 +Gazebo上でシミュレーション環境を構築するためのモデルやスクリプトを提供するパッケージです。 ![](https://rt-net.github.io/images/raspberry-pi-mouse/raspimouse_sim_color_objects_world.png) @@ -11,7 +11,7 @@ Gazebo上でシミュレーション環境を構築するためのモデルや - [raspimouse\_gazebo](#raspimouse_gazebo) - [Table of Contents](#table-of-contents) - [How To Use Examples](#how-to-use-examples) - - [Joystick Controll](#joystick-controll) + - [Joystick Control](#joystick-control) - [Object Tracking](#object-tracking) - [Camera Line Follower](#camera_line_follower) - [SLAM & Navigation](#slam--navigation) @@ -19,22 +19,21 @@ Gazebo上でシミュレーション環境を構築するためのモデルや ## How to Use Examples -### Joystick Controll +### Joystick Control Raspberry Pi Mouseをジョイスティックコントローラで操作します。 - -端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。 +端末1で次のコマンドを実行し、Gazeboシミュレータを起動します。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ``` -端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 -v +端末2で次のコマンドを実行し、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 + ```sh ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false ``` @@ -46,7 +45,7 @@ Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 -端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。 +端末1で次のコマンドを実行し、色付きの立方体が配置されたワールドが表示します。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true @@ -89,7 +88,7 @@ ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, sw ### SLAM & Navigation -RapimouseがLiDARを使用したSLAMとNavigationを行います。 +RaspimouseがLiDARを使用したSLAMとNavigationを行います。 > [!NOTE] > 本サンプルの動作には、[raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) が必要です。 @@ -111,18 +110,19 @@ SLAMによる自己位置推定と地図作成を行います。 ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。 +端末2で次のコマンドを実行し、ジョイスティックコントローラでRaspberry Pi Mouseを手動操作します。 ```sh ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false ``` 端末3で次のコマンドを実行すると、SLAMが実行されます。 + ```sh ros2 launch raspimouse_slam pc_slam.launch.py ``` -端末4で次のコマンドを実行すると、作成した地図を保存できます。 +端末4で次のコマンドを実行し、作成した地図を保存します。 > [!NOTE] > `MAP_NAME`は任意の名前を指定できます。 @@ -133,7 +133,7 @@ ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME #### Navigation -作成した地図をもとにNavigationします。 +作成した地図をもとにNavigationを行います。 @@ -146,7 +146,7 @@ ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -端末2で次のコマンドを実行すると、Navigationが実行されます。 +端末2で次のコマンドを実行すると、Navigationが開始されます。 > [!NOTE] > 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 From e824c547eb25520b0300b6fd9c1257a490bc658e Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 6 Aug 2025 11:21:11 +0900 Subject: [PATCH 12/26] =?UTF-8?q?raspimouse=5Fgazebo=E3=81=B8=E3=81=AEREAD?= =?UTF-8?q?ME=E3=83=AA=E3=83=B3=E3=82=AF=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.en.md b/README.en.md index 1f5e34a..49ba8ff 100644 --- a/README.en.md +++ b/README.en.md @@ -92,7 +92,7 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ## How to Use Examples -Detailed usage of the sample program is explained in the README of the `raspimouse_gazebo` package. +Detailed usage of the sample program is explained in the [README](./raspimouse_gazebo/README.en.md) of the `raspimouse_gazebo` package. - raspimouse_gazebo - [Joystick Control](./raspimouse_gazebo/README.md#joystick-control) diff --git a/README.md b/README.md index 0895cbf..3eb59c6 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py ## How to Use Examples -サンプルプログラムの詳細な動作方法は、`raspimouse_gazebo`パッケージのREADMEで説明しています。 +サンプルプログラムの詳細な動作方法は、`raspimouse_gazebo`パッケージの[README](./raspimouse_gazebo/README.md)で説明しています。 - raspimouse_gazebo - [Joystick Control](./raspimouse_gazebo/README.md#joystick-control) From e009e431719c89f445012a30d8a660d460895107 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 6 Aug 2025 11:46:47 +0900 Subject: [PATCH 13/26] =?UTF-8?q?=E6=B3=A8=E9=87=88=E3=81=AE=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- raspimouse_gazebo/README.en.md | 23 +++++++++++------------ raspimouse_gazebo/README.md | 23 ++++++++++++----------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/raspimouse_gazebo/README.en.md b/raspimouse_gazebo/README.en.md index 69d92d0..1d87c8e 100644 --- a/raspimouse_gazebo/README.en.md +++ b/raspimouse_gazebo/README.en.md @@ -105,13 +105,13 @@ Runs SLAM for localization and mapping. Run the following command in Terminal 1 to launch a world with the `Lake House` model placed in it. -> [!NOTE] -> The `lidar` option supports `urg`, `lds`, and `rplidar`. - ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` +> [!NOTE] +> The `lidar` option supports `urg`, `lds`, and `rplidar`. + Run the following command in Terminal 2 to control the Raspberry Pi Mouse with a joystick controller. ```sh @@ -126,13 +126,13 @@ ros2 launch raspimouse_slam pc_slam.launch.py Run the following command in Terminal 4 to save the created map. -> [!NOTE] -> You can specify any name for `MAP_NAME`. - ```sh ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME ``` +> [!NOTE] +> You can specify any name for `MAP_NAME`. + #### Navigation Navigate using the created map. @@ -141,22 +141,21 @@ Navigate using the created map. Run the following command in Terminal 1 to launch a world with the `Lake House` model placed in it. -> [!NOTE] -> The `lidar` option supports `urg`, `lds`, and `rplidar`. - ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` +> [!NOTE] +> The `lidar` option supports `urg`, `lds`, and `rplidar`. Run the following command in Terminal 2 to run Navigation. -> [!NOTE] -> Specify the path to the map file created by SLAM for the map argument. - ```sh ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml ``` +> [!NOTE] +> Specify the path to the map file created by SLAM for the map argument. + ## Model Data List This is a list of model data used in the various samples. diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index 438e943..efba64d 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -103,13 +103,13 @@ SLAMによる自己位置推定と地図作成を行います。 端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 -> [!NOTE] -> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 - ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` +> [!NOTE] +> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + 端末2で次のコマンドを実行し、ジョイスティックコントローラでRaspberry Pi Mouseを手動操作します。 ```sh @@ -124,13 +124,13 @@ ros2 launch raspimouse_slam pc_slam.launch.py 端末4で次のコマンドを実行し、作成した地図を保存します。 -> [!NOTE] -> `MAP_NAME`は任意の名前を指定できます。 - ```sh ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME ``` +> [!NOTE] +> `MAP_NAME`は任意の名前を指定できます。 + #### Navigation 作成した地図をもとにNavigationを行います。 @@ -139,22 +139,23 @@ ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME 端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 -> [!NOTE] -> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -端末2で次のコマンドを実行すると、Navigationが開始されます。 - > [!NOTE] -> 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 +> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + +端末2で次のコマンドを実行すると、Navigationが開始されます。 ```sh ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml ``` +> [!NOTE] +> 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 + ## Model Data List 各種サンプルで使用しているモデルデータ一覧です。 From af911305012388ae34714be06c6872809bc551cc Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 6 Aug 2025 11:48:47 +0900 Subject: [PATCH 14/26] =?UTF-8?q?Revert=20"=E6=B3=A8=E9=87=88=E3=81=AE?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E3=82=92=E5=A4=89=E6=9B=B4"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit e009e431719c89f445012a30d8a660d460895107. --- raspimouse_gazebo/README.en.md | 23 ++++++++++++----------- raspimouse_gazebo/README.md | 23 +++++++++++------------ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/raspimouse_gazebo/README.en.md b/raspimouse_gazebo/README.en.md index 1d87c8e..69d92d0 100644 --- a/raspimouse_gazebo/README.en.md +++ b/raspimouse_gazebo/README.en.md @@ -105,13 +105,13 @@ Runs SLAM for localization and mapping. Run the following command in Terminal 1 to launch a world with the `Lake House` model placed in it. +> [!NOTE] +> The `lidar` option supports `urg`, `lds`, and `rplidar`. + ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -> [!NOTE] -> The `lidar` option supports `urg`, `lds`, and `rplidar`. - Run the following command in Terminal 2 to control the Raspberry Pi Mouse with a joystick controller. ```sh @@ -126,13 +126,13 @@ ros2 launch raspimouse_slam pc_slam.launch.py Run the following command in Terminal 4 to save the created map. +> [!NOTE] +> You can specify any name for `MAP_NAME`. + ```sh ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME ``` -> [!NOTE] -> You can specify any name for `MAP_NAME`. - #### Navigation Navigate using the created map. @@ -141,21 +141,22 @@ Navigate using the created map. Run the following command in Terminal 1 to launch a world with the `Lake House` model placed in it. +> [!NOTE] +> The `lidar` option supports `urg`, `lds`, and `rplidar`. + ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -> [!NOTE] -> The `lidar` option supports `urg`, `lds`, and `rplidar`. Run the following command in Terminal 2 to run Navigation. +> [!NOTE] +> Specify the path to the map file created by SLAM for the map argument. + ```sh ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml ``` -> [!NOTE] -> Specify the path to the map file created by SLAM for the map argument. - ## Model Data List This is a list of model data used in the various samples. diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index efba64d..438e943 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -103,13 +103,13 @@ SLAMによる自己位置推定と地図作成を行います。 端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 +> [!NOTE] +> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 + ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -> [!NOTE] -> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 - 端末2で次のコマンドを実行し、ジョイスティックコントローラでRaspberry Pi Mouseを手動操作します。 ```sh @@ -124,13 +124,13 @@ ros2 launch raspimouse_slam pc_slam.launch.py 端末4で次のコマンドを実行し、作成した地図を保存します。 +> [!NOTE] +> `MAP_NAME`は任意の名前を指定できます。 + ```sh ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME ``` -> [!NOTE] -> `MAP_NAME`は任意の名前を指定できます。 - #### Navigation 作成した地図をもとにNavigationを行います。 @@ -139,23 +139,22 @@ ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME 端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 +> [!NOTE] +> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -> [!NOTE] -> `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 - 端末2で次のコマンドを実行すると、Navigationが開始されます。 +> [!NOTE] +> 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 + ```sh ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml ``` -> [!NOTE] -> 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 - ## Model Data List 各種サンプルで使用しているモデルデータ一覧です。 From adc0b4df22248e5437030ad33719f33508219d9e Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Fri, 8 Aug 2025 16:49:55 +0900 Subject: [PATCH 15/26] =?UTF-8?q?=E7=9B=AE=E6=AC=A1=E3=81=8B=E3=82=89?= =?UTF-8?q?=E3=83=91=E3=83=83=E3=82=B1=E3=83=BC=E3=82=B8=E3=81=A8=E3=82=B5?= =?UTF-8?q?=E3=83=B3=E3=83=97=E3=83=AB=E3=81=AE=E5=B0=8F=E9=A0=85=E7=9B=AE?= =?UTF-8?q?=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 7 ------- README.md | 7 ------- 2 files changed, 14 deletions(-) diff --git a/README.en.md b/README.en.md index 49ba8ff..53ff4f5 100644 --- a/README.en.md +++ b/README.en.md @@ -19,14 +19,7 @@ ROS 2 package suite for simulating the Raspberry Pi Mouse in Gazebo - [Source Build](#source-build) - [QuickStart](#quickstart) - [Packages](#packages) - - raspimouse_sim - - raspimouse_fake - - raspimouse_gazebo - [How to Use Examples](#how-to-use-examples) - - Joystick Control - - Object Tracking - - Camera Line Follower - - SLAM & Navigation - [License](#license) - [Contributing](#contributing) - [Acknowledgements](#acknowledgements) diff --git a/README.md b/README.md index 3eb59c6..4f7fc9f 100644 --- a/README.md +++ b/README.md @@ -19,14 +19,7 @@ Gazebo上でRaspberry Pi Mouseの動作をシミュレーションするため - [Source Build](#source-build) - [QuickStart](#quickstart) - [Packages](#packages) - - raspimouse_sim - - raspimouse_fake - - raspimouse_gazebo - [How to Use Examples](#how-to-use-examples) - - Joystick Control - - Object Tracking - - Camera Line Follower - - SLAM & Navigation - [License](#license) - [Contributing](#contributing) - [Acknowledgements](#acknowledgements) From 60934572ce8ef44d94c9b00f190c4ef5e4abdec3 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Fri, 8 Aug 2025 16:59:17 +0900 Subject: [PATCH 16/26] =?UTF-8?q?=E3=80=8C=E5=AE=9F=E8=A1=8C=E3=81=97?= =?UTF-8?q?=E3=80=8D=E3=81=A8=E3=80=8C=E5=AE=9F=E8=A1=8C=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=81=A8=E3=80=8D=E3=81=AE=E8=A1=A8=E7=8F=BE=E3=81=8C=E6=B7=B7?= =?UTF-8?q?=E5=9C=A8=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F=E3=81=AE=E3=81=A7?= =?UTF-8?q?=E3=80=81=E3=80=8C=E5=AE=9F=E8=A1=8C=E3=81=97=E3=80=8D=E3=81=AB?= =?UTF-8?q?=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- raspimouse_gazebo/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index 438e943..3d463a8 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -51,7 +51,7 @@ Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true ``` -端末2で次のコマンドを実行すると、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 +端末2で次のコマンドを実行し、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 ```sh ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false @@ -66,17 +66,17 @@ Raspberry Pi Mouseが、床に描かれた黒いラインを追従します。 -端末1で次のコマンドを実行すると、ライントレースのサンプルコースが配置されたワールドが表示されます。 +端末1で次のコマンドを実行し、ライントレースのサンプルコースが配置されたワールドを表示します。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_line_follower_field.launch.py use_rgb_camera:=true camera_downward:=true ``` -端末2で次のコマンドを実行すると、カメラライントレースのノードが起動します。 +端末2で次のコマンドを実行し、カメラライントレースのノードを起動します。 ```sh ros2 launch raspimouse_ros2_examples camera_line_follower.launch.py mouse:=false use_camera_node:=false ``` -端末3で次のコマンドを実行すると、Raspberry Pi Mouseが走行を開始します。 +端末3で次のコマンドを実行し、Raspberry Pi Mouseを走行させます。 ```sh ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, switch1: false, switch2: true}" ``` @@ -101,7 +101,7 @@ SLAMによる自己位置推定と地図作成を行います。 -端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 +端末1で次のコマンドを実行し、`Lake House`のモデルが配置されたワールドを表示します。 > [!NOTE] > `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 @@ -116,7 +116,7 @@ ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false ``` -端末3で次のコマンドを実行すると、SLAMが実行されます。 +端末3で次のコマンドを実行し、SLAMを開始します。 ```sh ros2 launch raspimouse_slam pc_slam.launch.py @@ -137,7 +137,7 @@ ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME -端末1で次のコマンドを実行すると、`Lake House`のモデルが配置されたワールドが表示されます。 +端末1で次のコマンドを実行し、`Lake House`のモデルが配置されたワールドが表示します。 > [!NOTE] > `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 @@ -146,7 +146,7 @@ ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ``` -端末2で次のコマンドを実行すると、Navigationが開始されます。 +端末2で次のコマンドを実行し、Navigationを開始します。 > [!NOTE] > 引数`map`にはSLAMで作成した地図ファイルのパスを指定してください。 From 5ac24d6731d5c1f6311de4471c79532fb248b59c Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Fri, 8 Aug 2025 16:59:52 +0900 Subject: [PATCH 17/26] Update raspimouse_gazebo/README.md Co-authored-by: YusukeKato --- raspimouse_gazebo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index 3d463a8..1b2049f 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -45,7 +45,7 @@ Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 -端末1で次のコマンドを実行し、色付きの立方体が配置されたワールドが表示します。 +端末1で次のコマンドを実行し、色付きの立方体が配置されたワールドを表示します。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true From a7adefc0c21d895a831001517df2033f5289b206 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Fri, 8 Aug 2025 17:13:01 +0900 Subject: [PATCH 18/26] =?UTF-8?q?=E3=80=8C=E8=A1=A8=E7=A4=BA=E3=81=97?= =?UTF-8?q?=E3=81=BE=E3=81=99=E3=80=8D=E3=81=AE=E8=A1=A8=E7=8F=BE=E3=81=AB?= =?UTF-8?q?=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f7fc9f..556a6af 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ source ~/ros2_ws/install/setup.bash ## QuickStart -次のコマンドを実行するとGazeboシミュレータが起動し、Raspberry Pi Mouseのモデルが表示されます。 +次のコマンドを実行し、Gazeboシミュレータを起動してRaspberry Pi Mouseのモデルを表示します。 ```sh ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py From 75ef4eaf511a884c16347e9b38425d9a338eee35 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Fri, 8 Aug 2025 17:15:51 +0900 Subject: [PATCH 19/26] =?UTF-8?q?=E3=80=8C=E5=BA=8A=E3=81=AB=E6=9B=B8?= =?UTF-8?q?=E3=81=8B=E3=82=8C=E3=81=9F=E9=BB=92=E3=81=84=E3=83=A9=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=80=8D=E3=81=A7=E5=86=97=E9=95=B7=E3=81=AA=E3=80=8C?= =?UTF-8?q?=E5=BA=8A=E3=81=AB=E6=9B=B8=E3=81=8B=E3=82=8C=E3=81=9F=E3=80=8D?= =?UTF-8?q?=E3=82=92=E5=89=8A=E9=99=A4=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- raspimouse_gazebo/README.en.md | 2 +- raspimouse_gazebo/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/raspimouse_gazebo/README.en.md b/raspimouse_gazebo/README.en.md index 69d92d0..70d71c5 100644 --- a/raspimouse_gazebo/README.en.md +++ b/raspimouse_gazebo/README.en.md @@ -58,7 +58,7 @@ ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_ ### camera_line_follower -Follows a black line drawn on the floor. +Follows a black line. For parameters used in camera-based line tracing, please refer to this [section](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters). diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index 1b2049f..da2e582 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -59,7 +59,7 @@ ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_ ### camera_line_follower -Raspberry Pi Mouseが、床に描かれた黒いラインを追従します。 +Raspberry Pi Mouseが、黒いラインを追従します。 カメラライントレースにおけるパラメータは[こちら](https://github.com/rt-net/raspimouse_ros2_examples?tab=readme-ov-file#parameters)を参照してください。 From fde795b3db4a4f4278d7042d3e6c304ecf0cb8f9 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Fri, 8 Aug 2025 17:22:55 +0900 Subject: [PATCH 20/26] =?UTF-8?q?Raspimouse=E3=82=92Raspberry=20Pi=20Mouse?= =?UTF-8?q?=E3=81=A8=E3=81=84=E3=81=86=E8=A1=A8=E7=8F=BE=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: YusukeKato --- raspimouse_gazebo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index da2e582..5028478 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -88,7 +88,7 @@ ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, sw ### SLAM & Navigation -RaspimouseがLiDARを使用したSLAMとNavigationを行います。 +Raspberry Pi MouseがLiDARを使用したSLAMとNavigationを行います。 > [!NOTE] > 本サンプルの動作には、[raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) が必要です。 From a0301e6adf9bea28e25a744218564d2d0edb208a Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Fri, 8 Aug 2025 17:23:51 +0900 Subject: [PATCH 21/26] =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AEREADM?= =?UTF-8?q?E=E3=81=AB=E3=80=81SLAM=20&=20Nabigatgion=E3=81=AE=E6=A6=82?= =?UTF-8?q?=E8=A6=81=E8=AA=AC=E6=98=8E=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- raspimouse_gazebo/README.en.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/raspimouse_gazebo/README.en.md b/raspimouse_gazebo/README.en.md index 70d71c5..6df0ac7 100644 --- a/raspimouse_gazebo/README.en.md +++ b/raspimouse_gazebo/README.en.md @@ -92,6 +92,8 @@ ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, sw ### SLAM & Navigation +Runs SLAM and navigation using LiDAR. + > [!NOTE] > This sample requires [raspimouse_slam_navigation_ros2](https://github.com/rt-net/raspimouse_slam_navigation_ros2) to run. From 15a99d80187aad2dbbb306d2d6c8b8494c922b52 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Fri, 8 Aug 2025 17:38:47 +0900 Subject: [PATCH 22/26] Update raspimouse_gazebo/README.md Co-authored-by: YusukeKato --- raspimouse_gazebo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index 5028478..0944902 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -137,7 +137,7 @@ ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME -端末1で次のコマンドを実行し、`Lake House`のモデルが配置されたワールドが表示します。 +端末1で次のコマンドを実行し、`Lake House`のモデルが配置されたワールドを表示します。 > [!NOTE] > `lidar`は`urg`、`lds`、`rplidar`のいずれかを指定してください。 From 5c9d13ba30808821e5eb519eeb02f6c4072b8403 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 3 Sep 2025 12:52:18 +0900 Subject: [PATCH 23/26] Update raspimouse_gazebo/README.en.md Co-authored-by: Kuwamai --- raspimouse_gazebo/README.en.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/raspimouse_gazebo/README.en.md b/raspimouse_gazebo/README.en.md index 6df0ac7..78da257 100644 --- a/raspimouse_gazebo/README.en.md +++ b/raspimouse_gazebo/README.en.md @@ -37,6 +37,10 @@ Run the following command in Terminal 2 to control the Raspberry Pi Mouse using ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false ``` +[back to example list](#how-to-use-examples) + +--- + ### Object Tracking Follows an orange (red) object. From c437d88731751b4918f8ce8ee29e2ac2778250dd Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 3 Sep 2025 13:00:25 +0900 Subject: [PATCH 24/26] =?UTF-8?q?=E3=82=B5=E3=83=B3=E3=83=97=E3=83=AB?= =?UTF-8?q?=E3=81=94=E3=81=A8=E3=81=AB=E5=8C=BA=E5=88=87=E3=82=8A=E3=81=A8?= =?UTF-8?q?=E3=82=B5=E3=83=B3=E3=83=97=E3=83=AB=E4=B8=80=E8=A6=A7=E3=81=B8?= =?UTF-8?q?=E3=81=AE=E3=83=90=E3=83=83=E3=82=AF=E6=A9=9F=E8=83=BD=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- raspimouse_gazebo/README.en.md | 12 ++++++++++++ raspimouse_gazebo/README.md | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/raspimouse_gazebo/README.en.md b/raspimouse_gazebo/README.en.md index 78da257..95d19de 100644 --- a/raspimouse_gazebo/README.en.md +++ b/raspimouse_gazebo/README.en.md @@ -60,6 +60,10 @@ Run the following command in Terminal 2 to make the Raspberry Pi Mouse follow an ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false ``` +[back to example list](#how-to-use-examples) + +--- + ### camera_line_follower Follows a black line. @@ -94,6 +98,10 @@ Run the following command to stop the Raspberry Pi Mouse. ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" ``` +[back to example list](#how-to-use-examples) + +--- + ### SLAM & Navigation Runs SLAM and navigation using LiDAR. @@ -163,6 +171,10 @@ Run the following command in Terminal 2 to run Navigation. ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml ``` +[back to example list](#how-to-use-examples) + +--- + ## Model Data List This is a list of model data used in the various samples. diff --git a/raspimouse_gazebo/README.md b/raspimouse_gazebo/README.md index 0944902..34ab260 100644 --- a/raspimouse_gazebo/README.md +++ b/raspimouse_gazebo/README.md @@ -38,6 +38,10 @@ 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 ``` +[back to example list](#how-to-use-examples) + +--- + ### Object Tracking Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。 @@ -57,6 +61,10 @@ ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_ca ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false ``` +[back to example list](#how-to-use-examples) + +--- + ### camera_line_follower Raspberry Pi Mouseが、黒いラインを追従します。 @@ -86,6 +94,10 @@ ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: false, s ros2 topic pub --once /switches raspimouse_msgs/msg/Switches "{switch0: true, switch1: false, switch2: false}" ``` +[back to example list](#how-to-use-examples) + +--- + ### SLAM & Navigation Raspberry Pi MouseがLiDARを使用したSLAMとNavigationを行います。 @@ -155,6 +167,10 @@ ros2 launch raspimouse_gazebo raspimouse_with_lakehouse.launch.py lidar:=urg ros2 launch raspimouse_navigation pc_navigation.launch.py use_sim_time:=true map:=$HOME/MAP_NAME.yaml ``` +[back to example list](#how-to-use-examples) + +--- + ## Model Data List 各種サンプルで使用しているモデルデータ一覧です。 From 91ffd4cd7a063ee7a8ef14f925fda4f910acec0b Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Wed, 3 Sep 2025 13:25:19 +0900 Subject: [PATCH 25/26] =?UTF-8?q?How=20to=20Use=20Examples=E3=81=AE?= =?UTF-8?q?=E4=B8=80=E8=A6=A7=E5=90=8D=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 9 ++++----- README.md | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/README.en.md b/README.en.md index 53ff4f5..85252de 100644 --- a/README.en.md +++ b/README.en.md @@ -87,11 +87,10 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py Detailed usage of the sample program is explained in the [README](./raspimouse_gazebo/README.en.md) of the `raspimouse_gazebo` package. -- raspimouse_gazebo - - [Joystick Control](./raspimouse_gazebo/README.md#joystick-control) - - [Object Tracking](./raspimouse_gazebo/README.md#object-tracking) - - [Camera Line Follower](./raspimouse_gazebo/README.md#camera_line_follower) - - [SLAM & Navigation](./raspimouse_gazebo/README.md#slam--navigation) +- Joystick Control +- Object Tracking +- Camera Line Follower +- SLAM & Navigation ## License diff --git a/README.md b/README.md index 556a6af..d556eff 100644 --- a/README.md +++ b/README.md @@ -87,11 +87,10 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py サンプルプログラムの詳細な動作方法は、`raspimouse_gazebo`パッケージの[README](./raspimouse_gazebo/README.md)で説明しています。 -- raspimouse_gazebo - - [Joystick Control](./raspimouse_gazebo/README.md#joystick-control) - - [Object Tracking](./raspimouse_gazebo/README.md#object-tracking) - - [Camera Line Follower](./raspimouse_gazebo/README.md#camera_line_follower) - - [SLAM & Navigation](./raspimouse_gazebo/README.md#slam--navigation) +- Joystick Control +- Object Tracking +- Camera Line Follower +- SLAM & Navigation ## License From a018b22296361f8471a4f97daba836dda8d88620 Mon Sep 17 00:00:00 2001 From: Kazushi Kurasawa Date: Mon, 6 Oct 2025 13:45:52 +0900 Subject: [PATCH 26/26] =?UTF-8?q?=E3=83=AA=E3=83=9D=E3=82=B8=E3=83=88?= =?UTF-8?q?=E3=83=AA=E3=83=88=E3=83=83=E3=83=97=E3=81=AEREADME=E3=81=AB?= =?UTF-8?q?=E3=81=82=E3=82=8B=E3=82=B5=E3=83=B3=E3=83=97=E3=83=AB=E3=83=AA?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=81=AB=E5=AF=BE=E3=81=97=E3=80=81=E3=82=B5?= =?UTF-8?q?=E3=83=B3=E3=83=97=E3=83=AB=E3=81=AE=E3=83=AA=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=81=A7=E3=81=82=E3=82=8B=E3=81=93=E3=81=A8=E3=82=92=E6=98=8E?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 9 +++++---- README.md | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/README.en.md b/README.en.md index 85252de..ebce2b4 100644 --- a/README.en.md +++ b/README.en.md @@ -87,10 +87,11 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py Detailed usage of the sample program is explained in the [README](./raspimouse_gazebo/README.en.md) of the `raspimouse_gazebo` package. -- Joystick Control -- Object Tracking -- Camera Line Follower -- SLAM & Navigation +- Examples + - Joystick Control + - Object Tracking + - Camera Line Follower + - SLAM & Navigation ## License diff --git a/README.md b/README.md index d556eff..a56dc3e 100644 --- a/README.md +++ b/README.md @@ -87,10 +87,11 @@ ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py サンプルプログラムの詳細な動作方法は、`raspimouse_gazebo`パッケージの[README](./raspimouse_gazebo/README.md)で説明しています。 -- Joystick Control -- Object Tracking -- Camera Line Follower -- SLAM & Navigation +- Examples + - Joystick Control + - Object Tracking + - Camera Line Follower + - SLAM & Navigation ## License