基于深度学习及嵌入式视觉系统的球童机器人*
2021-11-07黄林琪卢颖仪黎盛业关兆基郜志航李德荣
黄林琪,卢颖仪,黎盛业,关兆基,郜志航,李德荣▲
(1.广东海洋大学机械与动力工程学院,广东 湛江 524088;2.广东海洋大学电子与信息工程学院,广东 湛江 524088)
0 引言
运动正逐渐成为人们主要生活方式之一,其中球类运动已成为最受欢迎的运动[1-2]。而目前国内外收球装置的机械化、自动化程度极低,一般以人工捡球的方式为主。但人工捡球劳动强度大、效率低,且专门从事此方面的劳务人员数量日渐短缺[3]。而现有的捡球机器人普遍效率低下或需要人工辅助,且大多数仍通过遍历的方式进行捡球[4]。
针对上述问题,结合我国现代化装备自动化和智能化的发展需求,本文提出一种适应小球类(主要针对乒乓球、网球类的小球)、准确快速、数据采集汇总的基于深度学习及嵌入式视觉系统的球童机器人。
1 机器人结构设计
本机器人结构设计主要由图像采集装置、行走装置、捡球装置、集球装置构成。图1为机器人结构示意图。
图1 机器人总体结构
机器人工作时,行走装置由直流电机配合全向轮带动,再利用图像采集装置实时监测场地上目标球类的位置,当其迅速到达球的附近时,通过控制四爪结构机械手爪来实现捡球。激光雷达可以使机器人有效躲避障碍物,提高其应变环境的能力。
1.1 行走装置结构设计
机器人底盘近似圆形,4个搭载全向轮的驱动电机安装在两层底盘之间,驱动电机输出轴由圆心指向圆周,沿径向均匀分布。全向轮能使识别及捡球过程变得更加流畅,省去转弯、掉头等步骤,针对不同材质的地面依旧表现出高机动性。该行走装置能实现机器人在水平地面上任意方向移动的同时,具有快速启动、制动的优点。
驱动电机输出轴受到的屈服力大小为20 N,根据SolidWorks Simulation应力分析得出支撑底盘的最大位移量为0.5886 mm,符合适度变形条件。负载扭矩32 N·m于驱动电机输出扭矩115 N·m,驱动电机正常工作。故得出结论:机器人驱动平台的支撑底盘设计校核安全。应力分析如图2。
图2 应力分析
1.2 捡球装置结构设计
目前,已有的捡球机器人其捡球动作根据扫地机器人“扫把”装置的原理,将乒乓球扫入机器人内部[5],也有利用风扇等吸力装置将乒乓球吸入收集[6]。这些装置由于机械机构的限制,对于位于墙角处和藏于障碍物之间的球以及体积、重量稍大的网球不能有效捡取,因而只适用于拾取障碍物较少且远离墙壁的质量轻的乒乓球。
针对上述问题,机械手爪类型装置的捡球方式是最适用的。为使机器人能广泛地适用于球场,本机器人采用了四爪结构的机械手,能牢牢抓住球类,使捡球动作更加平稳,成功概率高,能有效抓取墙角、墙边等死角的球。
整个捡球装置的结构由一个双自由度的机械臂和四爪机械手组成,通过控制爪子张开与闭合的角度来抓取小球,舵机控制机械臂的转动,将抓取的球转动到传送导管。捡球装置如图3所示。
图3 捡球装置
2 系统设计
本机器人由图像检测系统、供电控制系统、定位避障系统、运动执行系统以及捡球执行系统此五大系统组成。图像检测系统对图像进行处理并对其进行特征识别后,得到对应的目标球类在图像中的位置。供电控制系统根据识别出的位置坐标,以及定位避障系统对机器人的具体定位,控制运动执行系统让机器人运动至球类附近的位置并通过收球执行系统将球类抓取存放于储球装置。机器人系统的硬件组成框图如图4所示。
图4 机器人系统的硬件组成框图
2.1 图像检测系统设计及实现
深度学习为我们展示了端到端学习(end-to-end learning)的概念,简而言之,针对每个特定类别的对象,机器会自动学习需要查找所需要的特征[7]。相对于其他目标检测方法,YOLO-v3更有优势[8],对于320×320的图像的检测,其可达到22 ms的速度,获得28.2 mAP的性能,与SSD的准确率相当,但是速度快3倍。考虑到机器人算法的实用性,采用了工业上做图像识别常用的Tensor Flow作为YOLO-v3的运行框架。将模型转换到Tensor Flow环境下完成模型的训练,再将训练好的权重转为darknet,就可以把识别的权重部署到实际应用中,这样就可以将算法的训练和实际部署分开。
图像检测系统决定了机器人原理实现的可能性。330fps高帧率摄像头对图像进行采集,树莓派再对采集到的图像进行初步处理。考虑到球类识别所需的算力对树莓派来说是个很重的负担,则运用其自带的Wi-Fi芯片对图像以及相关数据通过路由器无线传输至PC端,对相关图像数据进行深度处理。
2.2 供电控制系统设计及实现
供电控制系统是控制机器人整体运作的系统。采用基于Cortex-M4内核的STM32F407ZGT6芯片作为主控CPU,高运算能力及IO功能口多等特点使其运作更少拖延。由于树莓派在工作过程中功耗较大,以及运动控制系统需要大功率输出的特点,则采用了大功率6S锂电池,外加AS1015芯片用于大功率降压稳压,用于控制系统以及树莓派和相关传感器的供电。
2.3 定位避障系统设计及实现
短距离无线通信通常采用WiFi、Bluetooth、HomeRF、ZigBee和UWB(Ultra Wide Band)等技术。UWB是利用超短电磁能量在脉冲作为信息载体来传输脉冲信号,使得脉冲占用极高的宽带并且使其数据传输速率达到上百Mbps[9]。其能凭借仅一两厘米的误差识别出隐藏在墙体后运动着的物体,在室内环境下,其抗多径能力优秀,能使不同多径到达时间之差较小。每次的脉冲发射时间很短,在反射波到达之前,直射波的发射和接收已经完成。因此,UWB系统特别适合于高速移动环境下使用[10]。采用UWB作为定位系统弥补了330fps摄像头广角有限(150°)所带来的可视范围较小的缺点,将其工作范围增大至球场面积,同时利用激光雷达配合UWB的高速传输使机器人拥有了实时地形建模能力,通过相关路径算法对机器人周围的异物进行避障,完成运动的任务。
3 软件设计
机器人的硬件为电源、控制主板、树莓派4B、UWB标签、330fps高帧率摄像头等。树莓派与控制主板的串口通信引脚相连,用于相互的通信以及控制;摄像头与树莓派相连,用于实时采集图像;UWB标签与定位基站配套使用,实时反馈机器人当前的位置。
由于机器人的软件设计部分较为复杂,则这一部分可分为两大部分,即图像识别部分以及嵌入式控制两部分。
3.1 图像识别部分
在图像识别部分中,当供电控制系统对树莓派发送了开启识别的指令,摄像头将实时采集图像数据,再使用OpenCV对其进行相关的图像初步处理(如降噪、颜色空间的转换等)。随即将处理完毕的图像数据通过Wi-Fi传输至PC端,其中用到一个路由器来提供局域网。PC端在接收到数据后,在TensorFlow下运行YOLO-v3算法,同时使用Intel二代神经网络计算棒对神经网络运算进行加速,输出目标球类在图像中的具体位置以及大小至树莓派。树莓派接收到数据后将其输出至单片机用于后续的控制。图像识别部分流程图如图5所示。
图5 图像识别部分流程图
3.2 嵌入式控制部分
在嵌入式控制部分,当机器人开启工作后,机器人将按照既定的路径规划算法,对场地球类进行搜索。当机器人在视野范围内发现球时,图像识别系统对其进行识别,得到球类的坐标以及大小、种类等信息,再调整机器人移动至靠近球类,并调整姿态使自身处于合适抓球的位置。根据球的种类以及大小,控制系统控制机械臂张开至合适的大小进行抓取。在机器人的移动过程中,定位避障系统不断对机器人进行实时定位以及运动姿态纠正。嵌入式控制部分流程图如图6所示。
图6 嵌入式控制部分流程图
4 创新点
4.1 处理器处理方式的创新
树莓派作为图像初步处理终端,而PC端作为图像深度处理终端,一方面解决了树莓派图像识别算力不足的问题,另一方面树莓派本身所嵌入的一些通讯以及芯片及协议便于机器人在机器视觉上的集成化,使其在性能方面比其他机器人性能更高的同时,体积更小,因此运动更轻便,实现了实际意义上的嵌入式视觉系统。嵌入式控制主控制电路如图7所示。
图7 嵌入式控制主控制电路
4.2 识别算法创新
YOLO-v3算法相比于基于分类器系统的算法有一些优势。它在测试时会查看整个图像,所以它的预测利用了图像中的全局信息。与需要数千张单一目标图像的 R-CNN 不同,它通过单一网络评估进行预测。这令YOLO-v3非常快,一般它比R-CNN算法快1000倍、比Fast R-CNN快100倍。快速的识别速度,使机器人大大提高了拾球的效率,并且基于深度学习的识别相对于市面上使用普通的机器视觉算法做设计的只针对某一种球类的拾球机器人,受环境的影响更小,并且理论上只要训练数据种类足够,可实现所有球类的识别。在1050显卡上运行YOLO-v3模型进行识别,识别准确率最高可达92%,模型识别帧率达到29fps,足够用于机器人日常识别工作。识别效果如图8所示。
图8 识别效果
由于现实世界的光线变化影响因素太大,因而需要运用OpenCV对图像进行初步处理,使用开运算以及降噪算法对其中存在的噪声进行过滤以及进行锐化,保证了图像的质量。OpenCV中对球类图像进行开运算处理,像素核为5*5,进行开运算后可对图像进行降噪,减少不必要的噪声干扰。经过转换后的对比图如图9所示。
图9 转换后的对比
4.3 运算处理速度的创新
采用Intel二代神经网络计算棒,是一个基于USB模式的深度学习推理工具和独立的人工智能(AI)加速器,为广泛的边缘主机设备提供专用深度神经网络处理功能。通过USB棒可简单地进行原型设计和调整深层神经网络,并以低功耗运行机器智能应用,不需要云连接。USB型尺寸有助于轻松连接到现有主机,而视觉处理单元(VPU)可减轻机器负载和加速机器智能应用,可以在低端ARM硬件上运行引用,节省了硬件的开发成本。
5 结语
本文提出了一款基于深度学习及嵌入式视觉系统的球童机器人的设计,该机器人搭载摄像头从不同角度实时记录周围的环境,利用OpenCV及相关算法对扫描出的图像进行优化处理。系统通过YOLO-v3算法对图像中的标定物进行全局预测并建立模型,同时利用激光雷达配合UWB辅助定位避障,使机器人完成拾球任务。本文研究结果适用于不同球场环境下的捡球任务,能够有效减少人工成本,提高捡球效率,具有广阔的应用前景。