自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 jetson上trtexec模型转换

trtexec模型转换

2026-05-22 17:53:37 220

原创 jetson agx xaviar刷机过程

nvidia jetson agx xaviar刷机过程,以及可能遇到的坑

2026-05-22 10:52:35 559

原创 强化学习论文(Double-DQN)

本论文作者主要是解决了在Q-Learning方法中对于q-value的过高估计的问题。

2026-04-21 16:04:26 257

原创 强化学习论文(PPO)

在强化学习中,经常会面临梯度更新过大,导致训练不稳定,甚至崩溃的问题。为了解决该问题,诞生了TPRO(Trust Region Policy Optimization,TRPO)算法。TPRO算法实现起来比较复杂,需要二阶优化,并且与包括噪声(诸如丢弃)或参数共享(在策略和值函数之间,或与辅助任务)的架构不兼容。针对这些问题,本论文提出了PPO算法。

2026-04-21 10:40:21 412

原创 强化学习论文(A3C)

摘要:A3C(异步优势演员-评论家)算法采用多线程并行探索策略,通过在线学习替代传统DQN/DDPG的回放缓冲区机制。多个agent在独立环境中异步探索,产生多样化数据并避免互斥锁问题。算法核心包括全局网络和线程本地网络,采用n步更新策略,其中优势函数计算和策略熵正则化(通过超参数β控制)增强了探索能力。该框架可适配多种算法变体,如异步Q学习、SARSA等,通过差异化的TD目标计算实现高效学习。

2026-04-18 20:58:27 205

原创 强化学习论文(DDPG)

DDPG(深度确定性策略梯度)是一种适用于连续动作空间的强化学习算法,结合了DQN和Actor-Critic方法。它通过四个神经网络(critic、actor及其目标网络)实现端到端学习,特别适合高维输入(如图像)的直接动作输出(如自动驾驶)。算法采用经验回放机制,通过soft update渐进更新目标网络参数以保证稳定性。与DQN不同,DDPG直接输出连续动作值(如电机扭矩),避免了离散动作空间的限制。其创新点包括:经验回放缓冲区的动态管理、critic网络的梯度下降更新和actor网络的梯度上升优化。

2026-04-17 15:06:17 61

原创 强化学习(10)--Actor-Critic方法

本文总结了赵世钰老师《强化学习数学基础》课程中关于策略梯度方法的进阶内容。主要包括三类Actor-Critic算法:1)QAC算法,通过神经网络分别近似策略和Q值;2)A2C算法,引入优势函数作为baseline降低方差,提升收敛性;3)Off-policy Actor-Critic算法,结合重要性采样等技术实现异策略学习;4)确定性策略梯度方法,处理确定性策略场景。文章详细推导了各类算法的数学原理,包括优势函数的引入动机、最优baseline设计等,并给出了伪代码实现。

2026-04-14 10:09:51 364

原创 强化学习(9)--策略梯度方法

本文介绍了基于策略梯度的强化学习方法。首先提出两种评估策略的指标:平均状态价值和平均奖励,并证明其等价性。然后推导出策略梯度的统一计算公式,并给出蒙特卡罗策略梯度(REINFORCE)算法的实现。该算法通过随机梯度上升优化策略参数,既能利用高回报动作(exploit),又能探索低概率高回报动作(explore)。最后展示了REINFORCE算法的伪代码实现,该算法通过调整动作选择概率来平衡探索与利用。

2026-04-12 15:41:47 397

原创 强化学习(8)--值函数近似

本文总结了强化学习从表格法到函数近似法的转变过程。首先介绍了传统表格法在状态空间较大时的局限性,进而提出使用函数近似(如线性函数或神经网络)来表示价值函数的方法。重点讨论了基于时序差分(TD)的价值函数近似、Q-learning的函数近似实现,以及深度Q网络(DQN)的关键技术,包括双网络结构、经验回放机制等。文章通过对比表格法和函数法的差异,阐述了函数近似在泛化能力和计算效率上的优势,并给出了相应的伪代码实现。最后指出,虽然线性近似易于理解,但神经网络在处理复杂任务时更具优势。

2026-04-12 09:24:05 344

原创 强化学习(7)--时序差分方法

本文基于赵世钰《强化学习数学基础》课程,系统总结了TD算法的推导与应用。首先从贝尔曼公式出发,推导出TD0算法的基本形式,指出其model-free特性及只能估计状态值的局限性。随后介绍了Sarsa算法及其n-step扩展,以及Q-learning的核心思想。文章重点分析了on-policy和off-policy的本质区别:前者行为策略与目标策略相同(如Sarsa),后者则不同(如Q-learning)。通过伪代码对比,阐明了两种策略在算法实现上的差异,并探讨了将算法改写为不同策略形式的可能性。

2026-04-10 16:55:59 398

原创 强化学习(6)--一些基础理论

说明:本系列文章是我在学习了西湖大学赵世钰老师的《Mathematical Foundations of Reinforcement Learning》一书后的学习笔记,在B站上有赵老师的完整课程视频。本文介绍了一些强化学习依赖的重要理论工具,包括前面提到的压缩映射和在后文中要用到的重要性采样等理论,我都放在了这篇文章内。

2026-04-09 08:37:11 383

原创 强化学习(5)--蒙特卡罗方法

本文介绍了基于赵世钰《强化学习数学基础》的蒙特卡洛学习方法。当环境模型未知时,需依靠数据实现model-free学习。MCBasic算法通过采样episode估计动作价值函数(而非状态价值),避免了依赖环境模型。进阶方法MC Exploring Starts通过every-visit采样提高数据利用率,采用epsilon-greedy策略平衡探索与利用,并通过衰减系数逐步降低探索率以稳定收敛。这些方法在缺乏环境模型时,通过数据驱动方式有效求解最优策略。

2026-04-08 09:58:06 475

原创 强化学习(4)--值迭代算法&策略迭代算法

本文总结了强化学习中的值迭代、策略迭代和截断策略迭代算法。值迭代通过直接求解贝尔曼最优方程(BOE)来获得最优策略;策略迭代则先评估给定策略的状态值,再通过贪婪策略改进,交替进行直至收敛;截断策略迭代在策略评估阶段采用有限步数近似。文章分析了三种算法的异同:值迭代直接计算max(q),策略迭代使用mean(q)计算状态值后改进策略。同时解释了策略改进的有效性证明和算法收敛性保证。这些方法都通过计算状态值来获取贪婪策略,最终实现最优策略的求解。

2026-04-07 14:50:21 414

原创 强化学习(3)--最优状态价值&最优策略

本文基于西湖大学赵世钰老师的强化学习课程,探讨了最优状态价值和最优策略的定义与求解方法。最优策略要求在所有状态下其state value都不低于其他策略。通过贝尔曼最优方程(BOE)可求解最优状态价值,该方程具有唯一解且可通过值迭代方法求解。值得注意的是,最优状态价值唯一但最优策略可能不唯一,且最优策略可以是确定性或随机性的。文章还分析了影响最优策略的三个关键因素:即时奖励(线性影响)、折扣率(权衡近期与长期收益)和系统模型。

2026-04-07 10:18:59 325

原创 强化学习(2)--状态值&贝尔曼方程

本文摘要: 文章主要讨论了强化学习中的几个核心概念:returns的重要性、状态价值(state value)和贝尔曼方程(Bellman equation)。首先通过实例比较了不同策略的优劣,指出returns是评估策略效果的关键指标。其次详细解释了状态价值的计算方法,特别是在随机策略下需要通过期望值来评估。然后重点介绍了贝尔曼方程的推导过程,包括其矩阵形式和迭代求解方法。最后讨论了行动价值(action value)的概念及其与状态价值的关系,并给出了action value形式的贝尔曼方程表示。

2026-04-06 20:08:58 427

原创 强化学习(1)--基本概念

本文是作者学习西湖大学赵老师《Mathematical Foundations of Reinforcement Learning》一书的学习笔记。文章以gridworld为例,探讨如何找到从任意位置到达目标区域的最佳策略。强化学习的核心是让智能体(agent)通过在不同状态下选择动作,与环境交互获得奖励,从而学习最优策略(policy)。书中内容和配套视频课程可在B站观看。

2026-04-06 10:53:45 365

转载 【BLDC驱动】分析同步续流与体二极管续流

驱动方式大致可以描述为,高电压端PWM驱动上桥,且高电压端以反向PWM驱动下桥,低电压端以普通IO口驱动下桥。电机转动线圈切割永磁体的磁场,在U、V、W三端产生相对电压,如果将2端或3端连接,形成回路,动能就可以转化为电能然后转化为热能,仍然以A-B相导通为例,在一个PWM周期内,当PWM由高电平进入低电平,也就是Q1由导通变为关断,此时原回路消失,仍然以A-B相导通为例,在一个PWM周期内,当PWM由高电平进入低电平,也就是Q1由导通变为关断,此时原回路消失,大前提,采用二二导通,六步电流换向驱动。

2022-10-21 10:28:10 7435 1

原创 嵌入式Linux开发环境搭建

Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。使用NFS可以使应用程序的开发变得十分方便, 客户端不需要大容量的存储器,更不需要进行映像文件的烧录和下载,只要mount到服务器端的特定目录下,然后运行该目录下的程序即可观察到结果。工欲善其事,必先利其器。

2022-09-12 07:35:42 2712

原创 FreeRTOS学习总结 (二)

软件计时器由FreeRTOS内核实现,并在其控制之下。它们不需要硬件支持,也与硬件计时器或硬件计数器无关。软件计时器功能是可选的。要使用软件计时器功能:1、构建FreeRTOS源文件 FreeRTOS/Source/timers.c作为项目的一部分。2、在FreeRTOSConfig.h中将configUSE_TIMERS设置为1。软件计时器回调函数从开始执行到结束尾执行,并以正常方式退出。它们应保持短小,并且不能进入阻塞状态。软件定时器的回调函数,是在一个FreeRTOS调度器启动时,

2022-09-07 13:05:15 1015

原创 STM32,FreeRTOS,Tracealyzer,J-link RTT流模式,无数据上传问题解决

哈,xPortSysTickHandler()和SysTick_Handler()的这两个函数都是systick 的中断处理函数,为了保险起见,在工程中搜索这两个函数,发现没有任何其他引用,果断注释掉FreeRTOSConfig.h文件中#define xPortSysTickHandler SysTick_Handler。至于为什么FreeRTOSConfig.h中会这么定义,下次再研究,晚上12点了,睡觉!4、我的J-LINK一直提示clone,但能正常使用,我为了排除硬件原因,新买了一个,还是不行。

2022-09-06 23:50:39 1244 2

原创 FreeRTOS学习总结 (一)

上图是从FreeRTOS官网下载的源文件目录,移植所需要的文件都在Source文件夹下如上图,在工程文件夹下创建FreeRTOS文件夹,子文件夹和相应文件,均从Source文件夹下直接copy即可。FreeRTOS的内核文件,新手直接无脑copy。(对于熟手如果你的工程不需要用到队列,或者事件组等,可以不需要相关文件)硬件相关,在Source\portable[IDE][Target Device]文件夹下先找到你用的IDE工具文件夹,在里面再找到目标硬件的文件夹,直接COPY。

2022-09-06 08:10:30 1029

原创 FeeRTOS在STM32中是如何使用内存的

在使用STM32编程时,一般情况下我们不会关注堆栈空间的大小,因为在STM32的启动文件中,已经帮我们预先设置好了堆栈空间的大小。以上关系搞清楚,那么又该如何定heap的空间大小呢,可以先进行一个粗略的计算,假设任务1分配2kbytes栈,任务2分配3kbytes栈,队列大概占1k,用户malloc大概2k,这么算一共就是8k。运行freertos系统的大部分都是资源有限的MCU,所以对于ram我们都要考虑尽量的节省,避免资源浪费,从而也可以针对项目选择性价比更好的mcu。RAM可读可写,掉电清零。

2022-09-02 14:59:37 1964 1

转载 FreeRTOS移植

FreeRTOS包含Demo例程和内核源码(比较重要,我们就需要提取该目录下的大部分文件)。Source文件夹里面包含的是FreeRTOS内核的源代码,我们移植FreeRTOS的时候就需要这部分源代码;Demo 文件夹里面包含了FreeRTOS官方为各个单片机移植好的工程代码,FreeRTOS为了推广自己,会给各种半导体厂商的评估板写好完整的工程程序,这些程序就放在Demo这个目录下,这部分Demo非常有参考价值。...

2022-08-26 21:51:53 3841

原创 FreeRTOS 教程指南 学习笔记 第九章 任务通知

