吴清云,陈凌轩,刘昕,曹宇,谢朋洋
(1.上海海洋大学 工程学院,上海 201306;2.上海海洋可再生能源工程技术研究中心,上海 201306)
21 世纪以无人车、无人机、无人船等为代表的无人设备广泛应用于生产生活中并发挥重要作用,具有广阔的前景和上升空间.当前继美国GPS 及俄罗斯GLONASS 之后,我国自行研制的北斗卫星导航系统(BDS)已完成全球组网,相较上述定位系统,BDS具有以下两方面的优势,一方面信息安全度更高,另一方面其短报文功能弥补了无线网络通信的不足[1-2].BDS 的出现推进了定位系统国产化,将BDS 应用于产品实现自动寻迹成为一大趋势.当前国内外对无人设备的研究重心仍聚焦于无人车,无人车的研究重点聚焦于定位导航技术[3]、运动模型[4-6]等方面.此外,近年来也有专家将研究方向投向无人车的不同应用领域.其中,无人车应用于巡检工作是一大重点方向.朱家诚等[7]设计了一款应用于铁路接触网巡检的无人车,并为其专门开发一套定位系统,融合图像识别能实现准确停车并确定立柱位置,在铁路巡检过程中发挥了重要作用;李壮等[8]、彭建盛等[9]分别将无人车应用于光伏电站巡检和火灾巡检,保障了具体场景下的安全运行和人身安全.无人车应用于巡检是“机器换人”背景下的必然趋势,在未来较长时间内无人车代替人工巡检的趋势将不会弱化,其应用场景也将趋于多元化.导航定位功能的实现往往各具优势,在小范围固定区域内,惯性导航[10]与捷联式惯性导航[11]足以发挥导航定位功能;当区域范围较大时,即时定位与地图构建(SLAM)定位[12]是一种良好的导航定位方法,具有较高的可靠性与定位精度;若不局限于某一区域实现定位导航,现阶段可使用包括GPS[13]、GLONASS[14]与BDS[15]等多种定位系统并结合避障模块进行导航,随着BDS 的兴起,我国应用BDS 实现自动定位导航功能有望成为主流.
综上,在无人车呈现井喷式发展与广泛应用的时代背景下,无人车应用于巡检领域已经得到初步普及,作为一种良好的陆上载体,无人车能够完成许多陆地上的巡视工作,并具备替代人力巡检的能力,适合更大规模的普及与推广.同样,BDS 具备的卫星无线电导航系统(RNSS)与卫星无线电测定系统(RDSS)两种模式使得BDS 与GPS、GLONASS 等相比更具备应用价值.本文着重探讨BDS 在智能巡检无人车中的应用,从系统整体方案入手,将陆地应用的智能巡检无人车拆分为若干模块进行分解,并将BDS 的定位、导航和通信三大功能在巡检无人车上的应用加以详细分析,最终经过实地测试分析BDS 在定位、导航与通信方面的执行效果.BDS 不仅能代替GPS提供实时位置信息,其短报文系统极大地丰富了其原有的定位功能,在用户端与执行端的双向互联间起到了桥梁作用;另外,巡检智能车上位机的开发也实现了信息可视化,方便了位置信息、无人车状态与执行功能的查看与分析.
无人车的运动模式可抽象为平面维度下的前后左右四个正方向,以及由四个方向衍生出的四个偏方向运动,方向控制方式一般分为差速转向或舵机控制转向:前者依靠无人车两驱动轮之间的速度差完成转向,后者依靠舵机装置改变前轮转角,由此控制无人车运动方向.差速转向能够应用于各类型的无人车,而舵机控制往往应用于形体较小的无人车.同时,智能无人车在运动过程中都需要根据目标点的设定自动到达目标点,并在途中避开障碍实现基本自动导航功能.
本文通过对无人车运动控制的研究,将无人车的控制系统拆分为主控制器、定位导航通信模块、避障模块、驱动模块与功能模块,基于BDS 实现自主定位导航和外部(主要指与上位机间)通信,设计出基于BDS 的智能巡检无人车.
根据1.1 小节所述,基于BDS 的智能巡检无人车由主控制器、定位导航通信模块、避障模块、驱动模块与功能模块五大部分构成.其中,驱动模块包括升/降压电路、稳压电源与驱动电机;避障模块通过红外线传感器和超声波传感器的结合实现自动避障;定位与通信采用BDS 模块实现精准定位和与上位机间的信息交互,方便观察和远程操控;另外可自行配置功能执行模块,使巡检无人车执行特定的功能,如搭载openMV 摄像头的智能巡检无人车在勘察、检测方面能够发挥作用.上位机用于显示巡检无人车位置信息,或根据功能执行模块的类型进行远程遥控、观察;具体架构如图1 所示,实物设计如图2 所示[16].
图1 通识型导航控制器结构框图
图2 巡检无人车设计图
基于BDS 的陆地智能巡检无人车装置采用模块化的架构,根据1.2 小节所述其下位机整体除主控制器外可划分为环境感知、运动控制和无线通信三大系统,融合多传感器,可以实现无人车的动力推进、自动避障和自动巡航三种功能.将各模块通过有线或无线方式连接到一起,具体电路连接方式如图3所示.
图3 硬件模块电路连接设计简图
其中,BDS 模块在系统整体中发挥至关重要的作用.本文选取深圳市容辉信息科技有限公司推出的北斗短报文开发板N2,为其匹配短报文数传终端,型号为K1;N2 型号的开发板采用外置天线设计,收发成功率高于97%,其RDSS 模块工作电压为5 V,待机功耗<0.65 W,适用于车载场景下的应用,匹配的主控制器选型为STM32L476RET6.
BDS 最主要的功能为获取无人车自身的位置信息,将其转化为具体的坐标形式,一方面将位置信息传递至主控制器供无人车实现自主行驶;另一方面信息以短报文的形式由上位机接收,在上位机平台上显示,达到人机交互的效果.
STM32 单片机通过控制电机的运动实现无人车的推进,驱动电机的选型一般可分为直流电机和步进电机两类.自动避障模块采用红外线传感器和HYSTR05 超声波传感器,红外线传感器的检测角度为35°,工作距离为30 cm 以内,采用3 个红外线传感器分别安装在设备的头部和两旁;超声波传感器探测距离最大可达4.5 m,精度为3 mm,安装在无人车前方.在巡检过程中前方超声波传感器可定时向前方发射一定频率脉冲信号,根据发射信号与接收信号的时间差计算出与障碍物之间的距离.当两侧和前部的传感器检测到与障碍物距离过近时可控制电机实现差速转向,上述控制通过主控制器实现.红外线与超声波传感器的联合使用方法如图4 所示.
图4 红外线、超声波传感器联合避障原理图
此外,动力系统采用7.2 V 稳压电源大容量锂电池进行供电,电源模块接多路输出升/降压模块以实现不同模块之间的电压需求;为保障巡检机器人的持续正常工作,避免自动控制系统失灵的情况,选取DX-BT054.0 蓝牙控制模块,必要时可通过蓝牙模块手动接管无人模型实现300 m 范围内的手动遥控控制.
在无人车工作过程中,通过BDS 模块与BDS 卫星之间的数据交互实现准确的定位.BDS 模块与BDS 卫星发出的无线电信号在真空与近地面大气层中的传播速度为光速c,则BDS 模块与定位终端之间的距离可通过信号传播时间与速度乘积得到.BDS 卫星发出的导航电文经解调后可解算出发报卫星当前的三维坐标位置,令其为(x(n),y(n),z(n)),同时设无人车模型上接收机的位置坐标为(x0,y0,z0),由此建立两者间的几何距离方程[17-19],如式(1)所示:
式中: ρ(n)为BDS 卫星n与无人车BDS 接收端之间的几何距离,n=1,2,3,4;δt为BDS 卫星n与无人车BDS 接收端时钟精度不同产生的时钟误差,其计算公式如式(2)所示:
式中:T(n)为BDS 卫星n的时钟差,可由卫星星历得出;T0为无人车BDS 接收端时钟差.由式(1)可知,由于引入时钟误差 δt,式(1)出现四元未知数,故需引入4 颗BDS 卫星进行联合求解,最终得出无人车当前的位置信息.
无人车的运动过程可视为在二维平面上进行,忽略摩擦等影响运动的因素后,建立平面直角坐标系如图5 所示.
图5 无人车运动建模示意图
图中A点为巡检无人车BDS 模块定位得出的当前坐标,B点为目标点,AB两点间距离记作dAB,速度方向角为 α,与实际路径偏差为 β,根据距离公式可求得AB两点之间的距离为
由图5 可得:
式中:K为相邻时刻无人车位置在XOY平面上变化的斜率;V(t)为当前时刻无人车的速度;无人车运动过程中方向微分参数为
式中:为无人车t时刻x方向上的运动微分量;为y方向上的运动微分量,得出的结果即为依据速度与前一时刻运动方向得出的当前时刻巡检无人车运动方程,而由图5 可知,运动起始点A与运动终点B的坐标均可由BDS 较为准确得出,但小运动范围内BDS 仍然存在一定的测量误差,因此结合上述修正模型的微观方法,在BDS 的定位变动范围超出阈值时,将修正值与BDS 定位结果采用中值滤波方式进行重新确定,可较准确地得出任一时刻巡检无人车运动方向与位置信息,充分补充了BDS 定位精度的部分缺陷,提高整体定位精度,后续设置了实验验证修正模型的优越性.
根据上述硬件结构设计,得出相应的软件设计流程图和运动控制步骤,整体流程图如图6 所示.
图6 基于BDS 模块应用的无人车巡检工作流程图
在设备初始化之后,首先检测接收到的信号是否为蓝牙信号,若为蓝牙信号即进入蓝牙链路控制运动模式,按照上位机指示进行操作.蓝牙模块P1 口的主要作用为工作状态检测,P0 口低四位实现对电机的控制,针对双电机结构,P0 口低四位接收上位机控制信号,并按照引脚顺序分别接两驱动模块即可实现对应电机控制[20-21].
控制过程中定位模块判断与终点位置是否重合,同时根据超声波传感器与红外线传感器的信号判断周围环境中是否存在障碍,若遇到障碍物根据程序旋转角度进行再判定直至避开障碍.
智能巡检无人车基于BDS 的通信架构,可划分为三个层级,以巡检无人车为载体的层级成为执行层,通过BDS 卫星所在的空间层,与上位机(PC)端的用户层实现通信;用户层亦可通过空间层向执行层发送指令,进行控制并实现远程接管,其全过程示意图如图7 所示.
图7 BDS 通信架构原理图
北斗独特的短报文系统支持将信息以无线通信的形式传达给上位机平台,K1 型号的数传终端支持78 字节单次传输,传输时间间隔为1 min,为方便用户在上位机端清晰地了解巡检无人车当前的运行状态,需在传输最大容量允许的前提下合理设计传输协议.本文设计的传输协议中包含了ID、定位、速度、电压及系统状态等关键信息,用户端可以全面地了解到无人车当前的执行任务状态,实现良好的人机交互,数据传输协议具体如表1 所示.在传输协议的框架下,短报文信息经用户层BDS模块接收解调处理后,传递至上位机端进行接收显示.要求上位机端能够实时显示巡检无人车的周围环境与位置,通过可视化的方式呈现并呈现其经纬度信息,同时输出无人车的速度、电压、工作状态等信息.采用LabVIEW 平台开发上位机端界面,利用C++语言编写用户层上位机软件,安装与用户层计算机中,用于接收执行层中传输的数据,或必要时发送控制指令,远程遥控无人车的运动,并由用户层计算机通过BDS 终端数传传递给巡检状态下的无人车.用户层与执行层之间的体系结构如图8 所示,上位机示意图如图9 所示.
图8 用户层与执行层间体系结构图
图9 上位机界面示意图
表1 BDS 卫星RDSS 短报文数据传输协议
根据本文研究成果和相关算法设计,选择智能巡检无人车为载体将程序烧录至STM32 单片机主控制器中,并与相关传感器等其他器件相连以获取相关参数并实现相应功能.巡检无人车自身结构参数与测试环境参数同如表2 所示,该测试环境下对测试结果的影响较小,可以认为实验结果准确.实地测试过程如图10 所示.
表2 测试环境参数记录表
图10 巡检无人车实地测试现场
经过多次实地测试,在上位机观察运动结果得到如图11 所示的运动轨迹散点图,并计算出各次测试中记录下的运动路径与预设路径之间的偏差和各次测试耗时,汇总如图12 所示.
图11 运动轨迹散点图
图12 运动过程误差分析与耗时记录
经分析可知在各导航的使用中无人车运行均正常,最大误差限制在40 cm 以内,同时其运动控制具备如下特点:
1)无人车可正常行驶,中途无故障,电机运转正常;
2)无人车在运行过程中可自动避开障碍,在实验中途摆放特定障碍物时无人设备可自主绕开未发生碰撞;
3)通过程序给无人设备施加终点后,无人设备可自动向终点方向行驶,最终位置与终点基本重合无过大偏差;
4)在调试过程中观察到无人设备避开障碍物后有规则地调整角度,并自行寻找设定路径行驶;
5)中途蓝牙接管自动运行时未发生运行状态混乱和停滞现象,从自主巡航到无线遥控切换流畅效果良好.
由误差分析可知,BDS 卫星导航下的巡检无人车较GPS 导航下的无人车准确性更高,达到了较小的路径偏移度;而加上了修正模型后的BDS 导航则又在原基础上拟合了最优路径,实现了时间尺度和路程尺度的优化统一.
随着BDS 的广泛应用,未来在巡检无人车领域可大规模普及BDS 定位模块,BDS 较GPS 拥有独特的短报文系统,适用于双向通信的开发与研究,提升了信息交互性.本文采用了多传感器技术,进行全方位的环境感知,通过红外线传感器与超声波传感器实现自动避障,利用BDS 获取当前精确定位并对行驶方向做出规划,解决了避障过程进行后的行驶方向问题,使系统具备了快速纠偏能力.同时加入无线遥控元素,保证了系统的安全性和可控性.采用LabVIEW平台开发上位机,充分利用BDS 的短报文系统,可在上位机端实时查询并记录无人车的运动状态.实验结果表明:该系统可广泛应用于巡检无人车定点巡航作业,搭载多传感器的智能系统具备环境感知、自动避障、定点巡航和远程遥控控制的多方面优势,可满足实际工作中的要求,兼具模块化架构,具有较高的可开发性和实用性.