raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse raspimouse_fake raspimouse_gazebo raspimouse_sim

Repository Summary

Description ROS package suite for Raspberry Pi Mouse Simulator
Checkout URI https://github.com/rt-net/raspimouse_sim.git
VCS Type git
VCS Version humble-devel
Last Updated 2024-03-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags ros gazebo raspimouse-ros raspberry-pi-mouse
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
raspimouse_fake 2.1.0
raspimouse_gazebo 2.1.0
raspimouse_sim 2.1.0

README

English 日本語

raspimouse_sim

Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージです。

ROS 2 Package Status

main develop
(ros2)
Humble + Ubuntu Jammy
(humble-devel)
industrial_ci industrial_ci

動作環境

以下の環境を前提として動作確認しています。

  • Ubuntu
    • Ubuntu Jammy Jellyfish 22.04.*
  • ROS 2
    • ROS Humble Hawksbill
  • Gazebo
    • Ignition Gazebo 6.x
  • ROS 2 Package
    • ros-humble-desktop-full

インストール方法

このROS 2パッケージをダウンロードします。

cd ~/ros2_ws/src
git clone -b ros2 https://github.com/rt-net/raspimouse_sim.git

依存しているROS 2パッケージをインストールします。

cd ~/ros2_ws/src
git clone https://github.com/rt-net/raspimouse_ros2_examples.git
git clone https://github.com/rt-net/raspimouse_slam_navigation_ros2.git
git clone -b ros2 https://github.com/rt-net/raspimouse_description.git
rosdep install -r -y -i --from-paths raspimouse*

colconを使用してパッケージをビルドします。

cd ~/ros2_ws
colcon build --symlink-install
source ~/ros2_ws/install/setup.bash

QuickStart

パッケージビルド後、次のコマンドを実行するとGazeboシミュレータが起動します。

ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py

サンプル動作例

ジョイスティックコントローラによる操縦サンプル

端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。

ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py

端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。

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

RGBカメラを用いた色検出による物体追従サンプル

端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。

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

端末2で次のコマンドを実行すると、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。

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

RGBカメラを用いたライントレースサンプル

端末1で次のコマンドを実行すると、ライントレースのサンプルコースが配置されたワールドが表示されます。

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

端末2で次のコマンドを実行すると、カメラライントレースのノードが起動します。

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

端末3で次のコマンドを実行すると、Raspberry Pi Mouseが走行を開始します。

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

次のコマンドを実行すると、Raspberry Pi Mouseが停止します。

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

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

LiDARを用いたSLAMとNavigationのサンプル

SLAM

端末1で次のコマンドを実行すると、Lake Houseのモデルが配置されたワールドが表示されます。

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

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

端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。

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

端末3で次のコマンドを実行すると、SLAMが実行されます。

ros2 launch raspimouse_slam pc_slam.launch.py

端末4で次のコマンドを実行すると、作成した地図を保存できます。

ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME

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

端末1で次のコマンドを実行すると、Lake Houseのモデルが配置されたワールドが表示されます。

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

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

端末2で次のコマンドを実行すると、Navigationが実行されます。

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

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

モデルデータ一覧

course_curve_50x50cm

ライントレース用の曲線コースパネルです。 パネルサイズは50cm x 50cm、線の幅は4cmです。

course_straight_50x50cm

ライントレース用の直線コースパネルです。 パネルサイズは50cm x 50cm、線の幅は4cmです。

cube_*cm_color-name

それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 色は赤、黄、青、緑、黒です。

daeファイルについて

daeファイルはBlender 4.0で編集しています。

ライセンス

このリポジトリはMITライセンスに基づいて公開されています。
MITライセンスについてはLICENSEを確認してください。

※このソフトウェアは基本的にオープンソースソフトウェアとして「AS IS」(現状有姿のまま)で提供しています。本ソフトウェアに関する無償サポートはありません。
バグの修正や誤字脱字の修正に関するリクエストは常に受け付けていますが、それ以外の機能追加等のリクエストについては社内のガイドラインを優先します。

謝辞

以下のリポジトリのファイルをベースに開発されています。

CONTRIBUTING

No CONTRIBUTING.md found.

raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse raspimouse_fake raspimouse_gazebo raspimouse_sim

Repository Summary

Description ROS package suite for Raspberry Pi Mouse Simulator
Checkout URI https://github.com/rt-net/raspimouse_sim.git
VCS Type git
VCS Version jazzy
Last Updated 2024-11-29
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags ros gazebo raspimouse-ros raspberry-pi-mouse
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
raspimouse_fake 3.0.1
raspimouse_gazebo 3.0.1
raspimouse_sim 3.0.1

README

English 日本語

raspimouse_sim

industrial_ci

Gazebo上でシミュレートできるRaspberry Pi MouseのROS 2パッケージです。

本ブランチはROS 2 Jazzy向けです。他のディストリビューションについては、以下にリストされた対応するブランチを参照してください。

動作環境

以下の環境を前提として動作確認しています。

  • 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パッケージをダウンロードします。

cd ~/ros2_ws/src
git clone -b $ROS_DISTRO https://github.com/rt-net/raspimouse_sim.git

依存しているROS 2パッケージをインストールします。

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を使用してパッケージをビルドします。

cd ~/ros2_ws
colcon build --symlink-install
source ~/ros2_ws/install/setup.bash

QuickStart

パッケージビルド後、次のコマンドを実行するとGazeboシミュレータが起動します。

ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py

サンプル動作例

各サンプルの動作には、raspimouse_ros2_examplesが必要です。

ジョイスティックコントローラによる操縦サンプル

端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。

ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py

端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。

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

RGBカメラを用いた色検出による物体追従サンプル

端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。

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

端末2で次のコマンドを実行すると、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。

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

RGBカメラを用いたライントレースサンプル

端末1で次のコマンドを実行すると、ライントレースのサンプルコースが配置されたワールドが表示されます。

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

端末2で次のコマンドを実行すると、カメラライントレースのノードが起動します。

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

端末3で次のコマンドを実行すると、Raspberry Pi Mouseが走行を開始します。

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

次のコマンドを実行すると、Raspberry Pi Mouseが停止します。

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

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

LiDARを用いたSLAMとNavigationのサンプル

本サンプルの動作には、raspimouse_slam_navigation_ros2 が必要です。

SLAM

端末1で次のコマンドを実行すると、Lake Houseのモデルが配置されたワールドが表示されます。

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

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

端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。

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

端末3で次のコマンドを実行すると、SLAMが実行されます。

ros2 launch raspimouse_slam pc_slam.launch.py

端末4で次のコマンドを実行すると、作成した地図を保存できます。

ros2 run nav2_map_server map_saver_cli -f ~/MAP_NAME

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

端末1で次のコマンドを実行すると、Lake Houseのモデルが配置されたワールドが表示されます。

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

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

端末2で次のコマンドを実行すると、Navigationが実行されます。

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

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

モデルデータ一覧

course_curve_50x50cm

ライントレース用の曲線コースパネルです。 パネルサイズは50cm x 50cm、線の幅は4cmです。

course_straight_50x50cm

ライントレース用の直線コースパネルです。 パネルサイズは50cm x 50cm、線の幅は4cmです。

cube_*cm_color-name

それぞれ一辺5cm、7.5cm、10cm、15cm、30cmの立方体です。 色は赤、黄、青、緑、黒です。

daeファイルについて

daeファイルはBlender 4.0で編集しています。

ライセンス

このリポジトリはMITライセンスに基づいて公開されています。 MITライセンスについてはLICENSEを確認してください。

※このソフトウェアは基本的にオープンソースソフトウェアとして「AS IS」(現状有姿のまま)で提供しています。本ソフトウェアに関する無償サポートはありません。 バグの修正や誤字脱字の修正に関するリクエストは常に受け付けていますが、それ以外の機能追加等のリクエストについては社内のガイドラインを優先します。

謝辞

以下のリポジトリのファイルをベースに開発されています。

CONTRIBUTING

No CONTRIBUTING.md found.

raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse

raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse

raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse

raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse

raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse

raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse

raspimouse_sim repository

