黄 伦,刘 沛,谭 涛
(陕西理工学院 机械工程学院,陕西 汉中 723001)
城市生活垃圾是当今世界不断增长的资源,如果处理的好会带来巨大的经济效益,处理不好则对自然环境和人类的生活造成巨大的影响。我国一年生活垃圾产生总量达1.6 亿吨,每年以8%~10%的速度增长[1],但生活垃圾一直是混合收集,如果直接处理不仅造成资源的极大浪费,而且混合垃圾中还含有一些危险废物如日光灯管、废旧电池等,极易造成严重污染[2-5]。在处理方式上,目前我国90%以上的垃圾采用直接填埋的方式,8% 直接堆肥或露天堆放,不到2%的垃圾被直接燃烧[6]。然而发达国家于20世纪70年代开始实施城市生活垃圾分类收集,该方法为垃圾的填埋、焚烧、堆肥等的正确处理打下基础,为实现垃圾处理减量化、资源化、无害化目标创造条件。目前,欧美及日本等发达国家对垃圾在源头上进行分类投放,根据不同垃圾种类规定所投放到不同颜色的垃圾桶,通过专门的垃圾回收车进行人工收集,之后运送到相应的处理场进行处理[9-13]。然而,采用人为的分类运输,不但成本高,而且工序繁杂,需要消耗大量物力和财力,因此采用一套全自动化流水线的系统可大大节约成本,而且有利于环境保护和资源的再利用。
本研究采用自动化流水线的方式设计制造出一套系统模型,将人工分拣压缩打包后的垃圾桶,通过带有摄像头识别的智能分拣小车(小车上带有机械手臂)自动寻迹和辨别垃圾桶颜色,将不同的垃圾桶运送到相应的垃圾处理厂进行相应的分类处理。
系统由轨迹引导线和智能垃圾桶分拣小车两大部分构成。轨迹线是智能分拣小车寻迹的引导线,其分为红、黑、蓝3 种颜色,小车根据所抓取的垃圾桶的不同颜色寻找相应颜色的轨迹;智能分拣小车由摄像头、机械爪、模拟垃圾桶、舵机、主电路平台、直流电机和小车模型构成。
摄像头对物体颜色进行识别,两个舵机驱动机械爪抓取垃圾桶,根据垃圾桶的颜色使小车的舵机打向相应的路径,从而模拟不同垃圾桶分别运输到不同的垃圾处理中心。该系统总结构如图1 所示。
图1 垃圾桶分拣系统总结构图
智能分拣小车的主板电路由MC9S12XS128 的16 bit 单片机和电源电路组成。其MC9S12XS128 集成了PIM、TIM、PWM、SPI、SCI、ECT、CAN、AD、PIT、CAN 等模块[15],使用方便,功能强大,主要用来对摄像头采集回来的数据进行读写,求得实际轨迹线位置信息,并根据一定的算法对舵机和电机进行控制。电源电路由一路两片LM7805 所组成的稳压电源,其给机械手以及机械臂的两个舵机供电;一路由LM2940 组成的线性电源以及调理电路,给芯片以及摄像头供电。分拣机器人的导向舵机以及电机的电源由电池直接供电。该主板电路如图2 所示。
图2 主板电路图
OV7620 是CMOS 黑白图像传感器。其支持连续和隔行两种扫描方式,VGA 与QVGA 两种图像格式;最高像素为664×492,帧速率为30fp8;数据格式包括YUV、YCrCb、RGB 3 种,能够满足一般图像采集系统的要求。OV7620 内部可编程功能寄存器的设置有上电模式和SCCB 编程模式。该系统采用SCCB 编程模式,连续扫描,16 位RGB 数据输出。
本研究所选择的驱动芯片是英飞凌公司的大电流半桥驱动芯片BTS7970,该芯片最大输出电流为63 A,导通内阻为16 mΩ,具有逻辑电平输入、电流诊断、斜率调节、死区时间产生和过温、过压、欠压、过流及短路保护的功能。BTS7970 应用非常简单,只需要向芯片第2 引脚输入PWM 波就能控制。当系统中只需要单向控制时,只需要让电机一端接地,另一端接BTS7970 第4 引脚。如果需要电机双向旋转控制,则需要另一片BTS7970 共同组成全桥。该系统电机驱动电路采用两片BTS7970 共同组成全桥来控制电机的双向旋转。
系统的程序设计是在飞思卡尔MC9S12XS128 系列单片机开发软件Code Warrior 5.0 的平台上进行的。该软件具有支持多种语言、开发环境界面统一、交叉平台开发以及支持插件工具等特点。在整个程序设计中,将整个系统分为:摄像头识别颜色与寻迹、机械手动作、电机驱动等动作。
系统进入运行状态中时,首先对系统进行初始化,初始化后判断摄像头是否完成一场数据的采集,采集完数据后沿着黑线进行循迹。当系统检测到停止线后,小车停下通过摄像头进行颜色识别,如果没有垃圾桶被传送带运输到指定位置则停止等待,否则智能机器人识别颜色并夹住垃圾桶。倒车后沿黑线寻迹,当系统检测到停止线后沿着相应垃圾桶的颜色引导线寻迹。当系统检测到终止线后,放下垃圾桶,进行倒车。倒车后继续寻这一颜色轨迹,当系统检测到停止线后退出蓝色,继续寻黑线,如此循环下去。该程序流程图如图3 所示。
智能分拣小车采用静态分割方法识别颜色,不同的颜色所体现的灰度值有一定的范围,但是有的颜色会有一定的重合,该次设计主要采用红、蓝、黑3 种颜色(严格说来还有白色),通过对灰度值进行分割,并且留有一定的裕度,防止颜色的重合,进而成功地识别出3 种不同的颜色。
图3 程序流程图
红、蓝、黑3 种颜色的分割是基于灰度特征,因为该系统采用的是黑白数字摄像头,摄像头输出给单片机的是一系列代表灰度值的电压信号,单片机接受到这些信号通过D/A 转换将其转换为0~255 的数字信号,黑色和白色的灰度值是摄像头灰度范围(0~255)的两个极端,黑色灰度值最小为0,白色灰度值最大为255,而摄像头对物体颜色的识别主要通过对物体颜色的亮度(灰度值)来判断的,不同的颜色具有一定的灰度值范围,颜色识别就要在摄像头的特定灰度值范围内进行分割。该设计经过摄像头的采集并通过串口发送到上位机进行显示,通过串口程序的设定将摄像头采集的灰度值和3 种颜色的阈值相比较,如果灰度值在蓝色的灰度值范围内,则程序设定发送0 的ASC 码值,在上位机上显示为0;如果灰度值在红色的灰度值范围内,则程序设定发送1 的ASC 码值,在上位机上显示为1;如果灰度值在白色的灰度值范围内,则程序设定发送2 的ASC 码值,在上位机上显示为2;如果灰度值范围在黑色的灰度值范围内,则程序设定发送3的ASC 码值,在上位机显示为3;当一场数据采集完之后,则程序发送转行符的ASC 码值。所以本研究通过在该种设定情况下进行的上位机的显示,从而分辨其颜色。对各种颜色进行对比实验后,最终通过上位机的显示确定了红(131~180)、蓝(90~130)、黑(0~80)3 种颜色的灰度值范围相差较为明显,而白色的灰度值范围广(180~255),容易和这3 种颜色分辨。所以本研究以白色为背景,通过对上位机的数据分析和对比,在摄像头连续扫描的总行、列数中确定所需要扫描的基准行数和列数,从而将扫描的每个点的灰度值和阈值进行比较,判别出相应的颜色。
所谓寻迹识别,就是把摄像头所拍摄到图像中反映引导线的部分提取出来。这是一个图像分割的过程。图像分割是计算机进行图像处理与分析中的一个重要环节,是一种基本的计算机视觉技术。寻迹识别是通过摄像头将图像信息(如图4 所示)采集到芯片中对某几行从左到右进行连续的扫描,以寻红线为例,将扫描到的灰度值和红色阈值范围进行比较,如果有连续的两行点的灰度值进入红色阈值范围内,则标记出第一个进入红色阈值范围内的列数作为中心线特征值坐标。然后系统将得出的中心线特征值坐标和一场图像的中间列坐标值进行偏差计算,来控制舵机,如此循环,进行下一次模式识别(红、蓝、黑模式)。采集完一场的图像时,本研究采用双峰法将每一行的阈值先计算出来。目标指引线是有宽度(2 cm)的,只是能探测到目标指引线,指引线的宽度信息对智能车定位系统并无额外的帮助。为达到寻线目的,实际上只要提取目标指引线的某些特征点,要求这些特征点合在一起能反映出指引线的形状,称这些特征点的矩阵坐标为特征位置。只要知道目标指引线的特征位置,本研究就可以进一步推知目标指引线的形状和位置。提取目标指引线的矩阵坐标,就是只取一些能代表它的特征点,然后求取这些特征点的矩阵坐标。该系统采用动态双峰法,以采集路线轨迹信息,使用摄像头对将要寻的轨迹从右向左进行扫描,通过阈值的设定使智能机器分拣小车,按照不同的模式进行寻迹,增加了智能分拣小车的适应性,提高了抗干扰能力。系统通过将不同颜色的物体按照相应颜色的轨迹分别运输,从而达到将不同种类的垃圾桶分送到相应的处理中心进行处理的模拟。但是实验环境并不理想,由于受到光线斜射的影响,有时背景和前景的对比十分不明显,需要结合实际情况进行修正。
图4 通过串口发送到上位机的颜色路线图像
系统寻迹累积误差分析如图5 所示。在光线和摄像头前瞻一定的情况下,占空比从左到右分别为15%、25%、35%、45%、55%和65%时,智能垃圾分拣小车运行20 圈统计的累积误差为e,因为寻迹线宽为2 cm,智能垃圾小车的瞬时最大误差不超过1 cm(线宽的50%),只有这样才能保证小车寻迹的准确性和稳定性。为了便于观察,本研究把累积误差0线标定到纵坐标为4 cm 处,从图5 可以观察到随着占空比(速度)的加大,系统的累积误差和波动加大,但是累积误差在最大的误差范围内,总体上系统的累积误差趋于0;当占空比较小时,也就是智能小车的速度比较低时,小车的累积误差波动较小,寻迹的能力比较准确、可靠。该方案以Freescale 公司的MC9S12XS128 单片机作为系统的控制核心,采用OV7620 数字摄像头采集轨迹线信息,根据采集到的数据信息分析行驶路径。本研究采用PID 算法和模式识别对智能分拣小车的舵机和直流电机进行控制,并根据引导线的弯曲程度和颜色采用不同的控制策略。经过实际测试,整个智能分拣小车系统能在规定的引导线上稳定地行驶。
图5 系统寻迹累积误差分析
本研究是采用飞思卡尔MC9S12XS128 系列单片机垃圾分拣系统的控制系统,尤其是设计了通过OV7620 的CMOS 黑白图像传感器的阈值分割来识别颜色和轨迹路线。该控制系统经过Code Warrior 5.0软件开发平台的程序在线调试,系统程序稳定可靠,运行良好。
经过对系统的研究、设计与开发,控制系统已实现运行。从实际的运行效果来看,系统满足了垃圾分拣自动化流程的要求。该模拟系统的实现对工业应用提供了有利的参考,为工业实现提出了有利的理论依据。
该系统历时5个多月的设计和制作,笔者充分认识到了从理论到实践的重要性和科学性,在整个过程中,导师刘沛教授给予了很大的指导和帮助,让很多难题都迎刃而解。同时感谢陕西理工学院电工实验中心和电工电子实验中心的老师们给予的支持和帮助。
[1]常 超,王铁山.垃圾处理的国际比较与借鉴[J].城市问题,2009(1):77-81.
[2]张英明,尚晓波,李开明,等.城市生活垃圾处理技术现状与管理对策[J].生态环境学报,2011,20(2):389-396.
[3]马诗院,马建华.我国城市生活垃圾分类收集现状及对策[J].环境卫生工程,2007,15(1):12-14.
[4]廖如珺,黄建忠,杨丹蓉.中国城市生活垃圾分类处理现状与对策[J].职业卫生与病伤,2012,27(1):30-34.
[5]JIANG Yuan,KANG Mu-yi,LIU Zheng,et al.Urban garbage disposal and management in China[J].Journal of Environmental Sciences,2003,15(4):531-540.
[6]赵东明.从循环经济看居民的源头垃圾分拣[J].商场现代化,2009(9):255.
[7]陈兰芳,吴 刚,张 燕,等.垃圾分类回收行为研究现状及其关键问题[J].生态经济,2012(2):142-145.
[8]CALABRÒP S,GREENHOUSE,GASES.Emission from municipal waste,management:the role of separate collection[J].Waste Management,2009,29(7):2178-2187.
[9]刘宁宁,简晓斌.国内外城市生活垃圾收集与处理现状分析[J].国土与自然资源研究,2008(4):67-68.
[10]周国梅,任 勇.德国的循环经济:从垃圾经济到可持续生产与消费体系[J].世界环境,2007(1):40-43.
[11]孙立明,周凯兴.美国城市生活垃圾处理现状及思考[J].工业安全与环保,2004,30(2):16-18.
[12]杜 翼.我国与发达国家垃圾处理的比较分析[J].技术与市场,2009,16(1):63-64.
[13]DAHLÉN L,VUKICEVIC S,MEIJER J E,et al.Comparison of different collection systems for sorted household waste in sweden[J].Waste Management,2007,27(10):1298-1305.
[14]晏祖根,李 明,徐克非,等.高速机器人分拣系统机器视觉技术的研究[J].包装与食品机械,2014(1):28-31.
[15]孙同景,陈贵友.Freescale 9S12 十六位单片机原理及嵌入式开发技术[M].北京:机械工业出版社,2008.