熟悉PX4的朋友应该知道,在以往每次FMU迭代升级时,Pixhawk项目组都会主推其中一款飞控作为标准产品。从今年开始,Pixhawk系列将拓展多种不同的变体,以丰富PX4飞控的硬件阵容。在今年三月,专注于嵌入式设备领域的Gumstix作为银牌会员加入了Dronecode基金会,以他们在开源硬件领域的多年经验推动开源无人机行业发展。在这次合作中,Gumstix带来了Pixhawk最新的FMUv6U
PX4的应用程序入口为 程序名_main(int argc, char *argv[])这里实现应用参数。主循环函数在 task_main(int argc, char *argv[]) thread_main(int argc, char *argv[])等函数中。主循环函数通过orb_subscribe(const struct orb_metadata *meta, const void
# PX4 飞控程序架构全解析
## 引言
PX4 是一种开源飞行控制软件,广泛应用于无人机和其他自主飞行器。它的架构具有模块化和可扩展性,便于优化、定制和维护。本文将详细探讨 PX4 的程序架构,并通过代码示例来帮助理解。
## PX4 架构概述
PX4 的架构基于组件和模块,以便于不同功能的实现。程序可以通过相互独立的模块进行交互,这使得开发和调试过程更为高效。下图展示了 PX4 的基
原创
2021-09-06 09:54:49
3501阅读
硬件准备F4sd飞控一个,usb线一个刷写步骤分两步,第一步刷bootloader,第二步刷px4固件博主之前尝试用stlink下载bl,但是脸上stlink后擦除芯片的时候会报错,所以放弃
原创
2022-01-24 09:53:05
2825阅读
该篇博客是对锡月科技无人机飞行控制原理教学内容的整理1、四旋翼飞行器的两种结构:“×”字模式: Pitch和 Roll与1,3、2,4两组电机呈 45°夹角 。 “十”字模式: Pitch对应2,4电机的对轴,Roll对应1,3电机的对轴,夹角为0。(基本选用X模式)2、四旋翼飞行器的几种姿态导言:思考一下: 1. 四个电机转速完全相同,无人机能平衡嘛? 答:四旋翼重心不一定在中心上,所以无法平衡
转载
2024-10-13 10:21:04
684阅读
文章目录前言一、PX4是什么?二、PX4能做什么?1.支持的载具2.支持的飞控硬件二、PX4架构二、如何开发PX4?二、基于PX4的集群开发二、基于PX4的避障开发总结前言设计的飞控是一个非常复杂的工程,因此对于很多做的同学来说,使用开源飞控更加方便高效.
原创
2022-02-17 11:13:13
9693阅读
点赞
笔记主要来源:Pixhawk 4 接线快速入门目录 一、Pixhawk 4 的各个接口二、接线图概览(重要传感器及外围设备)三、飞控、GPS的安装和方向四、电源五、无线电遥控六、数传电台(可选)七、SD Card(可选)八、电机以及其他外设一、Pixhawk 4 的各个接口FMU:Flight Management Unit 飞行管理组件主 FMU 处理器:STM32F765
转载
2023-07-30 22:11:21
10000+阅读
解决办法,校准陀螺仪
原创
2022-02-17 11:14:00
617阅读
先找一架正常能飞的无人机连接地面站在参数页面右上角点击工具->保存到文件保存的时候文件名注明参数的相关信息然后将需要加载参数的无人机连接至地面站,注意需要加载参数的无人机必须和保存的参数脚本的固件版本、机架类型,飞控硬件等信息一致,否则可能炸机。如果固件版本不一致,就先刷一下相应的固件,再加载参数,固件一致后,点击重置参数为固件的默认值然后点击从文件载入选择需要导入的参数文件导入正常的话地面站上面所有的参数都是正常的,没有红色的提示这个时候可以不用校准传感器,但是需要校准电
原创
2021-09-02 11:57:15
466阅读
以多旋翼为例在src/lib/mixer目录下mixer_multirotor.cpp里unsignedMultirotorMixer::mix(float *outputs, unsigned space){float roll = math::constrain(get_control(0, 0) * _roll_scale, -1.0f, 1.0f);float pitch...
原创
2021-09-02 13:23:38
594阅读
先找一架正常能飞的无人机连接地面站在参数页面右上角点击工具->保存到文件保存的时候文件名注明参数的相关信息然后将需要加载参数的无人机连接
原创
2022-01-16 09:38:52
605阅读
原创
2021-09-05 18:09:18
722阅读
的是1.10固件,以四旋翼为例,如有疏漏,敬请指正混控器的作用是把姿态控制输出的roll,pitch,yaw力矩转换为电机的输出。
原创
2022-01-27 16:49:39
986阅读
以多旋翼为例在src/lib/mixer目录下mixer_multirotor.cpp里unsignedMultirotorMixer::mix(float *outputs, unsigned space){float roll = math::constrain(get_control(0, 0) * _roll_scale, -1.0f, 1.0f);float pitch...
原创
2022-02-17 11:10:08
385阅读
PX4的启动流程基本和之前版本的一致,有微小改动,如下图所示。本文主要查看其中姿态控制部分。其中姿态部分根据在上图中所在位置为因此在px4代码中(版本号为1.11)中,查看对应的RCS文件中的内容,为(此处稍有不同)跳转进去查看为(注,该文件中根据不同的机型,选择不同的对应启动程序,下图仅选择旋翼飞机):再次跳转,找到rc.mp_apps即可,如下图所示:上图中左边以数字开头的表示为机型代号,后边
转载
2023-05-26 14:51:41
470阅读
1评论
前言一、 解锁检查参数1电源检查CBRK_SUPPLY_CHK2.USB连接检查CBRK_USB_CHK3.安全开关检查CBRK_IO_SAFETY4.传感器检查5.CPU利用率检查6.SD卡检查二、安全设置1.低电量保护2.遥控信号丢失保护3.地理围栏保护4.数据链路丢失保护5.返航模式设置6.着陆模式设置三、任务航点参数航点半径从原点到第一个航路点的最大水平距离航路点之间的最大水平距离最小悬停
转载
2023-12-30 19:33:29
710阅读
PX4所有参数都在px4_parameters.h文件里
原创
2021-09-02 13:23:36
668阅读
px4固件源码分析[文件夹作用以及总体架构]总体概述总体构架代码分块总结分析 总体概述px4是一个操作系统,其中运行着很多程序(类比windows),比如我们十分感兴趣与关心的姿态解算、位置解算、姿态控制、位置控制等。每一个程序之间通过UORB通信。总体构架PX4固件可以分为三大部分:实时操作系统、中间件和飞行控制栈Nuttx实时操作系统PX4中间件:设备驱动与微对象请求代理(micro obj
转载
2024-06-04 07:25:32
329阅读
位置控制是无人机飞控的核心算法之一,一方面根据commander中的flag标志位和Navigator中提供的航点信息进行控制(自主模式下),另一方面得到期望姿态角(setpoint)的四元数信息,给到姿态控制模块进行姿态控制。本文重点PX4飞控的位置控制的代码整体架构(mc_pos_control),具体的控制算法将在后续文章中陆续奉上。 位置控制模块的主函数:task_main() 1.订
转载
2023-10-11 09:55:45
255阅读