ros gazebo raspimouse-ros raspberry-pi-mouse raspimouse_fake raspimouse_gazebo raspimouse_sim

Repository Summary

Description ROS package suite for Raspberry Pi Mouse Simulator
Checkout URI https://github.com/rt-net/raspimouse_sim.git
VCS Type git
VCS Version melodic-devel
Last Updated 2020-12-08
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags ros gazebo raspimouse-ros raspberry-pi-mouse
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
raspimouse_fake 0.1.1
raspimouse_gazebo 0.1.1
raspimouse_sim 0.1.1

README

English 日本語

raspimouse_sim

Gaezbo上でシミュレートできるRaspberry Pi MouseのROSパッケージ一式です。

詳細なセットアップ方法はWikiにまとめています。

ROS Package Status

main develop
(master)
Kinetic + Ubuntu Xenial
(kinetic-devel)
Melodic + Ubuntu Bionic
(melodic-devel)
industrial_ci industrial_ci industrial_ci

以下のブランチのメンテナンスは終了しています。

  • rpim_book_version
  • indigo-devel

動作環境

以下の環境を前提として動作確認しています。

  • Ubuntu
    • Ubuntu Xenial Xerus 16.04.*
  • ROS
    • ROS Kinetic Kame
  • Gazebo
    • Gazebo 7.x
  • ROS Package
    • ros-kinetic-desktop-full

または

  • Ubuntu
    • Ubuntu Bionic Beaver 18.04.*
  • ROS
    • ROS Melodic Morenia
  • Gazebo
    • Gazebo 9.x
  • ROS Package
    • ros-melodic-desktop-full

インストール方法

このROSパッケージをダウンロードします。

cd ~/catkin_ws/src
git clone https://github.com/rt-net/raspimouse_sim.git

依存しているROSパッケージをインストールします。

cd ~/catkin_ws/src
git clone https://github.com/ryuichiueda/raspimouse_ros_2.git
git clone https://github.com/rt-net/raspimouse_description.git
rosdep install -r -y -i --from-paths raspimouse*

catkin_makeを使用してパッケージをビルドします。

cd ~/catkin_ws && catkin_make
source ~/catkin_ws/devel/setup.bash

Gazeboで使用するハードウェアモデルデータをダウンロードします。

rosrun raspimouse_gazebo download_gazebo_models.sh

QuickStart

シミュレータのインストール後、次のコマンドを入力して起動してください。

roslaunch raspimouse_gazebo raspimouse_with_samplemaze.launch

詳細はこのページをお読みください。

スクリーンショット

サンプル迷路での動作例

roslaunch raspimouse_gazebo raspimouse_with_samplemaze.launch

URG付きモデルでの動作例

roslaunch raspimouse_gazebo raspimouse_with_gasstand.launch

URG付きモデルでSLAM動作例

# 1つ目の端末で
roslaunch raspimouse_gazebo raspimouse_with_willowgarage.launch
# 2つ目の端末で
roslaunch raspimouse_ros_examples slam_gmapping.launch
# 3つ目の端末で
roslaunch raspimouse_ros_examples teleop.launch key:=true mouse:=false

※raspimouse_ros_examplesを使う際にはrt-net/raspimouse_ros_examplesのインストールが必要です。

以下のコマンドでインストールができます。

cd ~/catkin_ws/src
git clone https://github.com/rt-net/raspimouse_ros_examples.git
rosdep install -r -y -i --from-paths raspimouse*
cd ~/catkin_ws && catkin_make
source ~/catkin_ws/devel/setup.bash

ライセンス

このリポジトリはMITライセンスに基づいて公開されています。
MITライセンスについてはLICENSEを確認してください。

※このソフトウェアは基本的にオープンソースソフトウェアとして「AS IS」(現状有姿のまま)で提供しています。本ソフトウェアに関する無償サポートはありません。
バグの修正や誤字脱字の修正に関するリクエストは常に受け付けていますが、それ以外の機能追加等のリクエストについては社内のガイドラインを優先します。

謝辞

以下のリポジトリのファイルをベースに開発されています。

CONTRIBUTING

No CONTRIBUTING.md found.