自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (7)
  • 收藏
  • 关注

原创 Acados 最优控制算法深度解析:从 OCP 到 SQP-RTI 的完整技术栈

Acados 是求解最优控制问题(OCP)的高效框架,采用直接多重射击法与正交配置(如Gauss-Legendre、Radau IIA)将OCP离散化为NLP。核心求解器基于序贯二次规划(SQP),结合实时迭代(RTI)与差分动态规划(DDP)优化实时性能。QP子问题由高参数化内点法(HPIPM)求解,利用Riccati递归与部分凝聚保持稀疏性。支持显式/隐式微分代数模型,集成ERK、IRK等积分器,并通过前向灵敏度计算实现高效梯度评估,适用于MPC等实时控制场景。

2026-11-03 22:12:08 213

原创 Acados倒立摆案例代码详细解析

该代码使用 acados 求解倒立摆最优控制问题,通过构建含状态与控制代价、输入约束的 OCP,以 20 阶段、1 秒时域进行优化。采用 Gauss-Newton 近似与 IRK 积分器,求解器为 PARTIAL_CONDENSING_HPIPM,目标是将摆从初始角度 π 稳定至垂直位置,同时最小化状态偏差与控制能耗。最终输出轨迹并绘图。

2026-11-03 17:18:33 262

原创 低成本室内无人机集群动捕系统 —— Low-Cost-Mocap 开源项目深度解析

Low-Cost-Mocap 是 GitHub 上一个以"低成本"为核心卖点的通用动捕系统(Motion Capture),专门用于室内无人机(多旋翼)集群的自主飞行。它由剑桥大学学生 Joshua Bird(github: jyjblrd)开发,采用 MIT 开源协议,截至目前拥有 2.6k stars、463 forks、68 个提交。

2026-10-25 11:39:01 215

原创 ArduPilot (APM)滤波器之SlewLimiter 深度解析

本文阐述APM SlewLimiter滤波器的独特设计:不改变信号而输出增益乘数,动态调整PID增益以抑制执行器速率受限引发的极限环振荡。详解七步算法(滤波、峰值跟踪、事件记录、抗干扰、增益计算),并提供工程调参指南,强调其“安全网”定位,实现正常飞行高响应与异常振荡自动抑制的平衡。

2026-09-07 22:55:49 401

原创 ArduPilot(APM)滤波器之 DerivativeFilter 深度解析

本文针对飞控中求导放大噪声的难题,介绍了ArduPilot的DerivativeFilter:基于Savitzky-Golay原理,用多点加权拟合替代两点差分,在平滑中求导。文章解析了数学原理、环形缓冲实现、5-11点系数及相位延迟,并给出阶数选择与调参指南,强调“微分必须配合平滑”的核心原则。

2026-09-07 22:40:15 432

原创 ArduPilot(APM)滤波器之 HarmonicNotchFilter 深度解析

本文系统解析ArduPilot谐波陷波滤波器(HarmonicNotchFilter)的参数体系(FREQ/BW/ATT/HMNCS/MODE/OPTS)、动态跟踪模式、复合陷波机制及工程调参方法,强调以FFT频谱分析为依据,合理配置谐波、带宽与衰减,在抑制电机振动与保持控制带宽间取得平衡。

2026-09-04 11:55:58 413

原创 ArduPilot(APM)滤波器之 NotchFilter 深度解析

本文全面解析陷波滤波器(NotchFilter)的Biquad算法与工程调参。内容涵盖核心参数(中心频率、带宽、衰减量)及其物理意义,详细推导A/Q参数与滤波器系数,阐述状态变量、冷启动处理及频率平滑更新机制。通过频率响应示例、与HarmonicNotchFilter的关联及调参指南,强调其“精准陷波、通带无损”的优势,并提供与低通滤波配合的实战策略

2026-09-04 11:44:14 471

原创 ArduPilot (APM)滤波器之LowPassFilter 深度解析

在 ArduPilot(APM)庞大的滤波器体系中,LowPassFilter 是最基础、也是使用最广泛的一个。它的实现极其精简——核心算法只有一行代码,但却承担了飞控中大量传感器信号的初级平滑任务。理解 LowPassFilter,是理解整个 APM 滤波链路的起点。

2026-08-25 23:22:43 383

原创 ArduPilot (APM) 滤波器体系详解

IMU 信号处理、陀螺仪滤波、电机噪声抑制、螺旋桨振动、谐波噪声、脉冲噪声 / 离群点过滤、速度估计、加速度估计、PID-D 项微分、执行器保护、振荡抑制、云台双轴控制、气压计高度微分滤波器再APM中得应用

