基于VXWORKS的某型自主水下航行器双冗余控制器设计毕业论文
2020-04-05 11:04:25
摘 要
海洋与人类的生活密切相连,其蕴藏着丰富的生物资源、可再生资源、空间资源及矿物资源,是世界的资源宝库,具有重要的战略意义。在各种海洋技术的开发和研究中,自主式水下无人航行器作为人类开发和探索海洋的有效工具,具有较强的环境适应性、较大的活动范围以及灵活性、使用方法简单方便等诸多优势,是人类最优秀的水下作业工具之一。同时,水下自主航行器还可以作为攻击潜艇、航母、岸基设施的有效武器。为了保证自主水下航行器的高效率正常运行,其稳定性和容错性至关重要。因此,需设计一种双冗余控制装置及软件,以期其增强自主水下航行器的容错性和稳定性,并为其在水下的正常运行提供保障。
本文设计了一种基于VxWorks操作系统的双冗余控制软件,主要实现了“双机热切换”的功能,并在workbench3.0环境下进行开发;研究了某型号自主水下航行器的功能特性,分析了其控制系统的功能及组成,详细分析了双冗余软硬件的结构和工作原理,并以上述工作为基础,对所设计的软件程序进行了完善、调试和上机运行。
为了设计出能够正常实现“双机热切换”功能的程序,文中以双机热备系统的软硬件结构和工作原理为基础对整个软件的结构进行了规划,将整个软件划分为了几个模块:系统初始化模块、创建周期性任务模块、开机同步模块、开始周期性任务模块、数据解析与校验模块、规划算法、数据整合发送模块,并画出了这些模块的运行流程图。
最后在工控机上成功运行了双机热备的代码,并验证了双机热切换的功能。
关键词:双机热备 双冗余 水下自主航行器 VxWorks操作系统
Abstract
The ocean is closely connected with human life, and its rich biological resources, renewable resources, space resources and mineral resources are the treasure-house of the world, which is of great strategic significance.Among various kinds of Marine technology development and research, autonomous underwater unmanned aircraft as human development, and explore the effective tool of ocean, strong environmental adaptability, the larger range and flexibility, easy to use method is simple, and many other advantages, is one of the best human underwater operation tools.In order to ensure the efficient and normal operation of autonomous underwater vehicle, its stability and fault tolerance are very important.Therefore, a double redundancy control device and software are designed to enhance the fault tolerance and stability of autonomous underwater vehicle, and provide guarantee for its normal operation under water.
In this paper, we design a dual redundant control based on VxWorks operating system software, under the environment of workbench3.0 development, studied a type of autonomous underwater vehicle features, analyzes its function and composition of control system.Based on the above work, the designed software program is improved, debugged and operated.
In order to design the working procedure, this paper firstly based on the integrated motion control device layout planning of the whole software structure, will be divided to several modules: the whole software system initialization module, create a periodic task module, boot synchronization module, began to periodic task module, data analysis and calibration module, the planning algorithms send module, data integration, and draw the running flow chart of the modules.
Finally, the code of double - machine heat standby was successfully operated on the industrial control machine, and the function of dual - machine heating was verified.
Key Words: dual - machine thermal standby; double redundant; underwater autonomous vehicle; motion control system.
目 录
第1章 绪论 1
1.1课题来源及意义 1
1.2 国内外研究现状 2
1.3 论文主要研究内容 4
第2章 自主水下航行器及其控制系统功能与特性 5
2.1 功能概述 5
2.2 航行特性 5
2.3 综合运动控制装置概述 5
2.4 运动控制装置双冗余控制系统概述 6
2.5 系统功能 6
2.6 系统组成 7
2.7 本章小结 8
第3章 双机热备硬件构成及工作原理 9
3.1 双机热备份硬件平台 9
3.2 双机热备份系统实现原理 12
3.3 软件编程环境 13
3.4 编程信息 13
3.5 VxWorks及workbench3.0介绍 13
3.6 本章小结 15
第4章 基于Vxworks的双冗余控制软件 16
4.1 双机热备份系统软件结构模型 16
4.2 软件详细设计 16
4.3 本章小结 23
第5章 控制系统半实物模拟实验 25
5.1上机运行过程 25
5.2 本章小结 29
第6章 结论 31
6.1 全文总结 31
6.2工作展望 32
参考文献 33
附录A 双机热切换部分关键代码 34
致 谢 42
第1章 绪论
课题来源及意义
海洋与人类的生活密切相连,其蕴藏着丰富的生物资源、可再生资源、空间资源及矿物资源,是世界的资源宝库,具有重要的战略意义。在各种海洋技术的开发和研究中,自主式水下无人航行器作为人类开发和探索海洋的有效工具,特点是具有较强的环境适应性、较大的活动范围和灵活性、使用方法简单方便等诸多优势,是人类较好的水下作业工具之一[1]。
冗余,是重复配置系统的一些部件,当系统发生故障时,冗余配置的部件介入并承担故障部件的工作,由此减少系统的故障时间[2]。在冗余模式下,通常有硬件冗余模式和软件冗余模式。一般情况下硬件冗余系统可以实现以下功能:错误识别和错误定位功能集成;自动事件同步与平滑的主从切换;在操作期间可修改系统或者对部件进行更换;下载程序时,只需下载至单个CPU,程序可自动拷贝到另一个CPU中,且修复后自动再进入。
在一些重要的系统中 ,为了提高系统的可靠性和可用性 , 在一些关键的部分采用双机热备的设计对提高系统的可靠性 和可用性具有巨大的作用[3]。本研究的目的是为水下航行器设计出一种双冗余控制器(双机热备份),通过编写双击热备代码,在两台工控机(装有Vxworks系统)上运行,实现双机热备份的功能(即在两台机器工作中分别运行同一套程序,若一台发生故障,另一台可以立即无缝切换,减少整个系统的故障时间)。在实际应用中,双冗余控制器可以增加水下自主航行器的可靠性,为其能够成功完成任务提供了保障。
国内外研究现状
1.2.1 水下航行器国内发展情况:
2008年3月CR-02型AUV6000米深海试验成功,标志着中国在自主式水下航行器技术和应用方面实现新的跨越,达到世界先进水平。CR-02型AUV的本体长4.5米,直径0.8米,最大工作深度与CR-01一样,6000米,续航达25小时,定位精度小于20米,长基线声纳定位系统作用距离为10-12千米,剖面仪地层穿透深度达50米。CR-02型AUV主要用于国际海底复杂环境下的海底矿产资源调查、作业海区现场海洋环境的测量、深海采矿场所的前期和后期调查、在某些特殊情况下还可作为定点调查设备使用,也可以应用于失事舰船调查和深海科学考察。
“潜龙三号”是中国的自主研制的潜水器,于2018年4月20日凌晨在南海进行首次海试,下潜深度预计为海平面以下3900米。此潜水器主要目的是满足大洋矿产资源勘查和大洋科学考察需求,2016年9月中国大洋协会与中科院沈阳自动化研究所、国家海洋局第二海洋研究所签订了此潜水器的建造合同,进行研制。
1.2.2 水下航行器国外发展情况:
由麻省理工学院研制的ODYSSEYAUV主要用于科学考察和海洋自动取样网络研究,该AUV长度为2200mm,直径570mm,水平运动速度大于4kn,爬升速度大于3kn,续航力6小时(3kn时),如果采用最大电池结构,续航力可达24小时 [4]。
除美国外,其余发达国家如日本、俄罗斯、英国、法国、德国、拿大、瑞典、意大利、挪威、冰岛、葡萄牙、丹麦、韩国、澳大利亚等均在水下自主航行器上有深入研究[5]。
从目前公布的资料上来看,水下机器人的研制将向着更高的智能化、更灵活的机动化、功能更多样化的方向发展。水下自航器则向着远程航行、深海航行、拥有更高智能和更强作业能力以及军用化等方向蓬勃发展[6]。
1.2.3 控制系统研究现状及发展趋势:
水下机器人控制系统从最早的模拟控制系统发展到现在的数字(计算机)控制系统;从集中控制系统发展到分布式控制系统;从单一传感器发展到多传感器融合的控制系统。对于智能水下机器人控制系统应主要包括传感器测控系统、控制决策系统、执行系统和通信系统。传感器测控系统最重要的部分就是水下导航系统;控制决策系统包括了底层基本控制和上层的决策控制,是水下机器人智能程度的体现。而对于一个体系庞大的控制系统,除了智能的“大脑”还要有灵活的“四肢”和“五官”,分布式组成更突出了各个功能之间的联系和其性能的提升。
对于水下机器人的底层控制如姿态、深度、速度等控制。与工业等领域控制方法类似,PID及其优化算法控制最为常见,还有神经网络控制、最优控制、最优估价、模糊控制、滑模控制、随机最优控制、自适应控制等。较为实用的算法是将智能控制算法与传统PID算法相结合的控制算法。哈尔滨工程大学在这方面提出了基于S型曲面的控制方法,其实质就是模糊控制的一种特例,而模糊控制从理论上推到属于一种PD控制器。
在水下机器人控制系统方面,最早的鱼雷控制系统就是水下潜器控制系统的雏形。最早的模拟控制系统到现在的数字控制系统,随着水下潜器上挂载的传感器逐渐增多,使系统的故障率增加。在控制系统中又从最初的集中控制发展到集散控制再到现在基于总线的分布式控制系统,提高了系统的可靠性。这种总线式的控制系统使水下自航器控制系统内部模块化,某一模块出问题不会影响整个系统故障。美国最新的AUV62就是根据这一特点在结构和功能上实现模块化,加快了水下自航器控制系统的发展进程。
1.2.4 双机热备系统国内发展现状:
双机热备系统是高可用领域中的一项重要技术,从上世纪90年代中期,当互联网技术在国际上开始发展普及,各种自动化控制、数据库、关键IT应用的不断增多,这些应用逐渐渗透到各种核心领域,大多需要不间断运行,为此,高可用的理念被提出,高可用的需求也开始大量呈现出来,由于当时的计算机设备价格昂贵,网络环境及核心应用较少而且相对简单,因此为了实现应用的高可用,用户一般都采用双机热备系统的方式,在那个阶段,双机热备系统软件几乎是用户唯一的选择,国外各个厂商也纷纷推出了各自的产品,来满足用户的需求。
相关国外产品有:Rose HA、RoseHA/RoseMirrorHA双机热备软件、微软MSCS、Symantec VCS、Legato、红帽RHCS等。这些国外系统发展时间早、价格高昂、有的产品操作复杂、维护成本高。随着时间的推移,国产相关产品开始走向市场:REYUN HA 双机热备软件、DBTwin For SQL Server数据库集群、ServHA Cluster双机集群软件、ENASCluster-DN/ENASMirrorHA双机热备软件、ENASCluser/ENAS-MN多机集群软件等。这些国内产品价格较低,操作更符合国人习惯,易于学习,因此逐渐发展壮大。
双机热备系统可以应用在许多领域,在航空航天、船舶、数据服务、工业制造等领域都可以见到其身影。
论文主要研究内容
(1)设计一种基于VxWorks操作系统的双冗余控制软件,主要实现了“双机热切换”的功能,并在workbench3.0环境下进行开发;
(2)研究某型号自主水下航行器的功能特性,分析其控制系统的功能及组成、双冗余软硬件的结构和工作原理,并以此为基础,设计软件程序进行调试和上机运行。
(3)在工控机上运行测试双机热备的代码,并验证双机热切换的功能。
第2章 自主水下航行器及其控制系统功能与特性
2.1 功能概述
此自主水下航行器,其控制系统以自主控制航行为主,兼具遥控以及人工干预功能[15]。它控制自航器各设备协调工作,完成任务装订、自主“下潜—机动—定深、定速、定向直航—机动—上浮”、试验测量及数据采集记录。同时,设计了水下自航模应急系统,保证自航器安全。
2.2 航行特性
操作人员在水面控制台将自航模的模式开关切换至自主航行模式,航行器按照航程I、II、III的预置航迹开始自主航行;
航程I阶段:航行器开始自主航行,逐渐加速和调整姿态并以指定航速、姿态、深度到达测试区的起点;
航程II阶段:航行器在测试区内根据规划路径自主航行,根据实际反馈调整航速、姿态、深度,穿过测试区(一条长直的水下走廊);自航模根据不同测试任务的要求,灵活选择穿越测试区的策略(如匀速、滑行、及减速等通过,或回转机动开展二次试验等);
航程III阶段:完成单次测试任务后,自航模上浮至水面,上传本次试验数据至水面监控系统;
航程III阶段完成之后,自航模通过无线电或无线网络接收水面操作人员的遥控指令。如果试验数据满足试验要求,则试验结束,原地等待并进入回收阶段;如果试验数据不满足要求,而且能源供应足够,时间允许的情况下,水面切换至遥控模式,遥控自航模至试验区起点位置,下载下一次试验任务,切换回自主航行模式开展下一次试验。
2.3 综合运动控制装置概述
综合运动控制装置协调控制艏/艉信号采集处理装置,从而间接实现对舵机系统(操舵)、潜浮及高压气系统和均衡系统的控制。综合运动控制装置接收运动规划单元的控制指令,完成指令解析、算法运算,生成底层设备控制指令。
综合运动控制装置软件基于VxWorks6.8操作系统。系统启动后,双机之间先进行一次自检确定谁是主机,谁是从机。确定完成后若无意外发生,只有主机与外部各个单元进行通信。综合运动装置在正常工作情况下,首先接收上级单元的指令,接收完成后,报文校验解析,经过算法之后得出控制指令,发送给艏艉舱信号采集装置进行操舵,潜伏以及均衡操作。与应急单元同时具有网口与串口通信。将系统状态传输给应急单元。
2.4 运动控制装置双冗余控制系统概述
综合运动控制装置采用冗余的双机热备系统,分为主机和从机,主机和从机运行相同的程序,在同一时刻,只有主设备与外界进行互通,从设备通过同步通道实时监测主设备的状态,若监测到主设备出现异常,比如网络同步异常、反射内存同步异常等,从设备要主动更新为主设备,并和外界进行数据互通,保证系统不受主设备异常而中断,从而达到冗余备份的功能。主从模式是最标准、最简单的双机热备, 即是目前通常所说的 active/standby方式[9]。此方式可以较好的解决自主水下航行器在运行过程中存在的安全性、稳定性、容错性问题[14]。
综合运动装置与外部设备的网络通信包括艏舱与艉舱信号采集处理装置,上级单元通信。串口通信对象为应急系统。整体布置图连接如下图所示。
图2.1 双冗余控制系统整体布置图
2.5 系统功能
控制系统具备从任务规划到内部设备驱动控制的全部功能,可实现全部设备的管理及任务的调度,功能分为航行控制和系统管理两部分。
航行控制功能包括自航模遥控航行、自主航行及应急故障诊断与处理。
遥控航行:水面监控系统通过光缆、无线电或无线网络通信,实现系泊状态下缆控、近水面无线电/无线网络航迹预置和遥控操作,同时具备试验数据存储、关键设备工作状态和主要参数的动态曲线显示、三维视景实时仿真等功能;艇载控制系统接收水面监控系统的远程操控指令,完成控制系统自检、操作模式切换、航迹预置等任务.
自主航行:由水面监控系统提前规划全局路径并装载试验任务,自航模艇载控制系统采用预编程模式,针对固定的试验场景,之后依据自航模的导航信息及内部传感器信息,通过在线局部规划,生成对舵、桨等执行机构的基础控制指令,通过底层闭环控制,使自航模按照规划的轨迹运动,完成相关试验任务。同时具备人工干预功能。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: