- 博客(57)
- 资源 (8)
- 问答 (2)
- 收藏
- 关注
原创 git clone 速度很慢 解决方法【亲测有效】
使用 代理 或 国内镜像源 可以大幅度提高克隆速度。性能配置(如并行化、压缩)可以有效提升大型仓库克隆的效率。浅克隆可以显著减少数据下载量,适合只需要最新代码的场景。通过 SSH 协议 克隆通常会比 HTTPS 更快。使用 缓存 和 优化 Git 配置 能提高 Git 的整体性能。
2024-12-10 23:37:32
22807
3
原创 深度学习经典网络解析:ResNet
ResNet论文摘要 ResNet通过引入残差结构解决了深度网络中的梯度消失和退化问题。传统深度网络随着层数增加会出现训练困难、准确率下降等问题。ResNet的核心创新是使用跳跃连接(shortcut connection),构建残差块F(x)=H(x)-x,使梯度在反向传播时至少保持为1,确保网络可训练。实验表明,残差结构能有效提升深层网络性能,在ImageNet等数据集上取得突破性成果。ResNet包含两种残差模块(BasicBlock和Bottleneck),通过1x1卷积调整维度匹配,支持构建超过1
2025-10-15 23:06:49
1652
10
原创 机器人学基础(一)【坐标系和位姿变换】
本文介绍了机器人运动学中的坐标系与位姿变换。主要内容包括:1)常用坐标系类型(世界、本体、关节坐标系);2)位姿的齐次矩阵表示法(4×4矩阵包含旋转和平移分量);3)旋转的两种表示方法(欧拉角直观但有万向节死锁问题,四元数计算高效但不易理解);4)坐标系转换的链式计算方法。重点解答了三个关键问题:使用齐次矩阵的优势(统一计算框架)、坐标系间点转换方法(矩阵乘法运算)以及多关节位姿变换原理(通过连续矩阵相乘得到末端位姿)。这些内容为机器人运动学分析提供了理论基础。
2025-10-15 23:04:56
763
原创 变分自编码器VAE 学习笔记
本文首先介绍了KL散度的概念,它衡量两个概率分布之间的差异,通过最小化KL散度可以使分布变得相似。接着讨论了自编码器(AE)和变分自编码器(VAE)的原理。VAE通过构建一个从隐变量Z生成目标数据X的模型,假设后验分布p(Z|X)是正态分布,并使用神经网络拟合分布的参数。为了确保生成能力,VAE让所有p(Z|X)向标准正态分布看齐,通过KL散度作为额外损失来实现。最终VAE既能重构输入数据,又能从标准正态分布采样生成新数据,解决了生成模型难以评估分布相似度的问题。
2025-10-11 16:11:36
858
原创 GRU(门控循环单元) 笔记
GRU(门控循环单元)是一种简化版的循环神经网络,相比LSTM结构更简单但功能相似,能有效解决RNN的长期记忆和梯度问题。GRU通过重置门(r)决定保留多少旧记忆,更新门(z)控制新信息的更新程度,结合候选隐状态生成当前隐状态。其核心公式通过门控机制平衡记忆与遗忘,zt值越接近1保留信息越多,反之遗忘越多。文末提供了GRU的Python实现代码,展示了其具体运算过程。
2025-10-11 16:09:38
771
原创 Learning Humanoid Standing-up Control across Diverse Postures 代码复现(五)
摘要(150字): 本文解析了人形机器人起立控制中奖励函数的分组设计和多评论架构实现。通过配置文件将奖励函数分为四大类:任务核心(task)、正则约束(regu)、运动风格(style)和目标导向(target),分别赋予2.5、0.1、1和1的权重。设计采用前缀命名机制(如regu_、style_)自动实现分组映射,提升可扩展性。计算过程采用乘积机制处理核心任务奖励,加法机制处理约束奖励,通过解析函数名前缀自动归类。该架构在/HoST/legged_gym/envs/base/host_ground.py
2025-06-18 17:51:50
299
原创 Learning Humanoid Standing-up Control across Diverse Postures 代码复现(六)
本文介绍了RSL-RL框架中实现多评价(Multi-Critic)架构的技术细节。该架构针对人形机器人多姿态站立控制问题,将传统单一评价网络改进为多个专门评价网络组,分别处理任务目标、动作平滑、风格控制和目标维持四类奖励函数。系统采用分组价值估计和动态权重融合策略,通过PPO算法协同优化,显著提升了训练稳定性和控制性能。核心实现包括OnPolicyRunner的参数配置和ActorCritic网络结构调整,其中评价网络采用模块化设计,每个专用Critic具有独立的MLP结构。实验结果表明,这种分组评价机制有
2025-06-18 17:51:28
377
原创 Learning Humanoid Standing-up Control across Diverse Postures 代码复现(四)
本文对比分析了机器人大腿方向奖励函数(_reward_thigh_ori)的设计要点。该函数通过计算大腿向量与垂直方向的夹角余弦值,评估起身阶段的大腿姿态合理性。与小腿方向奖励不同,它采用最小值聚合策略(torch.min)而非平均值(torch.mean),遵循"最弱环节"原则,确保任何一条大腿姿态不当都会被惩罚。函数计算过程包含:1)提取膝盖和大腿根部位置;2)计算方向向量并归一化;3)取双腿方向余弦最小值作为评判标准。这种设计更关注大腿这一承重关键部件的稳定性,避免平均值掩盖单腿问
2025-06-17 10:32:07
223
原创 Learning Humanoid Standing-up Control across Diverse Postures 代码复现(三)
本文分析了HoST框架中分阶段奖励设计的代码实现,重点关注初始起身阶段的奖励函数设计。摘要如下: 阶段划分:站立过程分为三个阶段,每个阶段设置不同的基座高度阈值(0.45m、0.45m、0.65m) 阶段1核心奖励函数: 方向奖励:通过重力投影评估身体直立程度,采用高斯/非高斯两种模式计算 角速度奖励:惩罚xy轴转动以保持稳定,使用指数衰减函数计算 代码特点: 奖励函数与阶段高度条件绑定 提供多种计算模式(如tolerance函数、MSE误差) 采用激活机制确保奖励适时生效 该设计通过分阶段激活不同奖励,引
2025-06-17 10:29:36
383
原创 Learning Humanoid Standing-up Control across Diverse Postures 代码复现(二)
当执行命令时,HoST项目启动了一个完整的强化学习训练流程。本文档将详细分析整个训练过程的执行逻辑和代码实现。这个是参考的流程图# 完整的训练执行流程def 完整训练流程():"""HoST训练的完整执行序列"""# 1. 启动阶段args = get_args() # 解析 --task=g1_ground --run_name=test_g1# 2. 环境创建阶段# -> 查找已注册的 LeggedRobotGround 类# -> 加载 G1CfgGround 配置。
2025-06-13 19:23:39
201
原创 Learning Humanoid Standing-up Control across Diverse Postures 代码复现(二)
🧠 分层奖励设计: 基于人类学习的四层奖励架构🎮 自适应课程学习: 动态调节辅助力和训练难度🌍 全面域随机化: 多维度物理和控制参数随机化。
2025-06-13 19:23:04
1012
原创 Learning Humanoid Standing-up Control across Diverse Postures 代码复现(一)
本文主要是讲解了Host代码架构以及项目的安装过程,同时讲解train和play如何去运行以及可视化等是一个专注于人形机器人站立控制的深度强化学习项目,致力于解决人形机器人从各种躺卧姿态(仰躺、俯躺、侧躺)安全站立起来的挑战性问题。
2025-06-12 11:18:00
673
原创 强化学习算法笔记——PPO【理论+rsl-rl代码】
本文深入解析了PPO算法的完整实现,从网络架构到训练流程。代码分析覆盖了5个核心模块:1) 类初始化阶段处理设备配置、KL散度自适应学习率、RND内在奖励模块和对称性学习;2) 经验存储初始化管理并行环境数据;3) 动作选择模块实现策略网络采样与价值评估;4) 环境交互处理奖励计算和状态重置;5) 优势估计采用GAE算法计算回报值。特别展示了如何通过last_values引导计算、TD误差delta和advantage递归公式实现广义优势估计,并支持优势值归一化处理。整个实现体现了PPO算法在工程实践中的关
2025-06-12 11:17:36
2924
原创 论文解读《Learning Humanoid Standing-up Control across Diverse》交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(六)
论文解读系列完成🔬 方法论深度解析: 多评论结构、平滑性正则化、域随机化等核心技术🧪 实验结果全面分析: 仿真验证、真实场景测试、涌现性质验证💡 技术启发总结: 可借鉴的RL训练技术和方法论🎯 战略思考分享: 人形机器人强化学习的发展路径问题。
2025-06-11 10:39:12
206
原创 论文解读《Learning Humanoid Standing-up Control across Diverse》交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(五)
我们在前面的文章中,完整介绍了论文《Learning Humanoid Standing-up Control across Diverse Postures》(人形机器人多姿态起立控制策略的学习方法)的仿真实验及其结果分析。今天我们来看真实场景实验的结果和分析。今天我们介绍了《Learning Humanoid Standing-up Control across Diverse Postures》(人形机器人多姿态起立控制策略的学习方法)这篇论文的真实场景实验结果和分析部分的内容。
2025-06-11 10:38:56
203
原创 论文解读《Learning Humanoid Standing-up Control across Diverse》交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(四)
我们在前面的文章《论文深度解读 + 算法与代码分析 (三)— 交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态自主站立强化学习框架》中,完整介绍了论文《Learning Humanoid Standing-up Control across Diverse Postures》(人形机器人多姿态起立控制策略的学习方法)的核心实现方法的各个部分。今天我们来看看论文中是如何进行训练完成后的仿真实验的。
2025-06-10 21:39:03
485
原创 论文解读《Learning Humanoid Standing-up Control across Diverse》交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(三)
L2C2 全称LipschitzConstrainedCL2中文含义: 基于 L2 正则化的 Lipschitz 约束控制核心思想: 通过约束策略网络和价值网络在相近状态下的输出变化幅度,使得机器人的动作更加平滑连贯。
2025-06-10 21:02:26
400
原创 论文解读《Learning Humanoid Standing-up Control across Diverse》交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
📖论文概述- 研究背景和意义🎯引言部分- 核心问题和挑战🔍相关工作- 现有方法对比分析🧮问题抽象建模- MDP建模和数学表示今天我们继续深入探讨核心的实现部分,重点分析HoST框架的技术细节和创新方法。HoST框架是一个用于学习仿人机器人在多种姿态下自主起立的强化学习系统。该任务具有以下特点:🎯⚡高度动态- 涉及复杂的动力学过程🔄多阶段结构- 翻身→起身→站立的连续过程🤝复杂接触控制- 机器人与环境的多点接触这些特征给常规的强化学习方法带来巨大挑战。容忍函数"""容忍函数实现。
2025-06-09 17:09:14
779
原创 论文解读《Learning Humanoid Standing-up Control across Diverse》交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
是一个从零开始训练的强化学习框架,具备以下核心特点:🎯✅多评论架构课程式训练→ 提升适应性✅动作平滑正则化隐式速度限制→ 抑制抖动✅零微调部署→ 直接在Unitree G1上运行✅多场景验证→ 室内外环境均表现稳定元素含义具体内容S状态空间机器人本体感知信息A动作空间关节目标位置变化量T状态转移函数物理仿真引擎R奖励函数多维度奖励设计γ折扣因子长期奖励权衡。
2025-06-09 15:24:21
895
原创 robot_lab play的整体逻辑
本文档详细分析了使用命令 进行Go2机器人推理的完整流程,基于实际的代码实现,包括模型加载、环境配置调整、推理循环以及可视化等关键组件。关键推理参数:2. 环境配置调整(推理专用优化)2.1 基础环境配置加载2.2 推理专用环境调整推理环境优化说明:键盘控制特点:检查点查找优先级:3.3 模型加载和初始化模型加载特点:导出格式说明:5.2 推理循环特点性能优化:交互功能:循环控制:实时特性:键盘映射:7. 视频录制系统7.1 录制配置7.2 录制流程录制特点:
2025-06-07 20:21:05
1088
原创 rl_sar实现sim2real的整体思路
是一个基于强化学习的真实 Unitree Go2 四足机器人控制系统。该系统通过 DDS 通信协议与真实机器人进行交互,运行训练好的神经网络模型来实现机器人的自主运动控制。
2025-06-07 19:32:39
1701
原创 MDP的 Commands模块
commands模块是 Isaac Lab 中负责生成和管理机器人任务命令的核心系统。它为强化学习环境提供了多样化的目标命令生成机制,是任务导向训练的重要组成部分。"""自定义连续命令生成器# 初始化自定义逻辑# 实现自定义采样逻辑pass# 实现自定义更新逻辑pass# 实现自定义度量计算pass"""自定义离散命令生成器# 初始化命令集合和权重# 基于权重的采样逻辑# 更新命令状态passCommands 模块是 Isaac Lab 中任务导向训练的核心。
2025-06-06 22:39:30
1314
原创 robot_lab——rsl_rl的train.py整体逻辑
本文档详细分析了使用命令训练Go2机器人的完整流程,包括底层实现细节、MDP组件的使用以及Manager系统的工作原理。顶层:训练脚本和命令行接口配置层:Hydra配置系统和环境参数环境层:Isaac Sim物理仿真和场景管理Manager层:观测、动作、奖励、终止、事件管理MDP层:具体的状态转移、奖励计算函数算法层:RSL-RL的PPO实现底层:GPU加速的物理仿真和张量计算。
2025-06-06 22:38:44
2561
原创 rl_sar实现sim2sim的整体逻辑
本文摘要:Gazebo仿真环境启动与Go2机器人控制程序实现。第一阶段详细介绍了Gazebo仿真环境搭建过程,包括参数解析、物理仿真器启动、机器人URDF模型处理、关节控制器配置及辅助节点部署,最终实现仿真环境初始化。第二阶段描述了基于ROS的C++控制程序实现,包括信号处理、参数读取、YAML配置文件解析和观测空间配置等关键步骤,为后续强化学习控制提供基础框架。整个系统采用模块化设计,通过ROS进行组件间通信,实现了仿真环境与控制程序的有效集成。
2025-06-05 15:45:48
1648
原创 RobotJointController详解
本文详细解析了RobotJointController的代码实现,重点包括: 架构设计:继承ROS控制器接口,采用力矩控制模式(EffortJointInterface),支持动态加载和阻抗控制。 核心功能: 初始化流程:参数获取、URDF解析、硬件连接建立 实时控制循环:实现阻抗控制算法(τ=Kp×误差+Kd×速度误差+前馈力矩) 安全机制:提供位置、速度、力矩三重限幅保护 关键特点: 使用特殊值标记停止命令(PosStopF/VelStopF) 采用实时缓冲区保证控制周期稳定性 支持状态实时发布与命令订
2025-06-05 15:45:07
1187
原创 MDP的recoders部分
只记录策略观测# 自定义数据路径# 只导出成功的回合self.scene.num_envs = 32 # 自定义环境数量。
2025-06-04 15:48:49
1146
原创 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
1139
原创 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
1187
原创 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
791
原创 MDP的curriculums部分
这是一个基于机器人行走距离的地形难度自适应课程学习策略函数。它根据机器人在给定速度命令下实际行走的距离,自动调整训练环境中的地形难度级别。
2025-06-02 20:01:49
1368
原创 MDP中的events部分
摘要(149字): events.py是IsaacLab实现域随机化的核心模块,主要用于强化学习训练中的物理参数随机化。该文件提供随机化刚体材质物理属性(摩擦系数、恢复系数)的功能,通过创建多组随机材质并分配给几何体,提升策略泛化能力。关键类randomize_rigid_body_material支持静/动摩擦系数和恢复系数的范围采样,可确保物理约束(动摩擦≤静摩擦),并优化材质分配性能。该模块通过环境多样性模拟缩小仿真与现实差距,是Sim-to-Real转换的重要工具,同时支持地形感知和渐进式重置策略。
2025-06-02 20:00:44
1420
原创 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
1512
原创 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
1949
原创 Ubuntu本地文件上传github(版本控制)
摘要:本文详细介绍了如何将本地项目上传至GitHub的完整流程。从创建GitHub账号、安装配置Git开始,到初始化本地仓库、关联远程仓库,最后提交推送代码。文章包含6个主要步骤:1)准备Git环境;2)创建GitHub仓库;3)初始化本地仓库;4)关联远程仓库;5)提交代码;6)验证结果。另附常见问题处理方法,如查看/修改远程仓库地址等操作命令。所有操作均提供具体示例代码,适合Git初学者快速掌握项目上传GitHub的基本方法。
2025-05-30 21:18:00
1385
原创 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
1937
原创 强化学习算法笔记【PPO】
PPO算法原理与实践摘要 PPO(Proximal Policy Optimization)是一种基于重要性采样的强化学习算法,通过GAE(Generalized Advantage Estimation)计算优势函数,结合策略梯度更新。其核心在于: 重要性采样:利用旧策略样本估计新策略期望,通过概率比修正偏差 GAE优势计算:综合多步TD误差,平衡偏差与方差 Clip机制:限制策略更新幅度,确保训练稳定性 代码实现包含: 连续动作空间策略网络(输出高斯分布参数) 优势函数计算(GAE) PPO更新过程:
2025-05-27 11:33:13
515
原创 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
914
原创 RND(随机网络蒸馏,Random Network Distillation)
随机网络蒸馏(RND)是一种由OpenAI提出的无监督探索奖励机制,旨在解决强化学习(RL)中外部奖励稀疏或缺失的问题。RND通过预测误差驱动探索,利用一个固定的随机目标网络和一个可训练的预测网络,计算预测误差作为内在奖励,鼓励智能体探索新颖状态。RND的网络结构包括目标网络和预测网络,二者具有相同结构但参数不同。RND与PPO(近端策略优化)结合,通过内在奖励增强PPO在奖励稀疏环境下的学习能力,提高数据效率。RND在RSL-RL中的实现通过检查RND配置和计算内外奖励,影响策略更新,从而优化智能体的探索
2025-05-09 13:57:25
1160
原创 RslRlOnPolicyRunnerCfg 学习
RslRlOnPolicyRunnerCfg 是用于配置基于策略(On-Policy)强化学习训练流程的类,主要包含三个核心部分:RslRlPpoActorCriticCfg、RslRlPpoAlgorithmCfg 和 RslRlOnPolicyRunnerCfg。RslRlPpoActorCriticCfg 定义了 Actor-Critic 网络的结构,包括隐藏层维度、激活函数和初始噪声标准差等。RslRlPpoAlgorithmCfg 配置了 PPO 算法的超参数,如剪切系数、熵系数、折扣因子等。Rs
2025-05-09 13:56:35
1669
原创 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
1063
gcviewer-1.36-SNAPSHOT
2022-09-16
蓝桥杯如何准备!希望广大博主留言
2022-03-11
开发小团队->鸿展科技
2021-11-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