robot_lab学习笔记【MDP综述】

article/2025/8/4 8:40:52

文章目录

  • 整体介绍
  • 第一部分
  • 第二部分
  • 第三部分
  • 总结

整体介绍

在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.hkcw.cn/article/lOIyyBAFXM.shtml

相关文章

Leetcode 2093. 前往目标城市的最小费用

1.题目基本信息 1.1.题目描述 一组公路连接 n 个城市,城市编号为从 0 到 n - 1 。 输入包含一个二维数组 highways ,其中 highways[i] [city1i, city2i, tolli] 表示有一条连接城市 city1i 和 city2i 的双向公路,允许汽车缴纳值为 tolli 的…

【C++】模板与特化技术全面教程(claude sonnet 4)

第一章:模板的基础概念 (Template Fundamentals) 1.1 什么是模板? 模板 (Template) 是C中的一种泛型编程 (Generic Programming) 机制,它允许我们编写与类型无关的代码。想象一下,如果我们要为不同的数据类型编写相同逻辑的函数&a…

VBA数据库解决方案二十:Select表达式From区域Where条件Order by

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

【2025最新】Java图书借阅管理系统:从课程作业到实战应用的完整解决方案

【2025最新】Java图书借阅管理系统:从课程作业到实战应用的完整解决方案 目录 【2025最新】Java图书借阅管理系统:从课程作业到实战应用的完整解决方案**系统概述** **核心功能模块详解****1. 系统登录与权限控制****2. 借阅管理模块****3. 用户角色管理…

结合源码分析Redis的内存回收和内存淘汰机制,LRU和LFU是如何进行计算的?

Redis 内存回收 1. 过期 key 处理 Redis 之所以性能强,最主要的原因就是基于内存存储。然而单节点的 Redis 其内存大小不宜过大,会影响持久化或主从同步性能。我们可以通过修改配置文件来设置Redis的最大内存: 当内存使用达到上限时&#…

NLP学习路线图(十五):TF-IDF(词频-逆文档频率)

在自然语言处理(NLP)的浩瀚宇宙中,TF-IDF(词频-逆文档频率) 犹如一颗恒星,虽古老却依然璀璨。当ChatGPT、BERT等大模型光芒四射时,TF-IDF作为传统方法的代表,其简洁性、高效性与可解…

C++11(上)

历史: 在C98版本后,C11是一次大版本的更新。在C11中新增了许多有用的东西。接下来将由小编来带领大家介绍C11中新增的内容。 列表初始化: 在C中,列表初始化(也称为统一初始化或花括号初始化)是一种使用花括号 {} 来初…

从TCO角度分析IBM Cognos Analytics

一、总拥有成本(TCO)分析 像 Cognos Analytics 这样成熟的企业级 BI 平台,在与新兴的敏捷 BI 工具竞争中,依然能够保持其独特价值和竞争力的关键所在,尤其从企业和组织的长远发展、团队协作以及总拥有成本&#xff08…

使用西门子博图V16时遇到了搜索功能报错的问题,提示缺少SIMATIC Visualization Architect组件怎么办,全网首发

先上解决方案,这个太简单了,直接上官网下载,这个安装包40M,很快就下载完了,然后直接安装就可以了。 官网链接SIMATIC Visualization Architect V16 TRIAL Download - ID: 109772966 - Industry Support Siemens 今天我…

STM32G4 电机外设篇(三) TIM1 发波 和 ADC COMP DAC级联

目录 一、STM32G4 电机外设篇(三) TIM1 发波 和 ADC COMP DAC级联1 TIM1 高级定时器发波1.1 stm32cubemx配置 2 TIM1 ADC COMP DAC级联2.1 stm32cubemx配置 附学习参考网址欢迎大家有问题评论交流 (* ^ ω ^) 一、STM32G4 电机外设篇(三&…

12 Java GUI

Java 在图形开发中的占比并不是特别突出,尤其在传统的客户端图形界面开发方面。不是现代 UI 设计的首选 C#的WinForms(传统)、WPF(现代)是Windows 桌面开发的王者 跨平台(Windows/macOS/Linux)&…

当AI遇见千年古韵:解密“古韵智绘”,让传统纹样焕发新生机

目录: 引言:当千年古韵遇上AI,一场跨越时空的对话“古韵智绘”:不止于复刻,更是创新的引擎核心技术揭秘:AI如何“理解”并“创作”传统纹样? 基石:海量纹样数据库与智能特征提取神笔:基于GANs的AI纹样生成器魔术:风格迁移与融合的艺术桥梁:交互式编辑与开放API接口系…

[AD] Reaper NBNS+LLMNR+Logon 4624+Logon ID

QA QAForela-Wkstn001 的 IP 位址是什麼?172.17.79.129Forela-Wkstn002 的 IP 位址是什麼?172.17.79.136被攻擊者竊取雜湊值的帳戶的使用者名稱是什麼?arthur.kyle攻擊者用來攔截憑證的未知設備的 IP 位址是什麼?172.17.79.135受…

RAG入门之数据导入

LangChain 是什么 LangChain 是一个用于构建基于大语言模型(LLM)应用的开源框架。它提供了一套工具和抽象,让开发者能够轻松构建复杂的AI应用。 LangChain 的核心功能 文档加载和处理:支持多种格式(PDF、文本、网页…

科研学习|科研软件——激活后的Origin导出图时突然出现了demo水印

问题:画完图在导出图形时,导出的图有demo水印,如下图。 解决方法1:右击选择以管理员身份运行。 解决方法2:找到该软件的保存路径,双击Origin64.exe

一:UML类图

类之间的关系 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 学习设计模式的第一步是看懂UML类图,类图能直观的表达类、对象之间的关系,这将有助于后续对代码的编写。 常见的类之间的关系包括:继承…

Python数学可视化——环境搭建与基础绘图

Python数学可视化——环境搭建与基础绘图 数学函数可视化入门(一次函数/三角函数) 本节将建立Python科学计算环境,并创建基础函数绘图工具,可生成一次函数和三角函数的可视化图像,同时结合物理中的匀速直线运动案例。…

mask2former训练自己的语义分割数据集

一、环境配置 1.1下载源码 mask2former: https://github.com/facebookresearch/Mask2Former/tree/maindetectron2: https://github.com/facebookresearch/detectron2下载完后,新建一个文件夹,起个名字(我起的Mask2Former-main&#xff09…

如何使用1panel部署linux网站

找到官网,尝试一下在线安装 如果在线不成功,试一下离线安装 按照指令一步步执行即可,注意换成新版本的名称即可 如果成功,你会看到这个页面 1Panel Log]: [1Panel Log]: 感谢您的耐心等待,安装已完成 [1Panel Log]:…

个人用户进行LLMs本地部署前如何自查和筛选

一、个人用户硬件自查清单(从核心到次要) 1. 显卡(GPU)——决定性因素 显存容量(关键指标): 入门级(8~12GB):可运行7B模型(4bit量化)…