当前位置: 首页 > backend >正文

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 目录中导入如下文件
在这里插入图片描述

  1. ​​curriculums.py​​ (课程学习系统)
  2. ​​rewards.py​​ (奖励函数设计)
  3. ​​terminations.py​​ (终止条件设计)

第三部分

在这里插入图片描述
分别导入robot_lab中mdp文件,其功能主要为
🎮 1. 命令生成模块 (commands.py)
📚 2. 课程学习模块 (curriculums.py)
🚦 3. 事件处理模块 (events.py)
👁 4. 观测处理模块 (observations.py)
🏆 5. 基础奖励函数模块 (rewards.py)

三部分其实是继承关系: 第三部分继承了一二部分,第二部分继承第一部分

总结

需要详细了解四个部分

  1. 动作系统模块 (actions/)
  2. 命令系统模块 (commands/)
  3. 记录系统模块 (recorders/)
  4. 核心处理模块(根目录)
    • 4.1 课程学习 (curriculums.py)
    • 4.2 事件处理 (events.py)
    • 4.3 观测处理 (observations.py)
    • 4.4 奖励函数 (rewards.py)
    • 4.5 终止条件 (terminations.py)
http://www.xdnf.cn/news/10521.html

相关文章:

  • QuickJS 如何计算黄金分割率 ?
  • barker-OFDM模糊函数原理及仿真
  • Linux防火墙:全面解析IPTables的表、链、规则!
  • Cypress + TypeScript + Vue3
  • 数据库管理与高可用-MySQL全量,增量备份与恢复
  • 劫持进程注入
  • C语言进阶--程序的编译(预处理动作)+链接
  • 数据结构:递归(Recursion)
  • 基于TMC5160堵转检测技术的夹紧力控制系统设计与实现
  • 输入ifconfig,发现ens33不见了,无法连接至虚拟机
  • Golang——3、流程控制语句
  • C++实现伽罗华域生成及四则运算(三)
  • Python----目标检测(《SSD: Single Shot MultiBox Detector》论文和SSD的原理与网络结构)
  • CppCon 2014 学习:C++ in Huge AAA Games
  • STM32F407寄存器操作(多通道单ADC+DMA)
  • 前端面试准备-5
  • Mask_RCNN 环境配置及训练
  • QT中子线程触发主线程弹窗并阻塞等待用户响应-传统信号槽实现
  • DRW - 加密市场预测
  • 考研系列—操作系统:第四章、文件管理(part.2)
  • 利用DeepSeek编写能在DuckDB中读PostgreSQL表的表函数
  • 多任务——进程
  • 基于机器学习的心脏病预测模型构建与可解释性分析
  • WIN11+VSCODE搭建的c/c++环境调试报错解决
  • vue+mitt的简便使用
  • API异常信息如何实时发送到钉钉
  • 重读《人件》Peopleware -(14)Ⅱ 办公环境 Ⅶ 把门带上
  • Windows商店中的免费扫雷游戏应用
  • 将手机网络经USB数据线和本地局域网共享给华为AP6050DN无线接入点
  • 任务22:创建示例Django项目,展示ECharts图形示例