黄宇 林平 耿文豹 卢海洋
【摘要】提出了一种基于CAN总线的AUV(自主水下航行器)分布式控制系统。结合CAN总线分布式控制的特点,将AUV控制系统划分为功能独立的控制模块,各个模块通过CAN总线节点组成整个通信网络。并采用阶梯体系结构,由操控台下达任务,中央控制单元集中管理,分散控制。本文详细介绍了该控制系统在AUV自主航行试验中的实现过程。实验中,AUV快速精确的完成了操控台下达的任务,充分说明该控制系统的实用性。
【关键词】CAN总线;分布式控制系统;AUV;阶梯体系结构;自主航行
引言
自主式水下航行器(Autonomous Underwater Vehicle,简称AUV)是一种智能化、自主航行、实现多种功能的水下机器人[1]。由于水下作业的不安全性以及不确定性,AUV成为水下探测领域的主要工具。例如 Hydroid Lockheed 公司的REMUS系列UUV、Bluefin robotics公司的Bluefin系列UUV[2]等,在水下探测领域担任着重要的角色。
我们开发了一种水下无人搭载平台,主要用于搭载声学设备,模拟声源,水下环境测量等功能。具体结构如下图1所示。该AUV导航系统采用捷联惯导、DVL(多普勒计程仪)、GPS组合导航的方式,保证导航精度;控制系统和推进系统分别采用舵机控制和电机控制;通信系统采用电台与北斗组合通讯的方式,电台有效时采用电台通信,无效时采用北斗通信,保证通信的可靠性;应急系统采用压载释放的方式,通过设备控制器反馈状态信息以及AD采集信号判断是否需要应急,保证设备的安全性;下潜方式采用水平舵控制、滑块前移辅助下潜的方式,保证AUV的快速下潜。由于该AUV需要很高的导航精度、较高的自主能力,以及状态存储、信息交互、应急保护等一些列功能,使得该AUV控制任务复杂。这种情况下,单一的控制器以及传统的集中式控制方式会使得控制器任务过重,效率过低[3]。
本文提出并设计了一种基于CAN总线的分布式控制系统,各个模块设计单独的控制器,完成局部的信息处理和底层控制,保证通信的可靠性和灵活性[4];并且各个模块采用阶梯体系结构,由操控台下达任务,中央控制单元集中管理,保证控制系统的有效性及有序性。在实验中,AUV安全可靠的完成了自主航行任务,说明了这种控制系统的实用性。
图1 水下无人搭载平台示意图
1.基于CAN总线的AUV控制系统模型
CAN总线是在实时控制系统或分布式控制系统中运用最多也是最有效的串行通信网络。与其他分布式系统相比,它工作于多主方式,网络中的各节点都可根据优先权向总线发送数据,并且通信速率高达1M/S,实时性强。最大的特点是采用通信数据块编码的方式,总线上的通信节点个数不受限制,实际上最多可以构成110个节点[5]。
水下无人搭载平台的控制系统是基于CAN总线的分布式控制系统。主要包括通信系统、动力与操控系统、导航系统、应急系统、信号采集系统和载荷系统等。分布式控制系统的整体架构如图2所示。其中,水面操控系统主要是AUV的地面操控设备,通过电台或北斗通信模块与中央控制单元实现信息交互。其余系统位于航行器内部,主要通过各自的控制器和传感器实现与中央控制单元的信息交互。AUV运行时,由水面操控台发送任务指令给中央控制单元,由中央控制单元将航行任务分解为底层控制器能够理解的控制指令,并通过总线发送给底层控制器,再由底层控制器驱动执行机构的动作,形成分布式阶梯结构。另外,中央控制单元不断接收底层控制器回馈的数据,并由存储器不断记录和存储数据。
目前,AUV导航精度最高的导航方式是采用捷联惯导、DVL(多普勒计程仪)、GPS组合导航的模式[6],水下运行时,由于GPS信息无法接收,水下无人搭载平台采用惯导、DVL组合导航的模式。DVL速度信息通过串口实时发送至惯导,惯导根据得到的数据进行航位推算,并将惯导经纬度信息、姿态信息、状态信息通过CAN总线实时传输给中央控制单元。
应急系统是为了保障AUV的安全性。各个控制器将通过CAN总线实时反馈各自状态信息,例如舵机机构是否正常,电机是否过压等等;各个传感器也不断检测航行器的深度信息、离底高度以及漏水信息等。针对不同类型的故障,中央控制单元将实时做出应急措施,控制舵机、电机以及释放压载的动作。
动力与操控系统主要包括电机控制器、舵机控制器以及执行机构。执行机构主要包括舵机机构、电机和滑块。中央控制单元下达自主航行的指令后,舵机控制器以及电机控制器将接收到的舵角指令和转速指令转化成电压信号给各个执行机构,并实时反馈状态信息。需要下潜时,中央控制单元发送滑块上电指令,控制滑块动作,辅助下潜。
图2 分布式控制系统的整体架构
2.AUV自主导航控制流程
AUV自主航行的主要任务是按照操控台指定的GPS点航行。主要工作包括路径规划、模式选择、航向控制、航迹控制和深度控制。具体工作流程如图3所示。
图3 AUV自主导航控制流程图
执行任务时,由水面操控系统(简称上位机)通过电台或北斗通信模块下达任务指令给中央控制单元(简称下位机),任务内容包括目标位置、目标深度、航行时间。指令下达后,下位机回馈任务下达成功标志给操控台。然后上位机启动自主模式,AUV开始自主导航。首先,动力与操控系统控制AUV下潜,滑块前移,通过使AUV重心前移的方法来辅助下潜。在AUV完全下潜后,深度计和导航控制中心实时更新当前深度和位置,AUV执行运动控制,纵向采用俯仰角-深度双闭环控制结构[7],使AUV到达预定深度;横向采用偏航距和航向角的组合控制结构,使AUV到达预定位置。在到达目标点后,AUV开始向下一个目标点航行,直至到达最后目标点后,AUV上浮并且将存储器中的数据上传至操控台。航行过程中,下位机实时检测AUV的运行状态,在出现超时、偏航距过大(大于200m)和其他故障时,应急系统终止当前操作,AUV紧急上浮。
图4 自主导航试验结果
3.试验结果
本次试验设定的跑点精度为5m。2.5节速度下,AUV的转弯半径为15m,设定GPS点之间的距离约为100m。为了试验AUV水下运行的轨迹和导航精度,运行深度设为0m,导航模式采用DVL组合导航(惯导采用DVL的速度信息推算AUV的位置)。自主导航试验结果如图4所示。惯导的运行轨迹与GPS运行轨迹略有偏差,偏航距逐渐变小,且AUV能够到达指定的目标GPS点(图上1,2,3,4点)。试验过程中,AUV运行正常,工作可靠,较好的完成了指定任务,充分说明了这种分布式控制系统的实用性。
4.结束语
本文提出了一种基于CAN总线的分布式控制系统,并在水下无人搭载平台上得到应用。无人搭载平台的各个模块都有各自的控制器,通过CAN总线形成一个网络。各个模块之间相互独立,互不干扰,基于CAN总线的设计使得控制系统具有良好的可维护性和可扩展性。中央控制单元不再直接控制执行机构,而是作为统一的协调和调度中心,将指令分为为底层控制器能够理解的控制指令,由底层控制器来控制执行机构的动作,这种分布式的控制系统使得中央控制单元的工作负荷减轻,提高了中央控制单元的工作效率。在自主导航试验中,AUV快速精准的完成了指定任务,充分说明了这种控制系统的实用性。
参考文献
[1]徐玉如,李彭超.水下机器人发展趋势[J].自然杂志,2011,33(3):
126-127.
[2]赵涛,刘明雍,周良荣.自主水下航行器研究现与挑战[J].火力与指挥控制,2010,35(6):1-2.
[3]王刚.基于多传感器的AUV控制系统[D].哈尔滨工程大学,2013
[4]高剑,严卫生,张福斌.一种自主水下航行分布式控制[J].兵工学报,2009,30(8):1140-1141.
[5]邬宽明.CAN总线原理和应用系统设计[M].北京航空航天大学出版社,1996.
[6]严卫生,徐德明,李俊.自主水下航行器导航技术[J].火力与指挥控制,2004,29(6):14-15.
[7]徐德民.鱼雷自动控制系统[M].西北工业大学出版社,2000.