智能机器人科教集成商
教学   科研   比赛   展示
科学研究

提供最先进的智能机器人科研平台,助力高校用户发文章和申请项目

Apple Vision Pro 遥操作

Apple Vision Pro遥操作核心是依托眼动+手势+语音的原生交互,结合WebXR/网络通信,实现对设备、机器人等的远程精准控制。核心原理:Vision Pro手势追踪捕捉动作,经WebXR传输至机器人端,结合逆运动学与图像推流,实现实时控制与视觉反馈。应用场景包括• 工业/科研:远程操控机械臂、人形机器人,完成危险/精细作业。• 智能家居:通过Vision Pro控制智能家电,实现沉浸式家居控制。• 医疗:辅助远程手术、康复机器人操控,提升医疗服务可达性。

项目课程

本文详细介绍了如何使用 Apple Vision Pro 进行遥操作,以控制宇树科技的 Unitree H1_2 手臂的示例程序。开发者只需佩戴 Vision Pro,即可通过摄像头进行手势追踪以操作机器人。这个开源示例教程由宇树科技提供,对于有意将 Vision Pro 应用于机器人控制的开发者来说,这个示例无疑是一个很好的入门资源。 G1遥操作更新资源:https://blog.csdn.net/qq_28912651/article/details/149045792

【实验教学目标 】

效果演示

 


环境依赖

本例程在 Ubuntu 20.04 和 Ubuntu 22.04 操作系统下进行测试。在其他版本的操作系统上构建时,所需条件和步骤可能会与本文档描述的存在差异。您可以根据实际使用情况调整构建过程。

双臂 inverse kinematics 环境配置

该部分用于配置人形机器人 H1 双臂(共14个自由度)的末端位姿逆运动学求解相关的软件库。Apple Vision Pro 获取左右两个手腕位姿后,使用 pinocchio 和 CasADi 库加载 URDF 并进行逆运动学计算,求解出到达该位姿的关节电机角度值。 meshcat 库则用于调试时在 Web 端进行可视化显示。

conda create -n tv python=3.8
conda activate tv
conda install pinocchio -c conda-forge
pip install meshcat

注意

  1. 使用 pip 安装的 pinocchio 有可能不是最新版本 3.1.0,本环境需要使用 3.1.0 版本,请仔细检查。

  2. 必须先安装 pinocchio 并确保安装成功,然后再进行 TeleVision 的环境配置。安装顺序颠倒可能导致会安装好的 TeleVision 环境出错。

  3. 下文所有终端命令都应该在 conda 的 tv 环境内执行,除非另有说明。

unitree_dds_wrapper 配置

该部分用于配置计算机主机与人形机器人的 unitree_dds_wrapper,可以使用 python 实现主机和机器人之间的通信、控制。请执行下面命令进行安装:

# 安装python版本的 unitree_dds_wrapper
git clone  
cd unitree_dds_wrapper/python
pip3 install -e .

TeleVision 环境配置和 Apple Vision Pro 通信配置

本例程在 TeleVision 开源项目基础上修改完成,下述部分配置也可参考该项目的 README 及相关页面。在此,Isaac Gym 仿真环境用于测试配置正确性。

1. 基本环境配置

使用 git 克隆本项目至本地后,进入到项目路径下,安装基本功能库:

cd ~
git clone  
cd avp_teleoperate
pip install -r requirements.txt

2. Isaac Gym 安装

在 Isaac Gym 下载页面下载 Isaac Gym 安装包并解压,然后到 IsaacGym_Preview_4_Package/isaacgym/python 目录下执行下面命令:

pip install -e .

3. 证书生成相关配置

3.1 安装 mkcert

  • 安装brew

sudo apt-get install build-essential procps curl file git
cd ~
/bin/bash -c ""

当要求输入回车键时,请按下回车。然后继续执行:

echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> $HOME/.bash_profile
  • 配置环境变量

eval ""
  • 使用 brew 安装mkcert

brew install mkcert

3.2 生成证书

  • 查看本机 IP 地址

ifconfig |  inet

假设本机 IP 地址是192.168.123.2

  • 创建证书

