覃静 孙霞
摘要:随着智能机器人控制技术的不断发展,智能机器人在运动辅助领域得到了广泛应用。为了减少运动员在运动过程中的重复性捡球动作,设计了一种基于STM32单片机的智能捡球机器人。智能捡球机器人采用STM32H7系列作为主控芯片,结合飞行时差(Time of Flight,ToF)光学测距和OpenMV图像采集模块,实现机器人的运动避障、球具识别定位和精准拾取等功能,具有成本低、体积小和搜寻快速等优点,有较大的市场应用前景。
关键词:智能小车;STM32单片机;PDI算法
中图分类号:TP393文献标志码:A文章编号:1008-1739(2021)22-60-3
0引言
随着智能装备技术的不断发展,智能化机器人受到越来越多的关注。智能机器人被广泛应用于智能家居、深海探测和航天航空等各个领域,在工业生产和人类社会中发挥着举足轻重的作用[1]。
球类运动作为常见的全民体育运动形式,具有对抗性强、观赏性高等特点,在全球广泛流行。然而,运动员在练习过程中会出现大量的重复性捡球运动,大幅度增加了人体的运动损耗,同时,散落在场地内的球具也会提高运动事故的发生率。针对这一问题,本文提出一种用于辅助运动的智能捡球机器人,减轻运动员的练习负担和运动事故的发生。因此,本文的研究内容具有较大的实际应用价值。
1总体设计
捡球机器人工作流程如圖1所示。捡球机器人启动后,通过OpenMV图像采集模块采集环境信息,基于图像中的颜色信息定位球具并驱动机器人移动至锁定区域,同时,机器人利用ToF光学测距模块实现避障。当机器人到达指定区域后,再次精确识别球具,结合球具收集装置完成小球拾取动作,随后智能移动机器人返回至待机工作区域。
2硬件设计
2.1主控芯片
机器人的主控芯片采用STM32H7系列,该芯片的Chrom-ART Accelerator和MJPEG codec内核能够减轻至少90%的CPU工作负荷,在图像显示方面具有较高的性能表现。此外,芯片的主DMA能处理记忆体和外设之间复杂的数据传输配置,最多能提供16个通道用于减轻CPU工作负荷,实现信息的高效传输。
2.2 ToF光学测距模块
目前,常见的测距方法包括超声波测距、接收信号强度(Received Signal Strength Indication,RSSI)测距和ToF光学测距。其中,ToF光学测距模块通过光信号从发射至返回的间隔时间检测机器人与反射物体之间的距离,从而实现智能捡球机器人的避障功能,ToF光学测距模块的检测精度达到1 mm,测距范围0~4 m。与超声波测距模块相比,ToF检测精度更高,且测距视野满足球具拾取的需求。下面比较RSSI测距和ToF测距,在信号电平容易调制或非视距视线环境下,基于RSSI测距方法估算的结果比较理想;在视距视线环境下,基于ToF测距方法估算的结果较为理想。
智能捡球机器人采用ToF测距模块用于实现机器人的避障功能。ToF测距有2个关键约束:①发送设备和接收设备始终同步;②由接收设备提供信号的传输时间。为了满足上述约束条件,ToF测距模块采用了时钟偏移量来解决时钟同步问题。但是,ToF测距方法的时间依赖于本地和远程节点,测距精度容易受两端节点时钟偏移量的影响。将采用反向测量方法减少这类影响,首先通过远程节点发送数据包,本地节点接收数据包后自动响应,随后对正向和反向的平均值进行二次求平均运算,减少时钟偏移量造成的测距误差。
2.3视觉系统
机器人将选取OpenMV摄像头采集环境图像信息,该摄像头具有低功耗、低成本和体积小等特点,能够较好地实现机器视觉应用。首先对摄像头采集到的颜色信息进行分析,能够将任意色块的位置、大小、中心和方向进行划分和处理,从而通过颜色跟踪法实现不同颜色物体的快速跟踪。随后结合图像对比法,OpenMV将抓取到的图像进行对比处理,匹配无误后进行追踪。与拍照式图像采集模块相比,OpenMV图像采集模块具有更高效的图像处理速度,能够实时对比内存中图像的信息,实现捡球机器人的快速响应。
2.4电机驱动
电机驱动采用东芝半导体公司的TB6612FNC电机驱动芯片,该芯片集成了2个全H桥,芯片的供电电压为2.5~13.5 V,H桥输出的平均电流1.2 A,最大输出电流3.2 A,芯片内置了过热保护和低压检测关闭电路,PWM控制的频率可达100 kHz[2]。
2.5收集装置
机器人球具收集模块主要由舵机、挡板和收集箱组成。当视觉系统识别到小球后,启动舵机将小球推入收集箱,收集箱口设置有挡板,用于小球单向进入收集箱。指定区域内的球具拾取完成后,小球随机器人返回至待机工作区域。
3软件设计
3.1摄像头初始化
对摄像头模块进行参数初始化,设置间隔10帧进行图像抓取,并将当前光强度的颜色阈值和面积进行参数对比。
3.2寻球
3.2.1寻找相同颜色的乒乓球
主要采用find_blobs函数识别相同颜色的球具。首先通过设置thresholds颜色阈值定义待识别球具的颜色数值和颜色种类,随后调用code函数,判断返回色块对象blob的颜色。
3.2.2特征点检测
球具图像的特征点检测(find_keypoint)有2种常见的目标物体特征设置方式,分别是将初始图像作为目标物体特征和直接设置目标物体特征。由于环境光线等原因的干扰,可能导致每次运行程序光线不同特征不同。若直接将初始图像作为目标物体特征会降低特征点的匹配度。通过调剂曝光度、白平衡和自动的增益值,可以抑制光照差异对特征点匹配度的影响。此外,在程序运行后,例程提取最开始的图像作为目标物体特征,随后采用kpts1函数保存目标物体的特征,再匹配目标特征在不同尺度下的大小和角度,也能减小光照变化造成的特征点匹配误差。
3.3驱动小车
3.3.1电机驱动和差速转向
通过ar.run函数实现捡球机器人的移动控制,函数有2个参数:left_speed和right_speed。其中,left_speed控制左轮的速度,right_speed控制右轮的速度。输入参数为正数,轮子向前转动,反之向后转动。参照物的偏移量决定机器人向左或向右偏移,若左轮向前右轮向后,则机器人向右转动,反之向左转动。
3.3.2 PID算法
PID解决了自动控制理论要解决的最基本问题,即系统的稳定性、快速性和准确性。调节PID的参数,可实现在系统稳定的前提下兼顾系统的带载能力和抗扰能力,同时,在PID調节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的稳态误差就为零。
3.4回到起点
当视野中没有小球时,小车开始自转寻球,在一定的时间后就会返回指定的位置。
4安装与调试
首先进行程序初始化,开启捡球机器人,机器人进行原地周期旋转,同时利用摄像头采集环境图像信息并进行图像对比识别,获取小球位置坐标。随后,控制器传输指令至电机,驱动机器人向小球方向移动,期间结合ToF测距模块进行机器人避障移动。最后采用扇形小球收集器拾取球具,并再次寻找相同目标。若有相同目标,则再次处理图像对比,计算确定坐标,若无参考图相同目标,则回到待机区域。捡球机器人如图2所示。
5结束语
采用ToF光学测距、颜色识别、图像形状识别和智能避障等多种功能最终实现小球的精准识别与定位并结合舵机、电机结合算法驱动小车前行拾取小球。捡球部分是自组装的收集装置,当电机驱动前进时,捡球器会将乒乓球挤压至容器内部。该设计具有成本低、体积小、行动方便、快速搜寻及拾取等优点,人们的生活更加智能化,为人们的生活提供便利,减少劳动力。
参考文献
[1]蔡自兴.21世纪机器人技术的发展趋势[J].南京化工大学学报(自然科学版),2000(4):73-78.
[2]常华伟,王福豹,严国强,等.无线传感器网络的TOF测距方法研究[J].现代电子技术,2011,34(1):35-38.
[3]黄大志,周庆贵,陈业强.基于单片机轮式寻迹机器人控制系统的设计[J].机床与液压, 2009,37(8):350-352.
[4]王玮,王丹,冯培德.基于光电探测系统的地面车精确定位定向技术[J].北京航空航天大学学报,2007(8):902-905.
[5]肖南峰.智能机器人[M].广州:华南理工大学出版社,2008.
[6]陈明荧.ATmega16单片机课程设计实训教材[M].北京:清华大学出版社,2004.
[7]雷钢,王宏远.基于AVR单片机的控制系统设计[J].计算机与数字工程,2006(11):135-138.
[8]张军.AVR单片机应用系统开发典型实例[M].北京:中国电力出版社,2005.
[9]刘崇翔.基于ARM的智能小车的设计与研究[D].无锡:江南大学,2012.
[10]彭南华.经济型喷漆机器人轨迹规划及关节控制研究[D].湖南:中南大学,2009.
[11]沈文.AVR单片机C语言开发入门指导[M].北京:清华大学出版社,2003.
[12] MUKHERJEE J,LANG K M,MITRA S K. Demosaicing of Images Obtained from Single-chip Imaging Sensors in Yuv Color Space[J].Pattern Recognit Lett,2004,26(7):985-997.