我们已经看到,使用FreeRTOS的应用程序被构建为一组独立的任务,这些自主任务很可能必须相互通信,以便它们能够共同提供有用的系统功能。

2022-08-26 11:50:47 467 1

原创 FreeRTOS 教程指南 学习笔记 第八章 事件组

人们已经注意到,实时嵌入式系统必须对事件采取相应的行动。前几章描述了FreeRTOS允许事件和任务之间通信的特性。它们允许任务在阻塞状态下等待单个事件的发生。他们在事件发生时解除阻塞单个任务——解除阻塞的任务是等待该事件的最高优先级任务。事件组是FreeRTOS的另一个特性,它允许事件通信给任务。事件组允许任务在阻塞状态下等待其中一个事件的组合发生。事件发生时,事件组取消阻塞等待同一事件或事件组合的所有任务。

2022-08-24 10:05:27 478

原创 FreeRTOS 教程指南 学习笔记 第七章 资源管理

在多任务处理系统中,如果一个任务开始访问一个资源,但在切换出运行状态之前没有完成其访问,则可能会出现错误。如果任务使资源处于不一致的状态,那么通过任何其他任务或中断访问同一资源都可能导致数据损坏或其他类似问题。访问外设请考虑以下场景,其中两个任务试图写入液晶显示器(LCD)。1.1 任务A执行并开始将字符串“Hello world”写入LCD。1.2 任务A在输出字符串“Hello w”后被任务B抢占。1.3 任务B在进入阻塞状态之前将“Abort, Retry, Fail?”写入LCD。

2022-08-23 15:00:59 808

原创 FreeRTOS 教程指南 学习笔记 第六章 中断管理(二)

xQueueSendToFrontFromISR()是xQueueSendToFront()的中断安全版本,xQueueSendToBackFromISR()是xQueueSendToBack()的中断安全版本,xQueueReceiveFromISR()是xQueueReceive()的中断安全版本。在某些处理器上,分配给中断的数字优先级越高,中断的逻辑优先级就越高,而在其他处理器架构上,分配给中断的数字优先级越高,中断的逻辑优先级就越低。当使用这样的函数时,图62中所示的优先级必须指定为十进制5。

2022-08-21 11:42:05 1102

原创 FreeRTOS 教程指南 学习笔记 第六章 中断管理(一)

嵌入式实时系统必须响应来自环境的事件。例如,到达以太网外围设备(事件)上的数据包可能需要传递给TCP/IP栈以进行处理(操作)。非平凡的系统将不得不服务于来自多个来源的事件,所有这些事件都将有不同的处理开销和响应时间要求。应该如何检测到该事件?通常使用中断,但输入也可以进行轮询。当使用中断时,应在中断服务例程(ISR)内部执行多少处理,以及在外部执行多少处理?通常希望保持每个ISR尽可能短。如何将事件通信到主(非ISR)代码,以及如何构建这些代码以最好地适应潜在异步发生的处理?

2022-08-21 08:29:53 300

原创 FreeRTOS 教程指南 学习笔记 第五章 软件计时器

软件计时器用于在未来设定的时间,或以固定的频率定期安排功能的执行。由软件计时器执行的函数称为软件计时器的回调函数。软件计时器由FreeRTOS内核实现,并在其控制之下。它们不需要硬件支持,也与硬件计时器或硬件计数器无关。请注意,根据FreeRTOS使用创新设计以确保最大效率的理念,软件计时器不占用任何处理时间,除非软件计时器回调函数实际执行。软件计时器功能是可选的。构建FreeRTOS源文件 FreeRTOS/Source/timers.c作为项目的一部分。

2022-08-19 16:34:13 1494

原创 FreeRTOS 教程指南 学习笔记 第四章 队列管理

如何创建一个队列。队列如何管理其包含的数据。如何将数据发送到队列。如何从队列中接收数据。在队列上阻塞的含义。如何在多个队列上阻塞。如何覆盖队列中的数据。如何清除一个队列。写入队列和阅读队列时任务优先级的影响。本章中只介绍了任务到任务的通信。第6章介绍了任务中断和中断到任务通信。

2022-08-19 12:26:04 1092

原创 FreeRTOS 教程指南 学习笔记 第一章 简介

