<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://www.px4ai.com/index.php?action=history&amp;feed=atom&amp;title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90</id>
	<title>PX4源码目录分析 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://www.px4ai.com/index.php?action=history&amp;feed=atom&amp;title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90"/>
	<link rel="alternate" type="text/html" href="https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;action=history"/>
	<updated>2026-05-02T13:52:13Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=361&amp;oldid=prev</id>
		<title>Root：​Root移动页面PX4源码根目录分析至PX4源码目录分析，不留重定向：​恢复</title>
		<link rel="alternate" type="text/html" href="https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=361&amp;oldid=prev"/>
		<updated>2025-09-25T16:12:21Z</updated>

		<summary type="html">&lt;p&gt;Root移动页面&lt;a href=&quot;/index.php?title=PX4%E6%BA%90%E7%A0%81%E6%A0%B9%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;PX4源码根目录分析（页面不存在）&quot;&gt;PX4源码根目录分析&lt;/a&gt;至&lt;a href=&quot;/PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&quot; title=&quot;PX4源码目录分析&quot;&gt;PX4源码目录分析&lt;/a&gt;，不留重定向：​恢复&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年9月26日 (五) 00:12的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;zh-Hans-CN&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（没有差异）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff:1.41:old-353:rev-361 --&gt;
&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=353&amp;oldid=prev</id>
		<title>Root：​/* PX4自动驾驶系统目录结构分析 */</title>
		<link rel="alternate" type="text/html" href="https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=353&amp;oldid=prev"/>
		<updated>2025-09-25T15:13:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;PX4自动驾驶系统目录结构分析&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年9月25日 (四) 23:13的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== PX4自动驾驶系统目录结构分析 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== PX4自动驾驶系统目录结构分析 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PX4是一款广泛使用的开源飞控项目，其代码结构复杂但组织清晰。以下是对其目录结构的详细分析，采用MediaWiki代码格式展示，并添加了更多中文备注和解释。&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PX4是一款广泛使用的开源飞控项目，其代码结构复杂但组织清晰。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 目录结构总览 ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 目录结构总览 ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PX4源代码的顶层目录（以v1.13.0为例）包含以下主要文件夹：&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PX4源代码的顶层目录（以v1.13.0为例）包含以下主要文件夹：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki:diff:1.41:old-352:rev-353:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=352&amp;oldid=prev</id>
		<title>Root：​Root移动页面PX4源码目录分析至PX4源码根目录分析，不留重定向：​标题有错别字</title>
		<link rel="alternate" type="text/html" href="https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=352&amp;oldid=prev"/>
		<updated>2025-09-25T15:10:39Z</updated>

		<summary type="html">&lt;p&gt;Root移动页面&lt;a href=&quot;/PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&quot; title=&quot;PX4源码目录分析&quot;&gt;PX4源码目录分析&lt;/a&gt;至&lt;a href=&quot;/index.php?title=PX4%E6%BA%90%E7%A0%81%E6%A0%B9%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;PX4源码根目录分析（页面不存在）&quot;&gt;PX4源码根目录分析&lt;/a&gt;，不留重定向：​标题有错别字&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年9月25日 (四) 23:10的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;zh-Hans-CN&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（没有差异）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff:1.41:old-351:rev-352 --&gt;
&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=351&amp;oldid=prev</id>
		<title>2025年9月25日 (四) 15:06 Root</title>
		<link rel="alternate" type="text/html" href="https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=351&amp;oldid=prev"/>
		<updated>2025-09-25T15:06:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;amp;diff=351&amp;amp;oldid=350&quot;&gt;显示更改&lt;/a&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=350&amp;oldid=prev</id>
		<title>Root：​创建页面，内容为“== PX4自动驾驶系统目录结构分析 == PX4是一款广泛使用的开源飞控项目，其代码结构复杂但组织清晰。以下是对其目录结构的详细分析，采用MediaWiki代码格式展示[1,2,4](@ref)。  === 目录结构总览 === PX4源代码的顶层目录（以v1.13.0为例）包含以下主要文件夹[2](@ref)： &lt;pre&gt; Firmware/ ├─ boards ├─ build ├─ cmake ├─ Documentation ├─ integrationtests ├─ launch ├…”</title>
		<link rel="alternate" type="text/html" href="https://www.px4ai.com/index.php?title=PX4%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E5%88%86%E6%9E%90&amp;diff=350&amp;oldid=prev"/>
		<updated>2025-09-25T15:03:34Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“== PX4自动驾驶系统目录结构分析 == PX4是一款广泛使用的开源飞控项目，其代码结构复杂但组织清晰。以下是对其目录结构的详细分析，采用MediaWiki代码格式展示[1,2,4](@ref)。  === 目录结构总览 === PX4源代码的顶层目录（以v1.13.0为例）包含以下主要文件夹[2](@ref)： &amp;lt;pre&amp;gt; Firmware/ ├─ boards ├─ build ├─ cmake ├─ Documentation ├─ integrationtests ├─ launch ├…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== PX4自动驾驶系统目录结构分析 ==&lt;br /&gt;
