基于机器学习的机械臂抓取系统设计

(整期优先)网络出版时间:2023-01-07
/ 2

基于机器学习的机械臂抓取系统设计

孙伟杰,王皓, 周祺, 李景阳

滨州学院航空工程学院 山东 滨州 256603

摘要:近些年来,随着科技的不断发展,机械臂因其工作效率高的优点在工业生产中的被广泛应用,但传统机械臂通常按既定流程进行目标抓取工作,无法接受外界信息,当目标位置改变时便需要重新设定控制程序,因此结合当下智能制造的发展趋势,将机器视觉技术与机械臂控制技术相结合,提高机械臂的智能化程度具备重要的研究意义和应用价值。本文针对传统机械臂无法自主抓取的局限性,以Kinect  v2 视觉传感器和六轴机械臂为研究对象,将机器视觉技术应用于机械臂抓取任务中,提高机械臂抓取系统的感知能力,实现机械臂的自主抓取功能。

关键词:机器视觉;目标定位;机械臂;轨迹规划

基金项目:山东省大学生创新训练项目(S202210449099)。

0引言

机械臂是工业机器人中最常见的一种构型,通常按照人类的手臂关节去设计,拥有模仿人类手臂去完成移动物体、抓取目标、操作工具等工作的能力。目前在工业机器人领域,机械臂常用于焊接、抓取、搬运以及采摘等生产活动,机器人中也出现很多安装两个机械臂的人形服务机器人。机械臂在处理固定流程工作,如定点抓取与放置、工件的装配等重复性的任务上有着人类难以企及的效率与准确率,

传统的工业生产中,依据固定的工作流程,控制器指挥机械臂完成生产任务,机械臂的每一次动作都是规划好的,所以对于分拣货物、采摘果蔬等需要判别或一定自主性的工作任务便显得捉襟见肘,而将机器视觉技术与机械臂控制相结合,就等于赋予机械臂一双“眼睛”,让它能够像人一样自主识别需要抓取或分拣的目标。基于机器视觉的机械臂控制系统解决了机械臂在复杂工作环境和工作任务中灵活性不足的问题,在本质上提高了机械臂的自主程度和智能程度,增强了机械臂的适应性。

1系统总体设计

基于机器视觉的机械臂抓取系统主要由视觉识别系统和机械臂运动控制系统两部分组成,视觉识别部分主要负责识别目标物体并将其定位,机械臂部分主要负责执行抓取目标物体的作业任务。

基于机器视觉的机械臂抓取系统是根据视觉传感器获取的图像信息,识别定位目标物体的位置并控制机械臂末端执行器运动到该位置实施工作任务的系统,本文研究的主要内容是控制机械臂末端的机械爪去抓取目标瓶体的抓取任务。在实际应用中,手(机械臂爪子)和眼(视觉传感器)有通常有两种相对位置,第一种是将视觉传感器固定在末端机械爪上的眼在手上方式,另一种是将视觉传感器固定在机械臂外的眼在手外方式。眼在手上的方式中,传感器的自身的坐标系在世界坐标系下是实时变化的,这无疑增加了系统的计算量,而眼在手外的方式中传感器坐标系相对于世界坐标系的关系是确定的,从而减少了系统的计算量。同时视觉传感器对于机械臂和目标物体有着良好的观察视角,经分析,采用眼在手外的方式搭建视觉机械臂系统。

在基于视觉的机械臂控制系统中,常用的控制结构是基于图像的视觉系统,以获取二维图像与期望图像的差异作为控制参数,根据二维图像的控制规律对机械臂进行控制,

视觉机械臂控制系统在执行识别抓取任务时,依据执行功能的不同将整个系统划分为视觉识别系统和机械臂运动控制系统。视觉识别系统中的图像传感器采集传输图像信息,上位机使用 OpenCV 视觉库进行图像预处理、图像分割、特征提取、识别定位等处理运算后得出目标的位置信息,此时机械臂运动控制系统在ROS 平台中通过得到的目标位姿进行机械臂的逆运动学解算和轨迹规划,规划所得到的运动指令通过Soket 通信传输给机械臂控制器,控制末端机械爪的运动和抓取,同时机械臂控制器实时反馈机械爪在空间中位姿,最后实现整个系统的识别抓取任务。

2视觉识别系统设计

