一种基于深度强化学习和阻抗控制的柔顺人机接触方法转让专利

申请号 : CN202210484043.6

文献号 : CN114789444B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 舒明雷张铁译陈超王若同刘照阳

申请人 : 山东省人工智能研究院齐鲁工业大学

摘要 :

一种基于深度强化学习和阻抗控制的柔顺人机接触方法,根据本任务的需求,建立相关的状态空间,动作空间和奖励函数,为实现任务的柔顺性,在身体表面建立虚拟接触面,结合阻抗控制,提前获取执行器到达目标部位的虚拟接触力,并输入状态空间,通过深度强化学习算法对执行器动作的调整,实现力调整,完成任务。实现了深度强化学习和柔顺控制的结合,建立了虚拟接触面,可提前获取执行器的接触力,实现对接触力的调整,来适应复杂多变的柔顺人机接触任务。

权利要求 :

1.一种基于深度强化学习和阻抗控制的柔顺人机接触方法,其特征在于,包括如下步骤:a)根据柔顺人机接触任务,以机械臂底座建立机械臂坐标系,获得执行器的初始位置坐标{Px,Py,Pz}及目标部位在机械臂坐标系下的位置坐标{Ox,Oy,Oz},Px为执行器的X轴坐标,Py为执行器的Y轴坐标,Pz为执行器的Z轴坐标,Ox为目标部位的X轴坐标,Oy为目标部位的Y轴坐标,Oz为目标部位的Z轴坐标;

b)通过深度强化学习算法建立状态空间S和动作空间A,S={Px′,Py′,Pz′,Ox,Oy,Oz,Fx,Fy,Fz},式中Fx为执行器的X轴方向上的接触力分力,Fy为执行器的Y轴方向上的接触力分力,Fz为执行器的Z轴方向上的接触力分力,Px′为执行器的实时位置的X轴坐标,Py′为执行器的实时位置的Y轴坐标,Pz′为执行器的实时位置的Z轴坐标;

c)对机械臂位姿进行初始化,初始化后执行器的实时位置坐标为{P′x,P′y,P′z},得到执行器初始位置与目标部位之间的距离di及执行器当前位置与目标部位之间的距离dc;

d)通过公式r1=(di‑dc)/di计算得到基于距离的奖励函数r1;

e)设定柔顺人机在接触任务中,执行器与目标接触的接触力在m‑nN之内;

f)在距离身体距离为γ处设置虚拟接触面;

g)通过公式l=|P′z‑Oz|计算得到是否接触到虚拟接触面的判定条件值l;

h)当l>γ时,判定执行器未接触到虚拟接触面,状态空间Fx,Fy,Fz均为0;

i)当0<l≤γ时,判定执行器接触到虚拟接触面,此时通过阻抗控制得到虚拟接触力TFv,Fv=(F′x,F′y,F′z) ,F′x为执行器的X轴方向上的虚拟接触力分力,Fy′为执行器的Y轴方向上的虚拟接触力分力,Fz′为执行器的Z轴方向上的虚拟接触力分力,T为转置,将Fx′、Fy′及Fz′分别等同于状态空间S中的Fx、Fy及Fz;

j)当执行器与身体发生接触时,真实接触力Fe≠0,此时停止对执行器的控制;步骤b)中通过公式A={ax,ay,az}建立动作空间,ax为执行器在机械臂坐标系下的X轴方向上的偏移量,ay为执行器在机械臂坐标系下的Y轴方向上的偏移量,az为执行器在机械臂坐标系下的Z轴方向上的偏移量;

步骤i)中通过公式 计算得到虚拟接触力Fv,式中Md、Bd、Kd均为

T

阻抗参数,为执行器的速度,为执行器的加速度,λ为常数,I为向量,I=[0,0,1] ,Δx为执行器与目标部位之间的距离差,

2.根据权利要求1所述的基于深度强化学习和阻抗控制的柔顺人机接触方法,其特征在于:步骤a)中通过柔顺人机中的视觉模块获得执行器的位置坐标{Px,Py,Pz}和目标部位在机械臂坐标系下的位置坐标{Ox,Oy,Oz}。

3.根据权利要求2所述的基于深度强化学习和阻抗控制的柔顺人机接触方法,其特征在于:步骤c)中通过公式 计算得到执行器当前位置与目标部位之间的距离dc,通过公式 计算得到执行器初始位

置与目标部位之间的距离di。

4.根据权利要求1所述的基于深度强化学习和阻抗控制的柔顺人机接触方法,其特征在于:步骤e)中m取值为1,n的取值为7。

5.根据权利要求1所述的基于深度强化学习和阻抗控制的柔顺人机接触方法,其特征在于:步骤b)中深度强化学习算法为PPO‑clip算法。

6.根据权利要求1所述的基于深度强化学习和阻抗控制的柔顺人机接触方法,其特征在于,还包括在步骤j)后执行步骤h):当真实接触力Fe大于nN时,立即停止执行器运行,并初始化机械臂。

7.根据权利要求1所述的基于深度强化学习和阻抗控制的柔顺人机接触方法,其特征在于:还包括利用奖励函数r训练深度强化学习算法。

8.根据权利要求7所述的基于深度强化学习和阻抗控制的柔顺人机接触方法,其特征在于:奖励函数r=r1+r2+r3+r4,式中当机械臂探索范围为 时r2=0,如果机械臂探索范围不为 时r2=‑1,式中Xmin为执行器在机械臂坐标系的X轴方向上所能运行到达的最小值,Xmax为执行器在机械臂坐标系的X轴方向上所能运行到达的最大值,Ymin为执行器在机械臂坐标系的Y轴方向上所能运行到达的最小值,Ymax为执行器在机械臂坐标系的Y轴方向上所能运行到达的最大值,Zmin为执行器在机械臂坐标系的Z轴方向上所能运行到达的最小值,Zmax为执行器在机械臂坐标系的Z轴方向上所能运行到达的最大值;

设置机械臂最大步数为1500步,当机械臂调整步数大于1500步时,r3=‑1,停止运行,初始化机械臂;如果真实接触力Fe在Z轴方向上的分力在m‑nN之间时,r4=1,如果真实接触力Fe在Z轴方向上的分力不在m‑nN之间时,r4=‑1。

说明书 :

一种基于深度强化学习和阻抗控制的柔顺人机接触方法

技术领域

[0001] 本发明涉及柔顺控制技术领域,具体涉及一种基于深度强化学习和阻抗控制的柔顺人机接触方法。

背景技术

[0002] 近年来,随着人工智能技术的进步,机器人的感知能力和交互沟通能力越来越强,作为一个模拟人类行为的机器系统,智能机器人能够协助人类完成各式各样的任务,相互之间的接触也不可避免的发生,为实现人与机器人的紧密结合,“人机共融”成为了重要的发展趋势。在这种趋势下,对机器人操作水平的要求也越来越高。在机器人的位置控制和力控方面,传统的柔顺控制技术已经发展得非常成熟。但控制系统的设计依托于精确的数学模型,而在柔顺人机接触任务中,由于环境的复杂性、时变性以及不确定性,很难得到精确的数学模型。因此,传统控制技术在处理相应任务时仍存在一定的挑战和局限性。

发明内容

