基于单片机的智能分拣搬运机器人的设计与实现
2016-10-12苏品刚胡志峰
苏品刚,尚 丽,胡志峰
(苏州市职业大学 电子信息工程学院,江苏 苏州 215104)
基于单片机的智能分拣搬运机器人的设计与实现
苏品刚,尚 丽*,胡志峰
(苏州市职业大学 电子信息工程学院,江苏 苏州 215104)
以模拟自动化物流系统的作业流程为目标,设计一个小型轮式智能搬运机器人.系统主控制模块采用STM32F103单片机实现,其他硬件模块主要有电源、电机驱动、灰度传感器以及颜色识别等.软件设计主要包括小车的运动控制算法、颜色识别算法、地面灰度检测算法等.同时,设计中规划了搬运机器人的行走路径、分拣搬运功能等.测试结果表明,设计的智能搬运机器人可以准确地实现指定物块的分拣和搬运功能,具有一定的实用意义.
智能机器人;STM32单片机;传感器;颜色识别;分拣和搬运功能
在工业生产中,机器人在解决企业的劳动力不足、提高企业劳动生产率、提高产品质量和降低生产成本方面有着显著的意义[1-2].随着计算机技术和社会的发展,智能机器人的研究和应用成为社会关注的热点,而且目前已在社会各个领域中被广泛使用[3-4].在物流产业高速发展的今天,机器人技术的应用程度已成为企业之间竞争和未来发展的重要衡量因素,同时以自动化物流系统作业流程为背景的各种机器人竞赛也在企业和教育部门联合举办下竞相开展.鉴于此,借助2014年江苏省机器人大赛的比赛要求,本研究设计了一个智能轮式分拣和搬运机器人,该机器人从指定位置出发,在正五边形上自动寻找带颜色的色块,然后抓取或推动色块放置到对应颜色的存储区.设计中选用轮式小车为机器人载体,采用欧鹏智能科技公司专为机器人优化开发的一款基于STM32F103微处理器的单片机开发板为检测和控制的核心部件[5-6],实现机器人的分拣搬运控制;采用摄像头实时拍摄图像,利用MATLAB软件实时处理摄入图像,以实时检测路面、识别物料及区域的颜色.设计中利用KeilC51软件编写设计机器人控制程序,实现了机器人行走、转弯、绕障、停止以及机械手升降、抓取和放下的精确控制.
1 系统总体方案设计
1.1目标的设计
设计中要求智能机器人在规定的场地内移动,规定场地如图1所示,其中圆的直径为320 mm,线宽20 mm.要求搬运5个不同颜色的物料,物块初始位置摆放时,首先随机抽取不同颜色的3个物块,分别放在图1所示的内圆与搬运辅助线的交点A、C、E上,字母标志按照顺序依次标记为A、B、C、D、E;然后将剩下的2个物块放在外圆的圆线上,即如图1中的F、G位置,最后依次将搬运物料按照A、B、C、D、E的顺序放入物料位置区.目标区是一个类似于靶位的区域,环位分值线为灰度50%、线宽2 mm的细线,从内而外分别为10环至1环共10个分数值.圆的颜色标注从左到右依次填充为绿色、白色、红色、黑色、蓝色;场地中的黑色线均可作为循迹辅助线,其线宽为20 mm.机器人在分拣搬运过程中也可以不采用循迹方式.
图1 机器人运动的规划场地
根据设计要求,结合当前单片机技术的成熟应用,采用嵌入式单片机实现此智能小车的功能较为方便,同时需要考虑一些关键模块的选择,如机器人的车体选择、车轮驱动电机、颜色传感器等.
1.2车轮驱动方式的选择
设计中对小车运动和转向控制的精度要求很高,因此小车车轮的驱动电机类型选择非常关键.分别采用直流电机、步进电机和伺服电机进行机器人的驱动试验,对比测试结果来确定机器人的驱动方式.虽然直流电机驱动简单方便,但是其精确度较差,且小车转向控制较为困难;步进电机根据输入脉冲个数控制小车转向的角度,控制简单且成本较低,但精度仍然较低;伺服电机比前两种电机的控制更为复杂,但可实时地检测电机的速度,控制精度较高,因此本设计中选择PARALLAX型伺服电机作为小车前车轮的驱动电机,小车后轮则采用随动万向轮起到平衡作用.
1.3机器人抓取物块方案的选择
采用机械手实现机器人的抓取是常见的一种机器人抓取方案.机械手的种类非常多,有电动式、气动式、液压式、机械式等,但是通过比对分析,采用这些常见的机械手来实现智能小车的物料搬运并不合适,除了成本高之外,机械手结构也比较复杂,不便于安装固定和控制.根据选择的小车结构和物料的形状,采用一个小舵机控制的铁丝钩来实现类似机械手的作用.小车在物料位置时,单片机发出信号给小舵机,将物料钩住,同时将铁丝钩钩住小车自身的前爪里面,当小车倒退或者转向后,在向前推动物块的过程中,小舵机将铁丝钩抬起,小车继续前进直至将物料推到指定位置.小车反复依次执行此动作,即可完成搬运工作.
1.4颜色识别方案的选择
机器人要搬运的物料有绿、白、红、黑、蓝五种颜色,因此准确地识别出物料的颜色非常重要.任何颜色都是由红、蓝、绿三种基色按照不同的比例组成的,那么根据各个颜色中红、蓝、绿的大小即可分辨出物料的颜色,设计中选用TCS230颜色传感器即可实现.TCS230可实现每彩色信道10位以上的分辨率而无需ADC转换,其内部包括了众多可硅光电二极管阵列,这些阵列可通过编程进行配置,其中还有一个电流/频率转换.TCS230传感器的光响应范围为250~1,输出频率为2 Hz~500 kHz,与光强度成线性关系,波形为占空比50%的方波.用户可通过程序来选择频率输出比例.TCS230的输出输入引脚可与单片机或其他逻辑电路直接连接,通过编程控制引脚的输入信号来调节滤波器的颜色,只输出特定的原色,测出待测物体中红、蓝、绿成分,TCSZ230颜色传感器功能如图2所示.使用者可以通过输入引脚S0、S1来选择100%、20%、2%的输出频率比例或者关闭电源模式,通过控制S2、S3引脚来选择所需的光电二极管的颜色类型,具体功能见表1.
表1 S0、S1及 S2、S3引脚控制
图2 TCS230颜色传感器功能图
1.5机器人总体结构设计
设计中小车的电源模块直接采用购买小车车体时配备的欧鹏科技电池,其为两节液体锂离子电池,内置保护电路,容量为3 000 mA时,标准电压为3.7 V,因为锂电池无记忆效应,电能转化效率高且相对稳定.系统主控芯片选择STM32F103单片机,外围配以电机驱动模块、灰度传感器模块(识别路面)、颜色识别模块等完成对物料的夹持和放置.搬运机器人总体结构框图如图3所示.
图3 搬运机器人总体结构框图
2 系统主要硬件电路设计
2.1稳压电路模块
根据驱动电机、单片机、灰度传感器、物料颜色传感器等各个模块的要求,需要设计提供7.4 V和5 V 两个档位的电压,7.4 V电压是由锂电池直接给驱动电机供电,但是5 V的电压需要通过稳压电路进行降压输出获得,其原理如图4所示,该电路选用的核心芯片是LM2576,其功耗很低,平均工作效率可达70%~90%,可以有效地解决因发热带来的元器件损坏和能量损失的问题.
图4 LM2576稳压电路原理图
2.2电机驱动模块
小车车体前轮的驱动采用伺服电机实现.要求利用脉冲宽度调节波(pulse width modulation,PWM)来控制输入信号的极性,实现电机正反转,同时可以控制输出电压的有效值大小,实现电机转动角度以及快慢的问题.采用欧鹏科技专为机器人优化的L298专用芯片实现上述控制要求,该芯片设计稳定,并且能同时驱动两个电机,硬件实现也相对简单.把单片机的P4.5、P4.4口分别连接L298N的IN1和IN2的引脚,可以控制一路电机(左电机)的正反转;I/O口的P4.3、P4.2分别连接L298N的IN3、IN4的引脚,控制另一路电机(右电机)正反转;P4.1、P4.0分别连接电机的使能端ENA、ENB,控制电机的停转.L298N电机驱动芯片可以同时驱动两个电机,其内部集成了4通道逻辑驱动电路.L298N输出电流峰值可达2.5 A. 第1脚和第15脚接地,具体连接如图5所示.
图5 电机驱动电路
3 系统软件设计
智能搬运机器人应在规定的路径内运动,根据物料的5种颜色和搬运顺序,路径的选择多达60种,需要事先规定最优的运动路径,设定的标准为:①先走直线,小车从出发点直线运动到C点钩住C物料,判断C物料颜色是否为红色,若是,则将其推送到红色位置;反之,若判断C物料是白色或者黑色,小车则掉头回到中心点,向左/右转向,将C物料推送到白色/黑色位置;如果判断出C物料是绿色或者蓝色,则将物料推送到与B点对称的圆边上位置处暂存;②不走圆弧,小车如走圆弧的话,需要不停地修正路线,且前进时极易冲出赛道;③设定基准点,将图1中外圆的中心点设为基准点,小车每次动作之后都退回到中心点,然后再执行下一步动作;④设置暂存区,如果规划线路被物料暂用时,小车在进行当前物料搬运动作或者进行下一步的动作时,会误将暂用路线上的物料也搬运至当前物料的位置区,造成搬运错误从而影响后续的任务.按照此规划的路径考虑软件程序的设计,主要包括小车驱动控制子程序、灰度传感器控制子程序、小车循迹运动控制子程序以及颜色识别子程序等,按照设计目标要求,设计的主程序流程图如图6所示,一些关键的子程序,如物料颜色识别子程序、小车直线运行控制子程序(采用Q1、Q2、Q3、Q4四个灰度传感器采集路面信息)分别如图7和图8所示.当开始搬运物料时,打开控制开关,小车按照规划的路线前进,到达物料拜访位置C点,单片机发出钩取物料命令控制小车前爪铁丝钩钩取物料,同时将信号传送给颜色传感器进行物料颜色识别,如果颜色判断正确,则将该物料推送到对应目标区或者暂存区,然后小车后退200 mm、转弯掉头进行下一个任务,直至物料全部分拣、搬运完成,返回出发区,完成物料的分拣和搬运任务.
图6 主程序流程图
图7 物料颜色识别子程序
智能搬运机器人测试过程:首先将小车放置在出发区,打开电源开关,小车由出发区出发,按照规划路线前进,如图9(a)所示.小车按直线行走,到达C点,搬运C点物块,如图9(b)所示,由于C点所放置物块为白色,原计划路线被挡,所以小车先把物块送至暂存区,然后小车返回基准点,即两个同心圆的圆心,执行第二个任务,搬运F和G点的物块,图9(c)到图9(f)为搬运过程中的4个位置点.当小车完成第二个任务时,即完成全部任务,小车返回到出发区,并自动断电,停止工作.
图8 小车直线运行控制子程序
图9 小车出发点、暂存区及搬运过程中的位置
4 结论
采用STM32F103单片机设计一款轮式智能分拣搬运机器人,根据规划的线路,该机器人可以自动识别需要搬运的物块并运送至指定目标区,可以较好地模拟自动化物流系统的作业流程,而且所设计的机器人控制系统扩展性强,程序易于移植,具有很好的通用性和实用性.
[1] 刘火良,杨森. STM32库开发实战指南[M]. 北京:机械工业出版社,2013.
[2] 李志明. STM32嵌入式系统开发实战指南[M]. 北京:机械工业出版社,2013.
[3] 黄宗杰,王富东,马红卫,等. 一款分拣搬运机器人的设计[J]. 苏州大学学报(自然科学版),2010,30(2):62-66.
[4] 麦库姆. 小型智能机器人制作全攻略[M]. 北京:人民邮电出版社,2013.
[5] 廖义奎. cortex-m3之stm32嵌入式系统设计[M]. 北京:中国电力出版社,2012.
[6] 陈志旺. STM32嵌入式微控制器快速上手[M]. 北京:电子工业出版社,2012.
(责任编辑:李 华)
Design and Application of the Intelligent Sorting and Conveying Robot
SU Pin-gang,SHANG Li*,HU Zhi-feng
(School of Electronic Information Engineering,Suzhou Vocational University,Suzhou 215104,China)
An intelligent sorting and conveying robot is designed in this paper in order to simulate the operation procedure of the automatical logistics system. STM32F103 chip microcomputer is adopted as the core control module. Other hardware modules include the power supply module, the motor driver module,the gray sensor module, the color recognition module and so on. In the software design, some key algorithms controlling the robot are considered such as the robot's motion control algorithm, the color recognition algorithm and the ground gray detection algorithm and etc. At the same time,the robot's moving lines and its concrete sorting and conveying function are also planned. Test results show that the designed intelligent robot can realize well the appointed object's sorting and conveying, and it has certain applicable significance.
intelligent robot;STM32 chip microcomputer;sensor;color recognition;sorting and conveying
TP391.4
A
1008-5475(2016)03-0016-05
10.16219/j.cnki.szxbzk.2016.03.002
2016-05-12;
2016-06-11
国家自然科学基金资助项目(61373098)
苏品刚(1971-),男,江苏张家港人,副教授,硕士,主要从事毫米波成像和毫米波测试技术研究.
尚 丽(1972-),女,安徽砀山人,教授,博士,主要从事人工神经网络、模式识别、数字图像处理研究.
苏品刚,尚丽,胡志峰.基于单片机的智能分拣搬运机器人的设计与实现[J].苏州市职业大学学报,2016,27(3):16-20.