在动态环境中基于深度强化学习的机械臂实时控制方法

文档序号:36086816发布日期:2023-11-18 03:38阅读:74来源:国知局
在动态环境中基于深度强化学习的机械臂实时控制方法与流程

本技术涉及机械臂控制,特别涉及一种在动态环境中基于深度强化学习的机械臂实时控制方法。


背景技术:

1、在机械臂控制领域,传统的控制方法往往依赖于预先编程的轨迹规划或基于传感器反馈的位置控制,这些方法在复杂、动态的环境下存在一些问题和局限性,包括但不限于以下方面:

2、1.缺乏实时感知和适应能力:传统的控制方法往往无法实时感知和适应动态环境中的变化,导致控制响应滞后和性能下降。

3、2.障碍物避让困难:在频繁变化的障碍物场景下,传统的轨迹规划和位置控制方法往往无法灵活地避开障碍物,导致碰撞或无法到达目标位置。

4、3.在复杂环境下容易陷入局部最优和震荡现象,导致控制性能下降和稳定性问题。


技术实现思路

1、为了解决至少一个上述相关技术中存在的技术问题,本技术实施例提出了一种在动态环境中基于深度强化学习的机械臂实时控制方法,旨在实现对机械臂运动的精确控制和障碍物避让。

2、本技术实施例提出了一种在动态环境中基于深度强化学习的机械臂实时控制方法,包括:

3、获取机械臂状态信息、障碍物状态信息以及目标点状态信息;所述机械臂状态信息包括各个关节的关节角度信息、关节位置信息以及关节速度信息;

4、根据所述机械臂状态信息、所述障碍物状态信息以及所述目标点状态信息,采用人工势场方法,计算目标点的吸引速度和障碍物的排斥速度,获得机械臂的第一控制动作;

5、根据所述机械臂状态信息,采用深度强化学习算法,获得机械臂的第二控制动作;

6、根据所述第一控制动作和所述第二控制动作,进行动作叠加,获得机械臂的实时控制动作;

7、根据所述实时控制动作,控制机械臂执行路径规划任务。

8、在一些实施例,所述方法还包括:

9、采用碰撞检测方法,检测机械臂执行所述实时控制动作是否无碰撞到达目标点,确定检测结果;

10、根据所述检测结果,确定机械臂是否继续执行所述路径规划任务。

11、在一些实施例,所述障碍物状态信息包括障碍物位置信息和障碍物速度信息;所述目标点状态信息包括目标速度信息和目标位置信息;所述根据所述机械臂状态信息、所述障碍物状态信息以及所述目标点状态信息,采用人工势场方法,计算目标点的吸引速度和障碍物的排斥速度,获得机械臂的第一控制动作这一步骤,具体包括:

12、根据所述目标速度信息、所述目标位置信息和机械臂末端关节点的第一关节速度信息以及第一关节位置信息,建立目标点的引力势场,计算所述吸引速度;

13、根据所述障碍物位置信息和机械臂的所述各个关节的关节位置信息,计算机械臂关节与障碍物位置的距离,确定参照关节点;所述参照关节点为与障碍物距离最近的机械臂关节点;

14、根据所述障碍物位置信息、障碍物速度信息以及所述参照关节点的第二关节速度信息和第二关节位置信息,建立障碍物位置的斥力势场,计算所述排斥速度;

15、将所述吸引速度和所述排斥速度映射到机械臂的关节空间,采用雅可比矩阵,进行所述吸引速度和所述排斥速度的矢量叠加,获得所述第一控制动作。

16、在一些实施例,所述根据所述机械臂状态信息,采用深度强化学习算法,获得机械臂的第二控制动作这一步骤,具体包括:

17、初始化深度强化学习算法参数;所述深度强化学习算法参数包括状态空间s、动作空间a、actor网络和critic网络架构、奖励函数r、经验回放池容量l、学习率α、未来奖励折扣λ以及噪音参数νt;

18、根据所述机械臂状态信息,更新所述深度强化学习算法参数,通过所述深度强化学习算法输出所述第二控制动作。

19、在一些实施例,所述根据所述第一控制动作和所述第二控制动作,进行动作叠加,获得机械臂的实时控制动作这一步骤,具体用下式表示:

20、at=μa1t+a2t

21、其中,μ是速度势场权重系数,a1t为所述第一控制动作,a2t为所述第二控制动作,at为所述实时控制动作。

22、在一些实施例,所述根据所述目标速度信息、所述目标位置信息和机械臂末端关节点的第一关节速度信息以及第一关节位置信息,建立目标点的引力势场,计算所述吸引速度这一步骤,具体用下式表示:

23、vatt=k1(pt-pg)+k2(vt-vg)

24、其中,pt为机械臂末端关节点的位置矢量,pg为目标点的位置矢量,vt为机械臂末端关节点的速度矢量,vg为目标点的速度矢量,k1为位置权重系数,k2为速度权重系数。

25、在一些实施例,所述深度强化学习算法具体包括:

26、状态空间s=(θ,p,d,t)

27、其中,θ为机械臂各关节速度集合,由各关节速度θi组成,θi表示第i段关节的关节速度,p表示目标点的位姿,d表示障碍物的位姿,t表示是否完成任务;

28、动作空间a=(ω1,ω2λ,ωi)

29、其中,ωi为机械臂各个关节的角速度;

30、actor网络架构为100*256*256*1,隐藏层使用relu函数作为隐藏层激活函数,输出层使用tanh函数作为输出层激活函数;

31、critic网络架构均为100*256*256*1,隐藏层使用relu函数作为隐藏层激活函数,输出层使用tanh函数作为输出层激活函数;

32、奖励函数r=r1+r2+r3+r4

33、

34、其中,r1表示机械臂末端到目标距离的负值作为惩罚,用以训练机械臂接近目标点,r2为机械臂末端是否到达目标位置给予二值奖励,引导机械臂到达目标点,η表示斥力因子,di表示第i个障碍物到机械臂末端的距离,ρ表示障碍物的影响范围,r3使用了斥力势场构建奖励函数,表示机械臂末端到障碍物的距离作为惩罚,当用来引导机械臂远离障碍物,r4为机械臂发生碰撞给予惩罚,引导机械臂避免发生碰撞。

35、在一些实施例,所述根据所述检测结果,确定机械臂是否继续执行所述路径规划任务这一步骤,具体包括:

36、当所述检测结果为无碰撞发生时,根据所述实时控制动作,控制机械臂执行所述路径规划任务,收集动作经验集,将所述动作经验集存入所述深度强化学习算法中的经验回放池;所述动作经验集包括所述实时控制动作、执行所述实时控制动作的当前状态、完成所述实时控制动作的奖励值以及完成实时控制动作后的过渡状态;

37、当所述检测结果为发生碰撞时,控制机械臂停止执行所述路径规划任务,重新生成所述实时控制动作,再继续控制机械臂执行所述路径规划任务。

38、在一些实施例,所述根据所述障碍物位置信息、障碍物速度信息以及所述参照关节点的第二关节速度信息和第二关节位置信息,建立障碍物位置的斥力势场,计算所述排斥速度这一步骤,具体用下式表示:

39、当存在一个障碍物时,计算所述排斥速度用下式表示:

40、式1:

41、式2:vp=||vm-vob||

42、式3:

43、其中,vp表示参照关节点的速度矢量vm和障碍物的速度矢量vob之差,表示vm和vob的法向速度,当机械臂与障碍物不发生碰撞时,式1中不改变排斥速度方向,当机械臂与障碍物发生碰撞时,则启用式3计算式1中系数k表示当有多个障碍物时,k由于障碍物的距离和速度会有所不同,常量ρ表示排斥速度影响的范围,当障碍物和关节最短距离d小于ρ时,d越小排斥速度越大,当d大于ρ时排斥速度等于0;

44、当存在多个障碍物时,计算所述排斥速度用下式表示:

45、

46、其中,vreqi为第i个障碍物处的排斥速度,vreqi通过所述式1、所述式2以及所述式3进行计算获得。

47、在一些实施例,所述碰撞检测方法为aabb-box算法。

48、本技术提供的一种在动态环境中基于深度强化学习的机械臂实时控制方法,其通过获取机械臂状态信息、障碍物状态信息以及目标点状态信息,采用人工势场方法,计算目标点的的吸引速度和障碍物的排斥速度,获得机械臂的第一控制动作,采用深度强化学习算法,获得机械臂的第二控制动作,根据第一控制动作和第二控制动作,进行动作叠加,获得机械臂的实时控制动作,执行路径规划任务。本技术结合深度强化学习和人工势场法的优势,利用深度强化学习网络学习机械臂的动作策略,并通过人工势场法生成合适的势场力来引导机械臂的运动,能够在复杂的控制环境中实现更精准的机械臂运动,提高深度强化学习效率,控制机械臂在非结构化的复杂环境中执行路径规划任务时的避障能力和学习效率,更好地感知和应对动态变化的障碍物,面对动态障碍物时能做出及时的避让动作,实现在动态环境中精确、高效地控制机械臂运动。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1