自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 小知识点一:无刷电机

该部分只用于自学使用,作为笔记方便后续自查。

2025-06-05 17:03:00 835

原创 问题七、isaacsim中添加IMU传感器

NVIDIA Isaac Sim 中的 IMU 传感器可跟踪车身运动并输出模拟加速度计和陀螺仪读数。与真实 IMU 传感器一样,模拟 IMU 可通过平台单元提供局部 x、y、z 轴的加速度和角速度测量值。

2025-06-03 19:18:10 37

原创 第四章、自平衡控制

该部分作为开发过程中的学习记录,可能有错误及不足欢迎小伙伴们一起讨论~注:这里主要面临的问题是根据给定的课程代码没办法实现自稳定,因此只能在整个代码中拆解找原因。这个部分可能一次性更新不完会持续更新。

2025-05-29 16:26:54 605

原创 第五章、从Reinforce到Actor-Critic

Reinforce算法和Actor-Critic算法都是on-policy(同策略算法),并且和前述的价值学习不同,是属于策略学习框架下的。我们本章将Reinforce算法和Actor-Critic算法放在一起说明,是因为实际上他们是强化学习中策略学习的基础。

2025-05-28 14:17:38 697

原创 第三章、运动学逆解(双足轮根据腿高求舵机角度)

该部分作为开发过程中的学习记录,可能有错误及不足欢迎小伙伴们一起讨论~注:该部分是根据灯哥开源的代码来进行学习,具体数学计算部分不做过多叙述,bilibili的教学视频中已经非常清晰了,本节只对个人学习过程中的代码做对应和解释。

2025-05-27 19:25:07 633

原创 第四章、DDQN(Double Deep Q-Network)

DDQN是off-policy(离线策略)算法,它通过与环境交互获取采样数据(经验放回池),并利用这些数据训练一个神经网络,该神经网络是用来近似最优动作价值函数的。该算法是DQN的一个改进算法是为了解决DQN高估问题的。在阅读下述内容之前,假设你以理解以下概念及内容:状态空间、动作空间、奖励、折扣回报、动作价值函数、最优动作价值函数及TD误差等。

2025-05-26 15:22:53 702

原创 问题六、SIMTOSIM部分遇到的问题及解决方法

dt应该在一定程度上把通信周期及其他的物理模拟时间包含在内,这里可以理解为如果你在训练的时候交互过快而实际达不到这个频率就会出现,你给的动作本来只应该执行0.02秒但实际走了0.06秒,然后又根据新的状态做下一步预测,总是多走绝对不会收敛,但如果你在训练时的交互时长要大与实际的情况就会出现你给出的动作运行到一半重新计算,但这并不影响模型的收敛。所以dt除了要根据仿真复杂度选择合适的 dt(通常 dt ≤ 1/60 s),也要根据实际情况来,比如通讯时长等。在创建仿真环境时会有如下设置。

2025-05-23 17:24:17 77

原创 第三章、DQN(Deep Q-Network)

DQN是一个off-policy(离线策略)算法,它通过与环境交互获取采样数据(经验放回池),并利用这些数据训练一个神经网络,该神经网络是用来近似最优动作价值函数的。在阅读下述内容之前,假设你以理解以下概念及内容:状态空间、动作空间、奖励、折扣回报、动作价值函数、最优动作价值函数及TD误差等。

2025-05-23 14:40:48 901

原创 第二章、SARSA(State Action Reward State Action)

SARSA是一种无模型的离散同策略(on-policy)算法,它使用Q表格来处理离散观测和动作空间。注:on-policy是指收集经验放回池的策略和最后控制智能体的目标策略相同。在阅读下述内容之前,假设你以理解以下概念及内容:状态空间、动作空间、奖励、折扣回报、动作价值函数、最优动作价值函数及TD误差等。

2025-05-21 14:04:35 752

原创 第四章、SKRL(2): API(Models and Model instantiators)

模型(或智能体模型)是指智能体的策略、值函数等的表示,智能体使用这些策略、值函数等来做出决策。智能体可以有一个或多个模型,它们的参数由优化算法来调整。

2025-05-20 17:06:08 265

原创 第一章、Q-learning

Q学习是一种无模型的离散策略算法,它使用Q表格来处理离散观测和动作空间。在阅读下述内容之前,假设你以理解以下概念及内容:状态空间、动作空间、奖励、折扣回报、动作价值函数、最优动作价值函数及TD误差等。

2025-05-20 13:32:26 1080

原创 第四章、SKRL(1): Examples

本节将从官方的案例入手来学习及梳理skrl库。

2025-05-19 17:53:07 258

原创 第二章、IMU(Inertial Measurement Unit 惯性测量单元)

该部分作为开发过程中的学习记录,可能有错误及不足欢迎小伙伴们一起讨论~注:该部分代码是基于Stackorce的舵机控制板来看的,板载三轴加速度计、陀螺仪。

