Skip to main content

Standalone RSL-RL bridge package for OrcaLab and OrcaGym.

Project description

OrcaLocomotion

OrcaLocomotion 是 OrcaLab 的训练扩展组件,支持训练 Unitree 机器人的运动控制策略, 并可在 OrcaLab 中播放训练好的策略。

仿真 实机
OrcaLocomotion simulation preview OrcaLocomotion physical preview

支持的任务

任务 训练 OrcaLab 回放
Unitree-Go2-Flat Unitree/mjlab orca_rl.run_play
Unitree-Go2-Rough Unitree/mjlab orca_rl.run_play
Unitree-G1-Flat Unitree/mjlab orca_rl.run_play

安装

推荐使用 Ubuntu 22.04 + NVIDIA GPU 进行训练。仅在 OrcaLab 中回放策略时需要显示器。

git clone https://github.com/openverse-orca/OrcaLocomotion.git

# 编译 C++ 扩展所需的系统依赖
sudo apt install -y libyaml-cpp-dev libboost-all-dev libeigen3-dev libspdlog-dev libfmt-dev

# 创建并激活 OrcaLab Python 3.12 环境
conda create -n orcalab python=3.12
conda activate orcalab

# 进入刚下载的 OrcaLocomotion 仓库根目录
cd OrcaLocomotion
pip install --no-deps mjlab==1.2.0
pip install -r requirements.txt

OrcaLab 前置条件: 回放需要在 OrcaLab 中订阅 unitree_robots 资产。 本项目使用的 GO2 和 G1 机器人预制件均来自该资产包。

训练

使用基于 mjlab 项目进行训练。以下命令以无头模式运行 mjlab 训练器, checkpoint 写入 mjlab_rl/logs/rsl_rl/

cd mjlab_rl
python scripts/train.py Unitree-Go2-Flat --env.scene.num-envs=4096
python scripts/train.py Unitree-Go2-Rough --env.scene.num-envs=4096
python scripts/train.py Unitree-G1-Flat --env.scene.num-envs=4096

训练产出的 checkpoint 可用于 OrcaLocomotion 回放。

回放

启动 OrcaLab 后,依次选择 运行 -> 开始模拟 -> 无仿真程序启动 -> 启动。 然后在仓库根目录运行回放命令:

python -m orca_rl.run_play --config Unitree-Go2-Flat --checkpoint <checkpoint.pt>
python -m orca_rl.run_play --config Unitree-Go2-Rough --checkpoint <checkpoint.pt>
python -m orca_rl.run_play --config Unitree-G1-Flat --checkpoint <checkpoint.pt>

使用 Unitree/mjlab 训练步骤产出的 checkpoint。

注意: Unitree-Go2-Rough 需要在 OrcaLab 中订阅地形资产。如需导入额外资产, 请 提交 issue

资产

Unitree-Go2-Rough 在 OrcaLab scene 回放时会默认发布这个粗糙地形可视化资产:

assets/e071469a36d3c8aa/test_terrain/prefabs/terrain_usda

也可以使用另一个 5x5 地形资产:

assets/e071469a36d3c8aa/terrain_5x5/prefabs/terrain_usda

必须订阅地形渲染资产: 在 Orca 云端资产管理平台订阅 OrcaPrimitiveTerrainXmlMjlabRough5x5xml_20260527。 它们是两个地形高度图对应的渲染资产。

如果导入了自己的 OrcaLab 地形资产,需要在 python -m orca_rl.run_play 中通过 --rough-terrain-asset <orca_asset_path> 改成新的 spawnable asset 路径;必要时也可以用 --rough-terrain-actor <actor_name> 改发布到 scene 里的 actor 名称。

仓库中同时保留了对应的 rough 地形 XML 源文件,便于检查或重新导入资产:

资产 用途
assets/terrain/mjlab_rough_5x5_xml/terrain.xml Go2 粗糙地形回放

致谢

训练任务和机器人资产参考 unitree_rl_mjlab 项目构建,并使用 mujocolab/mjlab 作为训练后端。 用户可自行选择基于 mjlab 的第三方扩展项目。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orca_locomotion-0.1.0.tar.gz (88.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orca_locomotion-0.1.0-py3-none-any.whl (88.7 MB view details)

Uploaded Python 3

File details

Details for the file orca_locomotion-0.1.0.tar.gz.

File metadata

  • Download URL: orca_locomotion-0.1.0.tar.gz
  • Upload date:
  • Size: 88.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for orca_locomotion-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1cb49e55ea55fade5cd919b337fbbf401ee222fbdcfbc2339114153339f4c519
MD5 7c9fa578d710ca3c3b6f248bb654e1d6
BLAKE2b-256 f2bcd092a2b32b4fb3add579bb85c35cc41635ef44ed510840906a93bc9056bf

See more details on using hashes here.

File details

Details for the file orca_locomotion-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for orca_locomotion-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb8430ce115cdb6fb779a8b596adfb42b6bb48ec06eeefa14f27df9281ab04db
MD5 9c0e266a6089c4f671a6aa2caa84a04f
BLAKE2b-256 0a28cb032faf691d01c89de5ab34e59609ad46da7750116b791fa1e87ed379ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page