2 物料搬运机器人平台设计
机器人平台主要由机械平台部分和电控部分组成,本文设计围绕以上两部分展开。
2.1 机械平台部分设计
底盘的结构运用麦克纳姆轮的设计,为了减轻移动机器人的重量,底板由铝合金板材制成。预留出车轮的位置,并适当增加车轮之间空间的利用率,为以后在底盘增加其他传感或控制器件预留出一定空间。其他零部件的安装位置也需要预留安装孔。设计的机器人需要实现精确的运动控制,故为麦克纳姆轮提供动力的电机选型至关重要。直流减速电机控制精度高、可靠性好、性价比高,可以使搬运机器人进行全方位移动,提高了机器人抓取货物的效率,经由PLC控制器进行路线规划,使多台搬运机器人在工作时有条不紊,提升了搬运效率。
2.2 电控部分设计
2.2.1 直流减速电机
方位控制电机为带编译器的直流减速电机,工作电压为12V ,空载转速为366rad/min ,因此使用输出电压为12V的四路BTN7971驱动模块。使能端输入单片机PWM输出,用于控制电机转速,这里利用单片机产生频率为72kHz、占空比为50%的方波信号,控制电机慢速运行;IN1、IN 2端和IN3、IN 4端输入两个电机的正反转控制信号,用于控制电机转向,实现车体运动方向的变换。
2.2.2 电路方案设计
整体的电路方案如下:选用stm32芯片作为主控芯片,通过可编程控制器( PLC )进行路径规划,以确定机器人的空间位置;到达指定地点识别二维码后,再次进行路径规划;到达指定地点后,执行舵机转向算法,以控制机械臂;通过OpenMV进行二维码识别;通过神经网络算法进行物品定位,来控制机器人抓取物体。
根据机器人整体构造,对印制电路板( PCB )进行自主设计,设计出契合机器人的PCB ,以达到更好的使用效果。PCB按功能划分模块,合理地将元器件安置在PCB上,有利于传感器感知循迹信息,实时有效地反馈信息给主控芯片进行二维码的处理,并且将反馈信息输入PLC ,进行路径规划,达到PCB与PLC通信的目的。
主控PCB完全采用手工布线的方式,参照电路特性,本文采用双层布线,元器件放置于顶层,顶层和底层均可走线(红线为顶层布线,蓝线为底层布线),布线设计也要合理调控布线宽度,保证线宽和足够的线距,确保电路安全,并少量使用过孔及合理安排拐角,通过对PCB的合理规划设计,方便后期电路的接线过程。
2.2.3 视觉识别模块设计
OpenCV可以运行在Linux、Windows、Android和MacOS操作系统上,是一个基于BSD许可(开源)发行的跨平台计算机视觉库。它由一系列C 函数和少量C++类函数构成,同时提供了 Ruby、Python、MATLAB等语言接口,实现了计算机视觉和图像处理方面的很多通用算法。OpenCV轻量且高效,本文通过神经网络算法实现对货物的准确识别。
在机器人上安装一个高清广角摄像头,其静态图片分辨率为600像素× 480像素,打开终端输入ls/dev/video*,得到图像,二维码识别流程如图1所示。
获得图像后,首先使用图像处理模块对图像特征进行初步提取,模型构建模块对图像特征进行深入提取并返回识别模型,控制模块作为执行机构执行相应的动作。然后对图像进行灰度化,由于运算速度有限,彩色图像运算偏大,所以需要对图像进行色彩空间转换。最后进行图像二值化,完成图像灰度化后,经过二值化的图像只剩黑、白两色,便于进行边缘检测,通过边缘信息的结果识别路况。最终将二维码进行解码处理,得到运行指令。
图1 工业级二维码识别处理过程
在工业领域,二维码的位置通常会具有一定的随机性,且二维码在图像中的面积比例较小,这需要识别系统能够有效地在视频中提出感兴趣区域( ROI ),并在ROI区域中按照图 2 的方式进行工业级别的二维码识别,以更好更快地获取搬运任务信息。为了能够快速获取ROI区域,本文受深度学习领域的影响,采用深度神经网络训练的方法快速获取图像中的ROI ,系统直接对ROI进行识别,提高了识别速度,二维码识别系统的整体结构如图2所示。
图2 二维码识别系统整体结构
机器人采用深度学习算法来实现摄像头的快速视觉识别与定位,其算法由目标定位算法和目标识别算法两部分组成。
CNN视觉识别使用八层结构的C N N模型,分为输入层、中间层、全连接层三部分。主要参数为:卷积层5层;全连接层3层;深度8;参数个数60M;神经元个数650k。通过卷积神经网络,以RELU为激励函数,通过对指定形状的货物尺寸进行模型训练,将训练完成的神经网络输入处理器后,结合OpenMV获取的货物轮廓进行识别。然后通过OpenMV ,实现识别定位。本文采用的目标识别网络为AlexNet网络,该网络结构简单,方便训练和实现。
2.2.4 视觉识别模块设计
通过PLC梯形图编程把预先规定的路径设置好,物品所在地点是固定的,进行PLC编程时将取每个物体的路径事先规划好,该走到哪一步PLC会将信号发送至单片机,单片机再执行具体步骤。例如,要取一号物体, PLC已经将取一号物体的路径与单片机对接, PLC发送一个信号给单片机,单片机发送一个具体指令,机器人执行完以后再向PLC返回一个信号。重复以上步骤就完成了机器人到达取物地点的过程,如图3和图4所示。
图3 PLC控制原理流程图
图4 路径规划流程图