分享

基于TCS3200的识别技术及其在机器人上的应用

 GXF360 2017-05-31
基于TCS3200的识别技术及其在机器人上的应用

基于TCS3200的识别技术及其在机器人上的应用

陈鉴 夏庆锋 贾静雯 秦晨芝

(南京大学金陵学院机器人实验室,南京,210089)

摘 要

TCS3200作为一种可编程彩色光到频率的转换器,具有RGB频率采集速度快,精度高的特点,可在机器人识别技术上得以良好的应用。本文将TCS3200传感器的输出量在ARM Cortex-M3 内核的LPC1768芯片上进行处理,并采用模糊处理,算法改进等方法提升传感器的性能,使其更适应机器人多场景应用。通过在创意之星MultiFLEX2-PXA270的应用,此传感器可完成敌我识别、颜色判断、辅助纠偏等功能。经过适应性移植,TCS3200传感器可广泛应用于机器人技术。

关键词:机器人,TCS3200, 识别技术, LPC1768

0  引言

随着现代工业向高速化、自动化方向的发展,机器人技术应运而生,且已被广泛运用于包括军事、航空、制造业以及家庭等各个方面[1]

传感器作为机器人的“感觉器官”,在机器人技术中一直是重点研究的对象之一。单纯的人力视觉识别有许多主观限制条件,无法适应机器人应用高速、高效和高准确度等的要求,所以对颜色传感器在机器人技术中的应用的研究是必要的[2]

目前使用的颜色传感技术通常是输出模拟信号,需要一个A/D电路进行采样,再对该信号进一步处理,完成识别动作。这增加了电路的复杂性,容易影响识别的效果。

本文使用美国TAOS公司推出的颜色传感器TCS3200, 与以前的颜色传感器相比,它具有许多优良的新特性[3],在科学研究领域得到了较为广泛的应用,如智能化水域污染监测[4]、检测油脂色泽[5]、颜色加密识别[6]等。

本文在机器人技术的基础上探讨了TCS3200传感器的应用与改进,并对不同机器人在不同情况下的传感器移植问题进行了探讨,具有应用价值。

1 硬件组成

1.1 主控模块(MCU)

为方便TCS3200颜色传感器在不同机器人上的移植,本文选择使用NXP(恩智浦)公司推出的基于ARM Cortex-M3 内核的微控制器——LPC1768,该公司推出的LPC17xx系列MCU可用于处理高度集成和低功耗的嵌入式应用,处理能力强,外围设备资源丰富,稳定性高。

LPC1768具备强大的处理能力和良好的实时性,若使用多传感器共同协作,可将其他传感器的参数使用同一块LPC1768进行处理,在uC/OS II或其他实时操作系统的支持下,各传感器可实现宏观意义上的独立工作,为机器人提供更灵活的传感器解决方案。

图1 一种双MCU多传感器解决方案

图1 所示结构提供一种双MCU多传感器解决方案,根据图1,以LPC1608为MCU的红外传感器、灰度传感器、角度传感器等传感器,将获得的数据再次传入LPC1768的处理程序,并结合实际应用场景选择最合适的处理方案反馈给机器人主MCU(使用GPIO输出或者传输协议,如I2C协议)完成一次判断。

1.2 TCS3200颜色传感器

TCS3200颜色传感器是TAOS公司推出的一款RGB彩色光频率转换器。图2为传感原理框图[7]

图2 传感器原理框图

如图2所示,被测物体的光路经过凸透镜折射进入传感器,首先经过S2、S3端口控制的PDA(光电二极管阵列),将感知到的能量转换为电流,再通过一个将电流转换为频率的IC电路输出占空比为1/2、具有一定频率的方波。

图3为TCS3200引脚封装,OUT是输出引脚,用于输出采集脉冲。OE(负电平有效)是输入使能引脚,当有多片TCS3200使用时,可以作为片选信号。

图3 SOIC封装(顶视图)

表1 控制引脚功能说明

S0 S1输出频率S2 S3滤波器类型L L关闭电源L L红色L H 2% L H蓝色H L 20% H L无H H 100% H H绿色

S0、S1用于控制TCS3200的输出频率,S2和S3用于颜色滤波寄存器的选择,其具体功能选择见表1。传感器工作流程见图4。

图4 颜色传感器工作流程图

