杨 光, 陈祝平, 肖 炜
(集美大学机械工程学院,福建 厦门 361021)
目前,水藻对水质污染和生态环境的破坏现象日益严重,引起国内外的广泛关注。加拿大、韩国、日本等国都开发了专门从事回收海面或江面水藻的环保船,江苏省航道局与江苏省船舶设计研究所共同开发的60吨打捞船[1]。这些机械打捞设备都是大型的,在相对比较小的湖泊中较难应用。小型清藻机的研制对于清理小型湖泊的水藻相对于人工可以节省大量的人力资源,在环境保护方面起到重要作用。
清藻机为单臂多关节结构,其打捞作业依靠各关节和耙爪的运动实现,其运动准确性和效率成为打捞作业的重要因素。3ds max是享誉世界的一款功能强大的三维动画软件,可以方便地实现三维视频效果,它与同类的动画设计软件相比有许多独特的特点:更为便利的动画制作,更为简洁的材质动画,丰富方便的造型功能和制作特技动画的功能[2-3],适合清藻机的运动分析。
本文利用CAXA软件对结构进行建模,并基于多关节反向运动学,研究小型机械打捞装置运动,包括在3ds max程序中对其运动结构进行分层次,形成IK链,完成多关节连接的运动仿真。
清藻机主要部件为底座、大臂固定盘、大臂、小臂和耙爪,大臂的俯仰通过安装在底座上的大臂液压油缸和大臂活塞杆驱动,小臂的俯仰通过安装在大臂上的小臂液压油缸和小臂活塞杆驱动,耙爪的俯仰由安装在小臂上的耙爪液压油缸和耙爪活塞杆以及两个连杆来实现。清藻机零部件和静态装配模型在CAXA软件中完成。首先,在CAXA软件中逐个建立清藻机系统零件模型,包括清藻机的大臂、小臂、耙爪和液压油缸等并用铰链连接,保证被连接部件只具有一个绕铰链销轴中心旋转的自由度,并进行干涉检查。机构的伸展长度设计为约3米,以保证打捞范围。清藻机典型零件图如图1所示,装配体如图2所示。
CAXA实体设计软件支持内核级、通用级和其他CAD软件3个层次的零件格式,种类较多,利用 CAXA建模之后,文件以“*.3ds”格式输出到3ds max软件中,以便完成运动仿真。在输出时,输出视向、输出光源和输出背景3个环境选项无需进行输出,因为这3个因素在导入3ds max中以后对仿真结果没有影响,但会造成操作的复杂不便。
图1 清藻机零件模型
图2 清藻机装配模型
反向运动IK是在一个链级对象中可以由子级对象的移动控制父级对象的旋转,如果给子级对象的动作创建关键帧,则父级对象会自动产生关键帧。反向运动将机器的运动类似于链接的骨骼运动,从执行装置即末端来控制机器的运动。在层次关系上,用子对象来带动父对象的运动,可实现复杂运动轨迹的仿真,在设置物体朝向目标对象运动的动画时,非常有效,是现代设计中的先进方法。反向运动可以通过调整几个关节的姿势来确定机构在不同关键帧处的姿势,进一步利用解析法或迭代法在这些关键帧之间自动进行插值计算[4-6]。IK系统与骨骼系统相结合,设计真实的的人物骨骼、动物骨骼以及机械运动时,体现出不可替代的优势。清藻机工作对象为海面浮萍等植物,反向运动链为:耙爪→小臂→大臂→大臂固定盘→底座。
反向运动首先要建立研究对象的层级关系。层级是对象之间的一种层次关系,这种关系分不同级别,就好比一个人,由头、四肢、躯体等部位组成,而四肢又由手腕、手臂、大腿、小腿、脚等部分组成。在一次运动中,例如屈臂动作,上臂的运动带动了小臂的运动,进而带动了手的运动,这就是一种层次关系[6]。在建立清藻机的层次关系时,将连杆,活塞杆及油缸忽略,这样层次较简单,同时不影响表现整个运动过程。清藻机的层次关系如图3所示。
层次关系建立后,首先要进行轴点的设置,将各个部件的旋转轴点调整到正确的位置,调整后如图4所示。
图3 层级设置
图4 调整轴点
IK解算器的工作方式为:IK 链的末端是目标,随时重新定位目标或设置目标动画时可以采用链接、参数关联或约束,无论目标如何移动,IK解算器都尝试移动链中最后一个关节的枢轴(终端效应器),以便满足目标的要求。IK解算器可以对链的部分进行旋转,以便扩展和重新定位终端效应器,使其与目标相符。3ds max提供了 4个 IK解算器插件,分别为历史独立型 HI(History-Independent)解算器、历史依赖型HD(History-dependent)解算器、IK肢体解算器、样条线IK解算器[3]。
HI解算器在时间上不依赖于上一个关键帧计算得到的 IK 解决方案,因此无论在第 2000帧处还是在第 10 帧处使用 HI 解算器,其速度都一样快。对于大部分的动画 HI解算器是首选的解决方案,它能够实时地计算 IK的值。用法是选择一个骨节后,选择 Animation>IK Solver>HI Solver命令,然后点击另一个骨节,如果选择的是原骨节的子级,则在子级骨节的起始端会出现一个蓝色的控制柄,如果点击的原骨节的父级,那么控制柄会出现在原骨节的起始端。移动这个蓝色的控制柄,其父级的骨节会产生旋转,它的子级骨骼跟随它移动。一个骨骼链上可以有多个HI解算器,删除控制柄就可以删除当前的IK设定。清藻机运动仿真采用HI解算器,选择耙爪,依次设置IK解算器,HI解算器,再选择大臂,就做出了一条IK链。
利用“自动关键点”设置关键点动画是最基本、也是最常用的一种动画制作方法,通过启动“自动关键点”按钮开始创建动画,然后在不同时间点上更改对象的位置、进行旋转或缩放,或者更改任何相关的设置参数,都会相应的自动创建关键帧并存储关键点值。
清藻机运动仿真的时间长度设置为800帧。然后定义初始姿态:点击自动关键点,选中 IK链后,进行X、Y、Z方向的移动,然后选中耙爪,利用旋转操作对耙爪进行旋转,这样就设定好0帧时的姿态。清藻机的初始状态如图5(a)所示。
清藻机运动仿真是耙爪通过IK链进行X、Y、Z方向的移动以及通过销完成自身的旋转。在各关键帧处依次实现机构的伸展运动,打捞动作,收回动作,卸料动作及归位动作等。关键动作为:
在60帧处,设置关键点,选中IK链,控制IK链沿X轴向前移动,沿Z轴向下移动,实现机构的伸展运动。选择耙爪,利用旋转操作控制耙爪绕Y轴向下旋转运动。在120帧处,设置关键点,选中IK链,控制IK链沿X轴向前移动,沿Z轴向下移动。选择耙爪,利用旋转操作控制耙爪绕Y轴向上旋转运动。这两个关键点表示的是打捞前机构的伸展过程。
在180帧处,设置关键点,选择耙爪,利用旋转操作控制耙爪绕Y轴向上旋转运动。选中IK链,控制IK链沿X轴向后移动,沿Z轴向上移动。此处完成的是打捞动作。
在240帧处,设置关键点,选择IK链,控制IK链沿X轴向后移动,沿Z轴向上移动,实现机构的收回动作。
在300帧处,选择IK链,拉至360帧处,继续移动IK链,并选择耙爪进行旋转运动,防止打捞出的垃圾掉出。
在500帧处,选择IK链,按钮使机构沿X、Z轴运动到后卸的正确位置,选择耙爪进行旋转运动,实现垃圾的后卸动作。
卸料动作完成之后,要使机构回到最初的位置,将时间滑块拉至500帧处,选择IK链,控制IK链沿X轴向前、Z轴向下的运动。在600帧、700帧和750帧处IK链的运动操作类似。在750帧和795帧处选择耙爪旋转,使机构回到最初的位置,这样就完成了清藻机打捞作业过程的运动仿真,其关键帧动作如图5所示。
若需要清藻机完成其他方位的打捞工作,可以对大臂固定盘实施绕竖直轴的转动动作。使用HI 解算器做运动仿真时,如果发现动作不平滑,可以增加迭代次数或者降低阈值来平滑动作。
图5 清藻机作业过程仿真
“曲线编辑器”可以记录和编辑仿真运动的轨迹[3]。IK链的位置轨迹如图6所示。轨迹视图的水平坐标为帧数,竖直坐标为位置尺寸,直线表示的是IK链Z位置的轨迹。曲线上的点表示人为设置的关键点。两条曲线分别表示IK链X位置和Y位置的轨迹,是通过帧数和位置尺寸拾取关键点并通过插值完成的。图7为耙爪在三维场景中的运动轨迹。
图6 IK链位置轨迹
图7 耙爪轨迹
通过轨迹曲线,可以查看整个运动状态或分析比较不同构件的运动特征。如果需要查看任意点的时间和位置,可以在轨迹曲线上直接插入新的关键点,非常方便。
本文通过 CAXA设计软件建立清藻机的三维模型、组装零件和进行干涉检查,通过3ds max软件建立层次链接,利用多关节反向运动学对清藻机进行运动仿真分析,表达出 IK链的运动轨迹,为分析清藻机打捞作业过程及进一步优化设计提供了依据。同时,还可以完成产品的动画制作、产品展示、广告设计等工作,具有良好的实用性。
[1]唐一平. Advanced manufacturing technology [M]. 北京: 科学出版社, 2000: 78- 95.
[2]陈 敏, 沈耀仁. 三维建模与三维动画仿真技术的应用[J]. 机械设计与制造, 2005, (8): 143-144.
[3]Murdock K L著. 3dsMax9宝典[M]. 田玉敏等译.北京: 人民邮电出版社, 2008: 212-295.
[4]吴志敏, 熊 锐. 工业机械手运动学仿真[J]. 装备制造技术, 2009, (1): 20-21.
[5]王毅刚, 吴子朝, 陈晓雕. 一种解析的反向运动学方法[J]. 计算机应用研究, 2009, 26(6): 2368-2373.
[6]陈伟海, 陈泉柱, 张建斌, 等. 线驱动拟人臂机器人逆向运动学分析[J]. 机械工程学报, 2007, (4):12-20.