为机床工具企业提供深度市场分析                     

用户名:   密码:         免费注册  |   申请VIP  |  

English  |   German  |   Japanese  |   添加收藏  |  
沈阳机床

车床 铣床 钻床 数控系统 加工中心 锻压机床 刨插拉床 螺纹加工机床 齿轮加工机床
磨床 镗床 刀具 功能部件 配件附件 检验测量 机床电器 特种加工 机器人

机器人

电工电力 工程机械 航空航天 汽车 模具
仪器仪表 通用机械 轨道交通 船舶

搜索
热门关键字:

数控机床

 | 数控车床 | 数控系统 | 滚齿机 | 数控铣床 | 铣刀 | 主轴 | 立式加工中心 | 机器人
您现在的位置:机器人> 技术前沿>基于 Sim Mechanics 的六自由度机械臂仿真研究
基于 Sim Mechanics 的六自由度机械臂仿真研究
2017-7-31  来源:广东工业大学机电工程学院,广东广州  作者:康信勇,赵翼翔,陈新

       摘要: 运动学和动力学分析对机械臂的研究具有很重要的作用。以往对机械臂的研究方法均需要建立复杂的数学模型和程序,而 Sim Mechanics 具有简单、快捷获取动态系统的模型的功能,并且系统建模方便直观,仿真功能强大,可以在模型中通过改变结构,优化系统参数,在仿真环境中分析结果。利用 Sim Mechanics 的上述优点,以工业六自由度机械臂 ER10为研究对象,将 Solid Works 建立好的机械臂 ER10 模型导入到 MATLAB/Sim Mechanics 仿真平台中,生成对应的仿真模型,并且在运动仿真平台中,通过在机械臂模型添加末端位姿信号和各个关节信号 ( 角度函数,力矩值) ,全面地对机械臂进行运动学和动力学分析。

      关键词: 机械臂; MATLAB/Sim Mechanics ; 运动仿真

      前言

      随着工业机械臂的发展,工业机械臂越来越广泛地被运用于工业各个领域。而机械臂本身是一个复杂的机电系统,设计出来的机械臂的机电系统,需要包含驱动力 /力矩和驱动器。在设计机械臂控制系统时,我们需要获得每个部分的数学模型,每个电机的所需要扭矩和旋转角度,并预计机械臂的运动位置。现以六自由度工业机械臂 ER10 为研究对象,基于 MAT-LAB / Sim Mechanics 仿真平台进行仿真研究。ER10 机械臂末端负载为 10 kg,可以应用于喷釉,抛光打磨等行业。Sim Mechanics 仿真平台最大的特点是: 不需要去建立机构运动的数学模型和编制复杂程序; 系统建模方便直观,仿真功能强大; 可以通过改变结构,优化系统参数,在仿真软件环境中分析结果。这些特点大大减轻建立机构运动仿真模型这一过程的工作量,研究机械臂时可以通过这种简单、快捷的方法来获取机械臂的动态系统的模型。Sim Mechanics 包含一个模块库和特殊的仿真接口 ( 传感器和驱动块) ,这些模块将 Sim Mechanics 模 块 和 Simulink 环境相衔接

      文中将六自由度机械臂三维模型导入至 Sim Me-chanics 仿真平台中,生成对应的仿真模型,并在仿真模型的关节上添加关节角度信号,进行机械臂运动学正解分析; 添加末端位姿信号,进行机械臂运动学反解分析; 添加关节力矩和末端位姿信号,进行机械臂动力学正解分析; 添加关节角度信号,进行机 械 臂 动 力 学 反 解 分 析。仿 真 流 程 图 如 图 1所示

      

      1 、Sim Mechanics 建模技术

      Sim Mechanics 可以仿真机构的运动,并提供了一系列工具求解带有静力学约束、坐标系变换等在内的机构系统的运动问题,可以利用虚拟现实工具箱提供的功能显示机 构系统运 动的动画 示 意图。可以在Sim Mechanics 的机构模型中通过特殊的 Sensor 模块和Actuator 模块与一般的 Simulink 模块相连接,利用牛顿动力学基本概念,对各种运动副连接的刚体进行建模与仿真,实现对机构系统进行分与析设计的目的。

      下面简单介绍 Sim Mechanics 包含的并将用到的模块,如表 1。表 1 Sim Mechanics 模块

      
     

      表 1 Sim Mechanics 模块

      Ground 模块表示在惯性坐标系中一个相对地面静止的点,一端连接到关节上以阻止关节一侧的移动。每个有效的 Sim Mechanics 机构至少含有一个 Ground 模块。

      Machine Environment 模块是用于查看和修改机械模型的环境变量设置。 每个Ground 模块必须连接一个有效的机械环境模块。

      Body 模块代表一个用户定义的刚体属性。用户指定的属性必须包括: 物体的质量和惯性矩张量。物体的重心坐标( CG) 一个或多个物体坐标系统 ( CSs) 。

      Joint Sensor 模块表示测量关节模块原始的位置、速度和加速度; 也可以测量关节模块的接触力和力矩。

      Joint Actuator 模块表示一个或者多个信号驱动物体之间的关节,这些信号可以为力信号和运动信号 ( 包括角度,角速度和角加速度) 。

      Constants &DriversLinear Driver 模块驱动块指定组件的不同身体坐标系统 ( CS) 起源作为时间的函数。

      Driver Actuator 模块为驱动联系两物体之间的驱动块。驱动块需要一个时间函数来指定相对位置、速度和加速度。两个平行约束机构连接的限制他们的相对转动运动。确保两个物体的轴向量是平行的。

      JointsRevolute 模块表示物体之间的旋转关节。

      Weld 模块表示两个物体之间没有自由度的关节,两端物体连接在一起没有相对移动。

      Custom Joint 模块表示自定义关节 ( 含移动、转动或球形) 代表最一般和不受约束的自由度在三维空间中,可以表示三个平移自由度和三个旋转自由度,也可以作为一个球形关节表示作为一个,两个或三个转动转动自由度由右手法则定义。

      2 、机械臂模型导入

      将 Solid Works 建 立 的 机 械 臂 模 型 利 用 Sim-Mechainics 插件导入到 MATLAB 中,得到机械臂本体的仿真模型,如图 2 所示。

    

      图 2 机械臂仿真模型

      仿真运行时的运动可视化模型如图 3 所示。

     

      图 3 机械臂可视化模型

      3 、六自由度机械臂运动学分析

      3. 1 机械臂运动学正解关节角度驱动信号如图 4 所示。

     

      图 4 关节角度驱动信号

      机械臂运动学正解是根据各个关节变量 θ1,θ2,θ3,θ4,θ5,θ6的值,来求解机械臂末端位姿。按照这个要求,为了方便分析运动学正解,取各个关节角度变化值。关节 1 角度变化函数为 θ1= 35sint; 关节 2角度变化函数

     

      六自由度机械臂添加关节角度驱动信号后模型如图 5 所示。

      

      图 5 运动学正解模型

      ER10 子系统模型如图 6 所示。

         

      图 6 ER10 子系统模型

      各个关节角度函数的变化曲线图如图 7 所示。

 
 
      图 7 关节角度变化

      实际末端轨迹如图 8 所示。

  

      图 8 末端轨迹图

      这样通过直接在关节上添加关节角度函数来观察机械臂末端轨迹变化,直观地观察机械臂运动学正解仿真时的变化情况。

      3. 2 六自由度机械臂运动学反解

      机械臂运动学反解是通过机械臂末端位置,求各个关节角度变化。为了分析机械臂反向运动,定义机械臂末端位置轨迹为:x = 0. 2sin t+π2( )-2; y = 0. 2sint-1; z = 0. 04

      利用 Sim Mechanics 建立运动学反解模型如图 9 所示。

 

      图 9 运动学反解模型

      端轨迹子系统模型如图 10 所示。

      

      图 10 末端轨迹模型

      方位子系统 Sim Mechanics 模型如图 11 所示。

    
 

      图 11 末端方位模型图

     

      理 想 情 况 下 末 端 轨 迹 绘 制 三 维 图 形 如 图 12所示。

   

      图 12 末端轨迹

      仿真后各关节角度变化曲线如图 13 所示。

     

      图 13 各关节角度变化曲线

      求得关节角度变化可为机 械臂控制系统中进一步设 计 电 机 的 旋 转 角 度 变 化 提 供 一 定 的 理 论依据。

      4 、六自由度机械臂动力学分析

      4. 1 机械臂动力学正解

      根据 关 节 驱 动 力 或 力 矩,计 算 机 械 臂 的 运 动( 关节位移、速度和加速度) 。现在在前 3 个旋转关节上添加驱动力矩 M = 10 N/m,后 3 个旋转关节上添加驱动力矩 M = 3 N/m。动力学正解模型中末端轨迹和方位的设定与机械臂运动学反解中的末端轨迹和方位的设定一致。

      以此创建出来的机械臂动力学正解 Sim Mechanics模型如图 14 所示。

      

      图 14 机器人动力学正解

      机械臂运动仿真后各关节角度变化曲线如图 15所示。

     
 
      图 15 角度变化曲线

      从图中看出在各个关节上施加旋转力矩的情况下随着末端位置轨迹的变化,机械臂各个关节角也在不断变化,反应出在添加关节力矩后,关节角的变化情况。

      4. 2 机械臂动力学反解

      根据轨迹运动的对应的关节位移、速度和加速度、求所需要的关节力矩或力。现在在各个关节上添加角位 移变化函数,关 节 1 角 度 变 化 函 数 为 θ1=35sint; 关节 2 角度变化函数 θ2= 20sin ( t - pi / 2) ; 关节 3 角度变化函数 θ3= 10sint; 关节 4 角度变化函数θ4= 5sin( t-pi / 2) ; 关节 5 角度变化函数 θ5= 15sin( t -pi / 2) ; 关节 6 角度变化函数 θ6= 25sint。 各关节的角度函数通过求导可以得到角速度和角加速度函数。各个 关 节 角 度 驱 动 信 Simulink 模 型 如 图 4所示。

      添加驱动信号和输出模块后,六自由度机械臂Sim Mechanics 动力学反解模型如图 16 所示。

      对 Sim Mechanics 模块中的 Joint Sensor 模块设置如图 17 所示,选择输出为关节矩。
  
   
      图 16 机械臂动力学反解

      θ4= 5sin( t-pi / 2) ; 关节 5 角度变化函数 θ5= 15sin( t -pi / 2) ; 关节 6 角度变化函数 θ6= 25sint。 各关节的角度函数通过求导可以得到角速度和角加速度函数各个 关 节 角 度 驱 动 信 号 Simulink 模 型 如 图 4所示。

      添加驱动信号和输出模块后,六自由度机械臂Sim Mechanics 动力学反解模型如图 16 所示。

      对 Sim Mechanics 模块中的 Joint Sensor 模块设置如图 17 所示,选择输出为关节矩。

   

      图 17 模块设置

      仿真运行后各旋转关节力矩的变化情况如图 18 所示。

     

      图 18 关节力矩变化

      在实际操作过程中可以通过机械臂的动力学反解的变化情况,来分 析关节角的变化对关节力 矩的影响。

      5 、结束语
      研究和分析了六自由度机械臂运动学和动力学仿真。机械臂相关控制的研究设计都是在运动学和动力学基础上进行,利用 MATLAB /Sim Mechanics 仿真平台分析机器人运动学和动力学,大大减轻建立机构仿真模型这一过程的工作量,并且分析出机械臂运动学正反解中各个关节的角度变化和位姿变化情况,以及动力学正反解中角度变化和力矩等相关数值相互影响后的变化情况,为进一步设计机械臂的控制做准备。
    投稿箱:
        如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com