基于 Isaac Lab 的 Unitree Go2 四足机器人RL控制项目

简介: 基于 NVIDIA Isaac Lab 的 Unitree Go2 四足机器人强化学习工程已整理开源。项目包含 Task1 平地速度跟踪、Task2 多地形运动、Task3 自主导航避障、Task4 Sim2Real / RMA 抗扰训练,统一使用 skrl PPO,并提供 Ubuntu / Windows 脚本、world/env 测试、smoke training、日志与 checkpoint 管理。适合参考 Isaac Lab 四足机器人训练流程。具体内容请参考github链接进行阅读。
  1. 项目概述
    整理了一个基于 NVIDIA Isaac Lab 的 Unitree Go2 四足机器人强化学习开源工程。Isaac Lab 基于 Isaac Sim,适合构建高并发机器人强化学习环境;Unitree Go2 是 12 自由度四足机器人,适合作为 locomotion、复杂地形运动、导航避障和 Sim2Real 研究对象。项目围绕 Go2 构建了四个递进任务:Task1 平地速度跟踪、Task2 多地形运动、Task3 自主导航与避障、Task4 Sim2Real / RMA 抗扰训练。
    项目重点不是给出一个固定的最终策略,而是把一个四足机器人强化学习工程从配置、环境、世界模型、训练、测试、评估、日志和 checkpoint 管理等环节拆清楚,形成可以继续复现、修改和扩展的基础框架。
  2. 工程结构
    工程采用较清晰的模块化组织方式。configs/ 保存任务配置和平台示例配置;scripts/ubuntu/scripts/windows/ 分别保存两个系统下的 check、test、smoke、train、eval、visualize 脚本;src/go2_rl/common/ 保存 skrl 模型、frame stack wrapper、checkpoint、normalizer、日志进度和路径解析等公共工具;src/go2_rl/tasks/ 保存四个任务的核心代码;tests/ 保存 world 和 env 测试;docs/ 保存任务设计、训练说明、路径配置、验证记录和故障排查文档。
    当前 active 脚本命名保持统一:Ubuntu 使用 .sh,Windows 使用 .ps1,并且每个任务都尽量保持相同的控制入口,例如 smoke_task1smoke_task4train_task1train_task4eval_task1eval_task4。这样在不同系统和不同任务之间切换时,命令结构比较一致。
  3. 四个任务
    Task1 是平地速度跟踪任务,动作维度为 12,actor observation 为 87 维,主要训练 Go2 的基础站立、行走和速度跟踪能力。Task2 在 Task1 基础上加入多地形课程学习,包含 rough flat、slopes、stepping stones 和 stairs,actor observation 为 87 维,privileged observation 为 178 维,其中 terrain privileged tail 为 91 维。
    Task3 加入解析导航世界,使用目标点、静态 / 动态障碍物、60 维 lidar 和 risk features 训练导航避障能力。Task3 单帧 actor observation 为 208 维,5 帧堆叠后 actor input 为 1040 维,world privileged tail 为 68 维,critic input 为 1108 维。Task4 面向 Sim2Real / RMA teacher 训练,teacher_obs = actor_history + privileged_obs = 240 + 25 = 265,扰动包括摩擦、负载、重心偏移、电机强度变化和外力扰动。
  4. 测试与验证
    项目提供 Ubuntu 端 world 测试、env 测试和 smoke training。world 测试用于验证 Task2 的 terrain / curriculum 逻辑,以及 Task3 的目标、障碍物、lidar、risk features 和 termination 逻辑。env 测试用于验证 IsaacLab 环境构建、reset / step API、观测维度、动作维度、reward / info 输出和数值稳定性。smoke training 用于确认训练入口、日志写入、checkpoint 保存和训练循环能够正常启动。
    bash scripts/ubuntu/test_task2_world.sh
    bash scripts/ubuntu/test_task3_world.sh
    bash scripts/ubuntu/test_task1_env.sh
    bash scripts/ubuntu/test_task2_env.sh
    bash scripts/ubuntu/test_task3_env.sh
    bash scripts/ubuntu/test_task4_env.sh
    bash scripts/ubuntu/smoke_task1.sh
    bash scripts/ubuntu/smoke_task2.sh
    bash scripts/ubuntu/smoke_task3.sh
    bash scripts/ubuntu/smoke_task4.sh
  5. 训练与评估
    推荐训练顺序是先训练 Task1,获得基础 locomotion checkpoint;Task2 从 Task1 warm-start,学习多地形运动;Task3 从 Task1 或 Task2 warm-start,学习目标导航与避障;Task4 从 Task2 warm-start,训练 RMA teacher policy。
    bash scripts/ubuntu/train_task1.sh
    bash scripts/ubuntu/train_task2.sh logs/task1//final_checkpoint/go2_task1_model.pt
    bash scripts/ubuntu/train_task3.sh logs/task2//final_checkpoint/go2_task2_model.pt
    bash scripts/ubuntu/train_task4.sh logs/task2//final_checkpoint/go2_task2_model.pt
    训练日志默认保存在 logs/task1/logs/task4/,每个 run 通常包含中间 checkpoint、final checkpoint 和训练元数据。训练过程中会输出 env steps、FPS、reward、速度、高度、接触、摔倒率、成功率、碰撞率、terrain level 等信息,便于观察训练状态。
  6. 项目链接
    GitHub:https://github.com/0324Lw/NVIDIA--Isaac-Lab-Unitree_Go2-control
    项目适合参考 Isaac Lab 下四足机器人强化学习工程的组织方式,包括任务拆分、脚本入口、测试流程、训练日志管理和 checkpoint 管理。后续仍可继续扩展 student policy、RMA adaptation module、更多导航场景、更复杂地形和真机部署接口。
    4.png
    5.png
    3.png
    2.png
