APP下载

基于改进Dijkstra算法的轮式移动机械臂无碰撞轨迹研究

2022-09-02董丽莎

制造业自动化 2022年8期
关键词:障碍物轨迹角度

董丽莎

(郑州西亚斯学院 电子信息工程学院,郑州 451100)

0 引言

现阶段,社会对电子技术的新要求驱使着智能科技快速发展,各类智能技术的衍生产品更是成为现下的销售主流。其中,移动机器人的应用范围最为广泛,可用于物流分拣、电站巡检以及工业生产等领域。移动机器人具有高灵敏性、高动态捕捉的视觉观察能力,可运用机械臂进行灵活地抓取、抛掷等动作。但当外界环境存在障碍物干扰或初始目标设定值出现偏差时,容易出现机械臂碰撞现象导致出现故障。

文献[1]提出一种基于重点考虑了系统的非线性动力学特征变化,建立机械臂变量间作用及重力因素的影响关联模型,针对可能出现碰撞的不确定性因素进行策略迭代算法,求解李雅普诺夫稳定性理论函数,根据函数值确定最佳的无碰撞规避参数。该方法没有考虑到干扰量导致的计算偏差问题,规避轨迹规划效果较差。文献[2]通过历史数据分析建立了冗余机械臂的运动学模型,借助深度学习算法对机械臂的碰撞轨迹进行训练测试,将测试结果作为机械臂与障碍物间安全距离的参照阈值。该方法由于训练次数较少和关键对照参数计算错误的问题,导致安全距离阈值参考价值低,无碰撞轨迹计算误差较大。

综合上述问题,本文采用改进Dijkstra算法对轮式移动机械臂无碰撞轨迹进行计算研究。在所有路径规划算法中,Dijkstra是指从一个路线顶点至其余各顶点的最短路径,是以设定条件为目标的轨迹规划算法的前提和基础。本文利用Dijkstra算法的贪心思想,根据机械臂的动力学模型,将未经碰撞和经历碰撞的轨迹进行融合计算,求解最佳的安全距离路线,再结合Dijkstra算法在路线中寻找最短路径,多次迭代计算,该方法既避免了求解过程中的局部最优,又保证了求解的多样性,实现最优化的无碰撞轨迹选择。

1 轮式移动机械臂障碍物碰撞模型模拟分析

考虑到轮式移动机械臂自身惯性较大、动态能力较强的特点,建立动力学模型对其运动特征进行详细分析,得到关键动力参数值作为下一步骤无碰撞轨迹算法的参考。

一般情况下,轮式移动机械臂的两个后轮分别采用各自独立马达来驱使运动,在机器人的中心质点位置装配动力测试器,采集结果得到机器人的动态结构如图1所示。

图1 轮式移动机械臂结构示意

图1中,以平台的质心C2位置作为运动参照点,为圆心的虚线圆需要满足路径最短距离r=10,得到机械臂的运动方程为:

式(1)中,xc、yc分别表示水平与垂直方向的轴线;cosφ表示平台对称轴与之间的余切夹角;sinφ表示平台对称轴与之间的正切夹角;d表示杆件与质心C2之间的距离,φ表示夹角。用q=[xc,yc,φ,θ1,θ2]来代表动力学参数集合,其中,θ1、θ2分别表示连杆1和连杆2之间的旋转方向角,表达方程为:

式(2)中,存在A(q)=[-sinφ,cosφ,-d,0,0]关系,q′′表示进行标准动力描述后的参数集合。

通常情况下,当机械臂出现碰撞时,连杆1和连杆2的旋转角θ1、θ2势必会出现变化,对连杆施加不同的碰撞力,分别计算不同力度下角度的变化,矩阵S(q)表达公式如式(3)所示:

对式(4)~式(6)进行微积分[3]计算即可得:

考虑到机械臂运动的速度关系影响,将速度参数VT=[v1,v2,v3,v4]和角度参数ST=[s1,s2,s3,s4],将式(9)引入速度参数VT和角度参数ST可得到:

式(10)中,J(q)表示雅可比矩阵,式(10)将移动机械臂的输出参数与运动速度、角度联系起来,将其中作为无碰撞路径规划的参照重点,帮助提高轨迹规划的精准度。

2 基于改进Dijkstra的机械臂无碰撞轨迹路径规划算法

Dijkstra算法结合了贪心理论,以最短路径为基础,在可行空间内查找最佳的目标点,当空间中存在多个目标时,出现不确定现象,Dijkstra算法是最好的选择,它可以从源头开始逐步扩展搜索的范围,直至寻找到最优解为止,且路径重复概率较低,算法适应能力较强,鲁棒性较高。改进Dijkstra算法是建立在传统Dijkstra算法上的一种最优路径规划策略,在算法中加入了机械臂速度和角度参照函数供无碰撞轨迹进行评估,使规划路径更为准确合理。

在进行无碰撞的路径轨迹规划时,以机器臂在障碍空间的起点位姿为规划的根节点,根据上述过程得到的动力学参数建立惩罚函数[4],生成一个随机扩展树。当随机树的所有分支中包含机械臂避障目标相关的位姿节点时,即可在随机树中查找该位姿节点的起始点,追踪运行路径,该路径即为最佳的无碰撞路径[5]。本文对传统的Dijkstra算法进行扩展改进,在算法原有的基础上增加了代价函数进行避障约束,采用Python extend扩展函数降低规避算法的计算代价,以便达到快速收敛的目的。根据移动机器人机械臂动力学的参数特征建立的惩罚函数如下:

式(11)中,G(W,Wrand)表示随机路径规划的位姿代价;Ea表示机械臂平稳性权重;Ed表示路径最短权重参数;D(Pi,Pgoad)表示机械臂在D状态下从目标点Pi到点Pgoad的距离代价;Tnode表示随机树函数,与目标点Pi位置越接近的点,路径代价Wi越低;A(Ui,Urand)表示机械臂从点Ui运动至位姿点Urand各个关节的实时角度变化参数,该值越小代表机械臂在运动过程中的角度变化幅度越小,稳定性越强。

运用相邻两个机械臂位姿点的关节角度变化,作为平衡机械臂无碰撞平稳定的标准,定义其位姿角度变化程度为:

式(12)中,αrandj表示机械臂各关节的正值关节角;βij表示各关节的负值关节角;j表示关节点。由于轮式移动机械臂的尺寸和所需的工作空间都相对较大,采用扩展函数进行无碰撞搜索计算时,空间范围过大会影响搜索效率,且环境内也会存在一定未知因素影响。为让无碰撞算法的寻优构成效益最大化,需要通过迭代计算不断逼近代价函数,并将机械臂从起始位置至目标点的搜索过程看作是一个不断迭代寻优过程,对空间内的每个角落都进行全覆盖搜索,进而提高算法效率和性能。

采用所提方法搜索机器臂位姿目标时,首先要设置一个误差区间,然后当机器臂末端位置节点误差在设置范围内,说明对该节点的判定属于正确判定;反之,当误差值大于设定的误差范围时,需要将该值剔除再重新搜索全局最优目标,直至符合误差标准。通过上述方法进行无碰撞路径规划后,再采用避障位姿调整策略,对机械臂的关节角度进行微调,消除误差,使无碰撞路径达到最佳精准度。

3 实验分析

3.1 实验背景

为验证基于改进Dijkstra算法的轮式移动机械臂无碰撞轨迹规划的有效性,采用MATLAB(Matrix Laboratory)矩阵实验室作为测试平台。将移动机器人机械臂按照工作习惯,分为1到6个不同的动作关节,其机械臂关节示意如图2所示。

图2 轮式移动机械臂示意图

实验的测试指标将根据各个关节无碰撞的避障轨迹及角度变化进行系统分析。

3.2 无碰撞轨迹控制结果对比分析

结合轮式移动机械臂多为物流运输行业的工作环境,其工作多为抓取货物等,容易受到障碍物影响的是墙壁、货架以及其他移动机器等。考虑到该点,将障碍物形态设置为常见的矩形和圆形,并与文献[1]方法、文献[2]方法进行对比分析,得到三种方法在不同障碍环境下的无碰撞轨迹结果如图3~图5所示。

图3 墙壁障碍物下三种方法无碰撞轨迹规划结果

图4 矩形形态障碍物下三种方法无碰撞轨迹规划结果

图5 圆形形态障碍物下三种方法无碰撞轨迹规划结果

从图3中可以看出,矩形障碍物的组成方式更接近显示墙壁表达,从起点至终点需绕过墙壁。对比三种方法的无碰撞规避路径可知,文献[1]方法存在过度避障的问题,没有把握好障碍物的安全距离,路径规划轨迹较大;文献[2]方法则存在过弯困难的问题,在墙角位置出现多次碰撞;而所提方法的路径规划轨迹较小,机械臂与墙壁之间的安全距离把控较好,在保证无碰撞的前提下,完成轨迹规划路径最短。

从图4中可以看出,所提方法的轨迹规划最好,有效规避了矩形障碍物,且路径曲线变动较小呈现接近直线的状态,保证了路径最低消耗。而文献[2]方法的避障轨迹则出现了多次碰撞现象,规避效果较差且路径消耗较大,各方面路径规划性能表现较差;文献[1]方法虽然保证了机械臂的无碰撞,但是在路径最短方面存在控制误差。综合对比可知,所提方法的无碰撞规避效果较好。

从图5中可以看出,相对于前两种障碍物,三种方法的圆形障碍避障效果最佳。从最短路径方面来看,所提方法的轨迹整体接近直线,这说明机械臂运行从起点至终点没有出现多余路径,文献[1]方法的路径总长要远远大于所提方法;而文献[2]方法与所提方法相比弯绕过多。由此可知,所提方法对机械臂无碰撞轨迹规划效果最好,实用性最强。

3.3 基于关节角度的避障控制效果对比分析

上述是对机械臂整体无碰撞轨迹控制效果的判定,为进一步验证所提方法的有效性,对图2机械臂的6个关节分别进行避障角度分析,通过关节角的变化并结合实际进行有效分析,实验结果如图6~图8所示。将移动机械臂的最佳避障轨迹设为上举,对比三种方法进行避障后的机械臂动作,是否与最佳轨迹相符。

图6 文献[1]方法机械臂轨迹控制结果

图7 文献[2]方法机械臂轨迹控制结果

图8 所提方法机械臂轨迹控制结果

从图6~图8中可以看出,所提方法进行避障时机械臂角度变化均在-10°~40°之内,各个关节基本处于正方向运动,表明机械臂正在进行上举或抬起等动作,与最佳情况描述相符合;而另外两种方法存在反方向的动作角度,机械臂在-10°~-30°出现关节变动,表明机械臂出现旋转或放下等动作,与实验的最佳避障情况进行对比,偏差较大,机械臂的上举动作只会发生正值角度变化,与实际情况表达不相符,机械臂无碰撞避障存在较大误差。由此可知,所提方法能够有效实现无碰撞避障,减小计算误差,确保整体的避障效果。

4 结语

本文提出了一种基于改进Dijkstra算法的轮式移动机械臂无碰撞轨迹规划方法,详细研究得到以下几点结论:

1)为达到最优的无碰撞效果,本文建立了机械臂的动力学模型,通过模型详细分析了动态动作时,关节角度和运行速度线性变化,通过函数求解得到的关键参数来作为下一步避障规划的参考,最大程度上降低误判,提高精准度。

2)利用改进Dijkstra算法路径寻优效果佳、搜索速度快的特点,建立了无碰撞的轨迹目标惩罚函数,函数可以有效规范障碍物点和目标点间的安全距离误差,保证避障效果最大化。

3)实验结果表明,所提方法对在不同障碍物形态下均能实现有效避障,在此基础上还能保证最短路径,提高机器人运行速度和效率。

猜你喜欢

障碍物轨迹角度
解析几何中的轨迹方程的常用求法
神奇的角度
轨迹
轨迹
高低翻越
赶飞机
月亮为什么会有圆缺
一个涉及角度和的几何不等式链的改进
角度不同
人啊