- 博客(489)
- 收藏
- 关注
原创 ESP-IDF中的FreeRTOS实战指南
RTOS(实时操作系统)是嵌入式系统开发的重要工具,尤其当程序功能复杂时,FreeRTOS能有效管理多任务运行。相比裸机程序,FreeRTOS通过任务调度避免了功能模块间的阻塞问题,提高了程序效率。FreeRTOS的任务分为运行、准备就绪、阻塞和挂起四种状态,开发者可通过API函数创建和管理任务。此外,队列、信号量和互斥锁等机制可实现任务间的安全通信。FreeRTOS因其开源免费特性,被广泛应用于各类芯片SDK中,掌握其使用对嵌入式开发至关重要。
2025-09-05 10:00:00
191
原创 基于TF-IDF+KMeans聚类算法构建中文文本分类模型
本文介绍了TF-IDF算法和KMeans聚类的基本原理及应用。TF-IDF通过统计词频和逆文档频率评估词语重要性,KMeans通过相似度划分数据簇。文章详细阐述了TF-IDF的计算步骤、KMeans的聚类流程及距离度量方法,并提供了K值选择的评估策略。最后展示了基于Python环境的项目实战,通过这两种算法构建中文文本分类模型。全文涵盖了算法原理、实现步骤和实际应用,为文本挖掘任务提供了完整的技术方案。
2025-09-04 10:00:00
410
原创 基于YOLO的小目标检测算法的研究与应用
YOLOv8算法框架通过改进主干网络、特征融合和检测头设计,提升目标检测精度和效率。针对小目标检测的不足,研究引入混合注意力机制(SAM/CAM)和双向特征金字塔(BiFPN)优化特征提取与融合,其中BiFPN通过精简节点和跳跃连接实现高效多尺度特征交互。该算法在保持计算效率的同时,显著提升了小目标检测性能。
2025-09-03 10:00:00
463
原创 Mongoose网络库深度解析:从单线程到多线程的架构演进
Mongoose是一个轻量级跨平台C网络库,解决了C/C++网络编程中的兼容性和依赖管理难题。其核心设计仅包含两个文件,支持HTTP、WebSocket等多种协议,采用事件驱动架构实现高并发处理。关键特性包括:跨平台运行能力(从服务器到嵌入式设备)、丰富的协议支持、高效的事件循环机制(mg_mgr_poll)和极低的内存占用。Mongoose通过连接管理器(mg_mgr)和回调机制简化了网络编程,特别适合资源受限环境,使开发者能专注于业务逻辑而非底层网络细节。
2025-09-02 10:00:00
1253
原创 【滤波器】三参数陷波器参数设计原理与两种经典推导方法对比
本文探讨二阶陷波器设计中的三个核心参数关系:中心频率(fc)、陷波宽度(bw)和陷波深度(dp)。系统推导了传递函数中极点/零点阻尼比(ξp、ξz)与这三个指标的数学关系,对比分析了两种主流推导方法的适用场景和优缺点。研究结果为陷波器在电力谐波抑制、生物信号处理等领域的参数设计提供了理论依据。
2025-09-01 10:00:00
242
原创 ROS系统玩转自主移动机器人-- 嵌入式硬件平台
嵌入式系统是专用微型计算机系统,包含硬件和软件两部分,具有专用性、实时性、可靠性和经济性特点。硬件开发流程包括需求分析、方案设计(主控芯片选型等)、原理图设计(电气连接、电路设计)、PCB布局布线(元器件放置、走线设计)、样板测试与功能验证(需硬件工程师具备软件能力)、EMC测试和冲击振动试验(严苛环境要求),最后进行优化迭代。硬件工程师需能阅读英文芯片手册并具备焊接等动手能力。
2025-08-31 10:00:00
611
原创 位置型PID与增量型PID:深入解析与比较
摘要:本文对比分析了位置型PID与增量型PID控制器的核心差异。位置型PID输出绝对控制量,需存储所有历史误差,存在积分饱和风险;增量型PID输出控制增量,仅需最近三次误差值,天然避免积分饱和问题。增量型PID在模式切换、执行兼容性、安全性和计算效率方面具有明显优势,特别适合步进电机等增量式执行机构。数学分析表明,增量型PID在保持控制性能的同时,显著降低了计算复杂度,是工业控制中更优的选择。
2025-08-30 10:00:00
824
原创 生成式AI不只是“聊天画画”,揭秘其与传统AI的本质区别与颠覆性应用
生成式AI与传统判别式AI存在本质区别:前者像艺术家创造新内容,后者像裁判员进行分类判断。生成式AI通过学习数据分布P(X)生成逼真内容(如ChatGPT、Midjourney),而判别式AI通过条件概率P(Y|X)做分类决策(如垃圾邮件过滤)。这种差异带来全新应用场景,如用生成式思维重构推荐系统——从静态预测转变为动态内容生成,能更好捕捉用户兴趣演变,突破传统推荐的信息茧房限制。理解二者的本质区别,有助于我们更有效地运用AI技术解决实际问题。
2025-08-29 10:00:00
679
原创 深度学习中的预训练模型加载与微调指南
本文介绍了深度学习中使用预训练模型的方法,包括加载自定义训练模型和PyTorch内置模型(如ResNet)的类实现方案。详细说明了如何通过封装类来加载模型参数,进行模型微调和结构扩展,并提供具体使用示例。所有代码采用面向对象方式组织,便于维护和重用,为研究人员和开发者提供了高效的模型迁移与改进方案。
2025-08-28 10:00:00
128
原创 Meta V-JEPA 2:革命性的视频联合的世界模型
Meta AI推出V-JEPA2视频联合嵌入预测架构,通过自监督学习分析百万小时视频,构建能理解物理规律的世界模型。该模型在联合嵌入空间进行预测,无需标注即可学习物体运动等常识,在动作识别等任务表现优异。其AC变体仅用62小时机器人视频微调,就实现零样本规划,任务成功率65-80%,效率提升15倍。
2025-08-27 10:00:00
930
原创 基于迁移学习的管道泄漏信号检测
实验采用169米不锈钢管道系统,模拟12个泄漏点在不同孔径(0.4-2mm)下的气液两相流动状态,构建了包含2500个声压样本的数据集。技术方案采用Res2Net与LSTM融合的双路径特征编码器,通过PyTorch框架实现模型训练,使用Adam优化器和二元交叉熵损失函数进行参数优化。实验结果表明,该方法能有效提取跨领域特征,在保持信号处理精度的同时提高了检测效率,为工业管道泄漏监测提供了新的技术思路。
2025-08-26 10:00:00
837
原创 RT-Thread 邮箱机制:轻量级线程通信详解
本文介绍了消息队列和邮箱两种通信机制。消息队列本质是链表结构,通过空闲消息块管理和传递各类大小消息。邮箱则是高效的环形缓冲区,每封邮件固定4字节,适合传递小数据。详细讲解了邮箱的特性(非阻塞发送/阻塞接收)、操作流程(创建/发送/接收/删除)及关键API函数(rt_mb_create/init)。当邮箱满/空时,线程可选择直接返回或挂起等待唤醒。两种机制分别适用于不同场景的消息传递需求。
2025-08-26 10:00:00
302
原创 利用controller控制实际机器人
本文介绍了如何将MoveIt运动规划框架与实体机器人进行连接。首先回顾了前两篇博文已完成的工作:机器人建模和MoveIt环境配置。接着重点讲解对rob_moveit_config包的改造:1.创建controllers.yaml文件定义双臂控制器;2.修改rob_robot_moveit_controller_manager.launch.xml文件指向新控制器。通过这些步骤,实现了MoveIt运动指令向实体机器人的传输,完成了仿真环境到实际控制的转换。
2025-08-25 10:00:00
717
原创 SNN:构建简单脉冲神经网络训练CIFAR10-DVS(使用SpikingJelly)
本文介绍了脉冲神经网络(SNN)及其在CIFAR10-DVS事件数据集上的应用。SNN作为第三代神经网络,通过离散脉冲处理信息,特别适合处理动态视觉传感器(DVS)生成的事件数据。文章使用SpikingJelly框架构建SNN模型,详细说明了CIFAR10-DVS数据集的特性及预处理方法,包括将事件流转换为固定帧格式的操作。该研究展示了SNN在处理时序数据方面的优势,并提供了完整的代码实现方案,为神经形态计算领域的应用提供了参考。
2025-08-24 10:00:00
311
原创 Latent Action在具身智能中的使用
本文探讨了如何利用互联网视频数据进行机器人行为学习,提出了一种自监督的LatentAction方法。该方法通过VQ-VAE模块将连续视频帧转换为离散行为表征,使用C-ViViT模型进行条件处理,再通过预训练和微调使视觉语言模型掌握行为因果。相比OpenAI的VPT方案,这种方法不依赖动作标注,更具通用性。实验表明,这种无监督的LAPA方法在预训练效率上比传统方法高出30倍,且性能优于当前基于真实动作训练的VLA模型。核心创新在于将视频帧差异量化为离散行为表征,为机器人学习提供新的范式。
2025-08-24 10:00:00
856
原创 一文带你了解CAN通信协议
本文介绍了CAN总线在汽车电子中的应用。CAN是一种串行通信协议,支持多主通信,通过非破坏性仲裁机制解决总线冲突,具有高可靠性和抗干扰能力。硬件连接采用异步半双工方式,两端需接120欧姆终端电阻。CAN电平信号分为隐性状态(逻辑1)和显性状态(逻辑0),通过差分电压传输数据。CAN协议使用数据帧传输信息,帧结构包含仲裁字段、控制字段等,其中标准数据帧通过RTR和IDE位标识帧类型。文章还解释了CAN的ACK应答机制,即接收方通过拉低电平确认数据接收。
2025-08-23 10:00:00
717
原创 双缓冲与Stacktrace:C++多线程与调试的高效实践
双缓冲技术通过分离读写缓冲区解决多线程数据竞争问题,提升系统性能和实时性。其核心原理是生产者和消费者分别操作不同缓冲区并周期性交换角色,无需显式加锁即可实现线程安全。该技术在图形渲染(消除闪烁)、音频处理(连续播放)等场景表现优异。文中提供了C++双缓冲模板类实现,利用原子变量保证缓冲区切换安全,并展示了Win32API下的图形双缓冲实践流程。相比传统互斥锁,双缓冲显著降低了性能开销和死锁风险,是多线程数据交换的高效解决方案。
2025-08-22 10:00:00
688
原创 【训练优化】显存占满,利用率却惨不忍睹?一文带你打通大模型训练的任督二脉
当大模型训练时显存占满但GPU利用率低,通常由数据供给瓶颈导致。主要问题包括:1)I/O瓶颈(硬盘读取慢或CPU预处理耗时);2)CPU性能不足,无法及时分发任务;3)频繁小任务调度开销大。优化方案:先用PyTorch Profiler定位瓶颈,再调整DataLoader的num_workers(建议CPU核数2-4倍)并启用pin_memory加速数据传输。通过并行化数据加载和减少CPU-GPU通信延迟,可显著提升GPU利用率,解决"显存满但计算闲置"的问题。
2025-08-21 10:00:00
936
原创 PID算法的优化介绍
PID优化关键问题包括:1.调用频率需与反馈频率匹配,避免无效控制;2.使用测量导数法消除微分冲击;3.开关控制时需重置PID状态防止输出突变。合理设置这些参数可显著提升系统稳定性。
2025-08-20 10:00:00
676
原创 CIFAR10‑DVS 数据集介绍
本文介绍了CIFAR10-DVS事件相机数据集,这是将CIFAR-10图像转换为事件流的神经形态视觉数据集。该数据集通过DVS相机记录动态图像变化,生成包含时间、位置和极性的四元组事件数据(t,x,y,p),具有高时空分辨率和低功耗特性。文章详细说明了数据集的采集装置、10类10000样本的规模,以及原始.aedat格式。同时介绍了如何使用Python3.11和SpikingJelly库进行数据处理和可视化,为脉冲神经网络研究提供重要基准数据。
2025-08-19 10:00:00
264
原创 ROS机器人建模
本文介绍了ROS系统中MoveIt模块的基本功能与使用方法。MoveIt是ROS中用于机械臂控制的核心模块,提供建模、运动规划、避障等功能。文章概述了MoveIt的系统架构,包括move_group核心节点及周边组件的作用,并给出了Ubuntu14.04下的安装方法。作者以一个5自由度双臂机器人"Rob"为例,说明如何使用URDF/XACRO格式建立机器人模型,强调XACRO语法简练、可复用的特点。
2025-08-18 10:00:00
821
原创 【构造自定义模型】如何在已有参数的模型中添加模块
在预训练模型中安全高效地插入自定义模块的PyTorch实践指南 本文针对深度学习实践中如何在不破坏预训练权重的前提下,安全高效地在预训练模型(如ResNet、BERT)中插入自定义模块(如注意力机制、领域适配器)提供了完整的技术方案。文章重点解决了参数兼容性、梯度流稳定性和训练效率三大核心挑战,提出采用模块化的"模型外科手术"方法,结合特征融合与分层训练策略。
2025-08-17 10:00:00
294
原创 基于云端EC2的O3DE机器人仿真环境搭建指南
本文介绍了如何在云端使用O3DE开源3D引擎搭建机器人仿真环境。通过Amazon EC2服务启动配备NVIDIA GPU的g5系列实例,利用预装驱动的Ubuntu AMI镜像,用户可快速构建高保真度的多机器人仿真系统。该方案避免了本地硬件的高昂成本,实现按需付费的云端仿真测试,支持ROS2集成,特别适合机器人算法的快速迭代验证。文中详细说明了EC2实例配置流程,并推荐使用g5.4xlarge实例类型运行O3DE官方示例,最终通过远程桌面实现交互式仿真操作。
2025-08-16 10:00:00
683
原创 bash -e的使用与shell脚本常见使用技巧
在当今的软件开发与系统运维领域,自动化是提升效率和保证一致性的关键。而 Shell 脚本,作为连接和驱动各种命令行工具的“胶水”,无疑是自动化工作流中不可或缺的一环。
2025-08-15 10:00:00
797
原创 PID控制算法理论学习基础——单级PID控制
PID控制算法学习笔记摘要 本文作者分享了学习PID控制算法的过程,针对目前资料质量参差不齐的问题,从零开始详细记录了自己的学习心得。文章首先通过水温调节的例子通俗解释PID三要素:比例项(Kp)调节响应幅度,积分项(Ki)消除稳态误差,微分项(Kd)控制响应速度。作者指出实际应用中需要平衡三者关系:P使系统灵敏但会产生稳态误差,I消除误差但延长稳定时间,D可加快响应但对噪声敏感。
2025-08-14 10:00:00
1539
原创 【Pytorch FAQ】中view、reshape、permute和resize别用混了
本文深入解析PyTorch中四大张量变形操作(view、reshape、permute、resize)的核心机制。首先剖析张量存储原理,包括逻辑/物理存储差异、连续性判定标准及步幅寻址机制,指出形状操作本质是元数据调整而非数据移动。重点讲解view操作的特性:内存共享、无数据复制、修改同步,强调其连续性要求和形状兼容条件。
2025-08-13 10:00:00
304
原创 【网格法】前言告别手动调参:用脚本实现网格搜索,让你的实验又快又省心
本文介绍了一种自动化网格搜索训练的方法,通过Shell脚本和Python脚本实现参数组合的自动遍历和GPU资源分配,解决手动调参效率低下的问题。文章以学习率和批处理大小为案例,展示了传统手动调参的耗时性(9种组合需36小时)和潜在错误风险。作者提供了从基础训练命令到完整自动化脚本的构建过程,包括使用argparse接收参数、编写Shell循环脚本等关键技术点,为科研人员提供了一种高效可靠的实验方案,可显著提升深度学习模型调参效率。
2025-08-12 10:00:00
612
原创 路径规划amcl和teb
本文介绍了在宇树机器狗Go2仿真环境中实现TEB路径规划的改进方法。文章首先说明该项目将长期更新,支持Gazebo和Isaac Sim等平台,并邀请开发者共同参与。详细步骤包括:1)安装必要的navigation和teb-local-planner功能包;2)配置地图文件;3)创建amcl定位算法的launch文件,实现地图与里程计的TF转换。该仿真方案对硬件要求较低,适合实验室或个人学习使用。
2025-08-11 10:00:00
341
原创 OpenWrt进程通信利器:UBUS轻量级IPC框架全解析
UBUS是OpenWrt系统中的轻量级进程间通信框架,基于Unix域套接字和JSON-RPC协议实现。该框架由ubusd守护进程、libubus库、命令行工具及多语言绑定组成,专为嵌入式系统设计,具有比DBus更低的内存和CPU占用。其核心原理是通过ubusd守护进程进行消息路由,支持对象-方法调用模式,使用JSON格式封装消息。通信过程包括客户端连接、对象查找、方法调用和结果返回等步骤,实现了高效的本地进程间通信。UBUS简化了嵌入式系统的进程间通信机制,特别适合资源受限的OpenWrt环境。
2025-08-10 10:00:00
1045
原创 485、CAN、I2C、Serial在工业自动化中的应用
本文探讨了工业4.0背景下机器人操作系统(ROS)与工业通信协议的集成应用。重点分析了RS485、CAN总线、I2C和Serial四种协议的技术特点及在ROS中的实现方法,详细介绍了RS485的差分信号传输原理、硬件配置和Modbus RTU应用层协议,为工业自动化系统与ROS的融合提供了技术指导。文章包含丰富的实践案例和故障诊断策略,适用于不同层次的ROS开发者。
2025-08-09 10:00:00
1321
原创 基于遥感影像中提取向量化的道路网络
本文提出SAM-Road模型,通过改进Segment Anything Model(SAM)实现从卫星影像中高效提取矢量化的道路网络图。该方法将图像编码器微调后用于道路分割,结合轻量级Transformer图神经网络预测拓扑结构,无需复杂后处理即可直接输出道路顶点和边。实验表明,SAM-Road在保持精度的同时处理速度比现有最优方法快40倍,数秒内即可完成平方公里级城市道路网络构建。
2025-08-08 10:00:00
996
原创 单阶段基于Retinex理论的Transformer低光照图像增强技术
基于Retinex理论的单阶段Transformer低光增强方法 摘要:针对低光照图像增强任务,本文介绍了一种创新的Retinexformer方法,将Retinex理论与Transformer架构相结合。该方法提出单阶段Retinex框架(ORF)和光照引导Transformer(IGT)两大核心模块,有效解决了传统Retinex方法未考虑暗光损坏信息、多阶段训练复杂等问题。ORF通过估计"照亮图"实现单阶段增强,避免传统方法中的除零问题;IGT利用光照表征指
2025-08-07 09:45:00
865
原创 AI时代已来,机器人时代还会远吗?
【摘要】DeepSeek-R1的爆火引发业界关注,其核心技术DeepSeek-v2采用创新的MOE(混合专家)架构,通过将单一密集模型拆分为多个稀疏专家模型,显著降低激活参数量和硬件成本。相比传统Dense架构,MOE在保持性能的同时提升了性价比。DeepSeek还面临负载均衡等工程挑战,其前瞻性选择MOE路线部分源于国内硬件资源限制。此外,MLA技术的应用进一步优化了模型性能,这些创新使DeepSeek在价格和效果上具备竞争优势。
2025-08-06 10:00:00
775
原创 从零开始训练YOLOv11
本文介绍了在AutoDL平台上训练YOLOv11模型的完整流程。首先建议在AutoDL上租用无卡模式进行初期配置(0.1元/小时),待准备就绪后再启用GPU训练。详细说明了使用Labelimg标注数据的方法,包括快捷键操作和XML文件生成要点。重点讲解了数据集的制作规范:需要创建标准文件夹结构(Annotations、ImageSets、JPEGImages、labels),统一图片格式,并提供将XML转为txt文件的处理方法。最后将整理好的数据集压缩上传至AutoDL平台解压使用。整个过程涵盖了从环境配置
2025-08-05 10:00:00
366
原创 从High-level的人类指令中获得Human-Object_Interaction
斯坦福大学研究人员提出了一种新颖的系统,能够将高级人类指令(如"整理工作区")转化为精确的人-物交互动作。该系统采用多阶段处理框架:首先通过大型语言模型解析指令并构建场景图,然后利用扩散模型和强化学习生成包括全身运动和精细手指动作的完整执行序列。系统包含四个关键模块:粗略动作生成、抓握姿态生成、动作细化和手指运动控制,实现了从高级语义到物理动作的自然映射。
2025-08-04 10:00:00
678
原创 漫谈PID,聊聊实现与调参原理
PID控制器是工业控制中常用的算法,通过比例、积分、微分三个环节的线性组合构成控制量。比例系数KP调节当前误差,积分系数KI消除稳态误差,微分系数KD改善动态性能。控制器需从连续时间表达式离散化为差分方程(1)式实现编程计算,其中T为运算周期。KP、KI、KD之间存在固定换算关系,需注意积分时间Ti和微分时间Td与系数的倒数关系。实际应用中,运算周期T也是重要调节参数,最终可将各系数乘积直接写入代码以优化运算效率。
2025-08-03 10:00:00
877
原创 DemoStart:让机器人手学会复杂操作的神奇技术
研究人员提出DemoStart方法,通过整合示范操作与自动课程学习,解决多指机器人手复杂操控的sim-to-real难题。该方法创新性地将示范状态转化为梯度任务参数,采用零方差过滤筛选有效训练样本,并规避示范中的异常状态。实验表明,DemoStart能利用少量示范和稀疏奖励,在RGB视觉输入下实现高难度操作技能迁移,相比传统方法显著提升了学习效率和策略质量。该技术为复杂机器人系统的技能学习提供了新思路。
2025-08-02 10:00:00
632
原创 归一化不存在了
深度学习中常用的归一化方法如批量归一化(BN)和层归一化(LN)各有适用场景,但随着任务多样化和模型复杂化,研究者提出了更多归一化变体。实例归一化(IN)在图像风格迁移等任务中表现突出,而群归一化(GN)则在小批量条件下表现优异。最新研究甚至质疑归一化层是否必须,探索去归一化模型的潜力。不同归一化方法在统计稳定性、适用场景和训练效率之间寻求平衡,需要根据具体任务选择合适方案。
2025-08-01 10:00:00
861
原创 Motion Tracks能实现跨载体吗?
清华大学团队在ICRA2024提出MotionTracks方法,解决机器人小样本模仿学习难题。传统模仿学习依赖大量人工演示,而MotionTracks通过构建跨体动作空间,将人类视频动作转化为机器人可执行指令,仅需少量演示即可实现技能迁移。这种统一表示方法突破了人类与机器人动作差异的障碍,使机器人能利用丰富的人类视频资源学习新技能,显著提升学习效率。该研究为机器人快速获取人类技能提供了创新解决方案。
2025-07-31 10:00:00
809
原创 从零开始:使用URDF和RVIZ2构建并可视化机器人模型
本文介绍了机器人建模的URDF(统一机器人描述格式)标准。URDF采用XML格式,通过Link和Joint两种核心组件描述机器人结构:Link表示刚性部件,包含几何形状和质量信息;Joint定义部件间的连接方式,支持旋转、平移等运动类型。文章详细说明了Link的origin、material等属性设置,以及Joint如何关联父子部件并定义相对运动参数。URDF通过这两种组件的层级关系,能够完整描述机器人的物理结构和运动特性。
2025-07-30 10:00:00
1598
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人