diff --git a/README.md b/README.md index 20d5e92..5099b05 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Video 1 -

G1 (29DoF)

+

G1 (29DoF) + Dex3-1

@@ -30,8 +30,9 @@ + # 0. 📖 Introduction -This repository implements teleoperation of the **Unitree humanoid robot** using **Apple Vision Pro**. +This repository implements teleoperation of the **Unitree humanoid robot** using **XR Devices** ( such as Apple Vision Pro、 PICO 4 Ultra Enterprise or Meta Quest 3 ). Here are the currently supported robots, @@ -75,13 +76,23 @@ Here are the currently supported robots, Here are the required devices and wiring diagram,

- - Watch the Document + + Watch the Document + +

+ +This is a network topology diagram, using the G1 robot as an example, + +

+ + Watch the Document

+ + # 1. 📦 Prerequisites We tested our code on Ubuntu 20.04 and Ubuntu 22.04, other operating systems may be configured differently. @@ -125,7 +136,7 @@ In the Ubuntu system's `~/.bashrc` file, the default configuration is: `PS1='${d -# 2. ⚙️ TeleVision and Apple Vision Pro configuration +# 2. ⚙️ Configuration ## 2.1 📥 basic @@ -138,7 +149,9 @@ In the Ubuntu system's `~/.bashrc` file, the default configuration is: `PS1='${d ## 2.2 🔌 Local streaming -**Apple** does not allow WebXR on non-https connections. To test the application locally, we need to create a self-signed certificate and install it on the client. You need a ubuntu machine and a router. Connect the Apple Vision Pro and the ubuntu **Host machine** to the same router. +**2.2.1 Apple Vision Pro** + +does not allow WebXR on non-https connections. To test the application locally, we need to create a self-signed certificate and install it on the client. You need a ubuntu machine and a router. Connect the Apple Vision Pro and the ubuntu **Host machine** to the same router. 1. install mkcert: https://github.com/FiloSottile/mkcert 2. check **Host machine** local ip address: @@ -183,6 +196,22 @@ Settings > General > About > Certificate Trust Settings. Under "Enable full trus Settings > Apps > Safari > Advanced > Feature Flags > Enable WebXR Related Features. +------ + +**2.2.2 PICO 4 Ultra Enterprise or Meta Quest 3** + +We have tried using hand tracking for teleoperation on the PICO 4 Ultra Enterprise and Meta-Quest 3. + +The system specifications of PICO 4 Ultra Enterprise: + +> System Version: 5.12.6.U; Android version number: 14; Software version number: c000_cf01_bv1.0.1_sv5.12.6_202412121344_sparrow_b4244_user; browser version: [4.0.28 beta version](https://github.com/vuer-ai/vuer/issues/45#issuecomment-2674918619) + +The system specifications of Meta-Quest 3: + +> System version: 49829370066100510; Version: 62.0.0.273.343.570372087; Runtime version: 62.0.0.269.341.570372063; OS version: SQ3A.220605.009.A1. + +For more configuration steps, please refer to the [issue](https://github.com/unitreerobotics/avp_teleoperate/issues/32). + ## 2.3 🔎 Unit Test This step is to verify that the environment is installed correctly. @@ -265,7 +294,7 @@ First, **Operator B** needs to perform the following steps: 1. Modify the `img_config` image client configuration under the `if __name__ == '__main__':` section in `~/avp_teleoperate/teleop/teleop_hand_and_arm.py`. It should match the image server parameters you configured on PC2 in Section 3.1. -2. Choose different launch parameters based on your robot configuration +2. Choose different launch parameters based on your robot configuration. Here are some example commands: ```bash # 1. G1 (29DoF) Robot + Dex3-1 Dexterous Hand (Note: G1_29 is the default value for --arm, so it can be omitted) @@ -273,12 +302,18 @@ First, **Operator B** needs to perform the following steps: # 2. G1 (29DoF) Robot only (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py + + # 3. G1 (23DoF) Robot + (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=G1_23 - # 3. H1_2 Robot (Note: The first-generation Inspire Dexterous Hand is currently only supported in the H1_2 branch. Support for the Main branch will be added later.) - (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1_2 + # 4. H1_2 Robot + Inspire hand + (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1_2 --hand=inspire1 + + # 5. H1 Robot + (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1 - # 4. If you want to enable data visualization + recording, you can add the --record option - (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --record + # 6. If you want to enable data visualization + recording, you can add the --record option + (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=G1_23 --record ``` 3. If the program starts successfully, the terminal will pause at the final line displaying the message: "Please enter the start signal (enter 'r' to start the subsequent program):" diff --git a/README_ja-JP.md b/README_ja-JP.md index 1ce4df6..b112127 100644 --- a/README_ja-JP.md +++ b/README_ja-JP.md @@ -15,7 +15,7 @@ Video 1 -

G1 (29DoF)

+

G1 (29自由度) + Dex3-1

@@ -28,6 +28,7 @@

