自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

i宏的博客

唯有热爱!

  • 博客(33)
  • 资源 (8)
  • 问答 (2)
  • 收藏
  • 关注

原创 git clone 速度很慢 解决方法【亲测有效】

使用 代理 或 国内镜像源 可以大幅度提高克隆速度。性能配置(如并行化、压缩)可以有效提升大型仓库克隆的效率。浅克隆可以显著减少数据下载量,适合只需要最新代码的场景。通过 SSH 协议 克隆通常会比 HTTPS 更快。使用 缓存 和 优化 Git 配置 能提高 Git 的整体性能。

2024-12-10 23:37:32 9784 1

原创 MDP的recoders部分

只记录策略观测# 自定义数据路径# 只导出成功的回合self.scene.num_envs = 32 # 自定义环境数量。

2025-06-04 15:48:49 503

原创 MDP的action模块

Isaac Lab中的actions模块是机器人动作控制的核心组件,提供多种动作类型:关节控制(joint_actions)、二进制夹爪动作(binary_joint_actions)、非完整底盘控制(non_holonomic_actions)和任务空间动作(task_space_actions)。所有动作类遵循统一流程:初始化时解析关节参数并设置变换规则,处理阶段进行缩放/偏移/裁剪,最终将安全动作应用于机器人。其中JointAction基类通过仿射变换(processed_action = raw_a

2025-06-04 15:47:57 395

原创 MDP的observations部分

Isaac Lab观测系统核心模块observations.py提供了机器人状态感知的关键功能,主要包括根状态和关节状态两大类观测: 根状态观测: 坐标体系:提供世界坐标系(_w)和基座坐标系(_b)两种观测方式 关键观测项:包括高度(base_pos_z)、线速度(base_lin_vel)、角速度(base_ang_vel)、重力投影(projected_gravity)等 应用场景:导航任务优先使用世界坐标系,本体控制优先使用基座坐标系 关节状态观测: 提供关节位置(joint_pos)、速度等关键状

2025-06-03 14:34:16 476

原创 MDP中的terminations部分

强化学习中的终止条件机制 摘要:强化学习中的终止条件(terminations)是控制智能体与环境交互何时结束的核心机制。本文介绍了三类关键终止条件:1)MDP终止条件,包括超时终止(time_out)和基于命令采样的动态终止(command_resample);2)根部终止条件,如姿态异常(bad_orientation)和高度过低(root_height_below_minimum);3)关节终止条件,如超出关节限制(joint_pos_out_of_limit)。这些条件共同构成了强化学习任务的边界控

2025-06-03 14:33:29 296

原创 MDP的curriculums部分

这是一个基于机器人行走距离的地形难度自适应课程学习策略函数。它根据机器人在给定速度命令下实际行走的距离,自动调整训练环境中的地形难度级别。

2025-06-02 20:01:49 804

原创 MDP中的events部分

摘要(149字): events.py是IsaacLab实现域随机化的核心模块,主要用于强化学习训练中的物理参数随机化。该文件提供随机化刚体材质物理属性(摩擦系数、恢复系数)的功能,通过创建多组随机材质并分配给几何体,提升策略泛化能力。关键类randomize_rigid_body_material支持静/动摩擦系数和恢复系数的范围采样,可确保物理约束(动摩擦≤静摩擦),并优化材质分配性能。该模块通过环境多样性模拟缩小仿真与现实差距,是Sim-to-Real转换的重要工具,同时支持地形感知和渐进式重置策略。

2025-06-02 20:00:44 680

原创 rl_sar功能包详解

rl_sar是专为机器人强化学习设计的ROS功能包,提供从仿真到实物部署的完整工具链。功能包包含C++/Python代码实现、核心算法库(RL控制框架、观测缓冲区等)、Unitree机器人SDK支持(A1/Go2等机型)以及预训练模型库。主要特性包括:1)支持Gazebo仿真与真实机器人控制;2)提供执行器网络训练工具改善sim-to-real性能;3)模块化设计包含观测处理、安全控制等核心组件。使用流程涵盖仿真启动(roslaunch)、机器人控制(C++/Python节点)和执行器网络训练三大场景,适用

