登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
飞控开发区
›
Pixhawk飞控
›
小白飞控入门——认识Pixhawk架构思想
返回列表
发新帖
查看:
995
|
回复:
0
小白飞控入门——认识Pixhawk架构思想
[复制链接]
金钢狼
金钢狼
当前离线
积分
1003
窥视卡
雷达卡
323
主题
348
帖子
1003
积分
金牌飞友
金牌飞友, 积分 1003, 距离下一级还需 1997 积分
金牌飞友, 积分 1003, 距离下一级还需 1997 积分
积分
1003
飞币
663
注册时间
2017-7-4
发消息
发表于 2022-11-27 13:38:31
|
显示全部楼层
|
阅读模式
来自:学飞无人机
今天我们要讲的主要是APM和PX4的载体Pixhawk架构。而讲这个之前,就不得不提一下多旋翼飞行器的背景。
首先,这个多旋翼飞行器的发展得益于近年来低成本MEMS的快速发展。
然后,这个多旋翼飞行器的研究热潮起源于一大批开源爱好者,而这帮很牛的爱好者们,什么都干,开源的爱好者们制作开源的硬件飞行控制板,设计开源的飞行自动控制算法,还包括通信链路,地面控制软件等等……所谓有人的地方就有江湖,就有帮派,就有团伙,于是这帮人就成立了帮派,并且有了自己的地盘——开源无人机爱好者社区。比如早期的Mikrokopter、KKmulticopte、Paparazzi,以及后来的Multiwii、Aeroquad、Autoquad。
近几年发展最好的两个开源飞控Pixhawk和Ardupilot。也许很多人不太搞得清楚这两个开源飞控之间的关系,但是我告诉你哦,他俩之间的关系是:
首先
Ardupilot通常被我们叫做APM,是早在2007年由DIY无人机社区(DIY Drones)推出的飞控产品。APM刚开始是基于Arduino的开源平台,那时候的处理器还是AVR系列的Mage2560,性能没有现在这么强大;
然后
而Pixhawk是一款开源硬件,是最近几年由苏黎世理工大学推出来的高性能飞控硬件板,目前已经发展到第二代,并且即将发展到第三代。同时苏黎世理工大学还推出了他们的自动飞行控制固件代码PX4,也就是我们平常所说的原版固件PX4。
但是
随着APM飞控软件的快速发展,AVR的板子性能已经不能满足需求,所以只能逐步移植到Pixhawk的硬件架构上来进行开发。
总之
1、APM和PX4是由两波人员分别开发的开源飞控固件,目前都可以跑在Pixhawk这款硬件板上的。
其中,PX4固件相当于多线程跑在这块板子上,而APM固件相当于一个线程。
2、APM和PX4在功能上面都实现了姿态稳定、定高、定点,沿轨迹飞行,光流和超声波室内定点,环绕飞行,地面站实时显示等主要功能,同时都可以延伸至无人车,无人机,多旋翼等移动机器人平台上面。
不同的是,APM功能较多,比较适合商业开发整合,而PX4架构比较好,便于扩展维护,模块化。
那么接下来我们重点了解Pixhawk为何能够吸引世界上两大开源固件,他有哪些优秀的架构和特点?
Pixhawk是一块高性能板子,适用于固定翼、多旋翼和直升机,船舶以及一切其他可移动的机器人架构。它采用了ST先进的处理器M4架构,同时搭载了NuttX实时系统,且有一个自定义的PX4底层驱动来确保全周期的实时处理。
该板子包含两块独立的子模块,即飞行管理单元(FMU)和输入输出单元(IO),其接口分配图如下图所示:
Pixhawk板子的主要特征参数如下:
1)168MHz Cortex M4核心处理器,256KB RAM 2MB Flash
2)MPU6000三轴加速度计/陀螺仪,L3GD20 16位陀螺仪,LSM303D 14位加速度计/磁力计,MS5611 MEAS气压计
3)14路PWM输出,8位硬写入
4)故障时多重电源供应
5)5个UART串口,1个支持大功率,2个有硬件流量控制
6)2个CAN口,1个I2C口,1个SPI口,3个ADC输入
7)遥控器输入支持:PWM,PPM,S_BUS1/2,DSM2/X,RSSI输入
整套系统硬件的输入输出框架如下图所示:
该套系统提供了一系列终端接口来监控该系统硬件的状态,系统启动是通过一系列的脚本和参数来完成的,其嵌入的MAVLink通信协议提供了一个管理控制器和系统参数的友好界面,并能够在飞行中存储或改变系统参数。
该套架构使用高精度定时器,并且支持中断唤醒。这些唤醒函数非常适用于高效且准确地读取传感器数据。唤醒延迟都在4毫秒以下。该套硬件架构能够支持大多数的外设,包括MEMS传感器,扩展的空速计和压力传感器,PWM,I2C和CAN总线,同时也支持PX4定制的外围设备,如光流传感器。目前该硬件框架支持5个串口通信,可以一对一或者一对多进行无线电通信。同时也支持非商业的数字无线控制系统如S.BUS1/2,PPM,Spektrum。
Pixhawk嵌入式系统的架构设计思想
1) 控制器实时性要求
Pixhawk里面的控制器可以封装成一系列嵌套的控制环。每个控制环都以一个参考设定值和当前状态值作为输入。然后它产生下一个内环的参考值。即使是一些先进的控制算法也可以被看作一系列的嵌套控制环。通常外环对实时性的要求要比内环低,这也给予了系统设计者在外环设计上的灵活空间,如下图所示,阐述了无人机模型与控制的典型流程图:
2) 可重复使用性
Pixhawk为了方便科研团体只关注他们自身的研究领域,提供了一个开放模块化的体系架构。Pixhawk实现了上层可重复使用,并提供了以下功能:
Ø 可以清除底层传到上层的软件接口
Ø 多线程点架构,这样可以将上层应用解耦分开
Ø 可以获得当前传感器的状态和执行器信息
Ø 可以在硬件上扩展总线来增加新的传感器
Ø 可以随时在硬件上进行安全的硬覆盖
3) Pixhawk的软件架构
这里说的软件架构并不是指具体算法里面的架构,而是整个pixhawk提供的体系架构,其主要分为四个层,如下图所示:
最底层是驱动层,有许多特殊的底层代码(如特殊的微处理器或者总线类型);
往上一层便是将这些转化为系统的接口作为驱动点,这一部分是操作系统的一部分;
第三层是处理进程之间通信,提高通信效率,确保数据在各个进程之间的传递;
第四层是应用层,如飞行控制或者状态估计模块都在这一层。
其中最大的优势是中间的通信层,提供了设备驱动和对象请求发送机制(uORB),该机制提供了特定的数据结构用于数据发布。它遵循着“一对多,发布与订阅”的设计模式:一个发布者想要分享信息需要先呈递一个话题。一个话题被定义成为语义信息通道如姿态或者位置。订阅者订阅这个话题,建立订阅之后可以建立新的请求并推送新的数据,或者等待线程时钟唤醒,直到有新的数据获得。如下图描述了发布者和订阅者之间的关系:
推荐
关注
Qt无人机地面站设计与制作视频教程
助力科研——(Simulink)基于模型设计的飞控开发教程
点击 "阅读原文" 查看更多无人机知识
pixhawk飞控源码
,
pixhawk飞控硬件
相关帖子
•
Pixhawk飞控使用APM固件和PX4固件的区别
•
如何用开源飞控PIXHAWK进行二次开发?
•
APM/PX4/Pixhawk飞控固件编译教程
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表