2025-05-19 14:13:51 722

原创 第四章、SKRL(2):API(Memories)

本节将详细介绍skrl中的API,我们只做Pytorch部分的说明。

2025-05-15 13:30:32 902

原创 第二章、Isaaclab强化学习包装器(3):SKRL Wrapper

在本节中,您将学习如何使用 skrl 库的各种组件来创建强化学习任务。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入运行你的代码,进行训练。

2025-05-14 14:10:07 455

原创 第二章、Isaaclab强化学习包装器(2):RSL-RL Wrapper

本节将详细介绍RSL-RL Wrapper包装器。

2025-05-14 11:21:14 390

原创 问题五、扩展模板生成器

按照官方教程进行操作大概率会出现自己创建的第三方扩展无法加载的问题,本文将给出正确的创建方法,并在最后总结出现问题的地方。

2025-05-09 15:31:55 45

原创 第一节、基础知识篇

该部分作为开发过程中的学习记录,可能有错误及不足欢迎小伙伴们一起讨论~电机(电动机):将电能转化为机械能,主要用于提供连续旋转运动或线性运动。常见类型:直流电机(有刷/无刷)、步进电机、交流电机(异步/同步)等。核心目标:驱动设备运转(如凤扇、车轮、传送带)。舵机(伺服电机,Servo Motor):一种带有闭环控制系统的电机,能够精确控制角度、位置或速度。常见类型:标准舵机(如模型用舵机)、工业伺服电机。核心目标:精准定位(如机器人关节、遥控模型转向)。

2025-05-09 13:21:16 694

原创 第三章、RL Games:High performance RL library

RL Games 是由 NVIDIA 开发的一个专注于强化学习(Reinforcement Learning, RL)的高性能开源框架,主要用于快速训练和部署强化学习模型。其设计目标是为复杂环境(如机器人控制、游戏AI、多智能体系统等)提供高效的训练工具,同时支持分布式训练和GPU加速。本文介绍了rl_games强化学习库的一些基本功能。此外,本文还提供了使用类似IsaacGymEnvs包的结构(IsaacLab可参考)创建新环境和算法,为 rl_games 的扩展指南。

2025-05-07 17:27:46 696

原创 第二章、Isaaclab强化学习包装器(1):RL-Games Wrapper

第十二讲、Isaaclab中使用RL对智能体进行训练本节将详细介绍RL-Games Wrapper包装器。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入运行你的代码,进行训练。

2025-04-28 17:57:08 490

原创 问题四、如何解决模型轴配置问题

问题描述:举一个简单的例子用openfile打开为配置的文件## 1 识别关节装配机器人的第一步是识别机器人上的关节,包括驱动关节和非驱动关节。关节决定了所有网格组件的组织方式,识别关节类型及其自由度 (DOF) 是确保机器人装配后按预期运动的关键。

2025-04-27 17:26:21 52

原创 第十七讲、Isaaclab中使用操作空间控制器

有时候,仅使用differential IK控制器来控制机器人末端执行器的姿态是不够的。比如,我们可能希望在任务空间中强制执行非常特定的姿态跟踪动态误差,使用关节力/扭矩指令来驱动机器人,或者在特定方向上施加接触力,同时控制其他方向的运动(例如,用布擦拭桌面)。在这类任务中,可以使用空间控制器(OSC)。本教程中,我们将学习如何使用一个OSC控制机器人。我们将使用类施加一个垂直于倾斜墙面的恒定力,同时在所有其他方向上跟踪所需的末端执行器姿态。教程对应的脚本为run_osc.py在目录下。

2025-04-23 20:34:49 1217

原创 第十六讲、isaaclab中使用任务空间(task-space)控制

在之前的教程中我们利用关节空间(joint-space)来控制机器人,但是,在很多情况下使用任务空间(task-space)控制机器人更直观。比如若想远程操控机器人,实际上指定末端夹具姿态比指定关节位置更容易。本教程中,将学习如何使用任务空间(task-space)控制机器人,我们将使用类来跟踪末端执行器姿态命令。教程对应的脚本为在目录下。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入运行你的代码。

2025-04-23 18:03:53 775

原创 第十五讲、Isaaclab中在机器人上添加传感器

传感器有助于智能体感受不同的环境信息,包括本体感受及外部感受。例如,可以使用摄像头传感器获取环境的视觉信息、可以使用接触传感器获取机器人与环境的接触信息。在本教程中,我们将学习如何为机器人添加不同的传感器。本教程将使用ANYmal-C机器人,该机器人是一个四足机器人,拥有12个自由度(四条腿每条腿3个自由度)。机器人头部的摄像头传感器可以提供RGB-D图像提供地形高度信息的高度扫描仪传感器机器人脚上的接触传感器提供接触信息教程对应的脚本为在目录下。