[0003] 本发明为了克服以上技术的不足,提供了一种基于深度强化学习和阻抗控制的柔顺人机接触方法。
[0004] 本发明克服其技术问题所采用的技术方案是:
[0005] 一种基于深度强化学习和阻抗控制的柔顺人机接触方法,包括如下步骤:
[0006] a)根据柔顺人机接触任务,以机械臂底座建立机械臂坐标系,获得执行器的初始位置坐标{Px,Py,Pz}及目标部位在机械臂坐标系下的位置坐标{Ox,Oy,Oz},Px为执行器的X轴坐标,Py为执行器的Y轴坐标,Pz为执行器的Z轴坐标,Ox为目标部位的X轴坐标,Oy为目标部位的Y轴坐标,Oz为目标部位的Z轴坐标;
[0007] b)通过深度强化学习算法建立状态空间S和动作空间A,S={P′x,P′y,P′z,Ox,Oy,Oz,Fx,Fy,Fz},式中Fx为执行器的X轴方向上的接触力分力,Fy为执行器的Y轴方向上的接触力分力,Fz为执行器的Z轴方向上的接触力分力,P′x为执行器的实时位置的X轴坐标,P′y为执行器的实时位置的Y轴坐标,P′z为执行器的实时位置的Z轴坐标;
[0008] c)对机械臂位姿进行初始化,初始化后执行器的实时位置坐标为{P′x,P′y,P′z},得到执行器初始位置与目标部位之间的距离di及执行器当前位置与目标部位之间的距离dc;
[0009] d)通过公式r1=(di‑dc)/di计算得到基于距离的奖励函数r1;
[0010] e)设定柔顺人机在接触任务中,执行器与目标接触的接触力在m‑nN之内;
[0011] f)在距离身体距离为γ处设置虚拟接触面;
[0012] g)通过公式l=|P′z‑Oz|计算得到是否接触到虚拟接触面的判定条件值l;
[0013] h)当l>γ时,判定执行器未接触到虚拟接触面,状态空间Fx,Fy,Fz均为0;
[0014] i)当0<l≤γ时,判定执行器接触到虚拟接触面,此时通过阻抗控制得到虚拟接T触力Fv,Fv=(F′x,F′y,F′z) ,F′x为执行器的X轴方向上的虚拟接触力分力,F′y为执行器的Y轴方向上的虚拟接触力分力,F′z为执行器的Z轴方向上的虚拟接触力分力,T为转置,将F′x、F′y及F′z分别等同于状态空间S中的Fx、Fy及Fz;
[0015] j)当执行器与身体发生接触时,真实接触力Fe≠0,此时停止对执行器的控制。
[0016] 进一步的,步骤a)中通过柔顺人机中的视觉模块获得执行器的位置坐标{Px,Py,Pz}和目标部位在机械臂坐标系下的位置坐标{Ox,Oy,Oz}。
[0017] 进一步的,步骤b)中通过公式A={ax,ay,az}建立动作空间,ax为执行器在机械臂坐标系下的X轴方向上的偏移量,ay为执行器在机械臂坐标系下的Y轴方向上的偏移量,az为执行器在机械臂坐标系下的Z轴方向上的偏移量。
[0018] 进一步的,步骤c)中通过公式 计算得到执行器当前位置与目标部位之间的距离dc,通过公式 计算得到
执行器初始位置与目标部位之间的距离di。
[0019] 优选的,步骤e)中m取值为1,n的取值为7。
[0020] 进一步的,步骤i)中通过公式 计算得到虚拟接触力Fv,式中Md、Bd、Kd均为阻抗参数,为执行器的速度,为执行器的加速度,λ为常数,I为向量,IT T
=[0,0,1],Δx为执行器与目标部位之间的距离差,Δx=(|P′x‑Ox|,|P′y‑Oy|,|P′z‑Oz|) 。
[0021] 优选的,步骤b)中深度强化学习算法为PPO‑clip算法。
[0022] 进一步的,还包括在步骤j)后执行步骤h):当真实接触力Fe大于nN时,立即停止执行器运行,并初始化机械臂。
[0023] 进一步的,还包括利用奖励函数r训练深度强化学习算法。
[0024] 进一步的,奖励函数r=r1+r2+r3+r4,式中当机械臂探索范围为 时r2=0,如果机械臂探索范围不为 时r2=‑1,式中Xmin为执行器在机械臂坐标系
的X轴方向上所能运行到达的最小值,Xmax为执行器在机械臂坐标系的X轴方向上所能运行到达的最大值,Ymin为执行器在机械臂坐标系的Y轴方向上所能运行到达的最小值,Ymax为执行器在机械臂坐标系的Y轴方向上所能运行到达的最大值,Zmin为执行器在机械臂坐标系的Z轴方向上所能运行到达的最小值,Zmax为执行器在机械臂坐标系的Z轴方向上所能运行到达的最大值;设置机械臂最大步数为1500步,当机械臂调整步数大于1500步时,r3=‑1,停止运行,初始化机械臂;如果真实接触力Fe在Z轴方向上的分力在m‑nN之间时,r4=1,如果真实接触力Fe在Z轴方向上的分力不在m‑nN之间时,r4=‑1。
[0025] 本发明的有益效果是:根据本任务的需求,建立相关的状态空间,动作空间和奖励函数,为实现任务的柔顺性,在身体表面建立虚拟接触面,结合阻抗控制,提前获取执行器到达目标部位的虚拟接触力,并输入状态空间,通过深度强化学习算法对执行器动作的调整,实现力调整,完成任务。实现了深度强化学习和柔顺控制的结合,建立了虚拟接触面,可提前获取执行器的接触力,实现对接触力的调整,来适应复杂多变的柔顺人机接触任务。

