【PX4学习笔记】07.PX4框架学习以及PX4中的PID

目录

[!NOTE]

  1. PID本质上是对误差进行处理,然后进行反馈控制。
  2. 姿态控制使用P-PID控制
  3. 位置控制使用P-PID控制
  4. 这两个模块是相互构成串级PID

[!IMPORTANT]

​ PX4中其实是没有高级控制算法的,都是朴素的PID算法。一个是算力限制,另一个是应用场景限制。(原来的东西就很稳定而且够用)

无人机实现飞行的控制流程

PX4飞控中的控制流程如下:

image-20240218061039034

[!IMPORTANT]

​ 最底层是motor_driver,再往上是混控器mixer,再往上是姿态控制att_ctrl,再往上是位置控制pos_ctrl和姿态估计attitude_estimator。

​ 1.其中位置控制pos_ctrl由导航模块navigator和位置估计position_estimator两个部分组成。这里面navigator模块来自于commander和stickmapper。position_estimator模块来自于GPS或者是optical_flow。

​ 2.其中姿态估计attitude_estimator由position_estimator和inertial_sensors两个模块构成。

image-20240218061751174

[!IMPORTANT]

​ 有一个很有道理的点,就是四旋翼运动的本质落脚到最底层其实姿态控制。那么就有一个问题?先有电机转速,还是先有姿态控制?

​ 需要考虑两个量:实际量与期望量。

​ 以att_ctrl这个模块为例子:实际量来源于attitude_estimator,期望量来源于pos_ctrl

​ 以pos_ctrl这个模块为例子:实际量来源于position_estimator,期望量来源于navigator

不太理解的地方是pos_ctrl与att_ctrl的关系

PX4固件框架学习

具体框架(总体)

image-20240218064139998

[!NOTE]

​ Firmware的整体框架如上图。

具体框架(boards)

image-20240218065454841

[!NOTE]

​ boards文件夹里主要存放了固件支持的硬件,px4是最常用的

image-20240218065549774

[!NOTE]

​ boards文件夹中px4内,可以看到各个硬件版本对应的硬件,比如硬件PIXHAWK2.4.8对应的固件fmu-V2,硬件PIXHAWK4对应的固件fmu-V4。

image-20240218065750395

[!NOTE]

fmu-v2固件中的内容。主要存放的是硬件的配置。

image-20240218065843353

[!NOTE]

​ fmu-v2/src文件夹中存放的是硬件的相关驱动和板卡配置部分。

具体框架(build)

image-20240218070027506

[!NOTE]

​ 存放编译好PX4固件后生成的,可以直接烧录进pixhawk硬件的二进制文件。

image-20240218070211203

[!NOTE]

​ px4固件中,由一些重要的头文件。

具体框架(SRC)

image-20240218064155334

image-20240218064159251

image-20240218142922422

[!NOTE]

​ 控制算法中使用到的库。

image-20240218143318704

[!NOTE]

​ src/modules文件夹中放了最关键的控制算法。

具体模块数据之间的关系

image-20240218064204434

[!NOTE]

​ 具体的msg数据流消息的流动

PX4中的PID代码体现

image-20240218145808616

image-20240218150931720

​ 在mc_att_control_params.c中存放了进行姿态控制所需要的各种参数。

image-20240218151413340

[!NOTE]

​ 上述文件与qgc地面站中的参数设置是一一对应的。

uORB

image-20240218151052368

其他

QGC的姿态控制PID参数体现

image-20240218151704002

QGC的位置控制PID参数体现

image-20240218151913384

注意

image-20240218151952937

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: px4fmuv2.4.6.sch.pdf是一个电路设计文件。它描述了PX4飞控系统的硬件电路布局和连接方式。PX4FMU是一种开源飞控系统,用于控制无人机的飞行。这个版本号为2.4.6的设计文件显示了与其他外部设备(如传感器、控制器等)的连接和通信方式。文件的电路图显示了各个组件之间的电气连接,包括芯片、电阻、电容等元件的布局和连接方式。此外,该文件还提供了电源线路和地线的设计,以确保稳定和可靠的电力供应。通过这个设计文件,可以了解PX4FMU硬件系统的整体架构和电路连接方式,这对于系统的开发和维护非常重要。通过仔细阅读和理解这个设计文件,开发人员可以确保飞控系统的正常运行,同时也可以在需要的时候进行修复和升级。 ### 回答2: px4fmuv2.4.6.sch.pdf 是一份电路图文件,用于PX4 FMU v2.4.6飞控模块的硬件设计。飞控模块是一种用于无人机的控制设备,它通过接收传感器数据、处理算法和操控输出来实现无人机的稳定飞行。 这份电路图文件详细描述了PX4 FMU v2.4.6飞控模块的硬件组成和连接方式。里面包含了各种电子元件,如处理器、传感器、接口等。通过仔细分析电路图,可以了解到飞控模块的整体架构和各个部件之间的连接关系。 此外,电路图还提供了元器件的数值和规格,以及更多的细节信息,如引脚脚位、电源管理、信号输入输出等。这样的详细信息可以帮助工程师在进行硬件设计时选择适当的元器件和连接方式,确保飞控模块的稳定性和可靠性。 总而言之,px4fmuv2.4.6.sch.pdf 是一份用于PX4 FMU v2.4.6飞控模块的电路图文件,它提供了该飞控模块的硬件设计细节,让工程师可以理解该模块的整体架构和各个部件的连接方式,以便进行相应的硬件设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值