理论上,白色是由红、绿、蓝三种颜色等量混合而成的,但由于实际中并不完全等量,且传感器对光的敏感程度不同,每个传感器对三种颜色的感知程度不同,因此在系统重新启动时需要进行白平衡,白平衡程序流程如图5所示。

图5 白平衡函数流程图

此白平衡算法的时间、空间复杂度较小,完成一次白平衡的时间可以控制在40-50ms之内,不会过分增加程序初始化时间。

2 TCS3200的性能优化

如果TCS3200精度过高,则在稳定性上有一定的不足,以下的改进基于对一定应用场景的支持,并不一定适用于所有场景。

2.1 最佳检测距离的测探

TCS3200最佳测量距离为10mm,这在工程应用上有一定局限性,尤其是当其应用于机器人技术上时,10mm的测量距离常常显得杯水车薪,因此可在被测物体与传感器之间加入凸透镜,以镜像放大物体。

图6、图7所示波形为当测量RGB值为#FF0000(红色),传感器已安装凸透镜,且在与被测物体距离不同时所得到的测量结果。图6为距离10mm时的测量结果(未加透镜之前的最佳测量点)、距离150mm处的测量结果(加入透镜后最佳测量距离的中值处),图7为距离500mm处的测量结果(加入透镜后最佳测量距离之外)。

图6 左、右分别为距离10mm、150mm时所测波形

图7 距离为500mm时的波形

据上述实验,可得如下结果:

1)加入透镜可将TCS3200的测量距离提高数倍至数十倍,效果可观。

2)加入透镜之后,有效的测量距离虽然增加,但测量的不确定性增加,若将其安装在机器人上,应在机器人搭建、运动等方面进行适应性适配以发挥最大的功效,具体机器人方案在下文颜色识别方案中进行具体阐述。

3)测量的准确度是越接近被测物体,结果越准确,但当被测物体距离过近时,准确度又略微降低。

图8为经数次实验,所得到的偏差度I及其所绘制的图像。

图8 偏差度(偏差的平方)

公式(1)的偏差度指示的是所测量的值与准确值之间的差的平方,故数值越大偏差越大。如图8所示,在距离25mm到220mm之间偏差度接近0,即最佳测量角度在25mm到220之间,有效距离在10mm到300mm之间。

因为TCS3200传感器对光信号敏感,所以在本实验中,并未使用纸质色块,而是使用电子产品实现可自发光的色块为被测物体,并认为被测物体可自发光为理想状态。

另外,为了使颜色传感器获得的补偿光源汇聚,在传感器的光源外围加上一个黑色的外罩,外围材料由PVC塑料板与PVC电气胶带拼贴而成,制作后效果见下述图12所示。

2.2 软件改进

2.2.1 RGB-HSV/ RGB-HSB(HSL)算法说明

本部分讨论传感器获得到RGB模式的颜色值之后可进行的颜色模式的转换,用于更准确的判断颜色。

RGB颜色模式是一种面向机器友好的颜色表示模式,此模式仅可以提供混合颜色的红绿蓝分量,从数值上无法直观获知其颜色。在实际应用中,如在户外环境使用时,当环境光强改变,RGB值也会出现较大变化,这使之在应用中往往达不到判别的精度[8]

由此,HSL模式和HSV(HSB)应运而生,这两者皆是基于RGB模式的,但却能直观的反应人类所感知颜色的其他属性。

HSL(HSB)代表色相,饱和度,亮度;HSV代表色相,饱和度、明度[9]。其中H代表色相,是我们所需的最重要的颜色特性,色相示意图如图9所示。

图9 色相示意图

此处仅完整示列RGB-HSV的转换公式,HSL与HSV的色相与饱和度定义相同,第三个参数定义不同,但可以相互转换。

经过公式(2)的计算[9],可将RGB转换为HSV模式的值,并使用H值与下文图12所示标准颜色的矢量求其范式距离,从而确定所测颜色[9]。如在机器人擂台比赛中,需机器人判断的仅有两种颜色,所以传感器仅根据所测量的颜色映射出HSV或者RGB模式中有限个标准颜色,即完成任务。

本设计用实验测试RGB与HSV颜色模式在机器人技术中对颜色判断的准确性,这里实验仅以环境亮度为外部变量,并使用准确度较高的传感器算法及最佳测量距离进行测量。

