- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
SIGVerse_v3はUnityを利用しており、Windowsで動作します。ここでは、SIGVerse_v3(beta版)に必要な設定について説明します。
Up:[[SIGVerse]]
----
&color(red){&size(24){最新情報は以下のページを参照してください。};}; ~
&color(red){&size(24){https://github.com/SIGVerse/sigverse_unity_project/wiki};};
#contents
&size(18){ここでは、SIGVerse v3のチュートリアルついて説明します。};
* 環境構築 [#bbc2e383]
&size(18){[[IROS2019 でのチュートリアルを実行したい方はこちらを参照して下さい。>http://www.sigverse.org/wiki/en/index.php?Tutorial%20at%20IROS2019]]};
** Windows環境の設定 [#n8ec4c8c]
#contents
*** Unityのインストール [#t38ca130]
* システム要件 [#SystemRequirements]
SIGVerseの開発環境となるUnityをインストールします。
Unityを使用しますが、OSはWindows 10 64bitで動作確認を行っております。
+ [[ダウンロードページ>https://unity3d.com/jp/get-unity/download/archive]]から、Unity 5.6.2→ダウンロード(Win)→Unityインストーラを選択し、インストーラをダウンロードします。
+ インストーラを実行し、手順に従ってインストールを進めます。
+ 次に、Unityを起動し、以下の手順でUnityアカウントを作成後、サインインします。
-- サインイン画面の「Create one」をクリック
-- アカウントを登録(ブラウザ上での登録)
-- 登録したアカウントを利用して「Sign In」
-- Licenseで「Personal」を選択(所属に応じて選択)
-- License agreementでは中央の「less than $100,000」を選択
-- Surveyでアンケートに答える
また基本的に[[Unityのシステム要件>https://unity3d.com/unity/system-requirements]]に準拠してください。
以上の手順で、Unityを利用した開発が可能になります。
''Unity Editor''
#ref(UnityEditor.png)
*** SIGVerse_v3のUnityプロジェクトのダウンロード [#j826be39]
+ [[こちら>https://github.com/SIGVerse/unity_project]]からGitリポジトリをダウンロードします。
+ 「Clone or download」→「Download ZIP」でzipをダウンロードし、任意の場所に展開してください。~
Gitを利用されている方は、Windows環境の任意の場所にリポジトリをCloneしてください。
* 環境構築 [#bbc2e383]
** Unityのインストール [#t38ca130]
*** Unityプロジェクトの開き方 [#ad0d2bef]
SIGVerseの開発環境となるUnityをインストールします。
+ Unityを起動し、「OPEN」をクリックします。
+ フォルダの選択画面が表示されるので、前項でダウンロードしたプロジェクトを選択し(「unity_project」→「SIGVerseProject」)、
「フォルダーの選択」ボタンをクリックします。
+ [[Unity Hubのダウンロードページ>https://unity3d.com/get-unity/download]]へ行きます。
+ [Download Unity Hub]をクリックして、Unity Hubのインストーラをダウンロードし、インストールします。
+ [[Unityのダウンロードページ>https://unity3d.com/get-unity/download/archive]]へ行きます。
+ [Unity 2021.x]→[Unity 2021.3.3f1]→[Unity Hub]をクリックして、Unity Hubを使用してUnityをインストールします。~
(モジュールの追加画面では特にモジュールの追加は必要ありません)
+ Unity Hub右上の人型アイコンをクリックし、[Sign in]をクリックします。
+ Unityアカウントを作成してから、サインインします。
** Ubuntu環境の設定 [#teef1680]
** SIGVerseのUnityプロジェクトのダウンロード [#j826be39]
SIGVerse_v3では、ROSのプログラムを利用して仮想ロボットを制御することができます。~
ROSを使用するサンプルプログラムを実行する場合、以下のように設定を行います。~
(※OSはUbuntu14.04の利用を想定しておりますが、Ubuntu16.04+Kineticで動作確認を行いたい場合は、[[こちら>#Ubuntu1604kinetic]]を参考にしてください。)
+ [[こちら>https://github.com/SIGVerse/unity_project]]のページを開きます。
+ 「Code」→「Download ZIP」でzipをダウンロードして展開してください。 ~
但しファイルパスが長すぎると展開出来なかったり、Unityシーンが実行できないかもしれません。 ~
C:\Unityなどの短いディレクトリに展開してください。
+ フォルダ名を"sigverse_unity_project-master"から、"sigverse_unity_project"に変更します。
*** ROS indigoのインストール [#re9634d5]
[[こちら>http://wiki.ros.org/ja/indigo/Installation/Ubuntu]]の手順に従って、ROSをインストールします。
*** ROSBridge_suiteのインストール [#a9a8de20]
ターミナルを起動し、以下のコマンドを実行します。
** Unityプロジェクトの開き方 [#ad0d2bef]
$ sudo apt-get install ros-indigo-rosbridge-server
+ Unity Hubの[Projects]-[ADD]をクリックします。
+ ダウンロード済みのUnityプロジェクト([sigverse_unity_project]->[SIGVerseProject])を選択し、[Select Folder]ボタンをクリックします。
+ プロジェクト一覧の[SIGVerseProject]をクリックします。
*** CMakeのインストール [#t1f24b10]
ターミナルで、以下のコマンドを実行します。CMakeはver.3.2以上が必要となります。
$ cd ~/Downloads (日本語設定の場合は cd ~/ダウンロード で実行してください。)
$ wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz
$ tar zxvf cmake-3.7.2.tar.gz
$ cd cmake-3.7.2
$ ./configure
$ make
$ sudo make install
*** Mongo C driver インストール [#n827f82d]
ターミナルで、以下のコマンドを実行します。
* ROSを使用しないサンプルシーンの実行 [#haea2311]
$ 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 インストール [#lc1bf9b1]
ターミナルで、以下のコマンドを実行します。
** Unityシーンの実行方法 [#open_scene]
$ 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
Unityのサンプルシーンは基本的に以下の手順で実行します。
*** sigverse_ros_bridgeの設定 [#cdca5e5d]
ターミナルで、以下のコマンドを実行します。ここでは、[[ROSのチュートリアル>http://wiki.ros.org/ja/ROS/Tutorials/InstallingandConfiguringROSEnvironment]]手順に従ってcatkinワークスペースが作成されているものとします。
$ cd ~/catkin_ws/src
$ git clone https://github.com/SIGVerse/sigverse_ros_package.git
$ cd ..
$ catkin_make
*** SIGVerse用の.launch XMLファイル(3dsensor)を配備する [#i387161f]
Ubuntu環境のターミナルで、以下のコマンドを実行します。
$ cd ~/Downloads (日本語設定の場合は cd ~/ダウンロード で実行してください。)
$ wget -O asus_xtion_pro_sigverse.launch.xml 'http://www.sigverse.org/wiki/jp/?plugin=attach&pcmd=open&file=asus_xtion_pro_sigverse.launch.xml&refer=Tutorial%20for%20ver.3'
$ sudo cp asus_xtion_pro_sigverse.launch.xml /opt/ros/indigo/share/turtlebot_bringup/launch/includes/3dsensor/
※本件に関してまして、[[産業技術総合研究所の原功 氏>http://hara.jpn.com/_default/ja/Topics/SIGVerse20Ver.3.html]]からファイルの提供と助言を頂きました。~
有難うございました。
*** Turtlebotパッケージのインストール [#r366badb]
Turtlebotを使用したサンプルを実行する場合、Turtlebotパッケージもインストールします。
[[こちら>http://wiki.ros.org/turtlebot/Tutorials/indigo/Turtlebot%20Installation]]の手順に従って、Turtlebotを利用するためのROSパッケージをインストールします。(※Debs Installationで問題ありません。)
* サンプルプログラムの実行 [#haea2311]
** Turtlebot Followerの実行 [#d542d5e5]
*** Ubuntu環境での起動手順 [#d3c41006]
新しいターミナルを開き、以下のコマンドを実行します。
$ roslaunch turtlebot_bringup minimal.launch --screen
新しいターミナルを開き以下のコマンドを実行します。
$ export TURTLEBOT_3D_SENSOR=asus_xtion_pro_sigverse
$ roslaunch turtlebot_follower follower.launch
新しいターミナルを開き、以下のコマンドを実行します。
$ roslaunch rosbridge_server rosbridge_websocket.launch
新しいターミナルを開き、以下のコマンドを実行します。
$ source ~/catkin_ws/devel/setup.bash
$ rosrun sigverse_ros_bridge sigverse_ros_bridge
次に、Ubuntu環境のIPアドレスを確認します。IPアドレスは以下のコマンドを実行することで確認できます。
$ ifconfig
*** Windows環境での起動手順 [#zd898f82]
+ UnityでSIGVerse_v3プロジェクトを開きます。
+ Unityメニューの[SIGVerse]-[SIGVerse Settings]をクリックして、SIGVerse設定画面を開きます。
+ [Config file Settings]の[Rosbridge IP]をROS側のIPアドレスに変更します。~
([Rosbridge Port]や[SIGVeres Bridge Port]も必要に応じて変更します。)
+ [Project]タブの[Assets/SIGVerse/SampleScenes/TurtlebotFollower/TurtlebotFollower(.unity)]をダブルクリックしてシーンを開きます。
+ UnityでSIGVerseプロジェクトを開きます。
+ [Project]タブの[Assets/SIGVerse/ExampleScenes/xxxxx/yyyyy(.unity)]をダブルクリックして対象シーンを開きます。
+ Unity画面の上部中央にある再生ボタンをクリックしてシーンを再生します。
+ SIGVerseメニューの[Start]をクリックして、シーンを開始します。
*** 実行 [#g7a4d25f]
Windows側のUnity画面にフォーカスを当てた状態で十字キーを操作すると、アバターが移動し、turtlebotがアバターに追従します。
** サンプル一覧 [#me019f75]
※ROS側でTurtleBotのカメラ画像確認を行いたい場合は以下のコマンドで確認できます。
$ rosrun image_view image_view image:=/camera/rgb/image_raw
※またrvizでも確認できます。
$ roslaunch turtlebot_rviz_launchers view_robot.launch
- [[一人称視点で歩行する]]
- [[キャラクター動作の記録・再生を行う(テキストファイルに保存)]]
- [[キャラクター動作の記録・再生を行う(MySQLに保存)]]
- [[Oculus Quest 2のハンドトラッキングでVRoidアバターの指を動かす]] (日本語のみ)
* ROSを使用したサンプルシーンの実行 [#r972fb26]
** Turtlebot Keyboard Teleopの実行 [#fd2b49ee]
ROSを使用したサンプルは[[こちらのページ>Tutorial using ROS for ver.3]]にて説明します。
*** Ubuntu環境での起動手順 [#d909dc3e]
新しいターミナルを開き、以下のコマンドを実行します。
$ roslaunch turtlebot_teleop keyboard_teleop.launch
新しいターミナルを開き以下のコマンドを実行します。
$ roslaunch rosbridge_server rosbridge_websocket.launch
次に、Ubuntu環境のIPアドレスを確認します。IPアドレスは以下のコマンドを実行することで確認できます。
$ ifconfig
*** Windows環境での起動手順 [#zd898f82]
+ UnityでSIGVerse_v3プロジェクトを開きます。
+ Unityメニューの[SIGVerse]-[SIGVerse Settings]をクリックして、SIGVerse設定画面を開きます。
+ [Config file Settings]の[Rosbridge IP]をROS側のIPアドレスに変更します。~
([Rosbridge Port]や[SIGVeres Bridge Port]も必要に応じて変更します。)
+ [Project]タブの[Assets/SIGVerse/SampleScenes/TurtlebotTeleop/TurtlebotTeleop(.unity)]をダブルクリックしてシーンを開きます。
+ Unity画面の上部中央にある再生ボタンをクリックしてシーンを再生します。
+ SIGVerseメニューの[Start]をクリックして、シーンを開始します。
*** 実行 [#a67ea48d]
Ubuntu側の keyboard_teleop.launch のターミナル上でキー操作を行うとturtlebotが移動します。
※操作方法の詳細はターミナルの表示を確認してください。
** キャラクター視点で歩行するサンプルシーンの実行 [#k86f3d48]
*** 起動手順 [#d76f4a67]
+ UnityでSIGVerse_v3プロジェクトを開きます。
+ [Project]タブの[Assets/SIGVerse/SampleScenes/SampleHouse/SampleHouse(.unity)]をダブルクリックしてシーンを開きます。
+ Unity画面の上部中央にある再生ボタンをクリックしてシーンを再生します。
+ SIGVerseメニューの[Start]をクリックして、シーンを開始します。
*** 実行 [#ddcefe40]
画面上で十字キー操作を行うとキャラクター視点でキャラクターが移動します。
** キャラクター動作の記録・再生を行うサンプルシーンの実行(テキストファイル使用) [#v627a606]
本シーンでは、キャラクター及び幾つかのオブジェクトの動きをテキストファイルへ記録・再生することができます。
*** 起動手順 [#c1ff4bda]
+ UnityでSIGVerse_v3プロジェクトを開きます。
+ [Project]タブの[Assets/SIGVerse/SampleScenes/Playbacker/Playbacker(.unity)]をダブルクリックしてシーンを開きます。
+ Unity画面の上部中央にある再生ボタンをクリックしてシーンを再生します。
+ SIGVerseメニューの[Start]をクリックして、シーンを開始します。
*** テキストファイルへの記録 [#oddbb270]
+ PlaybackerメニューのModeで[Text Recorder]を選択します。
+ [Output File]など、幾つかの設定を行います。
+ [Start]ボタンを押下すると、テキストファイルへの記録を開始します。
+ キャラクターを十字キーで操作します。
+ [Stop]ボタンを押下すると、テキストファイルへの記録を終了します。
*** テキストファイルからの再生 [#iad90eef]
+ PlaybackerメニューのModeで[Text Player]を選択します。
+ [Input File]で、上記の記録手順で設定したファイルパスを設定します。
+ [Start]ボタンを押下すると、再生を開始します。
+ [Stop]ボタンを押下するか、記録時間を経過すると、再生を終了します。
** キャラクター動作の記録・再生を行うサンプルシーンの実行(MySQL使用) [#rfc4309f]
本シーンでは、キャラクター及び幾つかのオブジェクトの動きをMySQLへ記録・再生することができます。
*** MySQL使用設定 [#be7e0a5b]
MySQLを使用する場合、最初に幾つかの手順が必要です。
まずSIGVerse設定画面でMySQLを使用するよう設定します。
+ Unityエディタの[SIGVerse]-[SIGVerse Settings]をクリックして、SIGVerse設定画面を開きます。
+ [Define symbols Settings]の[Use MySQL]にチェックを入れます。
Unityエディタでエラーが発生しますので、ライブラリを追加します。
+ MySql.Data.dll を[[ココ>https://dev.mysql.com/downloads/connector/net/6.7.html]] からダウンロードして、[Assets]タブの[Plugins]の下に配備します。~
([Connector/Net]のバージョンは[6.7.9]、OSは[.NET & Mono]を選択し、zip解凍後の"v2.0"フォルダの中にあるもので動作確認を行いました。)
+System.Data.dll をUnityインストールフォルダから取得して、[Assets]タブの[Plugins]の下に配備します。~
(C:\Program Files\Unity5.6\Editor\Data\Mono\lib\mono\2.0の中にあるもので動作確認を行いました。)
またMySQL Serverを構築します。詳細は省きますが、概要は次の通りです。
+ MySQL Serverをインストールします。(5.7.18で動作確認しました。MySQL Workbenchもインストールすると便利です。)
+ "sigverse"という名前のSchema(データベース)を作成します。
+ "sigverse"に対して更新権限を持つMySQLユーザを作成します。
+ "sigverse"の下に"playbacker_motion_data"というテーブルを作成します。~
テーブル作成スクリプトは次の通りです。
CREATE TABLE `playbacker_motion_data` (
`recording_id` int(11) NOT NULL,
`elapsed_time` int(11) NOT NULL,
`data_type` int(11) NOT NULL,
`motion_data` text NOT NULL,
PRIMARY KEY (`elapsed_time`,`data_type`,`recording_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
*** 起動手順 [#t3463616]
+ UnityでSIGVerse_v3プロジェクトを開きます。
+ [Project]タブの[Assets/SIGVerse/SampleScenes/Playbacker/Playbacker(.unity)]をダブルクリックしてシーンを開きます。
+ Unity画面の上部中央にある再生ボタンをクリックしてシーンを再生します。
+ SIGVerseメニューの[Start]をクリックして、シーンを開始します。
*** MySQLへの記録 [#kb03705c]
+ PlaybackerメニューのModeで[Database Recorder]を選択します。
+ [Unique ID]やデータベース接続情報など、幾つかの設定を行います。
+ [Start]ボタンを押下すると、MySQLへの記録を開始します。
+ キャラクターを十字キーで操作します。
+ [Stop]ボタンを押下すると、MySQLへの記録を終了します。
*** MySQLからの再生 [#e12bcc33]
+ PlaybackerメニューのModeで[Database Player]を選択します。
+ 上記の記録手順で設定したデータベース接続設定や[Unique ID]と同じ設定を行います。
+ [Start]ボタンを押下すると、再生を開始します。
+ [Stop]ボタンを押下するか、記録時間を経過すると、再生を終了します。
* Ubuntu16.04 + Kinetic の組み合わせについて [#Ubuntu1604kinetic]
TurtleBot(on Kinetic)のパッケージインストールは以下を参考にします。
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*
それ以外の手順に関しては、Ubuntu14.04 + Indigoと同様(但し"indigo"を"kinetic"に置き換えて実行する等は必要)で問題ないと思われます。
----
#counter