一种AGV智能车的轨迹信息处理控制方法与流程

文档序号:12460532阅读:1205来源:国知局
一种AGV智能车的轨迹信息处理控制方法与流程

本发明属于数据处理技术领域,具体涉及一种AGV智能车的轨迹信息处理控制方法。



背景技术:

AGV(Automated Guided Vehicle)智能车,也称为自动导向车,在工业生产车间中有较多应用,常用于车间内货物的自动搬运。AGV智能车装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车,工业应用中不需驾驶员的搬运车,以可充电之蓄电池为其动力来源。一般可透过电脑来控制其行进路线以及行为,或利用电磁轨道(electromagnetic path-following system)来设立其行进路线,电磁轨道黏贴於地板上,无人搬运车则依循电磁轨道所带来的讯息进行移动与动作。

AGV循迹也是无人驾驶的前提条件,一般AGV智能车是基于车间定制的,其轨道信息处理方法往往基于预先布置好的特殊传感器,成本高,效率低。



技术实现要素:

鉴于上述,本发明提供了一种AGV智能车的轨迹信息处理控制方法,只需用到视觉传感器,在普通路面环境就能取得很好的效果。

一种AGV智能车的轨迹信息处理控制方法,包括如下步骤:

(1)获取AGV智能车在图像中的轨迹信息,对所述轨迹信息进行分段拟合,得到多组依次连接的线段;

(2)对于任一组线段,提取该线段的斜率slope以及线段上每个点相对图像Y轴的偏移量,进而通过坐标变换计算每组线段的决策量;

(3)根据每组线段的决策量通过衰减求和计算得到整个轨迹的决策量,进而根据该决策量结合车辆方向盘角度与转弯半径关系,决策出AGV智能车的转向角度和速度并发送给VCU(Vehicle Control Unit,车辆控制单元),由VCU对AGV智能车的行进执行控制。

所述步骤(1)中对轨迹信息进行分段拟合的过程为:首先根据车辆长度、行进速度以及轨迹长度确定分段步长,依据分段步长对整个轨迹信息进行分段;然后利用最小二乘法将每段轨迹信息拟合成线段。

所述步骤(2)中通过坐标变换计算每组线段决策量的具体过程如下:

2.1对线段的斜率slope进行坐标变换:

若slope≥0,则坐标变换后线段的斜率slope'=1-2actan(slope)/π;

若slope<0,则坐标变换后线段的斜率slope'=-1-2actan(slope)/π;

2.2通过以下公式计算坐标变换后线段的偏移量X':

X'=2Xaverage/width-1

其中:actan()为反正切函数,Xaverage为线段上所有点相对图像Y轴的平均偏移量,width为图像的宽度;

2.3根据斜率slope'以及偏移量X'通过加权求和得到线段的决策量。

所述步骤(3)中通过衰减求和计算整个轨迹决策量的具体过程如下:

首先,根据图像中各线段与AGV智能车的远近关系,对所有线段的决策量进行排序,由近及远依次为A1,A2,A3,…,An

然后,根据以下公式计算出整个轨迹的决策量A:

A=A1+αA22A3+…+αn-1An

其中,n为线段的数量,α为设定的衰减系数且0<α<1。

所述步骤(3)中当决策出AGV智能车的转向角度和速度后通过约定好的通信协议以指令的形式发送到VCU,由VCU采用增量式PID控制算法对AGV智能车的行进执行控制。

本发明方法将轨迹信息进行分段拟合,每一段拟合成直线处理,对于每一段直线,提取出偏移量和斜率,进行坐标变换使得其变化映射到一个线性空间,然后进行一系列权重运算得到决策量,最终将决策量结合车辆转弯半径计算得到合适的转弯角度,并以指令的形式发送给VCU执行。本发明方法只需用到视觉传感器,在普通路面环境就能取得很好的效果。

附图说明

图1为本发明轨迹信息处理控制方法的流程示意图。

图2为转弯半径与转向轮转向角度和轴距的关系示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

如图1所示,本发明轨迹信息处理控制方法包括如下步骤:

(1)将轨迹信息进行分段拟合;

分段的步长step的确定主要参考车辆长度L、行进速度v以及轨迹在图像中的长度h。

分段完毕后进行直线拟合,具体拟合算法为最小二乘算法。最小二乘法拟合直线的原则是以“残差平方和最小”确定直线位置。

