Project Icon

avp_teleoperate

Apple Vision Pro远程操控Unitree H1_2人形机器人

该项目实现了Apple Vision Pro远程操控Unitree H1_2人形机器人的功能。通过逆运动学和图像传输技术,实现了双手和双臂的精确控制。项目提供了详细的环境配置指南,涵盖Isaac Gym模拟环境和本地流媒体设置。代码基于TeleVision框架,针对Unitree机器人进行了优化。这一解决方案为人形机器人远程操作开辟了新途径,具有广阔的应用前景。

视频演示

简介

本仓库实现了使用Apple Vision Pro对优衣库H1_2人形机器人进行远程操作。

前提条件

我们在Ubuntu 20.04和Ubuntu 22.04上测试了我们的代码,其他操作系统的配置可能有所不同。

有关更多信息,您可以参考官方文档OpenTeleVision

逆运动学

conda create -n tv python=3.8
conda activate tv
# 如果使用`pip install`,请确保pinocchio版本是3.1.0
conda install pinocchio -c conda-forge
pip install meshcat
pip install casadi

unitree_dds_wrapper

# 安装Python版本的unitree_dds_wrapper
git clone https://github.com/unitreerobotics/unitree_dds_wrapper.git
cd unitree_dds_wrapper/python
pip install -e .

TeleVision和Apple Vision Pro配置

基础

cd ~
git clone https://github.com/unitreerobotics/avp_teleoperate.git 
cd ~/avp_teleoperate
pip install -r requirements.txt
cd act/detr && pip install -e .

Isaac Gym

如果您想在模拟环境中尝试远程操作示例(teleop_hand.py):

  1. 下载Isaac Gym:https://developer.nvidia.com/isaac-gym/download
  2. 解压到当前目录,进入IsaacGym_Preview_4_Package/isaacgym/python目录并执行命令:pip install -e .

本地流媒体

Apple不允许在非https连接上使用WebXR。要在本地测试应用程序,我们需要创建一个自签名证书并将其安装在客户端上。您需要一台Ubuntu机器和一个路由器。将VisionPro和Ubuntu机器连接到同一个路由器。

  1. 安装mkcert:https://github.com/FiloSottile/mkcert
  2. 检查本地IP地址:
ifconfig | grep inet

假设Ubuntu机器的本地IP地址是192.168.123.2

  1. 创建证书:
mkcert -install && mkcert -cert-file cert.pem -key-file key.pem 192.168.123.2 localhost 127.0.0.1

注:将生成的cert.pem和key.pem文件放在teleop目录中。

cp cert.pem key.pem ~/avp_teleoperate/teleop/
  1. 在服务器上打开防火墙:
sudo ufw allow 8012
  1. 在VisionPro上安装ca-certificates:
mkcert -CAROOT

通过AirDrop将rootCA.pem复制到VisionPro并安装。

设置 > 通用 > 关于本机 > 证书信任设置。在"为根证书启用完全信任"下,打开对证书的信任。

设置 > 应用程序 > Safari > 高级 > 功能标志 > 启用WebXR相关功能

  1. 在VisionPro的Safari浏览器中打开https://192.168.123.2:8012?ws=wss://192.168.123.2:8012

  2. 点击进入VR允许以开始VR会话。

模拟远程操作示例

  1. 按照上述说明设置本地或网络流媒体后,您可以尝试在Issac Gym中远程操作两只机器人手:

    cd teleop && python teleop_hand.py
    
  2. 在VisionPro上进入vuer网站,点击进入VR允许以进入沉浸式环境。

  3. 在3D中看到您的手!

使用方法

在启动此程序之前,请至少阅读一次官方文档

灵巧手服务

您可以参考灵巧手开发配置相关环境并编译控制程序。首先,使用此URL下载灵巧手控制接口程序,并将其复制到Unitree H1_2的PC上。在Unitree H1_2的PC上,执行以下命令:

sudo apt install libboost-all-dev libspdlog-dev
# 构建项目
cd h1_inspire_service & mkdir build & cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
# 终端1. 运行h1 inspire手服务
sudo ./inspire_hand -s /dev/ttyUSB0
# 终端2. 运行示例
./h1_hand_example

如果两只手连续开合,表示成功。成功后,关闭终端2中的./h1_hand_example程序。

图像服务器

avp_teleoperate/teleop/image_server目录中的image_server.py复制到Unitree H1_2的PC上,并在PC上执行以下命令:

sudo python image_server.py

图像服务启动后,您可以在主机终端中使用image_client.py测试通信是否成功:

python image_client.py

开始

警告:所有人员必须与机器人保持足够的安全距离,以避免危险!

python teleop_hand_and_arm.py

代码库教程

代码的整体结构与TeleVision保持一致,我们只关注与优衣库机器人相关的修改文件目录。

avp_teleoperate/
│
├── act                       [与ACT策略用于模仿学习相关的文档]
│
├── assets                    [存储机器人URDF相关文件]
│  
├── scripts
│
├── teleop
│   ├── image_server/         [图像传输服务器和客户端代码]
│   │     ├── image_client.py [客户端(仅用于测试图像流服务是否正常,不用于远程操作)]
│   │     ├── image_server.py [从双目相机捕获图像并通过网络发送(在Unitree H1_2上执行)]
│   │         
│   ├── robot_control/          [存储IK求解器、手臂和手部控制相关文档]
│   │      ├── robot_arm_ik.py  [手臂的逆运动学]  
│   │      ├── robot_arm.py     [控制双臂关节并锁定其他部分]
│   │      ├── robot_hand.py    [控制手部关节]
│   │
│   │──teleop_hand_and_arm.py   [远程操作的启动执行代码]
|   |──teleop_hand.py           [可用于测试环境配置]

致谢

本代码基于以下开源代码库。请访问URL以查看各自的许可证:

  1. https://github.com/OpenTeleVision/TeleVision
  2. https://github.com/dexsuite/dex-retargeting
  3. https://github.com/vuer-ai/vuer
  4. https://github.com/stack-of-tasks/pinocchio
  5. https://github.com/casadi/casadi
  6. https://github.com/meshcat-dev/meshcat-python
  7. https://github.com/zeromq/pyzmq
  8. https://github.com/unitreerobotics/unitree_dds_wrapper
  9. https://github.com/tonyzhaozh/act
  10. https://github.com/facebookresearch/detr
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号