Update README

This commit is contained in:
wty-yy
2026-03-26 20:21:29 +08:00
parent 1ab6c58fd1
commit 1491833f26
2 changed files with 58 additions and 58 deletions

View File

@@ -1,9 +1,9 @@
<div align="center">
<h1 align="center">RoboGauge</h1>
<p align="center">
<span>🌎 English</span> | <a href="README_zh.md">🇨🇳 中文</a>
</p>
<h1 align="center">RoboGauge</h1>
<p align="center">
<span>🌎 English</span> | <a href="README_zh.md">🇨🇳 中文</a>
</p>
</div>
This repository provides a suite of **motion-control evaluation for reinforcement-learning locomotion policies**. The goal is to measure the following aspects of a policy, so we can partially predict Sim2Real performance and reduce the risk of damaging real hardware:
@@ -17,22 +17,22 @@ The evaluation is automated with MuJoCo and implemented fully in Python.
Demo of the evaluation process (4 terrains, 2 difficulty levels):
<table style="width: 100%; text-align: center;">
<tr>
<td><b>Wave</b></td>
<td><b>Slope</b></td>
</tr>
<tr>
<td><img src="https://raw.githubusercontent.com/robogauge/picture-bed/refs/heads/main/robogague/robogauge_wave.gif" width="100%"></td>
<td><img src="https://raw.githubusercontent.com/robogauge/picture-bed/refs/heads/main/robogague/robogauge_slope.gif" width="100%"></td>
</tr>
<tr>
<td><b>Stairs</b></td>
<td><b>Obstacles</b></td>
</tr>
<tr>
<td><img src="https://raw.githubusercontent.com/robogauge/picture-bed/refs/heads/main/robogague/robogauge_stairs.gif" width="100%"></td>
<td><img src="https://raw.githubusercontent.com/robogauge/picture-bed/refs/heads/main/robogague/robogauge_obstaces.gif" width="100%"></td>
</tr>
<tr>
<td><b>Wave</b></td>
<td><b>Slope</b></td>
</tr>
<tr>
<td><img src="https://raw.githubusercontent.com/robogauge/picture-bed/refs/heads/main/robogague/robogauge_wave.gif" width="100%"></td>
<td><img src="https://raw.githubusercontent.com/robogauge/picture-bed/refs/heads/main/robogague/robogauge_slope.gif" width="100%"></td>
</tr>
<tr>
<td><b>Stairs</b></td>
<td><b>Obstacles</b></td>
</tr>
<tr>
<td><img src="https://raw.githubusercontent.com/robogauge/picture-bed/refs/heads/main/robogague/robogauge_stairs.gif" width="100%"></td>
<td><img src="https://raw.githubusercontent.com/robogauge/picture-bed/refs/heads/main/robogague/robogauge_obstaces.gif" width="100%"></td>
</tr>
</table>
## Supported Robots
@@ -78,22 +78,22 @@ from robogauge.scripts.client import RoboGaugeClient
# Create client and submit a test task
client = RoboGaugeClient(f"http://127.0.0.1:9973")
task_id = client.submit_task(
model_path=test_payload["model_path"],
step=test_payload["step"],
task_name=test_payload["task_name"],
experiment_name=test_payload["experiment_name"],
wait_for_server=True
model_path=test_payload["model_path"],
step=test_payload["step"],
task_name=test_payload["task_name"],
experiment_name=test_payload["experiment_name"],
wait_for_server=True
)
# Monitor task status and get results
while True:
client.monitor_tasks()
for task_id, resp in client.response_data.items():
scores = resp['results']['scores']
print("[RoboGaugeClient]📊 Scores:")
print(json.dumps(scores, indent=2, ensure_ascii=False))
client.response_data.clear()
time.sleep(5)
client.monitor_tasks()
for task_id, resp in client.response_data.items():
scores = resp['results']['scores']
print("[RoboGaugeClient]📊 Scores:")
print(json.dumps(scores, indent=2, ensure_ascii=False))
client.response_data.clear()
time.sleep(5)
```
Example integration: `update_robogauge` in [`go2_rl_gym - on_policy_runner.py`](https://github.com/wty-yy/go2_rl_gym/blob/f9024e807758d497445857a21dce3b266876f375/rsl_rl/rsl_rl/runners/on_policy_runner.py#L252)
@@ -188,18 +188,18 @@ Create a new robot implementation and control-model configuration under `robogau
## Directory Structure
- `robogauge/`: core Python package
- `robogauge/scripts/`: runnable entry scripts (run evaluation / start server)
- `robogauge/tasks/`: task system (sim config + metrics/scenes + robot + scheduling)
- `robogauge/tasks/pipeline/`: scheduling & execution layer (lifecycle, DR, parallel seeds, aggregation)
- `robogauge/tasks/gauge/`: gauge layer (command generation, metric computation, result aggregation)
- `robogauge/tasks/robots/`: robot adapters (obs/action, joint mapping, model loading, control rate)
- `robogauge/tasks/simulator/`: simulator wrappers / environment interfaces (MuJoCo integration, stepping, state access)
- `robogauge/tasks/custom/`: project-specific extensions and custom tasks
- `robogauge/utils/`: utilities (logging, config/file helpers, stats, math)
- `robogauge/scripts/`: runnable entry scripts (run evaluation / start server)
- `robogauge/tasks/`: task system (sim config + metrics/scenes + robot + scheduling)
- `robogauge/tasks/pipeline/`: scheduling & execution layer (lifecycle, DR, parallel seeds, aggregation)
- `robogauge/tasks/gauge/`: gauge layer (command generation, metric computation, result aggregation)
- `robogauge/tasks/robots/`: robot adapters (obs/action, joint mapping, model loading, control rate)
- `robogauge/tasks/simulator/`: simulator wrappers / environment interfaces (MuJoCo integration, stepping, state access)
- `robogauge/tasks/custom/`: project-specific extensions and custom tasks
- `robogauge/utils/`: utilities (logging, config/file helpers, stats, math)
- `resources/`: simulation static assets
- `resources/robots/`: robot assets (XML / meshes / textures), organized by robot type
- `resources/terrains/`: terrain assets (e.g., `flat.xml`, slope/stairs/wave/obstacle variants)
- `resources/models/`: policy/model resources
- `resources/robots/`: robot assets (XML / meshes / textures), organized by robot type
- `resources/terrains/`: terrain assets (e.g., `flat.xml`, slope/stairs/wave/obstacle variants)
- `resources/models/`: policy/model resources
- `assets/`: documentation assets
- `scripts/`: helper shell scripts for running experiments