公式(3)为准确度Q的计算公式。

其中,Ak为较准确值,Ae为标准值,Al为不准确值。若测量值与原值仅有±10%差距的次数为准确值k,测量值与原值有±50%差距的次数为较准确值l,则将准确值与原值的比例以9.9%的权重加到准确度中;将较准确值以5%的权重加到准确度中。

表2 不同亮度下两种颜色模式识别准确度

环境亮度p Q(RGB)Q(HSV)10%<10% 50% 30% 20% 60% 50% 32% 78% 70% 55% 89% 90% 82% 99% 100% 99% 99%

由表2可得,HSV模式中准确度的变化率小于RGB模式,由此可知,在RGB模式下,机器人的传感器受环境亮度影响的程度更大,而HSV模式由于可将亮度分量分离出来只使用色相分量,则受环境亮度影响较小。

2.2.2 辅助纠偏算法

TCS3200本身无纠偏功能,但可经过设计,用辅助光电传感器、红外传感器或者图像采集与处理系统进行辅助纠偏设计,在工业应用中一般使用黑白两色作为基准色[10],机器人技术中可根据实际情况具体应用。

图10 纠偏示意图

根据图10的纠偏设计方案,使用两个TCS3200传感器,调整距离姿态至两传感器所测区域约有20%的重叠。机器人向一个有色物体行进,两传感器同时进行测量,则有下述三种情况:

情况1:当一定时间前后两传感器或可同时返回到相同的频率时,即可大致判定未偏离方向(即图10左上);

情况2:当仅有某一个传感器测得一种频率时,可大致判定行进左偏或右偏(即图10右上、左下);

情况3:当两传感器均无法返回一定频率,则可大致判定行进方向有较大角度的偏移(即图10右下)。

对此,两传感器不断进行测量,默认初始状态下方向未偏离(情况1),当出现小角度偏离时(情况2),立刻进行方位调整,当偏移角度较大时调用其他传感器进行纠偏,设计有限状态机程序如图11所示。

图11 纠偏程序FSM设计

具体机器人设计与搭建一种应用TCS3200进行辅助纠偏的机器人设计可见本文3.2。

图12 机器人组装图

3 颜色识别设计方案

3.1 颜色识别

识别技术是依赖传感器及算法的一种重要机器人技术,识别技术的引入让机器人在包括竞赛、家用、军事等领域的应用上更上一层楼。

颜色识别是TCS3200传感器的基础应用。本方案使用创意之星高级版套件MultiFLEX2-PXA270为机器人主体,在 Norstar程序中使用C语言进行编程。选用两片TCS3200为颜色传感器,在keil4.5程序中使用嵌入式C语言进行编程,组装机器人如图12所示。

图13是一种颜色传感器应用的程序设计,其基本流程是:系统初始化,选择色彩模式,打开输入控制,根据所得颜色进行舵机速度、电机方向的调整,进行机器人控制。

图13 辨色程序示意图

通过标志位切换两个传感器所测数据,可灵活使用两传感器的数据,在图12硬件装配图中,机器人上部的颜色传感器用来分辨前方物体颜色,机器人底部的颜色传感器是用来传感地标颜色。因两传感器使用场景不同,则上部传感器装配有凸透镜与黑色外罩,下部传感器本身传感距离较近,则未装配凸透镜与黑色外罩也可完成任务。

图13中虚线所指示部分的程序可以根据需要进行替换,在此仅使用4个电机进行前进控制,此程序的功能大致为检测特定颜色并朝其前进(使用上部传感器所测数据),或者检测地面颜色。两种模式的转换可有变量输入控制进行选择,与上位机编程约定,如当变量Input_ Select为0时选择上部传感器,为1时选择下部传感器。

系统初始化时默认Input_Select = 0,程序运行后,两传感器在嵌入式芯片的控制下不断输出数值,而机器人的处理器每隔50ms更换一次信息源。根据本程序设定,当Input_Select为0时,运行函数func_0( ),func_0( )的工作流程大致为:判断颜色是否为既定颜色,若为既定颜色则改变电机速度,即前行,或者微调一侧速度实现小角度转弯;当Input_Select为1时,运行函数func_1( ),func_1( )的工作流程大致为:判断颜色是否不为既定颜色,若不为既定颜色则调节一方的电机速度,即完成转弯以找到正确的有色地标。

