Mini Pi强化学习baseline技术文档
本文档介绍了一个基于 NVIDIA Isaac Gym 的强化学习环境。Pi_rl_baseline 是一个面向高擎机电双足机器人 Mini Pi 的 sim2sim 框架,支持从 Isaac Gym 到 Mujoco 的策略迁移。该框架使用户能够在不同的物理引擎中验证训练得到的策略,从而评估其稳健性与泛化能力。
建议结合高擎开源项目 https://github.com/HighTorque-Robotics/livelybot_pi_rl_baseline 的 README 一同学习,以获得更完整的理解。
以下是高擎机电强化学习入门教学
适合用于向初学者展示如何基于仿真环境训练和迁移策略。
-
自行安装miniconda或Anaconda
-
创建一个虚拟环境
conda create -n pi_env python=3.8
-
查看Nvidia显卡驱动
在命令行中使用命令 nvidia-smi以查看驱动的CUDA版本,可以看到CUDA版本为12.8,驱动版本为570
-
激活创建的conda环境
conda activate pi_env
-
安装PyTorch
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
(所选择的 CUDA 版本要小于等于电脑安装的版本,这里选择的是CUDA 12.4)
-
使用conda安装numpy
conda install numpy=1.23
-
安装 Isaac Gym
在Nvidia官网下载并安装 Isaac Gym Preview 4(注意:仅支持Ubuntu18.04或20.04)
![]() |
![]() |
-
提取到主目录
将下载下来的Isaac_Gym_Preview_4_package提取到主目录下,并将子文件夹下的isaacgym包剪切到主目录下;
-
进入 isaacgym的包中进行安装
- 先输入cd isaacgym/python
- 再输入pip install -e .
-
测试环境安装是否成功
- 先输入:cd examples
- 然后输入python 1080_balls_of_solitude.py
如看到下图所示页面,则说明环境安装成功。
-
下载pi_rl_baseline的zip包
下载成功后将提取到主目录下,点进livelybot_pi_rl_baseline-release_v1.0.0(1)中,将livelybot_pi_rl_baseline-release_v1.0.0剪切到主目录下;
-
以开发模式安装当前项目
- 先输入cd livelybot_pi_rl_baseline-release_v1.0.0
- 再输入pip install -e .(注意:这里的‘.‘一定要加上)
最后会出现successfully installed一系列依赖配置成功。
-
使用 4096 个环境,并以“v1”为训练版本进行 PPO policy 训练
- 首先输入cd humanoid
- 再次输入python scripts/train.py –task=pai_ppo –run_name v1 –headless –num_envs 4096,如果出现下图所示界面则说明正在以“v1”为训练版本进行 PPO policy 训练。
注意:这里会弹出wandb注册网站进行帐户注册(wandb在Isaac Gym中用于实验跟踪、超参数记录、训练指标可视化的奖励曲线)
-
评估训练好的policy,自动导出适合部署目的的 JIT 模型
- 先下载onnx包:pip install onnx
- 然后再输入python scripts/play.py –task=pai_ppo –run_name v1,可以在/home/sunteng/livelybot_pi_rl_baseline-release_v1.0.0/logs/Pai_ppo/exported/policies下看到onnx
-
通过使用Mujoco实现sim2sim
python scripts/sim2sim.py –load_model /path/to/logs/Pai_ppo/exported/policies/policy_torch.pt(注意:这里的/path/to替换为logs上一级文件夹的路径)
如运行成功,即可看到下图所示mujoco场景:
-
运行高擎提供的训练好的policy_example
python scripts/sim2sim.py –load_model /path/to/logs/Pai_ppo/exported/policies/policy_example.pt(注意:这里的/path/to替换为logs上一级文件夹的路径)
到这里,基本的强化学习baseline教学就结束了,您可以在仿真环境中调试属于自己的机器人。
常见问题及解决方案:
- 创建环境到IssacGym训练阶段
问题1: IssacGym包进入不了?
- 请确保使用04系统
- 进行安装输入命令pip install -e . 时请注意右下角的不要漏掉
- Sim2Sim阶段
问题1:sim2sim模型加载错误?
- 确保正确的模型加载路径:当我们通过使用Mujoco实现sim2sim的时候,我们需要指定正确的模型加载路径,需要将命令中的python scripts/sim2sim.py –load_model /path/to/logs/Pai_ppo/exported/policies/policy_torch.pt中的/path/to替换为logs上一级文件夹的路径。
例如:进入主目录下的livelbot_pi_rl_baseline-release_v1.0.0文件下,找到logs文件夹,右键打开logs文件,找到属性点开,复制“上级文件夹”右边的路径;随后,打开终端,先复制粘贴命令python scripts/sim2sim.py –load_model/path/to/logs/Pai_ppo/exported/policies/policy_torch.pt,然后将/path/to更换为复制的路径
问题2:在服务器上进行sim2sim时发现FPS只有个位数?
- 确保正确调用GPU,需要在livelybot_pi_rl_baseline/humanoid/scripts下的py文件代码段增加下图代码:
问题3:在Mujuco中如果遇到训练的机器人无法进行移动?
- 可以在github仓库中重新下载一遍sim2sim文件后,尝试重新配置环境进行解决
如需更多技术支持,请致电:+86-18144897433或微信添加:GQJD2022。