工业机器人运动控制系统设计研究

2020-11-13 03:38王玉婷
微型电脑应用 2020年10期
关键词:工业机器人实现路径

王玉婷

摘要:围绕机器人运动控制系统展开研究,通过NURBS实时插补算法,完成了机器人运动控制系统的设计和实现过程,通过使用嵌入式ARM工控机作为上位机完成了机器人运动控制系统的开发。系统采选用C++作为开发的编程语言,图形用户界面开发跨平台的Qt软件,系统控制核心选用了运动控制卡DMC,使用MATLAB对基于NURBS插补算法的运动控制系统进行仿真实验,验证了采用NURBS插补算法的控制系统的实用性和通用性,结果表明该系统有效实现了工业机器人对复杂运动的精确控制过程。

关键词:工业机器人;运动控制系统;NURBS插补算法;实现路径

中图分类号:TP242.2

文獻标志码:A

ResearchonDesignofIndustrialRobotMotionControlSystem

WANGYuting

InstituteOffice,YantaiAutomobileEngineeringProfessionalCollege,Yantai265500,China

Abstract:Thispapermainlystudiestherobotmotioncontrolsystem.ThedesignandimplementationprocessoftherobotmotioncontrolsystemarecompletedbyusingNURBSrealtimeinterpolationalgorithm.TherobotmotioncontrolsystemiscompletedbyusingtheembeddedARMindustrialcomputerastheuppercomputer.ThesystemadoptsC++asthedevelopmentprogramminglanguage,thegraphicaluserinterfacedevelopscrossplatformQtsoftware,thesystemcontrolcoreselectsDMC,andusesMATLABtosimulatethemotioncontrolsystembasedonNURBSinterpolationalgorithm.TheresultverifiestheuseofNURBSiscorrect.Thepracticabilityandversatilityoftheinterpolationalgorithmcontrolsystemshowthatthesystemeffectivelyrealizestheprecisecontrolprocessofindustrialrobotsforcomplexmotion.

Keywords:industrialrobot;motioncontrolsystem;NURBSinterpolationalgorithm;implementationpath

0引言

随着信息科学技术的迅速发展,工业机器人在控制质量、工作效率、成本等方面表现出了较大的优势,运动稳定、速度可调节、抗疲劳的工业机器人能够替代人工完成相应的操作(包括完成一些具备高危险系数的工作),将机器人应用到工业生产中能够在使生产效率、产品质量得以有效提高的同时显著降低人工工作量及生产成本,工业机器人已经成为工业现代化发展的重要支撑工具,在各行业中得以广泛使用,作为一项重要的机电一体化技术机器人运动控制已成为工业生产领域的重点研究方向。运动控制是实现机器人功能的基础和重点,对机器人的性能起到直接决定作用,工业机器人在实际生产使用过程中易被多种因素干扰(如电、磁等),对工业机器人的设计方案尤其是各项产品参数提出了更高的要求,需确保运动控制系统具备高效运动控制功能及稳定的性能,因此本研究主要对机器人运动控制系统进行了设计。

1需求分析

随着工业机器人在工业领域的广泛应用,对机器人的控制及操作要求不断提升,工业机器人主要由本体、驱动装置及控制系统构成,在轨迹空间中工业机器人需完成除基本运动(包括直线、圆弧等)外较为复杂的运动,具备拟人功能的运动控制系统(一种机械电子装置)作为工业机器人的核心构成部分集合了多种现代先进技术(包括网络计算机、人工智能、电子机械、传感器等),通过运动控制系统实现机器人复杂的轨迹运动,在实现复杂几何造型上NURBS方法因具备较大的优势而得以在CAD中广泛应用,因此充分运用NURBS插补算法实时可靠的优势,在研究了NURBS轨迹规划的基础上对机器人运动控制系统进行设计具有较高的实际应用价值。目前国内已有工业机器人运动控制系统大多存在扩展性和通用性方面的不足,导致使用方面的局限性,大多只适用于特定的机器人[1]。本研究针对UPR100本体工业机器人(6自由度)在现有研究的基础上完成了运动控制系统的设计和实现过程,采用模块化的设计原则,通过使用DMC运动控制卡实现主要控制功能,结合运用了抗干扰能力强(防潮、防尘、防振)、稳定可扩展的工控机,实现对机器人运动过程的精准控制。

2工业机器人运动控制系统设计

作为一项较为复杂的系统工程,基于人工智能装置的完整机器人主要由执行机构、驱动装置(由驱动器、减速器、检测元件构成)、控制系统(主要由传感器和电子计算机构成,)等构成,模仿人类手臂动作的操作机主要负责完成各类实操作业(主要由机座、末端执行器、机械臂构成),驱动装置负责完成电能到机械能的转换从而将动力提供给操作机(可采取电力、液压、气压几种驱动方式);控制系统负责完成对机器人的检测和操作控制过程以完成规定的动作,包括对机器人运动参数的检测控制及反馈控制;人工智能系统主要负责完成逻辑判断、模式识别及操作等功能(主要由实现感知功能的传感系统以及决策、规划、专家系统构成)。本研究构建的移动控制系统基于现有6自由度工业机器人完成,硬件部分负责执行软件部分规划的操作,软件部分主要功能在于完成机器人程序的解译、插补运算、轨迹规划(包括运动学正逆解),驱动机器人不同关节及末端装置的运动。

2.1设计思路

机器人操作的顺利完成离不开运动控制系统,运动控制系统的发展经历主要包括集中控制(所有控制功能均通过一个CPU实现)、主从控制(由主、从CPU构成,分别负责变换坐标并生成轨迹、控制机械手动作)、分级控制(由上级主控计算机和下级多个微处理器构成,分别负责完成包括坐标变换、生成轨迹在内的系统管理以及对机械手关节坐标及伺服控制的分管与处理)。应用广泛的机器人对运动控制系统的研究和设计过程提出更高的要求,为适用不同种类机器人需采用开放式系统结构,同时采用模块化设计方式(即将系统划分成实现不同子任务的多个功能模块)提高系统的实用性和可靠性,多個机器人的协同控制需通过具备网络通讯功能的运动控制系统实现(包括资源共享);通过直观形象的人机接口及操作界面提升系统的人机交互性[2]。工业机器人运动控制系统主要由上位机、驱动装置、执行控制器构成,由上位机负责机器人管理和实时监控,将位姿指令传递至区域控制器进行运动协调计算,由区域控制器实现对机器人各关节坐标及轨迹的变换和生成,再由执行控制器在完成机器人位姿及工作状态的检测和实时采集的基础上实现对各关节伺服运动的有效控制过程。

2.2控制系统硬件设计

本研究所设计的运动控制方案分别采用嵌入式ARM工控机(FreescaleIMX6)和DMC控制卡(Galil公司)作为系统的上位机和下位机,控制系统硬件架构,如图1所示。

针对6自由度工业机器人通过由DMC运动控制器提供的API实现了在工控机上根据实际需要进行二次开发的功能。ARM工控机以Cortex核心处理器作为CPU,具备丰富的硬件资源,有效的满足了控制系统的需求,工控机同DMC间采用以太网完成控制命令的接收与发送,DMC接收到程序命令后会据此发出相应的电机控制指令信号,在经伺服放大器放大后完成对机器人各电机转动过程的驱动进而实现各关节的按要求运动;工控机同样通过以太网收到各关节经DMC反馈的位置信号(通过相应的电机编码器),从而实现机器人状态的实时显示与监控管理,并且使数控设备有效满足精度与性能的要求[3]。

3控制系统的实现

3.1NURBS插补功能的实现

针对NURBS曲线轨迹,假设,控制顶点

由Pi表示其中i∈[0,n],同控制顶点对应的权因子由wi表示,t表示参数,k次B样条基函数由Bi,k(t)表示,取n+k+1个节点值(分别由u0,u1,…,un+k表示)组成节点向量通常u0、u1,…,uk的取值为0,un、un+1,…,un+k的取值为1,定义其在空间中的有理分式如式(1)[3]。

P(t)=∑ni=0wiPiBi,k(t)∑ni=0wiBi,k(t)

(1)

假设,t的变化范围表示为[t1,t2]=[uk,un],令:

Bi,0(t)=1,t∈[ui.ui+1]

0,t[ui.ui+1]

在此基础上定义Bi,j(t)如式(2)(分母为0作为其中分式的值为0)。

Bi,j(t)=(t-ui)ui+j-uiBi,j(t)+(ui+j-t)ui+j+1-ui+jBi+1,j-1(t)

(2)

(1)NURBS插补算法

通过插补前的预处理操作(即确定NURBS的轨迹表达式)可使插补计算量显著降低,进而确保了曲线的插补速度及实时性,以给定的Pi、wi及节点矢量为依据即可实现NURBS曲线的唯一确定,NURBS曲线插补的实质为将到NURBS曲线本身的近似逼近过程通过步长折线段(属于一个插补周期内)的使用完成,实现NURBS插补功能需要重点解决的问题为:密化参数,ΔL和Δu分别表示进给步长和相应的参数增量,即在完成ΔL由轨迹空间到参数空间映射的基础上,完成Δu及新点的参数坐标(表示为ui+1=ui+Δu)的求解[4]。计算轨迹,完成计算所获取的坐标值到轨迹空间的反向映射及插补轨迹的新坐标点(表示为pi+1=p(ui+1))的获取。在实际应用中通常采用3次由分段参数构成的NURBS曲线,各段曲线的分子/母的系数会参数u的变化而改变,对应各段如式(3)[5]。

pi(u)=C0(t1)+C1(t1)t2+C2(t1)t22+C3(t1)t32C′0(t1)+C′1(t1)t2+C″2(t1)t22+C′3(t1)t32(0≤t≤1,i=3,4,…,n)

(3)

本研究通过使用阿当姆斯算法解决参数密化问题,并采用前、后向差分结合的方法运算和求解过程的复杂程度显著降低,所获取的新插补点的参数估计值如式(4)。

i+1=14(9ui-6ui-1+ui-2)

(4)

计算轨迹使在求得参数ui+1的基础上完成其到ti+1的转换,然后带入分段表达式即可得到下个插补点位置如式(5)。

i+1=p(i+1)

(5)

在各插补周期内通过上述方法即可获取下一个插补点,重复操作直至插补结束后获取整个曲线的插补轨迹。在规划轨迹和插补过程中,获取曲线上各插补点的位置和姿态通过给出机器人在曲线中部分关键点的位置和姿态并结合插补算法及运动学正逆解实现。

(2)算法仿真

使用Matlab平台对本研究设计的插补算法进行仿真,控制节点在(0,1)间,控制顶点共有50个,权值取1,据此完成3阶NURBS曲线的确定,插补参数设置为:插补周期为1ms,最大进给速度及初始进给速度(由fmax、fs表示)分别为18mm/min和0,加速度上限为2500mm/s2,弓高误差上限及步长误差上限分别为1μm和0.001,最大法向进给加速度及最大加速度分别为0.8g和50000mm/s3,仿真实验结果如图2、图3所示,生成的插补点同规划轨迹相吻合[6]。

3.2软件设计与实现

在ARM工控机上实现软件部分,控制软件系统功能设计,如图4所示。

将Linux系统安装于FreescaleIMX6上(版本为ubuntu)后完成嵌入式Qt的移植,并在ubuntu中移植DMC控制卡的对应库,软件图形用户界面的主框架通过QMainWindow类的使用完成构建,各模块功能则通过QWidget/Dialog类的使用实现,通过Qt实现各模块间的信交流。将各编码

器的值通过ComandOM()函数进行读取后实现机器人各关

节转角的获取,以供运动学计算和轨迹规划;运动控制指令通过DownloadFile()函数完成到DMC的下载。文档中的二字符指令集用于代码级别的测试与简单控制。运动学分析模块通过运动学正解和运动学逆解实现机器人各关节转动的角度同空间中位置和姿态的相互对应,据此实现机器人的正确运行及其目标点情况的检测[7]。机器人的作业任务通过轨迹规划模块确定所需使用的基本运动形式(包括直线、圆弧运动插补及NURBS轨迹插补),进而实现自由曲线运动过程。

