基于3dsMAX的6轴机器人工业动画实现方法分析
2020-03-22文继宏
文继宏
(深圳航天龙海特智能装备有限公司 哈尔滨分公司,黑龙江 哈尔滨 150001)
1 工业动画概述
近几年自动化领域中的工业动画技术得到快速发展,工业动画作为三维动画范畴中一个细小的分支也越来越受到本行业的重视,大型或较为复杂的工程项目常需要用工业动画的形式作为前期设计方案的说明或检验方案是否合理的手段,因此工业动画在整个工程项目中起着重要的作用。
工业动画制作方法繁多,但概括起来大致可以把制作软件分为以下三类:①机械工程类软件;②专业动画制作软件;③仿真软件。第一类作为机械类制造软件制作工业动画有其自身的优越条件,制作工业动画时建模无需导入其他软件,在其自身软件内部就可完成,缺点为制作的动画粗糙,主要原因是软件的功能重点为机械制造方向,其制作动画的功能有限,很难制作出完善精美的动画。第二类专业动画制作软件与第一类相比恰好相反,制作工业动画时需要将模型导入其中,之后制作工业动画操作简单,功能多样,渲染效果极好,通常有很多种渲染器可以选择,在没有模型可导入时其往往也支持内部建模。第三类仿真软件在制作工业动画时更加繁琐,因其本身并非制作工业动画的专业软件,而是侧重仿真与数据计算,操作者需要掌握一定量的编程语言。
2 3dsMAX软件概述
3dsMax是基于PC系统的三维动画渲染和制作软件。在Windows NT出现以前,工业级的CG制作被SGI图形工作站所垄断。3sstudio Max+Windows NT组合的出现一下子降低了CG制作的门槛,该软件首先被运用在电脑游戏的动画制作中,后进一步开始参与影视片的特效制作。在Discreet 3dsMAX 7后,先后升级到3.0、4.0、5.0等版本,3dstudio MAX 5.0版本加入了令人期待的动力学插件reactor,3dstudio MAX 2000以后的后期版本均包括运动学解算器HD、HI和两足动画插件character studio。实质上3dsMAX与MAYA已经成为三维动画制作的标杆软件,同类别软件中在功能上以及完成效果上几乎没有能与之抗衡的。
3dstudio MAX软件广泛应用于广告、影视、工业设计、建筑设计、三维动画、多媒体制作、游戏以及工程可视化等领域。
3 3dsMAX与SolidWorks制作工业动画实现方法分析
3.1 案例背景
本案例要求是为每个“封盖部件”安装2个“金属垫片”,如图1所示,金属垫片来料为人工手动放置于输送带上,后由6轴机器人末端吸取工具抓取之后进行组装,要求机器人在约6s之内完成。
图1 虚拟体运动学解算后
3.1.1 产品参数
封盖部件:外径为600mm,高为240mm。
金属垫片:重量为2.5kg,外半径为300mm,内半径为200mm,厚为5mm。
3.1.2 机器人拟选型
瑞士 ABB IRB 2600-12/1.85;6轴;负载12kg;臂展1.85m。
3.1.3 机器人动作规划
机器人末端执行器带有视觉识别系统,识别2个金属垫片位置与角度后抓取垫片并将其安装于封盖部件。机器人末端每个组装循环为:末端→A→B→C→D→E→F→G→H→A。各点的作用如下:A:开机后末端默认位置;B:末端到达距离最近金属垫片的上方位置;C:吸取第一个金属垫片位置;D:末端拾取后到达对应侧金属垫片的上方位置;E:吸取第二个金属垫片位置;F:提起到一固定高度位置;G:到达封盖部件上方位置;H:组装金属垫片位置;A:返回默认原点位置。
3.2 两个软件制作流程及差异
用3dsMAX制作流程如下:导入机器人模型→制作虚拟体并进行运动学逆解→机器人三维模型链接于虚拟体→制作关键帧动画→完成。
用SolidWorks制作流程如下:导入机器人模型→为机器人关节添加自由度限制→制作关键帧动画→完成。
两个软件都能制作6轴机器人工业动画,但其实现方法上完全不同,主要表现在以下几方面:
(1)自由度约束方法不同。3dsMAX是首先需要制作符合机器人运动学原理的虚拟体,后对其进行逆解,机器人模型被虚拟体约束。而SolidWorks是以锁定模型与模型的约束来实现某一特定自由度。
(2)关节转角限制方法不同。3dsMAX中对任一活动自由度都可添加限制,即任一关节都有6个自由度,当逆解为关节时就只剩下3个旋转自由度,实际上机器人关节只有一个轴的旋转自由度,其他自由度进行限制也是无效状态。SolidWorks模型由于没有采用运动学逆解,因此其关节限制采用的是模型与模型虚拟碰撞(当不选择应用机器人模块时是这样),可以达到模型与模型碰撞后无重叠的仿真效果,其用途有时还可以用于检测虚拟装配过程。3dsMAX也有碰撞分析功能但很少用于对自由度的限制。
(3)处理层级关系的方法不同。3dsMAX中机器人各关节有着严格的层级关系,例如5轴是4轴的子级、是6轴的父级,层级关系一旦确定不可改变。在SolidWorks中无需考虑父子关系,其父子关系靠自由度少的限制自由度多的模型实现模拟运动。例如,在SolidWorks中把机器人1轴模型固定后再去拉动6轴模型和把6轴模型固定后再去拉动1轴模型没有什么区别,都能正常模拟各关节转动。但在3dsMAX中就不同,拉动1轴后机器人会整体移动,再去拉动6轴后1轴不会移动但允许其转动。即两者在1轴固定后去移动末端时效果相同,反过来模拟效果就不同。
4 3dsMAX案例动画制作步骤
4.1 制作前的设置
制作前的设置如下:①将机器人底座(1轴)置于世界坐标系(0,0,0)处;②动画帧率设置为30帧/s,并设置动画长度为6s,即帧长度为180,帧率选择NTSC,这样动画帧率就为30帧/s;③将IK反向运动学计算时间长度也改为180帧。
4.2 动画制作步骤
动画制作步骤如下:①将末端虚拟体移至表1的A点处;②按下切换设置关键点模式,使整个时间滑条变为红色;③再移动时间滑块至20帧处;④移动末端虚拟体至B点处,按一下设置关键点。以此对末端虚拟体重复进行“③与④”的步骤按照表1中的A至H顺序进行设置,共8个关键点位,每个关键点位的发生时间参考帧一栏的值。设置完成后点起切换设置关键点模式,最后观察动画结果。表1为6轴角度侦测结果。
表1 6轴角度侦测结果
5 案例机器人运动速度分析
动画制作完成后对6轴虚拟体进行角度变化侦测、分析其速度。表1中右侧部分为对6轴虚拟体的侦测结果。末端虚拟体在位置A到位置B的过程中1轴虚拟体的转动角度由0°(相对于父级地面)变为-42.2°,也就是表1中的1轴角度变化值为-42.2°,其值也是此轴在几次点位变化中角度变化的最大值。即1轴最高速度达到了126.6°/s,6轴角度变化最大值见表2。以此方法对每轴实际最大速度进行计算,将得出结果与厂家提供的每轴最高允许速度进行比较,可见机器人模拟动画每轴速度没有超出厂家给出的每轴允许最高速度,如图2所示,机器人运动时间可以达到案例所述要求。值得一提的是:用户一般以“标准节拍时间”来作为速度性能指标的评价标准,以ABBIRB460码垛机器人为例,机器人末端带60kg负载,向上400mm、平移2 000 mm、向下400mm,然后按原路径返回起点这就是一个标准节拍时间。ABBIRB460码垛机器人一个小时内最多可完成2 190次标准节拍,即一个标准节拍仅需约0.6s,单程仅需0.3s,也就是2 000mm仅需约0.3s。
6 3dsMAX制作6轴机器人虚拟运动的意义与注意事项
通过3dsMAX实现了对6轴机器人虚拟运动的模拟,解决了许多在项目前期与机器人相关的问题,例如:购买多大的机器人能满足项目要求、机器人摆放在哪里合适、机器人运动过程是否与周边设备碰撞、在规定的时间内机器人能完成哪些动作等等。另外值得注意的是,当虚拟设计值与机器人性能指标十分接近时,最终需要采用机器人仿真软件或实际验证的方法才能下结论。事实上,例如机器人臂展为1.5m,那么很少会设计让其取放1.499m的部件,应预留一定的裕量。
表2 6轴角度变化最大值
7 结语
本文介绍了可制作工业动画的相关软件,对3dsMAX在具体实现方法上与具体制作步骤上做了阐述。3dsMAX为工业自动化生产线的前期方案设计、设计评审、工业机器人应用、生产线布局等提供了一种简洁快速的方法,提高了工作效率。
图2 角度转速对比