当前位置:
文档之家› 无人机编程技术及智能系统设计
无人机编程技术及智能系统设计
天线
GPS/GLONASS 接收机
机载高度,空速航 向,姿态角传感器
图 1 无人机功能结构简图
定位与导航 控制计算机
硬件平台 (DSP 计算机)
无线电定位系统
副翼 方向舵
舵机 执行机构
其中 GPS/GLONASS 接收模块选用微小型接收装置;机载姿态传感器选用贴片 式芯片;为了保证自主导航飞行时航向的精度,除了选取航向传感器外,还应用了 一个光纤陀螺;无线电接收系统指的是无线电定位及与地面站(GCS)通讯时数据 链路的机载接收装置;机载计算机包括 3 个 DSP 处理器:GPS 接收解码 DSP,导 航 DSP 和飞控 DSP;舵机选用 Futaba 专用舵机。整个飞控导航系统体积仅为 180× 120×70 mm,总重量不超过 1.5kg(包含安装壳体)
1
的线性加速度等等,这些信息反馈回主控器,需要经过数据处理如滤波, 融合,反馈回算法等。 此外如地面站(电脑中,手机中)都需要编程实现,还有一些单独模块 是可以选择个人编程的,如电调,GPS,遥控器等。
1.3.无人机编程关键技术 1,首先,是状态估计。无人机在天上飞,它必须明白自己的状态,例 如姿态,位置,速度等,才能根据控制算法来调整控制。机器人依靠各 种传感器来获取离散数据,但不幸的是,各种基础传感器,例如陀螺仪, 加速度计等,功能是很有限的,不能给你太多信息,那么就需要你写一 个状态估计程序,来把这些传感器数据处理、融合成你需要的信息。 2,是滤波。传感器的数据,在现实中,是很“脏”的,也就是说被各 种噪声污染得很厉害。要从大量噪声中过滤出真实的传感器数据,这就 涉及到滤波。比较常用的滤波算法有卡尔曼滤波与其各种非线性变体, 新一点的还有粒子滤波,能更适应非线性的真实环境。 3,控制算法。现在你已经估计了无人机的状态了,那么就需要调整各 个控制力矩的输出,将无人机调整到你需要的状态。控制算法里比较简 单和常用的有 pid 以及其各种变体,但 pid 也是一种线性控制,真实环 境是非线性的,我们一般可以通过加快控制-反馈的频率来近似。 4,任务逻辑。无人机执行具体任务的流程和逻辑。 5,通讯程序。你的指令要发给无人机,无人机的数据要传给你,涉及 到通讯的问题,这个问题比较简单,不多提。 6,上位机、地面站。要为无人机的操作准备一套人机界面。
飞控/导航系统分为飞控/导航组合、空速管、驱动信号放大器、伺服舵机四部 分。飞控/导航组合以两个协调工作的微型 DSP 计算机 MP 和 FP 为核心,MP 计算 机用于导航和任务控制以及与地面控制站的通讯;FP 飞行控制计算机用于飞机的飞 行控制和增稳控制;另有一 DSP 处理器专门负责 GPS 信息的接收。舵机的控制由 飞控 DSP 采用 PWM(脉宽调制)波来实现,因为 PWM 波控制方案适用于对各种 脉宽信号控制的扭矩舵机进行控制。三个 DSP 计算机与系统传感器集成为一体。
2
管理功能。为了增强飞行控制功能,应当保证不同飞行指令下的多模式的飞行控制 能力,以便在人机交互的同时对飞机的稳定进行控制,
进行系统设计时,应当遵循在保证性能的同时尽量减小系统重量和缩小体积, 硬件电路设计力求简捷和直接。要求性能与成本兼顾,并保证系统的可靠性。
3. 系统结构介绍
ቤተ መጻሕፍቲ ባይዱ
整个无人机系统由 GPS/GLONASS 接收天线及接收机、机载传感器、无线电 接收系统、DSP 机载计算机以及执行机构五部分组成。系统功能结构模块如图 1 所 示。
2. 系统设计原则
目前,国内在起飞重量不超过 300kg 级的无人机上,飞行控制系统多采用 PC104 计算机结构或基于单片机两种分立式方案,重量重,体积大,集成化能力差。 无人机的飞行控制主要采取两种形式:第一种是采取预先编制的控制程序,来自动 控制飞行;第二种是由设置在地面、空中或舰船上的遥控指挥站来指挥。本文要给 出了一种基于 DSP 集成式结构的小型智能型无人机导航飞控设计方案,将两种控制 方式进行了有机结合,并已应用于某小型无人机上。经过试验,证明了该方法的可 行性,为今后小型化、低成本无人机自动驾驶仪的设计提供了一种新的思路。 无人机系统应首先具备完整的惯性系统和定位系统,其次应当具有完备的飞行任务
无人机编程技术及智能系统设计
1.无人机编程技术
1.1.无人机编程技术综述 无人机本身是个非常综合性的系统。就基本的核心的飞行控制部分来 说,一般包括内环和外环。内环负责控制飞机的姿态,外环负责控制飞 机在三维空间的运动轨迹。高端的无人机,依靠高精度的加速度计和激 光陀螺等先进的传感器(现在流行的都是基于捷连惯导而不是平台式), 计算维持飞机的姿态。低端的型号则用一些 MEMS 器件来做姿态估算。 但它们的数学原理基本是相同的。具体的算法根据硬件平台的能力,可 能采用离散余弦矩阵/四元数/双子样/多子样. 高端的无人机,AHRS/IMU 采用的基本都是民航或者军用的著名产品。例 如全球鹰的利顿 LN-100G/LN-200 等。这些系统价格昂贵但精密,内部 往往是零锁激光陀螺之类。例如 LN-100G 的 GPS-INS 组合,即使丢失 GPS, 靠惯性器件漂移仍可以控制在 120m/min。低端的无人机就没那么精密讲 究了,一般都依赖 GPS 等定位系统来进行外环控制,内环用 MEMS 陀螺 和加速度计进行姿态估算。 如果把无人机看成一个完整的系统,那么还需要很多其他支持,例如任 务规划,地面跟踪等等.进行无人机编程,得看你具体是指哪方面。如 果是飞控系统,你得需要比较扎实的数学知识,对各种矩阵运算/控制 率什么的有深刻的了解。如果只是希望现有的带飞控的平台去做一些任 务,那么需要根据具体的平台来考虑。有些平台提供了任务编辑器,甚 至更灵活的任务脚本。 1.2.无人机编程模块分类: 模块分类最粗的分法就是两个模块,一个模块负责飞行,维持飞机航线 和姿态,以及和地面控制的通信,另一个模块就是功能模块,因为无人 机总是要完成一些任务,具有一定功能的,如果再细分的话飞行模块里 还有姿态控制,航线控制,GPS 定位,电源或者燃料的管理等等。功能 那一部分就看无人机要完成的任务了。如果说编程的话任何一个部分都 可以通过程序自动划实现的。 1.硬件接口编程:如控制器和各传感器之间 2.控制算法程序实现,控制姿态调整的算法,编队飞行的算法,自主飞 行智能算法等等。这些算法需要在主控器上通过机器语言(程序)实现。 3.传感器数据处理。如陀螺仪的角速度,强磁计的偏航信息,加速度计