无人机飞行控制系统简称飞控,俗称自动驾驶仪,是无人机的控制核心。
其主要作用是稳定无人机的姿态,辅助地面操控员操纵无人机和配合导航设备完成指定的飞行任务。
飞控系统的本意是自动代替驾驶员来控制飞行,但是直到现在,飞行控制系统也无法完全取代驾驶员的职能,只有发展成为最完善的自动飞行控制系统才能真正取代驾驶员,实现全自动飞行。
Pixhawk是一款低成本高性能且完全开放的飞控硬件,适用于固定翼、直升机、多旋翼、地面车辆等,可配合地面站Mission Planner使用。
在地面站中可以在线烧写固件、调参,使用无线数据传输系统建立地面站与自驾仪之间的通信,构建了一套无人机自动控制系统。Pixhawk飞控系统源于ETH Zurich的计算机视觉与几何实验室、自主系统实验和自动控制实验室的Pixhawk项目。
它拥有ST公司快速运算的处理器和传感器技术,以及实时操作系统,具有强大的功能,能够可靠地控制无人机。
Pixhawk采用带有FPU的32位STM32F427芯片,它采用Cortex M4内核,主频为168M,具有252MIPS的运算能力,256KB的RAM以及2MB的闪存,同时具有一片型号为STM32F103的故障协处理器芯片。
PX4是Pixhawk飞控硬件的原生固件。
PX4飞控系统集成了丰富的定位、导航和控制算法以及模块驱动,而开发板上可以下装的代码量受限于它自身的内存大小,当添加额外的模块或者代码时很有可能超过内存量,这将会导致“内存溢出”。
为了解决这个问题,需要移除不重要的模块或者使用内存量更高的硬件。
PX4系统通过编译器编译生成一个bin格式文件,可以通过ST-LINK在线调试器将bin文件下载至开发板。bin文件只包括了数据本身,是纯粹的二进制数据。
对一个bin文件而言,查看文件的大小就可以知道文件包括数据的实际大小。
在未移除模块时,bin文件的大小为1.6MB如图左,在移除一部分模块后,bin文件大小为809KB,如图右,均超过了Pixhawk硬件的内存量,所以需要使用内存量更高的芯片作为硬件平台。