メタクエスト 3 VR テレップ

Meta Quest 3 ヘッドセットをリアルタイム ロボット アーム コントローラーに変えます。リーダー アームは必要ありません。 ハンドトラッキング ポーズは、UDP 経由で Python にストリームされ、その後、サポートされているアームにストリームされます。 Wi-Fi 6 での遅延は 120 ミリ秒未満。

<120ms
エンドツーエンドの遅延
50Hz
UDPパケットレート
ROS なし
必須
3+
対応アーム

ヘッドセット → UDP → ロボットアーム

このシステムは、一方向 UDP ブリッジを中心に構築されています。 Quest 3 の Unity アプリは、ハンド トラッキング データを読み取り、Wi-Fi 経由でバイナリ ポーズ パケットをブロードキャストします。 制御 PC 上の Python サーバーはこれらのパケットを受信し、ネイティブ SDK 経由でロボットにコマンドを転送します。 ROS やミドルウェアはなく、ソケットだけが必要です。

メタクエスト3 Unity ハンドトラッキング
VRHandPoseSender.cs
XR Hands サブシステム
UDP Wi-Fi ポート8888 / 8889
バイナリパケット・45バイト
~50Hz
Pythonサーバー UDP受信スレッド
安全性バリデーター
有界キュー
ロボットコントローラー Arm 固有の SDK
ワークスペースのクランプ
非常停止
ロボットアーム 6-DOF エンドエフェクター
リアルタイムモーション

重要なアーキテクチャ上の洞察: アーム モデル間で変更されるのはロボット コントローラー モジュールのみです。 Quest 3 Unity アプリ、UDP プロトコル、Python サーバー インフラストラクチャはすべて arm に依存しません。 あるアームから別のアームに切り替えるには、約 80 行の Python を置き換える必要があります。

対応ロボットアーム

モジュラー コントローラー パターンは、アームごとに Python ファイルが 1 つだけ変更されることを意味します。 すべてのアームは同じ Quest 3 Unity アプリと UDP プロトコルを共有します。

アジャイルX パイパー

6-DOF アーム · USB アダプター経由の CAN バス · Piper_sdk Python ライブラリ

コントローラ: piper_controller.py

本番環境に対応

オープンアーム

7-DOF アーム · SocketCAN / ROS 2 MoveIt2 · コミュニティ オープンソース

コントローラ: openarm_controller.py

ベータ

DK1 バイマニュアルキット

デュアル 6-DOF アーム · ポート 8888 (右) と 8889 (左) を同時に使用

コントローラ: dk1_controller.py

ベータ

VLAI L1

デュアル 6-DOF ヒューマノイド アーム · TCP/IP 上の ROS 2 ブリッジ

コントローラ: vlai_l1_controller.py

開発中

新しいアームを追加するには、5 つのメソッドを含むコントローラー クラスを実装します。 connect, disconnect, set_pose, set_gripper, emergency_stop — そして、teleoperation_main.py のインポートを交換します。 を参照してください。 アダプターインターフェースガイド.

システムの概要

ヘッドセット メタクエスト 3 (ハンドトラッキングモード)
輸送 UDP over Wi-Fi (ポート 8888 / 8889)
パケットレート Unity から約 50 Hz。 ロボットは 30 Hz で指令されます
パケットサイズ 45バイト(固定長バイナリ、リトルエンディアン)
エンドツーエンドの遅延 Wi-Fi 6 LAN で 50 ~ 120 ミリ秒
ホストランタイム Python 3.10+ (ROS は必要ありません)
Unityのバージョン 2022.3 LTS+ XR Hands パッケージ付き
プライマリリファレンスアーム AgileX Piper (USB経由のCANバス)
完全な仕様とプロトコル →

コミュニティ

Quest 3 の遠隔操作について質問がありますか、またはセットアップを共有したいですか?

フォーラムに質問する → Discord #vr-teleop →

テレオペの準備はできていますか?

Unity スクリプト、Python サーバー、piper_controller.py を入手します。これには、最初の VR 遠隔操作セッションを実行するために必要なものがすべて揃っています。