本技术属于控制,具体涉及一种基于强化学习的机械臂控制方法、装置、电子设备及存储介质。
背景技术:
1、随着机械臂的应用领域不断扩大,利用机械臂更加可靠地执行任务变得越来越重要。由于机械臂在执行任务过程中,安装在机械臂末端地执行工具会受到外部作用力的影响导致形变进而降低工作效果,因此,对机械臂进行执行工具受力的柔顺补偿以及运行状态的控制调整成为了人们研究的热点。
2、现有技术中,对机械臂柔顺控制的方式主要是通过对机械臂的运行轨迹进行预测和仿真,计算所述机械臂末端受到的外部作用力数据,进而根据该数据对机械臂进行受力补偿,调整机械臂的运行状态;或者是通过对机械臂末端安装力传感器感知外部作用力,进而根据外部作用力数据对机械臂进行柔顺补偿,调整机械臂的运行状态。但是,利用现有技术无法对机械臂末端受到的外部作用力做出快速补偿,存在对机械臂控制不够柔顺以及对机械臂运行状态调整效率较低的问题。
技术实现思路
1、本技术实施例的目的是提供一种基于强化学习的机械臂控制方法、装置、电子设备及存储介质,能够解决对机械臂控制不够柔顺以及对机械臂运行状态调整效率较低的问题,通过预先构建机械臂强化学习模型,获取对所述机械臂控制的最优阻抗参数集,并根据所述机械臂的当前运行状态确定所述机械臂的最优阻抗参数,对所述最优阻抗参数进行二次调节,进而确定所述机械臂的目标运行状态,可以达到自动对机械臂进行柔顺补偿的效果,提高了对机械臂柔顺补偿控制的可靠性和效率。
2、第一方面,本技术实施例提供了一种基于强化学习的机械臂控制方法,所述方法包括:
3、基于预先构建的机械臂强化学习模型,获取对所述机械臂控制的最优阻抗参数集;其中,所述最优阻抗参数集中的阻抗参数与运行状态具有关联关系;
4、获取机械臂的当前运行状态,根据所述当前运行状态确定所述机械臂在当前运行状态下的最优阻抗参数;
5、获取所述机械臂在当前运行状态下的受力数据,根据所述受力数据对所述最优阻抗参数进行二次调节,得到最终阻抗参数;
6、根据所述最终阻抗参数,确定所述机械臂的受阻力学参数,以及,根据所述受阻力学参数,确定所述机械臂的目标运行状态。
7、进一步的,获取所述机械臂在当前运行状态下的受力数据,根据所述受力数据对所述最优阻抗参数进行二次调节,得到最终阻抗参数,包括:
8、获取所述机械臂采集到的受力数据;
9、根据所述受力数据与预设受力数据临界值,计算折现因子;
10、根据所述折现因子对所述最优阻抗参数进行二次调节,得到最终阻抗参数。
11、进一步的,根据所述受力数据与预设受力数据临界值,计算折现因子,包括利用如下公式计算:
12、
13、其中,α为折现因子,f为所述机械臂采集到的受力数据,ft为预设受力数据临界值,且ft<0;
14、根据所述折现因子对所述最优阻抗参数进行二次调节,得到最终阻抗参数,包括利用如下公式计算:
15、
16、其中,α为折现因子;k、b分别为所述机械臂在当前运行状态下的两个最优阻抗参数,分别为对k、b进行二次调节之后的最终阻抗参数。
17、进一步的,所述根据所述最终阻抗参数,确定所述机械臂的受阻力学参数,以及,根据所述受阻力学参数,确定所述机械臂的目标运行状态,包括:
18、读取所述机械臂当前状态下关节角度的向量,获取所述机械臂当前状态下的惯性矩阵、科里奥利效应、重力力矩的向量和雅克比矩阵;
19、根据所述关节角度的向量、惯性矩阵、科里奥利效应、重力力矩的向量和雅克比矩阵,以及所述最终阻抗参数,计算对所述机械臂当前状态的受阻力学参数;
20、将所述受阻力学参数、惯性矩阵以及最终阻抗参数代入机器人动力学方程,确定所述机械臂的目标运行状态。
21、进一步的,根据所述关节角度的向量、惯性矩阵、科里奥利效应、重力力矩的向量和雅克比矩阵,以及所述最终阻抗参数,计算对所述机械臂当前状态的受阻力学参数,包括利用如下公式计算:
22、
23、其中,q为所述机械臂的当前运行状态参数,m为惯性矩阵,c为科里奥利效应,g为重力力矩的向量,j为描述速度运动学的雅克比矩阵,τ为所述机械臂当前状态的受阻力学参数;
24、将所述受阻力学参数、惯性矩阵以及最终阻抗参数代入机器人动力学方程,确定所述机械臂的目标运行状态,包括利用如下公式计算:
25、
26、
27、其中,qd为所述机械臂的目标运行状态参数。
28、进一步的,所述基于预先构建的机械臂强化学习模型,获取对所述机械臂控制的最优阻抗参数集,包括:
29、根据所述机械臂不同时刻的状态参数值以及预设权重,构建所述机械臂当前状态的奖励函数;
30、根据所述奖励函数累加获取对所述机械臂控制输入的价值函数;
31、利用价值函数逼近策略以及误差最小化原则,获取所述机械臂当前状态与最优控制输入的关系;
32、根据所述所述机械臂当前状态与最优控制输入的关系,获取对所述机械臂控制的最优阻抗参数集。
33、第二方面,本技术实施例提供了一种基于强化学习的机械臂控制装置,所述装置包括:
34、阻抗参数集获取模块,用于基于预先构建的机械臂强化学习模型,获取对所述机械臂控制的最优阻抗参数集;其中,所述最优阻抗参数集中的阻抗参数与运行状态具有关联关系;
35、阻抗参数确定模块,用于获取机械臂的当前运行状态,根据所述当前运行状态确定所述机械臂在当前运行状态下的最优阻抗参数;
36、阻抗参数调节模块,用于获取所述机械臂在当前运行状态下的受力数据,根据所述受力数据对所述最优阻抗参数进行二次调节,得到最终阻抗参数;
37、目标运行状态确定模块,用于根据所述最终阻抗参数,确定所述机械臂的受阻力学参数,以及,根据所述受阻力学参数,确定所述机械臂的目标运行状态。
38、进一步的,所述阻抗参数调节模块,具体用于:
39、获取所述机械臂采集到的受力数据;
40、根据所述受力数据与预设受力数据临界值,计算折现因子;
41、根据所述折现因子对所述最优阻抗参数进行二次调节,得到最终阻抗参数。
42、第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
43、第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
44、第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
45、在本技术实施例中,基于预先构建的机械臂强化学习模型,获取对所述机械臂控制的最优阻抗参数集;其中,所述最优阻抗参数集中的阻抗参数与运行状态具有关联关系;获取机械臂的当前运行状态,根据所述当前运行状态确定所述机械臂在当前运行状态下的最优阻抗参数;获取所述机械臂在当前运行状态下的受力数据,根据所述受力数据对所述最优阻抗参数进行二次调节,得到最终阻抗参数;根据所述最终阻抗参数,确定所述机械臂的受阻力学参数,以及,根据所述受阻力学参数,确定所述机械臂的目标运行状态。通过上述基于强化学习的机械臂控制方法,能够解决对机械臂控制不够柔顺以及对机械臂运行状态调整效率较低的问题,通过预先构建机械臂强化学习模型,获取对所述机械臂控制的最优阻抗参数集,并根据所述机械臂的当前运行状态确定所述机械臂的最优阻抗参数,对所述最优阻抗参数进行二次调节,进而确定所述机械臂的目标运行状态,可以达到自动对机械臂进行柔顺补偿的效果,提高了对机械臂柔顺补偿控制的可靠性和效率。