附图说明

[0026] 图1为本发明的控制结构示意图。

具体实施方式

[0027] 下面结合附图1对本发明做进一步说明。
[0028] 一种基于深度强化学习和阻抗控制的柔顺人机接触方法,包括如下步骤:
[0029] a)根据柔顺人机接触任务,以机械臂底座建立机械臂坐标系,获得执行器的初始位置坐标{Px,Py,Pz}及目标部位在机械臂坐标系下的位置坐标{Ox,Oy,Oz},Px为执行器的X轴坐标,Py为执行器的Y轴坐标,Pz为执行器的Z轴坐标,Ox为目标部位的X轴坐标,Oy为目标部位的Y轴坐标,Oz为目标部位的Z轴坐标。
[0030] b)通过深度强化学习算法建立状态空间S和动作空间A,S={P′x,P′y,P′z,Ox,Oy,Oz,Fx,Fy,Fz},式中Fx为执行器的X轴方向上的接触力分力,Fy为执行器的Y轴方向上的接触力分力,Fz为执行器的Z轴方向上的接触力分力,P′x为执行器的实时位置的X轴坐标,P′y为执行器的实时位置的Y轴坐标,P′z为执行器的实时位置的Z轴坐标。
[0031] c)进行正确的人机接触任务,主要分为两部分进行处理,第一部分为控制执行器到达目标位置,第二部分考虑控制执行器在合适的力范围内接触目标部位,具体步骤为:对机械臂位姿进行初始化,执行器始终保持垂直向下的姿态,初始化后执行器的实时位置坐标为{P′x,P′y,P′z},得到执行器初始位置与目标部位之间的距离di及执行器当前位置与目标部位之间的距离dc。
[0032] d)通过公式r1=(di‑dc)/di计算得到基于距离的奖励函数r1。该奖励函数是为了完成到达任务进行的设定,执行器与目标部位越接近,奖励值越大。
[0033] e)设定柔顺人机在接触任务中,执行器与目标接触的接触力在m‑nN之内。此时得到的声音信号较好,同时在该接触力内,可以保证接触力造成的压力在感觉舒适的范围之内。其中mN代表最小接触力,nN代表最大接触力。
[0034] f)在距离身体距离为γ处设置虚拟接触面。
[0035] g)当执行器在接近目标部位的过程中,判断是否接触到虚拟接触面的条件为:通过公式l=|P′z‑Oz|计算得到是否接触到虚拟接触面的判定条件值l。
[0036] h)当l>γ时,判定执行器未接触到虚拟接触面,状态空间Fx,Fy,Fz均为0。
[0037] i)当0<l≤γ时,判定执行器接触到虚拟接触面,此时通过阻抗控制得到虚拟接T触力Fv,Fv=(F′x,F′y,F′z) ,F′x为执行器的X轴方向上的虚拟接触力分力,F′y为执行器的Y轴方向上的虚拟接触力分力,F′z为执行器的Z轴方向上的虚拟接触力分力,T为转置,将F′x、F′y及F′z分别等同于状态空间S中的Fx、Fy及Fz。
[0038] j)当执行器与身体发生接触时,真实接触力Fe≠0,此时停止对执行器的控制。根据本任务的需求,建立相关的状态空间,动作空间和奖励函数,为实现任务的柔顺性,在身体表面建立虚拟接触面,结合阻抗控制,提前获取执行器到达目标部位的虚拟接触力,并输入状态空间,通过深度强化学习算法对执行器动作的调整,实现力调整,完成任务。实现了深度强化学习和柔顺控制的结合,建立了虚拟接触面,可提前获取执行器的接触力,实现对接触力的调整,来适应复杂多变的柔顺人机接触任务。
[0039] 实施例1:
[0040] 步骤a)中通过柔顺人机中的视觉模块获得执行器的位置坐标{Px,Py,Pz}和目标部位在机械臂坐标系下的位置坐标{Ox,Oy,Oz}。
[0041] 实施例2:
[0042] 步骤b)中通过公式A={ax,ay,az}建立动作空间,ax为执行器在机械臂坐标系下的X轴方向上的偏移量,ay为执行器在机械臂坐标系下的Y轴方向上的偏移量,az为执行器在机械臂坐标系下的Z轴方向上的偏移量。
[0043] 实施例3:
[0044] 步骤c)中通过公式 计算得到执行器当前位置与目标部位之间的距离dc,通过公式 计算得到执行器初
始位置与目标部位之间的距离di。
[0045] 实施例4:
[0046] 步骤e)中m取值为1,n的取值为7。由于人体肌肉富有弹性,当有力接触时势必会产生凹陷,但最终控制机械臂的末端力在1‑7N的范围之内,所以不会对人体造成不适或损伤。
[0047] 实施例5:
[0048] 步骤i)中通过公式 计算得到虚拟接触力Fv,式中Md、Bd、Kd均为阻抗参数,为执行器的速度,为执行器的加速度,λ为常数,为了防止在接触过程中虚拟接触力Fv过小甚至为0的情况发生,I为向量,尽管目标表面的部分弧度会造成虚拟接触面的弧度,但由于执行器保持方向不变接触目标部位,所以在接触到虚拟接触面时,在X,Y方向上的分力会很小,所以仅需要考虑控制执行器在Z方向上的力在安全的范围内,I=T T
[0,0,1] ,Δx为执行器与目标部位之间的距离差,Δx=(|P′x‑Ox′|,|P′y‑Oy|,|P′z‑Oz|) 。
在执行器与目标部位不断接近的过程中,通过调整在X,Y,Z方向上的偏移量,来调整Δx、实现对Fv的调整。
[0049] 实施例6:
[0050] 步骤b)中深度强化学习算法为PPO‑clip算法。
[0051] 实施例7:
[0052] 由于误差的存在,还包括在步骤j)后执行步骤h):当真实接触力Fe大于nN时,立即停止执行器运行,并初始化机械臂。
[0053] 实施例8:
[0054] 还包括利用奖励函数r训练深度强化学习算法。
[0055] 实施例9:
[0056] 具体的,奖励函数r=r1+r2+r3+r4,式中当机械臂探索范围为 时r2=0,如果机械臂探索范围不为 时r2=‑1,式中Xmin为执行器在机械臂坐标系的X
轴方向上所能运行到达的最小值,Xmax为执行器在机械臂坐标系的X轴方向上所能运行到达的最大值,Ymin为执行器在机械臂坐标系的Y轴方向上所能运行到达的最小值,Ymax为执行器在机械臂坐标系的Y轴方向上所能运行到达的最大值,Zmin为执行器在机械臂坐标系的Z轴方向上所能运行到达的最小值,Zmax为执行器在机械臂坐标系的Z轴方向上所能运行到达的最大值;设置机械臂最大步数为1500步,当机械臂调整步数大于1500步时,r3=‑1,停止运行,初始化机械臂;如果真实接触力Fe在Z轴方向上的分力在m‑nN之间时,r4=1,如果真实接触力Fe在Z轴方向上的分力不在m‑nN之间时,r4=‑1。
[0057] 最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。