本讲主要介绍多旋翼的特点及选用多旋翼作为实验平台的原因、对于无人系统教育的一些新需求、RflySim平台对于飞控的底层控制算法的开发优势、本期平台课程的设置、以及如何开发自驾仪系统。
相较于固定翼和直升机,多旋翼具有机械结构简单、 易维护的优点。以四旋翼的操控为例,遥控器的不同通道分别对应升降、前后、左右以及偏航运动。实现了运动的相互解耦,同时具备无机械磨损、结构简单的特点。这满足了易用性、可靠性、勤务性的刚性体验,也是本平台选用多旋翼无人机作为主要实验载具的原因。
基础实验篇 | 课程总体介绍(一)
01.多旋翼
1.1 多旋翼涉及的学科包括以下八个一级学科
·力学、机械工程
多旋翼的构型方面
·电子科学与技术、信息与通信工程、电气工程、仪器科学与技术
多旋翼的组成:机架,动力系统,指挥控制系统,以及飞控内部的接线。
·控制科学与工程
多旋翼的刚体模型开发:控制器和动力学模型
·计算机科学与技术
多旋翼的刚体模型开发:控制器和动力学模型
02、教育新需求
在设计传统的大型航空航天器时,传统院校占有很大的优势:具有人员多、分工细、经验多、资源多等特点。这种方式不适合小型或微型的无人机开发,使得微型飞行器的开发很难投入大量精力。因此开发团队也呈现出了人员少 、一肩挑 、经验少、资源少的新形势。在这种形式下,特别需要全栈式工程师或者总工程师那样的复合型人才。基于这种新形势下的人才需求,针对理论和实践两方面,本平台开发了新工具和新教程以降低学习门槛。
03、RflySim平台
RflySim是由北航可靠飞行控制组发布的生态系统(或工具链)。1.它采用基于模型设计(Model-Based Design,MBD)的思想, 可用于无人系统的控制和安全测试。因MATLAB/Simulink 支持MBD的整个设计阶段,我们选择它们作为控制/视觉/ 集群算法开发的核心编程平台;同时,因Python是免费的 且有丰富的视觉处理库,我们也支持它作为顶层视觉与集 群算法开发 。在平台安装包内可以看到很多例程都基于MATLAB和Python 进行开发,因为这两种语言在做科研或无人系统前端的开发过程中使用较多。2.RflySim平台目前分为了三个版本:基础版(免费)、高级体验版(免费)和高级完整版(付费,请咨询 service@rflysim.com)
3.1基础版
基础版作为实验平台对应了《多旋翼飞行器设计与控制实践》一书,安装包体积较小,只包含了PX4底层算法Simulink开发的功能。
3.2高级体验版
高级体验版在基础版上增加了飞机动力学模型开发、UE4三维场景开发、视觉控制开发和集群算法开发等功能,但是限制了集群数量和分C布式仿真等功能。
3.3高级完整版
高级完整版在体验版上增加了最新的UE4引警、全球大场景仿真、分布式局域网集群视觉仿真等功能。
04、课程设置
本系列课程主要介绍底层飞行控制算法开发,分为两部分:基础实验和进阶实验。
4.1基础实验内容
软件在环仿真实验;自动代码生成工具箱官方例程实验;姿态控制实验;飞控官方固件还原烧录实验;log数据记录;uORB读写通信;自定义uORB消息;回传提示消息;PX4控制器的外部通信;QGC实时调整控制器参数
4.2进阶实验内容
实验内容包括:动力系统设计 ;动态建模 ;传感器标定 ;滤波器设计 ;姿态控制器设计 ;定点位置控制器设计 ;半自主控制模式设计 ;失效保护逻辑
4.2.1
本平台提供的例程可以保证每个实验或者每个版块的实验可以被单独完成 。为了使任务目标有差异化,本课程可以按照一种递进的结构完成:设计和建模实验 -〉估计实验-〉控制实验-〉决策实验
4.2.2以姿态控制器为例的实验步骤设计
基础实验:打开例程,阅读并运行程序代码,然后观察并记录分析数据。
分析实验 :指导读者修改例程,运行修改后的程序并收集和分析数据。
设计实验 :在上述两个实验的 基础上,针对给定的任务,进行独立的设计。
4.2.3增加新实验
动力系统设计实验和建模实验的参数可参考(飞行测评网站)自行设置。控制器设计实验方面,除了基础的PID控制,后续还会增加其他的控制方式(如 预测控制 、自抗扰控制 ),目前自抗扰控制的相关例程已开发完成。
05、开发自驾仪系统
自驾仪系统是一种嵌入式系统,在其中部署算法时应重点关注其实时性,这会直接影响系统的带宽和它的鲁棒特性。
5.1设置时钟
RflySim平台使用时间触发的方式确保算法的稳定运行,这可以在Simulink中使用状态流调度器实现
平台设计的控制器与PX4软件的控制器性能对比
在线参数整定
实验内容包括:动力系统设计 ;动态建模 ;传感器标定 ;滤波器设计 ;姿态控制器设计 ;定点位置控制器设计 ;半自主控制模式设计 ;失效保护逻辑
数据实时显示
如果使用者需要在飞行器飞行过程中实时观察飞行器状态或者控制器 的中间参数,也可以很方便地在Simulink模型中添加实时数据观测模块,并在QGC中 观测数据。