APP下载

基于联合仿真的机械臂最优路径筛选

2020-10-21崔玉霞段奕林

机械制造与自动化 2020年5期
关键词:力矩坐标系轨迹

崔玉霞,段奕林

(青岛科技大学 机电工程学院,山东 青岛 266061)

0 引言

对于给定的一个目标任务,机械臂会有多种可行方式完成,即多种运动路径,但机械臂运行只能有一条确定的路径,所以需要在这些可行的路径中选择一条最优的路径。由于得到每一种可行路径都是由机械臂正逆运动学推导出来的,所以会存在一些微小的计算误差,最终导致机械臂实际到达的位置与理论计算的位置不太吻合。为了得到一条误差较小的路径,提高机械臂精度,可以通过Adams与Simulink的联合仿真找出误差最小的一组路径。

李白雅等人使用4-3-4多项式来对机械臂的运动路径进行规划,再基于粒子群算法对该路径进行优化,综合考虑了多种指标,包括时间、能量等[1]。游玮等人在考虑了动力学和运动学之后,使用改进的样条插值函数对运动路径进行规划,再以时间和能耗为目标,使用多目标遗传算法对得到的路径进行优化[2]。ZANCHETTIN A M等人提出添加鲁棒约束对轨迹进行规划,将传统的轨迹生成方法和基于控制策略的优化方法综合起来[3]。ABE A希望通过寻找最小能量来规划机械臂的运动轨迹,将驱动机械臂运动所耗费的能量作为目标函数,并将产生的残余振动作为约束条件,采用带精英策略的非支配排序遗传算法来抑制能耗最优的情况下产生的残余振动[4]。RUBIO F等人先规划出了一条没有障碍物存在的最优时间运动轨迹,再考虑当有障碍物存在的时候如何将此轨迹演化成为一个新的无碰撞轨迹,将轨迹离散化,逐渐逼近全局最优解,并且考虑了机械臂的最大转矩、能耗以及振动的约束,完成轨迹优化[5]。

本文将通过联合仿真来得到一组误差最小的最优路径,提高机械臂的精度,具体筛选流程如图1所示。

图1 最优路径筛选流程

1 联合仿真简介

目前,基本上每个学科领域都有自己的CAE分析手段,但当涉及到多个相关学科领域的产品性能整体优化时,技术还不是很成熟。实际上,利用各个相关学科领域的技术特点来提升产品性能,实现各种仿真软件的无缝链接和数据交换,进而完成各相关学科的集成分析,以提升产品的整体性能,已经成为了一种主流趋势,这样既可以充分发挥不同领域仿真软件的优点,又使求解结果更加真实可靠。

本文研究的联合仿真用到了Simulink这一可视化仿真工具,它主要采用框图设计,可以实现动态系统建模、仿真以及分析[6]。

联合仿真的本质是对不同的仿真软件建立连接之后,把其中某一仿真软件计算得到的结果作为输入信号传送到另一个仿真软件的模型中。要传送的计算结果可以是力、力矩、速度(角速度),位移(角位移)等,后一仿真软件中的模型在这一输入信号的驱动下会产生与之相关的响应,再将这些响应反馈给前者,最终实现数据在不同仿真软件之间的双向传递。

在进行仿真之前要先建立合适的仿真环境,除了Adams/View用户界面模块之外,还需要用到Adams/Controls控制模块以及Adams/Solver求解器模块,其中Adams/Controls模块是一个接口模块,它将View模块中的三维模型信息转换为Simulink可以识别的模型信息并导入,而Adams/Solver模块则是用来求解计算运动方程,将计算得到的结果输入到Controls模块中。然后作为输出信号进入控制系统,经过Simulink处理后,将得到的数据作为输入信号导入Adams模型中。反复重复,直到仿真结束。若要观察仿真结果,则需要通过Adams/PostProcessor模块将仿真结果以图像或者动画的形式显示[7]。简单来说,联合仿真就是将Adams的输出状态量作为Simulink的输入状态量,将Simulink的输出状态量作为Adams的输入状态量,构成一个闭环控制系统,实现Adams与Simulink的交互运行。这样的好处是不仅可以提高输入信号的精确度,还可以降低对系统变化的敏感度,并且减小非线性对整个系统的影响。联合仿真原理如图2所示。

图2 联合仿真原理

2 机械臂参数化建模

将空间中的点(500,300,500)定为目标位置进行联合仿真,对建立好的机械臂模型进行参数化建模,由于模型已经设定好基本参数,故可以直接创建状态变量。