mkcert -install && mkcert -cert-file cert.pem --file .pem localhost 127.0.0.1

把生成的 cert.pem 和 key.pem 两个文件拷贝到项目的 teleop 目录下:

cp cert.pem key.pem ~/avp_teleoperate/teleop/
  • 系统防火墙设置

sudo ufw allow
  • 在 Apple Vision Pro 中安装证书

mkcert -

上面命令可以获取到 rootCA.pem 的路径。然后通过苹果的隔空投送功能把 rootCA.pem 文件发送到 Apple Vision Pro。

注意:Apple Vision Pro 接收文件前需要启动文件接收功能,方法是:设置 >> 通用 >> 隔空投送 >> 所有人(10分钟)。

4. 启用 Apple Vision Pro 的 WebXR 相关功能

设置 >> Apps >> Safari浏览器 >> 高级 >> 功能标志 >> 启用 WebXR 相关功能。

5. 进入 VR

 ~/avp_teleoperate/teleop
python teleop_hand.py

打开 Apple Vision Pro 的浏览器输入 https://192.168.123.2:8012?ws=wss://192.168.123.2:8012
点击 "Enter VR" 并且允许跟踪,就可以看到如下画面:


【主要仪器设备 】

硬件清单

QQ_1769569867266.png

设备摆放要求

  1. 如果使用真实遥操模式,需确保人形机器人 Unitree H1_2 的硬件活动范围内不会碰撞到人或其他物品,以免发生意外;

  2. 人形机器人 Unitree H1_2 可使用吊起或者端坐(如本文档 效果演示 一节所示)的方式摆放,避免双臂活动范围内有明显的碰撞物出现;

  3. 操作人员应正确佩戴 Apple Vision Pro 设备,并遵循上述软件配置;

  4. 双目相机的主要作用是辅助操作人员,通过 Apple Vision Pro 观看到机器人视角下工作空间的视野。为了获得最佳效果,请根据所使用的相机型号和所需的工作空间视野,适当调整相机的安装位置和朝向。


【实验项目设置 】

启动程序

在执行遥操作的程序前,需要预先启动一些服务支撑的程序。

开启灵巧手服务

可以参考 灵巧手开发 配置相关环境和编译控制程序。首先到 该网址 下载灵巧手控制接口程序并将之拷贝到 机器人 Unitree H1_2 的 PC2 中。在 PC2 中解压完成后,使用下述命令进行编译:

sudo apt install libboost-all-dev libspdlog-dev
# Build project
cd h1_inspire_service & mkdir build & cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
# Terminal 1. Run h1 inspire hand service
sudo ./inspire_hand -s /dev/ttyUSB0
# Terminal 2. Run example
./h1_hand_example

如果发现左右灵巧手所有手指不断循环张开、闭合动作则表示成功。确认成功后,关闭 Terminal 2 中的 ./h1_hand_example 程序即可。

开启图像推流服务

把 avp_teleoperate/teleop/image_server 目录中的 image_server.py 拷贝到机器人 Unitree H1_2 的 PC2 中,并在 PC2 内执行下面命令:

sudo python3 image_server.py

注意:这里需要检查 OpenCV 读取图像时的参数是否与双目相机硬件匹配,以及对于推流使用的默认5555端口是否可用。

图像推流服务开启以后,可以在主机终端使用 image_client.py 测试通信是否成功(测试成功后记得关闭该程序):

python image_client.py

启动遥操作程序

注意1: 所有人员一定要与人形机器人之间保持充足的安全距离,以免发生危险和意外!
注意2: 在使用本程序并进行启动时,必须确保输入的参数和操作流程是正确的,并对程序可能会执行的各种行为结果有充分预期!

python teleop_hand_and_arm.py
# 程序启动后,如果配置正确,终端最终输出 `Please enter the start signal (enter 's' to start the subsequent program):` 信息。
# 此时,佩戴 Apple Vision Pro 的操作人员应将手臂形状摆放为与 Unitree H1_2 初始姿态相接近的姿势,避免初始位姿差距过大导致机器人产生过大的摆动。
# 当操作人员姿势摆放好后,主机操作人员可按下 `s` 字母和回车键,正式启动遥操作程序。这时,机器人双臂便可跟随佩戴 Apple Vision Pro 的操作人员双臂移动。

