robot_lab学习笔记【MDP综述】
文章目录
- 整体介绍
- 第一部分
- 第二部分
- 第三部分
- 总结
整体介绍
在robot_lab中的mdp文件夹下面包含6个文件:[init.py , commands.py , curiculums.py, events.py , observations.py , rewards.py ]
对每个部分的详细讲解在总结中会指向子链接
init.py文件的代码如下
"""
机器人运动控制MDP模块这个子模块包含了专门用于机器人运动环境的函数和类。
MDP (Markov Decision Process) 马尔可夫决策过程是强化学习的核心框架,
包含了状态、动作、奖励、观测等关键组件。模块结构:
- commands: 命令生成和管理
- curriculums: 课程学习策略
- events: 环境事件处理
- observations: 观测数据处理
- rewards: 基础奖励函数
"""# 导入Isaac Lab核心MDP功能
from isaaclab.envs.mdp import * # noqa: F401, F403# 导入Isaac Lab任务库中的运动相关MDP功能
from isaaclab_tasks.manager_based.locomotion.velocity.mdp import * # noqa: F401, F403# 导入本模块的各个子模块
from .commands import * # noqa: F401, F403 # 命令生成模块
from .curriculums import * # noqa: F401, F403 # 课程学习模块
from .events import * # noqa: F401, F403 # 事件处理模块
from .observations import * # noqa: F401, F403 # 观测处理模块
from .rewards import * # noqa: F401, F403 # 基础奖励函数模块
第一部分
先看第一行,从isaaclab的envs.mdp目录中导入如下文件
from isaaclab.envs.mdp import *
整体架构如下:
🕹 1. 动作系统模块 (actions/)
核心文件解析:
actions_cfg.py: 动作空间配置文件
binary_joint_actions.py: 二值关节动作(开/关状态)
joint_actions.py: 连续关节动作
joint_actions_to_limits.py: 关节动作限位处理
non_holonomic_actions.py: 非完整系统动作(如车辆模型)
task_space_actions.py: 任务空间动作(末端执行器控制)
📡 2. 命令系统模块 (commands/)
核心文件解析:
commands_cfg.py: 命令系统配置文件
null_command.py: 空命令(无操作)
pose_2d_command.py: 2D位姿命令(x, y, theta)
pose_command.py: 完整位姿命令(6自由度)
velocity_command.py: 速度命令(线速度和角速度)
📊 3. 记录系统模块 (recorders/)
核心文件解析:
recorders_cfg.py: 记录器配置文件
recorders.py: 数据记录器实现
⚙️ 4. 核心处理模块(根目录)
4.1 课程学习 (curriculums.py)
4.2 事件处理 (events.py)
4.3 观测处理 (observations.py)
4.4 奖励函数 (rewards.py)
4.5 终止条件 (terminations.py)
🚀 系统工作流程
第二部分
看第二行,从isaaclab_tasks.manager_based.locomotion.velocity.mdp 目录中导入如下文件
- curriculums.py (课程学习系统)
- rewards.py (奖励函数设计)
- terminations.py (终止条件设计)
第三部分
分别导入robot_lab中mdp文件,其功能主要为
🎮 1. 命令生成模块 (commands.py)
📚 2. 课程学习模块 (curriculums.py)
🚦 3. 事件处理模块 (events.py)
👁 4. 观测处理模块 (observations.py)
🏆 5. 基础奖励函数模块 (rewards.py)
三部分其实是继承关系: 第三部分继承了一二部分,第二部分继承第一部分
总结
需要详细了解四个部分
- 动作系统模块 (actions/)
- 命令系统模块 (commands/)
- 记录系统模块 (recorders/)
- 核心处理模块(根目录)
- 4.1 课程学习 (curriculums.py)
- 4.2 事件处理 (events.py)
- 4.3 观测处理 (observations.py)
- 4.4 奖励函数 (rewards.py)
- 4.5 终止条件 (terminations.py)