+ # 0. 📖 イントロダクション このリポジトリは、**Apple Vision Pro** を使用して **Unitree ヒューマノイドロボット** を遠隔操作するためのものです。 @@ -72,11 +73,18 @@ 以下は、必要なデバイスと配線図です:

- - Watch the Document + + Watch the Document

+これはネットワークトポロジー図で、G1ロボットを例にしています: + +

+ + Watch the Document + +

# 1. 📦 前提条件 @@ -122,7 +130,7 @@ Ubuntu システムの `~/.bashrc` ファイルでは、デフォルトの設定 -# 2. ⚙️ TeleVision と Apple Vision Pro の設定 +# 2. ⚙️ 設定 ## 2.1 📥 基本 @@ -135,7 +143,9 @@ Ubuntu システムの `~/.bashrc` ファイルでは、デフォルトの設定 ## 2.2 🔌 ローカルストリーミング -**Apple** は非 HTTPS 接続での WebXR を許可していません。アプリケーションをローカルでテストするには、自己署名証明書を作成し、クライアントにインストールする必要があります。Ubuntu マシンとルーターが必要です。Apple Vision Pro と Ubuntu **ホストマシン** を同じルーターに接続します。 +**Apple Vision Pro** + +Apple は非 HTTPS 接続での WebXR を許可していません。アプリケーションをローカルでテストするには、自己署名証明書を作成し、クライアントにインストールする必要があります。Ubuntu マシンとルーターが必要です。Apple Vision Pro と Ubuntu **ホストマシン** を同じルーターに接続します。 1. mkcert をインストールします: https://github.com/FiloSottile/mkcert 2. **ホストマシン** のローカル IP アドレスを確認します: @@ -180,6 +190,22 @@ Ubuntu システムの `~/.bashrc` ファイルでは、デフォルトの設定 > 注意:新しい Vision OS 2 システムでは、この手順が異なります。証明書を AirDrop 経由で Apple Vision Pro デバイスにコピーした後、設定アプリの左上のアカウント欄の下に証明書関連情報欄が表示されます。それをクリックして、証明書の信頼を有効にします。 +------ + +**2.2.2 PICO 4 Ultra Enterprise or Meta Quest 3** + +PICO 4 Ultra Enterprise と Meta-Quest 3 において、ハンドトラッキングを用いたテレオペレーションを試みました。 + +PICO 4 Ultra Enterprise のシステム仕様: + +> システムバージョン:5.12.6.U;Android バージョン:14;ソフトウェアバージョン:c000_cf01_bv1.0.1_sv5.12.6_202412121344_sparrow_b4244_user; ブラウザーバージョン: [4.0.28 beta version](https://github.com/vuer-ai/vuer/issues/45#issuecomment-2674918619) + +Meta-Quest 3 のシステム仕様: + +> システムバージョン:49829370066100510;バージョン:62.0.0.273.343.570372087;ランタイムバージョン:62.0.0.269.341.570372063;OS バージョン:SQ3A.220605.009.A1 + + さらなる設定手順については、その [issue](https://github.com/unitreerobotics/avp_teleoperate/issues/32) をご覧ください。 + ## 2.3 🔎 ユニットテスト このステップは、環境が正しくインストールされているかを確認するためのものです。 @@ -262,20 +288,26 @@ unitree@PC2:~/h1_inspire_service/build$ ./h1_hand_example まず、**オペレーター B** は次の手順を実行する必要があります: 1. `~/avp_teleoperate/teleop/teleop_hand_and_arm.py` の `if __name__ == '__main__':` コードの下にある `img_config` 画像クライアント設定を変更します。これは、3.1 節で PC2 に設定した画像サーバーパラメータと同じである必要があります。 -2. ロボット構成に応じて異なる起動パラメータを選択します +2. ロボット構成に応じて異なる起動パラメータを選択します。 以下は、いくつかのコマンド例です: ```bash -# 1. G1(29自由度) ロボット + Dex3-1 デクスタラスハンド(実際には、G1_29 は --arm のデフォルトパラメータなので、省略可能) +# 1. G1(29自由度)ロボット + Dex3-1 多指ハンド(※ G1_29 は --arm のデフォルト値なので省略可能) (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=G1_29 --hand=dex3 -# 2. G1(29自由度) ロボットのみ +# 2. G1(29自由度)ロボットのみ (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py -# 3. H1_2 ロボット(Inspire デクスタラスハンドは一時的に H1_2 ブランチでのみサポートされ、Main ブランチは後で更新されます) -(tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1_2 +# 3. G1(23自由度)ロボット +(tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=G1_23 + +# 4. H1_2 ロボット + Inspire Hand +(tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1_2 --hand=inspire1 + +# 5. H1 ロボット +(tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1 -# 4. データの可視化と記録を有効にする場合は、--record オプションを追加します -(tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --record +# 6. データの可視化および記録を有効にしたい場合は、--record オプションを追加してください +(tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=G1_23 --record ``` 3. プログラムが正常に起動すると、端末の最後の行に "Please enter the start signal (enter 'r' to start the subsequent program):" というメッセージが表示されます。 diff --git a/README_zh-CN.md b/README_zh-CN.md index ebddc60..cfc05be 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -15,7 +15,7 @@ Video 1 -

G1 (29自由度)

+

G1 (29自由度) + Dex3-1

@@ -28,6 +28,7 @@

+ # 0. 📖 介绍 该仓库实现了使用 **Apple Vision Pro** 对 **宇树(Unitree)人形机器人** 的遥操作控制。 @@ -74,8 +75,16 @@ 以下是需要的设备和接线示意图:

- - Watch the Document + + Watch the Document + +

+ +以下是网络拓扑图,以G1机器人为例: + +

+ + Watch the Document

@@ -126,7 +135,7 @@ unitree@Host:~$ conda activate tv -# 2. ⚙️ TeleVision 和 Apple Vision Pro 配置 +# 2. ⚙️ 配置 ## 2.1 📥 基础 @@ -139,7 +148,9 @@ unitree@Host:~$ conda activate tv ## 2.2 🔌 本地流媒体 -**Apple** 不允许在非 HTTPS 连接上使用 WebXR。要在本地测试应用程序,我们需要创建一个自签名证书并在客户端上安装它。您需要一台 Ubuntu 机器和一个路由器。将 Apple Vision Pro 和 Ubuntu **主机**连接到同一个路由器。 +**Apple Vision Pro** + +苹果不允许在非 HTTPS 连接上使用 WebXR。要在本地测试应用程序,我们需要创建一个自签名证书并在客户端上安装它。您需要一台 Ubuntu 机器和一个路由器。将 Apple Vision Pro 和 Ubuntu **主机**连接到同一个路由器。 1. 安装 mkcert:https://github.com/FiloSottile/mkcert 2. 检查**主机**本地 IP 地址: @@ -184,6 +195,24 @@ unitree@Host:~$ conda activate tv > 提醒:在新版本 Vision OS 2 系统中,该步骤有所不同:将证书通过 AirDrop 复制到 Apple Vision Pro 设备后,将会在设置 APP 中左上角账户栏的下方出现证书相关信息栏,点击进去即可启用对该证书的信任。 +------ + +**2.2.2 PICO 4 Ultra Enterprise or Meta Quest 3** + +我们已经尝试在 PICO 4 Ultra Enterprise 和 Meta-Quest 3 上使用手部追踪进行遥操作。 + +PICO 4 Ultra Enterprise 的系统规格如下: + +> 系统版本:5.12.6.U;Android 版本号:14;软件版本号:c000_cf01_bv1.0.1_sv5.12.6_202412121344_sparrow_b4244_user +> +> 浏览器版本:[4.0.28 beta version](https://github.com/vuer-ai/vuer/issues/45#issuecomment-2674918619) + +Meta-Quest 3 的系统规格如下: + +> 系统版本:49829370066100510;版本:62.0.0.273.343.570372087;运行时版本:62.0.0.269.341.570372063;操作系统版本:SQ3A.220605.009.A1 + +更多配置步骤信息,您可以查看该 [issue](https://github.com/unitreerobotics/avp_teleoperate/issues/32)。 + ## 2.3 🔎 单元测试 此步骤用于验证环境是否正确安装。 @@ -261,7 +290,7 @@ unitree@PC2:~/h1_inspire_service/build$ ./h1_hand_example 1. 修改 `~/avp_teleoperate/teleop/teleop_hand_and_arm.py` 中 `if __name__ == '__main__':` 代码下方的 `img_config` 图像客户端配置,它应该与 3.1 节中您在 PC2 配置的图像服务器参数相同。 -2. 根据您的机器人配置选择不同的启动参数 +2. 根据您的机器人配置选择不同的启动参数。以下是一些启动命令示例: ```bash # 1. G1(29DoF)机器人 + Dex3-1 灵巧手 (实际上,G1_29是--arm的默认参数,可以选择不填写) @@ -269,12 +298,18 @@ unitree@PC2:~/h1_inspire_service/build$ ./h1_hand_example # 2. 仅G1(29DoF)机器人 (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py + + # 3. G1 (23DoF) 机器人 + (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=G1_23 - # 3. H1_2机器人,(一代Inspire灵巧手暂时只在 H1_2 分支支持,Main分支将后续更新) - (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1_2 + # 4. H1_2 机器人 + 一代 Inspire 灵巧手 + (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1_2 --hand=inspire1 + + # 5. H1 机器人 + (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=H1 - # 4. 如果您想开启数据可视化+录制,还可以追加 --record 选项 - (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --record + # 6. 如果您想开启数据可视化+录制,还可以追加 --record 选项 + (tv) unitree@Host:~/avp_teleoperate/teleop$ python teleop_hand_and_arm.py --arm=G1_23 --record ``` 3. 程序如果正常启动,终端最后一行将停留在 “Please enter the start signal (enter 'r' to start the subsequent program):” 的字符串输出。