2026-08-25 23:09:34 462

原创 APM 精准降落(Precision Landing)功能详解

APM精准降落(Precland)功能详解 摘要: APM飞控系统通过机载相机或IRLock红外传感器识别地面标记,实现飞行器精准降落。该功能支持多旋翼、固定翼和地面车辆三种平台,核心代码位于AC_PrecLand库中,包含传感器数据处理、状态机管理和卡尔曼滤波等模块。系统工作流程分为五个阶段:传感器数据采集、前端处理、状态机控制、飞控集成和MAVLink通信。关键文件包括AC_PrecLand核心库、与Copter集成的模式控制文件,以及处理MAVLink消息的接口。系统通过400Hz的高频更新实现实时位

2026-07-31 09:55:00 359

原创 PX4 精准降落 precland模块代码及架构梳理

PX4精准降落系统解析 摘要:PX4精准降落系统通过特定链路实现厘米级精度,主要由两条技术路线构成:1)IR-LOCK红外信标方案,适用于固定目标,精度约10cm;2)AprilTag/Aruco视觉方案,需搭配机载计算机,适用于移动目标。系统工作流程分为水平趋近、靶心下降和最终进近三个阶段,通过参数PLD_HACC_RAD等控制降落精度。实现需满足多旋翼定位、传感器校准等硬件前提,支持必需/优先两种工作模式。代码层面采用七状态机架构,通过uORB消息实现数据流转,最终由位置控制器执行精准着陆。

2026-07-14 18:07:03 380

原创 自抗扰ADRC控制算法简单介绍

摘要: 自抗扰控制(ADRC)通过实时估算并补偿系统总扰动,显著提升控制性能。与PID控制被动响应误差不同,ADRC包含三大核心模块:**跟踪微分器(TD)**平滑目标信号,**扩张状态观测器(ESO)**将内部参数变化、外部干扰等打包为“总扰动”实时观测,**非线性误差反馈(NLSEF)**结合扰动补偿生成控制量.

2026-07-01 16:53:23 265

原创 Kilometer-Scale 千米级低空地形匹配:ICRA 2026 无人机 GNSS 拒止长航导航系统解析

在电磁干扰、战场环境、城市峡谷等场景中,GNSS 信号极易失效,而传统视觉定位、视觉惯性里程计(VIO)存在长距离累计漂移问题,无法支撑数千米级低空无人机自主飞行。传统地形辅助导航(TRN)依赖绝对高程值匹配,易受气压计噪声、地面坡度、局部遮挡影响,且大多需要高密度三维地图,部署成本高、算力开销大。针对9km 超长航、25 米超低空、无 GNSS、无稠密离线地图的极限挑战,捷克理工大学 MRS 团队在 ICRA 2026 提出一套基于高程图梯度的地形匹配 + 聚类粒子滤波完整机载导航系统。

2026-06-15 22:13:59 515

原创 GeoFuse 深度解析:融合路网几何先验的全天候无人机视觉定位框架

2026 年 5 月发布的 GeoFuse 提出一套轻量化跨模态融合框架:将卫星视觉特征与 OS 路网几何特征深度结合,通过动态门控自适应调节双模态权重,搭配类别级对比学习,实现全天候、强鲁棒无人机跨视角地理定位。该方案无需额外采购高精度地理数据,复用全球免费路网资源,改造成本低、工程落地性极强。

2026-06-15 21:59:45 561

原创 GeoBridge 深度解析:语义锚定多视图基础模型,重塑无人机跨视角地理定位

GeoBridge:语义锚定的多视图基础模型,实现跨视角地理定位 吉林大学等团队提出的GeoBridge突破了传统卫星中心范式,以文本语义为桥梁,实现无人机、街景、卫星多视图的跨模态地理定位。该模型通过独立视觉编码器提取多源图像特征,并以共享文本编码器生成的语义特征为锚点,利用多任务对比损失对齐跨视图特征。GeoBridge支持双向图像匹配与文本-图像检索,在University-1652等基准上刷新SOTA(平均定位误差7.2m),配套开源的GeoLoc数据集(5.2万组三视图样本)填补了多视图地理数据空

2026-06-11 11:35:13 621

原创 GRiM-Net 深度解析 | 无人机 GNSS 拒止场景下两阶段跨视角视觉定位框架

摘要: 电子科技大学团队提出GRiM-Net,一种两阶段跨视角视觉定位框架,用于GNSS拒止环境下的无人机导航。该框架通过全局检索(快速筛选候选区域)和像素级精配准(双向关键点匹配+加权单应变换)实现高效高精度定位,并引入域自适应批量归一化缓解无人机航拍与卫星图像的视角差异。实验表明,GRiM-Net在嵌入式平台(Jetson Nano)上定位误差仅10.2米,优于传统算法,尤其适用于城镇巡检等场景。其轻量化设计和联合优化策略显著提升工程落地性,但依赖离线地图且对极端天气敏感。未来趋势倾向于多级流水线与多源