相关文章
|
2月前
|
人工智能 缓存 API
CC-Switch 完全上手教程:从供应商切换器到 AI CLI 一体化管理平台
CC-Switch 是一款开源跨平台AI编程工具总控台,支持Windows/macOS/Linux,一键统一管理Claude Code、Codex、Gemini CLI等工具的API供应商、MCP服务器、Skills扩展及系统提示词,告别手动修改配置文件的繁琐与错误。
CC-Switch 完全上手教程:从供应商切换器到 AI CLI 一体化管理平台
|
8月前
|
人工智能 图形学 异构计算
阿里云GPU服务器NVIDIA L20 GPU卡收费价格,GPU计算型gn8is实例规格族2026年最新整理
阿里云GPU服务器gn8is实例搭载NVIDIA L20卡,单卡48GB显存,支持FP8加速,专为30B–70B大模型推理与图形处理优化。2026年最新月付价:6919元起(8核64G+1卡),最高55354元(128核1024G+8卡)。
2510 1
|
2月前
|
安全 Linux API
在 OpenCode 中接入本地模型:Ollama 部署与配置完全指南
OpenCode火爆GitHub(17万星),但配置模型常卡壳。本文直击痛点,手把手教你15分钟用Ollama本地部署Qwen/Llama/CodeLlama等开源模型,并完成OpenCode对接——零API密钥、全离线运行,安全高效适配敏感开发场景。
|
运维 数据可视化 网络协议
Docker可视化工具Portainer的安装和使用
Docker可视化工具Portainer的安装和使用
17810 1
Docker可视化工具Portainer的安装和使用
|
6月前
|
人工智能 前端开发 JavaScript
JeecgBoot低代码平台 Qiankun 微前端集成指南:主应用配置全流程
当 JeecgBoot低代码项目发展到一定规模,单体前端的弊端开始显现:模块耦合严重、构建时间激增、团队协作困难。微前端架构允许将不同业务模块拆分为独立的子应用,各自开发、独立部署,通过 Qiankun 框架在运行时动态组合。 本文聚焦于如何将 JeecgBoot-Vue3 配置为 Qiankun 微前端的主应用(基座),接管路由分发和子应用生命周期管理。 在 JeecgBoot低代码主应用项目中安装 Qiankun:
326 3
|
9月前
|
传感器 机器人 物联网
酒店递送机器人深度技术解析与解决方案选型指南
随着酒店数字化转型,服务机器人已成运营刚需,承担配送、引领等任务。依托语义SLAM、跨楼层自主通行、大模型交互与智能调度等技术,实现在复杂环境中的高效运行。猎户星空、云迹、擎朗、普渡等品牌各具优势,推动酒店智能化迈向新阶段。(239字)
|
11月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
2320 5
|
传感器 机器学习/深度学习 算法
Isaac Sim教程01 Isaac Sim介绍
这篇文章是Isaac Sim的入门教程,介绍了NVIDIA Omniverse平台上的Isaac Sim机器人仿真工具包。内容包括Isaac Sim的背景、特点、应用场景、架构和工作流程,以及近期的更新情况。Isaac Sim支持物理精确的仿真和合成数据集的创建,与ROS/ROS2兼容,并能模拟多种传感器数据,适用于机器人导航、操作应用、计算机视觉研究和数据集生成等多种场景。
3686 2
Isaac Sim教程01 Isaac Sim介绍
|
机器学习/深度学习 传感器 算法
强化学习(RL)从虚拟训练到实车部署的全流程
强化学习(RL)从虚拟训练到实车部署的全流程
1925 0