- 博客(11)
- 收藏
- 关注
原创 PX4实战(十):PX4导航模块(Navigator)详解
本文将对 PX4 固件 v1.14.3 版本中的 Navigator(导航)模块进行详尽的技术剖析。作为飞行控制栈中的高层决策核心,Navigator 模块承担着将抽象的任务指令转化为具象的底层控制设定点的关键职责。本文基于对 src/modules/navigator 目录下源代码的深究研究与架构反推,详细阐述了该模块的文件组织结构、基于状态机的控制逻辑、uORB 异步通讯机制、核心任务模式(Mission)与返航模式(RTL)的实现细节,以及地理围栏(Geofence)与任务可行性检查(Feasibil
2025-12-21 20:53:01
345
原创 FAST-LIVO2 算法深度解析
在移动机器人自主导航与大规模三维环境重建领域,多传感器融合即时定位与建图(SLAM)技术正经历着从松耦合向紧耦合、从特征法向直接法演进的深刻变革。FAST-LIVO2(Fast, Direct LiDAR-Inertial-Visual Odometry)作为香港大学 MARS 实验室在这一领域的最新力作,代表了当前多模态传感器融合技术的最高水平之一。本文旨在基于 GitHub 开源代码仓库及相关学术文献,对 FAST-LIVO2 算法进行详尽的解构与分析。
2025-12-17 14:50:09
1552
1
原创 PX4实战(九):PX4 Commander模块代码详解3(起飞前/后状态自检)
本节主要介绍 commander 模块中无人机起飞前与起飞后的自检(Health Check)与失效保护策略,其中重点放在起飞前自检逻辑。起飞前自检的核心目标是 判定当前系统状态是否允许解锁(arm)。Commander 会在解锁请求阶段对无人机的各类状态进行全面健康检查,只有所有关键条件满足,系统才允许进入可飞行状态。常见的起飞前自检项包括但不限于:连接状态检查:如检测到 USB 直连(调试模式),通常禁止解锁;
2025-12-13 15:19:02
363
原创 PX4实战(八):PX4 Commander模块代码详解2(模式切换决策)
本节主要介绍commander模块中的模式切换策略,是整个commander模块中最核心、日常接触最多的一部分。PX4中的模式切换设计的非常巧妙,把失效保护(失联、低电量、定位失效等)相关决策也放到了里面。模式切换外部触发源头包括遥控器和地面站,也就是用户期待的模式,但是飞控内部会根据各种条件进行决策,最后真正的模式不一定是用户期望的,比如用户设置的定位模式,但是当前没有GNSS信号将无法切换到定位模式,另外飞行中出现了失联、低电量等也会根据保护策略切换到具体的模式执行安全策略,比如land、RTL等。
2025-11-29 14:32:22
316
原创 PX4实战(七):PX4 Commander模块代码详解1(总体流程+解锁过程)
PX4软件中的commander模块类似一个决策模块,比如决策飞机解锁的过程、决策模式切换的过程、决策触发失效保护(失联、低电量等)的过程,还进行起飞前的自检,还对传感器进行校准等。commander模块是PX4内逻辑相对比较多的模块、也是最顶层的一个模块。第一篇:commander总体的流程+解锁过程。第二篇:模式切换的过程+失效保护过程,因为模式切换和失效保护是综合决策的。第三篇:介绍起飞前自检的策略。
2025-11-16 18:32:46
484
原创 PX4实战(六):PX4内创建独立模块(module)
在PX4的实际开发中,我们经常需要根据功能需求创建独立模块(module),以实现传感器驱动、算法处理或系统扩展等功能。基于独立线程(Standalone Thread)的方式;基于工作队列(Work Queue)方式;基于 uORB 消息机制 的事件触发与回调响应的方式。通过对源码的深入分析与实例讲解,帮助开发者理解这三种常见模块运行方式的特点与适用场景,从而在实际项目中灵活选择最合适的实现方案。SRCS模块名为 template_module。
2025-11-09 20:50:34
906
原创 PX4实战(五):PX4飞行日志分析(PlotJuggler 和 Flight Review)
本节介绍 PX4 飞行日志分析的两种常用工具:PlotJuggler 和 Flight Review。两者常配合使用:PlotJuggler适合查看细节曲线,Flight Review便于整体回顾与对比分析。内容包括工具的安装、基础使用方法,以及如何通过关键数据定位问题。掌握日志分析,可以让无人机研发工程师直接从数据中确认问题、定位根因、验证修改,是PX4 调试的核心技能。uORB 是 PX4 内部的模块间通信机制(发布/订阅模型),是日志系统的核心数据源。异步通信、线程安全;
2025-11-08 13:09:38
988
原创 PX4实战(四):PX4 uorb模块详解
本节主要讲解PX4中的uorb消息,主要包括uorb的基本概念使用、PX4内重要的uorb消息、如何自定义uorb消息以及使用uorb消息的注意点等,其中讲解重要uorb消息是为了对PX4内重要数据结构有初步的了解,有助于后期算法理解。uORB(micro Object Request Broker)是PX4中用于模块间通信的轻量级发布-订阅(Publish/Subscribe)机制。模块之间可以通过uORB传递消息,无需直接调用对方函数;提高系统模块化与解耦性;
2025-11-02 17:53:33
1451
原创 PX4实战(三):PX4 Mavlink模块代码详解
本节主要讲解Mavlink协议基础内容、PX4中mavlink模块代码讲解、用户如何自定义mavlink协议等。
2025-10-28 17:21:39
2001
原创 PX4实战(二):PX4启动流程详解
刚开始接触PX4的时候特别好奇是怎么运行起来的,因为是单片机出身、特别纠结那个main函数。本篇文章将详细介绍PX4的启动流程,包括单片机底层驱动开启、NUTTX启动、应用层的启动(包括PX4内的应用层模块、驱动模块等等)。下面代码是基于PX4V1.14.3版本软件讲解。欢迎大家添加QQ群共同学习:455249932。
2025-10-18 20:49:12
2002
2
原创 PX4实战(一):PX4简介及系列文档目录
PX4从入门到精通第一篇,讲解PX4软件的作用、软件下载、环境搭建、软件架构,后续代码讲解计划等。
2025-10-14 19:48:55
2468
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