SIGVerse_v3はUnityを利用しており、Windowsで動作します。ここでは、SIGVerse_v3(beta版)に必要な設定について説明します。 #contents * 環境構築 [#bbc2e383] ** Windows環境の設定 [#n8ec4c8c] *** Unityのインストール [#t38ca130] SIGVerseの開発環境となるUnityをインストールします。 + [[ダウンロードページ>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を利用した開発が可能になります。 *** SIGVerse_v3のUnityプロジェクトのダウンロード [#j826be39] + [[こちら>https://github.com/SIGVerse/unity_project]]からGitリポジトリをダウンロードします。 + 「Clone or download」→「Download ZIP」でzipをダウンロードし、任意の場所に展開してください。~ Gitを利用されている方は、Windows環境の任意の場所にリポジトリをCloneしてください。 *** Unityプロジェクトの開き方 [#ad0d2bef] + Unityを起動し、「OPEN」をクリックします。 + フォルダの選択画面が表示されるので、前項でダウンロードしたプロジェクトを選択し(「unity_project」→「SIGVerseProject」)、 「フォルダーの選択」ボタンをクリックします。 ** Ubuntu環境の設定 [#teef1680] SIGVerse_v3では、ROSのプログラムを利用して仮想ロボットを制御することができます。~ ROSを使用するサンプルプログラムを実行する場合、以下のように設定を行います。~ (※OSはUbuntu14.04の利用を想定しておりますが、Ubuntu16.04+Kineticで動作確認を行いたい場合は、[[こちら>#Ubuntu1604kinetic]]を参考にしてください。) *** ROS indigoのインストール [#re9634d5] [[こちら>http://wiki.ros.org/ja/indigo/Installation/Ubuntu]]の手順に従って、ROSをインストールします。 *** ROSBridge_suiteのインストール [#a9a8de20] ターミナルを起動し、以下のコマンドを実行します。 $ sudo apt-get install ros-indigo-rosbridge-server *** 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] ターミナルで、以下のコマンドを実行します。 $ 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] ターミナルで、以下のコマンドを実行します。 $ 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の設定 [#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メニューの[Start]をクリックして、シーンを開始します。 *** 実行 [#g7a4d25f] Windows側のUnity画面にフォーカスを当てた状態で十字キーを操作すると、アバターが移動し、turtlebotがアバターに追従します。 ※ROS側でTurtleBotのカメラ画像確認を行いたい場合は以下のコマンドで確認できます。 $ rosrun image_view image_view image:=/camera/rgb/image_raw ※またrvizでも確認できます。 $ roslaunch turtlebot_rviz_launchers view_robot.launch ** Turtlebot Keyboard Teleopの実行 [#fd2b49ee] *** 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