无人机课程设计模板

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无人机课程结课论文

题目:基于VxWorks的无人直升机控制系统设计

学院(系): 土木学院

专业: 工程力学

班级:13-2

姓名: 张芙豪

学号: 311307090221

成绩:

任课教师:赵运基

2016年 6 月12 日

目录

1.报告摘要 (3)

2.目的意义 (3)

3.设计内容 (4)

3.1控制系统整体结构 (4)

3.2控制系统硬件结构 (4)

3.3控制系统软件设计 (5)

3.4基于优先级的消息队列 (5)

3.5 基于看门狗的多任务调度 (6)

3.6地面基站控制效果图 (7)

4.结束语 (8)

参考文献 (8)

1.报告摘要

组建了一种基于嵌入式实时操作系统VxWorks平台的无人直升机控制系统,实现远距离无人直升机飞行状态信息传输,接收地面基站命令后完成自主定点飞行任务。主要利用基于优先级的消息队列方法和嵌入式操作系统VxWorks的信号量与看门狗定时功能实现多任务间调度,获得飞行状态数据向地面基站传输与自主定点飞行的同步。通过实验飞行,该系统的正确性与可靠性得到了验证。

2.目的意义

毕业设计是对自己大学四年所学知识的一个融合和总结,平常我们所学到的知识是零散的理论的,毕业设计可以把我们学到的这些知识运用到实践当中去。这次实习是为了在毕业进入社会前,将自己的理论知识与实践融合,并且完成从理论到实践的过渡我认为大学生的实习是自我完善的重要的一步,也是大学生正视社会和正视自己,走出自我,真正融入社会生活工作的第一步,而且很多时候通过实践,尤其在不同的职业中的实践才会真正找到自己感兴趣并适合自己的行业,也是完成从空想到现实转变的第一步。

通过实习我们可以快速从学校到职业的转变,为以后的工作做充足的准备。通过实习,可以学会如何用理论解决实际问题,我们可以把毕业设计当做一个项目,学习如何查阅资料,如何解决实际问题,如何与他人沟通。在实习期间,需要我们一个人面对众多的难题,独立思考,每一个难题都是一个考验,也是一个突破自我的机会。实习要求我们不能懈怠,必须务实苦干,也锻炼了自己的意志。大一期间,我学习了51单片机,并熟练掌握。大二期间,我又学习了STM32单片机,这次实习,是我对自己所学知识的实际应用,增加了我对理论知识的深刻理解,在此期间,我遇到过很多困难和问题,在导师的帮助下,顺利解决了这些问题,并让我对相关知识有了更深的理解。

总的来说,通过毕业实习,我能够用理论联系实际,用自己所学的知识解决实际问题,学会了用更清楚的眼光看待问题,用更多不同的方法去解决困难,学习到了更多。经过了四年大学的学习,毕业实习是人才培养方案的重要环节,旨在培养学生的实践能力、分析问题和解决问题的能力。在实习指导老师的指导下,使学生将所学基本理论、基本知识与社会实践相结合,迅速转化为实际工作能力,增强适应市场需要的能力。

3.设计内容

毕业设计题目--基于VxWorks的无人直升机控制系统设计

3.1 控制系统整体结构

无人直升机控制系统包括以下七个部分:无人直升机、机载控制计算机、机载平衡模块、机载导航模块、手动远控模块、地面基站与其他机载模块,其他机载模块根据系统扩展的需要进行添加【4】。系统的结构图见图一

图一无人直升机控制系统结构图

通过手动远控使无人直升机腾飞,腾飞后远控器触动多路选择器,把无人直升机的控制权交与机载控制计算机。机载控制计算机开始传输飞行状态数据给地面基站。地面基站发送自主飞行命令给机载控制计算机使得它启动自主定点飞行任务,控制无人直升机定点飞行,飞行任务结束后返回状态信息给地面基站。

3.2 控制系统硬件结构

此无人直升机控制系统的控制对象是模型直升机JRVoyager GS R260, 机载导航模块包括Crescent的GPS与HONEYWELL HMR3300型号的电子罗盘。机载控制计算机是由三星公司生产的16/32位RISC处理器S3C44B0X搭建的硬件平台,控制系统硬件结构图见图二。图二中由于S3C44B0X的UART单元提供了两个独立的异步串行I/O端口,每个端口都可以在DMA模式下工作,使得CPU和串行I/O 口之间直接进行数据传输,另外GPS与电子罗盘提供的是标准RS-232接口,这

与S3C44B0X系统所定义的高低电平不同,所以需要通过电平转换芯片MAX232C 来进行转换。由于S3C44B0X片内不带以太网接口,所以选用RTL8039作为以太网接口芯片与地面基站控制系统进行通讯。S3C44B0X根据内部程序输出5路PWM 波控制无人直升机的5个舵机,完成自主定点飞行任务。74LS128芯片作为多路选择器,切换手动远控模式与自主定点飞行模式。另外还扩展大容量的外部寄存器,其中8MB的HY57V641620作为SDRAM存储器存储程序运行中的中间数据,2MB 的SST39VF1601存储器作为FLASH存储源程序。

图二无人直升机控制系统硬件结构图

3.3 控制系统软件设计

无人直升机控制系统的软件包含四大部分:一是根据S3C44B0X重新配置VxWorks系统的BSP。二是基于优先级的消息队列实现,消息队列中包含飞行状态信息与自主定点飞行信息。三是基于看门狗与信号量的多任务调度,实现自主定点飞行与实时飞行状态信息传输的功能。四是基站控制软件的设计。系统上电后初始化socket套接字,网络联通后采用UDP协议通讯。下面将着重先容基于优先级的消息队列与基于信号量与看门狗的多任务调度。

3.4 基于优先级的消息队列

在控制系统中,不能由于执行机载设备的数据传输命令而拒尽执行地面基站的自主飞行命令。为解决这一题目,本控制系统建立了基于优先级的消息队列机

制。系统在RAM中开辟一个区域用于建立消息队列,队列中指针指向的是各个信息的内存块地址。各个任务将根据这些指针指向的数据来进行实际操纵。

(1)基于优先级的消息队列方法。首先信息接收任务接收信息后根据信息头地址内容判定信息优先级,地面基站的自主飞行命令优先级为最高,把它插进到消息队列的队列头,而机载电子罗盘与GPS发送的数据信息优先级低,按照时间顺序排列在消息队列的队列尾。信息解释任务从消息队列头逐一取出信息然后进行处理。

(2)消息队列的实现。通过单向链表来实现消息队列的添加与删除。每个链表元素是一个结构体STruct messageChain,结构体包含头指针pBuff与指向下一个元素的指针pNext。同时使用两个全局变量直接表示链表头与链表尾,一个全局变量表示链表长度,这样可以直接处理链表头或者链表尾的内容以简化查找过程。

3.5基于看门狗的多任务调度

VxWorks系统可以为每个任务设定特定的任务名与任务优先级,系统支持256个优先级。为了调试的方便,在本控制系统中设定的任务优先级在60到100之间,这是由于由程序发起的任务优先级要高于Tornado开发环境中shell发起sp的任务优先级即小于100,同时也要低于系统任务的优先级即大于60【5】。控制系统包含了信息接收任务,信息解释任务,信息发送任务,网络监测任务,定时轮询任务,自主飞行任务等多任务。流程图见图三。

相关文档
最新文档