实验中,寻物功能的完成状况比较好。实验初始状态为所巡物体在正前方偏向±10%的夹角处且距离30cm处;寻线功能因为与寻物功能控制的舵机有所冲突,则单独进行测试,则仅单独巡线时,效果良好,机器人完成度可达到80%以上,具体原因应为:下部传感器测量距离为本传感器最佳检测距离且无外部光源的干扰。

3.2 辅助纠偏

按照2.2.2 辅助纠偏算法的设计概念,实际装配2个传感器并进行编程测试后,机器人组装如图14所示。

经过测试调整,两传感器有效测量范围可到达上述±20%重叠的要求,并装配有摄像头进行外部调整,即大角度纠偏辅助。纠偏设计程序以2.2.2小节中阐述的方法为主,加以与机器人有关的编程设计。

图14 纠偏机器人装配示意图

机器人根据上述程序完成纠偏的次数统计见表3。

表3 纠偏程序任务完成度统计表

序号情况一情况二情况三1 90% 80% 50% 2 90% 80% 60% 3 80% 70% 0 4 90% 80% 40% 5 90% 90% 70% 6 80% 70% 40% 7 90% 60% 50% 8 100% 70% 0 9 90% 80% 60% 10 80% 60% 40%

根据图11FSM系统的设计可知,表3中情况一为基本未偏离,情况二为小角度偏离,情况三为大角度偏离。

任务完成度示意图如图15所示,以机器人完成30-50cm的行走距离为基准,忽略运行的轨迹,以机器人完成行走后所停靠的范围为完成度的判定。

通过分析表3可知,当初始状态为情况一时,准确率均值为88%;当初始状态为情况二时,准确率均值为74%;当初始状态为情况三时,准确率均值为41%。对数据进行进一步分析可知,当初始状态为情况一、情况二时,完成度的偏差基本维持在±20%之间,而在情况三下,完成度值的分布更为离散,即不确定性更强,则稳定性较弱。

综合上述情况,当机器人小角度偏差时纠错较为准确,当机器人大角度偏差时,纠错成功的随机性增大,不一定准确。

图15 纠偏程序任务完成度示意图

4 结语

当智能机器人小车按照设计方案进行装配时,可根据应用的具体场景对机器人编程,以保证传感器获取数据、传感器与MCU交互的稳定性。此系统软硬件可剪裁,以实现机器人执行任务的多样性。经过调试,机器人系统鲁棒性可以保障。

依照2015年中国机器人武术擂台赛的比赛标准,使用此装配改造的机器人可有效、高质量地完成任务。

参考文献

[1] 宗光华. 机器人的创意设计与实践[M]. 北京:北京航空航天大学出版社, 2001: 179-193.

[2] 胡建民. 颜色传感器TCS230及颜色识别电路[J]. 单片机与嵌入式系统应用, 2006, 53(4): 40-41.

[3] 丁茹, 李刚. 可编程彩色光/频转换器TCS230 及其应用[J]. 国外电子元器件, 2005(1): 59-62

[4] 李华.风扇双工作模式定时控制器设计[J]. 现代电子技术, 2010, 33(7): 141-145.

[5] 周德祥, 张浩, 李国政,等. 基于嵌入式技术的油脂色泽检测技术研究[J]. 河南工业大学学报(自然科学版), 2010, 31(3): 25-27.

[6] 王首浩, 刘俊琴. 基于CPLD的系统硬件看门狗设计[J]. 单片机与嵌入式系统应用, 2012, 12(4): 25-28.

[7] 张松灿, 肖本贤. 高分辨率颜色传感器TCS230 的原理和应用[J]. 单片机与嵌入式系统应用, 2005(3): 44-46.

[8] 周中正, 王洪栋. TCS230的 MCU平台颜色识别方法研究[J]. 单片机与嵌入式系统应用, 2013(9): 29-35.

[9] 姜兰池, 沈国强, 张国煊. 基于HSV分块颜色直方图的图像检索算法[J]. 机电工程, 2009,26(11): 54-57.

[10] 徐耀良, 赵万剑, 杨宁,等. 模糊控制在纠偏控制系统中的应用[J]. 上海电力学院学报, 2011,27(6): 611-615.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多