温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
标定
机械
抓取
设计
应用
孙浩洋
基于九点标定机械臂抓取的设计及应用孙浩洋,曹彦,卞科琪,魏翱翔,孔庆峰(中国矿业大学徐海学院,江苏徐州221000)摘要:利用机器人代替人工搬运、喷漆、焊接和装配等重体力活动后,既可以减轻工人的劳动强度,又可以提高劳动生产率。通过分析工业机器人具备的准确度、速度和稳定性的特性,运用九点标定算法理论,以 STM32 开发板为核心板,对机械臂结构进行优化,最终实现机械臂准确、快速抓取物体。关键词:九点标定算法机械臂物流机器人STM32中图分类号:TP249文献标识码:A文章编号:2095-0748(2023)01-0107-03引言随着科学技术的不断进步,机器人正向着协作化、自动化、网络化以及智能化方向发展,为保障机器人作用的精准高效,机器视觉技术成为持续关注的热点,并得到广泛应用。传统的物体分拣过程受物件特征的影响较大,导致搬运效果低,分拣错误率高。使用视觉技术的机器人能提高速度、增加信息量的贮备,并且能避免人工操作带来的误差,因此,机器视觉技术在分拣领域具有良好的应用前景。本文主要研究基于九点标定算法分拣机器人的组成关键技术及其技术优势,针对抓取过程中出现的问题提出了可行性解决方案,为物流分拣机器人关键技术提供一些参考。1分拣系统总体设计对于目标识别和机械臂分拣控制,分别采用机器视觉技术和关节型机械臂来完成任务。总体设计思路为:由 OpenMV采集图像信息,STM32 接收到传输信号,将算法处理后的传输动作信号传输给舵机,6 个舵机控制机械臂按照指令完成相应的动作。图 1 所示为机械臂控制流程:机械臂主控板接收到夹取命令后,利用 OpenMV 识别目标物体,并将目标物体坐标经过坐标转换,进行九点标定,通过串口发送到机械臂控制板,机械臂控制板进行逆运动学解析,计算出每个舵机对应的 PWM值,完成目标物体的夹取。2机械臂设计2.1机械臂运动学原理为了完成机械臂对目标物体的夹取和放置任务,需要进行机械臂的运动学分析。机械臂运动学研究各关节运动与机械臂末端执行器位姿之间的关系,主要包括正向运动学和逆向运动学。正运动学解析是已知机械臂各连杆参数及关节变量,解算出末端执行器的姿态。逆运动学解析是已知末端执行器的姿态,求解要设置的关节可活动对象的参数1。使用笛卡尔坐标系描述空间位置,使用右手坐标系,即绕 z 轴旋转时,y 轴在 x 轴的+90方向,一般将物体的名称写在右下角,如坐标系A中点 O 的位置向量写作 ApO2。描述物体在坐标系中的位置,可以描述为坐标系之间的关系。二维变换如图 2 所示,图中描述了一个坐标系相对于另一个坐标系的关系。可以将坐标轴单位向量用参考坐标系表示定义一个 22 的矩阵:ABR=Ax?BAy?B=cossin-sincos.空间三维朝向,按照图 2 的方法,写出旋转矩阵 R:ABR=Ax?BAy?BAz?B.2.2机械臂硬件设计2.2.1机械臂选型机械臂按不同的结构形式,可以分为直角坐标型收稿日期:2022-05-18基金项目:江苏省教育厅 2021 年大学生创新创业训练项目基于图像识别的物流分捡机器人(项目编号:202113579013Y)第一作者简介:孙浩洋(2000),男,江苏徐州人,本科,研究方向为电气。总第 223 期2023 年第 1 期现代工业经济和信息化Modern Industrial Economyand InformationizationTotal 223No.1,2023DOI:10.16525/ki.14-1362/n.2023.01.039图 1机械臂控制流程图图 2二维坐标系变换yAyBxBxA开始机械臂主控板接收到夹取信号Openmvi 识别目标物体,并将目标物体坐标通过串口发送到机械臂控制板机械臂控制板进行逆运动解析,计算出每个多级对应的 PWM值完成目标物体夹取结束技术创新现代工业经济和信息化第 13 卷图 6目标物体时 OpenMVIDE 运行情况机械臂、圆柱坐标型机械臂、球坐标型机械臂和多关节型机械臂3。本文选用的关节型机械臂如图 3 所示,结构最紧凑,具有更强的灵活性,而且价格相对较低。其中,云台选用大扭力的 1501 舵机,末端执行器选用的是 LDX-335MG 数字舵机,该舵机具有防堵转功能,当堵转时间超过 4 min 时,舵机停止工作,防止调试过程中因误操作导致舵机损坏,6 个舵机均为高精度的数字舵机。2.2.2机械臂主控板设计机械臂主控 PCB 实物如图 4 所示,其工作任务主要是串口接收 OpenMV目标识别发送的数据、并对目标物的坐标进行数据处理、逆运动学分析,并求解各个舵机所需要旋转的角度和对应的 PWM值,驱动舵机快速准确地夹取目标物体、通过串口接收到放置信号将夹取的目标物体放置到规定位置。主控部分采用 STM32F103C8T6 系列单片机作为核心控制,此款单片机内置资源丰富,可靠性高,同时还具有丰富的接口资源。1)USART接口:实现板间通信。2)AD采集接口:检测采集电压是否满足需求。3)普通 I/O接口:点亮 LED灯来显示机械臂运行状态。蜂鸣器电压过低提醒。4)定时器接口:分时控制 6 个机械臂。3目标识别3.1九点标定算法手眼标定根据摄像头与机器人的位置不同,分为Eye-to-Hand 和 Eye-in-Hand 两种方式。Eye-to-Hand关系的摄像头安装在固定位置,不随机械臂的运动而改变位置,Eye-in-Hand 关系的摄像头安装在机械臂末端执行器上,机械臂运动摄像头坐标系也随之变化4。本文要识别静态规则的几何体,采用Eye-to-Hand 系统,摄像头安装在固定操作台上,进行采集图像信息,经过图像处理后进行目标物识别,确定相对于机械臂坐标下目标物的坐标,由 STM32 开发板发送控制信号,控制机械臂完成搬运任务。选取的标定的方法为九点标定法。九点法手眼标定流程包括两个部分,一部分是标定板中靶点在机器人坐标系下坐标的获取,一部分是标定板中靶点像素坐标的获取。摄像头在放置好标定板后获取一张标定板图像,通过相应的图像处理,得到靶点的像素坐标。标定板上以机械臂底座中心为原点,绘制机械臂坐标系,靶点在机器人坐标系下的坐标,可以由标定板直接获取5。具体流程如图 5 所示,首先进行图像读取,然后计算中心点,同时获得机械人坐标记录,最后通过转换矩阵计算得到参数,完成标定。3.2目标识别程序识别目标物体时 OpenMV IDE 如图 6 所示,首先进行感光原件的初始化 Sensor.reset(),选择色彩模式sensor.RGB565,设置相机模块的分辨率大小为 320240,防止颜色失真,关闭白平衡和自动增益。初始化串口 4,与 STM32 进行串口通信。只需要传输待识别物坐标,直接输出字符串即可。设置检测色块阈值,调用 find_blobs()函数,将所得到的坐标带入手眼标定所得到的公式中,转换为相对于机械臂坐标系的坐标,调用 uart.write()函数进行数据传输。图 3六自由度机械臂图 4机械臂主控 PCB 实物图图 5标定流程圈像读职机器人坐标记录(九点)中心点计算转换矩阵计算得到参数完成标定舵机 6舵机 5舵机 4舵机 3舵机 2舵机 1OpenMV通过串口传输目标物体坐标标记目标物体1082023 年第 1 期分拣动作程序由追踪和抓取两部分组成。当系统接收到分拣指令时,工作区域将被 OpenMV 检测是否有物块存在,初始检测次序为红、蓝、绿。若要切换检测次序,需要对单片机发出切换次序指令,或者对内部检测部分程序进行修改。如果物块被检测到,则可以进行追踪动作,OpenMV 会记录物块坐标发送给STM32,STM32 接收后将其转换成机械臂坐标发送给机械臂,机械臂根据坐标追踪到物块。当完成对物块的追踪后,则对物块进行抓取。若在程序中设定了指定坐标,则在完成抓取后将物块放置在相应位置。相关流程如图 7 所示。4系统测试为了验证分拣系统操作的效果,选取三种不同颜色的正方形物体放入系统的工作区域内,让系统对不同颜色、位置的目标进行分拣操作,最终实现对系统分拣成功率和分拣精度的测试。具体测试过程如图8 所示。4.1分拣成功率测试每次分别对 3 种不同颜色的物块进行分拣并记录测试数据,测试结果如表 1 所示。对表 1 的实验结果进行对比和分析,发现在物块颜色区分度明显的环境下,采用九点标定法,具有更好的目标识别性。这是由于机器视觉算法与机械臂相结合,对物块有更多的描述和刻画,更好地实现对物块的识别,达到预期目标。4.2分拣精度测试以夹取红色物块为例,多次对物块进行分拣操作,每次将物块位置随机放置并记录测试数据。从中随机抽取 8 组数据,如表 2 所示。对表 2 的数据进行分析,可以看出,基于九点标定法的机械臂抓取系统,对任意放置在机械臂目标区域下的物体,能够比较精确地获取其坐标值,进而实现成功抓取。5结语本文采用九点标定法完成机械臂分拣系统的设计,该系统成功完成了数据检测、目标追踪和控制机械臂分拣等功能。经测试,对任意放置在机械臂目标区域下的物体,能够准确地获得其坐标值,进而实现抓取功能,完成对目标的分拣,改善了因物体位置解算不准确,抓取错误的情况。系统调试方便,操作简单,可移植性好,具有一定的实用价值。参考文献1李广创.六自由度焊接机械臂运动规划研究 D .广州:广东工业大学,20202古月居.干货位置角度平移旋转,“乱七八糟”的坐标变换EB/O L.2020-1-20.http:/ D .武汉:华中科技大学,20174杨三永,曾碧.基于机器视觉的目标定位与机器人规划系统研究J.计算机测量与控制,2019,27(12):161-1655邓晓燕,云雪,郑安,等.SCARA 机械人实验平台视觉标定研究D .广州:华南理工大学,2020(编辑:郭萍茹)(下转第 144 页)图 7程序流程图图 8系统测试过程8-1物块初始位置8-2抓取过程表 1测试数据分拣顺序红色蓝色绿色第一次成功分拣成功分拣分拣失败第二次成功分拣成功分拣成功分拣第三次成功分拣成功分拣成功分拣表 2测试数据编号数据对比物块坐标和方向X/mmY/mm/()1测量值22613125计算值224.2132.723.972测量值34011519计算值341.6116.519.733测量值28515137计算值286.4154.236.484测量值22116228计算值220.3164.227.165测量值16420342计算值165.9205.142.646测量值31511223计算值316.8113.723.717测量值19227555计算值193.1276.856.188测量值14018963计算值140.9190.562.32机械臂抓取OpenMV摄像头STM32开发板图像处理传输信号孙浩洋,曹彦,卞科琪,等:基于九点标定机械臂抓取的设计及应用109现代工业经济和信息化第 13 卷接,在本地工作站中建设 CIAS 系统的 Web 应用工作区 workspace。在实际的开发中,应直接在该工作去展开操作,不需要直接操作 CIAS 系统中的 Web 服务器,一切操作都可利用 HTTP 有本地传输至 Web 服务器中。5.2建设 Web 页面借助 HTTP 页面或者文本编辑工具,创建软件并建设用户信息的提交页面以及 CIAS的静态 HTML。5.3进行数据连接,操作数据库在开发 CIAS工作中建设数据之间的连接属于核心内容,其具体操作步骤为以下所示:1)和数据库进行连接。在建立数据信息的连接之前应选择数据来源,一般来说数据源可以分为两种:Machine Data Source(系统数据源)和 File Data Source(文件数据源)。本次开发 CIAS 将使用 File DataSource,主要原因为利用 ODBC 数据驱动程序来访问本地工作站中所支持 CIAS数据库的所有类型,可使用一个单一的文件来存储同种数据之间的连接信息,这样有助于以后进行系统更新和移植。首先使用数据源驱动程序SQLServer,随后确立网络数据库具体的安全性检验方法和所在服务器;当连接和