夏 伟,张 妍
(陕西工业职业技术学院,陕西 咸阳 712000)
在工业4.0背景下,智能制造技术发展迅速,机械臂作为智能工厂的典型装备广泛应用于装配、焊接、喷涂和搬运等复杂生产过程中,贯穿工业自动化智能化生产的全过程[1]。通过机械臂仿真可实现生产过程的“虚-实”转换,为机器人轨迹规划和智能控制提供有效验证。
匡毅[2]等搭建机械臂仿真模型,验证了自适应模糊PID控制效果较传统PID算法的优越性。文献[3-5]基于Sim Mechanics工具箱仿真机器人工作过程,其中文献[3]建立库卡机械臂模块化模型仿真末端实时轨迹,实验证明建模合理实用;文献[4]通过仿真有效地获取到机械手的运动参数,根据参数控制机械手执行预期轨迹;文献[5]建立六自由度并联平台物理模型,仿真运动轨迹,减免数学模型建立和程序编写的复杂过程。由此可见仿真分析简便直观,可为机构的设计、优化与运动控制等提供参考。
刘泽宇等[6]建立机械臂的SolidWorks和ADAMS联合仿真模型进行动力学分析,得到了各关节转速与力矩的关系,为电机的选型提供了依据。陈继朋等[7]应用ADMAS进行机械臂动力特性分析,根据医用机械臂末端质心偏差为后期医用机械臂运动控制和位置补偿提供依据。姜迪开等[8]基于机械臂的SimulinkADAMS联合仿真模型,实现机械臂控制系统与机械构型的协同优化,提高了机器人的重复定位精度。仿真分析是实现理论研究的成果化验证,对实现精确轨迹跟踪控制、误差补偿和系统优化有着重要意义。
本文基于SolidWorks和ADMAS软件建立多功能机械臂的结构模型和仿真模型,在ADMAS中设计拾放轨迹,实现了机械臂在虚拟空间中的任务规划。并搭建实验平台,基于MOTOMAN机械臂设计拾放实验,实验表明实体机械臂在真实场景中能够准确地复现仿真轨迹,可为后续机械臂轨迹规划及智能控制提供依据。
多功能机械臂MOTOMAN-HP0020D-A00主要由基座、上臂、下臂、手臂和手腕组成,共有六个自由度,均为旋转关节,即1轴为基座回转运动、2轴为上臂倾动、3轴为下臂倾动、4轴为手臂横摆、5轴为手腕俯仰、6轴为手腕回转。多功能机械臂MOTOMAN-HP0020D-A00结构示意图如图1所示,对应的相关参数见表1。
图1 多功能机械臂结构示意图
表1 多功能机械臂MOTOMAN-HP0020D-A00相关参数
在实体建模上,SolidWorks软件采用参数化和特征造型技术进行建模,产品的设计可以通过其基本功能方便快捷地创建和修改。本文利用SolidWorks三维软件来建立六自由度机械臂模型,并且进行了装配。六自度机械臂模型如图2所示。采用SolidWorks软件建立的模型完成后,将其导入ADMAS软件中,为后续虚拟样机仿真建立良好的基础。
ADMAS/VIEW集建模与仿真功能于一体,能够对机械系统进行建模、仿真以及优化分析等,其本身带有大量建模软件的接口模块,可以将建好的三维模型通过ADAMS/VIEW的接口模块导入,然后对所建模型进行属性设置、约束添加并进行仿真。
对于导入的六自由度机械臂SolidWorks模型,重力设置为沿y轴的负方向,即竖直向下;质量单位设置为千克(kg)、力的单位设置为牛顿(N)、长度单位设置为毫米(mm)、时间单位设置为秒(s)、角度单位设置为度(deg)。六自由度机械臂虚拟样机模型如图3所示。
图2 六自度机械臂模型 图3 六自由度机械臂虚拟样机模型
对导入的虚拟样机模型添加约束和驱动后,在ADMAS中可通过设置不同驱动参数实现不同轨迹。根据机械臂关节参数,通过调用STEP函数可以实现不同电机的工作状态,进而完成预设轨迹。本文通过虚拟样机模拟机器人拾取-放置-回零过程的轨迹状况。STEP函数的调用格式如下:
STEP (C,C0,Y0,C1,Y1)
其中:C为时间,是自变量;C0为时间的初始值;C1为时间的终止值;Y0为角位移初始值,是因变量;Y1为角位移终止值。
完成拾放轨迹需要对关节1、关节2及关节3电机添加驱动函数。对3个关节的不同时刻添加驱动函数以实现拾放轨迹,分步运动通过函数中的始末时间进行控制。完成拾放轨迹的电机运行步骤为:关节2—关节2和关节3联动—关节1—关节2、关节3和关节1联动。
在MOTION2下创建驱动对话框,设置驱动函数如下:
STEP(time,0,0,10,-40d)+STEP(time,10,0,15,0d)+STEP(time,15,0,25,-40d)+STEP(time,25,0,30,0)+STEP(time,30,0,45,0)+STEP(time,45,0,55,40d)
可以通过Plot平移驱动对话框展示驱动曲线。同样,对MOTION1用STEP函数进行设置,可使其在预设时间运动相应速度、时间、位移。STEP函数如下:
STEP(time,25,0,30,0d)+STEP(time,30,0,40,50d)+STEP(time,40,0,45,0)+STEP(time,45,0,55,-50d)
对MOTION3用STEP函数进行设置,可使其在预设时间运动相应速度、时间、位移。STEP函数如下:
STEP(time,15,0,25,-30d)+STEP(time,25,0,30,0)+STEP(time,30,0,45,0d)+STEP(time,45,0,55,30d)
完成电机驱动设置后,点击simulation进行轨迹仿真。设置结束时间为60 s,步骤为1 000,点击运行,可实现拾取轨迹。机械臂末端执行器在0~60 s内的合位移曲线如图4所示,X、Y、Z三方向位移曲线如图5所示。
图4 机械臂末端执行器0~60 s内的位移曲线
图5 机械臂末端执行器X、Y、Z三方向位移曲线
由图4、图5可以看出:在0~15 s机械臂末端做Z方向平移运动接近目标物,15 s~25 s机械臂实施抓取物体,25 s~40 s机械臂将物体放置在目标位置,在40 s时末端位移达到最大,40 s~60 s机械臂返回零点;整个拾取-放置-回零过程中机械臂轨迹光滑波动幅度小,拾放过程平稳无冲击。
搭建的实验平台如图6所示。以多功能机器人MOTOMAN-HP0020D-A00为机器人本体,配备有伺服驱动单元、各类传感器、计算机控制系统和A/D系统接口等。
图6 搭建的实验平台
对多功能机器人MOTOMAN-HP0020D-A00完成一次拾放物体的实验。通过图7控制程序界面编写程序可以完成拾放轨迹实验。
图7 机器人控制程序界面
采用多项式插值算法使机器人完成从起始点A抓取工件M放置到终止点B再返回零点的过程。机器人机械臂运行过程关键位置如图8所示。
图8 机器人机械臂运行过程
针对MOTOMAN-HP0020D-A00六自由度机器人,在ADMAS中建立虚拟样机模型,通过电机驱动函数STEP设置物体拾放轨迹,实现了机械臂在虚拟空间中的任务规划。仿真结果表明轨迹连续平滑,无冲击。最后,在真实工作场景中搭建实验平台,基于MOTOMAN机械臂设计拾取实验,实验表明实体机器人在真实场景中能够准确地复现仿真的拾放轨迹,拾取过程平稳有效。本研究实现了“虚-实”空间的转换,为后续机器人轨迹规划、机器人控制等研究提供了参考。