英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
利用Picamera实现基于计算机视觉的六自由度机械臂抓取
Vishal Kumar 中国哈尔滨工业大学控制科学与工程系 vishal@stu.hit.edu.cn
王 强 中国哈尔滨工业大学控制科学与工程系 wangqiang@hit.edu.cn
王明华 中国哈尔滨工业大学控制科学与工程系 15546032168@163.com
Syed Rizwan 中国哈尔滨工业大学计算机科学与技术学院srizwan@stu.hit.edu.cnSM
SM Shaikh 中国哈尔滨工业大学控制科学与工程系 hit.shakir12@yahoo.com
刘 璇 中国哈尔滨工业大学控制科学与工程系 hitliuxuan@163.com
摘要--本文提出了一种能完成多种功能任务的机械臂设计方案。该机械臂的控制器采用Arduino mega 2560微控制器。该项目的目的是将机械手的所有轴集中到所需的位置来提升、携带和卸载对象。这需要一个精确的驱动运动控制,包括将电动机作为驱动系统。进一步的实验实现了基于摄像机的三维视觉系统与计算机视觉算法相结合的目标变形识别和空间协调控制,实现了对原始训练偏差的控制。三维可视化系统能够检测物体及其与末端执行器的距离,并将信号传输到驱动系统。视觉系统需要一个能够处理复杂视觉算法的独立计算硬件。利用树莓派对视觉数据进行处理,使视觉系统能够根据程序指令识别指定的目标。
关键词--机械臂;计算机视觉系统;颜色检测;目标识别
一、引言
当代研究表明,人工智能已经成功地适应了计算机视觉的发展领域。有证据表明,现代制造业依赖于机器人技术[1]。机器人可以定义为由电子、电气和机械单元组成的可编程、自控装置。一般来说,它是一台机器代替一个活的代理。在工业环境中,物体的拾取和放置是其主要任务[2]。机器人学包括多个学科(技术),包括运动学、信号分析、信息论、人工智能和概率论。自动机械臂臂是一种机器人操纵器,通过编程能具有与人类手臂相当的能力。在这项研究中,机器人手臂系统的目的是执行多功能任务。它检测并识别红色的项目,抓取项目,并将其放在所需的位置,其中所有项目都通过图像处理的方法进行识别,每一个单独的项目的坐标都在计算机上进行控制,并发送给机器人手臂。
二、相关工作
计算机视觉是一个融合了获取、处理、分析和理解图像的技术的领域。通过这些技术,高维数据被转换成数值或符号数据 [3] [4] [5]。在人工智能领域,CV试图通过电子观测和对图像的理解来模拟人类的视觉能力[2]。在许多应用中,计算机都是预先编程的,他们利用计算机视觉来完成特定的任务。最近,基于学习的方法通常也用于这种应用 [6],[7],[8]。这意味着视觉图像(视网膜的输入)转换成描绘。随后,接口将识别其他观点,从而激发适当的活动。这种对图像的理解可以被看作是利用几何学、材料科学、洞察力和学习假设指导建立的模型,从而在图像信息中挖掘代表性数据。图像分割是基于颜色强度和纹理的。它被用作众多应用的一部分,例如,基于区域的分割、基于特征的边缘检测以及基于阈值或基于模型的应用[9]。另外,计算机视觉还被描述为机械化的努力,并包含了用于视觉观察的各种程序和描述。作为一门科学学科,计算机视觉关注的是制造框架背后的假设,这些框架集中了来自图片的数据。这种图像信息可以向前推进许多结构,例如,从各种摄像机看到的视频序列或从一个医用扫描仪。计算机视觉试图将其假设和模型应用到计算机视觉框架的开发中[10]。
文献中结合计算机视觉和机器人手臂进行了多种分析。其中一种学习技巧是使用至少两张照片中的确认点,使机器人能够抓取物品。这些技术的总准确率为87.8%[8]。在另一项研究中,计算机视觉被用于控制机器人手臂[11]。利用图像识别技术,在机器人手臂关节上放置少量彩色瓶塞,利用这些瓶塞对关节进行感知。这两种不同的研究机器人模型被认为是用来和对手玩“石头、布、剪刀”的游戏[12]。在这两项实验中,一台利用对手的手部照片的沉浸式摄像机通过计算机视觉技术提示竞争者的动作。其中一个是随机移动[12]。在另一项研究中,机器人成功地读取对手的手,并使用CVT机器人配置其手指,从而击败对手[12]。在另一项工作中,机器人手臂的发展是由使用无线连接和视觉系统的人类手臂的发展控制的[13]。其中一项研究显示了一个包括计算机视觉的自动控制机器人框架[14]。在他们的工作中,机器人手臂可以根据物品的形状、大小和颜色来自主完成物品排列任务[10]。在另一项工作中,一个有指导意义的机械臂负责识别任意放置的物体,通过计算机视觉将其取出并移动到预定义的区域[15]。
三、硬件结构
硬件体系结构(硬件设计模型)涉及系统组件的识别及其相互关系。它允许硬件设计者理解其组件如何渗透到程序架构中,并向软件原理设计者提供一致的信息来进行软件开发和集成。我的系统硬件结构如图1所示。
图1. 系统框图
A. Picamera
Picamera是树莓派基金会的官方产品。它可以拍摄照片,录制视频,并应用图像效果作为输入。
B. 树莓派
树莓派是一系列小型单板计算机,用于处理复杂和繁重的算法,如计算机视觉。
C. Arduino
Arduino是一个易于使用的硬件和软件的开源电子平台。它主要用于通过编程来实现伺服控制。
D. 六自由度机械臂校友机械臂套件
六自由度机械臂套件,是一个具有六个自由度和一个抓爪的机械臂系统,用于拾取和操作物体。机械臂的机械连接是用硬铝支架建造的,不同的形状有许多固定件和附件。机器人臂套件中的所有部件的列表如表1所示。图2是带有微控制器和Picamera的完整机械臂套件的图像。
表1. 6自由度机械臂KTIS基座伺服机械手
序号 |
参数名称 |
描述 |
1 |
1x |
机械爪 |
2 |
5x |
硬质铝合金多支架 |
3 |
3x |
硬铝长U形支架 |
4 |
1x |
硬铝L形支架 |
5 |
2x |
硬质铝合金 |
6 |
3x |
进口衬套轴承 |
7 |
6x |
金属头盔 |
8 |
6x |
MG996R伺服机 |
9 |
3x |
伺服延长线 |
10 |
包装重量 |
0.950kg(2.091b.) |
11 |
包装尺寸 |
40cm x 30cm x 20cm(15.75in x 11.81in x 7.87in)s |
图2. 机器人手臂完整套件
四. 计算机视觉算法
我们的系统基于两种算法:算法1和算法2。算法1是红色检测算法,用于对红色目标进行识别。该算法中对每个像素计算像素值和参考颜色值之间的距离(D)。然而,阈值是根据算法给出的公差水平手动设置的,这是一个常量值(阈值的高值将“不太清晰”的红色像素视为红色,而阈值的低值将使算法相当“严格”)。如果距离(D)小于阈值,则不选择像素。
算法1 红色检测 |
输入: 图像(RGB) 功能: 红色身份() 重复: 对于每个像素 1:计算像素值和参考颜色值之间距离(D) 2:如果Dlt;阈值 接受当前像素 否则 不接受当前像素 输出: 从红色通道检测到红色(1:0:0) |
算法2是在算法1之后用于我们的机械臂的目标识别算法。当算法1识别对象时,算法2保存对象的位置,然后将对象的位置与爪位置进行比较。如果差异大于误差,则爪移动一步,然后再次比较位置。它将做同样的工作,直到差异小于误差。由于两者之间的差异小于误差,机械臂会拾取物体并将其放置在所需位置。
算法2 识别位置,拾取和放下物体 |
输入: 图像(RGB) 功能: 拾取() 放下() 初始化: 爪位置((x1,y1),(x2,y2)) 目标位置((x1rsquo;,y1rsquo;),(x2rsquo;,y2rsquo;)) 重复: 1:计算爪位置和物体位置之间的距离(d) 2:如果dlt;ε 爪位置=目标位置 否则 爪位置=爪位置 ∆爪位置 输出: 识别位置,拾取和放下物体 |
五. 机械臂的工作
此工作已成功完成了机械臂的分区功能成功。成功构建了一种由单片机控制的可以旋转、磁化物品、放下和抬起手臂的机器人模型。该机器人由微控制器全面控制。开发板已组装好,并利用所需的方法正确操作了控制器。推进板已连接到伺服和(DC)电动机。
图3描述了系统的工作流程。首先,计算机视觉检测模型使用相机并拍摄连续视频以检测红色物体。它在视频上使用不同的滤镜,以圆圈标记对象的中心。其次,树莓派将串行信号发送到Arduino,然后Arduino生成命令并将信号发送到机械臂。然后激活机械臂,收集物体并将其分配到所需目的地。这些任务由带有Arduino程序中嵌入的六自由度的伺服器完成。如果未检测到红色物体,则机械臂不会执行任何操作。
拾取和放下
机械臂
机械臂力矩
伺服控制板
微控制器
阈值
伺服机器人
生成命令
打分
物体识别
与训练数值匹配
提取描述符
检测兴趣点
部署阶段
负荷训练图像
相机反馈
提取训练兴趣点
检测训练兴趣点
培训阶段
图3. 系统的工作流程
六. 实验结果
A. 视觉系统功能测试
我们的项目具有视觉系统的功能。在视觉系统中,首先,我们的算法从目标的特定范围检测目标的颜色,即如果目标是红色的,则系统会在原始图像的中心标记绿色圆圈。它向Arduino发送串行信号,后者将执行其预先编程命令。如果检测到的物体是红色的,爪会打开并稍微弯曲,抓住、抬起并旋转物体到所需的位置。然后爪子打开,把物体放在给定的坐标上。然后,爪子合上,移回原来的位置,为下一个物体做准备。我们使用另一个物体进行检测,它没有在坐标中给出,除了红色,它不会移动,也不会拾取那个物体,因为除了红色,它不会检测到不同颜色的物体。它将只等待红色的对象,否则它不会移动到任何方向。
图4和图5是执行后的输出。在图4中,它检测红色物体后在原始图像的中心标记绿色圆圈。在另一张图片(图5)中,机器人手臂在检测到物体后正在拾取物体。
图4. 用计算机视觉算法识别物体
图5. 拾取和放下物体
B. 手臂/机械臂的多变量测试
由于本课题是基于六自由度(6自由度)的机器人,可以在不同的方向运动,如俯仰、偏航、转动肘部等,每个伺服机构都附着在机械臂的不同位置,所以在机械臂中有6个伺服机构。在机械臂中,每个伺服机构将以不同的角度移动,以拾取对象并将其放置在所需的位置。每个伺服都有其生命区(伺服可以移动的区域)和死区(伺服不能移动的区域)。在进行实验之后,我们得到了如下结果,如图6和表2所示,表2描述了机械臂的生命和死区<!--
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[245907],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。