基于线性CCD的类人机器人循迹系统的设计
   来源:现代电子技术     2019年09月14日 20:48

一种基于线性CCD的直立小车循迹行驶设计

牛国臣+许开鲁

摘 要: 针对使用光电管阵列作为图像采集模块的类人循迹机器人前瞻性小、受光线影响大的缺点,设计一种基于TSL1401线性CCD的类人循迹机器人。首先完成系统的总体设计和软硬件设计,然后基于OTSU算法获取自适应阈值,采用灰度门限法提取赛道引导线,基于专家控制策略输出相应的控制信号调整机器人的动作。实现自主循迹行走,进行了实验验证并用来参加华北五省(市、自治区)大学生机器人大赛。结果表明设计的类人循迹机器人系统具有循迹可靠性高、环境适应性强的优点。

关键词: 线性CCD; 类人机器人; 大津算法; 动态阈值; 循迹系统; 专家控制

中图分类号: TN911.73?34 文献标识码: A 文章编号: 1004?373X(2018)02?0133?04

Abstract: Aiming to the problems of poor perspectiveness and poor susceptibility to environmental light illumination of a humanoid tracking robot which uses photodiodes array as image acquisition module, a humanoid tracking robot based on TSL1401 linear CCD was designed. The system overall design, and its hardware and software design are accomplished. The adaptive threshold is obtained based on OTSU algorithm. The gray threshold method is adopted to extract the guide line of racing track. The corresponding control signals are output according to the expert control strategy to adjust robot actions and realize automatic tracking walk. The system was tested in the experiment and used to participate in University Robot Contest in Five Provinces of North China. The results show that the designed humanoid tracking robot system has advantages of high tracking reliability and strong environmental adaptability.

Keywords: linear CCD; humanoid robot; OTSU algorithm; dynamic threshold; tracking system; expert control

0 引 言

類人机器人是机器人家族中最重要的成员之一,双足类人机器人行走占地面积小、活动范围大,而且对步行环境要求低,相对于传统的轮式履带式机器人具有无可比拟的优势,这些独特的特点使其受到科研单位和机器人比赛的广泛关注[1?2]。本文针对华北五省机器人大赛机器人田径项目设计了一种类人循迹机器人。机器人比赛场地材质由白色实木颗粒板制成,跑道边界和跑道引导线使用18 mm宽黑色防水电工绝缘胶带,跑道宽度500 mm,总长度11 m。

机器人自主循线行走控制策略的实现需要依据道路反馈的信息,而提取的道路信息的可靠性取决于传感器能否准确地区分出黑色引导线与白色背景以及其他干扰信号。检测赛道参数可以使用多种传感器,如光电管阵列、电磁传感器、激光扫描、CCD图像传感器等[3]。目前大多数小型类人循迹机器人采用光电管阵列作为图像采集模块。光电管采集到的光线波长在940 nm左右,平时所处的环境中也大量存在着这种波长的光线,所以光电管阵列的使用效果非常容易受环境光线的干扰,采集到的信号时常不可靠甚至不能够采集到有效信号,而且没有足够的前瞻性,在弯道处不能很好地做出转向决策[4]。线性CCD传感器采集的图像质量高,线性度好,识别路径范围广,可以尽早地感知实时路况,利用CCD自身的特点可以有效解决使用光电管阵列作为图像采集模块存在的问题。

因此,本文设计了基于线性CCD的类人机器人硬件及软件系统。基于线性CCD采集图像易受环境光照强度变化影响,从而影响跑道线识别效果。研究基于OTSU的自适应获取阈值方法,并对图像进行滤波平滑处理,提高跑道线识别稳定性。最后给出类人机器人循迹控制实验结果。

1 硬件系统设计

该类人机器人采用模块化设计架构,有利于系统的测试和维护。主要包括电源模块、线性CCD模块、MCU模块、舵机驱动模块和通信模块等,其结构框图如图1所示。

各模块作用如下:

电源模块:采用双电池供电模式,舵机驱动模块和控制电路分别由不同的电池供电,保证控制信号的稳定性。

线性CCD模块:基于TSL1401线阵CCD的图像采集模块获取赛道图像信息,为机器人的循线行走提供决策依据。

MCU模块:使用M9S12XS128单片机作为机器人的控制核心,接收CCD采回的图像信息,通过相应算法确定自身位置并做出相应的决策。

舵机驱动模块:接收MCU控制信号产生PWM信号驱动各关节舵机,使机器人执行规定动作,电压过低时具有自动断电和报警功能,防止舵机损坏。endprint

数字舵机:驱动机器人的关节,通过控制舵机旋转的角度和速度组合实现不同的行走姿态。

