代码地图:你应该去哪里改东西?#
这一章是“目录级导航”。当你知道要改什么(reward/obs/sim/robot/训练脚本)时,直接跳到对应目录即可。
核心目录一览#
目录 |
你会在这里做什么 |
|---|---|
|
manager-based 环境本体( |
|
核心抽象: |
|
|
|
|
|
机器人/物体等实体的数据接口(root/joint/body/site),是大部分任务 term 的“数据入口”。 |
|
传感器(内建 sensor、contact sensor 等)。任务里的很多观测/奖励会通过 |
|
资产库(MJCF/XML)。G1 在 |
|
任务包。每个任务通常包含:
|
|
与 RSL-RL 的接口:VecEnv wrapper、policy/algorithm cfg dataclass。 |
|
CLI 入口: |
|
Sphinx 文档(你正在读的这份 walkthrough 也在这里)。 |
任务的“标准骨架”长什么样?#
以 velocity 为例(人形/四足都适用):
base task cfg:
src/mjlab/tasks/velocity/velocity_env_cfg.pyrobot override(例如 g1/go1):
src/mjlab/tasks/velocity/config/g1/env_cfgs.py注册 task id:
src/mjlab/tasks/velocity/config/g1/__init__.pyMDP terms:
src/mjlab/tasks/velocity/mdp/*(+ 复用src/mjlab/envs/mdp/*)
同样,tracking:
base task cfg:
src/mjlab/tasks/tracking/tracking_env_cfg.pyg1 override + 注册:
src/mjlab/tasks/tracking/config/g1/*MDP terms:
src/mjlab/tasks/tracking/mdp/*