(1)机器人参数设置,据此完成对决定工业机器人本体结构的运动学DH参数、伺服驱动相关的决定对应机器人关节转动角度的分频比/倍频比的设置。(2)机器人轨迹规划,DMC运动控制器可有效解决复杂的运动问题,其所包含的轮廓模式提供位置时间曲线(在1~6轴内)的自定义功能,据此可实现对通过计算机产生轨迹的有效追踪。在控制系统中,通过工控机提供的算法实现运动学正逆解和空间运动轨迹的规划,并通过DMC协调控制各关节的运动情况,具体流程为:先建立空间轨迹参数方程,运动轨迹空间坐标向量(x,y,z)每32ms(运动轨迹的插补周期)计算获取,通过运动学反解末端空间坐标即可获取对应关节变量,据此计算得到电机轴的脉冲量(即各轴的脉冲增量),并记录到相应的轨迹规划文本中,轨迹规划流程,如图5所示。

接下来通过DMC中的DownloadFile()函数的调用完成轨迹规划文本到DMC的下载,在此基础上调用Command()执行命令完成自定义轨迹动作。(3)机器人示教作业,实现了包括MOVJ、NURBS、延时、数字运算等在内的运动指令集,将机器人末端通过轴控制按钮根据所选择的合适坐标系(以运动指令及指令参数为依据)完成到目标位置点运动的控制[8]。

4总结

智能化及自动化水平不斷提高的工业生产过程对工业机器人运动和控制提出了更高的要求,为使工业机器人空间中的复杂轨迹运动得以高效准确的实现,本研究以UPR100机器人本体作为研究对象完成了机器人运动控制系统的设计,硬件主要使用DMC控制卡和ARM工控机作为硬件构

成,结合运用Qt环境(通过ubuntu平台搭建)和NURBS插

补算法完成了控制软件的设计,通过控制系统操作界面即可实现机器人末端的自由曲线轨迹运动过程,该控制系统具备良好的扩展性、可靠性,为机器人控制领域的完善提供参考。

参考文献

[1]

王耀东,徐建明,徐胜华.基于CoDeSys平台的六自由度工业机器人运动控制器设计[J].计算机测量与控制,2018(9):103107.

[2]王振华,许琳娜,兰雪艳.基于WinCE的开放式6R工业机器人控制系统研究与开发[J].组合机床与自动化加工技术.2018(6):7680.

[3]韩瑜,许燕玲,花磊,等.六轴关节机器人系统结构及其关键技术[J].上海交通大学学报,2016(10):15211525.

[4]MingxinHou,LiJiang,HongLiu,etal.SignalProcessingforNoiseandOnlineForceModelingDetectionforaRobotHandBasedonEtherCATCommunication[J].IntelligentAutomation&SoftComputing,2016(1):1731.

[5]DelgadoR,KimSY,YouBJ,etal.AnEtherCATbasedrealtimemotioncontrolsysteminmobilerobotapplication[C].Proceedingsofthe13thInternationalConferenceonUbiquitousRobotsandAmbientIntelligence(URAI).2016:127136.

[6]李平,王建锋,李娜,等.基于Lyapunov直接法的移动机器人运动控制研究[J].中国科技论文.2016(2):160163.

[7]刘毅,丛明,刘冬,等.基于改进遗传算法与机器视觉的工业机器人猪腹剖切轨迹规划[J].机器人,2017(3):377384.

[8]岑洎涛,张平,何超杰,等.基于Unity3D的工业机器人跨平台可移动离线编程系统的研究和开发[J].组合机床与自动化加工技术,2018(10):7680.

(收稿日期:2019.07.22)

猜你喜欢
工业机器人实现路径
浅谈工业机器人的安全生产
基于力传感器的工业机器人力控试验系统的研制
论新疆民族互嵌型社区的建设:现实背景、基本概念和实现路径
基于虚拟样机的工业机器人末端液压夹持器的设计
经济责任审计发挥国家治理作用的实现路径
工业机器人模拟仿真技术在职业教育中的应用浅析
浅议人民银行金融稳定职能的实现路径
工业机器人现场编程工学结合课程开发
国际私法法典化的挑战与实现路径
基于SolidWorks的工业机器人离线仿真系统分析