[0047] 为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于人工智能的AGV小车稳定行驶方法及系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
[0048] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0049] 下面结合附图具体的说明本发明所提供的一种基于人工智能的AGV小车稳定行驶方法及系统的具体方案。
[0050] 请参阅图1,其示出了本发明一个实施例提供的一种基于人工智能的AGV小车稳定行驶方法流程图,该方法包括:
[0051] 步骤S1:采集小车当前正视视角下的路径图像。
[0052] AGV小车搭载RGB相机对当前正视视角下的路径进行图像采集,得到路径图像。相机部署位置为正视视角视野范围可以覆盖小车前方路径,采集到清晰的路径图像。
[0053] 步骤S2:分割路径图像的磁路区域并获得俯视磁路图。
[0054] 在本发明实施例中,通过预先训练好的语义分割网络,将路径图像中的磁路区域分割出来。语义分割网络具体包括:
[0055] 1)语义分割网络为编码‑解码结构,编码器用于提取图像特征,调整通道数输出特征图;解码器用于将特征图的高和宽变换为输入图像的尺寸,输出每个像素的类别。
[0056] 2)将事先通过部署在小车上的相机采集到路径图像作为训练集并标注。训练时随机选择80%的数据作为训练集,剩余20%作为验证集。
[0057] 3)采用交叉熵损失函数进行训练。
[0058] 获得磁路区域后,将当前正视视角的磁路区域变换为俯视视角,获得俯视磁路图。
[0059] 在本发明实施例中,利用透视变换进行转换视角。透视变换利用磁路区域四个对应点的坐标以确定变换矩阵。因为相机固定在小车上,视角不会发生变化,因此可以提前标定变换矩阵的参数。
[0060] 需要说明的是,在透视变换后可以通过闭操作等图像预处理方法使图像中的倥侗填充,起到平滑轮廓的作用。
[0061] 步骤S3:判断当前路径是否有异常磁路。
[0062] 常见的异常磁路有磁路磨损或者有障碍物导致磁路宽窄异常、磁路发生断裂破损和磁路本身性质改变三种情况。
[0063] 根据俯视磁路图的的图像信息和磁感应强度传感器的磁感应信号判断是否有异常磁路。
[0064] 利用图像处理方法分析俯视磁路图可以得到俯视磁路图中的图像信息,图像信息包括俯视磁路图中的磁路边缘和磁路连通域。
[0065] 磁路边缘的获取方法为:通过Canny边缘检测技术对俯视磁路图进行边缘提取,得到包括磁路两条边缘曲线在内的二值化图像。对这两条曲线进行多次拟合,拟合过程为使其偏差绝对值之和最小,公式表示为:
[0066]
[0067] 其中,(xi,yi)为真实坐标, 为磁路边缘上的坐标,m为拟合数据点的个数。
[0068] 获得磁路边缘后,对两条磁路边缘曲线分别求导,若导数差异大于预设导数阈值,则认为当前磁路异常,说明有磁路磨损或者有障碍物导致磁路宽窄异常。请参阅图2,其示出了本发明一个实施例所提供的一种宽窄异常磁路示意图。
[0069] 在本发明实施例中,采用四邻接的连通域算法,采用两次扫描法,第一遍扫描时赋予每一个像素位置一个标签,当同一个四连通区域内的像素集合中被赋予了多个不同标签时,将这些不同值的标签合并其四连通域内标签的最小值,第二遍扫描重复第一遍操作,为各连通域内像素赋予其四连通域内标签最小值。至此可获得俯视磁路图中的连通域,连通域个数为标签的最大值。若连通域个数大于预设连通域个数阈值时,认为当前磁路发生断裂破损。请参阅图3,其示出了本发明一个实施例所提供的一种断裂异常磁路示意图。在本发明实施例中,连通域个数阈值为2。
[0070] 随着磁路使用时间过长或者被干扰物影响,磁路的磁感应强度可能会发生不同程度的变化,无法以恒定的频率对小车进行控制,本发明实施例利用磁感应强度传感器反馈的磁感应信号判断是否存在异常磁路,具体包括:
[0071] 在历史数据中获得小车在正常磁路上不同运行状态的磁感应信号集合。在本发明实施例中,磁感应信号表示为Bn(t),n代表小车运行状态,取值为1,2,3。n=1代表小车运行状态为左转,n=2代表小车运行状态为右转,n=3代表小车运行状态为直行。根据运行状态可以获得小车的9种运行状态组合:
[0072] M={B1(t),B2(t),B3(t),B1(t)B2(t),……,B3(t)B2(t)}
[0073] 其中,M为磁感应信号集合。
[0074] 将小车行进过程中在一个检测周期中实时采集的磁感应信号集合A与历史磁感应集合M中各个元素进行匹配,取其匹配误差最小值作为评判标准。定义误差匹配检测函数为:
[0075]
[0076] 其中,Match为误差匹配检测函数,A(k)为在k时刻的实时磁感应信号值,M(l+k)为在l+k时刻的历史磁感应集合,n,m分别为集合A和集合M的元素值,默认满足m>n。
[0077] 匹配误差为Match函数的最小值,当匹配误差大于预设的误差阈值时,说明当前磁感应信号异常,当前磁路异常。
[0078] 在检测出异常磁路后,反馈异常信息。在本发明实施例中,异常信息包括停止小车命令、当前路径的路径图像、异常类型和当前位置信息。反馈有效的异常信息可以使工作人员对异常磁路及时的维护整理。
[0079] 步骤S4:检测转弯区域的非连续曲率转弯点。
[0080] 在磁导引AGV小车运行过程中,因为依靠磁路对小车的行进路径做规划,所以铺设的磁路决定小车行进效果。在一些直角转弯路径下,因为非连续曲率转弯点的存在,会在小车在转弯过程中加速度发生突变,导致小车的颠簸。
[0081] 请参阅图4,其示出了本发明一个实施例所提供的非连续曲率转弯点示意图,具体包括:
[0082] 若没有异常信号反馈则说明当前磁路正常,在运行到转弯处时,可以根据磁路边缘获得拐点区域F。拐点区域F获取方法为:对磁路边缘两条曲线分别求导,分别获得两条区域导数变化范围较大的点的区间,以这些点作为圆心,以区间长度作为直径的圆形区域为拐点区域F。然后通过角点检测获得俯视磁路图的角点,拐点区域内的角点为非连续曲率转弯点E。
[0083] 在本发明实施例中,俯视磁路图在经过空间滤波后消除透视变换造成的局部点曲率不连续的情况,以免造成误检。然后利用Harris角点检测算法获取俯视磁路图像中多个角点。
[0084] 步骤S5:调整磁感应信号执行转弯过程。
[0085] 在小车运动过程中,当检测出非连续曲率转弯点E进入警戒区域后命令小车进入转弯调整状态,警戒区域为警戒线L以下的区域。在本发明实施例中,警戒线L设置在图像纵轴方向上二分之五的位置。若没有检测出非连续曲率转弯点E则认为小车可以正常转弯。
[0086] 一般来说,AGV小车通过磁场传感器检测磁感应信号控制导航,在转弯时小车会沿着磁感应信号强度强的一侧偏航,所以通过改变磁感应强度传感器控制小车在不连续转弯点处转弯,进行转弯调整,具体方法包括:
[0087] 获得非连续曲率转弯点E在磁路边缘上的导数,通过导数绝对值作为转弯程度,通过导数符号确定当前小车转向,在本发明实施例中设定符号参数θ,当左转时赋值为‑1,右转时赋值为1。转弯程度ε(x0)可用公式表示:
[0088]
[0089] 其中,ε(x0)为转弯程度,θ为符号参数, 为非连续曲率在磁路边缘上的导数。获得转弯程度后,利用转弯程度调整磁感应信号:
[0090] E′(x)=E(x)+γ·sign(θ,x)ε(x0)
[0091] 其中,E′(x)为调整后的磁感应信号,E(x)为调整前的磁感应信号,γ为换算参数,ε(x0)为转弯程度,sign(θ,x)为调整参数,sign(θ,x)定义为:
[0092]
[0093] 至此,待转弯模式将调整后传感器的磁感应信号作为差动控制的输入信号,同时对小车电极发送降速信号,以使AGV小车在曲率不连续拐点上平稳转弯。
[0094] 步骤S6:判断小车转弯状态。
[0095] 在AGV小车执行转弯过程时,需要实时判断非曲率转弯点E的具体位置,以防止转弯过头等问题。本发明实施例利用路径图像的特征区域匹配的循环来提高待转弯模式下小车的检测速度,灵活判断小车转弯状态。
[0096] 通过俯视磁路图中进入警戒区域内的非连续曲率转弯点E来解算路径图像中对应的区域。图像变换为常用的图像处理操作在此不多赘述。在路径图像上非连续曲率转弯点经特征变换后的特征点集为Ti(x,y)。以特征点集中坐标的平均值作为圆心,坐标平均值到最远特征点的距离作为半径的圆形作为特征区域。
[0097] 因为小车在不断运动的,所以路径图像的尺度也会发生变化。在特征区域中计算各个60度的扇形范围内横纵方向上的haar小波相应,找出模最大的扇形方向将其作为圆心特征点的主方向,以圆心为中心,在主方向上得到64个SURF特征的描述子,在待转弯模式中,不断对这个特征点进行匹配。每一次输入的路径图像经过处理后,若找出图像中一点与特征点间的欧式距离小于预设的距离阈值,则认为该点与原图像中非连续区域转弯点所匹配,视为当前仍在转弯状态;反之则认为转弯过程结束,结束循环过程。
[0098] 综上所述,本发明实施例通过改变小车当前路径图像的视角,通过俯视磁路图对小车当前路径进行判断。通过图像信息和磁感应强度传感器的磁感应信号判断是否出现异常磁路。没有异常磁路情况下,通过磁路的边缘信息检测前方路径的非连续曲率转弯点。当非连续曲率转弯点进入的预设警戒区域内时,小车执行转弯控制,通过转弯程度调整磁感应信号,实现转弯的控制,使小车平稳的行进。将非连续曲率转弯点与实时采集的路径图像进行特征匹配,减少计算量,灵活判断小车转弯状态。
[0099] 本发明实施例还提供了一种基于人工智能的AGV小车稳定行驶系统。该系统包括:图像采集模块101、图像预处理模块102、异常磁路检测模块103、非连续曲率转弯点检测模块104、转弯控制模块105和转弯状态获取模块106。
[0100] 图像采集模块101用于采集小车当前正视视角下的路径图像。
[0101] 图像预处理模块102用于分割出路径图像中的磁路区域,将磁路区域由正视视角变换成俯视视角,并二值化处理,获得俯视磁路图。
[0102] 异常磁路检测模块103用于根据俯视磁路图的图像信息判断是否存在异常磁路。图像信息包括俯视磁路图的磁路边缘、磁路连通域。根据磁感应强度传感器的磁感应信号判断是否存在异常磁路。若存在异常磁路,则反馈异常信息。
[0103] 非连续曲率转弯点检测模块104用于当俯视磁路图不存在异常磁路时,通过磁路边缘获得拐点区域。通过角点检测获得俯视磁路图的角点。以在拐点区域内的角点作为前方道路的非连续曲率转弯点。
[0104] 转弯控制模块105用于在小车运动过程中,当所采集的连续多帧俯视磁路图中的非连续曲率转弯点移动至俯视磁路图中预设的警戒区域内时,通过非连续曲率转弯点位置获得转弯程度,以转弯程度调整磁感应信号。
[0105] 转弯状态获取模块106用于获得所有非连续曲率转弯点在当前路径图像中的特征区域。将特征区域和后续采集的路径图像进行特征匹配,若特征匹配失败则表示转弯结束。
[0106] 优选的,异常磁路检测模块103还包括图像信息异常检测模块。图像信息异常检测模块用于判断磁路边缘两条曲线导数差异是否大于预设导数阈值。若大于,则判断当前磁路异常。判述连通域个数是否大于预设连通域个数阈值。若大于,则判断当前磁路异常。
[0107] 优选的,异常磁路检测模块103还包括磁感应信号异常检测模块。磁感应信号异常检测模块用于从历史数据中获得小车在正常磁路上不同运行状态的磁感应信号集合。集合包含了不同状态的磁感应信号组合。在小车行进过程中将实时采集到的磁感应信号与集合匹配,获得匹配误差。若匹配误差大于预设的误差阈值,则认为当前磁路异常。
[0108] 优选的,非连续曲率转弯点检测模块104还包括拐点区域获取模块用于对磁路边缘两条曲线分别求导,获得曲线的导数变化范围大的点的区间。以该点为圆心,以区间长度作为直径的圆形区域为拐点区域。
[0109] 优选的,转弯控制模块105还包括转弯程度获取模块。转弯程度获取模块以非连续曲率转弯点在磁路边缘上的导数绝对值作为转弯程度。通过该导数的符号确定当前小车转向。
[0110] 需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0111] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
[0112] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。