RTX5060+ubuntu22.04尝试宇树G1踩坑
参考的博客
https://blog.csdn.net/2502_92702253/article/details/155914049?spm=1001.2014.3001.5506
https://blog.csdn.net/weixin_50931401/article/details/156774318
md为啥别人这么顺利?????坏就坏在这个5060,性能不咋地还用最新版本的驱动。
经过两天折腾,终于把宇树的例子运行起来了。
核心成功要素:正确的 Python 版本、URDF 模型配上、环境变量集成、耐心处理依赖。
最大的坑:flatdict 和 isaacsim 的模块问题,以及 USD 模型的不完整。
最终成果:成功在 Isaac Sim 中训练并测试宇树 G1 机器人行走策略,环境完全打通。
安装双系统
开始说的好听,window可以用wsl,也安了,最后说训练必须使用物理机,经实验后发现wsl不支持isaac_gym可视化界面显示,虚拟机无法使用显卡。官方文档建议系统使用 ubuntu18/20,但有博主说安22的比较好,就安了22.04。
"虽然isaac_gym平台官方已停止维护,但经过实验发现,isaac_gym能在ubuntu22上正常使用。虽然宇树机器人G1
edu的开发板系统是ubuntu20,但在ubuntu22上训练好的模型可以迁移至宇树机器人G1
edu上。"原文链接:https://blog.csdn.net/weixin_50931401/article/details/156774318
先得在win11里压缩出来个地方才行,如果用两个盘分别压缩的,压缩出来的未分配区域还是不连着的,拉跨
直接用 150GB 未分配区域安装 Ubuntu,150 GB 对于 Ubuntu 系统 + 仿真环境 + 模型训练来说完全够用
安装过程就是制作一个u盘启动盘,准备:一个 8GB 或更大的 U 盘
- 下载Ubuntu 22.04 LTS 镜像 打开浏览器,访问:https://releases.ubuntu.com/22.04/ 点击下载 ubuntu-22.04.5-desktop-amd64.iso(约 5.7 GB)
- 下载 Rufus 工具 打开浏览器,访问:https://rufus.ie/zh/ 向下滚动,下载 rufus-4.6.exe 或最新版本(普通版即可) 三、制作启动 U 盘
- 插入 U 盘
将 U 盘插入电脑
注意:U 盘上所有数据都会被删除- 运行 Rufus
找到下载的 rufus-4.6.exe,右键点击 → 选择 "以管理员身份运行"- 配置 Rufus 选项 设置 设备 选择你的 U 盘(确认盘符正确) 引导类型选择 点击右侧 选择,找到并选中刚才下载的 Ubuntu ISO 文件 镜像选项 保持默认(标准 Windows 安装) 分区类型 GPT(因为你的磁盘是 GPT 分区表) 目标系统 UEFI(非
CSM) 卷标 可以改成 UBUNTU(方便识别) 文件系统 FAT32(默认) 簇大小 默认- 开始写入
点击底部的 "开始"
如果弹出提示"检测到 ISOHybrid 镜像",选择 "以 DD 镜像模式写入"(推荐)
确认 U 盘数据会被清除,点击确定
等待进度条走完(约 5-10 分钟)- 完成
看到状态显示 "就绪" 或 "完成" 后,关闭 Rufus
安全弹出 U 盘
重启电脑
进入 BIOS/UEFI 设置(开机时反复按 F2、Del 或 F12,具体看你的主板品牌)
设置 U 盘为第一启动项,这里值得注意的是:Secure Boot 问题:如果主板开启了 Secure Boot,进入BIOS界面,找到Secure Boot设置成disabled。这一步大部分是在用引导U盘装双系统的时候更改。我的还有些不同,主板要先把 OS Type 改成 Other OS 才能关,这个如果不关,后期装显卡驱动会弹窗让你输入密码,很麻烦。Fast Boot Disable(禁用) 避免启动时跳过 U 盘
跟着ai教程安装,没什么问题。
- 启动界面选择
从 U 盘启动后,会看到一个紫色/黑色菜单
选择 Try or Install Ubuntu(试用或安装 Ubuntu)
按 Enter- 选择语言
推荐选择 English(如果后续遇到问题,英文报错更容易搜索)
点击 Install Ubuntu- 键盘布局
默认即可,点击 Continue- 安装类型(最重要!)
选择 Something else(其他选项)------ 不要选"与 Windows 共存"
点击 Continue- 手动分区(对应你的磁盘布局) 你会看到一个分区列表,找到 150 GB 未分配 那一行(大小为 150000 MB 左右)。选中它,点击 + 创建分区: 分区 大小 类型 挂载点 说明 根分区 / 145 GB ext4 / 系统主分区 交换分区
swap 5 GB swap area 无 可选,内存不够时用 具体操作:
选中 150 GB 未分配 → 点击 +
大小填 145000 MB → 类型选 ext4 → 挂载点选 / → OK
再次选中剩余的 5000 MB 左右 → 点击 +
类型选 swap area → OK 重要:不要动 EFI 分区(100 MB)、C 盘、D 盘、E 盘等其他分区。- 安装引导器位置
页面底部 "Device for boot loader installation"(安装引导器的设备)
选择 Windows Boot Manager 所在的磁盘,通常是 /dev/sda 或 /dev/nvme0n1
不要选择分区(如 /dev/sda1、/dev/sda2),要选择整个磁盘- 继续安装
点击 Install Now
确认分区无误后,点击 Continue
选择时区:输入 Shanghai 或直接点击地图上的中国
设置用户名和密码- 等待安装完成
大约 10-15 分钟
安装完成后,点击 Restart Now
提示移除安装介质时,拔掉 U 盘,按 Enter
启动后黑屏
- 启动后黑屏
- 从 U 盘启动后,会看到一个紫色/黑色菜单
- 选择 Try or Install Ubuntu(试用或安装 Ubuntu)
- 按 Enter叮咚一下就黑屏了,没反应
说明 Ubuntu 内核在启动显卡时卡住了。这是因为 RTX 5060比较新,Ubuntu 22.04没驱动
重启电脑,从 U 盘启动
看到紫色/黑色菜单(有"Try or Install Ubuntu"那一屏)时,不要按回车
用方向键选中 "Try or Install Ubuntu"
按键盘上的 e 键(不是回车),进入编辑模式 二、添加 nomodeset 参数 你会看到一堆英文文本,找到以 linux 开头的那一行,类似: linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed
maybe-ubiquity quiet splash --- 用方向键把光标移到 quiet splash 后面,先加一个空格,然后输入:
nomodeset 改完后这一行末尾类似这样: ... quiet splash nomodeset --- 三、启动 按 Ctrl + X
或 F10 启动系统。这次应该能正常进入 Ubuntu 的试用/安装界面了。
安装合适的驱动
近来的第一件事情是装网,没有网络是寸步难行,台式机,还是校园网,就挺费尽的,需要用手机接上usb共享网络,
然后打开网页的豆包,注意你还没有输入法呢,**先用豆包或者deepseek手机版,打字拍照对话,电脑端也能显示,方便复制。**lspci | grep -i ethernet lspci | grep -i network ,看网卡型号,有线网卡是 Realtek RTL8125 2.5GbE,根据教程安网卡驱动就好。
更新软件源 bash sudo apt update 安装 RTL8125 有线网卡驱动 sudo apt install
build-essential dkms git -y git clone
https://github.com/awesometic/realtek-r8125-dkms.git cd
realtek-r8125-dkms sudo ./dkms-install.sh sudo modprobe r8125
插上网线,验证网络 ip a
安装中文输入法,都知道搜狗好用,之前也装过,要fcitx框架,麻烦,之前弄的不开心,现在就随便找一个凑合一下。第二步:安装中文输入法
Ubuntu 22.04 的默认源里确实没有 ibus-googlepinyin
包了。我们换一个肯定能装的方案:ibus-libpinyin(也是 ibus 框架,很好用)。 安装 ibus-libpinyin bash
sudo apt update sudo apt install ibus ibus-libpinyin -y
重启 ibus 并配置
ibus ibus restart
ibus-setup
在配置界面中:
点击 Input Method 标签
点击 Add 按钮
在搜索框输入 pinyin,选择 Intelligent Pinyin 或 Chinese (Intelligent Pinyin)
点击 Add 添加
关闭配置窗口
Can't connect to IBus 是因为 ibus 守护进程没有启动。我们手动启动它: 启动 ibus 并配置
- 启动 ibus 守护进程 bash
ibus-daemon -drx- 打开 ibus 配置界面 bash
ibus-setup
在配置界面中:
点击 Input Method 标签
点击 Add 按钮
搜索 pinyin,选择 Intelligent Pinyin
点击 Add 添加
关闭配置窗口- 让 ibus 开机自启 bash
echo "ibus-daemon -drx" >> ~/.bashrc source ~/.bashrc
训练都用英伟达的卡,在安装之前查好对应的驱动,这个就麻烦了,显卡驱动会对应cuda,对应pyrorch,又会对应python型号,对应项目用的对应的python,对不上就出问题,问ai不一定好用,还得是先问csdn。最后安的570和12.8,据说ubuntu自带一个软件更新驱动,不要用这个,反正我出问题了,还是去官网上安吧,双屏扩展重启电脑后生效,显卡驱动需要重启。

基础的东西就安装好了,可以安一个截图工具,这个方便截图文ai
真正的折磨
https://support.unitree.com/home/zh/rl_gym/setup
最开始想要跟着官方来进行安装,也看到有帖子是根据这个来的,没注意时间。这个可把我坑了,后面又找到了https://deepwiki.com/unitreerobotics/unitree_rl_lab/2-getting-started更新的安装教程,才意识到,应该还有更新的,就想去github找找,破ubuntu没有梯子,还上不了。但是至少知道了,宇树的程序已经升级了,可以配这个rtx5060了。

conda create -n unitree-rl python=3.11
PyTorch 和 IsaacGym 都在 conda 环境里,这里没用IsaacGym,因为过时了,他支持的python版本也低,就用了IsaacSim。
PyTorch
神经网络框架,用来定义、训练和运行神经网络 在 unitree_rl_gym 中,策略网络(Actor-Critic)就是用 PyTorch 定义的 训练时,PyTorch 负责计算梯度、更新网络参数IsaacGym
物理仿真环境,NVIDIA 开发 它提供了一个高性能的机器人仿真世界,可以同时跑数千个机器人并行训练 在 unitree_rl_gym 中,IsaacGym 负责: 模拟机器人物理运动(碰撞、摩擦、重力) 提供观测值(关节角度、速度、IMU 数据) 执行动作指令并返回新的状态和奖励