需要用到的包括位移函数与速度函数,它们的调用格式分别是:

位移函数DX(Y/Z)(To Marker,From Marker,Along Marker),其中的To Marker表示“到坐标系”,From Marker表示“从坐标系”,Along Marker表示“参考坐标系”,若不指定参考坐标系,那么就会默认使用全局坐标系。

速度函数WX(Y/Z)(To Marker,From Marker,About Marker),其中的To Marker和From Marker与位移函数的表达一样,About Marker则是表示“参考坐标系”,若不指定参考坐标系,同样地就会默认使用全局坐标系。

根据所述的函数调用方式,依次设置每个关节的角速度状态变量(V_1~V_6)以及目标点位置状态变量(D_X、D_Y、D_Z),然后定义输入输出变量,如表1和表2所示。

表1 定义输入变量 单位:rad/s

表2 定义输出变量 单位:mm

其中输出变量4-6是为了实时跟踪末端执行器的位置。定义完输入和输出变量之后,输出用作接口的.m文件。

图3 输入输出信息

在MATLAB命令行窗口输入Controls_P_01运行,出现图3所示信息。可以看到定义了6个输入和6个输出,说明接口信息没有问题。然后建立该六自由度串联机械臂反馈控制系统,如图4所示,设置仿真时间为20s,规定0.005s进行一次数据的交换。

图4 机械臂反馈控制系统

以同样的方式建立4个反馈控制系统,然后编写Matlab程序对这些模块进行统一调用。

3 联合仿真的实现与后处理

反馈控制系统建立完成之后,运行仿真,在每一次数据交换时自动输出机械臂当前状态下末端执行器中心点此时位置的三维坐标,并将4个反馈控制系统输出的实际到达位置与理论位置进行对比,筛选出误差最小的两组路径。

确定误差最小的两组路径后,打开Adams的后处理模块,分别将这两组路径的仿真信息导入,查看具体的仿真运动过程。图5所示为第1组路径,图6所示为第2组路径。

将图5与图6进行对比,可以看出是两种不同的运动路径。

图5 第1组仿真运动过程

图6 第2组仿真运动过程

分别输出两组路径下机械臂末端执行器中心点MARKER_14的坐标变化图,如图7和图8所示。同时,输出Simulink中得到的在两种路径下该机械臂末端执行器中心点的坐标变化曲线以及仿真结束后中心点的坐标,如图9和图10所示。

将图7与图8、图9与图10分别进行对比,可以看出在两种路径下Simulink中末端点的坐标变化与Adams仿真过程的坐标变化是一样的,联合仿真成功,并且数据在交换的过程中没有丢失。然后输出两种路径下各驱动电机的力矩曲线,如图11和图12所示(本刊黑白印刷,相关疑问咨询作者)。

图7 Adams中第1组路径末端点的坐标变化

图9 Adams中第2组路径末端点的坐标变化

图10 Simulink中第2组路径末端点的坐标变化

图11 第1组路径驱动电机力矩

图12 第2组路径驱动电机力矩

对于误差最小的这两条路径,对比它们驱动电机的最大力矩可以发现,第1组路径所用的最大力矩明显比第2组大,所以选择第2组路径作为最优路径。至此,得到了一条在运动误差较小的情况下,驱动力矩最小的最优路径。

4 结语

本文主要研究机械臂的路径规划问题,希望在众多可行路径中找到一条最优路径,故利用Adams与Simulink的联合仿真对各种可行路径进行筛选。首先对机械臂进行参数化建模,确定输入与输出状态变量,然后在Simulink中建立反馈控制系统,将每组数据得到的末端点坐标与预期坐标进行对比,选择误差最小的两组数据作为待选路径并输出,然后将这两组数据的仿真信息导入Adams的后处理模块中,再输出两种路径下驱动电机的力矩。通过对比最大力矩可以发现,第2组路径所用力矩较小,所以可以确定此路径是众多路径中误差较小、所用驱动力矩最小的最优路径。

猜你喜欢

力矩坐标系轨迹
轨迹
轨迹
解密坐标系中的平移变换
轨迹
坐标系背后的故事
进化的轨迹(一)——进化,无尽的适应
基于重心坐标系的平面几何证明的探讨
发动机阻力矩计算和起动机介绍
小型力矩电机波动力矩的测量
弹性负载力矩下舵偏转角度的测量方法