APP下载

基于CCD的循迹机器人小车模糊控制方法研究与实现

2019-09-02刘汉忠俞鹏谢秦韬

现代电子技术 2019年9期
关键词:循迹模糊控制控制器

刘汉忠 俞鹏 谢秦韬

摘  要: 设计一种基于STM32为主控芯片的循迹机器人小车,用CCD摄像头作为路径识别装置,采用边缘检测算法提取路径中线,根据小车的速度与转弯半径,采用模糊控制调节小车左右轮的速度差,达到路径识别与跟踪的目的。设计中通过建立里程计模型把小车的实时理想位置通过蓝牙传送至PC端,PC端通过数据处理将理论轨迹和实际运行轨迹进行对比,实验结果表明,小车可以依靠CCD摄像头很好地识别任意路径轨迹,在不同的运行速度下,模糊控制都有较理想的循迹控制效果。

关键词: CCD摄像头; 循迹; STM32; 模糊控制; 控制器; 路径识别

中图分类号: TN876?34; TP242.6                   文献标识码: A                   文章编号: 1004?373X(2019)09?0095?03

Research and realization of CCD camera based fuzzy control method

for tracking robot car

LIU Hanzhong, YU Peng, XIE Qintao

(School of Automation, Nanjing Institute of Technology, Nanjing 211167, China)

Abstract: A tracking robot car taking STM32 as main control chip is designed, in which CCD camera is deemed as the path recognition device, and the edge detection algorithm is used to extract the path central line. According to the speed and turning radius of the car, the fuzzy control is used to adjust the speed difference of the left and right wheels to achieve the purpose of path recognition and tracking. The real?time ideal position of the robot car is transmitted to the PC end by establishing the odometer model. The theoretical trajectory and actual running trajectory are compared by means of data processing on the PC end. The experimental results show that the robot car can accurately recognize any path by means of CCD camera, and the fuzzy control can obtain the ideal tracking control effect at different running speeds.

Keywords: CCD camera; tracking; STM32; fuzzy control; controller; path recognition

0  引  言

餐厅服务机器人以及工业应用中的AGV小车,其动力驱动系统都是建立在循迹小车这一基本模型之上的。循迹小车涉及的主要技术有传感器技术、运动控制等,通常装有红外传感器、超声波传感器、扫描激光雷达以及视觉传感器等[1?10]。红外和超声传感器通常需要安装多个,路径识别度较低,但应用简单。目前扫描激光雷达及视觉CCD传感器是循迹小车发展的主流[1,3?4,7],识别度高,但使用复杂。循迹控制算法通常有基于運动学方程[1,3]、PID控制[8]等常规控制方法,也有一些智能控制方法[1?3]。研究循迹小车的控制算法能够有助于更好地这些技术运用于生活以及工业生产中。本文主要介绍基于线阵CCD的路径识别方法及基于模糊控制的循迹控制方法。

1  系统原理

机器人小车采用两轮独立驱动的三轮结构,两个前轮为独立驱动轮,后轮为万向随动轮,当左右驱动轮速度一致时,小车直线运行,当左右驱动轮速度存在速差时,小车将转弯运行,小车控制系统结构如图1所示,小车控制器每隔一定时间通过安装在小车上的CCD摄像头采集一次地面信息,采用边缘检测算法得到路径中线,并计算路径与小车前进方向的偏差,结合给定速度,通过差速控制器计算左右轮速度差,然后经速度分配得到左右轮实时给定速度,由驱动系统带动小车运行。

图1  机器人小车控制系统结构图

2  CCD数据读取及路径中线确定

