Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

legs_rl_lab

12-DOF 双足机器人 nlegs 的强化学习工程:Isaac Lab 训练 → MuJoCo 仿真验证 → ROS 2 实机部署。

任务

任务 用途
nlegs_flat 平地速度跟踪
nlegs_flat_static 行走与零速站稳
nlegs_flat_crouch 从站立或蹲姿起步的行走策略
nlegs_rough 台阶、坡面等地形上的速度跟踪,带难度课程
rough_nogait 无相位的复杂地形行走,以单脚支撑离地时间和抬脚高度鼓励迈步
nlegs_rough_static rough 行走+零速站稳;实测下蹲侧限位与辨识驱动的执行器随机化,不修改 XML/USD
nlegs_mimic_crouch 跟踪下蹲参考动作 v3
nlegs_mimic_stand 跟踪起身参考动作 v2

Mimic 参考动作

两组数据均为 100 Hz。下方展示参考动作的运动学回放,点击动图可查看 MP4。

下蹲 v3 · 341 帧 · 3.40 s — 数据 · MP4

下蹲 v3:站立、向外迈步、下蹲并保持

起身 v2 · 336 帧 · 3.35 s — 数据 · MP4

起身 v2:蹲姿起身、收脚、站立并保持

训练配置已指向包内对应的 motions/*.npz,无需手动转换数据。下蹲末帧与起身首帧衔接;起身任务在参考结束后额外训练保持 5 s。

安装

先配置 Isaac Lab 和 RSL-RL。以下命令在训练环境中执行;MuJoCo 回放还需 mujoco,单任务回放的键盘控制需 pynput。

git clone git@github.com:katazen/legs_rl_lab.git
cd legs_rl_lab
python -m pip install -e source/legs_rl_lab

训练与回放

在仓库根目录运行,将 --task 替换为上表中的任务名。

# 训练
python scripts/rsl_rl/train.py --task nlegs_rough --headless --num_envs 4096

# 回放指定训练记录,并导出策略
python scripts/rsl_rl/play.py --task nlegs_rough --load_run '<训练目录名>' --num_envs 32 --real-time

训练结果位于 logs/rsl_rl/<任务名>/<训练目录名>/:params/ 保存配置,回放后生成的 exported/ 保存部署模型。策略权重需自行训练或另行提供。

MuJoCo 验证

单任务回放,例如平地行走:

python source/legs_rl_lab/legs_rl_lab/tasks/nlegs_task/task/flat/sim2sim.py --run '<训练目录名>'

统一回放走路、下蹲、起身,模型路径读取 common.yaml 的 tasks:

python scripts/sim2sim.py

统一回放中,1/2/3 切换任务,W/S A/D Q/E 控制速度,0 停步,P 中断,R 重新验收。

实机部署

部署使用 ROS 2 Humble。先在 common.yaml 中配置走路、下蹲、起身三份模型路径,并准备各自的 params/ 与 exported/。

在仓库根目录编译:

source /opt/ros/humble/setup.bash
(cd deploy/imu_ws && colcon build)
(cd deploy/control_ws && colcon build)
(cd deploy/rl_real_py && colcon build)

预检并启动:

./deploy/start_real.sh --check-only
./deploy/start_real.sh

启动后保持当前姿态,等待操作者选择任务。

功能 键盘 手柄
走路 / 下蹲 / 起身 1 / 2 / 3 LB+A / LB+X / LB+Y
停步 → 确认接地收脚 0 → Enter Start → 再次 Start
中断 P B
重新验收 R Back

实机运行前应扶稳或吊起机器人。P/B 不是断电急停;停止驱动可能使电机失力,先支撑机器人再执行:

./deploy/stop_real.sh

模型配置、任务切换条件与硬件操作见 部署说明。

目录

datasets/                            # 动作参考、元数据与预览
scripts/                             # 训练、回放与数据生成
source/legs_rl_lab/legs_rl_lab/
├── assets/nlegs/                    # MJCF、USD、网格与机器人配置
├── actuators/                       # 执行器模型
├── tasks/nlegs_task/                # 行走任务
├── tasks/mimic_task/                # 下蹲与起身任务
└── utils/                          # 配置读取与部署参数导出
deploy/                              # ROS 2 驱动、策略节点与启动脚本

许可

Python 包声明为 Apache-2.0;各源码文件保留其 SPDX 许可声明。

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages