机器人在动态表面上行走的强化学习研究
机器人在动态表面上行走的强化学习研究
项目概述
本项目通过强化学习训练腿型机器人学会在两种环境下行走:
- 静态地面:常规的平坦地面
- 动态地面:使用真实传感器数据生成的"摇晃"地板,模拟复杂环境变化
项目比较多种RL算法在这两种环境中的表现,并分析模拟与现实之间的差距(sim-to-real gap)。
项目特点
- 多算法支持:PPO、SAC、TD3、DDPG
- 真实数据驱动:基于IMU/陀螺仪数据的动态地面模拟
- 全面分析:性能比较、稳定性分析、sim-to-real gap研究
- 迁移学习:从静态环境预训练模型开始动态环境适应
- 可视化报告:自动生成训练报告和性能图表
环境要求
Python版本
- Python 3.8+
主要依赖
```bash
pip install -r requirements.txt
核心依赖包括:
- `pybullet>=3.2.5` - 物理仿真
- `stable-baselines3>=2.0.0` - 强化学习算法
- `torch>=1.12.0` - 深度学习框架
- `gym>=0.21.0` - 强化学习环境
- `numpy`, `matplotlib`, `pandas` - 数据处理和可视化
快速开始
1. 安装依赖
```bash
pip install -r requirements.txt
2. 运行演示模式(推荐首次使用)
```bash
python main.py --mode demo
3. 运行完整实验
```bash
python main.py --mode full
4. 自定义实验
```bash
python main.py --mode custom --algorithms PPO SAC --phase1_timesteps 100000 --phase2_timesteps 50000
项目结构
```
.
├── main.py # 主运行脚本