通信模块:选用HC?05蓝牙模块[5]作为无线发送与接收设备,完成单片机与上位机之间的数据互传,能实时显示机器人与引导线的相对位置、阈值等运行参数,方便对相关算法进行调试和改进。

2 软件系统设计

机器人控制系统运行时,首先进行系统初始化,比如机器人姿态、线性CCD等,然后线性CCD采集赛道像素信息并传送给MCU模块,通过阈值计算及中值滤波提取出赛道线,得到机器人与赛道中线之间的偏差,基于专家控制策略输出相应的信号到舵机驱动模块,驱动数字舵机控制机器人沿赛道引导线行走。系统软件流程图如图2所示。

2.1 自适应阈值计算

线阵CCD的一个曝光周期内可以采集视野范围内一条线上的灰度值。通过A/D采样获得的数据其实是通过运算电路得到的像素点的电压值,该信号的大小与光强和积分时间成正比。在光线强的情况下输出灰度值高,甚至会呈现饱和状态,在较弱光线条件下输出灰度值过低,正对光线和背对光线都会引起输出参数的变化。图3中系列1)和系列2)分别给出了光照亮度不同时线性CCD采集的波形,这种脆弱的光线适应性,对于随后单片机数据处理的结果也有影响,产生错误的阈值,造成跑道引导线提取的不准确。机器人为了适应比赛环境,可根据环境光线强度来调节区分黑白的阈值,即自适应阈值,采用大津算法(OTSU法)求取动态阈值来提高机器人对光线的适应性[6?7]。

OTSU法依据的是图像的灰度分布的统计学特性,将图像分割为前景和背景两个部分。类间方差描述的是图像两部分之间的相似程度,背景和目标的类间方差越大,说明图像两部分之间的差别越大,取满足类间方差最大时所对应的灰度值作为分割阈值来分割图像,这时候产生图像错分的概率最小,即此时的阈值为最佳分割阈值,公式如下:

式中:T为前景和背景的分割阈值;M是图像中的最大灰度值;灰度为i的像素出现的概率为;表示前景部分像素点占整幅图像的比例;表示图像前景部分的平均灰度值;表示背景部分的像素点占整幅图像的比例;表示图像背景部分的平均灰度值;为图像的总平均灰度; g为类间方差。

使用OTSU法计算最佳阈值,首先将采集到的一条线的灰度值生成直方图,然后从最小灰度值到最大灰度值进行遍历,计算每个已采集像素点灰度值的类间方差,满足使类间方差g最大时所对应的灰度值即为最佳分割阈值。

2.2 中值滤波

为了提高系统检测的准确性,在定位引导线之前首先对CCD采集的图像进行中值滤波[8],其是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内所有像素点灰度值的中值,从而消除孤立的噪声点,在保证图像边缘特性的情况下改善CCD噪点和跑道上杂质颗粒等干扰物带来的影响。

2.3 确定引导线位置

在线性CCD采集的128个像素点的信息中,光线强的点灰度值高,光线弱的点灰度值低。由此可以区分赛道上的黑线与白色背景,通过黑色中心线边缘检测来确定赛道中黑线的位置,然后计算机器人当前相对于赛道中间的位置,让机器人循黑线前进。图3显示的是两条反映在上位机中CCD采集的灰度波形,中间的凹槽表明视野的对应位置有一块黑色区域。

机器人的行走场地是白色木质颗粒板,赛道边界和引导线是贴在木板上的18 mm黑色电工胶带,如图4所示。处理的关键是把白色背景和黑色引导线分开,可以看出黑线特征非常明显,可以采用灰度门限法准确地提取黑线的位置[9?11]。即对当前某一路采集电压进行判断,采集回来的数据值是0~255,数值大于设定的阈值表示是白色,数值低于阈值是黑线所在部分。

判断引导线位置并做出行走决策的主要过程如下:

1) 从左端的第一个有效数据点开始依次向右进行阈值判断,如果第i个点的灰度值大于阈值,后续连续两个点的灰度值小于阈值且与i点的灰度值之差的绝对值大于一个给定值,就确认此点为黑线的左边沿i。

2) 从最右邊的像素点向左重复步骤1)找到黑线的右边缘j。

3) 把左右边界点的中心点作为机器人当前行进路线的中点,机器人在道路正中心行走时,道路中心位置设为64。

4) 把计算出来的中点数值与64作差,得到的偏移量e作为控制机器人左右转弯幅度和调整步伐的依据。

3 实验分析

通过以上的软硬件设计,研制了相应的机器人硬件平台,如图5所示。设计相应的行走动作[12],包括:直走、大幅度右前、小幅度右前、大幅度左前和小幅度左前。

