本技术涉及机械臂重力补偿的,具体而言,涉及一种机械臂重力补偿方法、装置、电子设备及存储介质。
背景技术:
1、在六轴机械臂的运行与控制中,重力补偿是一项重要的技术,通过在机械臂操作过程中对各关节和连杆的重力进行补偿,以减轻对机械臂电机和结构的负载,可以有效提高其精确性和可靠性,使机械臂更加高效和可靠地完成各种任务。
2、现有的重力补偿技术主要包括动力学模型计算方法。在动力学模型计算中,通过计算机器人的连杆质量、关节角度,来计算获取整体机械臂对每个关节的重力力矩,从而计算出相应的补偿力矩,以抵消重力的影响。
3、在动力学模型计算的方法中,由于机械臂末端的负载质量无法测量,会导致计算结果与实际重力存在偏差,当机械臂搭载较重载荷时,会导致偏差较大,从而使控制不稳定甚至失稳。
4、因此,为了解决现有的机械臂重力补偿方法在机械臂负载的情况下会导致重力补偿出现偏差的技术问题,亟需一种机械臂重力补偿方法、装置、电子设备及存储介质。
技术实现思路
1、本技术的目的在于提供一种机械臂重力补偿方法、装置、电子设备及存储介质,通过卡尔曼滤波方法,结合机械臂在零速度模式下的重力补偿电流数据,对机械臂进行重力补偿,解决现有的机械臂重力补偿方法在机械臂负载的情况下会导致重力补偿出现偏差的问题,可以在负载或环境发生变化时对机械臂的重力补偿值进行实时调整,保证机械臂的控制稳定与运行平稳,使机械臂可以在高精度和高速度的工况下良好运行,提高了机械臂的重力补偿效率。
2、第一方面,本技术提供了一种机械臂重力补偿方法,用于对机械臂进行重力补偿,包括步骤:
3、获取机械臂的结构数据;
4、根据所述结构数据,构建所述机械臂的d-h坐标系;
5、基于所述d-h坐标系,确定所述机械臂中相邻两个关节间的齐次变换矩阵;
6、根据所述齐次变换矩阵,结合各连杆的质量和质心位置,计算得到所述机械臂当前位姿所作用在每个关节上的重力补偿值;
7、运用卡尔曼滤波方法,结合实时获取的所述机械臂在零速度模式下的重力补偿电流数据,对所述重力补偿值进行修正,得到所述机械臂当前位姿所作用在每个关节上的最优重力补偿数据。
8、本技术提供的机械臂重力补偿方法可以实现对机械臂进行重力补偿,通过卡尔曼滤波方法,结合机械臂在零速度模式下的重力补偿电流数据,对机械臂进行重力补偿,解决现有的机械臂重力补偿方法在机械臂负载的情况下会导致重力补偿出现偏差的问题,可以在负载或环境发生变化时对机械臂的重力补偿值进行实时调整,保证机械臂的控制稳定与运行平稳,使机械臂可以在高精度和高速度的工况下良好运行,提高了机械臂的重力补偿效率。
9、可选地,基于所述d-h坐标系,确定所述机械臂中相邻两个关节间的齐次变换矩阵,包括:
10、定义所述机械臂在所述d-h坐标系下的关节参数和连杆参数;
11、基于所述关节参数和所述连杆参数,确定所述机械臂中相邻两个关节间的齐次变换矩阵。
12、可选地,根据所述齐次变换矩阵,结合各连杆的质量和质心位置,计算得到所述机械臂当前位姿所作用在每个关节上的重力补偿值,包括:
13、根据所述齐次变换矩阵、所述各连杆的质量和质心位置,计算所述机械臂中各连杆作用于各关节的重力力矩;
14、基于所述齐次变换矩阵和所述重力力矩,计算得到所述机械臂当前位姿所作用在每个关节上的重力补偿值。
15、本技术提供的机械臂重力补偿方法可以实现对机械臂进行重力补偿,通过齐次变换矩阵、各连杆的质量和质心位置,能够确定机械臂当前位姿所作用在每个关节上的重力补偿值,得到理论上的机械臂的重力补偿数据,有利于提高机械臂的重力补偿效率。
16、可选地,运用卡尔曼滤波方法,结合实时获取的所述机械臂在零速度模式下的重力补偿电流数据,对所述重力补偿值进行修正,得到所述机械臂当前位姿所作用在每个关节上的最优重力补偿数据,包括:
17、采用先标定后插值的方法,获取所述机械臂在零速度模式下的重力补偿电流数据;
18、根据预设的随机噪声向量,运用线性变换方式,将所述重力补偿电流数据转换为重力补偿向量;
19、基于所述重力补偿向量,结合所述重力补偿值的卡尔曼增益数据,计算得到所述机械臂当前位姿所作用在每个关节上的最优重力补偿数据。
20、本技术提供的机械臂重力补偿方法可以实现对机械臂进行重力补偿,通过卡尔曼滤波方法,结合机械臂在零速度模式下的重力补偿电流数据,对机械臂的理论重力补偿值进行修正,得到机械臂的最优重力补偿数据,提高了机械臂的重力补偿效率。
21、可选地,采用先标定后插值的方法,获取所述机械臂在零速度模式下的重力补偿电流数据,包括:
22、对所述机械臂中受重力影响的关节进行位置标定,得到所述机械臂的标定位置;
23、获取零速度模式下所述机械臂中标定位置的标定电流;
24、通过插值计算方法,根据所述标定电流,计算得到所述机械臂在零速度模式下的重力补偿电流数据。
25、可选地,基于所述重力补偿向量,结合所述重力补偿值的卡尔曼增益数据,计算得到所述机械臂当前位姿所作用在每个关节上的最优重力补偿数据,包括:
26、以预设的重力误差阈值为依据,计算所述重力补偿值的卡尔曼增益数据;
27、基于所述卡尔曼增益数据,更新所述重力误差阈值,得到最优重力补偿方差;
28、根据所述最优重力补偿方差、所述重力补偿向量和所述卡尔曼增益数据,计算得到所述机械臂当前位姿所作用在每个关节上的最优重力补偿数据。
29、可选地,基于所述卡尔曼增益数据,更新所述重力误差阈值,得到最优重力补偿方差之后,还包括:
30、将所述最优重力补偿方差设置为所述重力误差阈值。
31、第二方面,本技术提供了一种机械臂重力补偿装置,用于对机械臂进行重力补偿,包括:
32、获取模块,用于获取机械臂的结构数据;
33、构建模块,用于根据所述结构数据,构建所述机械臂的d-h坐标系;
34、矩阵模块,用于基于所述d-h坐标系,确定所述机械臂中相邻两个关节间的齐次变换矩阵;
35、计算模块,用于根据所述齐次变换矩阵,结合各连杆的质量和质心位置,计算得到所述机械臂当前位姿所作用在每个关节上的重力补偿值;
36、修正模块,用于运用卡尔曼滤波方法,结合实时获取的所述机械臂在零速度模式下的重力补偿电流数据,对所述重力补偿值进行修正,得到所述机械臂当前位姿所作用在每个关节上的最优重力补偿数据。
37、该机械臂重力补偿装置,通过卡尔曼滤波方法,结合机械臂在零速度模式下的重力补偿电流数据,对机械臂进行重力补偿,解决现有的机械臂重力补偿方法在机械臂负载的情况下会导致重力补偿出现偏差的问题,可以在负载或环境发生变化时对机械臂的重力补偿值进行实时调整,保证机械臂的控制稳定与运行平稳,使机械臂可以在高精度和高速度的工况下良好运行,提高了机械臂的重力补偿效率。
38、第三方面,本技术提供了一种电子设备,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如前文所述机械臂重力补偿方法中的步骤。
39、第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如前文所述机械臂重力补偿方法中的步骤。
40、有益效果:
41、本技术提供的机械臂重力补偿方法、装置、电子设备及存储介质,通过卡尔曼滤波方法,结合机械臂在零速度模式下的重力补偿电流数据,对机械臂进行重力补偿,解决现有的机械臂重力补偿方法在机械臂负载的情况下会导致重力补偿出现偏差的问题,可以在负载或环境发生变化时对机械臂的重力补偿值进行实时调整,保证机械臂的控制稳定与运行平稳,使机械臂可以在高精度和高速度的工况下良好运行,提高了机械臂的重力补偿效率。