2025-06-01 22:12:01 717

原创 robot_lab学习笔记【MDP综述】

本文介绍了机器人运动控制MDP模块的结构与功能。该模块包含6个核心文件:init.py(初始化)、commands.py(命令生成)、curriculums.py(课程学习)、events.py(事件处理)、observations.py(观测处理)和rewards.py(奖励函数)。模块采用三层继承架构:基础层(IsaacLab核心MDP)、中间层(运动控制MDP)和应用层(机器人实验室实现)。系统分为四大功能模块:动作系统(关节/任务空间控制)、命令系统(位姿/速度指令)、记录系统和核心处理模块(包含课

2025-06-01 17:24:39 1272

原创 Ubuntu本地文件上传github(版本控制)

摘要:本文详细介绍了如何将本地项目上传至GitHub的完整流程。从创建GitHub账号、安装配置Git开始,到初始化本地仓库、关联远程仓库,最后提交推送代码。文章包含6个主要步骤:1)准备Git环境;2)创建GitHub仓库;3)初始化本地仓库;4)关联远程仓库;5)提交代码;6)验证结果。另附常见问题处理方法,如查看/修改远程仓库地址等操作命令。所有操作均提供具体示例代码,适合Git初学者快速掌握项目上传GitHub的基本方法。

2025-05-30 21:18:00 1149

原创 ROS 2 中的 robot_state_publisher 和 joint_state_publisher 详解

ROS 2中的机器人状态管理主要由joint_state_publisher和robot_state_publisher两个组件协作完成。joint_state_publisher负责收集并发布机器人的关节状态消息,提供GUI交互式控制功能,适合演示调试;robot_state_publisher则根据URDF模型和关节状态计算坐标变换(TF),维护整个机器人坐标系系统,为Rviz等组件提供准确的坐标数据。两者通过/joint_states消息进行通信,形成完整的状态发布流程:joint_state_pub

2025-05-30 21:16:27 459

原创 强化学习算法笔记【PPO】

PPO算法原理与实践摘要 PPO(Proximal Policy Optimization)是一种基于重要性采样的强化学习算法,通过GAE(Generalized Advantage Estimation)计算优势函数,结合策略梯度更新。其核心在于: 重要性采样:利用旧策略样本估计新策略期望,通过概率比修正偏差 GAE优势计算:综合多步TD误差,平衡偏差与方差 Clip机制:限制策略更新幅度,确保训练稳定性 代码实现包含: 连续动作空间策略网络(输出高斯分布参数) 优势函数计算(GAE) PPO更新过程:

2025-05-27 11:33:13 286

原创 CycloneDDS的使用机制

**为什么看不到 CycloneDDS 的直接使用:**抽象层设计:ROS2 通过 RMW 抽象层隐藏了底层 DDS 实现的细节插件机制:通过环境变量动态选择 DDS 实现,无需修改代码透明性:开发者使用标准的 ROS2 API,底层自动路由到相应的 DDS 实现**CycloneDDS 实际在工作:**所有的 create_publisher、create_subscription、publish 等调用最终都会通过 rmw_cyclonedds_cpp 转换为 CycloneDDS 的

2025-05-27 11:31:56 270

原创 RND(随机网络蒸馏,Random Network Distillation)

随机网络蒸馏(RND)是一种由OpenAI提出的无监督探索奖励机制,旨在解决强化学习(RL)中外部奖励稀疏或缺失的问题。RND通过预测误差驱动探索,利用一个固定的随机目标网络和一个可训练的预测网络,计算预测误差作为内在奖励,鼓励智能体探索新颖状态。RND的网络结构包括目标网络和预测网络,二者具有相同结构但参数不同。RND与PPO(近端策略优化)结合,通过内在奖励增强PPO在奖励稀疏环境下的学习能力,提高数据效率。RND在RSL-RL中的实现通过检查RND配置和计算内外奖励,影响策略更新,从而优化智能体的探索

