(HSR)クラウドとVRを使用したCleanupタスクの実行
[
Front page
] [
New
|
List of pages
|
Search
|
Recent changes
|
Help
]
Start:
[[Tutorial using ROS for ver.3]]
#contents
* 概要 [#me21a0b1]
人間とロボットが同じ仮想空間にログインし、人間がロボット...
人間側は、Windows+VRデバイスを使用して仮想空間にログイン...
ロボット側は、Windows+Ubuntu(ROS:Robot Operating System)...
遠隔地の人間とロボット(ROS)がインターネット経由で繋がれ、...
#ref(CleanupUsingCloudAndVR_Overview.png)
* 前提条件 [#Prerequisites]
** 共通の前提条件 [#ofa841b3]
人間とロボットの共通の前提条件としてネットワークを使用し...
クラウドには[[Photon Unity Networking>https://www.photone...
ポートが使用可能かどうかを事前に確認してください。~
https://doc.photonengine.com/en-us/realtime/current/conne...
クラウドの代わりに、ローカルネットワークにPhoton Serverを...
Photon ServerはWindowsにのみ対応しています。~
https://doc.photonengine.com/en-us/server/current/operati...
※ウイルス対策ソフトが通信を遮ぎらないように注意してくださ...
** 人間(VR)側の前提条件 [#s38cc158]
*** Windows環境 [#t7291fa4]
[[SIGVerseアセットを使用するための基本的な要件>Tutorial f...
*** VRデバイス [#i335da85]
VRデバイスが動くシステム要件を満たす必要があります。 ~
''Oculus Quest 2'' 及び ''VIVE Cosmos'' にて動作確認済み...
これら以外のVRデバイスの場合は、SteamVRバインディングを行...
https://valvesoftware.github.io/steamvr_unity_plugin/tuto...
また[[Steam>https://store.steampowered.com/about/]]と[[St...
公式サイトからインストーラをダウンロードしてインストール...
Oculusの場合は[[Oculusソフトウェア>https://www.oculus.com...
VIVEの場合は[[VIVEソフトウェア>https://www.vive.com/us/se...
** ロボット(ROS)側の前提条件 [#y682edd3]
- Windows環境とUbuntu環境~
詳細は[[こちら>Tutorial using ROS for ver.3#SystemRequire...
* 環境構築 [#Environments]
環境構築手順は、人間(VR)側とロボット(ROS)側で共通です。
クラウドを使用する場合は、[[4a.クラウド環境>#PhotonCloud]...
ローカルサーバを使用する場合は、[[4b.ローカルサーバ環境>#...
** 1. Photonアカウントの作成 [#CreatePhotonAccount]
まずPhotonのアカウントを作成する必要があります。~
以下の手順で作成してください。
+ [[Photonの公式サイト>https://www.photonengine.com/]]に...
+ Photonのアカウントを作成します。
** 2. Unityアセットのインポート [#k0ec0826]
必要なUnityアセットをインポートしてください。~
インポートの詳細手順は以下のリンクを参照ください。~
https://docs.unity3d.com/Manual/upm-ui-import.html
*** SteamVR Pluginのインポート [#o711db4c]
+ 以下のページにアクセスします。 ~
https://assetstore.unity.com/packages/tools/integration/s...
+ アセットをダウンロードし、インポートします。~
バージョン''2.7.3''で動作確認済みです。
+ [Edit]-[Project Settings...]をクリックします。
+ [XR Plug-in Management]-[Plug-in Providers]の[OpenVR Lo...
※[Oculus]など別のものにチェックを入れた場合はそちらのチェ...
※[Initialize XR on Startup]にはチェックを''入れない''でく...
*** PUN 2 - FREE (Photon Unity Networking)のインポート [#...
+ 以下のページにアクセスします。 ~
https://assetstore.unity.com/packages/tools/network/pun-2...
+ アセットをダウンロードし、インポートします。~
バージョン''2.40''で動作確認済みです。~
但し、インポート時に以下のチェックは外します。他ライブラ...
-- Photon/PhotonLibs/WebSocket/websocket-sharp.dll
-- Photon/PhotonUnityNetworking/Demos
-- SteamVR
#ref(ImportPUN.png)
+[PUN Setup]ウィンドウでは、[Skip]してから[Close]してくだ...
** 3. SteamVRとPUNライブラリの使用 [#y0decaa9]
+ [SIGVerse]-[SIGVerse Settings]からSIGVerse設定画面を開...
+ [Define symbols Settings]の[Use SteamVR]と[Use PUN]にチ...
#ref(SIGVerseSettingsSteamVRPUN.png)
** 4a. クラウド環境の構築 [#PhotonCloud]
Photon Cloudのフリープランでは同時に20人まで接続可能です...
https://www.photonengine.com/ja-JP/pun/pricing
クラウド環境構築手順は次の通りです。
+ [[Photonの公式サイト>https://www.photonengine.com/]]に...
+ アプリケーションIDを取得します。
++ サインイン後のダッシュボードで、[新しくアプリを作成す...
++ [Photonの種別]を"Photon PUN"にし、アプリケーション名を...
++ [作成する]ボタンを押下します。
++ ダッシュボードのアプリ一覧にPUNのアプリが追加されてい...
(IDは36桁でクリックすると全桁表示されます。)
#ref(PhotonAppId.png)
+ PUNの設定を行います。
++ UnityでSIGVerseプロジェクトを開きます。
++ [Window]-[Photon Unity Networking]-[PUN Wizard]をクリ...
++ [Locate PhotonServerSettings]をクリックします。
++ [Server/Cloud Settings]-[App Id PUN]の欄に前述の"アプ...
#ref(PhotonServerSettingsForCloud.png)
+ Unityメニューの[Assets]-[''Reimport All'']をクリックし...
+ [Reimport]ボタンを押下してリビルドします。
** 4b. ローカルサーバ環境の構築 [#PhotonServer]
ローカルネットワークに[[Photon Server>https://doc.photone...
+ [[Photonの公式サイト>https://www.photonengine.com/]]に...
+ Photon Serverをインストールします。
++ [[Photon Serverのページ>https://www.photonengine.com/e...
++ "Download SDK"の右のバージョン番号をクリックして、zip...
++ ダウンロードしたファイルをインストールしたいディレクト...
++ 以下ページにアクセスし、"100 CCU"ライセンスのライセン...
https://dashboard.photonengine.com/selfhosted
++ ダウンロードしたライセンスファイル([Mail Address].Phot...
++ 外部のマシンにサービスを提供する場合は、GameServer.xml...
(ローカルマシン上でのみの利用の場合には以下の設定は行わ...
\deploy\LoadBalancing\GameServer\bin\GameServer.xml.confi...
PublicIPAddressをブランクにするとIPアドレスは自動で認識さ...
https://doc.photonengine.com/en-us/server/current/applica...
+ Photon Serverを起動します。(''Windowsを再起動したらPho...
++ "\deploy\bin_Win64"フォルダの中のPhotonControl.exeをダ...
(Windowsタスクバーにアプリアイコンが現れます)
++ [LoadBalancing (MyCloud)]-[Start as application]をクリ...
+ PUNの設定を行います。
++ UnityでSIGVerseプロジェクトを開きます。
++ [Window]-[Photon Unity Networking]-[PUN Wizard]をクリ...
++ [Locate PhotonServerSettings]をクリックします。
++ 以下の設定を行います。
--- [Use Name Server]のチェックを外す
--- [Server]にPhoton ServerのIPアドレスを入力する
--- [Port]に"5055"を入力する。
#ref(PhotonServerSettingsForLocalServer.png)
+ Unityメニューの[Assets]-[Reimport All]をクリックします。
+ [Reimport]ボタンを押下してリビルドします。
* 実行手順 [#Execution]
人間(VR)側として実行する場合は、[[こちら>#human_execution...
ロボット(ROS)側として実行する場合は、[[こちら>#robot_exec...
どちらから先に実行しても問題ありませんが、ローカルサーバ...
*** 注意 [#d64ca1c1]
VMwareを使用して1つのPCで人間側とロボット側を実行しよう...
ビルドした実行ファイルでロボット側を動かす場合でもVRを使...
https://github.com/ValveSoftware/unity-xr-plugin/issues/80
解決するためには、ロボット側はUnityエディタ上で実行するか...
* 人間(VR)側の実行手順 [#human_execution]
** 起動手順 [#vafd19d3]
''* ローカルサーバを使用する場合は、先に[[Photon Serverを...
*** Windows側の起動手順 [#t197903c]
+ SteamVRやVRソフトウェアを起動してVRデバイスを使用できる...
+ [[こちら>Tutorial using ROS for ver.3#open_scene]]を参...
+ [Human]ボタンを押下して、人間としてログインしてください。
+ ロボットがログインしていない場合は、ロボットがログイン...
Windows (Login Screen)
#ref(HSRCleanupVRLogin.png)
** 実行 [#v04386d7]
ヒューマンアバターを操作して、ロボットにCleanup指示を出し...
基本的には次のような流れになります。
+ 把持対象を指差しながら"Pick it up!"というメッセージをロ...
+ 届け先を指差しながら"Clean up!"というメッセージを送信す...
VRコントローラの操作方法は次の通りです。
- トリガーを引くと、アバターの手が指差し姿勢になります。
- 手前のボタンを押下すると、"Pick it up!"というメッセージ...
- 奥のボタンを押下すると、"Clean up!"というメッセージをロ...
- 左スティックを倒すと、アバターが倒した方向に移動します。
- 右スティックを押し込むと、"Good!"というメッセージをロボ...
- 左スティックを押し込むと、"Bad!"というメッセージをロボ...
Windows (細部は最新版とは異なる場合があります)
#ref(HSRCleanupVRHuman.png)
''参考動画''
#youtube(XhcOVdM-6OI)
* ロボット(ROS)側の実行手順 [#robot_execution]
** 起動手順 [#vafd19d3]
''* ローカルサーバを使用する場合は、先に[[Photon Serverを...
まずUbuntu側を起動します。その後 Windows側を起動してくだ...
*** Ubuntu側の起動手順 [#qd09b4ab]
新しいターミナルを開き、以下のコマンドを実行します。
$ roslaunch sigverse_hsr_teleop_key teleop_key.launch
rvizも起動する場合は、以下のコマンドを実行します。
$ roslaunch sigverse_hsr_teleop_key teleop_key_with_rviz...
*** Windows側の起動手順 [#t197903c]
+ [[こちら>Tutorial using ROS for ver.3#open_scene]]を参...
+ [Robot]ボタンを押下して、ロボットとしてログインしてくだ...
+ 人間がログインしていない場合は、人間がログインするのを...
Windows (Login Screen)
#ref(HSRCleanupVRLogin.png)
** 実行 [#v04386d7]
Ubuntu側の teleop_key.launch のターミナル上でHSRをキー操...
ロボットを操作して机の上にあるオブジェクトの中から1つを...
※操作方法の詳細はターミナルの表示を確認してください。
終了する際は、Unity側を停止させてからROS側を終了してくだ...
Ubuntu側(細部は最新版とは異なる場合があります)
#ref(HSRCleanupVRRobotUbuntu.png)
Windows側 (Logged in)(細部は最新版とは異なる場合がありま...
#ref(HSRCleanupVRRobotWindows.png)
''参考動画''
#youtube(QE4zfDnHjn8)
End:
[[Tutorial using ROS for ver.3]]
#contents
* 概要 [#me21a0b1]
人間とロボットが同じ仮想空間にログインし、人間がロボット...
人間側は、Windows+VRデバイスを使用して仮想空間にログイン...
ロボット側は、Windows+Ubuntu(ROS:Robot Operating System)...
遠隔地の人間とロボット(ROS)がインターネット経由で繋がれ、...
#ref(CleanupUsingCloudAndVR_Overview.png)
* 前提条件 [#Prerequisites]
** 共通の前提条件 [#ofa841b3]
人間とロボットの共通の前提条件としてネットワークを使用し...
クラウドには[[Photon Unity Networking>https://www.photone...
ポートが使用可能かどうかを事前に確認してください。~
https://doc.photonengine.com/en-us/realtime/current/conne...
クラウドの代わりに、ローカルネットワークにPhoton Serverを...
Photon ServerはWindowsにのみ対応しています。~
https://doc.photonengine.com/en-us/server/current/operati...
※ウイルス対策ソフトが通信を遮ぎらないように注意してくださ...
** 人間(VR)側の前提条件 [#s38cc158]
*** Windows環境 [#t7291fa4]
[[SIGVerseアセットを使用するための基本的な要件>Tutorial f...
*** VRデバイス [#i335da85]
VRデバイスが動くシステム要件を満たす必要があります。 ~
''Oculus Quest 2'' 及び ''VIVE Cosmos'' にて動作確認済み...
これら以外のVRデバイスの場合は、SteamVRバインディングを行...
https://valvesoftware.github.io/steamvr_unity_plugin/tuto...
また[[Steam>https://store.steampowered.com/about/]]と[[St...
公式サイトからインストーラをダウンロードしてインストール...
Oculusの場合は[[Oculusソフトウェア>https://www.oculus.com...
VIVEの場合は[[VIVEソフトウェア>https://www.vive.com/us/se...
** ロボット(ROS)側の前提条件 [#y682edd3]
- Windows環境とUbuntu環境~
詳細は[[こちら>Tutorial using ROS for ver.3#SystemRequire...
* 環境構築 [#Environments]
環境構築手順は、人間(VR)側とロボット(ROS)側で共通です。
クラウドを使用する場合は、[[4a.クラウド環境>#PhotonCloud]...
ローカルサーバを使用する場合は、[[4b.ローカルサーバ環境>#...
** 1. Photonアカウントの作成 [#CreatePhotonAccount]
まずPhotonのアカウントを作成する必要があります。~
以下の手順で作成してください。
+ [[Photonの公式サイト>https://www.photonengine.com/]]に...
+ Photonのアカウントを作成します。
** 2. Unityアセットのインポート [#k0ec0826]
必要なUnityアセットをインポートしてください。~
インポートの詳細手順は以下のリンクを参照ください。~
https://docs.unity3d.com/Manual/upm-ui-import.html
*** SteamVR Pluginのインポート [#o711db4c]
+ 以下のページにアクセスします。 ~
https://assetstore.unity.com/packages/tools/integration/s...
+ アセットをダウンロードし、インポートします。~
バージョン''2.7.3''で動作確認済みです。
+ [Edit]-[Project Settings...]をクリックします。
+ [XR Plug-in Management]-[Plug-in Providers]の[OpenVR Lo...
※[Oculus]など別のものにチェックを入れた場合はそちらのチェ...
※[Initialize XR on Startup]にはチェックを''入れない''でく...
*** PUN 2 - FREE (Photon Unity Networking)のインポート [#...
+ 以下のページにアクセスします。 ~
https://assetstore.unity.com/packages/tools/network/pun-2...
+ アセットをダウンロードし、インポートします。~
バージョン''2.40''で動作確認済みです。~
但し、インポート時に以下のチェックは外します。他ライブラ...
-- Photon/PhotonLibs/WebSocket/websocket-sharp.dll
-- Photon/PhotonUnityNetworking/Demos
-- SteamVR
#ref(ImportPUN.png)
+[PUN Setup]ウィンドウでは、[Skip]してから[Close]してくだ...
** 3. SteamVRとPUNライブラリの使用 [#y0decaa9]
+ [SIGVerse]-[SIGVerse Settings]からSIGVerse設定画面を開...
+ [Define symbols Settings]の[Use SteamVR]と[Use PUN]にチ...
#ref(SIGVerseSettingsSteamVRPUN.png)
** 4a. クラウド環境の構築 [#PhotonCloud]
Photon Cloudのフリープランでは同時に20人まで接続可能です...
https://www.photonengine.com/ja-JP/pun/pricing
クラウド環境構築手順は次の通りです。
+ [[Photonの公式サイト>https://www.photonengine.com/]]に...
+ アプリケーションIDを取得します。
++ サインイン後のダッシュボードで、[新しくアプリを作成す...
++ [Photonの種別]を"Photon PUN"にし、アプリケーション名を...
++ [作成する]ボタンを押下します。
++ ダッシュボードのアプリ一覧にPUNのアプリが追加されてい...
(IDは36桁でクリックすると全桁表示されます。)
#ref(PhotonAppId.png)
+ PUNの設定を行います。
++ UnityでSIGVerseプロジェクトを開きます。
++ [Window]-[Photon Unity Networking]-[PUN Wizard]をクリ...
++ [Locate PhotonServerSettings]をクリックします。
++ [Server/Cloud Settings]-[App Id PUN]の欄に前述の"アプ...
#ref(PhotonServerSettingsForCloud.png)
+ Unityメニューの[Assets]-[''Reimport All'']をクリックし...
+ [Reimport]ボタンを押下してリビルドします。
** 4b. ローカルサーバ環境の構築 [#PhotonServer]
ローカルネットワークに[[Photon Server>https://doc.photone...
+ [[Photonの公式サイト>https://www.photonengine.com/]]に...
+ Photon Serverをインストールします。
++ [[Photon Serverのページ>https://www.photonengine.com/e...
++ "Download SDK"の右のバージョン番号をクリックして、zip...
++ ダウンロードしたファイルをインストールしたいディレクト...
++ 以下ページにアクセスし、"100 CCU"ライセンスのライセン...
https://dashboard.photonengine.com/selfhosted
++ ダウンロードしたライセンスファイル([Mail Address].Phot...
++ 外部のマシンにサービスを提供する場合は、GameServer.xml...
(ローカルマシン上でのみの利用の場合には以下の設定は行わ...
\deploy\LoadBalancing\GameServer\bin\GameServer.xml.confi...
PublicIPAddressをブランクにするとIPアドレスは自動で認識さ...
https://doc.photonengine.com/en-us/server/current/applica...
+ Photon Serverを起動します。(''Windowsを再起動したらPho...
++ "\deploy\bin_Win64"フォルダの中のPhotonControl.exeをダ...
(Windowsタスクバーにアプリアイコンが現れます)
++ [LoadBalancing (MyCloud)]-[Start as application]をクリ...
+ PUNの設定を行います。
++ UnityでSIGVerseプロジェクトを開きます。
++ [Window]-[Photon Unity Networking]-[PUN Wizard]をクリ...
++ [Locate PhotonServerSettings]をクリックします。
++ 以下の設定を行います。
--- [Use Name Server]のチェックを外す
--- [Server]にPhoton ServerのIPアドレスを入力する
--- [Port]に"5055"を入力する。
#ref(PhotonServerSettingsForLocalServer.png)
+ Unityメニューの[Assets]-[Reimport All]をクリックします。
+ [Reimport]ボタンを押下してリビルドします。
* 実行手順 [#Execution]
人間(VR)側として実行する場合は、[[こちら>#human_execution...
ロボット(ROS)側として実行する場合は、[[こちら>#robot_exec...
どちらから先に実行しても問題ありませんが、ローカルサーバ...
*** 注意 [#d64ca1c1]
VMwareを使用して1つのPCで人間側とロボット側を実行しよう...
ビルドした実行ファイルでロボット側を動かす場合でもVRを使...
https://github.com/ValveSoftware/unity-xr-plugin/issues/80
解決するためには、ロボット側はUnityエディタ上で実行するか...
* 人間(VR)側の実行手順 [#human_execution]
** 起動手順 [#vafd19d3]
''* ローカルサーバを使用する場合は、先に[[Photon Serverを...
*** Windows側の起動手順 [#t197903c]
+ SteamVRやVRソフトウェアを起動してVRデバイスを使用できる...
+ [[こちら>Tutorial using ROS for ver.3#open_scene]]を参...
+ [Human]ボタンを押下して、人間としてログインしてください。
+ ロボットがログインしていない場合は、ロボットがログイン...
Windows (Login Screen)
#ref(HSRCleanupVRLogin.png)
** 実行 [#v04386d7]
ヒューマンアバターを操作して、ロボットにCleanup指示を出し...
基本的には次のような流れになります。
+ 把持対象を指差しながら"Pick it up!"というメッセージをロ...
+ 届け先を指差しながら"Clean up!"というメッセージを送信す...
VRコントローラの操作方法は次の通りです。
- トリガーを引くと、アバターの手が指差し姿勢になります。
- 手前のボタンを押下すると、"Pick it up!"というメッセージ...
- 奥のボタンを押下すると、"Clean up!"というメッセージをロ...
- 左スティックを倒すと、アバターが倒した方向に移動します。
- 右スティックを押し込むと、"Good!"というメッセージをロボ...
- 左スティックを押し込むと、"Bad!"というメッセージをロボ...
Windows (細部は最新版とは異なる場合があります)
#ref(HSRCleanupVRHuman.png)
''参考動画''
#youtube(XhcOVdM-6OI)
* ロボット(ROS)側の実行手順 [#robot_execution]
** 起動手順 [#vafd19d3]
''* ローカルサーバを使用する場合は、先に[[Photon Serverを...
まずUbuntu側を起動します。その後 Windows側を起動してくだ...
*** Ubuntu側の起動手順 [#qd09b4ab]
新しいターミナルを開き、以下のコマンドを実行します。
$ roslaunch sigverse_hsr_teleop_key teleop_key.launch
rvizも起動する場合は、以下のコマンドを実行します。
$ roslaunch sigverse_hsr_teleop_key teleop_key_with_rviz...
*** Windows側の起動手順 [#t197903c]
+ [[こちら>Tutorial using ROS for ver.3#open_scene]]を参...
+ [Robot]ボタンを押下して、ロボットとしてログインしてくだ...
+ 人間がログインしていない場合は、人間がログインするのを...
Windows (Login Screen)
#ref(HSRCleanupVRLogin.png)
** 実行 [#v04386d7]
Ubuntu側の teleop_key.launch のターミナル上でHSRをキー操...
ロボットを操作して机の上にあるオブジェクトの中から1つを...
※操作方法の詳細はターミナルの表示を確認してください。
終了する際は、Unity側を停止させてからROS側を終了してくだ...
Ubuntu側(細部は最新版とは異なる場合があります)
#ref(HSRCleanupVRRobotUbuntu.png)
Windows側 (Logged in)(細部は最新版とは異なる場合がありま...
#ref(HSRCleanupVRRobotWindows.png)
''参考動画''
#youtube(QE4zfDnHjn8)
Page: