一种基于粒子群优化算法的机器人操纵方法技术

技术编号:21035910 阅读:41 留言:0更新日期:2019-05-04 06:00
本发明专利技术提出了一种基于粒子群优化算法的机器人操纵方法,包括:设置每个任务的任务参数;利用粒子群优化算法进行迭代训练,生成最优控制参数,包括:进行粒子群初始化,由单个粒子生成阻抗控制参数;根据所述控制参数操纵实时回路,完成对机器人的操纵任务;根据完成操纵任务的结果,通过检测到的控制性能评价得到各个粒子的适应度,然后更新个体历史最好位置与粒子群体历史最好位置、粒子的速度与位置;如果全局最优位置满足最小界限,则训练层迭代完毕,向任务层输出最优控制参数。本发明专利技术使用起来简单便捷、训练过程轻量且快速、操纵性能优异,能够胜任多种机器人操纵任务。

A Robot Manipulation Method Based on Particle Swarm Optimization

【技术实现步骤摘要】
一种基于粒子群优化算法的机器人操纵方法
本专利技术涉及工业机器人
,特别涉及一种基于粒子群优化算法的机器人操纵方法。
技术介绍
机器人的运动控制在历经数十年的快速发展后,不论是理论还是实践都已经趋于成熟与完善,但是一旦涉及到机器人与环境的交互,特别是期望机器人能够自如的抓取及操纵物体时,至今都没有一个令人满意的解决方案。拥有可靠的操纵能力是机器人能够真正走出实验室,进入大规模消费市场的必要条件,这表明一种实用且好用的机器人操纵技术是十分迫切且现实的需求。在机器人操纵技术中,底层控制框架一般采用变参数阻抗控制,而其中最关键与最复杂的部分则在于如何选取与确定最优的控制参数。目前已有的技术方案主要包括以下两种:1、手动调整控制参数,在确定的工况下,经过复杂的建模与优化,获得一组能够实现特定操作功能的控制参数,当环境特性变化时(如操纵目标的质量惯量改变、接触面的刚度改变等),需要重新进行参数整定。2、自动调整控制参数,利用机器学习算法(如深度学习、增强学习等)通过训练自动获得不同工况下的控制参数。但是上述两种技术方式的主要缺陷与不足在于:由于控制参数众多且互相耦合,手动调整参数需要大量储备知识,不仅普通消费者与普通工人难以完成,专业技术人员也需要耗费大量的人力与时间成本,而且不可能穷尽现实中的每一种工况。由于深度学习计算规模巨大,现有自动调整参数算法在计算最简单的工况时(如轴孔装配)都需要大规模计算机集群的海量算力,这在复杂的消费场景与工业场景中更加难以实现。
技术实现思路
本专利技术的目的旨在至少解决所述技术缺陷之一。为此,本专利技术的目的在于提出一种基于粒子群优化算法的机器人操纵方法。为了实现上述目的,本专利技术的实施例提供一种基于粒子群优化算法的机器人操纵方法,包括:步骤S1,告知机器人需要完成的任务,即设置任务在各个执行阶段的约束参数,其中包括:初始状态的位置约束与力约束xinit、Finit、中间一系列状态的位置约束与力约束xexec1、Fexec1、xexec2、Fexec2…,及完成状态下的位置约束与力约束xfini、Ffini;这些约束用于确定机器人在操作过程中所处的各个状态及各个状态之间的转移条件;步骤S2,利用粒子群优化算法进行迭代训练,生成最优控制参数,包括:进行粒子群初始化,由粒子位置生成阻抗控制参数;根据所生成的控制参数进行机器人阻抗控制,完成操纵任务;考察各个粒子所对应的操纵结果,以完成操作任务所需的时间作为粒子的适应度,从而更新个体历史最好位置dpbest与群体历史最好位置dgbest,并更新粒子的速度与位置;如果全局最优位置满足最小界限,则训练层迭代完毕,向任务层输出最优控制参数,如果未达到终止条件则由更新后的粒子状态重新生成阻抗参数,并进行新一轮训练。进一步,在所述步骤S2中,所述进行粒子群初始化,包括:设置粒子为与所述阻抗控制参数个数相关的n维向量,设置种群规模在25左右,速度最大值在参数变化范围20%以内,随机生成粒子的初始位置dinit与速度vinit。进一步,在所述步骤S2中,根据每个粒子的状态和任务参数确定阻抗控制参数α、β、γα、γβ及期望轨迹参数xd、Fd;由所述阻抗控制参数及期望轨迹参数生成各个粒子所对应的阻抗控制率其中,Fff为自适应前馈力矩;Fd为理想轨迹所对应的前馈力矩;K为阻抗控制刚度;D为阻尼矩阵;e为偏差;α、γα为力矩前馈的学习因子和遗忘因子;β、γβ为刚度的学习因子和遗忘因子;T为控制器步长;κ为自适应跟踪误差;J为机器人雅可比矩阵。进一步,将机器人操作时间作为粒子适应度,首先计算各个粒子在初始位置下的适应度,选出适应度最高的位置作为历史最好位置,在每一次迭代中,将粒子当前适应度与历史最好位置的适应度作比较,以更新个体历史最好位置dpbest与粒子群体历史最好位置dgbest。进一步,在所述步骤S2中,所述粒子的速度与位置,包括:vi=vi+c1·R1·(dpbest-di)+c2·R1·(dgbest-di)(4)di=di+vi(5)式中,vi为粒子速度,di为粒子位置,即表征阻抗控制参数的多维向量,R1、R2为0~1之间的随机数,表征粒子运动的随机性,c1、c2为加速度常数,分别表征个体认知与群体认知对粒子影响的大小。根据本专利技术实施例的基于粒子群优化算法的机器人操纵方法,采用自动调整控制参数的策略,利用粒子群优化算法进行机器人阻抗控制参数训练,得到最优控制参数。本专利技术的实现分为三个层级:最外层为任务层,不同的任务确定了不同的参数约束,并将其传递至中层;中层为训练层,每一次迭代都会调用粒子群优化算法计算得到本轮训练所生成的控制参数,将其传递至内层;内层为机器人操纵实时控制回路,利用中层传入的控制参数完成操纵任务。本专利技术通过对用户只开放任务层输入接口,将内部控制算法及参数调整算法深度封装,使用起来简单便捷,只需告知机器人需要完成的任务即可。训练过程轻量且快速,不需要庞大的硬件算力即可完成训练,具有在现实场景中实现的基础。并且,操纵性能优异,能够胜任多种机器人操纵任务。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本专利技术实施例的基于粒子群优化算法的机器人操纵方法的流程图;图2为根据本专利技术实施例的基于粒子群优化算法的机器人操纵方法的示意图。具体实施方式下面详细描述本专利技术的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。如图1-2所示,本专利技术实施例的基于粒子群优化算法的机器人操纵方法,包括如下步骤:步骤S1,告知机器人需要完成的任务,即设置任务在各个执行阶段的约束参数,其中包括:初始状态的位置约束与力约束xinit、Finit、中间一系列状态的位置约束与力约束xexec1、Fexec1、xexec2、Fexec2…,及完成状态下的位置约束与力约束xfini、Ffini;这些约束用于确定机器人在操作过程中所处的各个状态及各个状态之间的转移条件。步骤S2,利用粒子群优化算法进行迭代训练,生成最优控制参数,包括:步骤S21,进行粒子群初始化,由粒子位置生成阻抗控制参数。具体的,进行粒子群初始化,包括:设置粒子为与阻抗控制参数个数相关的n维向量,设置种群规模,根据任务参数确定粒子位置与速度的上限和下限,其中,种群规模可以在25左右,速度最大值在参数变化范围20%以内。然后随机生成粒子的初始位置dinit与速度vinit。根据每个粒子的状态和任务参数确定阻抗控制参数α、β、γα、γβ及期望轨迹参数xd、Fd等。由阻抗控制参数及期望轨迹参数生成各个粒子所对应的阻抗控制率,具体如下:其中,Fff为自适应前馈力矩;Fd为理想轨迹所对应的前馈力矩;K为阻抗控制刚度;D为阻尼矩阵;e为偏差;α、γα为力矩前馈的学习因子和遗忘因子;β、γβ为刚度的学习因子和遗忘因子;T为控制器步长;κ为自适应跟踪误差;J为机器人雅可比矩阵。步骤S22,根据所生成的控制参数进本文档来自技高网...

【技术保护点】
1.一种基于粒子群优化算法的机器人操纵方法,其特征在于,包括如下步骤:步骤S1,告知机器人需要完成的任务,即设置任务在各个执行阶段的约束参数,其中包括:初始状态的位置约束与力约束xinit、Finit、中间一系列状态的位置约束与力约束xexec1、Fexec1、xexec2、Fexec2…,及完成状态下的位置约束与力约束xfini、Ffini;这些约束用于确定机器人在操作过程中所处的各个状态及各个状态之间的转移条件;步骤S2,利用粒子群优化算法进行迭代训练,生成最优控制参数,包括:进行粒子群初始化,由粒子位置生成阻抗控制参数;根据所生成的控制参数进行机器人阻抗控制,完成操纵任务;考察各个粒子所对应的操纵结果,以完成操作任务所需的时间作为粒子的适应度,从而更新个体历史最好位置dpbest与群体历史最好位置dgbest,并更新粒子的速度与位置;如果全局最优位置满足最小界限,则训练层迭代完毕,向任务层输出最优控制参数,如果未达到终止条件则由更新后的粒子状态重新生成阻抗参数,并进行新一轮训练。

【技术特征摘要】
1.一种基于粒子群优化算法的机器人操纵方法,其特征在于,包括如下步骤:步骤S1,告知机器人需要完成的任务,即设置任务在各个执行阶段的约束参数,其中包括:初始状态的位置约束与力约束xinit、Finit、中间一系列状态的位置约束与力约束xexec1、Fexec1、xexec2、Fexec2…,及完成状态下的位置约束与力约束xfini、Ffini;这些约束用于确定机器人在操作过程中所处的各个状态及各个状态之间的转移条件;步骤S2,利用粒子群优化算法进行迭代训练,生成最优控制参数,包括:进行粒子群初始化,由粒子位置生成阻抗控制参数;根据所生成的控制参数进行机器人阻抗控制,完成操纵任务;考察各个粒子所对应的操纵结果,以完成操作任务所需的时间作为粒子的适应度,从而更新个体历史最好位置dpbest与群体历史最好位置dgbest,并更新粒子的速度与位置;如果全局最优位置满足最小界限,则训练层迭代完毕,向任务层输出最优控制参数,如果未达到终止条件则由更新后的粒子状态重新生成阻抗参数,并进行新一轮训练。2.如权利要求1基于粒子群优化算法的机器人操纵方法,其特征在于,在所述步骤S2中,所述进行粒子群初始化,包括:设置粒子为与所述阻抗控制参数个数相关的n维向量,设置种群规模在25左右,速度最大值在参数变化范围20%以内,随机生成粒子的初始位置dinit与速度vinit。3.如权利要求1基于粒子群优化算法...

【专利技术属性】
技术研发人员:张航曹华韩建欢于文进庹华韩峰涛
申请(专利权)人:珞石山东智能科技有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1