chore: release v0.0.1
This commit is contained in:
102
docs/source/zh_CN/user_guide/demo/dm_walker.md
Normal file
102
docs/source/zh_CN/user_guide/demo/dm_walker.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# 二维步行机器人训练示例
|
||||
|
||||
二维步行机器人(Walker2D)是基于 DeepMind Control Suite 的经典机器人控制任务,目标是通过控制机器人关节来实现站立、行走和奔跑。
|
||||
|
||||
```{video} /_static/videos/dm_walker.mp4
|
||||
:poster: _static/images/poster/dm_walker.jpg
|
||||
:nocontrols:
|
||||
:autoplay:
|
||||
:playsinline:
|
||||
:muted:
|
||||
:loop:
|
||||
:width: 100%
|
||||
```
|
||||
|
||||
## 任务描述
|
||||
|
||||
Walker2D 是一个二维平面的双足机器人,具有多个关节和执行器:
|
||||
|
||||
- **状态空间**:包括机器人各部位的旋转角度、角速度、躯干高度和速度等
|
||||
- **动作空间**:控制各个关节的力矩
|
||||
- **奖励函数**:主要由保持站立、前进速度等组成
|
||||
- **终止条件**:机器人摔倒或关节达到极限位置
|
||||
|
||||
### 三种任务模式
|
||||
|
||||
1. **dm-stander**: 静止站立任务 (move_speed = 0.0)
|
||||
|
||||
```bash
|
||||
uv run scripts/train.py --env dm-stander
|
||||
```
|
||||
|
||||
2. **dm-walker**: 行走任务 (move_speed = 1.0)
|
||||
|
||||
```bash
|
||||
uv run scripts/train.py --env dm-walker
|
||||
```
|
||||
|
||||
3. **dm-runner**: 奔跑任务 (move_speed = 5.0)
|
||||
|
||||
```bash
|
||||
uv run scripts/train.py --env dm-runner
|
||||
```
|
||||
|
||||
## 配置参数
|
||||
|
||||
### 环境配置
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class WalkerEnvCfg(EnvCfg):
|
||||
model_file: str = "walker.xml" # MJCF模型文件
|
||||
max_episode_seconds: float = 25.0 # 最大episode长度
|
||||
sim_dt: float = 0.0125 # 仿真时间步
|
||||
ctrl_dt: float = 0.025 # 控制时间步
|
||||
move_speed: float = 1.0 # 目标移动速度
|
||||
stand_height: float = 1.2 # 目标站立高度
|
||||
```
|
||||
|
||||
### 训练配置
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class WalkerRLCfg(BaseRLCfg):
|
||||
num_envs: int = 512 # 并行环境数量
|
||||
learning_rate: float = 3e-4 # 学习率
|
||||
batch_size: int = 512 # 批大小
|
||||
max_epochs: int = 1000 # 最大训练轮数
|
||||
```
|
||||
|
||||
## 奖励函数设计
|
||||
|
||||
Walker2D 的奖励函数由以下几个部分组成:
|
||||
|
||||
### 基础站立奖励
|
||||
|
||||
```python
|
||||
# 高度奖励:保持躯干在目标高度
|
||||
# 直立奖励:保持躯干直立
|
||||
```
|
||||
|
||||
### 移动奖励(行走和奔跑任务)
|
||||
|
||||
```python
|
||||
# 速度奖励:追踪目标速度
|
||||
# 总奖励 = 站立奖励 * 移动权重
|
||||
```
|
||||
|
||||
## 预期结果
|
||||
|
||||
1. **dm-stander**:
|
||||
|
||||
- 躯干高度保持在 1.0-1.4m 范围
|
||||
- 躯干直立角度偏差小于 15 度
|
||||
|
||||
2. **dm-walker**:
|
||||
|
||||
- 实际行走速度接近 1.0 m/s
|
||||
- 步态协调,无明显摔倒
|
||||
|
||||
3. **dm-runner**:
|
||||
- 奔跑速度达到 4.0-5.0 m/s
|
||||
- 出现飞行相(双脚同时离地)
|
||||
Reference in New Issue
Block a user