本仓库是故障机器人队参加 2026 腾讯开悟四足机器人仿真比赛 D 赛道的决赛代码。最终成绩为总榜第二名,并获得 D 赛道一等奖。
agent_ppo/:主要提交方案,包含 PPO 训练、Actor-Critic 网络、观测处理、奖励函数和训练配置。agent_diy/:平台模板保留方案,作为对照与兼容入口。conf/:开悟平台项目级配置。docs/current_situations/:当前网络结构、奖励、PPO、配置和同步脚本说明。make_cloud_sync.py:生成云端同步脚本。cloud_sync.sh:由同步脚本生成器产出的平台上传脚本。
默认训练入口位于 agent_ppo/conf/conf.py:
Config.CURRENT = UnifiedTrackConfig当前方案面向 Track 决赛任务,训练配置为:
agent_ppo/conf/train_env_conf_track_unified_track.toml
核心设定:
- Track 长度:5 段。
- 地形顺序:
pyramid_slope、pyramid_slope_inv、pyramid_stairs、pyramid_stairs_inv、open_entry_maze。 - 单局时长:
120s。 - Actor 输入:
505维,包含proprio(45) + history(4×45) + height_scan(256) + goal(8) + nav(16)。 - Critic 输入:
340维,包含critic_proprio(60) + height_scan(256) + goal(8) + nav(16)。 - 动作空间:Unitree Go2 的
12维关节动作。 - 网络:分支编码
proprio/history/height_scan/goal/nav后融合,Actor 输出动作均值,Critic 输出 value。
本方案以 agent_ppo 为主线,在统一观测形状下兼容 Standard locomotion、Standard command-maze 补课和 Track 微调。Track 阶段使用真实目标点、导航扫描和局部状态机生成导航 command,同时保留台阶、倒台阶和迷宫脱困相关奖励。
训练重点:
- 用完整五段 Track 保持坡面、台阶、倒台阶和迷宫同时暴露。
- 用 5 帧 proprio 历史增强台阶接触和地形状态判断。
- 用
goal与nav特征处理目标方向、前方阻塞、左右开放度和 maze-like 信号。 - 用 maze entry gate、stair exit realign 和 maze escape 状态机控制低速转向与横移释放。
- PPO 核心保留 NaN/Inf 防护、KL 控制、梯度检查和监控上报。
生成同步脚本:
python3 make_cloud_sync.py同步范围:
agent_diyagent_ppoconf
云端执行流程按平台终端使用方式粘贴并运行 cloud_sync.sh。代码或 TOML 修改后,需要重新生成同步脚本,保证云端训练使用最新实现。
现状文档入口:
docs/current_situations/overview.mddocs/current_situations/configuration.mddocs/current_situations/network_architecture.mddocs/current_situations/reward_system.mddocs/current_situations/ppo_algorithm.mddocs/current_situations/sync_scripts.md