View File

@@ -1,8 +1,8 @@
<div align="center">
<h1 align="center">RoboGauge</h1>
<p align="center">
<a href="README.md">🌎 English</a> | <span>🇨🇳 中文</span>
</p>
<h1 align="center">RoboGauge</h1>
<p align="center">
<a href="README.md">🌎 English</a> | <span>🇨🇳 中文</span>
</p>
</div>
本仓库提供一系列**强化学习训练的运动控制模型指标**, 目标是衡量模型的以下信息, 从而能一定程度预测模型Sim2Real的结果, 避免损坏真机:
@@ -164,19 +164,19 @@ while True:
## 目录结构
- `robogauge/`:核心 Python 包
- `robogauge/scripts/`:可执行入口脚本(运行评测 / 启动服务端)
- `robogauge/tasks/`:任务系统(仿真配置 + 指标/场景 + 机器人 + 调度执行)
- `robogauge/tasks/pipeline/`:调度与执行层(生命周期、域随机化、多 seed 并行、结果聚合)
- `robogauge/tasks/gauge/`:指标层(指令生成、指标计算、结果汇总)
- `robogauge/tasks/robots/`:机器人适配层(观测/动作、关节映射、模型加载、控制频率)
- `robogauge/tasks/simulator/`:仿真器封装 / 环境接口MuJoCo 集成、step、状态读取等
- `robogauge/tasks/custom/`:项目自定义扩展与自定义任务
- `robogauge/utils/`:工具库(日志、配置/文件处理、统计、数学工具)
- `robogauge/scripts/`:可执行入口脚本(运行评测 / 启动服务端)
- `robogauge/tasks/`:任务系统(仿真配置 + 指标/场景 + 机器人 + 调度执行)
- `robogauge/tasks/pipeline/`:调度与执行层(生命周期、域随机化、多 seed 并行、结果聚合)
- `robogauge/tasks/gauge/`:指标层(指令生成、指标计算、结果汇总)
- `robogauge/tasks/robots/`:机器人适配层(观测/动作、关节映射、模型加载、控制频率)
- `robogauge/tasks/simulator/`:仿真器封装 / 环境接口MuJoCo 集成、step、状态读取等
- `robogauge/tasks/custom/`:项目自定义扩展与自定义任务
- `robogauge/utils/`:工具库(日志、配置/文件处理、统计、数学工具)
- `resources/`:仿真静态资源
- `resources/robots/`机器人资源XML / mesh / 纹理等),按机器人型号组织
- `resources/terrains/`:地形资源(如 `flat.xml`、slope/stairs/wave/obstacle 等)
- `resources/models/`:策略/模型资源
- `resources/robots/`机器人资源XML / mesh / 纹理等),按机器人型号组织
- `resources/terrains/`:地形资源(如 `flat.xml`、slope/stairs/wave/obstacle 等)
- `resources/models/`:策略/模型资源
- `assets/`:文档资源
- `scripts/`:实验运行的辅助 shell 脚本