基于机器视觉的三维直角坐标机器人系统设计

2019-01-02 09:16苏彩红朱定文刘运通刘云鹏刘嘉文
关键词:树莓直角坐标图像处理

苏彩红,朱定文,刘运通,刘云鹏,刘嘉文

(佛山科学技术学院自动化学院,广东佛山528000)

传统的三维直角坐标机器人因为收集的信息量不足导致大多数机器人采用固定的规划运动轨迹控制,缺乏自主调节能力,再者目前的三维直角坐标机器人很多采用现场总线控制,浪费材料且需要人员在现场监督操作。

针对传统机器人存在的问题,本文设计了一种将机器视觉运用在三维直角坐标机器人的远程控制系统,该系统由机器人硬件、图像处理、信息传输、人机交互以及运动控制5大部分组成。该系统通过计算机人机交互界面远程控制机器人获取识别物件信息,并根据用户需求控制机器人完成特定工作,比如可应用于远程分拣、码垛、卸垛以及装配等工作。

1 系统硬件设计

1.1 系统总体设计

基于机器视觉的三维直角坐标机器人的系统结构如图1所示。

图1 基于机器视觉的三维直角坐标机器人的系统结构

由图1可知,基于机器视觉的三维直角坐标机器人主要硬件包括PC计算机、三维直角坐标机器人、Arduino控制器、摄像头以及树莓派。

(1)PC计算机。PC计算机采用LABVIEW搭建人机交互系统用于处理识别图像和发布控制命令,并且提供便捷直观的人机交互界面以供用户观察系统运行情况和修改控制命令。

(2)三维直角坐标机器人。三维直角坐标机器人是系统的最终执行者,用于执行控制命令完成相应工作。

(3)Arduino控制器。Arduino控制器用于接收上级的控制命令和控制三维直角坐标机器人。

(4)摄像头。摄像头用于拍摄物体图像,将模拟图像转换为数据图像以供后续图像处理。

(5)树莓派。树莓派与PC计算机控制系统进行wifi远程数据链接。同时树莓派通过USB数据线与摄像头和Arduino控制器相连,可控制摄像头拍摄图像并进行简单的图像处理,然后通过wifi将图像信息远程传输给PC计算机交互系统,也可以通过wifi将PC计算机人机交互系统的控制命令传输给Arduino控制器以控制三维直角坐标机器人。

该机器人系统的工作过程为:1)用户利用PC计算机人机交互界面通过wifi控制树莓派打开摄像头获取图像信息。2)PC计算机人机交互系统利用图像处理技术处理识别树莓派传来的图像信息,并将处理识别的结果显示在PC计算机人机交互界面上。3)用户可以根据需求在PC计算机人机交互界面上选择控制命令,PC计算机通过wifi将控制命令传输给树莓派,然后树莓派将控制命令通过串口传输给Arduino控制器。4)Arduino根据控制命令就可以控制三维直角坐标机器人完成指定工作。

1.2 主要部件硬件设计及选型

1.2.1 三维直角坐标机器人的选型及其控制器和驱动

(1)机器人选型。本设计选用龙门式三维直角坐标机器人结构,该结构采用滚珠丝杆直线导轨滑台构建而成,42步进电机作为驱动动力,其中横向的导轨作为机器人的X轴,纵向的两个导轨共同组成机器人的Y轴,垂直的导轨作为机器人的Z轴。这种结构简单,成本低,负载能力较强,精度和速度都有一定保障,是目前应用比较广泛的三维直角坐标机器人结构。

(2)控制器和驱动选型。控制器采用ArduinoMEGA2560控制器。步进电机的驱动为MEGA2560的扩展板ramps1.4+A4988。ArduinoMEGA2560采用ATmega2560作为核心处理器,拥有54个数字输入/输出引脚、16个模拟输出,适合需要大量IO接口的设计,能满足三维直角坐标机器人的控制要求。42步进电机需要12 V的电压才能驱动,ramps1.4采用12 V直流电源供电,最多能装载5个A4988同时驱动5个42步进电机,且ramps1.4作为ArduinoMEGA2560控制器的扩展板,十分方便安装与控制。目前很多3D打印机都采用这种控制器和驱动,这种组合功能强大,控制简单,且价格低廉。

1.2.2 三维直角坐标机器人的夹具

实际应用中可根据需求选择合适的夹具或其他操作工具,这里为了满足大部分的需求,选择的夹具采用这种平行伸缩式夹持器结构,如图2所示。

图2 夹持器

图2中这种夹持器采用硬质铝合金材质,装配MG996R大扭力舵机,夹取力度大,且夹取宽度范围比较大,可轻松夹取多种尺寸的物品。这种夹持器的夹臂比较小,可插入小的物体缝隙中夹取物品,适用于物品摆放比较密集的场合。如果将舵机的控制线连接在ramps1.4板子上就可以通过Arduino MEGA2560控制舵机进而控制夹持器。

1.2.3 视觉定位检测系统

摄像头采用双目摄像模组,该模块由左右两个摄像机部分与USBHUB部分组成。摄像机部分主要工作为同时获取实时视觉信息,为系统提供可靠的图像。USBHUB部分将两个摄像机构成一个整体,对外通信仅依靠一路USB控制与数据传输。同时可对该部分的两路摄像头进行独立控制与操作。此次实验只采用了该摄像头模组中的一路摄像头进行单目实验,后期将进一步延伸至双目实验。

2 系统软件设计

2.1 视觉定位及检测软件设计

图像处理部分主要采用OpenCV开源图像处理库,通过VS2013调用OpenCV编写图像处理函数,并生成DLL静态链路库文件。通过labview编写上位机软件调用DLL文件进行图像处理。当有处理指令发出时,首先先启动摄像头进行拍照获取图像,再对获得图像提取有效区域,以减少后期数据处理量。然后对获取的图像进行高斯滤波后进行自适应二值化处理,并通过Canny边缘检测函数提取图像中的边缘,再调用findContours函数对图像进行轮廓的提取,得到轮廓后再根据轮廓的特征判断其形状,进行分类与位置计算,得到处理数据结果后输出。其图像处理流程如图3所示。

2.2 夹具动作控制程序设计

夹具动作控制程序如图4所示。

图3 图像处理流程

图4 夹具动作控制程序

将夹持器与另一个角度舵机相连用于调整夹持器的角度,控制该角度舵机就可以控制夹持器角度。由于该夹持器调整张开的宽度时,其自身的高度会跟随其发生变化,要控制宽度的同时还要保持其坐标不变必须采取随动控制,也就是说Z轴跟随夹持器张开宽度变化而变化以使其坐标位置不变。由于夹持器的张开宽度与控制夹持器的舵机角度和Z轴调整的坐标是非线性关系,它们的关系比较复杂。因此,为了简化控制难度,这里采取了查表法。通过实验测得它们3者的对应关系并将这种对应关系制成表,需要调整宽度时只要根据表格就可以查询得到控制夹持器的舵机角度和Z轴调整坐标,随后将得到的舵机角度和Z轴调整坐标根据差补运算同时输出,从而达到Z轴跟随夹持器张开宽度变化而变化的目的。

2.3 三维直角坐标机器人驱动程序设计

为了加快三维直角坐标移动到指定坐标的速度,采用三轴联动和梯形加减速的控制方法。三维直角坐标机器人驱动程序流程如图5所示。三维直角坐标机器人的位置是通过控制三轴步进电机脉冲数目实现的,其流程为:1)根据目标坐标和当前的坐标计算出从当前坐标移动到目标坐标的X、Y及Z轴步进电机所需的脉冲数目。2)3个定时器分别控制X、Y及Z轴脉冲的周期以控制步进电机速度进而控制移动速度。3)采用梯形加减速可以使步进电机运行更稳定,运行速度更快。4)将X、Y及Z轴的脉冲以直线差补的方式输出给步进电机就可以实现3轴联动移动到目标坐标。

图5 三维直角坐标机器人驱动程序流程

3 实验及分析

本次实验以长方形和正方形工件为例,基于机器视觉的三维直角坐标机器人的实物如图6所示,该机器人的PC计算机人机交互界面如图7所示。

图6 基于机器视觉的三维直角坐标机器人实物

图7 PC计算机人机交互界面

由图7可知,该人机交互界面上有停止、暂停、运行、复位、拍照、分拣正方形以及分拣长方形这几个按键。各按键的功能为:1)停止按键是用于系统或机器人发生意外时使机器人停止工作的按键。2)暂停按键是使机器人暂停工作的按键。3)运行按键既是机器人的开始工作按键又是机器人从暂停状态恢复到原来工作状态的按键。4)复位按键是使系统和机器人复位恢复到起始状态的按键。5)拍照按键是控制摄像头拍照的按键,虽然可以设置机器人每隔一段时间自动拍照,但拍照按键可以直接控制拍照及时反映工作现状。6)分拣正方形按键和分拣长方形按键是控制机器人进行正方形分拣和长方形分拣的按键。其工作流程如下所述。

(1)用户通过该人机交互界面复位机器人,使机器人回到起始工作状态。

(2)用户点击拍照按钮,人机交互系统自动与树莓派wifi通讯并控制树莓派打开摄像头拍取照片,同时将照片信息传输回给人机交互系统,系统运用OpenCV的图像处理技术处理图像,将处理后的图像显示在人机交互界面的监视窗口。

(3)用户可以根据需求选择分拣长方形还是分拣正方形工件。如果用户选择了分拣正方形,人机交互系统会将所有正方形工件的坐标、角度及宽度等信息传输给树莓派再传输给机器人控制器,机器人就会根据这些信息依次将正方形工件夹起来移动到指定位置后放下。分拣长方形工件的过程也类似于正方形工件的分拣过程。

4 小结

本文设计了具有远程控制功能的基于机器视觉的直角坐标机器人,通过实验证明该基于机器视觉的三维直角坐标机器人远程控制系统能满足设计要求,其具有简洁直观易操作的人机交互界面,能通过远程无线控制机器人,简单改进可应用于远程分拣、码垛、卸垛及装配等工作。为目前基于视觉的三维直角坐标机器人缺乏远程控制提供了一种可行的系统方案及应用参考。

猜你喜欢
树莓直角坐标图像处理
从平面直角坐标系到解析几何
深入学习“平面直角坐标系”
深刻理解平面直角坐标系
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于树莓派的骑行智能头盔设计
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
认识“平面直角坐标系”
基于树莓派的远程家居控制系统的设计
基于图像处理的定位器坡度计算