代码目录

代码的整体结构与 TeleVision 保持一致,此处只着重介绍与 Unitree Robot 相关的文件目录

avp_teleoperate/
│
├── act                       存放模仿学习策略相关文件
│
├── assets                    存放机器人 URDF 相关文件 
│  
├── scripts                   存放一些工具类文件
│
├── teleop                    存放遥操作主要文件
│   │
│   ├── image_server/         图像推流服务端与客户端相关代码
│   │     |
│   │     ├── image_client.py 客户端(仅用于测试 Unitree H1_2 上的图像推流服务是否正常)
│   │     |
│   │     ├── image_server.py 服务端(捕获相机的图像并通过网络对外发送,该代码在 Unitree H1_2 上运行)
│   │         
│   ├── robot_control/             存放IK解算、手臂控制相关文件
│   │      |
│   │      ├── robot_arm_ik.py     双臂IK解算代码
│   │      |
│   │      ├── robot_arm.py        双臂控制代码
│   │      |
│   │      ├── robot_hand.py       机械手控制代码
│   │
│   │──teleop_hand_and_arm.py   遥操作的启动程序代码
│   │
│   │──teleop_hand.py           可用于测试环境配置

注意事项

1.请务必按照本文档的要求安装硬件设备、连接线缆;

2.在遥操过程中,请务必避免遥操作时机器人双臂的活动轨迹重合导致的碰撞!确保机器人硬件活动范围内不会碰撞到人或其他物品,以免发生意外;

3.在使用例程时,必须确保输入的参数和操作流程是正确的;

4.机器人在运行过程中会产生热量,在运行或刚停止时,请不要触摸电机关节部位;

5.例程使用结束后,请务必关闭例程并断电;

FAQ

Q: 双目相机可以换为其他型号吗?
A: 任意型号 USB 免驱动双目相机均可(推荐使用 FOV 较大的相机,保证操作时充足的视野)。新相机可通过 teleop/image_server/ 下的客户端 image_client.py 和服务端 image_server.py 程序进行测试。

Q: 其他人形机器人可以使用该例程吗?
A: 不可以直接使用,但可以借鉴。包括但不限于修改 URDF、IK 解算程序以及关节映射等代码。

Q: 遇到运行错误 AttributeError: type object 'Callable' has no attribute...,怎么办?
A: 可以尝试使用命令 pip uninstall typing 解决

Q: 双臂可以进行遥操作,但是灵巧手却不会动,怎么办?
A: 程序中,双臂和灵巧手的控制指令是分开的。先通过 开启灵巧手服务 小节内容中所述的 h1_hand_example 程序检测灵巧手是否正常工作。如果没有正常操作,请参考 灵巧手开发 页面或联系灵巧手相关的技术支持。

  • 全球首次完成侧空翻的人形机器人

    全球首次完成侧空翻的人形机器人宇树G1图片

    G1人形机器人运动图片

    今天你运动了没?G1人形机器人运动图片

  • G1人形机器人功夫

    G1人形机器人功夫图片

    接着奏乐接着舞

    G1人形机器人接着奏乐接着舞

  • 宇树G1仿生灵动升级

    宇树G1仿生灵动升级

    宇树H1全身关节控制

    宇树H1全身关节控制

  • G1人形机器人开元数据集

    G1人形机器人开元数据集

    2天学会仿人自然行走

    宇树G1人形机器人2天学会仿人自然行走

Donghu Robot Laboratory, 2nd Floor, Baogu Innovation and Entrepreneurship Center,Wuhan City,Hubei Province,China Tel:027-87522899,027-87522877

合作与咨询

渠道商务合作:18062020215

售前技术咨询:13807184032

售后服务热线:18062020228

网站备案号:鄂ICP备17004685号-1 | 技术支持 | 联系我们 | 服务条款与隐私权 | 网站地图