TOPPERSプロジェクト箱庭WGでは,IoT/クラウドロボティクス時代の仮想シミュレーション環境である『箱庭』の研究開発を進めています.
本リポジトリでは,箱庭上で ROS 2 プログラムのシミュレーションを簡単にお試しできる環境を公開しています.
本ページでは,ネイティブのLinux環境(WSL2含む)での動作手順を示します.Docker 環境での利用手順は README.md をご参照ください.
- Windows 環境: Windows 10/11 with Ubuntu 20.04 LTS on WSL2/WSLg
- Linux 環境: Ubuntu 20.04 LTS
次のページに従って ROS 2 Foxy をインストールしてください.
https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html
必要なパッケージをインストールします.
sudo apt-get update
sudo apt-get install -y g++ python3-colcon-common-extensions
- Unity Hub 3.1.1 以降
- Unity Editor 2021.3.0f1
- Unity Hub の「Installs > Install Editor」画面に本バージョンが表示されない場合は,Unity Dowonload Archive の本バージョンの "Unity Hub" をクリックしてインストールできます.
Windows 環境では,操作は全てWSL2/Linuxのシェル上で行います.WSL2のファイルシステム配下(/home/${USER}/
以下)ではなくWindowsファイルシステム配下(/mnt/c/
以下)で実行してください.
ターミナルで下記を実行して本リポジトリをcloneしてください.
git clone --recursive https://github.com/toppers/hakoniwa-ros2sim.git
ターミナルを2個起動します(以降の説明では,ターミナルAおよびターミナルBと呼びます).
ターミナルAでROS 2のワークスペースに移動し,箱庭のROS環境をインストールします.
cd ros2/workspace
bash hako-install.bash
Unity Hubを起動し,右上の「開く」をクリックして、先ほどクローンしたROS対応版箱庭ソース上の以下のディレクトリを指定します.
場所:ros2/unity/tb3
起動すると,以下の画面が表示されます.
この状態で、画面左下にある「プロジェクトビュー」の「Assets/Scenes」を選択すると、画面下に「Toppers_Course」というシーンがありますので,これをダブルクリックしましょう.
以下のようにコースが表示されます.
次の対象を例題として実行手順を説明します.
- ROS 側の制御プログラム:
src/tb3/src/tb3ctrl.cpp
- Unity側のロボット:
TB3RoboModel
ターミナルAでROS-TCP-ENDPOINTを起動しましょう.
cd ros2/workspace
bash launch.bash
ターミナルBでROS2プログラムを起動しましょう.
cd ros2/workspace
bash run.bash tb3 TB3RoboModel
Unityのシミュレーション開始ボタンをクリックすると,以下の起動画面が出てきます.
この状態で,Unity側の「開始」ボタンをクリックすると箱庭のシミュレーション開始し,TurtleBot3が動き出します.
この動画の各ウィンドウは,それぞれ次の通り対応しています.
- 右上:ターミナルA
- 右下:ターミナルB
- 左:Unity
本リポジトリで公開している「箱庭 ROS シミュレータ」について,ご意見や改善の提案などをぜひ こちらのGitHub Discussions でお知らせください.改修提案の Pull Requests も歓迎いたします.
- TurtleBot3 の Unity パッケージの設計と作成にあたっては,宝塚大学 東京メディア芸術学部 吉岡章夫准教授および学部生の杉崎涼志さん,木村明美さんにご協力いただきました.
- TurtleBot3 のUnity アセットは,株式会社ロボティズ様より提供いただいたデータを基に作成しています.ご協力いただき深く感謝いたします.
TOPPERSライセンスで公開しています.
著作権者はTOPPERSプロジェクト箱庭ワーキンググループです.詳細はLICENSE.mdをご参照ください.