PX4是一款广泛使用的开源飞控项目，其代码结构复杂但组织清晰。以下是对其目录结构的详细分析，采用MediaWiki代码格式展示[1,2,4](@ref)。&lt;br /&gt;
&lt;br /&gt;
=== 目录结构总览 ===&lt;br /&gt;
PX4源代码的顶层目录（以v1.13.0为例）包含以下主要文件夹[2](@ref)：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Firmware/&lt;br /&gt;
├─ boards&lt;br /&gt;
├─ build&lt;br /&gt;
├─ cmake&lt;br /&gt;
├─ Documentation&lt;br /&gt;
├─ integrationtests&lt;br /&gt;
├─ launch&lt;br /&gt;
├─ msg&lt;br /&gt;
├─ platforms&lt;br /&gt;
├─ posix-configs&lt;br /&gt;
├─ ROMFS&lt;br /&gt;
├─ src&lt;br /&gt;
├─ test&lt;br /&gt;
├─ test_data&lt;br /&gt;
├─ Tools&lt;br /&gt;
└─ validation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 主要目录详解 ===&lt;br /&gt;
&lt;br /&gt;
==== 1. &amp;lt;code&amp;gt;boards/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
此目录包含了各种品牌和版本的飞控板（如Pixhawk系列）的编译脚本和配置文件[2](@ref)。&lt;br /&gt;
*   例如，&amp;lt;code&amp;gt;px4/fmu-v2/&amp;lt;/code&amp;gt;目录下就包含了针对Pixhawk v2.4.8硬件的编译脚本（如&amp;lt;code&amp;gt;default.px4board&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fixedwing.px4board&amp;lt;/code&amp;gt;）。&lt;br /&gt;
*   &amp;lt;code&amp;gt;extras/&amp;lt;/code&amp;gt;子目录则存放了飞控板芯片的BootLoader文件（如&amp;lt;code&amp;gt;px4_fmu-v2_bootloader.bin&amp;lt;/code&amp;gt;）[2](@ref)。&lt;br /&gt;
*   编译脚本用于设置哪些驱动和功能模块会被编译进最终固件中[2](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 2. &amp;lt;code&amp;gt;build/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
这是&amp;#039;&amp;#039;&amp;#039;编译目标目录&amp;#039;&amp;#039;&amp;#039;，只有在执行至少一次编译后才会生成。它存放编译过程中产生的中间文件、目标文件以及最终的固件[2,3](@ref)。&lt;br /&gt;
*   针对不同硬件目标和编译配置（例如&amp;lt;code&amp;gt;make px4_fmu-v2_default&amp;lt;/code&amp;gt;用于实体飞控板，&amp;lt;code&amp;gt;make px4_sitl_default&amp;lt;/code&amp;gt;用于软件在环仿真），会生成相应的子目录（如&amp;lt;code&amp;gt;build/px4_fmu-v2_default/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;build/px4_sitl_default/&amp;lt;/code&amp;gt;）[2](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 3. &amp;lt;code&amp;gt;cmake/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
此目录包含CMake编译系统的配置文件[2](@ref)。&lt;br /&gt;
*   &amp;lt;code&amp;gt;cmake/configs/&amp;lt;/code&amp;gt;下的&amp;lt;code&amp;gt;.cmake&amp;lt;/code&amp;gt;文件（如&amp;lt;code&amp;gt;nuttx_px4fmu-v2_default.cmake&amp;lt;/code&amp;gt;）定义了针对不同硬件平台的特定编译选项和配置[2,4](@ref)。&lt;br /&gt;
*   该目录下的文件在开发中通常无需修改[2](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 4. &amp;lt;code&amp;gt;Documentation/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
存放PX4系统的&amp;#039;&amp;#039;&amp;#039;开发者文档&amp;#039;&amp;#039;&amp;#039;，包括代码说明、开发指南等[1,2,4](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 5. &amp;lt;code&amp;gt;launch/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
包含用于&amp;#039;&amp;#039;&amp;#039;仿真环境&amp;#039;&amp;#039;&amp;#039;（如Gazebo）的启动文件，用于配置ROS节点、生成仿真世界等[1,2,4](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 6. &amp;lt;code&amp;gt;mavlink/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
存放与&amp;#039;&amp;#039;&amp;#039;MAVLink通信协议&amp;#039;&amp;#039;&amp;#039;相关的文件。MAVLink是一种轻量级的消息传输协议，用于PX4飞控与地面站（如QGroundControl）或其他外部设备之间的通信。该目录包含了协议的定义和实现[1,4](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 7. &amp;lt;code&amp;gt;msg/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
这是&amp;#039;&amp;#039;&amp;#039;uORB消息定义目录&amp;#039;&amp;#039;&amp;#039;。uORB是PX4内部用于模块间通信的发布-订阅机制[1,4](@ref)。&lt;br /&gt;
*   所有uORB消息主题（Topic）的数据结构都在此目录下的&amp;lt;code&amp;gt;.msg&amp;lt;/code&amp;gt;文件中定义（例如&amp;lt;code&amp;gt;sensor_combined.msg&amp;lt;/code&amp;gt;）[1,3](@ref)。&lt;br /&gt;
*   在编译过程中，这些文件会被自动转换为相应的C++头文件（&amp;lt;code&amp;gt;.h&amp;lt;/code&amp;gt;）和源文件（&amp;lt;code&amp;gt;.cpp&amp;lt;/code&amp;gt;）[3](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 8. &amp;lt;code&amp;gt;platforms/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
包含与&amp;#039;&amp;#039;&amp;#039;系统平台相关&amp;#039;&amp;#039;&amp;#039;的底层代码，特别是PX4所采用的&amp;#039;&amp;#039;&amp;#039;NuttX实时操作系统&amp;#039;&amp;#039;&amp;#039;的源代码和适配层。该目录实现了工作队列、多进程、多线程调度等系统特性[1,4,5](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 9. &amp;lt;code&amp;gt;ROMFS/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ROM文件系统&amp;#039;&amp;#039;&amp;#039;目录。该目录存放了飞控系统启动时加载的脚本和配置文件，对系统初始化至关重要[1,2,4](@ref)。&lt;br /&gt;
*   &amp;lt;code&amp;gt;ROMFS/px4fmu_common/init.d/&amp;lt;/code&amp;gt;包含了初始化脚本[1,2](@ref)：&lt;br /&gt;
    **   &amp;lt;code&amp;gt;rcS&amp;lt;/code&amp;gt;: 这是&amp;#039;&amp;#039;&amp;#039;最先执行的主启动脚本&amp;#039;&amp;#039;&amp;#039;，负责挂载SD卡、启动uORB、配置系统参数等基础任务[1,2](@ref)。&lt;br /&gt;
    **   &amp;lt;code&amp;gt;rc.sensors&amp;lt;/code&amp;gt;: 负责启动各种传感器驱动[1,2](@ref)。&lt;br /&gt;
    **   &amp;lt;code&amp;gt;rc.mc_apps&amp;lt;/code&amp;gt;: 负责启动上层应用模块，如状态估计器（&amp;lt;code&amp;gt;attitude_estimator&amp;lt;/code&amp;gt;）、控制器（&amp;lt;code&amp;gt;attitude_control&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;position_control&amp;lt;/code&amp;gt;）等[1,2](@ref)。&lt;br /&gt;
    **   &amp;lt;code&amp;gt;rc.logging&amp;lt;/code&amp;gt;: 配置并启动日志记录功能[2](@ref)。&lt;br /&gt;
*   该目录还可能包含不同机型（如多旋翼、固定翼）的混控器（Mixer）配置文件[3](@ref)。&lt;br /&gt;
&lt;br /&gt;
==== 10. &amp;lt;code&amp;gt;src/&amp;lt;/code&amp;gt; ====&lt;br /&gt;
这是PX4项目最核心的&amp;#039;&amp;#039;&amp;#039;源代码目录&amp;#039;&amp;#039;&amp;#039;，包含了无人机飞行控制的大部分算法实现[1,2,5](@ref)。&lt;br /&gt;
&lt;br /&gt;
====== 10.1. &amp;lt;code&amp;gt;drivers/&amp;lt;/code&amp;gt; ======&lt;br /&gt;
包含了飞控硬件所使用的&amp;#039;&amp;#039;&amp;#039;所有设备驱动代码&amp;#039;&amp;#039;&amp;#039;，例如陀螺仪、加速度计、磁力计、气压计、GPS模块、PWM输出等。这些驱动提供了与硬件交互的底层接口[1,2,4](@ref)。&lt;br /&gt;
&lt;br /&gt;
====== 10.2. &amp;lt;code&amp;gt;examples/&amp;lt;/code&amp;gt; ======&lt;br /&gt;
PX4官方提供的一些&amp;#039;&amp;#039;&amp;#039;简单示例程序&amp;#039;&amp;#039;&amp;#039;，例如&amp;lt;code&amp;gt;px4_simple_app&amp;lt;/code&amp;gt;，用于帮助开发者学习如何通过uORB进行数据交互和创建新的模块，是二次开发的入门参考[1,2,4](@ref)。&lt;br /&gt;
&lt;br /&gt;
====== 10.3. &amp;lt;code&amp;gt;include/&amp;lt;/code&amp;gt; ======&lt;br /&gt;
包含其他源代码文件可能需要的&amp;#039;&amp;#039;&amp;#039;头文件&amp;#039;&amp;#039;&amp;#039;和库定义[2,5](@ref)。&lt;br /&gt;
&lt;br /&gt;
====== 10.4. &amp;lt;code&amp;gt;lib/&amp;lt;/code&amp;gt; ======&lt;br /&gt;
包含许多&amp;#039;&amp;#039;&amp;#039;公共算法函数库和数学工具&amp;#039;&amp;#039;&amp;#039;，例如[1,2,5](@ref)：&lt;br /&gt;
*   &amp;lt;code&amp;gt;matrix&amp;lt;/code&amp;gt;: 矩阵运算&lt;br /&gt;
*   &amp;lt;code&amp;gt;mathlib&amp;lt;/code&amp;gt;: 数学函数库&lt;br /&gt;
*   &amp;lt;code&amp;gt;controllib&amp;lt;/code&amp;gt;: 控制算法相关（如PID）&lt;br /&gt;
*   &amp;lt;code&amp;gt;EKF&amp;lt;/code&amp;gt;: 扩展卡尔曼滤波实现&lt;br /&gt;
*   &amp;lt;code&amp;gt;rc&amp;lt;/code&amp;gt;: 遥控器协议解析&lt;br /&gt;
*   &amp;lt;code&amp;gt;conversion&amp;lt;/code&amp;gt;: 坐标旋转转换等&lt;br /&gt;
&lt;br /&gt;
====== 10.5. &amp;lt;code&amp;gt;modules/&amp;lt;/code&amp;gt; ======&lt;br /&gt;
这是&amp;#039;&amp;#039;&amp;#039;上层应用模块&amp;#039;&amp;#039;&amp;#039;的主要目录，也是飞行控制算法实现的核心所在。PX4的功能由许多独立的模块（类似于ROS中的节点）构成，每个模块通过订阅和发布uORB消息进行通信。关键模块包括[1,2,4](@ref)：&lt;br /&gt;
*   &amp;lt;code&amp;gt;commander&amp;lt;/code&amp;gt;: 系统状态管理和模式切换（如解锁、上锁、飞行模式切换）、安全检查。&lt;br /&gt;
*   &amp;lt;code&amp;gt;attitude_estimator_q&amp;lt;/code&amp;gt; 或 &amp;lt;code&amp;gt;ekf2&amp;lt;/code&amp;gt;: 姿态估计器（分别使用互补滤波和扩展卡尔曼滤波算法）。&lt;br /&gt;
*   &amp;lt;code&amp;gt;mc_att_control&amp;lt;/code&amp;gt;: 多旋翼姿态控制（通常采用内外环PID结构，外环控制角度，内环控制角速率）。&lt;br /&gt;
*   &amp;lt;code&amp;gt;mc_pos_control&amp;lt;/code&amp;gt;: 多旋翼位置控制（同样采用内外环PID结构，外环控制速度，内环控制加速度）。&lt;br /&gt;
*   &amp;lt;code&amp;gt;fw_att_control&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;fw_pos_control_l1&amp;lt;/code&amp;gt;: 固定翼姿态和位置控制。&lt;br /&gt;
*   &amp;lt;code&amp;gt;local_position_estimator&amp;lt;/code&amp;gt; (LPE): 基于光学flow、GPS等信息的位置估算。&lt;br /&gt;
*   &amp;lt;code&amp;gt;navigator&amp;lt;/code&amp;gt;: 任务执行、失效保护和返航（RTL）导航。&lt;br /&gt;
*   &amp;lt;code&amp;gt;land_detector&amp;lt;/code&amp;gt;: 着陆状态检测。&lt;br /&gt;
*   &amp;lt;code&amp;gt;logger&amp;lt;/code&amp;gt;: 飞行日志记录。&lt;br /&gt;
*   &amp;lt;code&amp;gt;sensors&amp;lt;/code&amp;gt;: 传感器数据处理模块。&lt;br /&gt;
&lt;br /&gt;
====== 10.6. &amp;lt;code&amp;gt;systemcmds/&amp;lt;/code&amp;gt; ======&lt;br /&gt;
包含一系列&amp;#039;&amp;#039;&amp;#039;系统命令&amp;#039;&amp;#039;&amp;#039;的源码，这些命令可以在PX4的NuttX Shell中使用，例如&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;（重启）、&amp;lt;code&amp;gt;top&amp;lt;/code&amp;gt;（查看任务状态）、&amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt;（参数管理）等[1,2,5](@ref)。&lt;br /&gt;
&lt;br /&gt;
=== 核心架构总结 ===&lt;br /&gt;
PX4固件从架构上可以分为三大层次[4](@ref)：&lt;br /&gt;
#   &amp;#039;&amp;#039;&amp;#039;实时操作系统层&amp;#039;&amp;#039;&amp;#039;: 主要由&amp;lt;code&amp;gt;platforms/&amp;lt;/code&amp;gt;目录下的NuttX RTOS及相关底层代码构成，提供多任务、调度等核心系统服务。&lt;br /&gt;
#   &amp;#039;&amp;#039;&amp;#039;中间件层&amp;#039;&amp;#039;&amp;#039;: 包括&amp;lt;code&amp;gt;src/drivers/&amp;lt;/code&amp;gt;中的设备驱动和&amp;lt;code&amp;gt;msg/&amp;lt;/code&amp;gt;定义的uORB消息机制，为上层应用提供硬件抽象和高效的进程间通信。&lt;br /&gt;
#   &amp;#039;&amp;#039;&amp;#039;飞行控制栈层&amp;#039;&amp;#039;&amp;#039;: 主要集中在&amp;lt;code&amp;gt;src/modules/&amp;lt;/code&amp;gt;目录，实现了姿态估计、姿态控制、位置估计、位置控制、导航、命令处理等所有飞行相关的高级算法和应用。&lt;br /&gt;
&lt;br /&gt;
=== 如何获取代码 ===&lt;br /&gt;
PX4项目包含许多子模块（Git Submodules），推荐使用以下命令克隆代码以确保完整获取[1](@ref)：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone --recursive https://github.com/PX4/PX4-Autopilot.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
或者分步执行：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/PX4/PX4-Autopilot&lt;br /&gt;
cd PX4-Autopilot&lt;br /&gt;
git submodule update --init --recursive&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 编译示例 ===&lt;br /&gt;
针对不同的硬件目标和仿真环境，编译命令也不同[1,2](@ref)：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 编译用于 Pixhawk FMU-v3 的固件&lt;br /&gt;
make px4_fmu-v3_default&lt;br /&gt;
&lt;br /&gt;
# 编译用于 Gazebo 软件在环仿真 (SITL) 的固件&lt;br /&gt;
make px4_sitl_default gazebo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Root</name></author>
	</entry>
</feed>