准确获得路径信息是循迹的基础,用CCD传感器可以获得较为完整的路面信息。本文设计中采用TSL1401线阵CCD,其内部由一个128×1的光电二极管阵列、相关的电荷放大器电路和一个内部的像素数据保持器构成。对它施加特定的时序,就能将128个像素点的灰度值的模拟信号输出。再利用STM32自带的A/D转换器将模拟信号变为数字信号,每一个像素点的灰度值在0~255之间。对读到的CCD数据采用边缘检测算法提取路径中线。白色与黑色的灰度值不同,黑色接近0,白色接近255,在黑色轨迹线与白色背景的交界处就会出现灰度值数值上的一个跳变。将128个像素点用0~127进行坐标标注,可以确定黑线左右跳变的坐标值,用公式:中线=[(左坐标+右坐标)2],就可以确定黑线的位置。因此,如果黑线在中间,那么这个值为64,如果黑线偏左或偏右,这个值就会减小或增大。

3  差速控制器设计

3.1  模糊变量及模糊控制规则确定

本文设计的循迹小车差速控制器采用模糊控制算法,将小车与路径中线的偏差及给定小车运行速度作为模糊控制器的输入变量,左右轮速度差作为模糊控制器的输出变量。模糊变量论域选取[-6,6],该论域上选取三角形隶属度函数确定变量的7个值,即PB,PM,PS,ZE,NS,NM,NB。通过推理确定模糊控制规则,例如,当小车速度较快时,在转弯处为了防止偏离路径,那么速度差就应该大一点;速度低时,速度差就能稍微小一点。转弯半径由速度差决定,因此如果偏差很大,那么无论高速低速,速度差也应该很大。最终确定的模糊控制规则如表1所示。

表1  模糊控制规则库

3.2  量化因子确定

如前所述,中线值为64,表示小车在路径中央,取路径偏差=中线-64,偏差值为负表示黑线偏左,为正表示黑线偏右,因此偏差的变化范围是[-64,64]。通过实验,小车运行速度范围取[21,27],驱动轮速度差的变化范围是[-81,81],由于各变量离散论域范围是[-6,6],因此可以很方便地计算出各变量的量化因子。

3.3  模糊控制表确定及模糊推理

模糊控制规则确定以后,利用Mamdani推理原理及重心法计算出模糊控制输出值,得到模糊控制表,将该模糊控制表以二维数组的形式存储在STM32中。实际工作过程中,控制器只需要对路径偏差和运行速度进行量化、查表就可以得到速度差的量化等级,再乘以量化因子就可以得到两驱动轮的实际速度差。

4  速度分配

为防止转弯过快导致运行不平稳,本文设计采用的方法是让一个轮子速度不变,另一个轮子减去速度差,由此得到两个轮子的给定速度值。例如,小车在直行进入左转时,右轮速度不变,左轮速度就要减去速度差。同理,右转时,左轮速度不变,右轮速度减去速度差。这样小车在转弯时的平均速度就减小了,入弯或者出弯就会比较平稳。

5  驱动轮速度调节算法

如图1所示,驱动轮电机给定速度由模糊控制器输出速度偏差值经速度分配得到,驱动轮电机实际速度可以通过电机编码器计算得到,因此电机驱动器占空比[uk]可以由式(1),式(2)计算得到:

6  里程计模型建立

小车的理想位姿可以通过里程计模型确定,如图2所示建立一个坐标系,小车的位姿可以表示为[[x,y,θ]]。[(x,y)]表示坐标,[θ]表示航向角。[M]为左右轮连线中点。

图2  小车模型示意图

7  尋迹实验

为了测试循迹小车控制算法并不失一般性,在实验中特意设计一条不规则的黑色路径,让小车分别以较低速和较高速按照该路径运行。小车循迹实验图如图3所示,在运行过程中,每隔0.5 s将左右轮转过的距离[Δs1]和[Δs2]通过蓝牙发送到PC端,PC端接收到数据后利用式(3)~式(7)计算出小车的实时理想位姿[[x(k),y(k),θ(k)]T],并用Matlab将各时刻坐标点绘制成曲线,如图4所示。可以看出,基于模糊控制的小车循迹算法在低速和高速情况下,循迹跟踪误差都较小,说明模糊控制循迹效果较好。

