功能型无人艇控制系统设计
2019-09-28于东周军伟吴沫李东豫哈尔滨工业大学威海山东省威海市264209
于东,周军伟,吴沫,李东豫/ 哈尔滨工业大学(威海),山东省 威海市 264209
对于功能型无人艇而言其控制系统是整个船艇的大脑核心,因而控制系统的设计是无人艇设计成败的关键因素之一。本文结合一艘已完成设计、制作和测试的无人艇对功能型无人艇的控制系统设计思想进行了简要的介绍,这一设计思想总结而言即是“中枢系统协调,各模块明确分工,相互协作,共同完成任务”。同时也对这一控制系统设计思想的优缺点进行了简要的总结,并提出了无人艇控制系统后续所需改进与发展的方向。
当宇宙飞船飞离太阳系,当哈勃空间望远镜不断扩展可见宇宙的边缘,当人类在宇宙空间的视野不断拓展时,人类眼前的大片区域,占地球表面积71%的海洋却还有很大一部分未被人类所探索。究其原因,很大程度在于海洋复杂环境的危险性,而未勘探海洋区域,由于已知信息较少,其存在危险的可能性较已探测区域而言大得多,分析其危险性的来源主要是水域情况、海底暗礁、海域环境以及海洋生物等自然因素。自大航海时代以来,人类对于海洋的探索一直都未从停歇,而在近几十年间,随着科技的进步,航海技术、海洋装备等涉海探索技术的高速发展以及陆地资源的日益开采等客观因素,各国纷纷提出了大力发展海洋的战略目标,如美国的海洋政策、加拿大的海洋战略、欧盟的海洋综合政策以及我国的海洋强国战略等等。而要实现大力发展海洋的战略目标,勘探未知水域,开发新的海洋区域是必不可少的一步,鉴于未知海域的危险性,采用无人艇对其进行水域、环境、近水面区域等的先期探测将会大大降低对未知海域探测所带来的危险性,同时也能够极大程度上避免人员伤亡和重大财产损失。
无人艇(Unmanned Surface Vehicle, USV)通常指的是可以在水面上自主航行、无人作业的小型船艇,其可以通过搭载不同的功能模块完成相应的任务,以实现降低风险或降低成本等目的。近年来,随着控制理论、控制技术的不断完善与发展,随着水域中无人作业需求的不断增多,国内外在无人艇领域的研究与发展也取得了长足的进步。无人艇由于具有较低的安全成本和人工成本,以及可搭载功能模块赴目标水域自主完成采样、检测、环境侦察、水域探测等任务的特性,其已被广泛的应用于水域环境检测、垃圾清理、养殖、海洋渔业及水藻清理等民用领域,同时也已一定程度上应用在了涉海领域的科学研究当中;无人艇同样由于其具有无人侦察、探测、目标追踪、精准打击等功能,已开始在军事领域应用中崭露头角。无人艇作为一个搭载任务功能模块的平台,对于其自身航行控制系统稳定性的要求是尤为严格,因为无论利用无人艇完成什么样的任务,保证其能够安全、精确、稳定的航行至目标区域是完成任务的首要条件,因此对于航行控制系统的设计是极其重要的,也是无人艇设计成败的关键因素。
无人控制系统的框架设计
万丈高楼平地起,任何工程均需要有条不紊的从头开始,而在任何项目进入实际操作之前均需要在前期进行详细、合理的设计。对于无人船的控制系统而言,其框架设计即是前期设计的主要内容。无人船控制系统框架设计主要是对其控制系统中各模块的功能进行详细设计,并且详细考虑各模块的软硬件资源分配,以实现无人船的功能规划,同时也要着重考虑后续功能的可扩展性,以合理设计无人船控制系统,实现多功能、多用途作业的需求。
功能型无人艇的控制系统按照功能大类区分主要有两部分:航行控制系统和任务功能控制系统。其中航行控制系统指的是控制船艇航行的模块,其可分为:遥控航行模块和自主航行模块;特定功能控制系统指的是无人艇上需进行无人作业的控制模块,其种类繁多,例如图像采集、环境监测、水质探测、无人投放、垃圾收集、水藻清理等。无人艇上的这些模块需合理的配合才能够更好的完成终端机所派发给无人艇的任务,因此在对功能型无人艇控制系统框架进行设计时要综合考虑各个模块的可兼容性及后续各模块功能的可优化性等性能。无人艇执行任务时的工作流程框架图如图1所示。
图1 无人艇执行功能任务时的工作流程框架图
在设计无人艇的控制系统时考虑到各模块间的可兼容性以及后续功能的可扩展性和可优化性等因素,决定采用主控模块和各功能模块独立控制的方式来实现无人艇的控制系统功能。即无人艇的上位机主程序模块具有一套单独的软硬件控制系统,同时其每一个功能模块也均具有的独立的软硬件控制系统,其结构框架图见图2。如此便能够保证各功能模块间相互独立、作业时互不干扰,同时又能够通过上位机的中枢控制程序将各功能模块相互协调、相互兼容,使得其协同作业,以实现无人艇的设计功能。
通过以上描述,不难看出,本文中提出的无人艇控制系统设计思想为:中枢系统协调,各模块独立运行。根据这一思想设计无人艇控制系统虽然存在着硬件资源浪应用不足、船艇空间浪费等缺点,但是其可以极大的保证各模块的兼容性,同时也为后续功能扩展提供了很大的空间,并且极大的改善了设计和制作过程中更换不同型号硬件所带来的大量改动等问题,很适合当下无人艇技术发展尚未成熟的现状。
无人船控制系统的硬件设计
对于功能型无人艇而言,其所需的任务功能模块并不相同,但是其对于航行模块的需求,却都是必不可少的。而无人艇设计的过程中需根据不同需求,设计不同的功能模块,且功能模块繁多,本文结合无人艇的航行模块设计对其控制系统设计进行简要介绍,不再一一介绍各功能模块的设计。
图2 无人艇控制系统结构图
图3 无人艇控制系统硬件功能框架图
在对无人艇的控制系统进行设计时,软硬件的设计均必不可少,而在对硬件进行设计时应着重考虑硬件产品的适用性和可靠性,即要保证硬件设备既能够满足控制程序使用的需求,又能够耐久耐用。根据上文所提无人艇设计思路,中枢控制系统负责协调各模块间的工作,因此对于中枢控制系统的硬件选择是整个控制系统硬件设计的关键。而在硬件设计时,需综合考虑无人艇所需功能,并且结合试验效果协同分析,最终选择最优的中枢控制系统(上位机)硬件,本文介绍的无人艇上位机采用的是树莓派3代开发板(Raspberry Pi 3),其主要负责为下位机传达控制模式指令(自主航行、遥控航行)和下一步航行规划,而航行控制系统(下位机)硬件采用的STM32F103开发板,其主要负责定位(GPS)信息、船艇姿态信息和其他航行相关传感器信息的接收,并解算当前位置、船艇姿态、运行情况等船艇航行数据信息,同时根据上位机反馈回的航行规划信息解算船艏转向角度,并控制桨、舵机运转,使得无人船艇可根据上位机指令按规划航迹航行。在主要考虑航行性能的无人艇控制系统中,中枢控制系统(上位机)硬件和航行控制系统(下位机)硬件确定完成,且各控制模块硬件功能划分明确,则无人艇的控制系统硬件设计初步完成,其功能框架图见图3。
无人船控制系统的软件设计
无人艇控制系统硬件设计完成后,需根据硬件情况选择合适的语言编制无人艇的控制程序,文中所介绍的无人艇控制系统程序采用C++编写。在编制控制程序前,首也应该理清程序的构架。
本文介绍的无人艇控制程序由上位机程序和下位机程序两部分构成,其中上位机程序主要包含航行模式控制程序、遥控信息给定程序以及下位机反馈信息处理程序等几部分内容。航行模式控制程序中是通过识别遥控器所发信号来判断采用遥控模式航行还是自主模式航行,如接收器识别出的是高频信号,则控制模式参数定义为0,采用遥控模式航行,相反若识别出的是低频信号,则控制模式参数定义为1,采用自主模式航行;遥控程序中采用PWM波来传输遥控信息,并将遥控信息处理后传递给下位机,使得下位机可以控制电机的运转状态,以实现对船艇航行状态的控制;在自主航行程序里,将预设GPS坐标点提前编写至控制程序当中,而下位机程序每隔0.5s向上位机反馈一次船艇当前位置和航行状态,上位机程序解算船艇是否到达预设航迹点的容错范围内(2m以内),如到达,则解算下一步航向,并向下位机下达下一步航行指令,如未达到预设航迹点附近,则解算船艇是否偏离航向,如未偏离,则向下位机传达继续航行指令,如偏离预设航向则解算当前正确航向数据,并向下位机下达正确航向数据,以让下位机控制船艇回到正确航向,其软件设计流程图见图4。
下位机程序中主要包含推进电机控制程序、GPS信号接收及处理程序、船艇姿态信号接收及处理程序、系统自检及初始化程序等功能型模块程序,其中推进电机控制程序通过控制电机的输入电压和电流来控制其转速,以此实现控制船艇运动的目标;GPS信号接收及处理程序和船艇姿态信号接收及处理程序主要是用来接收并处理GPS传感器和姿态传感器(陀螺仪)的回传数据,并将处理后的数据发送至上位机程序中,上位机根据位置信息
及姿态信息判断船艇目前位置和航向,以保证船艇能够按照预设轨迹航行;系统自检及初始化程序主要是检查下位机系统软硬件信息是否出错,同时将GPS传感器和姿态传感器初始化,以避免传感器因为位置或姿态的转变而出现的错误,也减小了由于传感器长时间使用而产生的温漂等误差。
实验与分析
图4 自主航行控制程序软件设计流程图
图5天鹅湖测试现场
根据以上文中所介绍的无人艇控制系统设计思路,已完成了一艘小型无人艇的设计与制作,并已在哈尔滨工业大学(威海)校内天鹅湖及山大(威海)校内文心湖中进行过自主航行测试,图5和图6是测试现场照片。湖中测试结果显示船艇能够较好的按照规划航迹运行,天鹅湖中的测试结果路径如图7所示。
从图7中的航迹结果可以看出,实际航迹与规划航迹几乎完全重合,且实际航迹中的偏离点也完全在航行程序的容错范围之内,由此结果可以看出文中所提出的无人艇控制系统设计思路是完全可行的。
结论与展望
本文在综合考虑无人艇控制系统特性的基础上,总结了功能型无人艇的设计思想,并结合一艘实际设计、制作完成的无人艇对控制系统的软硬件设计流程和思路进行了介绍,同时通过对该无人艇的实际航行测试,检验了设计思路的可行性和已完成的控制系统的可靠性。
图7 天鹅湖中测试结果路径
图6 文心湖测试现场
文中介绍的无人艇控制系统设计思路虽然在很大程度上满足了无人艇各功能模块的兼容性、可靠性和可扩展性,极大的简化了无人艇软硬件设计过程中的难度,但不可否认的是,根据这一思想设计的控制系统在很大程度上存在着控制资源和艇空间资源浪费等问题,因此,后续在无人艇控制系统设计的过程中保证其兼容性、可靠性和可扩展性的基础上,更好的优化控制资源和艇空间资源将是一个必须研究的重要内容。 ■
(参考文献:略。如有需要,请联系编辑部。)