《多旋翼无人飞行器嵌入式飞控开发指南》林庆峰, 谌利, 奚海蛟编著 清华大学出版社 2017/8/1
内容简介:
随着集成电路、微控制器以及微机电技术的发展,多旋翼无人飞行器的控制技术得到了蓬勃的发展。随着大疆、派诺特、3DR等国内外一系列无人机公司推出针对普通大众的消费级无人机产品,无人机作为一个普通消费应用也得到了大众的认可和接受,越来越多的工程技术人员将多旋翼无人飞行器作为一个经典的控制系统来进行学习和研究。本书主要围绕多旋翼无人机的飞控系统设计,从嵌入式的基础知识开始,深入浅出地介绍了无人机的基本知识和硬件构成,重点介绍了无人机的飞控系统原理、基础和开发流程,针对飞行器系统的状态解算介绍了几种不同的解算方法,并给出相应的实际代码例程。本书从各方面对无人机系统的设计进行阐述,并提供了前沿的知识和信息,既有初学者希望了解的基础知识,也有行业研究者所希望深入了解的算法分析,以及室内定位SLAM原理等。 除了正文部分,本书还提供了丰富的附录,包括四旋翼无人机的组装、无刷电机与电调的相关知识、无人机实验室的相关研发调试设备,以及业界流行的开源飞控的相关知识,甚至包括无人机的相关应用,让读者能够更全面地熟悉和了解整个无人机行业的生态系统。 本书特别适合作为高等院校自动化、计算机、电子工程等相关专业“多旋翼无人飞行器设计”课程的教材,也可供从事嵌入式系统开发与应用的工程技术人员参考。
目录:
3.1实时操作系统简介
3.1.1实时操作系统的定义
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受该事件或数据并以足够快的速度予以处理,其处理的结果又能在规定的时间之内控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。
实时操作系统是保证在一定时间限制内完成特定功能的操作系统。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。
3.1.2实时操作系统的特征
1.高精度计时
系统计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确地计算一个时间函数,这不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。
2.多级中断机制
一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分,有的必须立即作出反应,有的则可以延后处理,因此需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的事件及时进行响应和处理。
3.实时调度机制
实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲地进行,因为涉及两个进程之间的切换,只能在确保“安全切换”的时间点上进行。实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。
实时操作系统的特点:①异步的事件响应;②切换时间和中断延迟时间确定;③优先级中断和调度;④抢占式调度。
3.2实时操作系统在飞控系统中的重要性
飞行控制系统是无人机的重要组成部分,是飞行控制算法的运行平台,其性能好坏直接关系着无人机能否安全可靠地飞行。随着航空技术的发展,无人机飞行控制系统正向着多功能、高精度、小型化和可复用的方向发展。高精度要求无人机控制系统的精度高,稳定性好,能够适应复杂的外界环境,因此控制算法比较复杂,计算速度快,精度高;小型化则对控制系统的重量和体积提出了更高的要求,要求控制系统的性能越高越好,体积越小越好。此外,无人机飞行控制系统还要具有实时、可靠、低成本和低功耗的特点。
近年来,实时操作系统在多媒体通信、在线事务处理、生产过程控制和交通控制等各个领域得到了广泛的应用。并且,实时操作系统将实时多任务机制以功能(函数)调用的方式提供给用户,它的系统调用是标准化、规格化的,这使得开发人员不必再考虑多个实时任务的同步问题,从而将更多的精力致力于应用程序的开发。
3.3FreeRTOS实时操作系统
3.3.1FreeRTOS简介
FreeRTOS是一款由RealTimeEngineersLtd出品的市场领先的RTOS,如图31所示,现在已经支持35种处理器
图31FreeRTOSLogo
架构。2015年,FreeRTOS的下载量超过12万次,平均每4.2分钟就有一次下载,而且商业使用不需要用户公开源代码,也不存在任何版权问题,开源免费。
FreeRTOS(读作"free瞐rr瞭oss")是一个嵌入式系统使用的开源实时操作系统。FreeRTOS设计小巧、简单和易用,能支持许多不同硬件架构以及交叉编译器。就像所有操作系统一样,FreeRTOS的主要工作是执行任务,大部分FreeRTOS的代码都涉及优先权、调度以及执行用户自定义任务;但又与所有其他操作系统不同,FreeRTOS是一款运行在嵌入式系统上的实时操作系统。
3.3.2FreeRTOS的特点
FreeRTOS的主要特点如下:
(1)支持抢占式调度、合作式调度和时间片调度。
(2)SafeRTOS作为FreeRTOS的衍生品大大提高了FreeRTOS在代码完整性方面的能力。
(3)用于低功耗的Tickless模式。
(4)支持35种系统架构。
(5)FreeRTOS睲PU支持M3/M4/M7内核的MPU(内存保护单元)。
(6)设计简单易用,典型的内核使用大小范围为4~9K。
(7)移植非常简单,主要用C语言编写。
(8)同时支持合作式和抢占式任务。
(9)支持消息队列、二值信号量、计数信号量、递归信号量和互斥信号量,可用于任务与任务间的消息传递和同步,以及任务与中断间的消息传递和同步。
(10)支持优先级继承方式的互斥信号量。
(11)拥有高效的软件定时器。
(12)拥有强大的跟踪执行函数。
(13)拥有堆栈溢出检查。
(14)提供丰富的、配置完整的工程例子。
(15)提供论坛技术支持,有可选的商业支持和许可版本。
(16)任务的数量不限。
(17)任务优先级数量不限。
(18)多个任务可以分配相同优先级,即支持时间片调度。
(19)具有免费的开发工具。
(20)具有免费的嵌入式软件源码。
(21)免版权费。
……
支持我们
本站纯公益运营,维护成本较高,若本站内容对你有帮助,可扫码小额捐赠支持我们持续更新
微信扫码 | 感谢你的支持
相关推荐
免责申明: 本站仅提供书籍相关信息展示服务,不提供任何书籍下载服务。请购买正版,支持正版。所有资源信息均来源于网络,如侵权,请点击 侵权处理 ,我们第一时间删除处理。