本章包含的内容有:1. 帮助用户使用FreeRTOS文件和目录,提供FreeRTOS目录结构的顶级视图。2. 描述任何特定的FreeRTOS项目实际上需要哪些文件。3. 介绍了演示应用程序。4. 提供有关如何创建新项目的信息。...

2022-08-18 18:24:55 1145

原创 FreeRTOS 教程指南 学习笔记 第三章 任务管理(二)

实际正在运行的任务(使用处理时间)处于“正在运行”状态。在单核处理器上,在任何给定时间只能有一个处于运行状态的任务。未实际运行但未处于阻止状态或挂起状态的任务处于“就绪”状态。调度程序可以选择处于就绪状态的任务作为进入运行状态的任务。调度程序将始终选择优先级最高的就绪状态任务以输入正在运行的状态。任务可以在“阻止”状态下等待事件,并在事件发生时自动移动回“就绪”状态。时间事件发生在特定的时间,例如,当阻塞时间超时溢出时,通常用于实现周期性或超时行为。......

2022-08-18 18:10:31 977

原创 FreeRTOS 教程指南 学习笔记 第三章 任务管理(一)

FreeRTOS如何为应用程序中的每个任务分配处理时间。FreeRTOS如何选择在任何给定时间应该执行的任务。每个任务的相对优先级如何影响系统行为。任务可以存在的状态。如何实现任务。如何创建一个或多个任务的实例。如何使用任务参数。如何更改已经创建的任务的优先级。如何删除一个任务。如何使用任务实现周期性处理(软件计时器将在后面的一章中讨论)。空闲任务的执行时间以及如何使用它。.........

2022-08-18 15:49:54 260

原创 FreeRTOS 教程指南 学习笔记 第二章 内存管理

本书的以下章节将介绍内核对象,如任务、队列、信号量和事件组。为了使FreeRTOS尽可能容易使用,这些内核对象不是在编译时静态分配,而是在运行时动态分配;FreeRTOS在每次创建内核对象时分配RAM,并在每次删除内核对象时释放RAM。此策略减少了设计和规划工作,简化了API,并最小化了RAM占用。本章讨论了动态内存分配。动态内存分配是一个C语言编程的概念,而不是一个特定于FreeRTOS或多任务处理的概念。......

2022-08-18 09:41:29 658

论文翻译MD2E: Modeling Depth-to-Edge Cues for Monocular Metric Depth Estimation

内容概要:本文提出MD2E,一种无需相机内参即可实现单目度量深度估计(MMDE)的新方法。该方法通过建模“深度-边缘”线索,将稠密深度标注转化为边缘图进行监督,并引入谱分位数估计器(SQE)分析预测边缘图的傅里叶谱,生成一个标量分数tpred作为度量尺度的代理,用于校准深度预测。同时,边缘预测被用于正则化深度边界,提升细节锐度。实验表明,MD2E在零样本和微调设置下均优于现有最先进方法,在多个室内外数据集上实现了更准确、更清晰的度量深度估计。; 适合人群:从事计算机视觉、深度估计、机器人感知等领域的研究人员与工程师,具备深度学习与图像处理基础知识的研究生及以上学者。; 使用场景及目标:①解决无相机参数条件下的单目度量深度估计难题;②提升跨设备、跨场景的深度预测泛化能力;③在自动驾驶、数字孪生、增强现实等应用中实现无需标定的精确三维感知。; 阅读建议:建议结合论文中的图示与消融实验深入理解SQE的设计动机与边缘监督的有效性,重点关注其如何利用频域特征替代传统相机参数进行尺度校准,为无标定深度估计提供新思路。

2026-08-27

比亚迪7412 datasheet 中文

比亚迪7412 datasheet 中文

2022-12-17

哈工大 IC设计工具原理 cadence 教程

IC设计工具原理 (Cadence应用) 哈尔滨工程大学微电子学专业 第一章 IC设计基础 第二章 EDA概述 第三章Cdence的系统组织结构 第四章 模拟IC设计环境ADE

2012-11-06

SI9000 阻抗 计算 说明

外层单端 外层差分 内层单端 同层差分 外层单端共面地 外层差分共面地

2012-11-06

visual 2008 C# MDI 多文档 工程 实例

一个简单,易学的,易于理解的,C# MDI 多文档的工程实例。

2012-11-06

空空如也

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

TA关注的人

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