Skip to content

TeamSOBITS/meta_quest_teleoperation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JA | EN

Contributors Forks Stargazers Issues License

META QUEST TELEOPERATION

目次
  1. 概要
  2. 環境構築
  3.  ビルド方法
  4. マイルストーン
  5. 参考文献

概要

ROSと通信するためのUnityアプリをMeta Quest上で動作させるためのパッケージ.

(上に戻る)

環境構築

ここで,本レポジトリのセットアップ方法について説明します.

(上に戻る)

環境条件

まず,以下の環境を整えてから,次のインストール段階に進んでください.

ROS PC(ROSを実行するマシン)

System Version
Ubuntu 22.04 (Noble Numbat)
ROS Humble Hawksbill
Python 3.10~

Unityアプリビルド用(Meta Quest用Unityアプリをビルドする環境)

System Version
Windows 11 / macOS / Linux 任意(Unity が動作する環境であれば可)

(上に戻る)

Unity Hubをインストール

Unity HubはどのOSでも使用できますが,ここではLinux(Ubuntu)にUnity Hubをインストールする方法を紹介します. Unity HubをLinuxにインストールするを参考にUbuntuにUnity Hubをインストールします.

  1. 公開鍵を追加します.

    $ wget -qO - https://hub.unity3d.com/linux/keys/public | gpg --dearmor | sudo tee /usr/share/keyrings/Unity_Technologies_ApS.gpg > /dev/null
  2. Unity Hub のリポジトリ情報を/etc/apt/sources.list.dに追加します.

    $ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/Unity_Technologies_ApS.gpg] https://hub.unity3d.com/linux/repos/deb stable main" > /etc/apt/sources.list.d/unityhub.list'
  3. Unity Hubをインストールします.

    $ sudo apt update
    $ sudo apt-get install unityhub

(上に戻る)

Unityプロジェクトを開く

  1. 任意のディレクトリに本レポジトリをcloneします.

    $ git clone https://github.com/TeamSOBITS/meta_quest_teleoperation.git
  2. Unity HubのProjects -> ADD -> Add project from diskで本レポジトリ(UnityProject)を選択します.この時点で本レポジトリに合わせたバージョンのUnity Editorがインストールされます.Android Build Supportにチェックを入れ,インストールします.

  3. Unityが起動できたら,Edit -> Project SettingsXR Plugin Managementへ移動し,すべての項目でOpenXRのチェックを外し,Oculusにチェックを入れます.

  4. XR Plugin Management -> OculusのTarget Devicesで使用するMeta Questのバージョンを指定します.

(上に戻る)

ROS PCのセットアップ

  1. ROSのsrcフォルダに移動します.

    $ cd ~/colcon_ws/src/
  2. ROS TCP Endpointをcloneします.

    $ git clone https://github.com/TeamSOBITS/ros_tcp_endpoint.git
  3. パッケージをコンパイルします.

    $ cd ~/colcon_ws/
    $ colcon build --symlink-install
    $ source ~/colcon_ws/install/setup.sh

(上に戻る)

ビルド方法

meta_quest_teleoperationのセットアップが完了したら,ROSとUnityの通信を確認し,Meta Questデバイスへアプリをビルドします.

(上に戻る)

UnityとROS通信

ROS側でTCP Endpointを起動します.ros_ipにPCのIPを指定してください.

$ ros2 launch ros_tcp_endpoint endpoint.launch.py ros_ip:=192.168.XXX.XXX

次に,Unity側でProjectウィンドウからAssets -> Scenesへ移動し,TeleopSceneを選択します.HierarchyウィンドウでROSTCPConnectorを選択し,InspectorウィンドウのROS ConnectionスクリプトにあるROS IP AddressをROSのIPと同じ値を設定します. Unityのシーン内に表示されている通信の矢印が青くなったら成功です.

(上に戻る)

Unityアプリをビルド

通信が確認できたらUnityアプリをMeta Questへビルドします. USBケーブルでPCとMeta Questを接続し,Meta Quest内に表示される共有を許可します. UnityのFile -> Build Profiles -> Android -> Run DeviceにMeta Questが表示されるので選択します. Build and Runをクリックし,アプリをビルドします.

(上に戻る)

Meta QuestとROS通信

Meta Questのアプリ一覧で「提供元不明のアプリ」にUnityアプリが表示されるのでアプリをクリックし,同時にROS TCP Endpointを起動します. これで,Meta Questのボタン状態(sensor_msgs/Joy型),位置姿勢情報(tf2_msgs/TFMessage型)をROS側に送信することが可能です. アプリ実行後のIP変更はMeta Questコントローラのメニューボタンを押し,IPを入力します.

(上に戻る)

マイルストーン

  • 疑似逆運動学の追加
  • Meta Questでの逆運動学の追加

現時点のバッグや新規機能の依頼を確認するためにIssueページ をご覧ください.

(上に戻る)

参考文献

(上に戻る)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 70.8%
  • ShaderLab 20.5%
  • Wolfram Language 4.9%
  • HLSL 3.8%