APP下载

基于V-REP与MATLAB的机器人仿真应用

2020-08-26张世超陶存炳

舰船电子对抗 2020年3期
关键词:碰撞检测短距离位姿

张世超,陶存炳,黄 伟

(中国船舶重工集团公司第七二三研究所,江苏 扬州 225101)

0 引 言

《中国制造2025》是国务院印发的部署全面推进实施制造强国的战略,使用机器人替代一些传统的制造产业是实现制造强国的必要途径[1]。

机器人的轨迹规划和仿真在智能制造中占有非常重要的地位,目前通用的建模软件如CAD、CATIA、SOLIDWORKS等虽然可以精确建模并进行虚拟加工和制造,但其功能的扩展性和开放性较差[2]。另一类动力学模拟分析软件ADAMS、Recurdyn、RoboGuide、RobotStudio等物理引擎算法非常精确,但价格不菲,还需要每年续费。OpenGL虽然具有强大的图形库功能,但使用时需要大量的软件开发工作;对操作人员的专业知识和编程能力要求较高。而专用软件适用于特定品牌的机器人,难以进行扩展开发。

V-REP作为三维运动仿真软件,本身可以进行一般的建模,复杂的建模也可以通过三维软件生成模型然后导入使用[3]。V-REP也具有开源性和包含丰富的API等优点,可以联合MATLAB等软件进行联合仿真,但是MATLAB难以有效进行机器人及其工作环境的三维仿真[4]。V-REP联合MATLAB仿真既可以利用MATLAB强大的计算能力,又可以使得三维图形在V-REP中逼真地显示出来,同时后期可以进行碰撞检测和加工精度分析[5]。

1 工件加工轨迹的生成

工件加工轨迹的生成一般是在工件坐标系下进行的,工件坐标系一般会选择在工件的中心点位置,根据需要规划好工件的加工轨迹点的位置和姿态[6]。如图1所示,{G}为轨迹点坐标系,{P}为工件坐标系,以勺子为例需要对其进行铣削去毛刺,铣削路线包括勺子的外轮廓和柄孔。

图1 勺子三维模型

勺子为密胺脂材料注塑成型,成型后需要对其进行去毛刺作业,首先MASTERCAM中规划勺子的加工刀轨迹;然后用CAM软件进行后处理生成如图2所示的APT刀位文件,文件中包括了各个加工轨迹点的位置信息;之后用MATLAB读取APT刀位文件进行编程处理,确定相应的刀轨迹,刀轨迹分别是勺子的外轮廓和把手孔的进刀、走刀、退刀3个部分,图3所示为MATLAB生成的刀轨迹图[7-9]。

图2 APT刀位文件信息

图3 MATLAB生成的刀轨迹图

2 机器人加工轨迹的生成

机器人勺子加工环境如图4所示,其中机器人选择为FANUC-M10I,{B}为机器人基坐标系,{6}为机器人第6轴坐标系,{T}为工具坐标系。

图4 机器人勺子加工环境

机器人加工轨迹生成分为2步:第一是需要明确机器人及工件的环境,包括工件坐标系与加工轨迹点之间的位姿关系、机器人与工件之间的相对位姿关系、机器人与加工刀具之间的相对位姿关系,各个坐标系关系组成的闭环图(如图5所示);第二是需要进行矩阵运算,根据各个坐标系之间的关系,得出机器人运动到各个轨迹点时机器人的第6轴坐标系相对于机器人基坐标系的位姿关系。在机器人运动过程中,需要让工具坐标系{T}与加工目标点的坐标系{G}相重合,各个坐标系关系组成一个闭环链,如图5所示,各个坐标系关系如下:

(1)

(2)

令两式相等得:

(3)

得到:

(4)

图5 坐标系关系闭环图

此处省略机器人的逆运动学解算过程,可以参考文献[11],求得的运动学反解往往不唯一,须根据机器人的各项参数和工作环境,从中选择最合适的解。首先每组解对应关节角度值应该符合机器人手册所规定的各个关节角的取值范围;其次从满足关节角运动范围的解集中选择关节角绝对值之和最小的解作为最合适的解;最后需要进行碰撞检测仿真来看是否满足无干涉要求,若满足要求则选择为最优解[12]。此关节角数据是在MATLAB中计算生成的,并以弧度值的形式保存成文本格式,此文本可以用来提供给V-REP进行仿真。

3 机器人仿真

本文结合了MATLAB与V-REP的优势进行联合仿真。MATLAB主要用来进行运算,包括读取MASTERCAM中的APT刀位点文件、生成工件坐标系下各个轨迹点的位姿、计算机器人坐标系下相关的位姿矩阵、逆运动学解算生成机器人各个关节角的最优解并将数据传给V-REP仿真[13]。V-REP的功能包含三维场景模型的建立、接受MATLAB的转角信息进行运动仿真、碰撞检测并进行各个轨迹点的精度测量[14]。V-REP与MATLAB在机器人仿真中的功能及之间的通讯关系如图6所示,在V-REP的控制脚本中需要机器人编写控制代码和连接通讯接口。V-REP的脚本分线程脚本和非线程脚本。线程脚本在模拟时能够从通讯接口不断接收外部指令。因此选线程脚本以便V-REP能不断接收MATLAB相应程序发出的指令。