2025-05-09 13:57:25 379

原创 RslRlOnPolicyRunnerCfg 学习

RslRlOnPolicyRunnerCfg 是用于配置基于策略(On-Policy)强化学习训练流程的类,主要包含三个核心部分:RslRlPpoActorCriticCfg、RslRlPpoAlgorithmCfg 和 RslRlOnPolicyRunnerCfg。RslRlPpoActorCriticCfg 定义了 Actor-Critic 网络的结构,包括隐藏层维度、激活函数和初始噪声标准差等。RslRlPpoAlgorithmCfg 配置了 PPO 算法的超参数,如剪切系数、熵系数、折扣因子等。Rs

2025-05-09 13:56:35 1154

原创 robot_lab中rsl_rl的replay_amp_data.py简洁解析

该脚本作为AMP训练流程的终端验证环节,将算法输出与物理仿真深度整合,为研究人员提供了直观的策略评估手段。掌握其实现细节对调试运动控制策略、优化sim-to-real迁移效果具有重要意义。这个replay_amp_data.py脚本是用于在Isaac Sim中可视化训练好的RL策略或预存运动数据的播放工具。(2)对比仿真关节位置与AMP数据。(1)添加调试代码查看足端位置。运行前设置Torch性能分析。4.2 性能调优参数。

2025-05-08 15:11:59 690

原创 robot_lab中amp_utils——retarget_kp_motions.py解析

(1)标准库: 包括 os, sys, time, inspect 等,提供文件操作、系统接口和时间处理功能。(2)第三方库: 如 numpy 用于数值计算,pyquaternion 处理四元数,pybullet 用于物理仿真,以及 pybullet_data 提供 URDF 等资源。(3)自定义模块:retarget_utils 中包含一些工具函数(例如设置机器人姿态、更新调试信息等);

2025-05-08 15:11:03 749

原创 强化学习算法笔记【AMP】

AMP是一种无模型、基于随机政策的政策梯度算法(通过GAIL和PPO的组合进行训练),用于基于物理的动画的反向学习。它使角色能够从大型非结构化数据集中模仿各种行为,而无需运动规划器或其他剪辑选择机制。

2025-04-23 17:40:37 506

原创 robot_lab中的rewards.py解析【下】

这段代码用于计算一个轮子(或关节)的速度惩罚,其目标是根据机器人当前是否处于运动状态,区分“运行状态”下与“静止状态”下关节速度对奖励的影响。从机器人数据中提取指定关节(由 asset_cfg.joint_ids 指定)的速度,并取绝对值,表示各关节运动速度的大小。这段代码定义了一个用于惩罚机器人基座在 z 轴方向上的线速度的函数,主要思路是使用 L2 平方惩罚(即误差的平方),这段代码的作用是 惩罚机器人底座(base)的非水平姿态,即如果机器人倾斜,奖励(实际是惩罚项)就会增加。

2025-03-20 08:00:00 713

原创 robot_lab中mdp的其他文件解析

这个 com_offsets 是一个形状为 (num_envs, num_bodies, 3) 的张量,每个刚体的 COM 由 3 个数值(x, y, z)表示。通用的随机化方法,用于根据指定的分布(uniform、log_uniform、gaussian)生成随机数,并执行指定的操作(add、scale、abs)。👉 利用均匀分布生成的速度命令,再加入阈值过滤,确保只有足够强的命令才会生效,从而避免微弱无效命令对控制策略的干扰。如果 body_ids 为空,就随机化所有刚体。

2025-03-20 08:00:00 1088

原创 robot_lab中rewards.py解析【上】

目的:该类实现了一个步态奖励项,用于强化学习中鼓励四足机器人按照期望的步态(如小跑、跳跃或并步)运动。适用范围:仅针对具有两组同步足(两对同步脚)的四足步态设计。继承:继承自 ManagerTermBase,因此它是一个奖励项管理器,能够被环境和策略调用。

