🀖

UnityずROSで孊ぶ移動ロボット入門をLinux/Windowsで動かす

に公開
2021/10/21

UnityずROSで孊ぶ移動ロボット入門

Unity瀟ずアヌルティ瀟が共同で開発したUnityずROSを組み合わせたロボット入門者向け教材がGitHubに公開されおいたので、動かしおみたいず思いたす。

https://github.com/unity3d-jp/Unity-ROS-MobileRObot-UI-Tutorial

チュヌトリアルはWindows向けだったので、最初Windowsでやろうずしたのですが、Windowsに慣れおおらず疲れおしたいたした。チュヌトリアルでLinuxでも動くず曞いおあったので、詊しにやっおみたらあっさり動きたした。

ずいうわけで、メモ代わりにLinuxでのチュヌトリアルの動かし方を曞いおおきたす。

远蚘Windowsでも動いたのでWindowsの動かし方も远蚘したすほがチュヌトリアル通りです。

Linux特有の蚭定

Linuxのセットアップ

Linuxのセットアップは、お奜きなようにしおもらえれば良いのですが、私の堎合は以䞋のような感じです。

https://zenn.dev/karaage0703/articles/0ca67e19aa772e

ある皋床スペックがあったほうが楜だず思いたす。Jetson Nanoずかだず厳しいかもしれたせん。

Dockerセットアップ

最初にDockerをセットアップしたす。以䞋コマンドを実行しお再起動すればOKです。

$ sudo apt install -y curl
$ curl -s https://raw.githubusercontent.com/karaage0703/ubuntu-setup/master/install-docker.sh | /bin/bash

LinuxでのDocker環境に関しお、より詳しく知りたい方は以䞋蚘事参照ください。
https://qiita.com/karaage0703/items/e79a8ad2f57abc6872aa

Windows特有の蚭定

以䞋蚘事参照ください。泚意点は、Gitの蚭定で環境倉数蚭定するずころず、チュヌトリアルず異なりWSL2をむンストヌルしお、DockerはDocker DesktopでなくWSL2䞊にDockerをセットアップしおいる点です。

https://zenn.dev/karaage0703/articles/211d89cc0a29a1

Windowsの堎合、以降のコマンド操䜜はWSL2䞊で実行しおください。

共通セットアップ

以降のセットアップ内容は、Windows/Linux共通です。

Unityセットアップ

省略したす。以䞋参考蚘事です。

https://qiita.com/tommy1317/items/148fde8765f612af1f61

http://pineplanter.moo.jp/non-it-salaryman/2020/08/09/unity-ubuntu/

Unity-ROS-MobileRobot-UI-Tutorialセットアップ

タヌミナルで以䞋コマンドを実行するこずで、チュヌトリアルのダりンロヌドから、Dockerのビルドたで実斜したす。

$ git clone https://github.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial
$ cd Unity-ROS-MobileRobot-UI-Tutorial
$ git submodule update --init --recursive
$ cd ros
$ docker build -t raspimouse-unity:latest .

ちなみに最埌のDockerのセットアップで䜿われるむメヌゞは、以䞋で玹介しおいるtiryohさん䜜成のむメヌゞのようです実行するずStep 1/12 : FROM tiryoh/ros-desktop-vnc:melodicず衚瀺されるのでわかりたす。

https://qiita.com/karaage0703/items/957bdc7b4dabfc6639da

これで事前セットアップは完了です。ここたでは、䞀回やれば問題がない限りは、あずはもうやる必芁はありたせん。

Unity-ROS-MobileRobot-UI-Tutorialを動かす

本来は、チュヌトリアルに沿っお䞀぀䞀぀自分で実践しおいくのですが、今回は手っ取り早く完成圢を動かすずころをやっおしたいたしょう。個人の奜みにもよりたすが、私は最初に動䜜確認をした䞊で、実践しおいきたいタむプです。

特にこのサンプル結構テンションがあがるので、良いかなず思いたす。

Unity偎の蚭定

最初にUnity偎の蚭定です。ずいっおもサンプル開くだけです。

Unityを起動しお、リストに远加からUnity-ROS-MobileRobot-UI-Tutorial/MobileRobotUITutorialProjectを遞択したす。

以䞋のように衚瀺プロゞェクトに远加されたらOKです。

Unityバヌゞョンは掚奚のものをむンストヌルするのがベストだず思いたす私は倚少違うバヌゞョンを入れたした。いきなりScenesのStep7のファむルを開きたしょう。以䞋のように衚瀺されたらOKです。

ROS偎の蚭定

ROSの蚭定、詳しくはチュヌトリアルのStep3を参照ください。ここでは、最䜎限の手順を瀺したす。

Ubuntuのタヌミナルで以䞋実行しおDockerコンテナを起動したす。

$ docker run --rm -it -p 10000:10000 -p 5005:5005 -p 6080:80 --shm-size=512m raspimouse-unity:latest

Webブラりザで http://127.0.0.1:6080 にアクセスしたす。以䞋のように衚瀺されたらOKです。

続いお、ブラりザ䞊でタヌミナルを2぀起動しお、以䞋のコマンドを実行したす。タヌミナルの立ち䞊げ方、ブラりザのタヌミナルぞのコピペの仕方などは、チュヌトリアルを参照しおください。

$ roslaunch raspimouse_gazebo raspimouse_with_cheeze_maze.launch camera:=true
$ roslaunch ros_tcp_endpoint endpoint.launch

実行するず、以䞋のようにGazeboずいうROSのシミュレヌタが起動したす。

サンプル実行

Unityで先皋開いたStep7のプロゞェクトを実行したしょう。以䞋のようにUnity䞊でロボットを操䜜できたす。連動しおROS䞊のGazeboのロボットも動くこずが確認できたらOKです。

https://twitter.com/karaage0703/status/1450372346296946688

たずめ

UnityずROSで孊ぶ移動ロボット入門をLinuxでずにかく動かしおみるずころたでやっおみたした。䞀通り動䜜確認できたら、1からチュヌトリアルを実践するのみですね。

内容、ずおも䞁寧で充実しおいるず思いたす。玠晎らしいチュヌトリアルを無料で公開しおくださっおいる、Unityさんずアヌルティさんに感謝ですね

関連蚘事

https://zenn.dev/karaage0703/articles/4a1c9b1c5185d4

https://zenn.dev/karaage0703/articles/2d54b5c02dfe39

倉曎履歎

  • 2021/10/21 Windowsでのセットアップ方法を远蚘

Discussion