2026-06-11 11:06:39 479

原创 PiLoT:基于视觉无人机定位解决方案 项目代码解析

PiLoT是一个统一的神经像素到3D配准框架,用于无人机(UAV)自我定位和目标定位。功能描述自我定位 (Ego-localization)从无人机视频帧估计其6-DoF位姿(位置+姿态)目标定位 (Target-localization)将图像中的任意像素反投影到地理坐标 (经纬高)

2026-05-18 15:45:14 412

原创 PiLoT:神经像素到三维配准 —— 无人机自定位与目标地理定位论文精读

位姿与变换T % 6-DoF相机位姿 R|tR % 旋转矩阵 SO(3)t % 平移向量π(·) % 针孔投影函数π^{-1}(·) % 反投影函数I % 实时航拍帧M_3D % 地理参考3D地图F % 2D图像特征图X % 3D点云/地图点X_geo % 目标点的全局地理坐标u % 图像像素坐标 (u,v)

2026-05-18 15:31:23 670

原创 模型预测控制(MPC)-用ACADO解决无人机控制大姿态稳定问题

在四旋翼无人机控制领域,飞机大姿态稳定,例如抛飞功能是一个极具挑战性的场景——无人机从被抛出到稳定悬停的过程中,需要在极短时间内完成姿态恢复和高度控制。传统的PID控制难以应对这种强非线性、快时变的系统,而**非线性模型预测控制(NMPC)**提供了一个优雅的解决方案。本文将从实践角度介绍ACADO工具箱生成的NMPC控制器,并结合实际项目中的抛飞控制模块,分享开发经验。MPC是一种基于优化的先进控制策略,其核心思想:1. 使用系统的数学模型预测未来一段时间内的行为;

2026-05-18 15:00:23 689

原创 Bearing-UAV:纯视觉驱动的跨视角无人机导航系统-代码解析

Bearing-UAV是一种纯视觉无人机导航系统,通过跨视角定位技术实现精准导航。该系统核心创新在于联合预测无人机的位置坐标(x,y)和航向角,采用CSMG模块进行特征聚类和相似度计算,结合Non-Local注意力机制捕获长程依赖关系。项目包含Bearing-UAV-90K多城市数据集,支持端到端训练和测试,并提供Bearing-Naver导航框架实现路径规划。技术亮点包括跨视角特征融合、轻量化设计和多任务联合优化,在复杂城市场景中展现出鲁棒性能。开源代码和数据集已发布在GitHub仓库。

2026-05-07 18:06:11 491

原创 Beyond Matching to Tiles: Bridging Unaligned Aerial and Sat 论文总结

浙江大学最新开源研究Bearing-UAV提出纯视觉无人机定位新范式,突破传统切片匹配限制,直接通过单张无人机图和4张卫星图端到端回归绝对位置与航向角。该研究首创全局-局部统一特征提取器(GLUF)和相对坐标编码(RCE),采用交叉注意力机制解决跨视角不对齐问题,在特征稀疏环境下仍保持鲁棒性。模型仅66MB,单步推理133ms,定位误差8.61米,航向误差12.9度,性能超越现有SOTA方法。配套开源的Bearing-UAV90K数据集包含9万跨视角样本,覆盖4个城市场景,为相关研究提供重要基准。这项技术实

2026-05-07 17:44:20 472

原创 NaviLoc 算法核心公式与算法描述详细整理

为统一公式解读,先明确论文中核心符号的含义,未标注维度的均为标量 / 二维向量:表格符号含义维度 / 类型N无人机航拍查询帧数量正整数M卫星参考底图瓦片数量正整数第i帧查询图像的视觉描述子D×1向量​所有查询帧的描述子集合N×D矩阵第j张卫星参考瓦片的视觉描述子D×1向量所有参考瓦片的描述子集合M×D矩阵VIO 输出的第i帧局部坐标系位置2×1向量VIO 局部轨迹N×2矩阵VIO 相邻帧的位移量(N−1)×2矩阵第j张卫星参考瓦片的地理坐标2×1向量。

2026-04-29 11:47:15 742 1

原创 NaviLoc - GNSS 拒止环境下无人机空对地卫星视觉定位算法 论文整理

