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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 基于 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
相关文章
|
6月前
|
数据采集 自然语言处理 算法
重塑虚实边界:智元机器人发布首个大语言模型驱动的开源仿真平台Genie Sim 3.0
智元机器人发布全球首个大语言模型驱动的开源仿真平台Genie Sim 3.0,基于NVIDIA Isaac Sim,实现高保真数字孪生环境,支持自然语言生成万级场景,分钟级构建与泛化。平台开源上万小时真实机器人作业数据集,覆盖200+任务,构建10万+场景评估体系,推动具身智能从研发到落地的全链路创新,助力开发者零硬件部署、高效训练与评测。
703 4
|
11月前
|
传感器 数据采集 算法
【免费开源】基于 STM32F4 的四轴飞行器设计与实现——从零开始到成功起飞(项目源码打包分享)
四轴飞行器作为一种低空、低成本的遥感平台,已经在多个领域展现出广泛的应用潜力。相比其他类型的飞行器,它在硬件上结构紧凑、安装方便,但在软件层面却充满挑战——从传感器数据融合到姿态解算,再到快速且稳定的控制算法,每一环节都需要精心设计,也正因此让四轴飞行器更具技术魅力。
1135 74
|
传感器 机器学习/深度学习 算法
Isaac Sim教程01 Isaac Sim介绍
这篇文章是Isaac Sim的入门教程,介绍了NVIDIA Omniverse平台上的Isaac Sim机器人仿真工具包。内容包括Isaac Sim的背景、特点、应用场景、架构和工作流程,以及近期的更新情况。Isaac Sim支持物理精确的仿真和合成数据集的创建,与ROS/ROS2兼容,并能模拟多种传感器数据,适用于机器人导航、操作应用、计算机视觉研究和数据集生成等多种场景。
3479 2
Isaac Sim教程01 Isaac Sim介绍
|
Ubuntu Linux 数据安全/隐私保护
使用zip命令在Ubuntu 20.04上进行文件夹压缩
要想成为压缩高手,你得多练练,把各种命令和参数搞熟,这样无论何时何地,只要需要,你都能迅速地把文件夹塞进那个虚拟的兜兜,轻松地带着它们走。
660 13
|
存储 传感器 缓存
Nvidia Isaac Sim安装与配置 入门教程 2024(2)
本文是Nvidia Isaac Sim安装与配置的入门教程,指导用户如何检查系统配置、安装Omniverse环境、配置Nucleus服务器、安装Isaac Sim软件包、设置命令行环境和编辑器环境,以及如何启动Isaac Sim仿真和加载机器人与环境。
7051 0
|
存储 机器人 API
Nvidia Isaac Sim图形界面 入门教程 2024(3)
本文是Nvidia Isaac Sim图形界面的入门教程,介绍了Isaac Sim GUI的界面组件、基本操作、物体和视角调整方法,并通过实例演示了如何创建和变换物体、构造铰接式物体以及调整环境和视角。
5495 2
|
人工智能 Docker 索引
推荐一个双语对照的 PDF 翻译工具的开源项目:PDFMathTranslate
今天给大家推荐一个**双语对照的 PDF 翻译工具**的开源项目:PDFMathTranslate 。
推荐一个双语对照的 PDF 翻译工具的开源项目:PDFMathTranslate
|
算法 数据可视化 机器人
Nvidia Isaac Sim搭建仿真环境 入门教程 2024(4)
本文是Nvidia Isaac Sim搭建仿真环境的入门教程,详细讲解了如何在Isaac Sim中创建物理场景、添加地面和光照、创建和配置仿真对象的物理属性、使用USD文件进行仿真场景的保存和引用,以及个人练习和相关物理概念的介绍。
5938 0
|
传感器 数据安全/隐私保护
基于双PI控制器结构的六步逆变器供电无刷直流电机调速simulink仿真
本课题基于双PI控制器结构,对六步逆变器供电的无刷直流电机(BLDCM)调速系统进行Simulink仿真。双PI控制器分别应用于速度环和电流环,以提高系统的稳定性和动态性能。六步换相逆变器通过控制六个功率晶体管的开关状态,实现电机的六步运行模式,确保平稳高效运转。系统使用MATLAB2022a进行建模与仿真,结果表明该方案能有效应对非线性特性,提升控制精度和响应速度,适用于高精度调速场合。

热门文章

最新文章