从官方网站上下载了Isaac Sim 5.1 ,这个软件里有很多机器人模型,默认的就能看到宇树的机器人模型。
有 Isaac Sim 5.1 ✅
有 Conda Python 3.11 ✅
有 G1 训练代码 ✅
pip 装依赖国内卡死 = 没反应,根据G1的代码(github最新版)的readme来安装。
环境准备 下载 Isaac Lab 2.3.0、unitree_rl_lab、unitree_model、unitree_ros 四个包并解压到 ~/Downloads。 创建独立的 Python 3.11 conda 环境(避免 base 环境的 3.13 兼容性问题)。 安装 Isaac Lab 使用 export PIP_INDEX_URL=阿里云镜像 代替 --pip-extra-args(避免脚本参数解析 bug)。 手动解决 flatdict 构建失败:通过 conda install -c conda-forge flatdict 安装,并修改 isaaclab/setup.py 移除 flatdict 依赖。 以可编辑模式安装 isaaclab 及其子包。 集成 Isaac Sim 运行 isaac-sim-standalone/setup_conda_env.sh 将 conda 环境与 Isaac Sim 绑定。 验证 import isaacsim 成功。 配置 G1 机器人模型 修改 unitree_rl_lab/assets/robots/unitree.py: 将 spawn 从 UnitreeUsdFileCfg(USD)改为 UnitreeUrdfFileCfg(URDF)。 设置 URDF 绝对路径:asset_path="/home/abc/Downloads/unitree_ros/robots/g1_description/g1_29dof.urdf"。 保留所有 actuators、init_state 参数,删除重复的 spawn 定义。 训练与测试 训练:./unitree_rl_lab.sh -t --task Unitree-G1-29dof-Velocity 测试:./unitree_rl_lab.sh -p --task Unitree-G1-29dof-Velocity --load_run 运行目录 修复 play.py 中缺失的 pretrained_checkpoint 模块(注释掉第 59 行导入)。
常见的注意事项,虚拟环境里安装,注意python版本,依次安装安装包
训练
📝 操作步骤
用文本编辑器打开文件: bashgedit
~/Downloads/unitree_rl_lab-main/source/unitree_rl_lab/unitree_rl_lab/assets/robots/unitree.py
找到 UNITREE_G1_29DOF_CFG = UnitreeArticulationCfg( 这一行,一直选中到对应的结束括号
)(注意可能是多行),然后粘贴上面的完整替换内容。
保存文件。
清理 Python 缓存: bash
find ~/Downloads/unitree_rl_lab-main -type d -name "pycache " -exec
rm -rf {} + 2>/dev/null
重新运行训练: bash
cd ~/Downloads/unitree_rl_lab-main ./unitree_rl_lab.sh -t --task
Unitree-G1-29dof-Velocity
测试
📌 如果实在找不到模型文件,可以尝试不带 --checkpoint 参数,让脚本自动查找 bash
./unitree_rl_lab.sh -p --task Unitree-G1-29dof-Velocity --load_run
2026-04-03_04-35-15
这样会使用 get_checkpoint_path 函数从日志目录中查找模型文件。


ModuleNotFoundError: No module named 'isaacsim'
先激活环境,然后再source ~/Downloads/isaac-sim-standalone-5.1.0-linux-x86_64/setup_conda_env.sh就好了
自信的笨蛋ai
豆包和deepseek一会儿聪明,一会儿傻,: 🆘 我彻底看懂了!你现在的环境已经彻底救不回来了!----实际不用重现安 🎉 跑完直接成功!G1 机器人走路!这是最后、唯一、正确的方法-----扯蛋成功不了 实际当一个ai总是说不对,原地打转时,换一个。 不要随意更改文件 ai可能信息不及时,不是最新的,你得找到最新的,发给他。 不要将输出直接给ai他看不懂,最好加几个解说,或者提问,他就变聪明了