论文总结:本文提出—— 一种无需训练、基于轨迹级优化的 GNSS 拒止环境下无人机空对地卫星视觉定位算法,该算法通过三阶段流程,融合视觉惯性里程计(VIO)相对运动先验与视觉位置识别(VPR)匹配信息,在 50–150m 低空农村无人机场景的实测中实现,较当前最优 VPR 方法 AnyLoc-VLAD 精度提升、较原始 VIO 漂移提升,且在树莓派 5 上实现端到端实时推理,仅依赖 CPU 即可嵌入式部署;

2026-04-29 10:35:05 884

原创 EGO-PLANNER轨迹优化整理

EGO-Planner是一种基于梯度优化的无人机局部路径规划算法,由浙江大学高飞团队提出。其核心特点是通过构建包含平滑性、避障安全性和动态可行性的目标函数,将路径规划转化为数学优化问题,避免了传统方法对环境距离场的依赖。算法采用五阶多项式生成初始轨迹,通过B样条拟合和L-BFGS优化器进行轨迹优化,实现实时避障和动态调整。文章还介绍了三种轨迹模式(巡航、定点、连续变速)的实现方法,包括轨迹生成、时间计算和约束处理等关键技术细节,展示了该算法在复杂环境中的高效性和灵活性。

2026-03-12 18:14:26 906

原创 Protobuf 调试踩坑记录

这是一次记录在使用protobuf中踩坑的记录,也对nanopb工具更熟悉了一些,做一次记录整理,也希望能给其他遇到坑的同学一些帮助

2023-08-04 15:18:21 1108

原创 px4传感器数据sensor模块整理

px4的senso模块架构整理

2022-12-26 16:33:33 890

原创 px4 编译生成msg消息机制及将其移植方法

移植px4生成msg消息的工具

2022-10-10 15:00:46 1277

原创 MCUXpresso调试FreeRTOS时显示多线程

调试freertos时后常见问题

2022-09-19 16:16:14 550

原创 nanomsg应用中的问题整理