分别在强光照和弱光照的情况下进行相关实验,图6a)和图6b)显示的是分别在两种情况下单次实验中动态阈值和跑道灰度值的实时变化曲线,可以看出计算出的动态阈值全部处于引导线和背景灰度值平均值之间,对跑道背景和引导线的区分效果很好。图7a)和图7b)显示的是机器人行进时采集到的中线位置。当使用视角为90°的摄像头,安装高度30 cm,与跑道平面夹角45°安装时,计算出10个像素点大概占有5 cm的实际赛道宽度,将此作为专家知识引入机器人控制器中,形成控制规则。在偏离引导线一定范围内(正负7个像素点)时,认为偏移量很小,不影响循线效果,仍然执行直行命令,只有偏移量达到规定数值时才会进行步伐调整或者转弯,这样有利于加快全程行走速度。

图7中两条直线之间区域的点表明执行的是直行动作,直线之间区域上方的点表示左转弯或向左调整步伐,直线之间区域下方的点表示右转弯或者向右调整步伐,由于实验中机器人竞走方向为逆时针,所以执行左转次数远远多于右转次数,整体检测到的引导线位置偏高。实验证明本文中的循线机器人达到设计要求,能够在没有人为干预的情况下克服不良光线条件,实现自主循迹行走。

4 结 语endprint

本文分别进行了类人循迹机器人硬件及软件系统设计。通过以TSL1401线性CCD和MC9S12XS128微控制器为主组成的控制系统,采用OTSU自适应阈值和中值滤波算法,为复杂光照环境下引导线的提取准确性提供了保障,再基于边缘检测的引导线提取算法,能够准确地从跑道中提取出引导线,顺利完成了自主循线行走任务,具有很好的抗干扰能力和对环境的适应能力。该机器人成功应用于第三届华北五省(市、自治区)大学生机器人大赛类人机器人竞技项目的比赛,取得了天津赛区一等奖和华北区一等奖的优异成绩。

参考文献

[1] 陈兵,骆敏舟.类人机器人的研究现状及展望[J].机器人技术与应用,2013(4):25?30.

CHEN Bing, LUO Minzhou. Current status and future development of humanoid robots [J]. Robot technique and application, 2013(4): 25?30.

[2] WISSE M, SCHWAB A L, VANDERLINDE R Q. How to keep from falling forward: elementary swing leg action for passive dynamic walkers [J]. IEEE transactions on robotics, 2005, 21(3): 393?401.

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

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

[4] 张海龙,马铁华.专家PID控制算法在循迹机器人中的应用[J].电子测试,2013(z1):33?35.

ZHANG Hailong, MA Tiehua. Expert PID control algorithm in the application of tracing robot [J]. Electronic rest, 2013(z1): 33?35.

[5] 魏雅.基于蓝牙控制的循迹智能小车的设计与研究[J].自动化与仪器仪表,2016(4):88?89.

WEI Ya. The research and design of the intelligent vehicle tracking system based on Bluetooth control [J]. Automation & instrumentation, 2016(4): 88?89.

[6] OTSU N. A threshold selection method from gray?level histograms [J]. IEEE transactions on systems man & cybernetics, 2007, 9(1): 62?66.

[7] 郭佳,刘晓玉.一种光照不均匀图像的二值化方法[J].计算机应用与软件,2014(3):183?186.

GUO Jia, LIU Xiaoyu. Binarisation method for images acquired under non?uniform illumination [J]. Computer applications and software, 2014(3): 183?186.

[8] 张璐.自动巡线小车的图像采集系统开发与优化[J].计算机工程与设计,2010,31(17):3754?3756.

ZHANG Lu. Development and optimization on image acquisition system in small automatic line?tracking vehicle [J]. Computer engineering and design, 2010, 31(17): 3754?3756.

[9] 唐永龙,刘玉德.基于单片机的AGV智能车的设计[J].電子技术应用,2009,35(8):143?147.

TANG Yonglong, LIU Yude. Design of AGV smart car based on MCU [J]. Application of electronic technique, 2009, 35(8): 143?147.

[10] 董存辉,摆玉龙.基于模糊控制的自主寻迹机器人设计[J].电子技术应用,2012,38(5):139?141.

Dong Chunhui, Bai Yulong. Design of auto?searching robot control system for racing based on fuzzy control [J]. Application of electronic technique, 2012, 38(5): 139?141.

[11] KIM K, LIM H, HWANG Y, et al. Object?tracking robot using ultrasonic sensor and servo motor [J]. Journal of measurement science & instrumentation, 2012, 3(4): 379?382.

[12] 谭建豪,章兢,何志.人类控制策略在双足机器人步态控制中的应用[J].电子测量与仪器学报,2013,27(1):8?14.

TAN Jianhao, ZHANG Jing, HE Zhi. Application of human control strategy in the gait control of biped robot [J]. Journal of electronic measurement and instrumentation, 2013, 27(1): 8?14.endprint

机器人 灰度 阈值