首页
/ OpenWBT项目环境配置全指南:从硬件准备到VR控制

OpenWBT项目环境配置全指南:从硬件准备到VR控制

2025-06-08 21:14:34作者:裘晴惠Vivianne

前言

OpenWBT是一个面向机器人开发与虚拟现实控制的开源项目,本文将详细介绍如何从零开始配置完整的开发环境。无论您是机器人领域的初学者还是经验丰富的开发者,本指南都将帮助您快速搭建起OpenWBT项目的运行环境。

硬件准备

在开始软件配置前,我们需要确保拥有合适的硬件设备:

  1. 机器人开发平台:推荐使用G1-EDU四足机器人开发平台
  2. 混合现实设备:Apple Vision Pro用于VR控制
  3. 控制设备:游戏手柄用于基础控制
  4. 开发计算机:建议使用Ubuntu 20.04系统

网络配置建议

为确保设备间通信顺畅,建议将所有设备连接到同一局域网中。可以通过以下命令检查本机IP:

ifconfig | grep inet

记录下网络接口名称和IP地址,后续配置会用到。

基础软件环境配置

Conda虚拟环境

我们推荐使用Conda管理Python环境,避免依赖冲突:

conda create -n OpenWBT python=3.8
conda activate OpenWBT

核心依赖安装

OpenWBT项目依赖多个机器人学相关的Python库:

# 安装机器人动力学计算库
conda install pinocchio=3.1.0 -c conda-forge

# 安装其他核心依赖
pip install meshcat casadi onnxruntime pyserial mujoco

特别提醒:Pinocchio必须使用3.1.0版本,其他版本可能导致兼容性问题。

机器人SDK集成

OpenWBT需要与Unitree机器人SDK进行交互:

git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
cd unitree_sdk2_python
pip install -e .

这种"可编辑"安装方式(使用-e参数)允许我们在开发过程中直接修改SDK代码而无需重新安装。

物理仿真环境配置

OpenWBT支持Isaac Gym物理仿真引擎:

  1. 从NVIDIA官网下载Isaac Gym安装包
  2. 解压后进入python目录
  3. 执行开发模式安装:
pip install -e .

开发模式安装同样适用于需要频繁修改仿真环境的情况。

ROS 2通信环境搭建

编译工具准备

OpenWBT需要特定版本的编译工具链:

# 安装CMake 3.23.3
wget https://cmake.org/files/v3.23/cmake-3.23.3.tar.gz
tar -zxvf cmake-3.23.3.tar.gz
cd cmake-3.23.3
sudo apt-get -y install libssl-dev
sudo ./configure
sudo make -j8
sudo make install

# 配置GCC 9.4.0
sudo apt-get install gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90

ROS 2 Foxy安装

建议使用ROS 2 Foxy版本:

sudo apt install ros-foxy-desktop

安装完成后,建议在.bashrc中注释掉ROS环境自动加载,避免与其他环境冲突。

机器人ROS接口配置

  1. 克隆unitree_ros2仓库
  2. 安装必要依赖:
pip install empy==3.3.4 catkin_pkg==1.0.0 lark==1.2.2
sudo apt install ros-foxy-rmw-cyclonedds-cpp ros-foxy-rosidl-generator-dds-idl
  1. 编译CycloneDDS中间件(确保未加载ROS环境):
cd ~/unitree_ros2/cyclonedds_ws/src
git clone https://github.com/ros2/rmw_cyclonedds -b foxy
git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x
cd ..
colcon build --packages-select cyclonedds
  1. 最后编译整个unitree_ros2项目:
source /opt/ros/foxy/setup.bash
colcon build

网络连接验证

  1. 修改~/unitree_ros2/setup.sh中的网络接口名称
  2. 启动ROS 2环境:
source /opt/ros/foxy/setup.sh; source ~/unitree_ros2/setup.sh
  1. 运行ros2 topic list查看机器人话题,确认连接成功

Apple Vision Pro VR控制配置

HTTPS证书配置

由于Apple强制要求WebXR使用HTTPS,我们需要配置本地证书:

  1. 安装mkcert工具:
brew install mkcert
  1. 生成证书(替换为实际IP):
mkcert -install && mkcert -cert-file cert.pem -key-file key.pem 192.168.123.2 localhost 127.0.0.1
  1. 复制证书到项目目录并开放端口:
cp cert.pem key.pem ~/avp_teleoperate/teleop/
sudo ufw allow 8012

设备端设置

  1. 将rootCA.pem通过AirDrop发送到Vision Pro安装
  2. 在设置中启用Safari的WebXR功能
  3. 访问控制页面(替换为实际IP):
https://192.168.123.2:8012?ws=wss://192.168.123.2:8012

常见问题排查

  1. ROS 2话题不可见:检查网络配置,确认机器人与主机在同一子网
  2. 证书不受信任:确保证书已正确安装到Vision Pro
  3. Pinocchio版本冲突:必须使用3.1.0版本
  4. 编译错误:检查GCC和CMake版本是否符合要求

结语

通过以上步骤,您应该已经完成了OpenWBT项目完整环境的配置。这套环境不仅支持机器人基础控制,还实现了通过Vision Pro进行VR远程操作的高级功能。如果在配置过程中遇到任何问题,建议查阅各组件官方文档获取最新信息。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
270
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
909
541
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
341
1.21 K
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
142
188
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
377
387
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
63
58
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.1 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
87
4