APP下载

机器人智能化吊装技术研究

2020-03-09邹少元孔维天黄玲涛张红彦舒礼志

农业机械学报 2020年2期
关键词:运动学骨架分类器

倪 涛 邹少元 孔维天 黄玲涛 张红彦 舒礼志

(吉林大学机械与航空航天工程学院, 长春 130022)

0 引言

在港口、码头和矿山等大型货物吊运场合,传统情况下需要吊运驾驶员和吊运指挥员配合完成远距离吊装操作,其装卸安全和效率直接影响经济效益。随着人机交互技术的发展[1-3],将机器人技术和人工智能技术结合成为发展趋势。采用基于深度学习的人体肢体识别技术对吊运指挥人员吊装指令肢体信号进行识别,可完成智能化吊装操作。该方法无需吊运驾驶员的配合,可大大提升吊装效率和吊装工作的智能化水平。

现有人体行为识别技术主要有3种:①手动构建精细特征进行分类任务,主要有尺度不变特征(SIFT)[4]、方向梯度直方图(HOG)[5]、梅尔倒频谱(MFCC)[6]和费舍尔向量(FV)[7]等。该方法缺点是针对性较强,且通用性较差。②采用卷积神经网络(CNN)进行人体行为识别可以自动提取图像更深层次抽象特征[8-11],例如,文献[10]提出一种3D-CNN应用人体行为识别,该方法将扩展空间和时间肢体运动信息作为多通道输入,缺点是训练难度大。③循环神经网络(RNN)应用于人体行为识别近年发展迅速[12-14],RNN能够有效提取肢体动作时空特征和图像帧上下文信息,但是该方法最大的缺点是训练数据很难获取,且训练容易产生过拟合现象。

为克服上述方法存在的问题,本文提出一种基于神经网络集成学习方法的肢体动作识别智能吊装方法。

1 系统组成

吊装机器人肢体信号识别系统由机器人辅助吊装控制模块和肢体识别模块两部分组成,如图1所示。首先采用大变焦网络摄像头采集吊运指挥人员肢体图像,并使用TfPose提取人体18个关键骨架节点坐标,其中TfPose采用mobilenet-v2轻量化深度学习网络框架来减少运算量以及参数量。肢体识别模块作用是对TfPose采集人体骨架经处理得到骨架向量和RGB骨架图,分别作为BP神经网络和InceptionV3网络的输入,然后以BP神经网络和InceptionV3网络为基分类器,采用神经网络集成学习方法确定最优化权重,得到一个吊装指令肢体信号强分类器,完成吊装指令肢体信号识别;机器人辅助吊装控制模块采用D-H法进行吊装机器人正运动学分析和使用共形几何代数方法求解其逆运动学,将肢体识别模块识别吊装指令肢体信号转换为吊装操作。

2 吊装机器臂运动学分析

2.1 运动学D-H参数正解

吊装机器人运动学分析采用D-H方法,D-H参数表现机器人机械臂相邻连杆的位姿关系,该方法首先需要为机器人系统每个连杆建立独立参考坐标系,并推导相邻连杆间的齐次变换矩阵,最终构建吊装机器人系统运动学方程。其中机器人系统几何坐标关系如图2所示,从图2可以看出,卷扬系统(坐标系为{O5})固定于KUKA-KR16吊装机器人小臂(坐标系为{O4});参照文献[15]进行运动学建模和分析,其中各参数定义如下:ai为连杆长度;αi为连杆扭转角;di为关节偏移量;θi为关节角。

图2 机器人坐标系简图

参考KUKA-KR16官方技术资料说明书,根据D-H分析法构建吊装机器人各关节的D-H参数如表1所示。

表1中,a2=0.26 mm、a3=0.68 mm、a4=0.45 mm、d1=0.675 mm、d4=0.035 mm、d5=0.147 mm。按照该D-H表,吊装机器臂的关节角θ2、θ3的工作范围更新为:-125°<θ2<60°, -40°<θ3<244°。坐标系i相对于坐标系i-1定位变换方法为:绕i-1旋转αi,沿i-1轴平移ai,再绕i轴旋转θi,沿i轴平移di。参照文献[16]将此变换串联后得到矩阵

i-1Ti=Rot(i-1,αi)Trans(i-1,ai)Rot(i,θi)Trans(i,di)(i=1,2,3,4,5)

(1)

式(1)等价齐次变换矩阵为

(2)

从基座0到关节角3的齐次坐标变换矩阵为

0T3=0T11T22T3

(3)

关节角3到末端执行器的坐标变换为

3T5=3T44T5

(4)

代入表1的D-H参数,从基座坐标系{O0}到吊装机械臂末端执行器(即卷扬系统)的坐标系{O5}的坐标变换为

(5)

其中

si=sinθici=cosθi

cij=cos(θi+θj)sij=sin(θi+θj)

由式(5)可得吊装机器人末端空间位置坐标为

(6)

2.2 基于共形几何代数的运动学逆解

吊装机器臂逆运动学问题采用共形几何代数方法[17-19]进行求解,将机器人系统欧氏空间向五维闵氏向量空间(e1,e2,e3,e0,e∞)扩展,其中e0=(e1-e+)/2表示坐标原点,e∞=e-+e+表示无穷远点,e-为负无穷远点,e+为正无穷远点。吊装机器臂的机构链图以及共形几何点P3关节点逆解示意图如图3所示,其中P0=e0。

图3 机构链图及共形几何点关节点

基于共形几何代数的运动学逆解具体求解方法如下:

(1)基座坐标系{O0}从z轴平移d1确定P1位置的公式为

(7)

(2)建立平面π01t和π12,其中π12定义为与x0y0平面平行且通过P1和P2两点。通过平面π01t和π12可以确定P2的位置公式为

π01t=(P0∧P1∧Pt∧e∞)Ic

(8)

π12=e3+d1e∞

(9)

(10)

P2=S1∧π12∧π01t

(11)

参照文献[18]由欧氏空间转换到闽氏空间经验公式,可得到P2位置公式为

(12)

其中

(3)通过点P3以点P2为球心、a3为半径建立球面S2;同时通过点P3以点Pt为球心、Pt和P3两点距离为半径建立球面St。通过球面S2、St以及平面π01t三者的外积确定P3位置的公式为

P3=S2∧St∧π01t

(13)

(14)

(15)

参照文献[18]由欧氏空间转换到闽氏空间的经验公式,得到P3位置公式为

(16)

(4)关节转角求解

关节角θ1求解:关节角θ1为π01t与π0xz的夹角,由余弦定理可得θ1余弦函数为

(17)

(18)

关节角θ2求解:关节角θ2为线段L23(点P2和点P3的连线)和其在平面π12的投影线段Lproj夹角的余角,由余弦定理可得

(19)

(20)

其中

关节角θ3即线段P3Pt与线段P3PH之间的夹角,由余弦定理可得

(21)

(22)

图5 吊装机器臂及卷扬系统工作空间示意图

其中

2.3 机器人工作空间分析

吊装机械臂和卷扬机构正常工作需要保证卷扬机构位于吊装物体的上方,同时还需要保证吊装物体在摄像头的视场范围内。将视场焦点移至吊装机器人末端坐标系{O5}原点处,设{O5}的z轴为视场角的角平分线,nt为{O5}的z轴在基坐标系{O0}的坐标向量,如图4所示。则吊装物体是否位于视场角范围内判定式为

(23)

其中

式中θin——nt与{O0}z轴夹角

图4 工作空间的视场范围判断示意图

对吊装机械臂和卷扬机构工作空间可视化效果如图5所示,其中黑色区域为吊装机械臂工作空间区域,绿色区域为卷扬机构工作空间区域。

3 肢体动作识别分类器构建

3.1 数据预处理

BP神经网络输入为骨架向量,InceptionV3网络输入为三维RGB骨架图像。为了得到网络输入数据,首先使用大变焦网络摄像头对吊运指挥人员采集肢体图像,通过TfPose获取人体18个骨架坐标节点生成骨架向量;然后对骨架节点使用椭圆连接,并使用不同颜色着色以强化左右肢特征,剔除背景信息获得人体RGB骨架图。数据预处理过程如图6所示。

图6 数据预处理过程

图7 基于神经网络集成方法的吊装机器人肢体识别实施方法

参考机器人吊装指挥信号(GB 5082—1985)对9组待分类吊装指令肢体信号进行训练和识别,将提取的RGB骨架图采用4种方式进行数据增强以扩充训练数据:①采用-15°~15°随机旋转。②水平垂直两个方向平移像素距离分别控制在图像宽度和图像高度的5%~10%。③0.75~0.9倍和1.1~1.25随机缩放。④随机初始化反射变换矩阵进行仿射变换。9组吊装指令肢体信号每组采集1 000幅图像,共计9 000幅原始图像。每幅原始图像使用上述4种数据增强方式各产生1幅原图像副本,共得到45 000幅训练数据。采用数据增强方式提升肢体动作识别分类器构建分类精度,能够有效防止训练过程中产生过拟合问题。

3.2 网络架构

卷积神经网络凭借其网络深度和广度,能够提取更多图像局部特征和深层抽象特征。BP神经网络是一种多层感知神经网络,能很好地提取数据浅层特征。为发挥卷积神经网络和BP神经网络优势,参照文献[20-22]采用多个基分类器使用集成学习方法构建分类性能更强的分类器,以BP神经网络和InceptionV3网络为基分类器,采用神经网络集成方法确定2个网络最优权重,完成对吊装机器人肢体指挥信号分类任务,实施方法如图7所示。肢体识别过程主要包括数据预处理模块和神经网络集成模块。其中神经网络集成模块包括InceptionV3网络迁移学习模块、BP神经网络模块以及网络集成模块。

3.3 神经网络集成方法