2025-03-19 08:00:00 1636

原创 robot_lab中rewards.py解析【中】

reward 信号作为训练中的反馈指标,其值越高表示机器人越接近目标行为(如精确跟踪指令、稳定步态、正确足部动作、合理姿态等),而值较低或负值则提示不良的运动模式。强化学习算法会根据这些信号不断调整策略,以逐步改进机器人的控制性能。基本数据提取:获取足部时间数据:计算时间差异及奖励基准:条件判断:补充:(1)获取指令并计算模长:该部分从环境中获取名称为 command_name 的指令数据,通常是一个形状为 (batch_size, d) 的张量。接着,沿着第1维(即指令向量的各个分量)计

2025-03-19 08:00:00 1599

原创 robot_labv2.1中train.py解析

这个文件是一个用于在 Isaac Sim 模拟器中训练强化学习(RL)智能体的完整流程。添加后,可以直接通过 import cli_args 导入 /home/user/project/cli_args.py。这段代码是强化学习训练流程的核心实现,主要功能是通过 RSL-RL 算法在 Isaac Sim 仿真环境中训练智能体。args_cli: 已定义参数的命名空间(包含 --video, --num_envs 等)hydra_args: 未被当前解析器识别的剩余参数(通常是 Hydra 配置框架的参数)

2025-03-17 07:48:32 815

原创 robot_labv2.1中play.py解析

流程解析检查参数:用户通过 --checkpoint /path/to/model.pt 指定自定义模型路径。路径解析:retrieve_file_path 验证路径是否存在并补全扩展名(如自动添加 .pt)。函数假设retrieve_file_path(path) 可能:检查路径是否为绝对路径或相对路径。支持模糊匹配(如 --checkpoint 2025-03-17 匹配最近日期文件)。

2025-03-17 07:48:01 622

原创 rl_sar中的go2_description解析【下】

