[[Tutorial for ver.3]]

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

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



#contents

* システム要件 [#l6825477]

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

Windows側の要件は[[こちらのページ>Tutorial for ver.3]]を参照してください。

ROS側の要件は、OSが ''Ubuntu 16.04'' 、ROSの[[ディストリビューション>http://wiki.ros.org/Distributions]]は ''Kinetic Kame'' とします。


* 環境構築 [#vf01a3c9]

** 基本的な環境構築 [#k2704bce]

まず、[[こちらのページ>Tutorial for ver.3]]を参照して、SIGVerse v3を使用するための基本的な環境構築を行ってください。
その後、以降の環境構築作業を行ってください。

** Ubuntu環境の設定 [#zddcd2d8]

ROSを使用するサンプルプログラムを実行する場合、以下のように設定を行います。~

*** VMwareの使用 [#gc586877]

Ubuntu PCを用意する代わりにWindows上にUbuntuの仮想マシンを構築して使用することもできます。~
但しこの場合、GPUを使用するチュートリアルは難しいです。

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

+ Install VMware Workstation 15.1.0 Player for Windows 64-bit Operating Systems.~
https://my.vmware.com/jp/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/15_0
+ Download Iso file of Ubuntu 16.04.6 LTS.~
http://releases.ubuntu.com/16.04/
+ Launch VMware Workstation Player.
+ Click [Create a New Virtual Machine].
+ Use [Installer disc image file(iso):] and select ubuntu-16.04.6-desktop-amd64.iso.
+ Recommend to check "Store virtual disk as a single file".
+ Please adjust Memory and Processors in [Edit virtual machine settings] after creating VM image.



*** ROS Kineticのインストール [#dccef8ca]
[[こちら>http://wiki.ros.org/kinetic/Installation/Ubuntu]]の手順に従って、ROSをインストールします。([[日本語版>http://wiki.ros.org/ja/kinetic/Installation/Ubuntu]])~
その後、[[ROSのチュートリアル>http://wiki.ros.org/ja/ROS/Tutorials/InstallingandConfiguringROSEnvironment]]に従ってcatkinワークスペースの作成まで行ってください。

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

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


*** ROSBridge_suiteのインストール [#c3162771]
ターミナルを起動し、以下のコマンドを実行します。

 $ sudo apt-get install ros-kinetic-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



*** Turtlebotパッケージのインストール [#c4f5154e]

Turtlebotパッケージをインストールします。

Turtlebotを利用するためのROSパッケージをインストールしますが([[参考>http://wiki.ros.org/Robots/TurtleBot]])、現状Indigoのページしかないので、コマンドをKinetic用に置き換えます。

 $ sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi ros-kinetic-ar-track-alvar-msgs

Kinetic用に変更してエラーが出た場合、レポートファイルを削除すればエラーメッセージは消えます。

 $ ls -la /var/crash
 $ sudo rm /var/crash/*

Kinetic Kameにインストールする場合は以下のページも参考にしてください。~
http://answers.ros.org/question/246015/installing-turtlebot-on-ros-kinetic/

 $ sudo apt-get install -y linux-headers-generic
 $ sudo sh -c 'echo "deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main restricted
 deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
 deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
 deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted" > \
   /etc/apt/sources.list.d/official-source-repositories.list'
 $ sudo apt-get update
 $ sudo apt-get install -y ros-kinetic-librealsense
 $ sudo apt-get install -y ros-kinetic-realsense-camera
 $ sudo apt-get install -y ros-kinetic-turtlebot

また以下もインストールすると便利だと思います。

 $ sudo apt-get install ros-kinetic-turtlebot*

そして、SIGVerse用の.launch XMLファイル(3dsensor)を配備します。

 $ cd ~/catkin_ws/
 $ sudo cp src/sigverse_ros_package/samples/turtlebot2/resources/asus_xtion_pro_sigverse.launch.xml /opt/ros/${ROS_DISTRO}/share/turtlebot_bringup/launch/includes/3dsensor

※本件に関してまして、[[産業技術総合研究所の原功 氏>http://hara.jpn.com/_default/ja/Topics/SIGVerse20Ver.3.html]]からファイルの提供と助言を頂きました。~
有難うございました。

TurtleBot3に関しては[[こちら>https://turtlebot3.readthedocs.io/en/latest/]]を参考にしてください。




*** PR2パッケージのインストール [#hf065135]

PR2のサンプルを使用する場合は、以下コマンドでPR2関連パッケージをインストールします。

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








* ROSを使用したサンプルプログラムの実行 [#o023aef1]

** Unityシーンの開き方 [#open_scene]

まずUbuntu環境のIPアドレスをSIGVerse設定画面で入力します。~
IPアドレスはUbuntu環境で以下のコマンドを実行することで確認できます。

 $ ifconfig

そして、以下の手順でIPアドレス等を設定します。

+ UnityでSIGVerse v3プロジェクトを開きます。
+ Unityメニューの[SIGVerse]-[SIGVerse Settings]をクリックして、SIGVerse設定画面を開きます。
+ [Config file Settings]の[Rosbridge IP]をROS側のIPアドレスに変更します。~
([Rosbridge Port]や[SIGVeres Bridge Port]を変更したい場合も同様に変更できます。)

Unityシーンの開き方は次の通りです。
+ [Project]タブの[Assets/SIGVerse/SampleScenes/xxxxx/yyyyy(.unity)]をダブルクリックしてシーンを開きます。
+ Unity画面の上部中央にある再生ボタンをクリックしてシーンを再生します。
+ SIGVerseメニューの[Start]をクリックして、シーンを開始します。




** (Turtlebot2)人間を追従する [#turtlebot2_follower]

[[こちらのページ>(Turtlebot2)人間を追従する]]にて説明します。


** (Turtlebot2)キーボードで操作する [#turtlebot2_key_teleop]

[[こちらのページ>(Turtlebot2)キーボードで操作する]]にて説明します。


** (TurtleBot3)把持する [#hced1165]

[[こちらのページ>(TurtleBot3)把持する]]にて説明します。


** (TurtleBot3)SLAMの実行 [#i221ef46]

[[こちらのページ>(TurtleBot3)SLAMの実行]]にて説明します。


** (TurtleBot3)人間が指差す方向を認識する [#xc5f1917]

[[こちらのページ>(TurtleBot3)人間が指差す方向を認識する]]にて説明します。


** (HSR)キーボードで操作する [#hsr_key_teleop]

[[こちらのページ>(HSR)キーボードで操作する]]にて説明します。


** (HSR)Cleanupタスクの実行 [#hsr_cleanup]

[[こちらのページ>(HSR)Cleanupタスクの実行]]にて説明します。


** (PR2)キーボードで操作する [#pr2_key_teleop]

[[こちらのページ>(PR2)キーボードで操作する]]にて説明します。




----

#counter

Front page   New List of pages Search Recent changes   Help   RSS of recent changes