视觉识别系统主要任务就是实现在实验室复杂环境背景下准确识别出图片中的目标物体并对目标进行定位。视觉传感器是视觉识别部分的核心硬件,也就是获取图像信息的相机,通常选取视觉传感器需要考虑相机的信号类型、分辨率、帧率以及传输方式。信号类型分为模拟信号和数字信号,因为模拟信号容易被其他电子设备的电磁信号干扰导致图像的失真,所以视觉系统中大部分使用抗干扰能力较强的数字信号相机。分辨率代表获取图像的精度,基本单位是像素,分辨率越高意味着图像的精度越高,细节越完整,对于视觉系统来说,高分辨率是很重要的一点。

视觉识别系统的软件平台主要负责对Kinect  v2 传感器采集的图像信息进行图像处理。由于视觉识别系统需要和机械臂运动控制系统进行数据传递,所以需要一个相对独立、开源、能够适应多平台的图像处理软件包,本文选用OpenCV。OpenCV 主要由四个功能模块组成,分别是:负责基本数据结构以及相关函数的CXCore 模块;负责图像处理与机器视觉函数的 CV 模块;负责机器学习算法的库 ML 模块;负责图像与视频读写函数的 HighGUI 模块。

本文的视觉识别系统将借助 OpenCV 视觉开发库,对采集到的图片进行图像处理以及识别和定位,完成获取目标物体位置的任务。

3机械臂运动控制系统设计

机械臂运动控制系统的上位部分负责对机械臂进行运动学规划,向下发送运动指令,底层硬件负责接受运动指令并执行机械臂抓取任务,同时反馈位姿给上位机以便进行下一步规划。机械臂的抓取任务需要精确控制各关节电机转角,所以根据本系统需求,选择使用位置控制方式控制伺服电机。接下来对机械臂运动控制系统的硬件设备与软件平台进行分析选取。

机械臂运动控制系统的底层硬件主要包括:机械臂本体和机械臂控制器。机械臂本体是整个系统控制的主体硬件结构,包括多个刚体经由舵机关节连接组成的臂体以及末端执行器。根据系统的需求,为了实现机械臂的抓取任务,本系统选取小巧轻便,性价比较高的 AS-6DOF 六轴铝合金机械臂作为研究对象。

机械臂运动控制系统软件平台需要负责机械臂的建模、仿真以及运动规划,其中涉及到大量的编程与计算,一个合适的机器人开发平台可以减少开发人员在系统集成和环境配置方面的工作量,从而有更多时间去完成控制需求的设计。

本文所研究的机械臂基于实验室环境装配和调试,主要目标是完成实验抓取任务,ROS 平台集成了多种工具包和库,其中包含了 OpenCV 视觉算法、运动规划算法等,同时支持 C++、Python 等多语言编程,拥有良好的交互界面,所以本系统选用 ROS 作为软件开发平台。

4实验平台搭建

视觉机械臂系统中两个主要模块的软硬件方案,根据该方案确定上位机的系统与配置以完成实验平台的搭建。上位机的功能为视觉系统与机械臂系统的软件平台提供环境,同时负责与视觉传感器以及机械臂控制器进行通信。整个实验平台主要包括一个摆放目标瓶体的木制操作平台、被用于当作目标物体抓取的瓶子、位于操作平台正前方的 Kinect v2 视觉传感器、固定 Kinect v2的三脚架、固定在操作平台正后方的机械臂本体机器控制器。其中,机械臂的底盘与操作平台高度一致,保证了基坐标系与目标瓶体放置平面的一致;Kinect v2被安置于平台的正前方,使得相机与机械臂相对位置确定,保证了系统可以准确识别与定位操作平台上的目标物体,同时也确定了后续研究分析中的两者坐标系之间的相对位置。

5结论

作为四旋翼飞行器,提高四旋翼的稳定性、可靠性和安全性一直是研究的重点。随着容错控制技术的发展,容错技术在四旋翼飞行器上的应用已成为必然。基于控制器组的故障诊断和切换控制,本文提出了一种单翼损伤四旋翼飞机的容错控制方法,使四旋翼飞机在执行器故障后具有更好的容错能力,从而进一步提高四旋翼飞行的可靠性和稳定性。

参考文献:

[1]李明,张汝麟.我国飞机主动控制技术的开发与验证[C].钱学森技术科学思想与力学论文集.2001:84-91.

[2]杨光红,王恒,李霄剑.基于模型的线性控制系统故障检测方法[M].北京:科学出版,2010:56-62.

[3]金小怔.基于自适应技术的分布式系统容错控制[D].沈阳:东北大学,2009.