构建InceptionV3网络和BP神经网络2个基分类器分别提取RGB骨架图和骨架向量肢体动作特征。针对InceptionV3网络,首先使用ImageNet数据集在InceptionV3网络的预训练权重完成InceptionV3网络卷积层参数的初始化,提升网络性能的同时加快肢体动作识别分类器构建网络训练收敛速度。InceptionV3网络训练过程中设定参数包括:批大小为32、学习率0.001、动量大小0.9以及终止迭代次数1 000;针对BP神经网络,对提取的骨架向量直接作为BP神经网络输入层,网络训练参数为:网络隐含层个数为2个,分别提取骨架坐标的点线面特征(即浅层特征)、通过试凑法确定两个隐含层节点个数分别为78和72、dropout概率为0.5以及终止迭代次数为1 000。

在完成InceptionV3网络和BP神经网络的分类器训练后,采用神经网络集成方法[23]确定两个分类器最优权重,能够更好地综合两个分类器性能以构建一个强分类器。假设InceptionV3网络和BP神经网络被赋予权值为ω1和ω2,满足ω1、ω2≥0且ω1+ω2=1,假设网络输入x满足p(x)分布,最终输出为d(x),第i个成员网络fi输出为fi(x),通过两个网络加权平均完成神经网络集成输出为

(24)

图9 9组吊装指令肢体骨架提取效果

除第i个网络fi外,剩余网络在输入x下的输出为

(25)

网络集成产生的泛化误差为

(26)

参照文献[23]采用GASEN-e方法完成InceptionV3网络和BP神经网络权重确定[23]。

4 实验与结果分析

4.1 实验环境

实验主要依托KUKA-KR16机器臂、工业控制计算机以及大变焦网络摄像头,吊装实验平台如图8所示。

图8 吊装实验平台

其中工业计算机配置为intel i7-7700K处理器,运行内存8GB,为减小计算量将输入图像压缩至320像素×240像素,采用CUDA9.0+CuDNN7并行计算架构对GTX980显卡进行加速。以InceptionV3网络和BP神经网络为基分类器,采用神经网络集成学习方法确定最优化权重,完成对吊装信号肢体指令识别。最后将识别的肢体指令信号传给机器人控制模块完成吊装操作。在Python集成开发环境PyCharm下,使用PyQt编写软件界面采用多线程编程将视频实时预览和肢体识别算法分离以实现肢体动作的实时识别,单帧图像识别时间126 ms。InceptionV3和BP神经网络的精度分别为0.926和0.906,分配优化权重精度为0.977,显著提升了分类器的性能。

4.2 肢体识别结果

在室外强光、室内和室外暗光3种环境下完成9组吊装指令肢体骨架提取,效果如图9所示。从图9中可以看出网络在复杂环境背景下具有很好的提取效果。

9组吊装指令分别为预备命令、向前运动、向后运动、吊钩上升、吊钩下降、向左运动、向右移动、吊钩停止以及工作结束。对3.1节获得的45 000幅图像按照比例5∶3∶2分配给训练集、验证集和测试集,神经网络集成学习方法分类结果的混淆矩阵如图10所示。从图10可以看出,对9组指挥信号平均识别精度达0.977,同时网络具有很好的泛化能力,以吊钩上升命令分析为例,虽然预备命令和吊钩上升命令只有右手、右肘和右肩的轻微不同,二者识别率都为0.98。

图10 9组吊装指令分类结果混淆矩阵

吊装机器人本体和6个关节定义如图11所示,其中吊装物体通过绳索缠绕在卷扬机构,卷扬机构则固定于A6轴,对应吊装物体的吊装上升和吊装下降;A1轴运动对应吊装机器人向左和向右运动;A2轴运动对应吊装机器人向前和向后运动。

图11 机器人本体及6个关节定义

5 结论

(1) 采用D-H法对吊装机器人进行正运动学分析,以确定卷扬机构工作空间范围,并使用共形几何代数方法求解逆运动学,完成吊装机器人从当前位置运动到指定位置的数学建模。

(2)由于OpenPose复杂度较高,以大变焦网络摄像头为图像采集设备,采用TfPose完成吊运指挥员骨架提取,经数据处理得到骨架向量和RGB骨架图,分别作为BP神经网络和InceptionV3网络的输入。

(3)以InceptionV3和BP神经网络为基分类器,采用神经网络集成学习方法确定最优化权重,完成肢体识别,最后将识别的吊装指令肢体信号通过UDP通信传送给吊装机器人控制模块,完成吊装操作,实现分类精度为0.977,显著提升了分类器的性能,提高了吊装工作效率。

猜你喜欢

运动学骨架分类器
轿车前后悬架运动学仿真分析
学贯中西(6):阐述ML分类器的工作流程
浅谈管状骨架喷涂方法
基于朴素Bayes组合的简易集成分类器①
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
复合切割机器人的运动学分析与仿真研究
一种自适应子融合集成多分类器方法
周博士考察拾零(六十六)日光温室前屋面开机具作业门处骨架的处理方法
博泽引领座椅骨架技术发展
基于运动学特征的新型滑板对速滑蹬冰动作模拟的有效性