基于LabVIEW深海集矿机避障导航控制系统设计
2018-08-28杨晓,王敏
杨 晓,王 敏
1 引言
深海集矿机工作在富积矿产的深海海底,由于作业环境的影响,无法由驾驶员直接操作和控制,面对如此复杂的海底环境,为保证系统高效快速安全的工作,机器必须具备完成其自身运行路径的实时、有效判断和智能控制,主要包括行走过程中发现障碍物后实施避障行为和绕开障碍物后回到预定开采路径继续进行采矿两大部分[1]。集矿机前端数据采集模型应具备自主避障导航的功能,使得机构能快速高效的实现避障和导航功能。因此,对避障导航机构进行软硬件设计研究,具有重要意义。
国内外学者取得了一定的成果:文献[2]从单幅图像中提取已知的障碍物,实现沿障碍物边缘行走;文献[3]采用遗传算法对机器人进行设计,实现机构的避障;文献[4]基于在环试验系统,利用海底模型对试验样机进行避障导航分析,已验证控制系统的有效性。
根据系统要求,设计前端采集系统,给出了集矿机导航避障所需的下位机前端硬件采集系统,根据实际情况给出了导航避障控制系统的详细设计流程,并以此为基础,采用LabVIEW和Matlab混合编程的方法,设计了实现软件和硬件相连的LabVIEW上位机控制程序;将BP神经网络成功地导入了LabVIEW的编程界面;同时,经过图形化编程实现了网络输入模式识别,对控制系统进行可靠性验证。
2 集矿机前端采集系统
2.1 方向导航
目前,集矿机方向导航中应用较多的为磁罗经罗盘、电位机罗盘和数字罗盘[5-6],特别适合测弱磁,基本满足集矿机行走航向角给定和航向修正要求。
假定检测头用正弦波电流励磁[7],其总磁场强度为:
由于激励绕组阻抗较小,探测线圈中的感应电压U0为:
感应电压为:
上式按Fourier级数展开有:
经过推导,式中系数为:
进行计算处理出航向角α1[9]:
根据实际地域按下述公式进行适当修正:
地理方位角α=磁场夹角α1+磁偏角Δα。
2.2 测障声纳系统
目标回波信号在时间上比发射信号滞后t时间:
而实际工作时回波信号与发射信号之间出现的频差Δf[10],则:
式中:f′2—f2的回波。
将式(7)代入式(6)中,则可得到目标距离与频差的关系:
2.3 定位声纳系统
集矿机短基线定位系统,如图1所示。
图1 集矿机短基线定位系统Fig.1 Short-Line Positioning System for Ore Collector
根据图1,基于简单三角推导得到:
可得:
式(10)就是集矿机短基线定位测量系统完成定位导航目的数学模型。
2.4 BP神经网络的网络结构
BP神经网络是多层前馈网络,分为输入层、隐含层和输出层,层与层之间神经元采用全互联方式,同一层神经元不存在相互连接。
其中,X1到Xn为训练样本,从左至右的神经元层依次为输入层、隐含层和输出层。令输入层到隐含层的权值为wji(即神经元i到神经元j的连接权值),阈值为θj;隐含层到输出层的权值为wkj(即神经元j到神经元k的连接权值),阈值为θk;uj为隐含层输入,oj为隐含层输出,yk为输出层输入,ok为输出层输出,即神经网络最终输出,f(g)是Sigmoidal函数(实际上,连续可微单调上升即可),对于BP网络的各计算节点,有:
显然,BP网络将完成输入层到输出层不同维数空间矢量的映射。
3 导航避障控制系统设计
3.1 避障方案
在LabVIEW的Matlab Script节点中训练BP神经网络,需要调用已经训练好的网络对输入输出加以控制。对于给定的输入模式,用sim()函数就可以得到网络的输出。另行创建一个新的Matlab Script节点,将调用程序放入其中,就可以实现LabVIEW与Matlab的接口设计。具体程序流程,如图2所示。
图2 BP网络输入模式识别流程图Fig.2 BP Network Input Pattern Recognition Flow Chart
由图2可知,LabVIEW与Matlab的输入模式识别接口设计共用到三个Matlab Script节点,第一个节点用于BP神经网络的创建和学习训练;第二个节点用于已训练好神经网络与待处理数据的连接,以及网络结果的输出;第三个的节点则用于输出向量的分离,用于硬件电路的独立并行控制。
3.2 导航方案
集矿机在行进过程中,若检测到障碍物,则执行避障程序;反之,检测不到障碍物时,即避障神经网络模型输出转向角为“0”时,检测集矿机此时对应的方位坐标和航向角,转入导航模糊控制过程。对于集矿机前方(包括左前方和右前方)、左方和右方同时检测障碍物的情况,集矿机需要后退出障碍物区域,再由转向系统完成避障绕行,无法直接通过转向系统实现,因此需单独处理。
对于集矿机前方、左方和右方都存在障碍物而无法通过直接转向完成避障的情况,执行后退操作,其中,操作指示指标通过神经网络避障模型的注视向量输出来完成,即当注视向量m=-1时,集矿机后退,并通过程序设置,使得集矿机在后退至左右两边都无障碍物之前m始终为-1,以避免集矿机刚开始执行后退操作,使得m=1,而按原始操作继续向前行进,从而导致其陷入前后晃动的死循环状态。而后退至左右两边都无障碍后,则转入由模糊控制技术实现的导航路径跟踪程序。
4 控制系统避障验证
为了进一步验证嵌入LabVIEW界面的神经网络模型的工作效果,以图3所示障碍物区域为例,随机选取具有代表性的路径点A、B、C、D、E和F。以上述各点的网络输出矢量为代表说明模拟集矿机的行进状况。将模拟集矿机行进过程中5路传感器采集到的连续信号以(5×120)的数组形式输入“网络输入”控件,在Matlab中描述“网络输出”控件显示结果。则对应神经网络输出“速度”、“转向角”曲线,如图4所示。
图3 避障行进路线及随机路径点选取Fig.3 Obstacle Avoidance Route and Random Path Point Selection
图4 网络输出曲线Fig.4 Network Output Curve
在本次障碍物绕行中,模拟集矿机不存在前方、左方和右方同时检测到障碍物后退的情况,因此注视向量始终为正方向,即为“1”,为了清楚地说明仿真实验中集矿机的行进状况,将其连续的运行轨迹进行离散化和拟人化处理,即取每隔0.2s取其中心点组成避障路径,并假设连续两个中心点之间的距离为一步。实际集矿机行走控制中,将传感器采集信号通过DAQ技术处理接入网络输入接口,通过神经网络避障模型进行模式识别,通过LabVIEW、Matlab混合编程,结合串口通信、信号处理及电液控制等相关技术给出下一步的操作指令,即可实时控制集矿机的避障转向行为。
5 结论
根据实际控制需求,对深海集矿机避障导航控制系统进行设计,采用LabVIEW和Matlab实现软硬件的连接,分析结果可知:
(1)考虑到三维海底环境中可能遇到的无法通过水平固定声纳系统完成检测的缓坡和壕沟型障碍,结合实际海底车控制策略,提出了测障声纳的俯瞰式布置来解决壕沟检测问题,同时利用声学和光学仪器结合使用的信息融合技术来完成缓坡检测问题,并结合上述设计方案给出实现完整避障导航的硬件系统组成;
(2)应用LabVIEW中的Matlab Script节点技术,将在Matlab环境下建立并仿真确保无误的避障模型,导入LabVIEW上位机控制程序,建立软件和硬件的连接,用于实际控制,从而使得集矿机在真实作业环境下可以实现准确的障碍物绕行。