Tutorial for ver.3


SIGVerse v3では、ROS(Robot Operating System)のプログラムを利用して仮想ロボットを制御することができます。

ここでは ROS を使用したサンプルプログラムについて説明します。 ROSを使用しないサンプルプログラムはこちらのページを参照してください。

システム要件

ROSを使用する際にはUbuntu環境を用意して、そこにROSをインストールします。
そしてROSをインストールしたUbuntuと、UnityをインストールしたWindowsで通信を行います。

Windows側の要件はこちらのページを参照してください。

ROS側の要件は、OSが Ubuntu 20.04 、ROSのディストリビューションNoetic Ninjemys とします。

RobotOperationUsingROS.png

Windows環境の構築

こちらのページを参照して、Windows環境の構築を行ってください。
その後、以降の環境構築作業を行ってください。

Ubuntu環境の構築

以下のようにUbuntu環境を構築します。

VMwareの使用

Ubuntu PCを用意する代わりにWindows上にUbuntuの仮想マシンを構築して使用することもできます。
但しこの場合、GPUを使用するチュートリアルは難しいです。
VMwareを使用すると多くの計算資源が必要になるので注意してください。
またDockerはVMwareとの共存に問題があるかもしれません。ご注意ください。

VMwareを使用してUbuntu環境を構築する方法は次のような流れです。

  1. VMware Workstation Playerをダウンロードします。
    https://my.vmware.com/jp/web/vmware/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0
  2. Ubuntu 20.04.4 LTSのISOファイルをダウンロードします。
    http://releases.ubuntu.com/focal/
  3. VMware Workstation Playerを起動します。
  4. [Create a New Virtual Machine]をクリックします。
  5. [Installer disc image file(iso):]を使用し、ubuntu-20.04.4-desktop-amd64.isoを選択します。
  6. Specify Disk Capacity画面で、"Store virtual disk as a single file"にチェックを入れることをお勧めします。
  7. VMの作成が終わったら、VMware Workstation Playerの仮想マシン設定画面でメモリやCPU数を調整してください。
    また拡張キーボードを使用するよう設定してください。

ROS Noetic Ninjemysのインストール

ROSインストールページを1.6節まで実行してROSをインストールします。
その後、ROSのチュートリアルの3章に従ってROSワークスペースの作成を行ってください。

必要なライブラリのインストール(シェルスクリプト使用)

シェルスクリプトを使用してライブラリを一括インストールする手順を示します。
この手順を実行した場合、以降の手動インストール手順は不要です。
ROS Noeticを標準インストールした場合で動作確認しています。
そのためROSワークスペースの名前がcatkin_wsではない場合などは正常にインストールできません。
注意して使用してください。

$ wget https://raw.githubusercontent.com/SIGVerse/docker-ros/main/noetic/sigverse_setup.sh
$ chmod +x sigverse_setup.sh
$ ./sigverse_setup.sh
$ source ~/.bashrc

必要なライブラリのインストール(手動)

.bashrcへのコマンド追加

コマンド簡略化のため、~/catkin_ws/devel/setup.bash の実行を.bashrcに追記します。
複数のROSワークスペースを管理している方は注意してください。

$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

ROSBridge_suiteのインストール

ターミナルを起動し、以下のコマンドを実行します。

$ sudo apt-get install ros-noetic-rosbridge-server

Mongo C driver のインストール

ターミナルで、以下のコマンドを実行します。

$ 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 のインストール

ターミナルで、以下のコマンドを実行します。

$ 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

gnome-terminal のインストール

gnome-terminalがインストールされていない場合はインストールしてください。

$ sudo apt install gnome-terminal

sigverse_ros_bridgeの設定

ターミナルで、以下のコマンドを実行します。

$ cd ~/catkin_ws/src
$ git clone https://github.com/SIGVerse/sigverse_ros_package.git
$ cd ..
$ catkin_make

TurtleBot3パッケージのインストール

TurtleBot3を利用するには関連するROSパッケージをインストールします。

$ sudo apt install ros-noetic-rgbd-launch
$ sudo apt install ros-noetic-gmapping
$ sudo apt install ros-noetic-turtlebot3*

PR2パッケージのインストール

PR2を利用するにはPR2関連パッケージをインストールします。

$ sudo apt-get install ros-noetic-pr2*

$ cd $ROS_ROOT/../prosilica_camera
$ sudo mkdir plugins
$ sudo cp nodelet_plugins.xml plugins/

ROSを使用したサンプルプログラムの実行

Unityシーンの実行方法

Unityのサンプルシーンを実行する前に、ROSのIPアドレスをUnity側に設定する必要があります。

  1. Ubuntu環境のIPアドレスを確認します。
    IPアドレスはUbuntu環境で以下のコマンドを実行することで確認できます。
    $ hostname -I
  2. UnityでSIGVerse v3プロジェクトを開きます。
  3. Unityメニューの[SIGVerse]-[SIGVerse Settings]をクリックして、SIGVerse設定画面を開きます。
  4. ROS側のIPアドレスを[Config file Settings]-[Rosbridge IP]に入力します。
    (同様に[Rosbridge Port]や[SIGVeres Bridge Port]も変更できます。)
SIGVerseSettings.png

Unityシーンの実行方法は次の通りです。

  1. [Project]タブの[Assets/SIGVerse/ExampleScenes/xxxxx/yyyyy(.unity)]をダブルクリックして対象シーンを開きます。
  2. Unity画面の上部中央にある再生ボタンをクリックしてシーンを再生します。

サンプルシーン一覧


Counter: 10740, today: 1, yesterday: 2

Attach file: fileRobotOperationUsingROS.png 820 download [Information] fileSIGVerseSettings.png 867 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2022-12-20 (Tue) 17:25:13 (487d)