当前位置:首页 期刊杂志

基于图像识别的分拣机械臂

时间:2024-08-31

刘炎杨,牟丽萍,李淼鑫,李楠

(天津职业技术师范大学工程实训中心,天津,300222)

1 系统总体构成

树莓派 B型被选为本设计的控制单元,它是一个轻便但是非常实用的微机单元,它包含了CPU,GPU,DSP,SDRAM,USB接口还有GPIO口等。树莓派上的26个GPIO口中有6个可以被重新设置为PWM型信号的输出源,也就是说树莓派可以通过一次性输出6个独立的PWM型信号控制6个伺服电机的位置。通过opencv摄像头采集图像信息,传输信号到树莓派主控,经过算法处理后传输动作信号给机械臂使组成机械臂的六个舵机根据指令完成相应的动作。

2 软件设计

整体动作程序分为三个,分别是分拣、码垛、和追踪。在树莓派接到命令之前,内部不处理摄像头收到的数据,待数据下发成功后,摄像头开始工作,检测目标区域是否有物块,如果没有就一直检测,当接到分拣的命令的时候,摄像头开始识别物块颜色,物块的识别顺序是从红色开始,依次是红、蓝、绿(暂时使用这三种来模拟,内部程序可修改),待识别成功就控制机械臂抓取并摆放在设定好的位置;当接到码垛的命令时跟上述识别顺序一样,放置在同一个地方的不同高度;当接到追踪的命令时,摄像头开始识别区域内的物块,如果检测到物块就记录物块的位置,手动移动物块模拟情景,则机械臂以最快的速度追踪物块到相应的位置,待物块静止后两秒,进行抓取并放在相应颜色的位置,程序流程图如下:

图1 整体系统控制框图

3 机械臂的结构及控制算法

机械臂结构方面选用5个旋转关节组成一个5自由度的机械臂,因为5自由度的机械臂与人类的手臂相似,有一个冗余自由度可以使得机械臂在执行任务时能够规避障碍物。机械臂末端安装一个1自由度钳状机械手用于拿起物体考虑到机械臂的控制需要建立坐标系,在此选用Craig法建立坐标系。6个伺服电机充当机械臂及机械手的旋转关节,通过向伺服电机输入PWM型控制信号,伺服电机能够通过读取信号的占空比信息精确地到达被要求到达的位置。

将机械臂的模型简化,去掉底座云台,和执行器部分得到机械臂的主体。从上图可以看到机械臂的端点 P 的坐标(x,y),最终由三个部分组成(x1+x2+x3,y1+y2+y3)。其中上图的θ1,θ2 ,θ3 就是我们要求解的舵机的角度,α是爪子与水平面的夹角。从图上来看显然爪子的俯视角度α=θ1+θ2+θ3,据此我们可以列出下式:

其中x,y已知,l1、l2、l3为机械臂的机械结构固有属性。为了方便计算,我们将已知部分处理一下,作整体考虑:

图2 软件控制框图

将m、n代入已有方程,再化简可得:

图3 机械臂的结构

通过计算可得:

上式为一元二次方程的求根公式,其中:

据此求出θ1 的角度,同理我们也可以求出θ2。由此便可求出三个舵机的角度,然后根据角度控制舵机即可实现坐标位置的控制。

4 图像识别原理

传感器使用opencv摄像头,它将被固定在机械臂外的一个支架上上方,这样一来它可以不受机械臂的旋转影响从而实现最大范围的目标物体扫描。之所以选择opencv是因为在控制中需要一个二维空间中目标物体的位置及颜色信息。控制系统基于HSV 色彩圆柱原理,利用OpenCV 库进行 Micropython 语言的汇编达到能够识别特殊颜色的效果,从而达到寻找目标物体和识别颜色的目的。摄像头不断扫描有效区域,将视频信息放入树莓派中的CPU中进行处理。一旦视野内出现目标物体,会将摄像头所搜集到的目标位置信息输入到CPU中,然后CPU 会根据已建立的坐标系和运动学逆解的算法规划出机械臂行进和抓取的路线。同时用物联网技术把数据传到app上,可使数据和摄像头拍摄实时发送到app上并实时监控,并且兼容下发指令等功能。

用傅里叶变换对图像和视频的进行处理。因为数学中所有的波形都可以由一系列简单而且频率不同的正弦曲线叠加得到。由此推断并证明了人们所看到的任何波形都是由其他波形叠加得到的。在处理图像时,可以通过去掉一部分波形来得到感兴趣的区域。除了傅里叶变换外,在图像处理过程常常会提到高通滤波器和低通滤波器。本设计使用高通滤波器检测图像区域,然后根据像素与周围像素的亮度差值来提升该像素亮度的滤波器。可以增大像素点与周围像素点亮度差距,用在边缘检测上得到物料的边框,同时用轮廓检测findCounters函数去确定边框从而建立一个坐标系去定位,在坐标和数据经过处理后就得到了机械臂的运动轨迹。

图4 整体流程图

5 系统测试

在完成搭建后,为了得到设备运行的准确性对本设计进行了几次测试,测试过程以夹取红色物块为例如下图5。

图5 测试图

夹取期间发现摄像头位置的摆放和准星的校对对其有很大的影响,经过对其调整后重新进行了测试并分别记录了测试数据测试结果如表1所示。

表1 测试数据表

6 计算机视觉和机械臂控制总结与展望

使用机械的目的不仅是减轻或代替人类劳动,同样用于提高人类生活质量的机械也在不断增加。锻炼身体的各类机械、空调、冰箱、医疗器械、机械玩具也会越来越丰富。自动控制算法的完善研究。为了实现机械臂自动协调运行,需要有更加完善的控制算法,尤其在输入参数和机械臂逆向运动方程求解方而,需要更加优化的算法,使计算出的控制参数更加精确和完整。

随着科学技术的深入发展,降低能耗、保护环境、高精度、高性能的各类机械产品将不断涌现,微型机械将会普及应用。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!