基于 STM32H7的智能视觉捕捉系统设计
2022-04-29孙浩然王彬沣
孙浩然 王彬沣
摘要随着国内外对移动类机器人应用领域的不断拓展具有自主搬运功能的智能搬运机器人成为研究热点文章针对球类训练中存在的频繁捡球、换球等现象提出了基于的智能视觉捕捉系统设计该系统以为控制核心结合摄像头驱动利用采集到的物体图像信息通过数字图像处理技术实现目标物体视觉捕捉利用软件算法使机器人能够根据图像信息实现路径自主规划结合笼状结构实现捕捉和运送双重功能
关键词视觉捕捉数字图像处理路径规划
中图法分类号:TP391文献标识码:A
Design of intelligent vision capture system based on STM32H7
SUN Haoran,WANG Binfeng
(Nanhang Jincheng College,Nanjing 211156,China)
Abstract:With the continuous expansion of the application field of mobile robot,it has become one ofthe research hotspots at home and abroad.Aiming at the phenomena of frequent ball picking andchanging in ball training,this paper puts forward the design of intelligent visual capture systembased on STM32H7.At the same time,the software algorithm enables the robot to realize pathindependent planning according to the image information,and complete the dual functions of captureand transportation combined with the cage structure.
Key words: visual capture,digital image processing,path planning
1 引言
在球类运动训练中,对于效率的要求往往很高,本文提出了使用机器人代替人工实现主动式捡球,可以省去很多人力以及节约运动员的时间。本项目使用MicroPython语言编写[1] ,利用OpenMv的图像处理模块,使用摄像头采集图像,并通过主控单片机 STM32H750对图像进行数字图像处理[2]。整体路径规划应用线性回归算法得到拟合直线,通过最小二值化处理较为简单的路径规划问题。对于复杂地面,则通过Theil?Sen线性回归算法,增强了系统的适应能力。借助 MATLAB 仿真后,在实际的运行测试中,呈现的效果良好。利用 PID 算法程序计算得到输出值,通过 L298N 电机驱动模块控制左右两部电机转动,进而控制小车行驶速度及方向,最终使小车能够胜任运动员在平时训练及比赛期间的捡球工作,并能将球运送到指定位置。本文设计的机器人具有自主捕捉和运送功能,可应用场地种类多,对未知空间适应能力及探索能力强。
2 系统总体设计
本机器人系统使用 STM32H750为主控核心,具备 480MZ 主频,1MB 分散 SRAM ,且增加外部8MB QSPI?FLASH 。搭载摄像头接口采用2.54排座,可直插 7670、7725摄像头,采用 OV7670摄像头驱动,利用其 7670倍频机制,可让最大帧率 QQVGA 模式达到60帧/s ,QVGA 达到30帧/s 。驱动使用 L298N 双 H 桥直流电机驱动模块,可提供最大功率25W,控制2 相步进电机,直接驱动两路直流电机,同时利用板内可取的+5V 电供给单片机 STM32H750系统核心使能。搭配带5V 充放电一体模块锂电池电源独立工作。捕捉器采用滚轮式机械结构,搭配弹性绳,通过滚轮与目标物体的转速差,实现对目标物体的捕获及运载。
本系统的色块识别功能通过OpenMV色彩跟踪模块,采集目标物体的数字信息,并将数字信息通过 UART 异步串行通信协议,发送到主控芯片 STM32H750。经过 STM32H750处理后,对识别到的物体进行判别,即判断是否为所设定的目标。若识别到的物体不是目标物体,则通过控制左右电机的电机正转、反转,实现机器人在平面上进行360°旋转,直至判别到目标物体的方位;若识别到的物体为目标物体,则通过采集到的数据,前往目标物体处,并将其捕获。系统总体布局图如图1 所示。
3 系统设计的具体论证
本系统具有物体追踪、数字图像处理、自动规划路径等功能。通過系统论证和实际检测,最终得到最优效果。
3.1 物体追踪
通过分析目标物体的显著特征,如颜色、形状、体积等各方面特点,考虑到实际场地的干扰因素以及系统设计难易度,故决定采用颜色追踪,色块识别的功能则由OpenMV完成。机器人通过搭载的普通小型摄像头捕捉实时画面,借助OpenMv的库函数,调用色块识别与图像处理模块,将摄像头捕捉到的画面进行颜色分析,并获取有效像素信息,同时通过像素值的大小判断机器人与目标物体的距离[3]。实际操作中,必须考虑环境造成的干扰,如场地背景颜色与目标颜色的相似程度、不同光照角度引起的光线干扰、颜色块与镜头的距离改变而引起的误差和错误分析,通过双边滤波器对图像进行卷积,使得采集到的图像平滑,同时保持图像中的边缘。控制使用双边滤波器匹配颜色的接近程度以及像素在空间方面相互模糊的程度。根据实际操作环境影响因素的不同,如光照角度、地面清洁度等,将 threshold=True 值设置为0 或1 ,传递0 或1 来启动图像的自适应阈值处理功能。负数 offset 值将更多像素设置为1 ,而正值仅将最强对比度设置为1 。最后,完成了融合双边滤波器的基于OpenMV的颜色块识别模块。
3.2 数字图像处理
针对数字图像的处理技术,普遍采用图像分割。利用图像分割可以实现将目标物体的特征像素与其他影响因子的特征进行区别,将目标物体标记为图像前景,干扰因子标记为图像背景。根据图像类型,可分为灰度图像分割、彩像分割和纹理图像分割。考虑到性能、计算量以及实现难易度,本设计采用阈值分割的方法,对图像进行首次处理,与事先采集到的目标物体的特殊阈值相对比,将获取到的图像像素分为若干目标区域以及背景区域,每个区域拥有独立的灰度级,将目标区域像素与背景区域像素的特殊处仔细区分,以实现对目标物体的精确视觉捕捉。在实际运行中,需要不断调整阈值范围,以更好地减少背景环境产生的干扰。
3.3 自动路径规划
国内外对于智能路径规划方案的研究和使用,主要采取构型空间法、神经网络法以及栅格解耦法 [4~ 6] ,它们也是目前发展较为成熟的技术手段。通过对栅格解耦法的研究,将机器人识别到的整体空间解耦成具有相同目标点的更小范围区域,机器人的工作区间由这些区域组成,机器人将在被解耦的作业空间上自动实现在该区块内的小区块路线规划。当某个机器人在某一个小区域环境中受到阻碍时,可以选择将此小区域重新分割为至少四个大区块或者更多小的区块,并尽量在其中重新寻找一个最好的路径,其中栅格大小将直接反映机器人对环境阻碍时的最佳分辨路线选择和最终设计时间,栅格大小不易确定。
神经网络算法在大型空间的全局路径规划效果很好,但具体环境千变万化,很难用数学公式来描述,神经网络的整体应用不是很好。经过比较,本系统采用栅格解耦法完成机器人对未知路径的自主规划功能。通过对栅格解耦法的研究,借助线性回归找出一条拟合直线,借用最小二乘法公式:
根据计算得出拟合曲线,通过对比选择出和实际路径吻合度最高的曲线,该曲线就是道路的边缘。使用线性回归时,必须先将图像进行二值化。在此之前,需要先设定一个阈值,将此阈值下的数字设定为白色,阈值上的数字则设定为黑色。对于图像中的阈值像素,可以进行线性回归运算。采用最小的二阶乘法来进行运算,通常运算速度相对较快,但却无法同时处理所有的异常值。如果 robust 是一个 True ,那么可以采用Theil?Sen(泰尔-森估算)线性回归算法,以获取图像在每个阈值处大概的像素所有倾斜度的中值。如果经过阈值处理后的数据量仍十分庞大,则可以在80×60图像上,采取 N 值的二次方操作,一定程度上可以将 FPS 降低到5 帧以下。同时,若经过阈值处理后得像素数量过少,即便阈值像素异常值达到27%,所获取的中值依旧有效,可以使用,且魯棒性能优异。对于目标物体的像素阈值,通过摄像头拍摄目标物体的照片,利用 IDE 的帧缓冲选择目标物体的阈值功能。直方图会同步到最新位置。并依次记录每个直方图中的色块初始处以及下降点位,由此可获得 Thresholds 的低值和高值大小。通过实践测量,发现在实际操作中使用手动确定阈值更为方便。
3.4 动力传输系统设计
针对未知复杂环境的情况,需要选择性能合适的动力传输结构,通过接收电机产生的转力,使机器人实现平面运转。考虑到灵活性、耐磨损性等诸多因素,现行的方案中,动力传输的设计大多采用履带式,或者使用麦克纳姆轮方案。履带式设计的优点在于其拥有较好的适应性,针对不同需求,可以方便地对履带长度进行调整。一方面,其牵引力较大。牵引效率方面,轮式可提供的最大牵引效率在55%~ 65%之间,履带式则可高达70%~80%,而轮式发动机提供的有效功率要比履带式低15%左右。另一方面,履带式设计的稳定性强。通过调整履带大小,可以实现对机器人移动过程中重心点的控制,使机器人对地面有较高的附着力,防止机器人在光滑或倾斜地面发生翻滚倒地现象。且履带式机器人操控灵活,通过两边转速差实现灵活、小角度转弯。但是,其行驶速度偏慢,在执行效率方面远不如轮式结构。
通过对麦克纳姆轮的动力传输结构的研究,其特点在于拥有四组直流电机分别提供动力。利用该特点,可以使机器人十分灵活地朝各方向移动,在此基础上研究的全方向移动系统,可以提供更高的效率。相较于履带式机器人,其转向半径更小、更灵活。但是,其缺点在于轮子不平整,且易破损。通常通过四组电机进行搭配使用。由于 L298N 双 H 桥直流电机驱动模块一般搭载两路直流电机,综合价格、性能及实际使用需求等各方面因素,本次选用履带式设计。
3.5 机械捕捉
当机器人识别并通过规划的路径到达目标体位置处时,需要完成对目标物体的抓捕工作,以实现后续运输、传递的功能。可采用机械臂、滚筒式等机械结构设计完成此部分功能。对于机械臂的操作,要求机器人控制与目标物体的距离,并需要在目标物体前停留一段时间,给机械臂提供抓捕操作的时间以及空间,且机械臂单次可抓捕和运输数量较小,操作效率较低。
滚轮式机械结构参考高尔夫球推式捡球机,将推筒前置,通过机械结构搭建,能够实现被动式跟随机器人同步运动。滚轮两边采用亚克力板雕刻,使用弹性绳连接,中间通过承力轴固定滚轮。目标物体一般处于静止状态,低速旋转的滚轮便可成功捕获、携带目标物体。通过搭载滚轮式结构,可以使机器人实现同步不间断工作。其缺点在于转向不灵活。
经过实际检测,考虑到效率及实用情况,本机器人系统采用滚轮式机械结构。
4 创新点
(1)采用OpenMv的模块与 STM32H7之间建立联系,借助 STM32的强大算力,完美地解决了算法模型的搭建以及数据处理问题。且 STM32的功能拓展性好,对于设备的需求的变更方便、易上手。
(2)机械结构创新利用差速滚轮设计代替机械臂夹具,提高了工作效率,缩小了智能车的体积,且其易于拆卸的结构,使实际使用更为方便。
(3)最小二乘法与Theil?Sen线性回归算法相结合,降低了系统宕机的概率,有效提升了系统的稳定性。
5 结论
本机器人系统主控使用 STM32H7系列芯片,延续了 STM32系列高性能的产品特点,提供支持单核解决方案,完成算法控制、图像信息处理等一系列任务。同时,通过给机器人搭配摄像头模块进行实时画面捕捉以及2.54排线连接传递控制信号,机器人可以自完成行识别目标物体及捕捉目标物,通过算法实现全局自主规划最优路线并用最短的时间完成任务。在确认目标物体后,机器人可自行运作,前往目标点取球。在实际操作过程中,可使用多个机器人进行区域分管协同运作,分工明确,互不干扰,极大程度上可以代替人力完成工作。本项目将体育运动与智能车进行结合,实现智能车实际应用化,智能车控制与机械结构的有机结合,形成一个整体,操作简便、应用范围广、使用寿命长,相较于人工成本,机器人的性价比更高,且实现了人工智能化,具有较广阔的应用前景。参考文献:
[1] Sugihara K,Smith J.Genetic Algorithms for Adaptive MotionPlanning of An Autonomous Mobile Robot [ C ] ∥ IEEE International Symposium on Computational Intelligence in Robotics and Automation.1997.
[2] 陶霖密,徐光祐.機器视觉中的颜色问题及应用[ J].科学通报,2021(3):178?190.
[3] 张开宇,高国伟,毛浩龙.基于 MQTT 的机器人集群控制系统设计与实现[J].计算机测量与控制,2021(6):98?102.
[4] 王书侠,王国新,刘智超.一种简易超声波测距装置的设计与实现[J].仪表技术,2021(3):23?24+66.
[5] 秦昆.异构件双机械臂协同抛光控制及路径优化技术研究[D].福建:厦门理工学院,2021.
[6] 朱大奇,颜明重.移动机器人路径规划技术综述[ J].控制与决策,2010,25(7):961?967.
作者简介:
孙浩然(2001— ),本科,研究方向:机器人算法控制技术。