对于样本回归模型:

其中:ei是样本(Xi,Yi)的误差。

则平方损失函数:

根据数学定理,Q的极值必然取在对参数的偏导数为零处:

可以求解得到:

(2)将拟合得到的直线斜率和Y轴偏移量进行坐标变换,计算得到决策量。

首先,将拟合完毕的分段直线提取斜率以及线上各点相对Y轴的偏移量,并进行坐标换算,使得斜率值的变化与角度成线性关系;具体的换算公式为:

如果斜率值slope大于等于0,则根据公式:

slope'=1-2actan(slope)/π进行变换;

如果斜率值slope小于0,则根据公式:

slope'=-1-2actan(slope)/π进行变换。

将计算得到的x坐标平均偏移量进行变换,具体为:

X'=2Xaverage/width-1

其中:Xaverage为线段上所有点相对图像Y轴的平均偏移量,width为图像的宽度。

然后,将变换之后的斜率slope'和Y轴偏移量X'通过加权求和计算出决策量。

(3)将上述决策量经过权重算法进行决策权重的分配,得到轨迹的最终决策量A。

对于分段的直线,每多分一段,权重衰减一个百分比α%;对于分段的直线,距离车子越远的直线,决策权重越小;具体算法如下:

A=A1+αA22A3+…+αn-1An

其中,A1,A2,A3,…,An对应于由近及远各直线段的决策量。

(4)将最终决策量A,参考车辆情况,以协议指令形式发送VCU处理。

根据最终决策量A并结合车辆方向盘角度与转弯半径关系,决策出车辆转向角度和速度,根据约定好的通信协议以指令的形式发送到VCU执行,VCU执行的具体控制算法为增量式PID。

以下实施例的具体应用场景为浙江大学ESE工程中心自主研发的roboy智能车,通过摄像头采集轨迹信息,图像处理模块采用NVIDIA的JETSON TK1,决策过程也在该处理器上完成,图像处理和决策处理模块之间采用进程间通信传递数据。决策产生的结果按照约定好的通信协议编码成指令通过局域网发送给车载VCU,车载VCU执行指令,控制EPS系统转向,具体的控制算法采用经典的增量式PID控制,在调参良好的情况下响应迅速且没有明显的抖动现象。此处采用的VCU控制器为Freescale的S12系列。

在分段拟合阶段,分段的标准主要参考轨迹的长度h、车长L以及车速v,图像信息压缩成960*480,将轨迹从距离车子近的一端进行分段,以高40为一段,不足40像素部分舍去(除去只能分一段的情况,即图像只采集到高不足40像素的轨迹,则不分段直接进行下一步处理)。

分段完毕后将每一段直线进行最小二乘拟合,拟合处理成直线,拟合算法代码实现如下:

对于每一个分段直线,拟合完毕之后都提取起斜率和Y轴平均偏移量,然后通过坐标变换使得斜率的变换在[-1,1]区间内随着与X轴夹角的角度线性变化。具体转换的计算方法如之前所述,然后计算该分段的决策量det=a*slope'+b*X',a和b为斜率和Y轴偏移量的决策权重。

将计算得到的det再次进行权重的计算,以使得距离车子越远的直线决策权重越小,具体的做法是:

det*=y/height

其中:y为该分段直线的平均y轴坐标值,height为图像高度,此处取480。

对于分段直线,按照距离车子由近到远的顺序排序,对于第一段直线,det值不进行衰减,往后每一段直线,越往后排一位,det值就多进行一次d%的衰减。

最终将决策量汇总的时候,考虑到本实施例情况下车辆车速较低,主要考虑第一段直线(即距离最近一段)的det0值,后面直线段的deti值如果与第一段符号相反,则汇入最终的决策量,否则不计入。

如图2所示,在忽略车轮侧偏角的情况下,车辆转向半径(即途中OD线段)长度R=L/cosβ,其中β为转向轮转向角度,在估算出转弯半径的情况下可以估算出车轮角度,可以估算得到EPS转向角度,这是一个经验值,需要现场调试。

决策出期望EPS转向的角度,以指令形式发送给VCU执行底层控制,具体控制算法为增量式PID控制。

指令的格式如表1所示,指令长度共8字节。

表1

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1