APP下载

基于九点标定机械臂抓取的设计及应用★

2023-03-01孙浩洋卞科琪魏翱翔孔庆峰

现代工业经济和信息化 2023年1期
关键词:物块舵机运动学

孙浩洋,曹 彦,卞科琪,魏翱翔,孔庆峰

(中国矿业大学徐海学院,江苏 徐州 221000)

引言

随着科学技术的不断进步,机器人正向着协作化、自动化、网络化以及智能化方向发展,为保障机器人作用的精准高效,机器视觉技术成为持续关注的热点,并得到广泛应用。传统的物体分拣过程受物件特征的影响较大,导致搬运效果低,分拣错误率高。使用视觉技术的机器人能提高速度、增加信息量的贮备,并且能避免人工操作带来的误差,因此,机器视觉技术在分拣领域具有良好的应用前景。本文主要研究基于九点标定算法分拣机器人的组成关键技术及其技术优势,针对抓取过程中出现的问题提出了可行性解决方案,为物流分拣机器人关键技术提供一些参考。

1 分拣系统总体设计

对于目标识别和机械臂分拣控制,分别采用机器视觉技术和关节型机械臂来完成任务。总体设计思路为:由OpenMV采集图像信息,STM32接收到传输信号,将算法处理后的传输动作信号传输给舵机,6个舵机控制机械臂按照指令完成相应的动作。

图1所示为机械臂控制流程:机械臂主控板接收到夹取命令后,利用OpenMV识别目标物体,并将目标物体坐标经过坐标转换,进行九点标定,通过串口发送到机械臂控制板,机械臂控制板进行逆运动学解析,计算出每个舵机对应的PWM值,完成目标物体的夹取。

图1 机械臂控制流程图

2 机械臂设计

2.1 机械臂运动学原理

为了完成机械臂对目标物体的夹取和放置任务,需要进行机械臂的运动学分析。机械臂运动学研究各关节运动与机械臂末端执行器位姿之间的关系,主要包括正向运动学和逆向运动学。正运动学解析是已知机械臂各连杆参数及关节变量,解算出末端执行器的姿态。逆运动学解析是已知末端执行器的姿态,求解要设置的关节可活动对象的参数[1]。

使用笛卡尔坐标系描述空间位置,使用右手坐标系,即绕z轴旋转时,y轴在x轴的+90°方向,一般将物体的名称写在右下角,如坐标系{A}中点O的位置向量写作ApO[2]。描述物体在坐标系中的位置,可以描述为坐标系之间的关系。二维变换如图2所示,图中描述了一个坐标系相对于另一个坐标系的关系。

图2 二维坐标系变换

可以将坐标轴单位向量用参考坐标系表示定义一个2×2的矩阵:

空间三维朝向,按照图2的方法,写出旋转矩阵R:

2.2 机械臂硬件设计

2.2.1 机械臂选型

机械臂按不同的结构形式,可以分为直角坐标型机械臂、圆柱坐标型机械臂、球坐标型机械臂和多关节型机械臂[3]。本文选用的关节型机械臂如图3所示,结构最紧凑,具有更强的灵活性,而且价格相对较低。其中,云台选用大扭力的1501舵机,末端执行器选用的是LDX-335MG数字舵机,该舵机具有防堵转功能,当堵转时间超过4 min时,舵机停止工作,防止调试过程中因误操作导致舵机损坏,6个舵机均为高精度的数字舵机。

图3 六自由度机械臂

2.2.2 机械臂主控板设计

机械臂主控PCB实物如图4所示,其工作任务主要是串口接收OpenMV目标识别发送的数据、并对目标物的坐标进行数据处理、逆运动学分析,并求解各个舵机所需要旋转的角度和对应的PWM值,驱动舵机快速准确地夹取目标物体、通过串口接收到放置信号将夹取的目标物体放置到规定位置。主控部分采用STM32F103C8T6系列单片机作为核心控制,此款单片机内置资源丰富,可靠性高,同时还具有丰富的接口资源。

图4 机械臂主控PCB实物图

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所示,首先进行图像读取,然后计算中心点,同时获得机械人坐标记录,最后通过转换矩阵计算得到参数,完成标定。

图5 标定流程

3.2 目标识别程序

识别目标物体时OpenMV IDE如图6所示,首先进行感光原件的初始化Sensor.reset(),选择色彩模式sensor.RGB565,设置相机模块的分辨率大小为320×240,防止颜色失真,关闭白平衡和自动增益。初始化串口4,与STM32进行串口通信。只需要传输待识别物坐标,直接输出字符串即可。设置检测色块阈值,调用find_blobs()函数,将所得到的坐标带入手眼标定所得到的公式中,转换为相对于机械臂坐标系的坐标,调用uart.write()函数进行数据传输。

图6 目标物体时OpenMV IDE运行情况

分拣动作程序由追踪和抓取两部分组成。当系统接收到分拣指令时,工作区域将被OpenMV检测是否有物块存在,初始检测次序为红、蓝、绿。若要切换检测次序,需要对单片机发出切换次序指令,或者对内部检测部分程序进行修改。如果物块被检测到,则可以进行追踪动作,OpenMV会记录物块坐标发送给STM32,STM32接收后将其转换成机械臂坐标发送给机械臂,机械臂根据坐标追踪到物块。当完成对物块的追踪后,则对物块进行抓取。若在程序中设定了指定坐标,则在完成抓取后将物块放置在相应位置。相关流程如图7所示。

图7 程序流程图

4 系统测试

为了验证分拣系统操作的效果,选取三种不同颜色的正方形物体放入系统的工作区域内,让系统对不同颜色、位置的目标进行分拣操作,最终实现对系统分拣成功率和分拣精度的测试。具体测试过程如图8所示。

图8 系统测试过程

4.1 分拣成功率测试

每次分别对3种不同颜色的物块进行分拣并记录测试数据,测试结果如表1所示。

表1 测试数据

对表1的实验结果进行对比和分析,发现在物块颜色区分度明显的环境下,采用九点标定法,具有更好的目标识别性。这是由于机器视觉算法与机械臂相结合,对物块有更多的描述和刻画,更好地实现对物块的识别,达到预期目标。

4.2 分拣精度测试

以夹取红色物块为例,多次对物块进行分拣操作,每次将物块位置随机放置并记录测试数据。从中随机抽取8组数据,如表2所示。

表2 测试数据

对表2的数据进行分析,可以看出,基于九点标定法的机械臂抓取系统,对任意放置在机械臂目标区域下的物体,能够比较精确地获取其坐标值,进而实现成功抓取。

5 结语

本文采用九点标定法完成机械臂分拣系统的设计,该系统成功完成了数据检测、目标追踪和控制机械臂分拣等功能。经测试,对任意放置在机械臂目标区域下的物体,能够准确地获得其坐标值,进而实现抓取功能,完成对目标的分拣,改善了因物体位置解算不准确,抓取错误的情况。系统调试方便,操作简单,可移植性好,具有一定的实用价值。

猜你喜欢

物块舵机运动学
对2016年江苏卷第14题的进一步探析和论证
基于MATLAB的6R机器人逆运动学求解分析
工业机器人在MATLAB-Robotics中的运动学分析
含齿隙弹载舵机的全局反步模糊自适应控制
基于D-H法的5-DOF串并联机床运动学分析
基于dsPIC单片机的飞艇舵机控制实现
物块在倾斜匀速运动传送带上的几类运动情景
基于高速同步485总线通信的多通道舵机控制器设计
基于运动学原理的LBI解模糊算法
基于云模型的舵机同步控制