图3  小车循迹实验图

图4  小车循迹曲线图

8  结  论

本文设计通过对线阵CCD数据的读取,利用边缘检测原理很好地识别了路径中线,在模糊控制算法下,小车能很好地在任意黑色引导线上进行路径跟踪,并且响应较快、跟踪误差较小、运行稳定。实验结果表明,基于模糊控制的小车循迹控制算法效果好,在服务机器人运动控制场合具有一定的应用价值。

参考文献

[1] 王建彬.四轮全向移动机器人的运动控制与运动控制规划研究[D].广州:广东工业大学,2014.

WANG Jianbin. Study on motion control and motion control planning of four?wheeled omnidirectional mobile robot [D]. Guangzhou: Guangdong University of Technology, 2014.

[2] 肖蕾.轮式移动服务机器人运动控制系统研制[J].制造业自动化,2013(19):38?41.

XIAO Lei. Development of motion control system for wheeled mobile service robot [J]. Manufacturing automation, 2013(19): 38?41.

[3] 王珊珊.轮式移动机器人控制系统设计[D].南京:南京理工大学,2013.

WANG Shanshan. Design of wheeled mobile robot control system [D]. Nanjing: Nanjing University of Science and Technology, 2013.

[4] 杨宁,石冰飞,朱平,等.基于CCD的自动循迹小车的软件设计[J].自动化与仪表,2012,33(1):52?55.

YANG Ning, SHI Bingfei, ZHU Ping, et al. Software design of the auto tracking car based on CCD [J]. Process automation instrumentation, 2012, 33(1): 52?55.

[5] 王琰,郭燕.基于C51单片机的智能循迹小车设计与实现[J].机电一体化,2013,19(8):60?63.

WANG Yan, GUO Yan. The design and implementation of the intelligent tracking car based on single?chip microcomputer C51 [J]. Mechatronics, 2013, 19(8): 60?63.

[6] 张江林.基于LM393控制的太阳能循迹小车设计与实现[J].现代电子技术,2015,38(10):121?123.

ZHANG Jianglin. Design and implementation of solar tracing car controlled by voltage comparer LM393 [J]. Modern electro?nics technique, 2015, 38(10): 121?123.

[7] 赵万欣,陈思屹.基于TSL1401线性CCD的智能巡线小车[J].工业控制计算机,2014,27(2):121?122.

ZHAO Wanxin, CHEN Siyi. Small intelligent patrol line vehicle based on TSL1401 linear CCD [J]. Industrial control computer, 2014, 27(2): 121?122.

[8] 冷雪锋.基于PID的STM32智能小车机器人的设计[J].自动化技术与应用,2016,35(11):122?126.

LENG Xuefeng. Design of STM32 intelligent car robot based on PID [J]. Techniques of automation and applications, 2016, 35(11): 122?126.

[9] 张国强,白明雄,康琦,等.基于MSP430单片机的智能压路小车设计[J].现代电子技术,2014,37(22):98?100.

ZHANG Guoqiang, BAI Mingxiong, KANG Qi, et al. Design of intelligent roller based on MSP430 microcontroller [J]. Mo?dern electronics technique, 2014, 37(22): 98?100.

[10] 徐昌华.高可靠小车红外光循迹设计原则[J].现代电子技术,2013,36(23):158?160.

XU Changhua. Design principles of car infrared tracking with high reliability [J]. Modern electronics technique, 2013, 36(23): 158?160.

猜你喜欢

循迹模糊控制控制器
基于DFT算法的电力巡检无人机循迹检测系统设计
基于单片机的智能循迹小车的设计
智能差分循迹小车设计
基于MC9S12XS128处理器的智能循迹小车分析研究
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
基于模糊控制的恒压供水系统的研究
用于光伏MPPT中的模糊控制占空比扰动法
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列