图6 MATLAB与V-REP联合仿真方法框图

V-REP和MATLAB之间的通讯体系选择常见的客户端-服务器模式,以V-REP为客户端,MATLAB控制程序为服务器端,具体过程可以参考V-REP中的帮助文件。仿真开始时,先点击V-REP中的仿真按键,然后在MATLAB中运行控制程序,V-REP中的机器人就会按照MATLAB控制程序生成的控制值进行运动。按照上述方法进行的仿真实验结果表明,可以生成无干涉的加工轨迹,图7为机器人勺子去外轮廓毛刺过程的运动仿真时刻,图8为机器人加工孔的运动仿真时刻。

图7 机器人铣边作业

图8 机器人加工勺子孔作业

4 碰撞检测及精度指标分析

当机器人仿真时,需要对其进行实时的碰撞检测。碰撞检测的方法是在V-REP中进行设定,在V-REP界面Calculation Modules中选择检验碰撞的物体,此处选择了shaozi(勺子)和daoju(刀具),如图9所示。当机器人运动中两者发生碰撞的时候,勺子的颜色就会变红提醒此处碰撞。详细设置过程可以参考V-REP帮助说明书。

图9 V-REP中碰撞检测的设置

当机器人碰撞检测后发现没有干涉的时候,需要对其加工的轨迹进行定量评价。评价方法为:第1步在机器人运动过程中对每个加工轨迹点到工件的最短距离进行测量,此处加工轨迹点分两部分(勺子炳孔和勺子外轮廓),此处测量可以在V-REP中调用程序实现;第2步是进行加工轨迹点的最大值、最小值、均值、方差计算;第3步是检验指标是否合格,不合格将重新进行机器人轨迹规划。

勺子中,除去进刀退刀的轨迹点,共获得了均匀分布的2 154个轨迹点,其中外边缘有2 001个轨迹点,勺子把手孔的内边缘有153个轨迹点,综合所有勺子轨迹点刀具到工件的最短距离的均值为0.028 mm,均方差为0.005 4 mm,最大为0.041 mm。对于其中外边缘轨迹,刀具到工件的最短距离的均值为0.028 mm,均方差为0.005 3 mm,最大0.041 mm。对于其中勺子孔轨迹,刀具到工件的最短距离的均值为0.022 5 mm,均方差为0.003 9 mm,最大为0.031 mm。表1为勺子加工轨迹点的数值分析表。

表1 数值分析表

由此可见,刀具沿给定轨迹运动时,刀具到工件的最短距离并没有达到理想的零值。这是因为工件模型是以网格模型导入到V-REP中的,存在模型近似和导入误差。另外轨迹提取和计算、坐标系的建立和变换等还存在舍入误差。这些误差的积累导致刀具到工件的最短距离不为零。通过前述定量分析得到刀具到工件的最短距离保持在0.028 mm,均方差在0.005 4 mm,满足勺子铣边加工的精度要求。

5 结束语

本文提出了一种机器人轨迹规划和仿真的方法。在MASTERCAM软件中生成加工后处理APT文件;在MATLAB中读取APT文件计算刀具轨迹和机器人运动学的正解和反解;在V-REP中建立机器人三维加工场景和通讯接口;通过MATLAB编写控制程序和V-REP中的线程脚本控制,使V-REP中的机器人模型响应MATLAB控制程序进行运动仿真和碰撞检测;通过调用V-REP中的API进行刀具与工件之间的最短距离测量,并进一步进行数据处理分析。

本文对勺子进行了去毛刺轨迹生成、加工仿真、碰撞检测及加工精度分析。实验数据表明所提出的方法能够生成无干涉加工轨迹和正确的机器人关节运动参数。采用本文提出的方法可以建立多种加工工艺下对应的刀具轨迹,能针对不同的机器人进行相应的仿真和碰撞检测分析,同时可以进行轨迹的精度分析。

猜你喜欢

碰撞检测短距离位姿
基于动力学补偿的机器人电机力矩误差碰撞检测
2018定向世界排位赛短距离中外优秀女子运动员成绩比较分析
全新预测碰撞检测系统
基于PLC的六自由度焊接机器人手臂设计与应用
基于位置依赖的密集融合的6D位姿估计方法
基于SPH方法的流体粒子与软体碰撞检测①
曲柄摇杆机构的动力学仿真
基于Virtools的虚拟灭火系统碰撞检测设计与实现
短距离加速跑