47 lines
2.4 KiB
Markdown
47 lines
2.4 KiB
Markdown
# Robot Gauge
|
|
|
|
本仓库提供一系列**强化学习训练的运动控制模型指标**, 目标是衡量模型的以下信息, 以衡量Sim2Real间隙:
|
|
- 鲁棒性: 随机变化地形, 地面类型(环境摩擦、弹性系数), 模型是否能继续稳定控制
|
|
- 稳定性: 电机出力是否合理, 长时间运行是否导致电机过热, 是否出现极端关节位置
|
|
- 控制稳定性及准确性: 对于速度追踪指令, 能否准确追踪; 对于目标点指令, 到达误差大小
|
|
|
|
能间接地衡量模型部署在真机上的效果, 该流程使用Mujoco进行自动化指标评测, 全部代码基于Python实现.
|
|
|
|
## 支持机器人
|
|
| 机器人型号 | 机器人类型 | 速度追踪指令 |
|
|
| - | - | - |
|
|
| Unitree go2 | 四足 | ✅ |
|
|
|
|
## 目录结构
|
|
- `robogauge/scripts`: 启动指标测试程序
|
|
- `robogauge/tasks`: 定义测试任务
|
|
- `robogauge/utils`: 常用工具
|
|
|
|
## 指标
|
|
指标的计算方法是通过在环境中发送固定指令及持续时长, 通过Mujoco获取所需参数并计算.
|
|
|
|
### 环境参数
|
|
#### 域随机化
|
|
所有的评测指标都会先配置相应的域随机化参数, 在随机参数下进行评测, 以下为常用的域随机化参数
|
|
|
|
| 参数名称 | 变量名 | 范围 |
|
|
| - | - | - |
|
|
| 电机动作执行随机延迟 | `action delay` | `<= RL控制间隔` |
|
|
| base负重 | `base mass` | `(-1, 5) kg` |
|
|
|
|
#### 地面
|
|
1. 支持legged_gym中的部分地形, 包括: `wave, slope, rough_slope, stairs up, stairs down, obstacles, flat`, 除`flat`地形外其他地形可进行难度系数提升
|
|
2. 地面类型 (影响接触摩擦系数, 弹性摩擦系数), 包括: 橡胶地, 木地板, 瓷砖地
|
|
|
|
### 速度追踪
|
|
针对在虚实迁移中发现的问题, 整理指标内容如下:
|
|
|
|
| # | 指标 | 标准化范围 | 对应真机问题 | 地形 |
|
|
| - | - | - | - | - |
|
|
| 1 | 关节出现极端值的比例 | 关节范围 | 移动时发生危险的高抬腿行为 | Any |
|
|
| 2 | 线速度与指令速度的L2误差 | 最大线速度指令 | 移动时可能无法达到指定速度 | Any |
|
|
| 3 | 角速度与指令速度的L2误差 | 最大角速度指令 | 移动时可能无法达到指定速度 | Any |
|
|
| 4 | base高度变化 | 固定高度 | 高速移动时机身存在趴低问题 | 平地 |
|
|
| 5 | 速度对角突变base高度变化 | 固定高度 | 速度发生对角突变时无法平衡 | 平地 |
|
|
| 6 | 高速移动急停稳定性 | 固定用时 | 楼梯上静止时, 关节不稳定 | Any |
|