巡检机器人导航系统研究与设计
2022-12-14宋明磊谢丽蓉
宋明磊,谢丽蓉,安 冬,2
(1.新疆大学电气工程学院,新疆 乌鲁木齐 830047;2.中国农业大学信息与电子工程学院,北京 100083)
0 引 言
随着社会的不断发展与进步,巡检机器人已经在各种环境下被普遍使用。目前,电力巡检机器人和无人机巡检机器人是市面上最常见的两类巡检机器人[1]。自动导航技术通过巡检机器人的传感器对未知环境进行感知,并结合已知环境信息对其进行相应控制,完成巡检作业任务[2⁃3]。巡检机器人如何实现安全到达指定位置,且在行驶过程中快速避开障碍物是研究的重点[4]。巡检机器人常用的导航方法有基于卫星[5]、机器视觉[6⁃7]、激光雷达[8]、惯性导航[9]等的方法,可以单独使用或结合使用。
未来导航技术应用的主要模型是组合导航,将几种不同的传感器组合,每个单独传感器彼此补充其独特性和局限性,以提高系统的准确度[10]。文献[11]提出了一种基于GPS 和机器视觉组合导航的定位系统,克服了仅有一种定位方式的不足,提高了农业机器人的定位效果,但未实现其自主化控制;文献[12]提出了组合视觉导航与惯性导航的方法,使用立体相机获得最小化重投影组合IMU 惯性优化函数来估计移动机器人的位姿、速度,此系统成本高,且容易产生累积误差;文献[13]提出通过相机、IMU、GPS 的组合方法跟踪照相机在6 个自由度的运动,但GPS 信号容易产生丢失问题。
为了实现巡检机器人的高精度定位和自主导航能力,提高巡检机器人的作业效率,本文研究联合了实时差分定位(Real⁃Time Kinematic,RTK)和机器视觉导航两种方法,未发现障碍时,采用RTK 导航为主、视觉导航为辅的组合方式;发现障碍物时,切换为视觉导航为主、RTK 导航为辅的组合方式。其中视觉导航采用多个卷积神经网络(Convolutional Neural Networks,CNN)分类模型实时地对障碍物进行分类,得到相应的指令来控制巡检机器人自主避障。采用生成式对抗网络(Generative Adversarial Networks,GAN)对数集进行训练,CNN 训练分类模型,速度快、准确率高、数集采集量小,可以更好地识别到障碍物并为巡检机器人发出正确的指令,运用无模型自适应控制避开障碍物。实验证明该组合导航系统具有较强的抗干扰能力,自主性好、精度高,能为巡检机器人提供准确的导航信息以及运动信号。
1 数据提取
1.1 RTK 数据提取
对实时动态(Real⁃Time Kinematic,RTK)数据进行字节分离,提取纬度数据、经度数据。将数据按世界坐标计算公式计算得到纬度数据与经度数据,同时将目标点的经度和纬度数据读取出来;再利用两个世界坐标点计算距离和角度公式得到直线距离(L)和偏转角(v)。公式如下:
式中:A1是巡检机器人所在点经度;A2是目标点的纬度;B1是目标点的纬度;B2是目标点经度;R是地球平均半径,约为6 371.004 km。
1.2 障碍物数据提取
单目相机的成像原理如图1所示,图中世界坐标系O⁃XWYWZW中的点P(XC,YC,ZC)通过透视投影在成像平面成像,成像点为p,成像平面的像素坐标系以像素点为单位,以图像左上角O0点为原点,成像点p在以O0点为原点的坐标系中的坐标为(up,vp)。由于本文是采集图像信息,不需要确定距离,所以不需要进行相机的内外参数的标定工作。
图1 单目相机的成像原理
1.3 障碍物数据GAN 处理
生成式对抗网络(GAN)是一种深度学习模型。本文采用GAN 对数据集进行处理,该模型由两个模块组成:生成模型(Generative Model)和判别模型(Discriminative Model),两模块皆为深度神经网络。通过两者互相博弈学习输出新的数据集,公式如下:
式中:s表示真实图片;Px(x)表示输入G网络的噪声;G(x)表示G网络生成的图片;D(s)表示D网络判断真实图片是否真实的概率。
2 模型搭建
2.1 无模型自适应控制模型
无模型自适应控制(Model⁃free Adaptive Control,MFAC)是一种无需被控对象先验模型参数信息的控制策略。RTK 移动站安装在车辆的几何中心,航向角计算模型如图2所示。
图2 航向角计算模型
式中γ为航向角。
得到偏转角和需运动距离,无模型自适应控制运动的速度,并及时反馈修改运动速度,控制巡检机器人快速到达下一个点。因此,每个麦克纳姆轮的电机系统可视作一个SISO 的离散时间非线性系统,其表达形式如下:
式中:y(k)∈R是电机在采样时刻k时的速度大小;u(k)∈R表示系统的控制输入信号;ny和nu是两个未知的正整数;f(·):Rnu+ny+2↦R是未知的非线性函数。
在得到紧格式动态线性化(CFDL)前,需给出以下假设:
假设1:非线性函数f(·)关于第(ny+2)个变量的伪偏导数是连续的。
假设2:非线性系统满足广义Lipschitz 条件,对任意的k1≠k2,k1,k2≥0 和u(k1)≠u(k2),有:
式中 :y(ki+1)=f(y(ki),…,y(ki-ny),u(ki),…,u(ki-nu)),i=1,2;b为常数,b>0。
定理1:当非线性系统满足假设1 和假设2,且|Δu(k) |≠0 时,一定存在被称作PPD 的时变参数φ(k)∈R,使得麦克纳姆轮的电机系统如式(9)所示,能够转化成等效的CFDL 数据驱动模型[14]。
考虑CFDL 数据驱动模型如式(9)所示,设计无模型自适应控制如下:
式中:(k)是PPD 参数φ(k)的估计值;μ是步长因子;是权重因子,>0;ρ是步长因子,用于控制输入量的变化;yr(k+1)是期望的速度大小。
2.2 CNN 分类模型
卷积神经网络(CNN)有较好的非线性形变稳定性,其结构分为卷积层、最大池化层和全连接层。
卷积层:本文为提高算法收敛速度,降低算法复杂度,使用ReLU 作为激活函数对输入数据进行卷积运算,其函数定义和激活函数公式如下:
池化层:池化层的主要作用是计算特征图每一个固定窗口内的像素值,相当于对特征图片进行了缩减,可以防止模型的过拟合。
没有了戴菲儿,艾莉成为豪宅真正的主人。她可以赤裸着身子在各个房间之间走来走去,她可以赤裸着身子躺在游泳池边的躺椅上享受或温暖或热烈的日光浴。她可以毫无顾忌地与秦川做爱,在卧室里,在厨房里,在浴室里……在地板上,在桌子上,在空中……在雾气里,在阳光里,在大雨中……在一缸飘着花瓣的温水中,在一丛葳蕤的花草旁,在一株高大的枣树下……无聊时候,这是她和秦川最喜欢的娱乐方式。后来她发现她再一次爱上秦川,这足以成为她继续留在这里的理由。可是她对这种感觉保持着足够的警惕,她知道,当女人对男人言听计从,那么这个女人,已经成为充气娃娃。
全连接层:将提取的各种特征进行组合,并将其特征反映到分类标签。其计算公式如下:
式中:x1,x2,x3为全连接层的输入数据;a1,a2,a3为输出数据。
选择先使用卷积神经网络来提取环境特征,再通过全连接神经网络将这些得到的特征值联系起来归结为该图片三种类别的概率,其中概率最大的一类便是识别结果。
首先使用搭建好的智能巡检机器人平台拍摄图像制作数据集;之后通过实验初步确定深度神经网络的层数与结构组成。通过训练和调参,最终得到一个满意的模型。本文采用了7 层神经网络,分别为4 层卷积、池化层以及3 层全连接层(包括输出层),其结构如图3所示。
图3 神经网络结构图
2.3 RTK 与视觉切换模型
巡检机器人导航系统的目的主要是精准定位和障碍物的避让,对导航的精度要求比较高。RTK 可以精确地获得巡检机器人的绝对位置,视觉导航可以检测障碍物并绕过障碍物,因此结合两种导航方式对系统进行设计,其设计框架如图4所示。
图4 RTK 与视觉组合系统总设计图
系统分三层,设备层负责位置信息获取、障碍物信息感知;数据层是对接收的数据进行储存和使用;算法决策层通过数据处理进行运动控制。数据层中RTK 为巡检机器人提供精确的导航位置和需要行驶的参数,单目相机主要是对周边环境信息进行采集,获得前方障碍物的图片信息。
设计的整个RTK 导航与视觉避障主辅切换优化控制策略工作流程为:起始采用RTK 导航为主、视觉导航为辅的组合方式,由RTK 接收器获得当前小车的位置信息并进行RTK 导航,计算出前行距离和航向角,通过无模型自适应控制车轮速度,对巡检机器人进行导航控制。同时在巡检机器人行动过程中,使用视觉传感器采集周边环境信息,实时对图片进行障碍物的检测识别,若识别到障碍物时,切换为视觉导航为主、RTK 导航为辅的组合方式,对障碍物进行位置分类,依据障碍物类型确定小车运动方向,再次通过无模型自适应控制车轮速度,从而实现巡检机器人视觉避障导航。巡检机器人根据RTK 和视觉组合实现不同情况下导航方式的切换,并能准确地行驶到指定位点,实现连续的障碍物躲避,进行转弯等操作。
3 实验结果与分析
3.1 实验平台搭建
上层控制器的运行环境为Ubuntu 18.04.5 LTS,该系统为Linux 的一种,CPU 为ARM Cortex⁃A72 1.5 GHz(四核),内存为4 GB。远程控制软件使用CPU:双Cortex⁃A72大核+四Cortex⁃A53小核,最高主频为1.8 GHz;操作系统为Windows 10;开发平台为Android Studio 4.0。差分GPS 接收器使用UB482 差分GPS 接收器,其平面精度为1 cm+1 ppm。
3.2 GAN⁃CNN 分类模型
单目相机采集的数据集经GAN 处理后生成新数据集,再由新数据集进行CNN 分类模型训练。GAN⁃CNN分类框架如图5所示。
图5 GAN⁃CNN 分类框架
为了选择适合本文设计的神经网络参数,在实验开始前对不同层数或者不同节点数的神经网络进行了测试,目的是找到可以满足设计需求而且模型尽量要小的神经网络参数来进行后续的实验。网络从一层卷积池化层加一层全连接层开始测试,增加卷积链接层的数量,观察其会对训练过程中的数据的影响,结果如图6所示。
图6 卷积层、连接层数对准确率的影响
经过分析,决定采用两层卷积池化层加两层全连接层的网络结构作为本文设计中的深度神经网络结构。对于神经网络中超参数的调节,运用了经验分析以及实验调试的方法,最终的卷积神经网络参数如下:输入层输入120×120×1 的灰度图像数据;隐层第一层卷积层采用32 个6×6 的卷积核进行卷积运算,池化层选择核大小为4×4 的取最大值的下采样方式,取样的步长为4,这样经过第一层的卷积激活池化后,输出结果为30×30×32的矩阵;隐层第二层卷积层采用64 个4×4 的卷积核进行卷积运算,池化层选择核大小为3×3 的取最大值的下采样方式,取样的步长为3,输出结果为10×10×64 的矩阵;之后三维矩阵通过reshape 函数进行降维,输出6 400×1的向量;隐层第三层为全连接层,输入降维后的数组,输出512×1 的数组;最后为输出层,再经过全连接输出3×1的结果。
将GAN 训练的图片采用CNN 训练出模型,进行最后实验。对训练数据进行可视处理,损失函数最低为0.58,识别精度最高为96.52%,再对测试集图片进行识别测试,可完成测试集分类,其分类精度最高可以达到96%。识别精度结果如图7所示。
图7 识别精度
表1中详细列出了各类识别图片的数目以及识别结果。
表1 验证集识别结果
表1中:横向表示正确的分类,列向表示实际识别到的分类;C0 表示标签为右转;C1 表示识别标签为左转;C2 表示识别标签为直行。通过对神经网络的训练以及验证分析,理论上是可以满足巡检机器人避障的功能实现所需要的准确度。
验证图片集的部分验证结果如图8所示。
图8 验证集识别结果(部分图片)
3.3 RTK⁃GAN⁃CNN 验证
实验环境为渔场模拟环境,本文RTK⁃GAN⁃CNN 组合导航实验采用的巡检机器人行驶速度为0.6 m/s,最后实验未碰触到障碍物,成功从起始点到末位点。其巡检机器人百度地图的既定路线远程与实际运动追踪轨迹如图9所示。
图9 巡检机器人实际运动追踪轨迹图
其中红线为既定路线,蓝线为实际路线。整个过程共设置了5 个障碍物,巡检机器人皆以直线平移的方式成功绕过障碍物。巡检机器人在实际环境中的实验,在未设定障碍物时,采用RTK 导航为主GAN⁃CNN 视觉导航为辅、MFAC 控制小车速度的组合方式进行导航,巡检机器人实际行驶与既定路线误差小于5 cm。在设定障碍物时,未遇到障碍物时,采用差分GPS 导航为主、GAN⁃CNN 视觉导航为辅的组合方式;遇到障碍物时,切换为GAN⁃CNN 视觉导航为主RTK 导航为辅、MFAC 控制小车速度的组合方式进行导航,脱离既定路线以较小的平移距离绕开障碍物。
为了验证所提出的模型在预测精度上的优越性,本文还分别对无障碍物时使用的RTK⁃PID 模型、RTK⁃MFAC 模型,有障碍物时使用的RTK⁃CNN⁃PID 模型、RTK⁃GAN⁃CNN⁃PID 模型、RTK⁃CNN⁃MFAC 模型、RTK⁃GAN⁃CNN⁃MFAC 模型进行实验对比。未设定障碍物的既定路线与实际路线对比图、设定障碍物后的理想路线与实际路线对比图如图10所示。
图10 巡检机器人导航算法路线对比图
巡检机器人在遇到模拟障碍物(障碍物类型之一纸箱)时,导航过程主要分为三个阶段,如图11所示。
图11 巡检机器人室外避障示意图
第一阶段如图11a)所示,距离障碍物较远,系统为RTK⁃MFAC 导航为主GAN⁃CNN 识别为辅的导航模式快速前进至第二阶段位置。第二阶段如图11b)所示,已到达障碍物前端,单目相机采集图片被GAN⁃CNN 模型识别为存在障碍物,系统切换为GAN⁃CNN⁃MFAC 导航为主RTK 获取实时定位为辅的导航模式,通过平移绕过障碍物,到达第三阶段位置。第三阶段如图11c)所示,已绕开障碍物,系统重新切换为RTK⁃MFAC 导航为主GAN⁃CNN 识别为辅的导航模式快速行驶。综上所述,巡检机器人RTK⁃GAN⁃CNN⁃MFAC 组合导航系统可以使巡检机器人安全平稳地规避障碍物。
4 结 论
为了实现巡检机器人的准确定位和自主导航能力,提高巡检机器人的工作效率,本文提出了一种RTK 导航与视觉导航主副切换模型,设计了巡检机器人导航系统。实验结果表明:与其他算法对比,本文采用的GAN⁃CNN 算法能够提高识别障碍物的精度;与传统PID 相比,本文采用的MFAC 能够更精准地反馈实时的速度变化,及时地调整麦克纳姆轮的速度。采用巡检机器人RTK⁃GAN⁃CNN⁃MFAC 组合导航系统能够更好地实现导航控制,验证了本文模型的优越性,使得巡检机器人更好、更安全地完成渔场巡检。