- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
[[Tutorial for ver.3]]
----
&color(red){&size(40){Noetic版 工事中};};
SIGVerse v3では、ROS(Robot Operating System)のプログラムを利用して仮想ロボットを制御することができます。
ここでは ROS を使用したサンプルプログラムについて説明します。
ROSを使用しないサンプルプログラムは[[こちらのページ>Tutorial for ver.3]]を参照してください。
#contents
* システム要件 [#SystemRequirements]
ROSを使用する際にはUbuntu環境を用意して、そこにROSをインストールします。~
そしてROSをインストールしたUbuntuと、UnityをインストールしたWindowsで通信を行います。~
Windows側の要件は[[こちらのページ>Tutorial for ver.3]]を参照してください。
ROS側の要件は、OSが ''Ubuntu 20.04'' 、ROSの[[ディストリビューション>http://wiki.ros.org/Distributions]]は ''Noetic Ninjemys'' とします。
#ref(RobotOperationUsingROS.png)
* 環境構築 [#vf01a3c9]
** Windows環境の構築 [#k2704bce]
[[こちらのページ>Tutorial for ver.3#SystemRequirements]]を参照して、Windows環境の構築を行ってください。~
その後、以降の環境構築作業を行ってください。
** Ubuntu環境の構築 [#zddcd2d8]
以下のようにUbuntu環境を構築します。~
*** VMwareの使用 [#gc586877]
Ubuntu PCを用意する代わりにWindows上にUbuntuの仮想マシンを構築して使用することもできます。~
但しこの場合、GPUを使用するチュートリアルは難しいです。 ~
またVMwareを使用すると多くの計算資源が必要になるので注意してください。
VMwareを使用してUbuntu環境を構築する方法は次のような流れです。
+ VMware Workstation Playerをダウンロードします。~
https://my.vmware.com/jp/web/vmware/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0
+ Ubuntu 20.04.3 LTSのISOファイルをダウンロードします。~
http://releases.ubuntu.com/focal/
+ VMware Workstation Playerを起動します。
+ [Create a New Virtual Machine]をクリックします。
+ [Installer disc image file(iso):]を使用し、ubuntu-20.04.3-desktop-amd64.isoを選択します。
+ Specify Disk Capacity画面で、"Store virtual disk as a single file"にチェックを入れることをお勧めします。
+ VMの作成が終わったら、VMware Workstation Playerの仮想マシン設定画面でメモリやCPU数を調整してください。~
また拡張キーボードを使用するよう設定してください。
*** ROS Noetic Ninjemysのインストール [#dccef8ca]
[[ROSインストールページ>http://wiki.ros.org/noetic/Installation/Ubuntu]]を1.6節まで実行してROSをインストールします。~
その後、[[ROSのチュートリアル>http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment]]の3章に従ってROSワークスペースの作成を行ってください。
また以降のコマンド簡略化のため、~/catkin_ws/devel/setup.bash の実行を.bashrcに追記します。複数のROSワークスペースを管理している方は注意してください。
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
*** ROSBridge_suiteのインストール [#c3162771]
ターミナルを起動し、以下のコマンドを実行します。
$ sudo apt-get install ros-noetic-rosbridge-server
*** Mongo C driver インストール [#n65f2eba]
ターミナルで、以下のコマンドを実行します。
$ cd ~/Downloads (日本語設定の場合は cd ~/ダウンロード)
$ wget https://github.com/mongodb/mongo-c-driver/releases/download/1.4.2/mongo-c-driver-1.4.2.tar.gz
$ tar zxvf mongo-c-driver-1.4.2.tar.gz
$ cd mongo-c-driver-1.4.2
$ ./configure
$ make
$ sudo make install
*** Mongo C++ driver インストール [#lf0687e5]
ターミナルで、以下のコマンドを実行します。
$ cd ~/Downloads (日本語設定の場合は cd ~/ダウンロード)
$ wget https://github.com/mongodb/mongo-cxx-driver/archive/r3.0.3.tar.gz
$ tar zxvf r3.0.3.tar.gz
$ cd mongo-cxx-driver-r3.0.3/build
$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DLIBMONGOC_DIR=/usr/local -DLIBBSON_DIR=/usr/local ..
$ sudo make EP_mnmlstc_core
$ make
$ sudo make install
*** sigverse_ros_bridgeの設定 [#n891675d]
ターミナルで、以下のコマンドを実行します。
$ cd ~/catkin_ws/src
$ git clone https://github.com/SIGVerse/sigverse_ros_package.git
$ cd ..
$ catkin_make
*** TurtleBot3パッケージのインストール [#c4f5154e]
[[TurtleBot3>http://wiki.ros.org/turtlebot3]]を利用するには関連するROSパッケージをインストールします。~
$ sudo apt install ros-noetic-rgbd-launch
$ sudo apt install ros-noetic-gmapping
$ sudo apt install ros-noetic-turtlebot3*
$ cd ~/catkin_ws/src
$ git clone https://github.com/ros-drivers/openni2_camera.git
$ git clone -b legacy https://github.com/IntelRealSense/librealsense.git
$ git clone -b indigo-devel https://github.com/IntelRealSense/realsense-ros.git
$ sed -i 's/c++11/c++14/g' realsense-ros/realsense_camera/CMakeLists.txt
$ cd ~/catkin_ws
$ catkin_make --pkg librealsense
$ catkin_make
$ source ~/.bashrc
※本件に関してまして、[[産業技術総合研究所の原功 氏>http://hara.jpn.com/_default/ja/Topics/SIGVerse20Ver.3.html]]からファイルの提供と助言を頂きました。有難うございました。
*** PR2パッケージのインストール [#hf065135]
PR2を利用するにはPR2関連パッケージをインストールします。
$ sudo apt-get install ros-melodic-pr2*
$ sudo apt-get install ros-noetic-pr2*
* ROSを使用したサンプルプログラムの実行 [#o023aef1]
** Unityシーンの実行方法 [#open_scene]
Unityのサンプルシーンを実行する前に、ROSのIPアドレスをUnity側に設定する必要があります。
+Ubuntu環境のIPアドレスを確認します。~
IPアドレスはUbuntu環境で以下のコマンドを実行することで確認できます。
$ hostname -I
+ UnityでSIGVerse v3プロジェクトを開きます。
+ Unityメニューの[SIGVerse]-[SIGVerse Settings]をクリックして、SIGVerse設定画面を開きます。
+ ROS側のIPアドレスを[Config file Settings]-[Rosbridge IP]に入力します。~
(同様に[Rosbridge Port]や[SIGVeres Bridge Port]も変更できます。)
#ref(SIGVerseSettings.png)
Unityシーンの実行方法は次の通りです。
+ [Project]タブの[Assets/SIGVerse/ExampleScenes/xxxxx/yyyyy(.unity)]をダブルクリックして対象シーンを開きます。
+ Unity画面の上部中央にある再生ボタンをクリックしてシーンを再生します。
** サンプルシーン一覧 [#h9fc55dc]
// - [[(Turtlebot2)人間を追従する]]
// - [[(Turtlebot2)キーボードで操作する]]
- [[(TurtleBot3)把持する(キーボード操作)]]
- [[(TurtleBot3)把持する(自動把持)]] #darknet_ros(YOLO)
- [[(TurtleBot3)SLAMの実行]]
- [[(TurtleBot3)人間が指差す方向を認識する]]
- [[(PR2)キーボードで操作する]]
- [[(HSR)キーボードで操作する]]
- [[(HSR)Cleanupタスクの実行]]
- [[(HSR)クラウドとVRを使用したCleanupタスクの実行]] #Cloud, VR
- [[(HSR)クラウドとVRを使用したCleanupタスクの実行(記録・再生機能付き)]] #Cloud, VR
- [[(TIAGo)キーボードで操作する]]
- [[(TIAGo)Cleanupタスクの実行]]
----
#counter