总体介绍在上部分介绍过了,如果看过了的同学可以跳过这个,直接到2rl_sar 中的go2_description功能包如下图所示,主要是用来导入go2机器人的相关的配置第一步可以先运行一下launch文件看看运行效果进入workspace中进行caktin build 建立完成之后运行下面指令可以看一下gazebo 和 rviz中的显示这部分其实主要都是ros的urdf基础内容,自己研读即可如果忘记了的朋友可以先回顾以下,下面是链接ros_urdf这是一个使用 Xacro(XML Macro

2025-03-09 19:43:06 519

原创 rl_sar中的go2_description解析【上】

rl_sar 中的go2_description功能包如下图所示,主要是用来导入go2机器人的相关的配置第一步可以先运行一下launch文件看看运行效果进入workspace中进行caktin build 建立完成之后运行下面指令可以看一下gazebo 和 rviz中的显示。

2025-03-09 16:56:48 1023

原创 rl_sar(devel version) 中的gazebo_go2.launch解析

wname:世界名称,默认值为 stairs。rname:机器人名称,默认值为 go2。cfg:配置文件名称,默认值为 himloco。将机器人名称、配置名称、ROS 命名空间和 Gazebo 模型名称设置为 ROS 参数。robot_path:定义机器人描述文件的路径,使用 $(find rname_description) 查找包路径。dollar:定义 $ 符号,用于后续路径拼接。这个 Launch 文件的主要功能是:启动 Gazebo 仿真环境并加载指定的世界文件。

2025-03-07 10:58:33 1180 2

原创 rl_sar代码解读——rl_sdk部分

主要是定义了部署所需要的基础结构体和rl底层类,后面可以在这个类的基础上进行继承开发。

2025-03-07 10:58:05 813

原创 IsaacLab 更改关节顺序

这里的代码使用通配符来匹配机器人 USD 文件中的所有关节Instead,我们可以传入一个固定顺序的关节列表,并通过将 preserve_order 设置为 True 来设置我们期望的关节排序。在此稍作记录默认情况下,IsaacLab 使用 BFS 搜索:先找到 Articulation 数的第一层的所有关节,按照首字母顺序排序后再添加下一层的关节,以此类推举个例子,在 IsaacLab 中,宇树 A1 的关节排序如下。在 MuJoCo 中,宇树 A1 的关节排序如下。

2025-02-16 15:23:57 480

原创 ROS编译时报错Project ‘cv_bridge‘ specifies ‘/usr/include/opencv‘ as an include dir, which is not found.

我的路径如下:在​​​/usr/include/opencv4/opencv2​​​路径下。解决办法:在根目录下搜索OPENCV的安装路径。

2024-07-28 12:50:22 408

原创 YOLOv8基础必需运用【目标检测、分割、姿势估计、跟踪和分类任务】

YOLOv8是Ultralytics的最新版本YOLO。作为最先进的 SOTA 模型,YOLOv8 建立在以前版本成功的基础上,引入了新功能和改进,以增强性能、灵活性和效率。YOLOv8 支持全方位的视觉 AI 任务,包括检测、分割、姿势估计、跟踪和分类。这种多功能性使用户能够在不同的应用程序和域中利用YOLOv8的功能。模型中只需要设定不同的训练模型,就可以得到不同的检测结果。

2024-03-03 12:26:01 1814

原创 蓝桥杯入门必备——赛事详解以及参赛建议

蓝桥杯介绍:蓝桥杯全国软件和信息技术专业人才大赛,是由工业和信息化部人才交流中心举办的全国性IT学科赛事。全国1200余所高校参赛,累计参赛人数超过40万人。蓝桥杯大赛连续两年被列入中国高等教育学会发布的“全国普通高校学科竞赛排行榜”,是高校教育教学改革和创新人才培养的重要竞赛项目。对大学生综合评测,奖学金评定,升学考研都有一定助益。大赛共包括三个竞赛组别,个人赛-软件类,个人赛-电子类,以及视觉艺术大赛。其中个人赛-软件类的比赛科目包括C/C++程序设计、Java软件开发、Python程序设计。今年.

2022-01-21 01:10:59 8497

原创 反垄断重锤字节跳动,投资业务原地熄火 腾讯阿里争做“普通公司”

已经成长为中国互联网三大巨头之一的字节跳动,这次可能跳不动了。1月19日,有消息传出,近日字节跳动战略与投资部门遭遇解散,涉及员工约有百人。据了解,负责战投的赵鹏远和战投版部分员工,将放弃投资业务,并入战略业务;而财务投资板块则将彻底解散。一向热爱投资“砸钱”的大厂,如今主动切割投资部门,或许有很大一部分原因是刚下达的。最近网络上出现一则传闻:“互联网公司上市和投融资符合如下两个条件之一的:(1)互联网企业上市及投融资活动中,涉及《市场准入负面清单(2021 年版)》要求许可准入的事项;(2

2022-01-20 00:00:57 5329

gcviewer-1.36-SNAPSHOT

gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNA

2022-09-16

mybatis学习资料

1、包含Mybatis的学习pdf 2、Mybatis的逆向工程文件 3、Mybatis的常用案例

2022-03-12

servlet.rar

1、学习文件 2、安装包 3、典型常用案例 4、视频

2022-03-12

stm32项目—人群定位以及可适应的风扇调节风扇(配套程序和文档)

stm32项目—人群定位以及可适应的风扇调节风扇(配套程序和文档)

2022-01-22

stm32毕业设计_基于stm32的视觉检测设计——(附源码和文档)

stm32毕业设计_基于stm32的视觉检测设计——(附源码和文档)

2022-01-22

Mybatis逆向工程

自动生成配置文件,和相对应的实体类

2022-01-26

Mybatis必备资源包

Mybatis必备资源包

2022-01-31

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

TA关注的人

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