基于线性CCD搬运机器人弯道控制分析

2016-06-13 06:44江西理工大学电气工程及其自动化学院江西赣州341000
山东工业技术 2016年12期

唐 捷(江西理工大学 电气工程及其自动化学院,江西 赣州 341000)



基于线性CCD搬运机器人弯道控制分析

唐 捷
(江西理工大学 电气工程及其自动化学院,江西 赣州 341000)

摘 要:针对线性CCD机器人在弯道转弯时,经常容易受外界环境容易出现跑偏的现象,本文建立了仿真模型模拟搬运机器人在弯道转弯,来分析影响机器人在弯道转弯时的因素。通过仿真我们可以清晰地分析出线性CCD搬运机器人在转弯时影响其转弯的主要因素,并对此类问题提出相应的解决方案。

关键词:线性CCD;搬运机器人;仿真模型

0 引言

CCD产生于1969年由美国贝尔实验室,它广泛应用在光学遥测技术、光学与频谱望远镜。从功能说分为线性CCD面阵CCD两大类。目前线性CCD技术已经很成熟了,它可将图像信号经TTL电路转换成电信号。模拟电压在采集芯片里面进行AD转换为具体数值,再通过曝光时间的调节和阀值的设定,利用算法就可以很好地识别预先设好的搬运机器人的白线路径。利用线性CCD的这个特点可以实现搬运机器人自动导航。但是在弯道转弯时,因为线性CCD经常容易受外界环境(包括光和引导白线不清晰等)还包括调节反应时间的限制容易出现跑偏的现象。对此本文对搬运机器人在弯道转弯时建立仿真模型,来分析影响机器人在弯道转弯时的因素。

1 线性CCD识别路线原理

1.1 采集线性CCD原理

采集线性CCD数据其实就是采集面阵摄像头里面的的一行数据,总共有128个点。这里采用连续曝光法:该方法的采集原理是利用单片机的周期定时器来控制SI信号的间隔,即曝光时间。该法通过设置STM32F103芯片的中断周期时间来获取不同的曝光时间,并在中断函数内进行AO的数据采集[1]。相比单次采集法,连续采集法可以节约CPU时间,这里利用STM32F103芯片周期中断定时器实现曝光延。

1.2 路径识别处理

白线识别主要是对线性CCD采集的数据进行处理,对线性CCD128个数据的处理,一般都采用二值化处理,将所有数据加起来然后求平均值,阀值的大小一般等于平均值乘以2。二值化的关键参数为黑白像素识别的阀值。但是由于环境亮度不同,同样画面的亮度也会有所不同。使得固定的阀值无法起到很好的效果。因此需要根据环境的亮度动态调整阀值参数。环境的亮度值越低,二值化的阀值就应当相应的调低。因此亮度值与阀值可以简单的使用线性关系关联起来。具体算法如下:假设采集128个数据点数据存放Image[i]里(0<=i<128)Threshold_value表示阀值的大小,曝光时间等于Integrationtime,补光灯参数值为Light。则有如下关系:

Threshold_value= (Image[0]+ Image[1] +Image[2]+Image[3]……+Image[128])/128*2;

Integrationtime=n-( Image[0]+ Image[1] +Image[2]+ Image[3]…….+ Image[128]+ Light)/8.

在程序中采用2次内循环的方式,两边分别通过与阀值对比求取出波形的上升Image[i]与下降沿数据点Image[j]。所以在实际的中心点就可以用(i+j)/2表示,i与j在0~128之间取值。将中心点值转换到电机驱动器的PWM或者DA转化的参数值就可以实现调节电机的左右转动,进而实现机器人转向。为了使光线更清楚,数据更稳定和准确,在摄像头附近加入了补光灯。

为了满足工业的要求,对摄像头数据进行了相关的处理,下位机做成模块化接口,下位机将摄像头实时传输过来的数据二值化处理,查找出数据中点数据,最后传输给上位机进行判断,再传回下位机,这样就可以比较好地远程控制机器人行走。

2 搬运机器人弯道建模分析

搬运机器人在整个弯道的转弯过程中,以搬运机器人为中心,根据前方的弯道信息和机器人当前的运动状态,以机器人行走的轨迹与预期行走轨迹误差最小为原则,决定出一个最优的加速度。最后通过控制机器人的方向角,力求机器人实际行走的轨迹与预期行走相一致。设定机器人行走的恒定速度为V,预期行走的轨迹线为f(t)[2]。

假设机器人在A点具有的即时状态为y=y(t),此刻假设机器人有直线向前的动作,故此机器人在直线前向C点预瞄一个直线距离为d(距离AC=d),那么机器人预瞄直线距离行驶的时间为T=d/V。预期机器人在T时间段后的横向坐标点应为f(t+T)。若t时刻,机器人转向角为θ,则对应的机器人行走轨迹曲线曲率为1/R(R为此刻机器人圆弧半径),此时的侧向加速度为y″(t)。在经过T时间以后,机器人到达B点,此时机器人的侧向位移为:

依据“最小误差原则”,机器人选择一个最优的行走轨迹曲率1/ R′,可以使得在经过时间T后,侧向位移y(t+T)与该处预期的行走轨迹坐标f(t+T)相一致。由于考虑到厂房的面积足够,所以机器人选择的转弯角也相对不大,此时机器人可以计算出此刻的加速度y″(t)=V2/2以及d=VT进而进一步求取出机器人行走的最优曲率和最优侧向加速度:

在整个弯道过程中,速度不是很快。所以可以依据一般汽车转向运动服从“Acklman”几何关系等同于机器人转弯服从于“Acklman”几何关系。可以得出机器人轨迹曲率与机器人转向角成正比:

从而可以进一步求得侧向加速度:

其中,θ1为机器人转向角,L为机器人转向轴距,y″为机器人横向加速度,k为转向传动系数比,R为机器人转弯半径。这样整个机器人在转弯过程中,就好像模拟了人驾驶汽车在弯道转弯一样。由公式(2)和(4)得出机器人在弯道转弯的最优转向角θ1:

由于机器人理想的转向角与实际的方向转向角之间有反应时间误差,也包括整个来自整个系统控制各部件之间传动误差。这里采用θ=i*θ1表示实际的转向角,i表示来自系统本身误差系数。整个模型实际上是认为机器人在低速行走的条件下得到的,对于快速弯道转弯的机器人是不适用的[3]。

对机器人弯道建模后,在matalab里面的simulink进行仿真。在整个机器人转弯过程中,考虑到了横向加速度,以及由此求出的最优曲率,最优转向角这些量组成一个闭环系统。实际上,在机器人转弯的过程中假想的前向距离时间是一个很关键的因素,这个距离时间在这里实际上相当于机器人在转弯时,CCD检测花费的时间和传输回来的时间的总和,也就是时间T。机器人速度一般都是比较平稳,可以认为机器人速度不变。所以这个时间的长短就决定机器人向前跑偏的距离。由此取不同的T值,对整个闭环系统进行仿真。这里取半径R′为5m,V为0.6m/s,i取0.5~0.8。因为在simulink里面没有现成的半圆弧结构函数,所以这里取近似半圆弧的正弦函数作为输入函数仿真图形如图1所示。取相同的输入函数,然后分别取不同T值,分别取T1=0.6, T2=0.7, T3=0.8,T4=0.9对闭环系统进行仿真,输出函数仿真结果如图2所示。

图2中紫线,黄线,绿线,红线分别表示在T1=0.6, T2=0.7, T3=0.8,T4=0.9输出函数的波形。从这3个波形可以分析出当时间T的值越小,输出的波形就越向内侧弯曲,曲率越大,说明动作时间短,机器人在弯道转弯更加灵活准确。相反时间T越大,波形曲率越小,在机器人整个转弯的过程中反应时间过长更容易出现跑偏的现象。对于线性CCD的搬运机器人,时间T代表扫描弯道直线所需要的时间和传输回来的时间。通过此仿真可以分析出在保证数据传输回来准确性的情况下,扫描和传输时间越短,越有利于机器人弯道转弯。

3 实验与分析

通过上面的仿真实验,可以得出在弯道转弯时,线性CCD在排除外界干扰影响其主要的因数是数据采集和传输回来的时间T,对此在弯道转弯时,因为传输回来的时间基本上固定,所以可以加快在弯道转弯时线性CCD采集数据回来的时间。在保证采集数据准确的情况下,通过设置STM32时钟频率,加快定时器中断时间就可以实现这样的效果。除此之外,在整个弯道的调试过程中,将整车速度降下来能够保证CCD扫描回来的数据的准确性。一般降下来的速度大约为0.5~0.6m/s时,就能够保证数据采集准确,且不容易受光线的干扰而跑偏。

4 结语

本文针对线性CCD机器人在弯道转弯容易跑偏的现象,对机器人在弯道运动仿真分析,以及对机器人实物进行调试实验。实验表明数据采集和传输回来的时间T是影响机器人弯道转弯的主要因素。根据这个结论进行调节,实验结果达到了预期的调节效果,很大程度上减少了机器人跑偏概率。

参考文献:

[1]胡丽,宋文爱.提高线性CCD测量水平的分析研究[J].山西电子技术,2011(05):83-84+89.

[2]林雨,杨轸,潘晓东.双车道公路弯道驾驶员轨迹决策行为研究[J].Computer Engineering and Applications,2011,47(23).

[3]吴沫.基于计算机视觉的车道跑偏告警系统方法研究[D].国防科学技术大学,2005.

DOI:10.16640/j.cnki.37-1222/t.2016.12.130