整理最近调试nannomsg遇到很多坑,写个博客整理一下1.消息接收这里我在项目中遇到一个坑的地方:在一个Nanomsg类中实现消息接收,class Nanomsg{ bool Nanomsg_slave:: recv(uint8_t *data , int &len) { len = nn_recv(_sock, &data, NN_MSG, 0); print

2022-04-20 16:21:29 1395

原创 px4固定翼位置控制流程

自己把流程过了一遍,直接贴图了

2021-10-27 17:59:26 1065 4

原创 px4添加遥控器开关快捷校准磁罗盘

功能描述:仿照大疆飞机,遥控器开关快速拨动三次触发校准磁罗盘任务原理: 遥控器配置第六通道,在commander模块添加订阅遥控器通道值根据通道值变化判断进入磁罗盘校准的逻辑编程逻辑:修改commander文件,添加遥控器通道订阅,在主函数循环中定义计数位根据开关拨动计数,三秒内计数六次发送校准磁罗盘的指令在主程序的循环里添加以下代码//PX4_INFO("_rc_channels.channels[5]:%3.6f\r\n",(double)_rc_channels.channels

2021-07-26 14:34:26 1016

原创 ros添加配置文件yaml读取参数

在windos下做桌面应用开发,常用.ini文件在做ros开发中遇到了同样的问题,一些参数需要根据需求修改,但是修改频率又不是很高,这时候可以配置一个yaml文件读取参数首先需要在电脑上配置好yaml的库GitHub上下载yaml-cpp的源码https://github.com/jbeder/yaml-cppgit clone https://github.com/jbeder/yaml-cpp.git然后进入目录创建build文件编译安装mkdir buildcd buil

2021-07-20 14:53:13 9486

原创 px4室内飞行通过SLAM发送位置消息

先按照官方的教程设置好飞控参数http://docs.px4.io/master/zh/computer_vision/visual_inertial_odometry.html下载源码学习:https://github.com/Auterion/VIO主要逻辑就是机载电脑将视觉信息转换为飞机可接受的位置消息通过mavros发送给飞控,从而实现室内定点导航,路径规划等功能我们需要使用、mavros中的odomtry消息给飞控发送位置信息,在仿真调试时候使用rostopic发送消息,关

2021-06-25 15:03:47 970

原创 mavros操作飞机时方向位置改为机体坐标系下指令

前面试了很多,看官网里的说明用 /mavros/setpoint_raw/local"里的frame_id改为"base_link" 不行又直接发mavros_msgs/PositionTarget 修改里面的type_mask把忽略的都加上,但还是没用,飞机依然按照全局位置飞行最后搞了好几天,才弄懂,只需要一行代码就搞定了。节点声明ros::NodeHandle node;node.setParam("mav_frame", 8);//Frame_body_ned=8这个参数从很多消息

2021-05-17 17:06:54 1747 1

原创 px4任务模式执行流程

贴图,整个流程还是需要熟悉代码顺下来的,这是我初学px4时整理的,有点太细了,不过就这么顺一遍,就全清晰了,自己写航迹规划的模块时也有了参考

2021-04-07 10:45:14 990 3

原创 目标跟踪算法研究整理

最近项目有用到目标跟踪的算法,用的还是传统opencv,整理一下1.基础框架目标跟踪基础认识视频图像跟踪算法综述opencv实现目标跟踪的八种算法2.CSRT追踪器CSRT追踪器官方描述在具有通道和空间可靠性的判别相关滤波器(DCF-CSR)中,我们使用空间可靠性图将滤波器支持调整为从帧中选择区域的一部分以进行跟踪。 这确保了所选区域的放大和定位,并改善了对非矩形区域或对象的跟踪。 它仅使用2个标准功能(HoG和颜色名称)。 它还以相对较低的fps(25 fps)运行,但为对

2021-03-11 17:06:41 5462

原创 px4直升机混控逻辑整理

目录一、直升机混控矩阵的介绍:二、源代码解读一、直升机混控矩阵的介绍:直升机混控:直升机混控将三个控制输入(roll,pitch,thrust)组合为四个输出(斜盘伺服系统和主电机ESC设置)。直升机混控的第一个输出是主电机的油门设置。 随后的输出是斜盘伺服器。 可以通过添加简单的混合器来控制尾桨。推力控制输入既用于主电动机设置,也用于斜盘的总螺距。 它使用油门曲线和俯仰曲线,均由五个点组成。混合器定义以以下内容开头:H: <number of swash-.

2021-03-01 14:45:36 2508

原创 整理px4飞控校准机制和qgc校准机制

用qgc执行 px4飞控传感器校准时 的步骤确实很麻烦,磁罗盘需要转6个面,加速度计也需要6个面。大疆无人机的校准很简单,加速度计需要静置一会,磁罗盘校准也就转一个面就行了,就算学不来大疆,也适当在可行范围简化一下px4的校准步骤,抱着这个目的,整理一下px4和qgc的交互的校准机制。一、飞控解锁前的自检机制 这个也比较恶心,飞机用的过程中突然就解不了锁了,重新上下电又好了自检程序调用在commander模块,run函数里while循环的前面PreFlightCheck::pre...

2021-01-29 11:37:06 5160 3

原创 px4飞控和qgc通信机制整理

连接多架飞机时老是不反应,整理一下飞控和qgc的通信机制吧全部消息整理出来太庞大了,以心跳包做个示例,打字太累,直接贴图,qgc的后面再补上

2021-01-03 18:44:27 2845 3

原创 px4log日志文件名和qgc下载的日志文件名称的修改

在飞多架无人机的时候,会给飞机修改设备编号id,地面站默认的sys_id设置范围1~255在读取多个飞机的log日志时候,如果能够直接生成带着飞机编号的log文件是最好的,调研了一下,发现修改log的名称需要两个地方,一个是飞控端,生成的log存放在内存卡中。另一个是地面站QGC读取飞控的内存生成文件,这样是方便不用拆开机架方便读取。1.px4 log日志文件的名称修改生成log名称的代码路径//src/modules/logger/logger.cpp 1151行可以看到代码段..

2020-12-11 17:52:27 2477

C#仿真飞行仪表盘

使用C#编写winform的仿真飞行仪表盘,可实现俯仰角,滚动角,航向角的可视化监测

2018-12-26

px4_GPS制导 .xmind

使用Xmind整理出来的px4飞控程序中navigate模块以及到旋翼的位置模块,如果有什么问题欢迎随时交流

2019-08-06

C#初学者简单计算器

程序非常简单,适用于新学者,试验一个简单加法计算器,新入门的可以到我博客看看,会经常更新哦

2018-10-17

启动后两个窗口同时显示在不同屏幕上

本案例实现在拥有两块显示屏时候,分别将两个不同的窗口显示在两个单独的屏幕。适用于初学者,可以去我的博客看看方法说明。

2018-10-17

C#动态添加数据到折线图

C#窗口程序chart控件实现动态将数据添加到折线图的功能,勾选框可指示数据是否显示

2018-10-24

基于单片机的温湿度监测

适用于单片机初学者,使用51单片机做一个温湿度监测的小系统,使用C语言编程

2018-07-23

数字时钟设计

多功能数字时钟设计,适用于数字电路初学者,其功能是实现时钟分时化显示

2018-07-23

空空如也

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

TA关注的人

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