基于Matlab/Simulink的机器人仿真平台分析
2014-03-24
(安徽埃夫特智能装备有限公司,安徽 芜湖 241000)
基于Matlab/Simulink的机器人仿真平台分析
许礼进 胡国栋
(安徽埃夫特智能装备有限公司,安徽 芜湖 241000)
随着计算机的发展,仿真逐步成为当今重要研究工具,它为开发者提供强大的可视化功能。仿真技术也在机器人领域中发挥非常重要的作用,可用于运动学和动力学分析,离线编程,控制算法设计,机器人机械结构设计,机器人工作单元和生产线设计等。Matlab是目前应用最广泛的用于系统建模和仿真的开发平台。本文以一个三自由度机器人作为示例,在MATLAB/ Simulink环境中进行建模和仿真分析,重点介绍了Matlab里有四类仿真工具的功能和特点,最后进行了对比分析。
Matlab;Simulink;Planar Manipulators;SD/FAST;Robotic;SimMechanics
仿真作为一个跨学科的工具平台,应用领域发展成为从工程技术到社会科学,从学术研究到生产制造,仿真实现过程包括:系统的建模、模型的执行、输出量的分析以及模型的优化分析等。掌握了仿真技术可以创造性地为解决许多技术难题提供捷径,为一个不存在的对象进行分析、设计、可视化以及测试。使用仿真工具可以减少反复实验过程而造成的物品破坏,减少产品开发周期,降低产品投产后的修改而造成的设计风险,另外仿真工具还可以通过修改时间常数加快实验过程,从而更快知道实验结果,反过来,仿真也可以慢化实验过程,观察其中的细微变化,比如:化学反应过程的分析。所以仿真具有诸多优点,是科学研究不可缺少的手段。
1 Matlab-based tools(基于Matlab机器人仿真工具)
图1 平面3R机器人
图2 实施流程图
图3 动力学模型
机器人系统仿真软件很多,可以分为两大类:基于通用平台的仿真工具(Tools Based On General Simulation Systems )和专用机器人仿真工具(Special Tools For Robot Systems)。 通 用 仿 真工 具 包 括MATLAB/Simulink, Dymola/ Modelica, 20-sim,Mathematica,其优点是可以利用平台内多种工具模块,实现复杂系统的仿真计算。专用机器人仿真平台体现了专用性,功能包括离线编程、工作站设计、运动学动力学分析以及机构设计等,可以应用于移动机器人、水下机器人等各种特种机器人。
Matlab在数学计算和软件接口兼容方面具有很大优势,Simulink作为其工具箱,为各种动态系统提供了仿真手段,主要用于机器人仿真的模块有四个:1)Planar Manipulators Toolbox;2)Planar Manipulators Toolbox with SD/FAST; 3)Robotic Toolbox;4)SimMechanics Toolbox。为了分析各个模块,本文首先构建了一个机器人关节臂,含有3个关节,可以实现在在平面内的运动,如图1所示。
机器人关节力为[2.4,-1,0.4],末端外力为[-10,0],通过Dynamic model功能块,计算出机器人关节位置q和关节速度qd,并通过机器人示波器输出,下面对各工具进行分析。
2 Planar Manipulators Toolbox
Planar Manipulators Toolbox是基于拉格朗日方程的方法进行关节型平面机构的仿真分析,可以实现运动学、动力学分析,控制算法设计,轨迹规划等。为了让用户更加方便使用,许多功能块已被开发,通过这些功能块可以很容易搭建一个模型,如图3所示,外部力作用在执行机构末端,dymodall模块计算出系统向量和矩阵x, J, j., H,h 和g,然后通过拉格朗日方程计算出关节位置和速度。
3 Planar Manipulators Toolbox with SD/ FAST
图4 3R机器人系统描述文件(SD/FAST)
Planar Manipulators Toolbox with SD/FAST使 用 的 是Planar manipulators toolbox,但是动力学计算是使用SD/FAST库,SD/FAST可以进行各种机构系统设计分析,机构由关节进行联接、有力的作用或者运动位置驱动以及包含外部约束,动态模型与图3类 似,dymodall是 一个与SD/FAST进行接口的S-Function(系统函数),机器人几何尺寸参数与杆件惯量参数通过系统描述文件传递给SD/FAST(如图4),然后使用SD/FAST编译器产生动力学模型,然后在S-Function中调用。SD/FAST是使用Kane’s方程and Order(n)方程进行动力学计算。
图5 动力学模型
图6 单体构件模型
4 Robotics Toolbox
Robotics Toolbox提供了许多实用的功能,比如机器人运动学,动力学和轨迹产生器等模块,功能十分全面,它不仅可以用来仿真,也可以对实际机器人进行实验分析,而且可以不需要实体机器人的情况下作为机器人原理的教育培训。动力学求解计算通过Newton–Euler方程实现。 图5表示了机器人模型的定义以及使用Robotics toolbox构建的动力学模型方块图。
5 SimMechanics Toolbox
SimMechanics是Simulink在机械建模和仿真领域的应用,通过SimMechanics可以构建一个机器人构件模型,在模型里定义质量,惯量,空间位置关系,运动约束和坐标系以及驱动关节的运动(位置、速度、加速度)或者力矩,还能测量各关节的运动和力矩。在构建一个机器人模型之前,首先需要建立单体构件模型(如图6),即把关节和具有质量特征的杆件连接起来,然后将所有杆件联接在一起形成一个完整的机器人动态模型(如图7)。
结语
以上四个工具模块都可以很容易构造一个机器人系统,区别在于其机器人专用工具箱预先定义的函数和功能块,另外就是模型执行的效率。在图8中给出了以上方法仿真执行时间,我们能够看到SD/FAST 在执行时间上是最快的,而且随着自由度的增加影响不大,Planar Manipulators Toolbox在低自由度时执行时间很快,但是随着自由度增加,明显变慢,Robotics Toolbox在进行逆动力学计算时候较快,然而进行Jacobian矩阵计算时明显变慢。在实际科学研究中使用哪类工具箱,需要根据机器人特点和研究的目标来确定。
[1]MATLAB Help System(R2012B)(MATLAB帮助系统)[Z].
[2]SimMechanics_User,s_Guide(R2012B)[Z],2012.
[3]Robotics Toolbox for MATLAB 帮助手册(英文)[Z],2008.
[4]霍伟.机器人动力学与控制[M].北京高等教育出版社,2004.
[5]Craig J.J.机器人学导论[M].北京:机械工业出版社,2006.
图7 3R 机器人动力学模型
TP24 < class="emphasis_bold"> 文献标识码:A
A
智能制造装备发展专项