宇树机器人调研
机器人种类
- 通用人形机器人 H1
- 机器狗,四足机器人
行业应用
官网推荐的两类应用,官网推荐的应该是较为成熟的技术。
1. 智能电力巡检
针对危险、紧急、重复性任务设计一系列解决方案,为电力系统建设、运维等工作提供高效保障。
应用场景。智能巡检四足机器人作为工厂、园区、变电站、城市地下管廊及其他重要场所的新型检测手段,可以获取环境信息以及传感设备的识别信息,能够完成人工无法完成的工作。
效率提升。让工作人员告别繁琐、重复性的低价值劳动,提升工作效率。
降低成本。借助四足机器人智能巡检实现电力工作自动化流程,有效降低运维成本。
安全可靠。使用四足机器人代替人员进行特殊、高危环境作业,执行任务更安全。
2. 智能消防救援
助力守护消防安全,让生命不再冒险!
应用场景。能攻善守,具备火场外围+内部全范围救援能力
极速响应。快速部署,迅速行动,获取任务行动主动权。
远程侦查。具备远程侦察能力,掌握现场全局态势,为科学决策提供重要依据。
安全可靠。无惧各类危险环境,深入一线执行各类关键任务。
H1通用人形机器人
1. 部件
H1整机分为上半身和下半身,具备多个自由度。
- 单手臂拥有 4 个自由度,包括身肩关节、肩关节、上臂关节和手肘关节。
- 单腿拥有 5 个自由度,包括胯关节、腿关节、髋关节、膝关节和踝关节。
- 腰部具备 1 个自由度,即腰关节。
整机共有 19 个自由度,由 19 个关节电机组成,使得机器人能够实现精确的运动和姿态控制。
2. 电气接口
H1 的右侧配备了电气接口,这些接口用于连接各个机身关节电机、传感器外设、网口等。这样的设计使您能够方便地进行调试、排查问题以及进行二次开发。
3. 机载计算机
H1 机载标配 1 块【运控计算单元】,1 块【开发计算单元】,并且可选配一块【开发计算单元】。【运控计算单元】为 Unitree 运动控制程序专用,不对外开放。开发者仅可使用【开发计算单元】进行二次开发。
运控计算单元(PC 1) | 开发计算单元(PC 2、PC 3) | |
---|---|---|
型号 | i5-1235U | i7-1255U / i7-1265U |
内核数 | 10 | 10 |
线程数 | 12 | 12 |
最大睿频频率 | 4.40 GHz | 4.70 GHz & 4.80 GHz |
内存 | 8G | 16G & 32G |
内存类型 | LPDDR5 5200 MT/s(dual-channel) | LPDDR5 5200 MT/s(dual-channel) |
缓存 | 12 MB Intel® Smart Cache | 12 MB Intel® Smart Cache |
存储 | 500G 以上 | 500G 以上 |
英特尔® 图像处理单元 | 无 | 6.0 |
GPU | Intel® Iris® Xe Graphics eligible | Intel® Iris® Xe Graphics eligible |
显卡最大动态频率 | 1.20 GHz | 1.20 GHz |
高斯和神经加速器 | 3.0 | 3.0 |
英特尔®深度学习提升 | 是 | 是 |
英特尔®Adaptix™ 技术 | 是 | 是 |
英特尔®超线程技术 | 是 | 是 |
指令集 | 64bit | 64bit |
OpenGL | 4.6 | 4.6 |
OpenCL | 3.0 | 3.0 |
DirectX | 12.1 | 12.1 |
IP 地址 | 不对外开放 | 192.168.123.162\163 |
4. 激光雷达
H1 头部搭载了 MID-360 激光雷达(IP:192.168.123.120),为机器人提供了卓越的环境感知能力。激光雷达采用全方位、全角度的扫描技术,能够实时获取精准的环境数据。它能够快速识别和测量周围的物体,提供高分辨率的点云数据(三维扫描技术获取的一组离散点的集合)。
5. 深度相机
H1 头部搭载 D435 深度相机,为机器人提供了卓越的视觉感知能力,能够更准确地感知和理解周围环境,实现精确的空间感知和障碍物检测,使机器人能够更智能、灵活地与环境进行交互和应对各种场景。
6. M107关节电机
H1 部分关节采用了 Unitree 自研 M107 电机,具备出色的性能和特点。该电机的最大扭矩为 360N.m,最大拉力(在 3.5cm 力臂等效条件下)为 10000N,采用了中空轴线的设计,使得电机在结构上更加轻量化、紧凑化。M107 电机还配备了双编码器,提供更准确的位置和速度反馈,以满足高精度控制的需求。
7. 机器人规格
Unitree H1 规格参数 | |
---|---|
关键尺寸 | (1520+285)mm × 570mm × 220mm |
大腿和小腿长度 | 400mm × 2 |
手臂总长度 | 338mm × 2 |
单腿自由度 | 髋关节 × 3 + 膝关节 × 1 + 踝关节 × 1 = 5 |
单手臂自由度 | 4(可拓展) |
整机重量 | 约 47kg |
关节输出轴承 | 工业级交叉滚子轴承(高精度,高承载力) |
核心关节电机 | 低惯量高速内转子永磁同步电机(更好的响应速度和散热) |
关节单元极限扭矩 | 膝关节约 360N.m,髋关节约 220N.m,踝关节约 59N.m,手臂节约 75N.m |
行走速度 | 大于 1.5m/s(潜在运动能力 >5m/s) |
电池 | 容量 15Ah(0.864KWh),最大电压 67.2V |
控制和感知算力 | 1 x Intel Core i5-1235U + 1 × Intel Core i7-1255U/1265U(可再增配:Intel Core i7或Nvidia Jetson Orin NX) |
感知传感器配置 | 3D激光雷达 + 深度相机 |
灵巧手 | 选配(正在开发,敬请期待) |
应用开发
软件架构说明
系统架构图
云服务
云服务功能
- 收集 H1 运行数据(不涉及隐私),进行故障检测和统计。
- 帮助用户实现远程操作,主要通过 WebRTC 实现。图像和控制流量可以点对点或通过 turn server 转发,服务器不会收集或分析这些流量。
- 系统升级迭代。
云服务通信
- mqtt 用来建立与每台设备的物联网通信,负责监控故障、系统升级、传递 WebRTC 信令。
- http 服务连接 App 和 Web 前端,建立用户与机器人的绑定关系。
- turn/stun 服务器用来帮助 WebRTC 点对点连接,并在无法实现点对点连接时提供服务器数据转发。
H1机器人
- OTA 模块通过 mqtt 与云服务器通信,负责上传故障信息、系统升级、并转发 WebRTC 信令。
- WebRTC 模块实现与 App 的主要数据管道,包括音视频流、雷达点云、运动状态及控制指令。
- 蓝牙( BLE )部分用来和 App 建立联系,主要用于配置网络和安全验证。
- 各个功能模块之间的通信主要采用DDS实现,DDS IDL 兼容 ROS2(需要选择适配的RMW),EDU 版本可以通过 DDS 或 ROS2 调用接口。
- 电机、雷达 等传感器数据通过串口收集再转发到 DDS 中间层。
- H1 内置 3 块计算单元,PC1 为 Unitree 运动控制程序专用,不对外开放。开发者仅可使用 PC2\PC3 进行二次开发。PC2\PC3的IP地址分别为192.168.123.162\192.168.123.163,初始用户名与密码请联系技术支持获取。
APP
- 用户管理模块,通过 HTTP Web API 连接宇树管理平台。负责绑定机器人、 WebRTC 建连等功能。
- H1 的蓝牙模块,用来配置网络。
- WebRTC 模块,主要数据流量都是通过 WebRTC 实现,包括图传、点云、运动状态及控制指令下发。
服务介绍
底层服务
获取 H1 的实时运行数据包括:电池、电机、IMU 等。同时提供底层控制接口(直接驱动电机控制步态)。可以获取传感器数据并控制驱动器。底层服务使用 DDS 进行通信。
高层运动服务
用于控制 H1 的内置行走控制器(与遥控器等效),具备切换步态、控制姿势及速度、抬腿、手臂控制等功能。高层运动服务使用 RPC 或 DDS 进行通信。
高层运动服务接口支持调试状态以外的所有状态下使用。高层运动控制可以氛围整机控制和上肢控制。
整机控制。整机控制可以实现调试状态以外的主要遥控器操作,包括状态切换、速度控制、迈步高度调节等。使用高层运动服务接口时,控制逻辑仍然与遥控器操作相同。服务接口与遥控器操作可以共存,但遥控器摇杆优先级高于接口,当遥控器摇杆在某一方向上非零时,以遥控器摇杆为准;否则以接口为准。
上肢控制。上肢控制可以独立于整机控制逻辑,控制上肢完成操作任务。
机器人坐标系
H1 运动服务的坐标系定义参照人体解剖学,为右手坐标系:矢状轴为 X 轴,向前为正;冠状轴为 Y 轴,向左为正;垂直轴为 Z 轴,向上为正。默认站立状态下,髋关节俯仰方向的旋转轴与脚踝关节旋转轴之间的距离为 0.7 m。设计抬脚高度共有三级,分别为 0.08/0.13/0.18 m。
机器人状态
机器人的状态切换机制
机器人状态介绍
-
阻尼状态。机器人所有电机处于阻尼模式,可以进入预备状态或调试状态
-
预备状态。机器人将在5秒内缓慢摆出运动状态前的准备姿势
-
运动状态。可以通过遥控器控制机器人移动的状态
-
持续走路状态。机器人始终处于踏步状态
-
站立状态。该状态下,当摇杆指令为零时,机器人停止踏步,进入站立;当摇杆指令不为零,或机器人受到干扰难以维持平衡时,机器人将开始迈步。
-
调试状态。停止运动服务,用于底层开发
机器人状态切换机制
- 阻尼状态。阻尼状态的切换具有最高优先级,调试状态以外状态状态都可以立刻切换进入阻尼状态,相当于一个软急停机制。
- 预备状态。预备状态仅作为由阻尼状态进入运动状态的一个过渡状态,不具备特殊功能,但可以用于简单检查开机时位置摆放是否正确。
- 运动状态。当机器人身体姿态倾斜过大,或髋关节、膝关节电机达到机械限位时,机器人将触发自动保护,进入阻尼状态。
- 持续走路状态。运动状态的一种,机器人将始终处于原地踏步。
- 站立状态。运动状态的一种。当摇杆指令为零时,机器人停止踏步,进入站立;当摇杆指令不为零,或机器人受到干扰难以维持平衡时,机器人通过迈步维持平衡,但不会自动切换至持续走路状态。
- 调试状态。当内置运动服务退出时(包括正常退出和异常退出),机器人会进入调试模式。这个模式下可以进入或退出诊断动作,用于判断机器人硬件状态。这一操作逻辑也可用于确认机器人是否处于调试模式。
设备状态服务
用于管理 H1 内部其他服务,目前主要用于开启或关闭内置行走控制器。设备管理服务使用 RPC 进行通信。
网络服务
通过 App 配置 Wi-Fi、AP 和 STA 模式。
图像服务
拍照,图像推流等功能。当前版本不支持
雷达服务
获取点云数据和IMU数据,构建高度地图和3D体素地图。当前版本不支持
SLAM服务
Simultaneous Localization and Mapping 即时定位与地图构建。SLAM应用分为建图、定位和导航三部分,其中建图用于获取当前环境中的特征信息(角特征和面特征),并生成用于重定位的当前环境地图;定位基于建图模块所生成的地图并结合当前传感器的感知用于确定机器人于当前环境中的位姿,用于为导航提供位置反馈等信息;导航模块则根据定位结果以及相对于目标点的偏差自动规划出到达目标点的路径。
- 运动数据提取模块用于将H1的运动数据转换为标准的Odom以及IMU数据,以支持建图、定位和导航模块
- 激光雷达数据获取模块用于获取H1所搭载三维激光雷达的点云数据
- 拓扑点读取模块用于加载所标记的导航点位置,并将信息用于路径规划
- 运动控制模块用于控制H1安全抵达到所指定的目标终点
SLAM服务运行于PC2中(IP地址192.168.123.162),PC1(IP地址192.168.123.161)负责提供H1的运动信息。用户可通过网线直连或WIFI连接等方式连接PC2,以远程桌面或者安装有Ubuntu系统的用户主机获取SLAM服务数据。
与服务机器人的差异
- 操作系统。服务机器人是 Android 操作系统,H1机器人文档中没有说明是否有操作系统
- 输入设备。服务机器人有麦克风,触控屏,摄像头,H1机器人无
- 输出设备。服务机器人配置有屏幕、音频输出,H1机器人无
- 场景。服务机器人适用于环境友好,例如:地面平坦,温度适宜等的场景,H1机器人适用于各类环境