您好, 访客   登录/注册

基于LM算法的机械臂轨迹规划研究

来源:用户上传      作者:

  摘 要:针对提高多关节机械臂轨迹规划精准率和效率的问题,利用Peter Corke开发的robotics-toolbox工具箱在MATLAB上进行机械臂的运动学建模,并设计了一种轨迹规划算法。该算法依托于LM算法,结合逆运动学获取关节角序列位置,在对应相关轨迹的同时,确保关节角速度和加速度曲线连续且光滑。研究结果表明,通过该算法不但可以得到相对稳定的运动曲线,其迭代速度相比传统的梯度下降法,在拟合离散点过程中具有更快的迭代速度。
  关键词:机械臂;LM算法;轨迹规划;MATLAB Toolbox;最小二乘法;工业互联网;机器人
  DOI:10. 11907/rjdk. 202126                                                                  开放科学(资源服务)标识码(OSID):
  中图分类号:TP319   文献标识码:A                 文章编号:1672-7800(2020)011-0174-04
  Trajectory Planning of Manipulator Based on LM Algorithm
  ZHANG Xiao-hang, WANG Cheng-qun
  (School of Informatics Science and Technology, Zhejiang Sci-Tech University, Hangzhou 310016, China)
  Abstract:In order to improve the accuracy and efficiency of trajectory planning of multi joint manipulator, this paper uses the robotics toolbox developed by Peter Corke to build the kinematics model of the manipulator on MATLAB, and designs a trajectory planning algorithm. Based on LM algorithm, the algorithm combines inverse kinematics to obtain the position of joint angle sequence, and ensures that the joint angular velocity and acceleration curves are continuous and smooth while corresponding to relevant trajectories. The results show that the algorithm can not only get relatively stable motion curve, but also has faster iteration speed than the traditional gradient descent method in the process of discrete points fitting.
  Key Words: manipulator; LM algorithm;trajectory planning;MATLAB Toolbox;least square method;industrial Internet;robot
  0 引言
  如今隨着科技的发展,机械臂在工业生产中的地位越来越不可替代,而轨迹规划是机械臂设计过程中的重要组成部分。一般而言,可利用机械臂的可靠性标准及效率标准评估机械臂性能,因此本文研究核心在于如何提升机械臂的可靠性以及如何改善机械臂运行效率[1]。目前,研究人员在规划机械臂运动轨迹方面提出了很多方案,但是每种方案的指向性较强,往往仅适用于一种或少量场景,而难以在大部分场景中获取最优解。由于存在较多优化目标,时间、能量及精准度等均是优化的切入点[2],研究人员也可选择粒子群算法或蚁群算法等多种算法。
  相对而言,国外研究人员在机械臂方面的研究处于领先地位。如Ohta等[3]设计了一种轨迹规划方法,将最优轨迹划分成两部分,在离线追踪之后恢复在线追踪,结合机械臂的各项物理约束选择三次样条函数,在此基础上对机械臂轨迹进行规划,并基于特定算法完成相应优化,以便在最大程度上缩短实现时间。国内研究人员在相关领域也进行了广泛研究,在算法和操作理念方面均有所创新。如田海波等[4]通过近似代换的方法,将约束边界条件纳入考量范围,通过几何法确定最优解,有利于实现预期优化目标。需要强调的是,通过几何法规划机械臂轨迹的复杂度较高,在很多场景下难以操作[5]。孙亮等[6]通过五段三次多项式轨迹获取角速度和角加速度,为机械臂轨迹规划提供数据支持。   针对机械臂的轨迹规划问题,本文提出使用LM算法拟合轨迹规划中的离散采样点,相比传统梯度下降法,LM算法可在有限步骤内快速逼近最优解。本文首先建立机械臂模型,然后阐述LM算法实现思路,最后在MATLAB上进行仿真,验证该方法的优越性[7-8]。
  1 机械臂运动学模型建立
  本文在robot toolbox基础上规划机械臂运动轨迹,其轨迹仿真是利用MATLAB上的绘图程序完成的,可根据时间t和关节角度、角速度、角加速度,并使用拆分窗口函数subolot和绘图函数plot进行图像绘制[9-12]。
  为了研究多关节机械臂运动轨迹的连续性和平滑性,增加仿真效果的直观性,可利用一种规划函数对机械臂的多关节轨迹进行实时仿真[13]。
  机械臂轨迹规划既可在关节空间,也可在直角坐标空间中进行。由于在关节空间中进行轨迹规划是直接用运动时的受控变量规划轨迹,有着计算量小、容易实时控制,而且不会发现机构奇异性等优势,因此经常被采用。但这种办法难以确定各杆和末端抓取器的位姿,所以运用MATLAB Toolbox是仿真实验成功的关键。
  机械臂多关节仿真使用的MATLAB Toolbox是由澳大利亚科学家Peter Corke开发的一套基于MATLAB的机器人工具箱。该工具箱提供了机器人研究所需的各类函数与接口,其功能涵盖机械臂运动、动力学建模与轨迹规划等。该工具箱可对机械臂进行图形仿真,并分析机械臂运动实验数据,非常适宜于机器人教学与研究。
  为了降低计算难度,本文介绍了DH参数表,建立目标关节的坐标系,并根据固定坐标系确定连杆之间的变换关系。由于机械臂可视为由一系列刚体通过一系列旋转接头形成的开放运动链,因此连杆一端固定在基座上,另一端装有工具以完成各种任务。只有确保连杆之间的几何关系构建清晰,才能建立精确的机械手模型,为后续运动仿真奠定良好基础。本文使用Denavit & Hartenberg提出的通用DH参数方法建立机器人关节坐标系。DH参数如表1所示。
  在确定DH参数后,引入工具箱的Link函数,即可构建机械臂模型,并使用plot函数绘制出其3D建模与空间坐标系。通过teach函数调整关节角,即可观察当前机械臂在三维空间坐标轴中的状态。
  在每两个相邻关键节点之间选择4个节点作为插值点,进行3次非均匀B样条插值,再通过逆求解在笛卡尔空间中获取50个终端姿势点,之后求解得出关节空间中的关节角度。同时,确定机器人手臂在10个关键节点处的最终姿势,并将其转换为轴与角度的相对状态,在机械臂最终姿势上执行5个非均匀B样条插值。
  为了更加精准地规划机械臂运动轨迹,需要对运动轨迹进行函数描述,引入DH参數并离散化目标轨迹。在离散化完成后,设W(zi)(i=0,1,2,3....)。其初始状态可设为P0=(q06,q05,q04,q03,q02,q01),则目标函数优化模型可表示为:
  E(qi)=k=16λk(qik-qi-1k)2        (1)
  通过优化算法的应用,核心目标为基于最短的迭代时间获取最优解,进而对轨迹采样点进行拟合,本文针对该优化目标引入LM算法。
  2 LM算法介绍
  考虑到机械臂正逆运动学方程可导,并且是一个非线性最小二乘优化问题,高斯牛顿法具有收敛快速,但对初始点位置敏感的特点,梯度下降法则相反。LM算法(Levenberg-Marquard algorithm)也被称作阻尼最小二乘法(Damped Least-squares),其结合了高斯牛顿法与梯度下降法的特点,引入了阻尼因子调节算法特性。随着阻尼系数μ的增大,计算结果偏离最优解的程度也相应提升;相反,随着阻尼系数μ的减小,计算结果趋近于最优解。在求解过程中由于选择了二阶导数,具有更快的求解速度[14-17]。
  LM算法操作步骤如下:
  步骤1:完成参数初始化,设置当前机械臂关节角度与采样点逆解计算角度误差允许值ε ,系数β,令下标k=0,阻尼因子μ=μ0。
  步骤2:通过式uk+1=uk-ATkAk+μI-1ATkek确定k+1时刻的控制向量uk+1,通过式(2)确定机械臂关节角与采样点的误差指数函数Euk。
  Eu=12i=1Ne2iN=12i=1Nye-ym2       (2)
  步骤3:通过式(3)确定Jacobian矩阵Auk。
  ?2Eu=?e1uk?u1?e1uk?u2??e1uk?un?e2uk?u1?e2uk?u2??e2uk?un?????eNuk?u1?eNuk?u2??eNuk?un     (3)
  步骤4:如果Euk<ε,uk为最优值,转到步骤6;否则,将uk+1作为新的初值向量计算误差函数,满足Euk+1<uk+1?Euk。
  步骤5:如果Euk+1=Euk,则令k=k+1,μ=μ/β,转到步骤2;否则,控制量保持不变,令uk+1=uk,μ=μ?β。
  步骤6:完成并停止。
  3 LM算法收敛性判定
  在LM算法应用过程中,通过对相关参数进行调整,以降低目标函数值,并实现收敛目标。单纯调整阻尼系数难以有效确定收敛范围是否满足条件,进而导致收敛范围出现偏差,通过该算法进行收敛判断的标准为:
  maxΔuk+1<εu        (4)
  Ak-Ak+1<εA        (5)
  如果收敛状态同时满足上述两个公式,则表示本文算法收敛范围符合要求,同时可判定当前机械臂角度值,使其末端位置与当前采样点拟合。   4 仿真验证
  此次仿真得到的结果如图1所示,并基于此完成模型构建。
  通过分析DH坐标系,可确定初始状态相关参数[18]以及连杆系数,在此基础上确定目标点坐标,进而利用DH坐标系计算机械臂末端状态值,由robot-toolbox工具箱可计算得出DH参数如图2所示。
  本文得到的轨迹效果如图3所示。
  本文在不同方法对比分析的基础上,针对机械臂轨迹规划问题,选择较为合适的优化方法完成迭代过程,利用MATLAB Toolbox工具箱计算得出的实时动画与曲线图反映迭代次数与优化结果的关系,以便整合离散数据,进而得出比较准确的仿真结果。结果显示,在大部分时间内,尤其在20轮迭代前,梯度下降法的迭代速度远不及LM算法,而在40轮迭代后,二者都趋于稳定。LM算法在迭代过程中表现出整体稳定的特征,但同时在某些迭代过程中会出现梯度上升的情况,这与参数初始化选择及超参数调整有关,可通过后续调参对迭代效果作进一步优化。
  5 结语
  为了更好地进行机械臂轨迹规划,同时为避免机械臂在运动过程中产生震动,影响其使用性能,在MATLAB中建立运动模型并进行实时状态追踪。结果显示,在设定的运动范围内机械臂运行平稳,运行过程中未出现震动情况。在仿真环境中进行实验,可避免对机械臂的损坏,为后续研究工作的顺利开展提供保障。
  本文将LM算法引入机械臂轨迹过程规划,提升了轨迹规划的精准度。与梯度下降法等传统方法相比,梯度下降法和LM算法都可在一定时间内逼近最优解。LM算法可在更短时间内下降并得出最优解,主要由于梯度下降法容易陷入局部最优解。牛顿法因在计算过程中采用Hessian矩阵,增加了计算复杂度,而LM算法由于阻尼系数的存在,使得阻尼过大时近似梯度下降法,阻尼过小时则接近高斯牛顿法,结合了二者优点,使其成为在求解非线性最小二乘问题时较为实用的算法之一。但其受到权重参数初始化及超参数选取的影响,仍会在某些迭代时刻出现梯度上升的情况。本文在确定数学模型的基础上,基于MATLAB构建可视化模型,并结合优化算法规划其运动轨迹。结果表明,LM算法迭代效果良好,后续还可通过调整超参数对其作进一步改进。
  参考文献:
  [1] MOHRI A, FURUNO S, YAMAMOTO M. Trajectory planning of mobile manipulator with end-effector's specified path[C]. IEEE/RSJ International Conference on Intelligent Robots & Systems, 2001:2264-2269.
  [2] SHARIATI-NIA M,GHAYOUR M,MOSAYEBI M . Optimal trajectory planning of a mobile robot with spatial manipulator for obstacle avoidance[C]. Gyeonggi-do:International Conference on Control, Automation and Systems, 2010.
  [3] OHTA K,SVININ M M,LUO Z W,et al. Optimal trajectory formation of constrained human arm reaching movements[J]. Biological Cybernetics,91(1):23-36.
  [4] 田海波, 馬宏伟, 魏娟. 串联机器人机械臂工作空间与结构参数研究[J]. 农业机械学报, 2013, 44(4):196-201.
  [5] 姜宏超, 刘士荣, 张波涛. 六自由度模块化机械臂的逆运动学分析[J]. 浙江大学学报(工学版), 2010(7):1348-1354.
  [6] 孙亮, 马江, 阮晓钢. 六自由度机械臂轨迹规划与仿真研究[J]. 控制工程,2010(3):388-392.
  [7] DEAN-LEON E,NAIR S, KNOLL A. User friendly Matlab-toolbox for symbolic robot dynamic modeling used for control design[C].IEEE International Conference on Robotics & Biomimetics,2012:2081-2088.
  [8] PROINOV P D. General local convergence theory for a class of iterative processes and its applications to Newton’s method[J]. Journal of Complexity, 2009, 25(1):38-62.
  [9] WANG X. Convergence of Newton’s method and uniqueness of the solution of equations in Banach space[J]. IMA Journal of Numerical Analysis, 2000, 20(1):123-134.
  [10] DASARI A,REDDY N S. Forward and inverse kinematics of a robotic frog[C].International Conference on Intelligent Human Computer Interaction. IEEE, 2013:1-5.
  [11] HE R,ZHAO Y,YANG S,et al. Kinematic-parameter identification for serial-robot calibration based on POE formula[J]. IEEE Transactions On Robotics,2010,26(3):411-423.
  [13] 王毅非. 最小二乘算法的研究与改进[J]. 电力系统保护与控制, 2000, 28(3):5-8.
  [14] KNIGHT J A G,CHAPMAN P. An assessment of the potential of an industrial robot for use as a flexible drilling machine[C]. Proceedings of the Twenty-third International Machine Tool Design and Research Conference,1983:103-107.
  [15] 祝强. LM算法求解大残差非线性最小二乘问题研究[J].中国测试, 2016, 42(3):12-16.
  [16] 居鹤华, 付荣. 基于GA的时间最优机械臂轨迹规划算法[J]. 计算机应用研究,2011, 19(9):3275-3278.
  (责任编辑:黄 健)
转载注明来源:https://www.xzbu.com/8/view-15381352.htm