1.基于强化学习的机械臂避障路径规划方法,其特征在于,包括如下步骤:根据机械臂的初始状态使用DH方法建立机械臂DH模型,以三维坐标的形式输入机械臂的起始位置、障碍物位置以及目标位置,采用AABB包围盒法对障碍物进行简化,同时将机械臂的圆柱体连杆模型扩大预定半径,结合机械臂的圆柱体连杆模型进行碰撞检测的优化;
基于Q学习对机械臂末端进行路径规划,定义机械臂末端的状态和动作集,通过建立奖励函数,确保机械臂在避障的同时有效的向目标点移动,还通过 策略进行动作选择,同时引入三重避障策略;
采用3‑5‑3多项式插值算法对所述机械臂各关节的轨迹进行规划,设置速度,加速度和加加速度约束,将路径规划所得的离散路径点进行拟合得到平滑、快速的关节轨迹,对海鸥算法进行改进,并利用改进的海鸥算法对所述关节轨迹进行优化;
其中,基于Q学习对机械臂末端进行路径规划,包括如下步骤:将所述机械臂末端的坐标状态S设置为:
,
其中,x、y、z分别是所述机械臂末端在空间中的坐标,n为所述机械臂末端在空间中移动的次数,所述机械臂末端在每个坐标轴的正方向或负方向移动一个步长,定义移动动作集A如下: ,其中, 分别表示所述机械臂末端在X、Y、Z轴方向的移动步长;
基于所述机械臂末端所述障碍物之间的第一实时距离和所述机械臂末端和所述目标点的第二实时距离,建立奖励函数引导所述机械臂远离所述障碍物并向所述目标点移动;
在所述机械臂移动的过程中,还利用所述机械臂末端到所述目标点的欧氏距离来更新所述奖励函数以加快学习速度;
在Q学习中,根据下一状态 ,选择下一状态下可以得到的最大 值 乘以折扣系数加上奖励值 作为最新的Q值,定义更新Q值的规则为:,
其中, 为Q学习的学习率, 为折扣系数, 为下一状态采取动作可获得的最大Q值, 表示下一状态可采取的动作, 是指下一状态,A表示当前状态采取的动作,S是指当前状态, 是指根据所述奖励函数计算的奖励值;
基于所述Q值和所述奖励函数,采用 动作选择策略选择下一个动作,所述动作选择策略通过设定贪婪阈值 确定每个动作的选取方式,所述 的取值范围为0到1;
在陷入局部最优时无法通过环境奖励找到逃脱路径的情况下,引入三重避障策略,根据所述机械臂末端和所述障碍物的实时距离,动态调整Q学习算法的贪婪程度、步长大小并利用RRT*算法避障获取逃脱路径,之后利用Q学习继续探索最佳路径;
通过Q学习找到无碰撞路径后,由逆动力学得到各关节的路径并生成轨迹,基于所述轨迹上的每个点对所述机械臂的连杆进行碰撞检测,若无碰撞,按照角度变化的大小从小到大对所有组运动学逆解进行排序,选择角度变化最小的一组运动学逆解,若出现碰撞,选择下一组运动学逆解进行碰撞检测直至无碰撞,若所有组的所述运动学逆解均会碰撞,将对应的点视为障碍物,重新进行路径规划;
其中,所述奖励函数的奖励规则为:
用第一公式计算所述机械臂末端与所述障碍物的第一实时距离 ,所述第一公式为:,
其 中, 分 别 为 所 述 机 械 臂末 端 在 第 i 时 刻的 坐 标 位 置 ,分别为所述障碍物的中心点坐标位置,用第二公式表示所述奖励函数,所述第二公式为:
,
其中, 为所述机械臂末端与所述障碍物之间的第一实时距离, 为所述机械臂末端和障碍物之间的安全距离, 为所述机械臂末端在第i时刻的坐标位置, 为所述目标点的坐标位置,若所述机械臂末端到达所述目标点,也就是 时,设置奖励 ,若所述第一实时距离小于等于所述安全距离,设置惩罚 ,若所述第一实时距离大于所述安全距离,视为空跑,设置惩罚 ;
其中,利用所述机械臂末端到所述目标点的欧氏距离来更新所述奖励函数以加快学习速度,包括如下步骤:用第三公式计算所述机械臂末端的起始点到目标点的起始距离 ,所述第三公式为:,
其中, 为所述机械臂起始点的坐标,
用第四公式计算第i时刻所述机械臂末端到所述目标点的所述欧氏距离,所述欧氏距离也指所述第二实时距离 ,所述第四公式为:,
其中, 为所述目标点的坐标;
为引导所述机械臂末端向所述目标点移动,采用更新所述奖励函数的方式,具体更新规则用第五公式表示为:,
其中, 为辅助学习的奖励系数,利用欧氏距离辅助学习,根据状态与目标点间的实时距离与定值线性距离的差值给予奖励,当前状态与目标越近,获得的奖励就越多,当实时距离大于初始距离时,奖励值就会变成一种惩罚,从而激励状态朝向目标点移动,提升学习效率;
其中,采用 动作选择策略选择下一个动作,包括如下步骤:随机生成一个0到1之间的随机数 ,和贪婪阈值 比较,若 小于等于 ,从所述移动动作集中随机选择一个动作 执行,表示对环境的随机探索,若 大于 ,从所述移动动作集中选择Q值最大的动作执行,表示对现有经验的利用,所述 策略用第六公式表示,所述第六公式为:,
用第七公式表示,所述第七公式为:
,
其中,k为探索次数, 为实际学习次数,M为指定迭代次数;
其中,所述三重避障策略,包括如下步骤:
获取所述机械臂末端和所述障碍物的第一实时距离 ,比较所述 与第一阈值 、第二阈值 和第三阈值 的大小,若 ,增大贪婪阈值 ,若,减少所述移动步长,若 ,启动RRT*逃脱策略,利用RRT*算法获取逃脱路径避免碰撞动作,所述策略通过随机选择方向并沿所述方向探索一个步长p的节点,逐步构建局部随机数,在 ,且与所述目标点的距离更近时,停止所述RRT*逃脱策略并退出,提供一条离开所述障碍物并接近所述目标点的路径,利用Q学习继续探索最佳路径;
其中,采用3‑5‑3多项式插值算法进行时间优化,包括如下步骤:确定关节运动的起点、中间路径点和终点的位置,根据所述机械臂的设计和性能,设定每个关节的最大速度,最大加速度和最大加加速度,对于关节i,使用3‑5‑3多项式插值通式描述所述关节i在三段时间内的角位置变化,所述多项式插值通式为:,
其中, 分别为关节i在三段时间内的关节角位置,分别为所述多项式插值通式的未知系数,t是时间变量,基于轨迹规划问题的条件推导得到未知系数和插值点的关系为: ,其中,X的数学模型为:,
的数学模型为:
,
F式的数学模型为:
,
其中,F为关于时间t的函数矩阵,X为插值点向量, 为关节i的4个路径点, 为系数向量;
时间冲击最优的轨迹规划以时间和冲击作为待优化变量,并满足速度、加速度约束条件:,
其中, 为第j关节的最大速度, 为第j关节的最大加速度, 为第j关节的最大加加速度,将机械臂总体运行时间设定为:,
机械臂各关节总冲击值设定为:
,
其中,T为总运行时间, 为加加速度,为保证机械臂的实际动作速度和加速度在限定范围内,设定约定函数:,
其中, 分别为第i关节的实际速度和加速度, 为实际速度的约束值, 为加速度的约束值,为保证轨迹的平稳性,机械臂的初始速度 和初始加速度 均设置为0;
利用权重法将多目标优化问题转化为单目标优化问题,所述权重法的数学模型为:,
其中, 为时间项的权重, , 为系数,引入系数 使时间项和冲击项的数量级一致,f(t)为时间项与冲击项的综合优化值。
2.根据权利要求1所述的方法,其特征在于,对海鸥算法进行改进,包括如下步骤:利用立方混沌映射生成初始种群的混沌序列得到混沌序列点,设定控制参数 ,并根据所述控制参数生成混沌序列,通过如下公式搜索全局最优解:,
其中, 为控制参数,n为迭代次数,x所生成的混沌序列,通过透镜成像反向折射机制,将所述混沌序列点转换为反向点,对所述反向点进行适应度值评估,根据所述适应度值对种群进行排序,从排序后的反向点中选择最优的反向点作为初始解。
3.根据权利要求1所述的方法,对海鸥优化算法进行改进,还包括如下步骤:海鸥的迁移满足三个条件分别为避免碰撞、前进方向和海鸥靠近最佳位置,所述避免碰撞的条件模型为:,
,
其中, 是指不会和其他海鸥碰撞的新位置, 表示海鸥攻击的位置,H为行为变量,k表示迭代的次数,m表示最大迭代次数,引入参数 来控制H的频率由 线性减小到0,前进方向的条件模型为:,
,
其中, 为海鸥当前的移动方向, 为海鸥所找到的最佳位置,b表示最优,引入B来平衡局部和全局探索, 为随机系数且 ,海鸥靠近最佳位置的数学模型为:,
其中, 为海鸥到达的新位置,通过以下数学模型对海鸥的攻击位置进行优化更新:,
,
,
其中, 为改进后海鸥攻击的位置, 表示改进,Dk‑1为上一时刻海鸥的位置,为海鸥的三维坐标, 为未改进这一时刻海鸥的攻击位置, 为上一时刻海鸥找到的最优位置, 为上一时刻海鸥的历史最优位置,G表示过去时间, 为判断更新方式的阈值, 均为 内的随机数, 为惯性权重, 为学习率。
4.基于强化学习的机械臂避障路径规划系统,用于实现如权利要求1‑3任意一项所述的方法,其特征在于,包括如下模块:模型建立模块,根据机械臂的初始状态使用DH方法建立机械臂DH模型,以三维坐标的形式输入机械臂的起始位置、障碍物位置以及目标位置,采用AABB包围盒法对障碍物进行简化,同时将机械臂的圆柱体连杆模型扩大预定半径,结合机械臂的圆柱体连杆模型进行碰撞检测的优化;
路径规划模块,基于Q学习对机械臂末端进行路径规划,定义机械臂末端的状态和动作集,通过奖励函数,确保机械臂在避障的同时有效的向目标点移动,还通过 策略进行动作选择,同时引入三重避障策略;
其中,基于Q学习对机械臂末端进行路径规划,包括如下步骤:将所述机械臂末端的坐标状态S设置为:
,
其中,x、y、z分别是所述机械臂末端在空间中的坐标,n为所述机械臂末端在空间中移动的次数,所述机械臂末端在每个坐标轴的正方向或负方向移动一个步长,定义移动动作集A如下: ,其中, 分别表示所述机械臂末端在X、Y、Z轴方向的移动步长;
基于所述机械臂末端所述障碍物之间的第一实时距离和所述机械臂末端和所述目标点的第二实时距离,建立奖励函数引导所述机械臂远离所述障碍物并向所述目标点移动;
在所述机械臂移动的过程中,还利用所述机械臂末端到所述目标点的欧氏距离来更新所述奖励函数以加快学习速度;
在Q学习中,根据下一状态 ,选择下一状态下可以得到的最大 值乘以折扣系数加上奖励值 作为最新的Q值,定义更新Q值的规则为:,
其中, 为Q学习的学习率, 为折扣系数, 为下一状态采取动作可获得的最大Q值, 表示下一状态可采取的动作, 是指下一状态,A表示当前状态采取的动作,S是指当前状态, 是指根据所述奖励函数计算的奖励值;
基于所述Q值和所述奖励函数,采用 动作选择策略选择下一个动作,所述动作选择策略通过设定贪婪阈值 确定每个动作的选取方式,所述 的取值范围为0到1;
在陷入局部最优时无法通过环境奖励找到逃脱路径的情况下,引入三重避障策略,根据所述机械臂末端和所述障碍物的实时距离,动态调整Q学习算法的贪婪程度、步长大小并利用RRT*算法避障获取逃脱路径,之后利用Q学习继续探索最佳路径;
通过Q学习找到无碰撞路径后,由逆动力学得到各关节的路径并生成轨迹,基于所述轨迹上的每个点对所述机械臂的连杆进行碰撞检测,若无碰撞,按照角度变化的大小从小到大对所有组运动学逆解进行排序,选择角度变化最小的一组运动学逆解,若出现碰撞,选择下一组运动学逆解进行碰撞检测直至无碰撞,若所有组的所述运动学逆解均会碰撞,将对应的点视为障碍物,重新进行路径规划;
其中,所述奖励函数的奖励规则为:
用第一公式计算所述机械臂末端与所述障碍物的第一实时距离 ,所述第一公式为:,
其 中, 分 别为 所 述 机 械 臂末 端 在 第 i 时 刻的 坐 标 位 置 ,分别为所述障碍物的中心点坐标位置,用第二公式表示所述奖励函数,所述第二公式为:
,
其中, 为所述机械臂末端与所述障碍物之间的第一实时距离, 为所述机械臂末端和障碍物之间的安全距离, 为所述机械臂末端在第i时刻的坐标位置, 为所述目标点的坐标位置,若所述机械臂末端到达所述目标点,也就是 时,设置奖励 ,若所述第一实时距离小于等于所述安全距离,设置惩罚 ,若所述第一实时距离大于所述安全距离,视为空跑,设置惩罚 ;
其中,利用所述机械臂末端到所述目标点的欧氏距离来更新所述奖励函数以加快学习速度,包括如下步骤:用第三公式计算所述机械臂末端的起始点到目标点的所述起始距离 ,所述第三公式为:,
其中, 为所述机械臂起始点的坐标,
用第四公式计算第i时刻所述机械臂末端到所述目标点的所述欧氏距离,所述欧氏距离也指所述第二实时距离 ,所述第四公式为:,
其中, 为所述目标点的坐标;
为引导所述机械臂末端向所述目标点移动,采用更新所述奖励函数的方式,具体更新规则用第五公式表示为:,
其中, 为辅助学习的奖励系数,利用欧氏距离辅助学习,根据状态与目标点间的实时距离与定值线性距离的差值给予奖励,当前状态与目标越近,获得的奖励就越多,当实时距离大于初始距离时,奖励值就会变成一种惩罚,从而激励状态朝向目标点移动,提升学习效率;
其中,采用 动作选择策略选择下一个动作,包括如下步骤:随机生成一个0到1之间的随机数 ,和贪婪阈值 比较,若 小于 ,从所述移动动作集中随机选择一个动作 执行,表示对环境的随机探索,若 大于 ,从所述移动动作集中选择Q值最大的动作执行,表示对现有经验的利用,所述 策略用第六公式表示,所述第六公式为:,
用第七公式表示,所述第七公式为:
,
其中,k为探索次数, 为实际学习次数,M为指定迭代次数;
其中,所述三重避障策略,包括如下步骤:
获取所述机械臂末端和所述障碍物的第一实时距离 ,比较所述 与第一阈值 、第二阈值 和第三阈值 的大小,若 ,增大贪婪阈值 ,若,减少所述移动步长,若 ,启动RRT*逃脱策略,利用RRT*算法获取逃脱路径避免碰撞动作,所述策略通过随机选择方向并沿所述方向探索一个步长p的节点,逐步构建局部随机数,在 ,且与所述目标点的距离更近时,停止所述RRT*逃脱策略并退出,提供一条离开所述障碍物并接近所述目标点的路径,利用Q学习继续探索最佳路径;
轨迹优化模块,采用3‑5‑3多项式插值算法对所述机械臂各关节的轨迹进行规划,设置速度,加速度和加加速度约束,将路径规划所得的离散路径点进行拟合得到平滑、快速的关节轨迹,对海鸥算法进行改进,并利用改进的海鸥算法对所述关节轨迹进行优化;
其中,采用3‑5‑3多项式插值算法进行时间优化,包括如下步骤:确定关节运动的起点、中间路径点和终点的位置,根据所述机械臂的设计和性能,设定每个关节的最大速度,最大加速度和最大加加速度,对于关节i,使用3‑5‑3多项式插值通式描述所述关节i在三段时间内的角位置变化,所述多项式插值通式为:,
其中, 分别为关节i在三段时间内的关节角位置,分别为所述多项式插值通式的未知系数,t是时间变量,基于轨迹规划问题的条件推导得到未知系数和插值点的关系为: ,其中,X的数学模型为:,
的数学模型为:
,
F式的数学模型为:
,
其中,F为关于时间t的函数矩阵,X为插值点向量, 为关节i的4个路径点, 为系数向量;
时间冲击最优的轨迹规划以时间和冲击作为待优化变量,并满足速度、加速度约束条件:,
其中, 为第j关节的最大速度, 为第j关节的最大加速度, 为第j关节的最大加加速度,将机械臂总体运行时间设定为:,
机械臂各关节总冲击值设定为:
,
其中,T为总运行时间, 为加加速度,为保证机械臂的实际动作速度和加速度在限定范围内,设定约定函数:,
其中, 分别为第i关节的实际速度和加速度, 为实际速度的约束值, 为加速度的约束值,为保证轨迹的平稳性,机械臂的初始速度 和初始加速度 均设置为0;
利用权重法将多目标优化问题转化为单目标优化问题,所述权重法的数学模型为:,
其中, 为时间项的权重, , 为系数,引入系数 使时间项和冲击项的数量级一致,f(t)为时间项与冲击项的综合优化值。