This commit is contained in:
wty-yy
2025-12-03 09:43:16 +08:00
parent ad907089a8
commit 9f7db42f9f
12 changed files with 179 additions and 60 deletions

View File

@@ -17,7 +17,7 @@
- `robogauge/tasks`: 定义测试任务
- `robogauge/utils`: 常用工具
## 指标
## 指标/目标/地形
指标的计算方法是通过在环境中发送固定指令及持续时长, 通过Mujoco获取所需参数并计算.
### 环境参数
@@ -29,21 +29,41 @@
| 电机动作执行随机延迟 | `action delay` | `<= RL控制间隔` |
| base负重 | `base mass` | `(-1, 5) kg` |
#### 地
#### 地
1. 支持legged_gym中的部分地形, 包括: `wave, slope, rough_slope, stairs up, stairs down, obstacles, flat`, 除`flat`地形外其他地形可进行难度系数提升
2. 地面类型 (影响接触摩擦系数, 弹性摩擦系数), 包括: 橡胶地, 木地板, 瓷砖地
### 速度追踪
### 指标
目前在每个`env.step`后可度量的指标, 所有指标均要求**越大越好**, 目前支持:
| # | 指标名称 Metrics | 描述 | 包含的超参数 | 归一化系数 | 变化 |
| 1 | `dof_limits` | 关节超出软关节范围的大小 | 软关节范围阈值 | 总关节变化范围 | `1-x` |
| 2 | `lin_vel_err` | 线速度L2误差 | NA | 总线速度指令范围 | `1-x` |
| 3 | `ang_vel_err` | 角速度L2误差 | NA | 总角速度指令范围 | `1-x` |
| 4 | `base_height_std` | base高度变化方差 | NA | NA | `1-x` |
| 5 | `dof_power` | 电机耗能 | NA | 10 | `1-x` |
### 速度追踪目标
针对在虚实迁移中发现的问题, 整理指标内容如下:
| # | 指标 | 标准化范围 | 对应真机问题 | 地形 |
| # | 描述 | 标准化范围 | 对应真机问题 | 地形 |
| - | - | - | - | - |
| 1 | 关节出现极端值的比例 | 关节范围 | 移动时发生危险的高抬腿行为 | Any |
| 2 | 线速度与指令速度的L2误差 | 最大线速度指令 | 移动时可能无法达到指定速度 | Any |
| 3 | 角速度与指令速度的L2误差 | 最大角速度指令 | 移动时可能无法达到指定速度 | Any |
| 4 | base高度变化 | 固定高度 | 高速移动时机身存在趴低问题 | 平地 |
| 5 | 速度对角突变base高度变化 | 固定高度 | 速度发生对角突变时无法平衡 | 平地 |
| 6 | 高速移动急停稳定性 | 固定用时 | 楼梯上静止时, 关节不稳定 | Any |
| 4 | 高速移动/速度对角突变base高度变化 | 固定高度 | 高速移动时机身存在趴低问题, 速度发生对角突变时无法平衡 | 平地 |
| 5 | 高速移动急停稳定性 | 固定用时 | 楼梯上静止时, 关节不稳定 | Any |
总结速度最总目标如下:
| # | 目标名称 Goals | 描述 | reset条件 | 最大reset次数 |
| 1 | `max_velocity` | 单一维度的最大线/角速度 | 每次执行一个维度的指令 | 6 |
| 2 | `diagonal_velocity` | 对角线速度变化 | 每次执行一对对角指令 | 6 |
| 3 | `move_stance` | 全线速度移动急停 | 每次执行一个方向的指令, 再急停 | 6 |
1. `max_velocity`: 单一维度的最大线/角速度, 每次reset只执行单一指令
2. `digonal_velocity`: 对角线速度变化, 每次reset执行一对指令, 总reset
3. `move_stance`:
## 创建新任务
评测任务注册在[`tasks/__init__.py`](./robogauge/tasks/__init__.py)中完成, 包含四个部分: