3 步把策略送上真机:Unitree RL Gym 机器人强化学习实战

📅 发布时间:2026/10/20 1:12:56
3 步把策略送上真机:Unitree RL Gym 机器人强化学习实战
3 步把策略送上真机Unitree RL Gym 机器人强化学习实战【免费下载链接】unitree_rl_gym项目地址: https://gitcode.com/GitHub_Trending/un/unitree_rl_gymUnitree RL Gym 是宇树开源的机器人强化学习框架基于 Isaac Gym 仿真与 PPO 算法一套代码覆盖 Go2、G1、H1、H1_2 四款机型内置从训练、验证到 MuJoCo 仿真和真机部署的完整链路适合想入门机器人强化学习的新手开发者。这个仓库能做什么这个仓库要解决的问题很具体先在仿真里让机器人学会走路再把学好的策略搬去另一个仿真器交叉验证最后跑上真实机器人。四款机型的环境定义集中在 task 注册表训练命令通过--task参数切换不用改代码。完整流程是Train → Play → Sim2Sim → Sim2Real在 Isaac Gym 中用 PPO 训练策略用 Play 脚本回放验证部署到 MuJoCo确认策略没有背住某一个仿真器的特性再上真机。仓库附带每款机型的预训练模型不训练也能直接跑通后三步可以先走一遍完整链路再动手改。搭好环境启动第一次训练依赖比一般项目多因为要装物理仿真器。按 安装文档 准备好 Ubuntu 18.04、NVIDIA 显卡驱动 525 以上、Python 3.8 虚拟环境再装 PyTorch 2.3.1、Isaac Gym 和 rsl_rl。全部就绪后仓库本身只需两行git clone https://gitcode.com/GitHub_Trending/un/unitree_rl_gym cd unitree_rl_gym pip install -e .然后启动第一次训练python legged_gym/scripts/train.py --taskg1默认 4096 个环境并行legged_robot_config.py 中的num_envs物理计算全在 GPU 上训练速度取决于显存。模型按迭代号保存在logs/g1/下。加--headless可以关掉渲染窗口效率更高--max_iterations控制训练轮数G1 默认 10000 轮。用 Play 回放训练结果想确认策略真的学会了走路而不是奖励曲线好看而已跑一下python legged_gym/scripts/play.py --taskg1默认加载logs/g1下最近一次运行的最新模型也可以用--load_run和--checkpoint指定别的运行和迭代。窗口里会看到 G1 跟随内置的速度指令原地踏步或行走同时 Play 会把 Actor 网络导出到logs/g1/exported/policies普通 MLP 是policy_1.ptLSTM 网络是policy_lstm_1.pt。后面部署用的就是这份导出文件。进阶与定制奖励函数怎么调走路姿势不合预期——前倾、拖脚、身子晃都可以从 g1_config.py 的rewards.scales入手。每一项权重对应一种行为base_height -10.0惩罚躯干高度偏离 0.78mfeet_swing_height -20.0压制拖脚orientation管上身姿态。一次只动一项幅度先缩小到原来的几分之一重新训练对比效果比同时改一堆权重更容易定位问题。GPU 显存不够用怎么办训练 OOM 时最直接的旋钮是并行环境数--num_envs 1024能把显存占用降到约四分之一代价是单轮收集的经验变少、收敛稍慢。其次可以--sim_devicecpu把物理仿真挪到 CPU策略计算留在 GPU。control里的decimationG1 为 4是策略更新间隔的物理步数调小后控制更精细训练也更慢。换机器人型号怎么做想训练带机械手或其他构型的版本envs 目录下每款机型都是独立的一份配置复制 g1 目录改asset.file指向新 URDF同步修改init_state.default_joint_angles的关节名和env里的观测、动作维度。在 task 注册表 注册新名字后--task就能直接切换。把策略送上真机先做 Sim2Sim在 MuJoCo 里验证策略的可迁移性python deploy/deploy_mujoco/deploy_mujoco.py g1.yaml配置文件在deploy/deploy_mujoco/configs/默认policy_path指向预训练模型deploy/pre_train/g1/motion.pt换成自己训练的模型只需改成 Play 导出的policy_lstm_1.pt路径。MuJoCo 里能稳定走说明策略没有过拟合 Isaac Gym 的特性上真机才比较放心。真机部署前先按 实物部署指南 把机器人调进调试模式用网线直连电脑并记下网卡名然后执行python deploy/deploy_real/deploy_real.py enp3s0 g1.yaml第一个参数是网卡名用ifconfig查第二个是deploy/deploy_real/configs/下的配置。启动后机器人先进入零力矩状态按遥控器 start 键到位姿、A 键进入运动控制摇杆即可控制速度和转向。对推理延迟敏感的场景deploy/deploy_real/cpp_g1/里有一份 C 推理示例。常见问题Isaac Gym 窗口打不开、启动报错多为显卡驱动版本过低升级到 525 以上并用 Isaac Gym 自带 examples 的 1080 球下落示例验证安装是否成功。Play 加载模型后机器人立刻倒地先加载预训练模型跑一遍排除环境问题再检查是否改过奖励权重后没有重新训练就直接用了旧模型。MuJoCo 里的步态和 Isaac Gym 不一致检查 yaml 中kps、kds和各*_scale字段是否与训练配置一致g1.yaml 已和 g1_config.py 对齐任何偏差都会让策略的输入分布错位。下一步建议从 G1 起步先以零训练成本跑通 Play 加 MuJoCo 的完整链路熟悉观测与控制的闭环再用默认配置训练一版等奖励曲线稳定后逐个调整base_height和feet_swing_height的权重塑形步态。这个框架的价值在于每一步都有可验证的中间产物——训练有日志验证有 Play迁移有 MuJoCo——链路里每一环稳了真机部署就不会突然失控。【免费下载链接】unitree_rl_gym项目地址: https://gitcode.com/GitHub_Trending/un/unitree_rl_gym创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考