2025-04-22 16:29:54 913

原创 第十四讲、Isaaclab在USD环境中进行策略推断

上一讲中我们学习了如何修改环境,本讲将介绍如何将训练好的环境教程对应的脚本为在目录下。

2025-04-22 14:03:54 548

原创 第十三讲、isaaclab中修改工作流的RL环境

在前面的教程中我们已经学习了如何在工作流中创建RL环境并创建任务,在gym中注册环境并基于RL进行训练,现在我们将研究如何对先有任务进行小修改。在本教程中,我们将对直接工作流 Humanoid 任务进行修改,在不影响原有代码的情况下,将简单的人形模型更改为 Unitree H1 人形机器人。教程对应的脚本为train.py在目录下。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入。

2025-04-21 15:53:50 483

原创 问题三、导入到Isaacsim中的文件无法修改节点名称(已解决)

实际上是以一个引用的形式放进来的,这时我们改动其下的节点就会发现没办法修改。(注:可以参考isaacsim中本身的assets的。加进来之后可能是全黑的加个环境光就可以了,这时再次查看树结构,可以发现a1节点已经没有带蓝色箭头了。首先,打开Isaacsim按下图顺序可以导入URDF,如果你没有这个urdf文件也可以用别的。所以我们不能以引用的形式导入URDF,要通过下述方式,在导入时候选择。节点图标上有些不同,带一个蓝色的小箭头,这意味着。再通过之前讲述的过程就可以顺利导入URDF了。

2025-04-18 16:45:32 74

原创 第十二讲、Isaaclab中使用RL对智能体进行训练

在前面的教程中我们已经学习了如何定义强化学习任务环境、并将其注册到gym中。以及使用智能体与环境交互。本节将在此基础上学习如何使用强化学习来训练智能体完成指定任务。虽然是按照的接口规范的,但并不是一个完全的gym环境。数据输入/输出类型不同标准gym库:使用Numpy数组(np.ndarray)Isaaclab:使用Pytorch张量(torch.Tensor)数据维度不同Isaaclab:Isaaclab是向量化环境,所有数据的第一维度为并行环境数量(numenvso。

2025-04-18 15:28:27 1054

原创 第十一讲、Isaaclab中注册环境

第八讲、Isaaclab创建基于管理器的基础环境第九讲、Issalab中基于管理器创建RL环境第十讲、Isaaclab直接在工作流中创建RL环境类型继承关系核心特点典型应用场景基于管理器的事件驱动架构复杂机器人控制任务直接访问物理句柄的轻量级实现快速原型开发/简单控制任务无显式继承多智能体扩展的特殊设计协作/竞争型多机器人场景教程对应的脚本为在目录下。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入。

2025-04-17 15:45:59 941

原创 第十讲、Isaaclab直接在工作流中创建RL环境

除了鼓励使用配置类来实现更加模块化的环境之外,类还允许在环境脚本中实现更直接的控制。以下是关于在 Isaac Lab 中使用类及架构设计基于管理器(Manager)的模块化设计,通过配置类定义各模块行为。直接继承并重写环境方法,集中实现所有逻辑。代码抽象度高,通过预定义的 *Cfg 类简化参数管理。低,需手动处理奖励、观察、动作等逻辑。灵活性适合标准化任务,快速搭建环境。适合高度定制化任务或性能优化(如 JIT 编译)。适用场景。

2025-04-17 11:21:59 989

原创 第九讲、Issalab中基于管理器创建RL环境

在Isaaclab中基于管理器的环境被分为两个类来实现,一下是两类区别类名适用场景核心功能差异典型用途示例传统机器人控制不包含奖励机制和终止条件机械臂轨迹跟踪、无人机定点控制强化学习任务包含奖励计算、终止判断、课程学习系统DRL算法训练、自适应控制策略开发上一节中我们介绍了类及其对应的配置类。本节将介绍类及配置类。我们将使用之前的cartpole环境来介绍创建新环境时使用的不同组件。教程对应的脚本为在目录下。对应的类在进入安装 isaac lab 时创建的conda虚拟环境。

2025-04-16 15:28:17 823

原创 第八讲、Isaaclab创建基于管理器的基础环境

上一节中我们介绍了一个场景类,它提供了一个便捷的接口,用于在模拟中生成prim并进行管理。本节将研究如何在Isaaclab中创建环境,所谓环境实际上就是汇集了模拟的不同方面,如场景、观测和动作空间、重置事件等。环境将仿真的多个要素(场景、观测空间、动作空间、重置事件等)统一封装,形成标准化接口,通过环境可以使不同的应用场景的创建变的更简单化、模块化。在Isaaclab中基于管理器的环境被分为两个类来实现,一下是两类区别类名适用场景核心功能差异典型用途示例传统机器人控制不包含奖励机制和终止条件。

2025-04-16 13:38:01 1211

原创 第七讲、在Isaaclab中使用交互式场景

到目前为止,在本教程中,我们手动将不同的资产(地平面、光源、刚体、关节等)添加到仿真模拟中,并创建对象实例来与它们交互。但,随着场景复杂度的增加,手动执行这些任务变得繁琐。在本教程中,我们将介绍一个类,它提供了一个便捷的接口,用于在模拟中生成prim并进行管理。从更高层次上讲,交互式场景是对象实体的集合。每个实体可以是非交互式的prim(例如地平面、光源)、交互式的prim(例如关节、刚体)或传感器(例如摄像头、激光雷达)。类提供了一个便捷的接口,用于生成这些实体并在仿真模拟中进行管理。

2025-04-15 17:29:15 1086

原创 第六讲、Isaaclab中与可变物体交互

本节我们学习如何在Isaaclab中与可变物体进行交互,虽然可变形物体有时指的是更广泛的物体类别,例如布料、流体和软体,但在 PhysX 中,可变形物体在语法上与软体相对应。与刚性物体不同,软体可以在外力和碰撞下变形。软体在 PhysX 中使用有限元方法 (FEM) 进行模拟。软体由两个网格组成:仿真网格和碰撞网格。仿真网格用于模拟软体的变形,而碰撞网格用于检测与场景中其他物体的碰撞。要了解更多细节,请查看PhysX文档。教程对应的脚本为在目录下。

2025-04-14 14:43:11 889

原创 第五讲、Isaaclab中与关节交互

在之前的教程中,我们学习了独立python脚本如何启动Issacsim以及如何在仿真场景中生成不同的对象(prim),并与刚体进行交互。本教程将演示如何在模拟中与关节型机器人进行交互,即如何设置关节状态以及如何向关节型机器人应用命令。可以发现基本流程与上一节中一致。教程对应的脚本为在目录下。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入运行你的代码。

2025-04-14 11:16:07 1107

原创 第四讲、Isaaclab与刚性物体交互

在之前的教程中,我们学习了独立python脚本如何启动Issacsim以及如何在仿真场景中生成不同的对象(prim)。本教程将演示如何创建刚体对象并与之交互。本节将围绕Isaac Lab中提供的类展开研究。教程对应的脚本为在目录下。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入运行你的代码,会在isaac sim中出现4个绿色的锥体。以及main(),其中main()作为主函数由和构成。

2025-04-11 15:35:11 904

原创 第三讲、深入研究Isaaclab中的AppLauncher

本教程介绍如何在 Isaac Lab 中如何利用类启用和配置Isaacsim,并且通过创建实例时用户可以修改给定的参数设置。并且这些参数可以通过命令行参数(CLI)设置。**教程对应的脚本为在目录下。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入运行你的代码,会在isaac sim中出现一个0.5m30.5m^30.5m3的一个立方体。

2025-04-11 11:41:51 1157

原创 问题二:pycharm调试Isaaclab代码配置

按照官方的方法安装好后会生成一个conda环境,激活conda环境后,要进入isaacsim文件夹中,再次运行。再来看一下,conda activate会做什么事情,实际上会运行env环境下的。并在bash文件中添加了两行echo,这样再次使用。才可以运行相关的代码,官方给出的方法是修改。文件夹下的内容,我们修改上述文件并将它放到。会输出地址,同时配置后sim的环境。文件,但是每次都需要用。

2025-04-10 18:09:44 96

原创 第二讲、Isaaclab 在场景中添加对象

本教程介绍如何在 Isaac Lab 中使用 Python 将各种对象添加到场景中。教程对应的脚本为在目录下。进入安装 isaac lab 时创建的conda虚拟环境在该环境下进入 isaac sim文件夹中运行终端中输入运行你的代码Omniverse 中的场景设计基于名为 USD(通用场景描述)的软件系统和文件格式构建。它允许以分层方式描述 3D 场景。第六章、Isaacsim中的资产(usd)第六章、Isaacsim中的资产:机械狗usda文件详解(1):头部。

2025-04-10 17:15:29 936

原创 问题1:Isaac-sim无法导入urdf文件

同时用ros及isaacsim的小伙伴会考虑将urdf文件导入isaacsim中转成usd文件,但是在导入时你可能会出现整个页面卡住,但终端并未报错的情况。关闭后可以重新尝试导入urdf文件~,这里建议把该扩展的自动加载取消掉用的时候打开就好。方案二:如果上述操作对你不管用,还有一个更粗暴的方式,重置isaacsim。方案一:通过关闭isaacsim中的vscode交互拓展解决。在弹出的窗口中输入vscode,关闭。

2025-04-09 14:17:51 268

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除