CN114789453B - 机械臂动态pid控制方法、装置、电子设备及存储介质 - Google Patents
机械臂动态pid控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114789453B CN114789453B CN202210712206.1A CN202210712206A CN114789453B CN 114789453 B CN114789453 B CN 114789453B CN 202210712206 A CN202210712206 A CN 202210712206A CN 114789453 B CN114789453 B CN 114789453B
- Authority
- CN
- China
- Prior art keywords
- motion
- instruction
- mechanical arm
- executed
- position data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
本申请属于机械臂控制技术领域,公开了机械臂动态PID控制方法、装置、电子设备及存储介质,通过获取待执行运动指令;确定待执行运动指令的指令类型;根据指令类型,获取待执行运动指令的特征参数;分别把特征参数输入与指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组神经网络模型包括多个包含不同PID参数的神经网络模型;提取最小的位置偏差累计值对应的神经网络模型的PID参数,作为有效PID参数;把有效PID参数部署到机械臂的控制器以执行待执行运动指令;从而有利于得到合理的PID参数以提高机械臂的运动控制精度。
Description
技术领域
本申请涉及机械臂控制技术领域,具体而言,涉及机械臂动态PID控制方法、装置、电子设备及存储介质。
背景技术
目前,机械臂控制过程一般采用PID控制方法,PID参数的合理性对机械臂的运动控制精度影响较大,因此选取适当的PID参数至关重要。一般地,机器人控制器的PID参数是由工作人员根据自身经验结合一些实验进行确定的,对人的经验依懒性较大,而且往往难以得到理想的PID参数。
发明内容
本申请的目的在于提供一种机械臂动态PID控制方法、装置、电子设备及存储介质,有利于得到合理的PID参数以提高机械臂的运动控制精度。
第一方面,本申请提供了一种机械臂动态PID控制方法,包括步骤:
A1.获取待执行运动指令;
A2.确定所述待执行运动指令的指令类型;
A3.根据所述指令类型,获取所述待执行运动指令的特征参数;
A4.分别把所述特征参数输入与所述指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组所述神经网络模型包括多个包含不同PID参数的神经网络模型;
A5.提取最小的所述位置偏差累计值对应的所述神经网络模型的所述PID参数,作为有效PID参数;
A6.把所述有效PID参数部署到所述机械臂的控制器以执行所述待执行运动指令。
该机械臂动态PID控制方法,依据不同类型的待执行运动指令,采用对应的多个神经网络模型分别获取位置偏差累计值,该位置偏差累计值反映了机械臂实际运动轨迹与理想的运动轨迹的偏差情况,进而选取最小位置偏差累计值对应的神经网络模型所包含的PID参数作为有效PID参数以控制机械臂执行该待执行运动指令,使得使用的PID参数更适用于该具体的待执行运动指令,以提高机械臂的运动控制精度。
优选地,所述指令类型包括关节运动指令、直线运动指令和圆弧运动指令;所述关节运动指令为使机械臂末端沿非直线和非圆弧的轨迹运动的指令;
步骤A3包括:
若所述待执行运动指令的所述指令类型为关节运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点速度;
若所述待执行运动指令的所述指令类型为直线运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点速度;
若所述待执行运动指令的所述指令类型为圆弧运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径。
关节运动、直线运动和圆弧运动是机械臂运动的几种主要运动形式,针对这几种主要运动形式的特点提取对应的特征参数以输入不同的神经网络模型中,适用于大部分的运动指令,保证了该机械臂动态PID控制方法的适用性和控制效果。
优选地,所述待执行运动指令包括运动轨迹信息;所述运动轨迹信息包括起始点的位姿、终止点的位姿、至少一个过渡点的位姿和与所述起始点、所述终止点及各所述过渡点对应的TCP点的速度;
获取所述待执行运动指令对应的机械臂起始位姿,具体包括:从所述待执行运动指令中提取所述起始点的位姿,得到所述机械臂起始位姿;
获取所述待执行运动指令对应的机械臂终止位姿,具体包括:从所述待执行运动指令中提取所述终止点的位姿,得到所述机械臂终止位姿;
获取所述待执行运动指令对应的TCP点速度,具体包括:从所述待执行运动指令中提取与所述起始点、所述终止点及各所述过渡点对应的TCP点的速度,得到所述TCP点速度;
获取所述待执行运动指令对应的圆弧半径,具体包括:根据所述起始点的位姿、所述终止点的位姿和各所述过渡点的位姿,拟合圆弧轨迹,并提取该圆弧轨迹的半径,得到圆弧半径。
通过上述方式可简单快捷地得到待执行运动指令的特征参数,处理效率高。
优选地,步骤A4包括:
若所述待执行运动指令的所述指令类型为关节运动指令,则分别把所述特征参数输入一组第一神经网络模型,得到多个位置偏差累计值;
若所述待执行运动指令的所述指令类型为直线运动指令,则分别把所述特征参数输入一组第二神经网络模型,得到多个位置偏差累计值;
若所述待执行运动指令的所述指令类型为圆弧运动指令,则分别把所述特征参数输入一组第三神经网络模型,得到多个位置偏差累计值。
优选地,所述第一神经网络模型根据以下过程训练得到:
B1.获取多组第一PID参数,以构建多个第一前馈神经网络模型;
B2.分别以各组所述第一PID参数为第一目标PID参数,以与所述第一目标PID参数对应的所述第一前馈神经网络模型为第一目标模型,执行以下步骤:
获取多个第一运动指令;所述第一运动指令为关节运动指令;
提取各所述第一运动指令的第一特征参数;所述第一特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度;
把所述第一目标PID参数部署到所述机械臂的控制器,并依次执行所述第一运动指令,以获取对应每个所述第一运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第一运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第一运动指令的第一位置偏差累计值;
以每个所述第一运动指令的所述第一特征参数和所述第一位置偏差累计值作为一个第一样本的输入数据和输出数据,得到第一样本集;
根据所述第一样本集对所述第一目标模型进行训练,得到一个所述第一神经网络模型。
优选地,所述第二神经网络模型根据以下过程训练得到:
C1.获取多组第二PID参数,以构建多个第二前馈神经网络模型;
C2.分别以各组所述第二PID参数为第二目标PID参数,以与所述第二目标PID参数对应的所述第二前馈神经网络模型为第二目标模型,执行以下步骤:
获取多个第二运动指令;所述第二运动指令为直线运动指令;
提取各所述第二运动指令的第二特征参数;所述第二特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度;
把所述第二目标PID参数部署到所述机械臂的控制器,并依次执行所述第二运动指令,以获取对应每个所述第二运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第二运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第二运动指令的第二位置偏差累计值;
以每个所述第二运动指令的所述第二特征参数和所述第二位置偏差累计值作为一个第二样本的输入数据和输出数据,得到第二样本集;
根据所述第二样本集对所述第二目标模型进行训练,得到一个所述第二神经网络模型。
优选地,所述第三神经网络模型根据以下过程训练得到:
D1.获取多组第三PID参数,以构建多个第三前馈神经网络模型;
D2.分别以各组所述第三PID参数为第三目标PID参数,以与所述第三目标PID参数对应的所述第三前馈神经网络模型为第三目标模型,执行以下步骤:
获取多个第三运动指令;所述第三运动指令为圆弧运动指令;
提取各所述第二运动指令的第三特征参数;所述第三特征参数包括机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径;
把所述第三目标PID参数部署到所述机械臂的控制器,并依次执行所述第三运动指令,以获取对应每个所述第三运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第三运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第三运动指令的第三位置偏差累计值;
以每个所述第三运动指令的所述第三特征参数和所述第三位置偏差累计值作为一个第三样本的输入数据和输出数据,得到第三样本集;
根据所述第三样本集对所述第三目标模型进行训练,得到一个所述第三神经网络模型。
第二方面,本申请提供了一种机械臂动态PID控制装置,包括:
第一获取模块,用于获取待执行运动指令;
确定模块,用于确定所述待执行运动指令的指令类型;
第二获取模块,用于根据所述指令类型,获取所述待执行运动指令的特征参数;
第一执行模块,用于分别把所述特征参数输入与所述指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组所述神经网络模型包括多个包含不同PID参数的神经网络模型;
提取模块,用于提取最小的所述位置偏差累计值对应的所述神经网络模型的所述PID参数,作为有效PID参数;
第二执行模块,用于把所述有效PID参数部署到所述机械臂的控制器以执行所述待执行运动指令。
该机械臂动态PID控制装置,依据不同类型的待执行运动指令,采用对应的多个神经网络模型分别获取位置偏差累计值,该位置偏差累计值反映了机械臂实际运动轨迹与理想的运动轨迹的偏差情况,进而选取最小位置偏差累计值对应的神经网络模型所包含的PID参数作为有效PID参数以控制机械臂执行该待执行运动指令,使得使用的PID参数更适用于该具体的待执行运动指令,以提高机械臂的运动控制精度。
第三方面,本申请提供了一种电子设备,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如前文所述机械臂动态PID控制方法中的步骤。
第四方面,本申请提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如前文所述机械臂动态PID控制方法中的步骤。
有益效果:
本申请提供的机械臂动态PID控制方法、装置、电子设备及存储介质,通过获取待执行运动指令;确定所述待执行运动指令的指令类型;根据所述指令类型,获取所述待执行运动指令的特征参数;分别把所述特征参数输入与所述指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组所述神经网络模型包括多个包含不同PID参数的神经网络模型;提取最小的所述位置偏差累计值对应的所述神经网络模型的所述PID参数,作为有效PID参数;把所述有效PID参数部署到所述机械臂的控制器以执行所述待执行运动指令;从而有利于得到合理的PID参数以提高机械臂的运动控制精度。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请了解。
附图说明
图1为本申请实施例提供的机械臂动态PID控制方法的流程图。
图2为本申请实施例提供的机械臂动态PID控制装置的结构示意图。
图3为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的一种机械臂动态PID控制方法,包括步骤:
A1.获取待执行运动指令;
A2.确定待执行运动指令的指令类型;
A3.根据指令类型,获取待执行运动指令的特征参数;
A4.分别把特征参数输入与指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组神经网络模型包括多个包含不同PID参数的神经网络模型;
A5.提取最小的位置偏差累计值对应的神经网络模型的PID参数,作为有效PID参数;
A6.把有效PID参数部署到机械臂的控制器以执行待执行运动指令。
该机械臂动态PID控制方法,依据不同类型的待执行运动指令,采用对应的多个神经网络模型分别获取位置偏差累计值,该位置偏差累计值反映了机械臂实际运动轨迹与理想的运动轨迹的偏差情况,进而选取最小位置偏差累计值对应的神经网络模型所包含的PID参数作为有效PID参数以控制机械臂执行该待执行运动指令,使得使用的PID参数更适用于该具体的待执行运动指令,以提高机械臂的运动控制精度。与不区分运动指令的指令类型,统一地采用同一组PID参数来执行所有运动指令的方式相比,本申请针对不同的指令类型进行PID参数的选取,并根据选取结果执行对应的运动指令,更有利于提高PID参数的合理性和机械臂的运动控制精度;与针对同一类运动指令,统一地采用同一组PID参数来执行同一类运动指令的方式相比,本申请针对待执行运动指令本身的类型和具体特征参数进行PID参数的选取,使得到的PID参数更适合该待执行运动指令,更有利于提高PID参数的合理性和机械臂的运动控制精度。
其中,待执行运动指令可包含待执行运动指令的指令类型信息(可以但不限于是编号信息),从而步骤A2中,从待执行运动指令中提取该指令类型信息以确定待执行运动指令的指令类型。例如,指令类型信息为编号信息,指令类型可包括关节运动指令、直线运动指令和圆弧运动指令,关节运动指令的编号为1,直线运动指令的编号为2,圆弧运动指令的编号为3,则步骤A2包括:从待执行运动指令中提取编号信息,若该编号信息为1则判定待执行运动指令为关节运动指令,若该编号信息为2则判定待执行运动指令为直线运动指令,该编号信息为3则判定待执行运动指令为圆弧运动指令。
在另一些实施方式中,待执行运动指令也可包含运动轨迹信息(如起始点的位姿、终止点的位姿、至少一个过渡点的位姿和与起始点、终止点及各过渡点对应的TCP点的速度),从而步骤A2中,从待执行运动指令中提取运动轨迹信息,并根据该运动轨迹信息确定待执行运动指令的指令类型。例如,指令类型可包括关节运动指令、直线运动指令和圆弧运动指令,步骤A2包括:根据起始点的位姿、终止点的位姿和各过渡点的位姿进行直线轨迹拟合,并计算起始点、终止点和各过渡点与拟合的直线轨迹的距离的方差(以下称之为第一方差),若第一方差小于预设的第一方差阈值,则判定待执行运动指令为直线运动指令,若第一方差不小于预设的第一方差阈值,则根据起始点的位姿、终止点的位姿和各过渡点的位姿进行圆弧轨迹拟合,并计算起始点、终止点和各过渡点与拟合的圆弧轨迹的距离的方差(以下称之为第二方差),若第二方差小于预设的第二方差阈值,则判定待执行运动指令为圆弧运动指令,否则判定待执行运动指令为关节运动指令。
在一些优选实施方式中,指令类型包括关节运动指令、直线运动指令和圆弧运动指令;关节运动指令为使机械臂末端沿非直线和非圆弧的轨迹运动的指令;
从而,步骤A3包括:
若待执行运动指令的指令类型为关节运动指令,则获取待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点(末端工具中心点)速度;
若待执行运动指令的指令类型为直线运动指令,则获取待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点速度;
若待执行运动指令的指令类型为圆弧运动指令,则获取待执行运动指令对应的机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径。
关节运动、直线运动和圆弧运动是机械臂运动的几种主要运动形式,其中,直线运动是指机械臂末端沿直线运动,圆弧运动是指机械臂末端沿圆弧运动,关节运动是指机械臂末端沿非直线和非圆弧的轨迹运动,针对这几种主要运动形式的特点提取对应的特征参数以输入不同的神经网络模型中,适用于大部分的运动指令,保证了该机械臂动态PID控制方法的适用性和控制效果。
在一些实施方式中,待执行运动指令包括运动轨迹信息;该运动轨迹信息包括起始点的位姿、终止点的位姿、至少一个过渡点的位姿和与起始点、终止点及各过渡点对应的TCP点的速度(即机械臂末端在各位置点时,TCP点的速度);
获取待执行运动指令对应的机械臂起始位姿,具体包括:从待执行运动指令中提取起始点的位姿,得到机械臂起始位姿;
获取待执行运动指令对应的机械臂终止位姿,具体包括:从待执行运动指令中提取终止点的位姿,得到机械臂终止位姿;
获取待执行运动指令对应的TCP点速度,具体包括:从待执行运动指令中提取与起始点、终止点及各过渡点对应的TCP点的速度,得到TCP点速度;
获取待执行运动指令对应的圆弧半径,具体包括:根据起始点的位姿、终止点的位姿和各过渡点的位姿,拟合圆弧轨迹,并提取该圆弧轨迹的半径,得到圆弧半径。
通过上述方式可简单快捷地得到待执行运动指令的特征参数,处理效率高。
进一步地,步骤A4包括:
若待执行运动指令的指令类型为关节运动指令,则分别把特征参数输入一组第一神经网络模型,得到多个位置偏差累计值;
若待执行运动指令的指令类型为直线运动指令,则分别把特征参数输入一组第二神经网络模型,得到多个位置偏差累计值;
若待执行运动指令的指令类型为圆弧运动指令,则分别把特征参数输入一组第三神经网络模型,得到多个位置偏差累计值。
此处,每个神经网络模型的输入为待执行运动指令的特征参数,输出为位置偏差累计值。该位置偏差累计值表征了机械臂根据该神经网络模型所包含的PID参数执行该待执行运动指令时,实际运动轨迹与理想运动轨迹之间的偏差;在本实施例中,该位置偏差累计值为该实际运动轨迹上的多个轨迹点的实际位置数据与该理想运动轨迹对应的轨迹点的理论位置数据之间的差值的绝对值之和;但位置偏差累计值不限于此(例如,位置偏差累计值也可以等于该实际运动轨迹与该理想运动轨迹之间的相似度的倒数)。
在一些实施方式中,第一神经网络模型根据以下过程训练得到:
B1.获取多组第一PID参数,以构建多个第一前馈神经网络模型;
B2.分别以各组第一PID参数为第一目标PID参数,以与第一目标PID参数对应的第一前馈神经网络模型为第一目标模型,执行以下步骤:
获取多个第一运动指令;第一运动指令为关节运动指令;
提取各第一运动指令的第一特征参数;第一特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度(具体提取过程参考前文);
把第一目标PID参数部署到机械臂的控制器,并依次执行第一运动指令,以获取对应每个第一运动指令的反馈位置数据和规划位置数据;反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;规划位置数据包括与多个实际位置数据对应的多个理论位置数据;
计算每个第一运动指令的各实际位置数据与对应的理论位置数据的差值的绝对值之和,得到各第一运动指令的第一位置偏差累计值;
以每个第一运动指令的第一特征参数和第一位置偏差累计值作为一个第一样本的输入数据和输出数据,得到第一样本集;
根据第一样本集对第一目标模型进行训练,得到一个第一神经网络模型。
其中,可在预设数值范围内,随机生成多组第一PID参数;或者,针对各项PID参数分别设置多个离散值,然后对各项PID参数进行组合(如排列组合、随机组合等)得到多组第一PID参数;但不限于此。
其中,第一前馈神经网络模型可采用现有的前馈神经网络模型,此处不对其进行限定。
其中,预设周期可根据实际需要设置,例如为4ms-10ms(但不限于此),此时,在机械臂运动过程中,每隔4ms-10ms即采集一次机械臂末端的位置数据,得到多个实际位置数据,对应地,根据机械臂的理论运动过程,可计算得到机械臂末端每隔4ms-10ms的理论位置数据,多个实际位置数据和多个理论位置数据根据时间形成一一对应的关系。
其中,根据第一样本集对第一目标模型进行训练时,可以8:2的比例把第一样本集划分为训练集和测试集,以训练集对第一目标模型进行训练,并以测试集对训练后的第一目标模型进行测试;训练时,把第一样本的输入数据输入到第一目标模型并得到第一目标模型实际输出的位置偏差累计值,以第一目标模型实际输出的位置偏差累计值与该第一样本的输出数据之间的绝对值偏差作为损失函数,直到该损失函数小于预设的损失函数阈值,停止训练。其中,可采用梯度下降法进行训练,但不限于此。
在一些实施方式中,第二神经网络模型根据以下过程训练得到:
C1.获取多组第二PID参数,以构建多个第二前馈神经网络模型;
C2.分别以各组第二PID参数为第二目标PID参数,以与第二目标PID参数对应的第二前馈神经网络模型为第二目标模型,执行以下步骤:
获取多个第二运动指令;第二运动指令为直线运动指令;
提取各第二运动指令的第二特征参数;第二特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度(具体提取过程参考前文);
把第二目标PID参数部署到机械臂的控制器,并依次执行第二运动指令,以获取对应每个第二运动指令的反馈位置数据和规划位置数据;该反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;规划位置数据包括与多个实际位置数据对应的多个理论位置数据;
计算每个第二运动指令的各实际位置数据与对应的理论位置数据的差值的绝对值之和,得到各第二运动指令的第二位置偏差累计值;
以每个第二运动指令的第二特征参数和第二位置偏差累计值作为一个第二样本的输入数据和输出数据,得到第二样本集;
根据第二样本集对第二目标模型进行训练,得到一个第二神经网络模型。
其中,可在预设数值范围内,随机生成多组第二PID参数;或者,针对各项PID参数分别设置多个离散值,然后对各项PID参数进行组合(如排列组合、随机组合等)得到多组第二PID参数;但不限于此。
其中,第二前馈神经网络模型可采用现有的前馈神经网络模型,此处不对其进行限定。
其中,根据第二样本集对第二目标模型进行训练时,可以8:2的比例把第二样本集划分为训练集和测试集,以训练集对第二目标模型进行训练,并以测试集对训练后的第二目标模型进行测试;训练时,把第二样本的输入数据输入到第二目标模型并得到第二目标模型实际输出的位置偏差累计值,以第二目标模型实际输出的位置偏差累计值与该第二样本的输出数据之间的绝对值偏差作为损失函数,直到该损失函数小于预设的损失函数阈值,停止训练。其中,可采用梯度下降法进行训练,但不限于此。
在一些实施方式中,第三神经网络模型根据以下过程训练得到:
D1.获取多组第三PID参数,以构建多个第三前馈神经网络模型;
D2.分别以各组第三PID参数为第三目标PID参数,以与第三目标PID参数对应的第三前馈神经网络模型为第三目标模型,执行以下步骤:
获取多个第三运动指令;第三运动指令为圆弧运动指令;
提取各第二运动指令的第三特征参数;第三特征参数包括机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径(具体提取过程参考前文);
把第三目标PID参数部署到机械臂的控制器,并依次执行第三运动指令,以获取对应每个第三运动指令的反馈位置数据和规划位置数据;反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;规划位置数据包括与多个实际位置数据对应的多个理论位置数据;
计算每个第三运动指令的各实际位置数据与对应的理论位置数据的差值的绝对值之和,得到各第三运动指令的第三位置偏差累计值;
以每个第三运动指令的第三特征参数和第三位置偏差累计值作为一个第三样本的输入数据和输出数据,得到第三样本集;
根据第三样本集对第三目标模型进行训练,得到一个第三神经网络模型。
其中,可在预设数值范围内,随机生成多组第三PID参数;或者,针对各项PID参数分别设置多个离散值,然后对各项PID参数进行组合(如排列组合、随机组合等)得到多组第三PID参数;但不限于此。
其中,第三前馈神经网络模型可采用现有的前馈神经网络模型,此处不对其进行限定。
其中,根据第三样本集对第三目标模型进行训练时,可以8:2的比例把第三样本集划分为训练集和测试集,以训练集对第三目标模型进行训练,并以测试集对训练后的第三目标模型进行测试;训练时,把第三样本的输入数据输入到第三目标模型并得到第三目标模型实际输出的位置偏差累计值,以第三目标模型实际输出的位置偏差累计值与该第三样本的输出数据之间的绝对值偏差作为损失函数,直到该损失函数小于预设的损失函数阈值,停止训练。其中,可采用梯度下降法进行训练,但不限于此。
由上可知,该机械臂动态PID控制方法,通过获取待执行运动指令;确定待执行运动指令的指令类型;根据指令类型,获取待执行运动指令的特征参数;分别把特征参数输入与指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组神经网络模型包括多个包含不同PID参数的神经网络模型;提取最小的位置偏差累计值对应的神经网络模型的PID参数,作为有效PID参数;把有效PID参数部署到机械臂的控制器以执行待执行运动指令;从而有利于得到合理的PID参数以提高机械臂的运动控制精度。
第二方面,本申请提供了一种机械臂动态PID控制装置,包括:
第一获取模块1,用于获取待执行运动指令;
确定模块2,用于确定待执行运动指令的指令类型;
第二获取模块3,用于根据指令类型,获取待执行运动指令的特征参数;
第一执行模块4,用于分别把特征参数输入与指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组神经网络模型包括多个包含不同PID参数的神经网络模型;
提取模块5,用于提取最小的位置偏差累计值对应的神经网络模型的PID参数,作为有效PID参数;
第二执行模块6,用于把有效PID参数部署到机械臂的控制器以执行待执行运动指令。
该机械臂动态PID控制装置,依据不同类型的待执行运动指令,采用对应的多个神经网络模型分别获取位置偏差累计值,该位置偏差累计值反映了机械臂实际运动轨迹与理想的运动轨迹的偏差情况,进而选取最小位置偏差累计值对应的神经网络模型所包含的PID参数作为有效PID参数以控制机械臂执行该待执行运动指令,使得使用的PID参数更适用于该具体的待执行运动指令,以提高机械臂的运动控制精度。与不区分运动指令的指令类型,统一地采用同一组PID参数来执行所有运动指令的方式相比,本申请针对不同的指令类型进行PID参数的选取,并根据选取结果执行对应的运动指令,更有利于提高PID参数的合理性和机械臂的运动控制精度;与针对同一类运动指令,统一地采用同一组PID参数来执行同一类运动指令的方式相比,本申请针对待执行运动指令本身的类型和具体特征参数进行PID参数的选取,使得到的PID参数更适合该待执行运动指令,更有利于提高PID参数的合理性和机械臂的运动控制精度。
其中,待执行运动指令可包含待执行运动指令的指令类型信息(可以但不限于是编号信息),从而确定模块2从待执行运动指令中提取该指令类型信息以确定待执行运动指令的指令类型。例如,指令类型信息为编号信息,指令类型可包括关节运动指令、直线运动指令和圆弧运动指令,关节运动指令的编号为1,直线运动指令的编号为2,圆弧运动指令的编号为3,则确定模块2用于在确定待执行运动指令的指令类型的时候,执行:从待执行运动指令中提取编号信息,若该编号信息为1则判定待执行运动指令为关节运动指令,若该编号信息为2则判定待执行运动指令为直线运动指令,该编号信息为3则判定待执行运动指令为圆弧运动指令。
在另一些实施方式中,待执行运动指令也可包含运动轨迹信息(如起始点的位姿、终止点的位姿、至少一个过渡点的位姿和与起始点、终止点及各过渡点对应的TCP点的速度),从而确定模块2从待执行运动指令中提取运动轨迹信息,并根据该运动轨迹信息确定待执行运动指令的指令类型。例如,指令类型可包括关节运动指令、直线运动指令和圆弧运动指令,确定模块2用于在确定待执行运动指令的指令类型的时候,执行:根据起始点的位姿、终止点的位姿和各过渡点的位姿进行直线轨迹拟合,并计算起始点、终止点和各过渡点与拟合的直线轨迹的距离的方差(以下称之为第一方差),若第一方差小于预设的第一方差阈值,则判定待执行运动指令为直线运动指令,若第一方差不小于预设的第一方差阈值,则根据起始点的位姿、终止点的位姿和各过渡点的位姿进行圆弧轨迹拟合,并计算起始点、终止点和各过渡点与拟合的圆弧轨迹的距离的方差(以下称之为第二方差),若第二方差小于预设的第二方差阈值,则判定待执行运动指令为圆弧运动指令,否则判定待执行运动指令为关节运动指令。
在一些优选实施方式中,指令类型包括关节运动指令、直线运动指令和圆弧运动指令;关节运动指令为使机械臂末端沿非直线和非圆弧的轨迹运动的指令;
从而,第二获取模块3用于在根据指令类型,获取待执行运动指令的特征参数的时候,执行:
若待执行运动指令的指令类型为关节运动指令,则获取待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点(末端工具中心点)速度;
若待执行运动指令的指令类型为直线运动指令,则获取待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点速度;
若待执行运动指令的指令类型为圆弧运动指令,则获取待执行运动指令对应的机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径。
关节运动、直线运动和圆弧运动是机械臂运动的几种主要运动形式,其中,直线运动是指机械臂末端沿直线运动,圆弧运动是指机械臂末端沿圆弧运动,关节运动是指机械臂末端沿非直线和非圆弧的轨迹运动,针对这几种主要运动形式的特点提取对应的特征参数以输入不同的神经网络模型中,适用于大部分的运动指令,保证了该机械臂动态PID控制装置的适用性和控制效果。
在一些实施方式中,待执行运动指令包括运动轨迹信息;该运动轨迹信息包括起始点的位姿、终止点的位姿、至少一个过渡点的位姿和与起始点、终止点及各过渡点对应的TCP点的速度(即机械臂末端在各位置点时,TCP点的速度);
获取待执行运动指令对应的机械臂起始位姿,具体包括:从待执行运动指令中提取起始点的位姿,得到机械臂起始位姿;
获取待执行运动指令对应的机械臂终止位姿,具体包括:从待执行运动指令中提取终止点的位姿,得到机械臂终止位姿;
获取待执行运动指令对应的TCP点速度,具体包括:从待执行运动指令中提取与起始点、终止点及各过渡点对应的TCP点的速度,得到TCP点速度;
获取待执行运动指令对应的圆弧半径,具体包括:根据起始点的位姿、终止点的位姿和各过渡点的位姿,拟合圆弧轨迹,并提取该圆弧轨迹的半径,得到圆弧半径。
通过上述方式可简单快捷地得到待执行运动指令的特征参数,处理效率高。
进一步地,第一执行模块4用于在分别把特征参数输入与指令类型对应的一组神经网络模型,得到多个位置偏差累计值的时候,执行:
若待执行运动指令的指令类型为关节运动指令,则分别把特征参数输入一组第一神经网络模型,得到多个位置偏差累计值;
若待执行运动指令的指令类型为直线运动指令,则分别把特征参数输入一组第二神经网络模型,得到多个位置偏差累计值;
若待执行运动指令的指令类型为圆弧运动指令,则分别把特征参数输入一组第三神经网络模型,得到多个位置偏差累计值。
此处,每个神经网络模型的输入为待执行运动指令的特征参数,输出为位置偏差累计值。该位置偏差累计值表征了机械臂根据该神经网络模型所包含的PID参数执行该待执行运动指令时,实际运动轨迹与理想运动轨迹之间的偏差;在本实施例中,该位置偏差累计值为该实际运动轨迹上的多个轨迹点的实际位置数据与该理想运动轨迹对应的轨迹点的理论位置数据之间的差值的绝对值之和;但位置偏差累计值不限于此(例如,位置偏差累计值也可以等于该实际运动轨迹与该理想运动轨迹之间的相似度的倒数)。
在一些实施方式中,第一神经网络模型根据以下过程训练得到:
B1.获取多组第一PID参数,以构建多个第一前馈神经网络模型;
B2.分别以各组第一PID参数为第一目标PID参数,以与第一目标PID参数对应的第一前馈神经网络模型为第一目标模型,执行以下步骤:
获取多个第一运动指令;第一运动指令为关节运动指令;
提取各第一运动指令的第一特征参数;第一特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度(具体提取过程参考前文);
把第一目标PID参数部署到机械臂的控制器,并依次执行第一运动指令,以获取对应每个第一运动指令的反馈位置数据和规划位置数据;反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;规划位置数据包括与多个实际位置数据对应的多个理论位置数据;
计算每个第一运动指令的各实际位置数据与对应的理论位置数据的差值的绝对值之和,得到各第一运动指令的第一位置偏差累计值;
以每个第一运动指令的第一特征参数和第一位置偏差累计值作为一个第一样本的输入数据和输出数据,得到第一样本集;
根据第一样本集对第一目标模型进行训练,得到一个第一神经网络模型。
其中,可在预设数值范围内,随机生成多组第一PID参数;或者,针对各项PID参数分别设置多个离散值,然后对各项PID参数进行组合(如排列组合、随机组合等)得到多组第一PID参数;但不限于此。
其中,第一前馈神经网络模型可采用现有的前馈神经网络模型,此处不对其进行限定。
其中,预设周期可根据实际需要设置,例如为4ms-10ms(但不限于此),此时,在机械臂运动过程中,每隔4ms-10ms即采集一次机械臂末端的位置数据,得到多个实际位置数据,对应地,根据机械臂的理论运动过程,可计算得到机械臂末端每隔4ms-10ms的理论位置数据,多个实际位置数据和多个理论位置数据根据时间形成一一对应的关系。
其中,根据第一样本集对第一目标模型进行训练时,可以8:2的比例把第一样本集划分为训练集和测试集,以训练集对第一目标模型进行训练,并以测试集对训练后的第一目标模型进行测试;训练时,把第一样本的输入数据输入到第一目标模型并得到第一目标模型实际输出的位置偏差累计值,以第一目标模型实际输出的位置偏差累计值与该第一样本的输出数据之间的绝对值偏差作为损失函数,直到该损失函数小于预设的损失函数阈值,停止训练。其中,可采用梯度下降法进行训练,但不限于此。
在一些实施方式中,第二神经网络模型根据以下过程训练得到:
C1.获取多组第二PID参数,以构建多个第二前馈神经网络模型;
C2.分别以各组第二PID参数为第二目标PID参数,以与第二目标PID参数对应的第二前馈神经网络模型为第二目标模型,执行以下步骤:
获取多个第二运动指令;第二运动指令为直线运动指令;
提取各第二运动指令的第二特征参数;第二特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度(具体提取过程参考前文);
把第二目标PID参数部署到机械臂的控制器,并依次执行第二运动指令,以获取对应每个第二运动指令的反馈位置数据和规划位置数据;该反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;规划位置数据包括与多个实际位置数据对应的多个理论位置数据;
计算每个第二运动指令的各实际位置数据与对应的理论位置数据的差值的绝对值之和,得到各第二运动指令的第二位置偏差累计值;
以每个第二运动指令的第二特征参数和第二位置偏差累计值作为一个第二样本的输入数据和输出数据,得到第二样本集;
根据第二样本集对第二目标模型进行训练,得到一个第二神经网络模型。
其中,可在预设数值范围内,随机生成多组第二PID参数;或者,针对各项PID参数分别设置多个离散值,然后对各项PID参数进行组合(如排列组合、随机组合等)得到多组第二PID参数;但不限于此。
其中,第二前馈神经网络模型可采用现有的前馈神经网络模型,此处不对其进行限定。
其中,根据第二样本集对第二目标模型进行训练时,可以8:2的比例把第二样本集划分为训练集和测试集,以训练集对第二目标模型进行训练,并以测试集对训练后的第二目标模型进行测试;训练时,把第二样本的输入数据输入到第二目标模型并得到第二目标模型实际输出的位置偏差累计值,以第二目标模型实际输出的位置偏差累计值与该第二样本的输出数据之间的绝对值偏差作为损失函数,直到该损失函数小于预设的损失函数阈值,停止训练。其中,可采用梯度下降法进行训练,但不限于此。
在一些实施方式中,第三神经网络模型根据以下过程训练得到:
D1.获取多组第三PID参数,以构建多个第三前馈神经网络模型;
D2.分别以各组第三PID参数为第三目标PID参数,以与第三目标PID参数对应的第三前馈神经网络模型为第三目标模型,执行以下步骤:
获取多个第三运动指令;第三运动指令为圆弧运动指令;
提取各第二运动指令的第三特征参数;第三特征参数包括机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径(具体提取过程参考前文);
把第三目标PID参数部署到机械臂的控制器,并依次执行第三运动指令,以获取对应每个第三运动指令的反馈位置数据和规划位置数据;反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;规划位置数据包括与多个实际位置数据对应的多个理论位置数据;
计算每个第三运动指令的各实际位置数据与对应的理论位置数据的差值的绝对值之和,得到各第三运动指令的第三位置偏差累计值;
以每个第三运动指令的第三特征参数和第三位置偏差累计值作为一个第三样本的输入数据和输出数据,得到第三样本集;
根据第三样本集对第三目标模型进行训练,得到一个第三神经网络模型。
其中,可在预设数值范围内,随机生成多组第三PID参数;或者,针对各项PID参数分别设置多个离散值,然后对各项PID参数进行组合(如排列组合、随机组合等)得到多组第三PID参数;但不限于此。
其中,第三前馈神经网络模型可采用现有的前馈神经网络模型,此处不对其进行限定。
其中,根据第三样本集对第三目标模型进行训练时,可以8:2的比例把第三样本集划分为训练集和测试集,以训练集对第三目标模型进行训练,并以测试集对训练后的第三目标模型进行测试;训练时,把第三样本的输入数据输入到第三目标模型并得到第三目标模型实际输出的位置偏差累计值,以第三目标模型实际输出的位置偏差累计值与该第三样本的输出数据之间的绝对值偏差作为损失函数,直到该损失函数小于预设的损失函数阈值,停止训练。其中,可采用梯度下降法进行训练,但不限于此。
由上可知,该机械臂动态PID控制装置,通过获取待执行运动指令;确定待执行运动指令的指令类型;根据指令类型,获取待执行运动指令的特征参数;分别把特征参数输入与指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组神经网络模型包括多个包含不同PID参数的神经网络模型;提取最小的位置偏差累计值对应的神经网络模型的PID参数,作为有效PID参数;把有效PID参数部署到机械臂的控制器以执行待执行运动指令;从而有利于得到合理的PID参数以提高机械臂的运动控制精度。
请参照图3,图3为本申请实施例提供的一种电子设备的结构示意图,本申请提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当电子设备运行时,处理器301执行该计算机程序,以执行上述实施例的任一可选的实现方式中的机械臂动态PID控制方法,以实现以下功能:获取待执行运动指令;确定待执行运动指令的指令类型;根据指令类型,获取待执行运动指令的特征参数;分别把特征参数输入与指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组神经网络模型包括多个包含不同PID参数的神经网络模型;提取最小的位置偏差累计值对应的神经网络模型的PID参数,作为有效PID参数;把有效PID参数部署到机械臂的控制器以执行待执行运动指令。
本申请实施例提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的机械臂动态PID控制方法,以实现以下功能:获取待执行运动指令;确定待执行运动指令的指令类型;根据指令类型,获取待执行运动指令的特征参数;分别把特征参数输入与指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组神经网络模型包括多个包含不同PID参数的神经网络模型;提取最小的位置偏差累计值对应的神经网络模型的PID参数,作为有效PID参数;把有效PID参数部署到机械臂的控制器以执行待执行运动指令。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (5)
1.一种机械臂动态PID控制方法,其特征在于,包括步骤:
A1.获取待执行运动指令;
A2.确定所述待执行运动指令的指令类型;
A3.根据所述指令类型,获取所述待执行运动指令的特征参数;
A4.分别把所述特征参数输入与所述指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组所述神经网络模型包括多个包含不同PID参数的神经网络模型;
A5.提取最小的所述位置偏差累计值对应的所述神经网络模型的所述PID参数,作为有效PID参数;
A6.把所述有效PID参数部署到所述机械臂的控制器以执行所述待执行运动指令;
所述指令类型包括关节运动指令、直线运动指令和圆弧运动指令;所述关节运动指令为使机械臂末端沿非直线和非圆弧的轨迹运动的指令;
步骤A3包括:
若所述待执行运动指令的所述指令类型为关节运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点速度;
若所述待执行运动指令的所述指令类型为直线运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点速度;
若所述待执行运动指令的所述指令类型为圆弧运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径;
步骤A4包括:
若所述待执行运动指令的所述指令类型为关节运动指令,则分别把所述特征参数输入一组第一神经网络模型,得到多个位置偏差累计值;
若所述待执行运动指令的所述指令类型为直线运动指令,则分别把所述特征参数输入一组第二神经网络模型,得到多个位置偏差累计值;
若所述待执行运动指令的所述指令类型为圆弧运动指令,则分别把所述特征参数输入一组第三神经网络模型,得到多个位置偏差累计值;
所述第一神经网络模型根据以下过程训练得到:
B1.获取多组第一PID参数,以构建多个第一前馈神经网络模型;
B2.分别以各组所述第一PID参数为第一目标PID参数,以与所述第一目标PID参数对应的所述第一前馈神经网络模型为第一目标模型,执行以下步骤:
获取多个第一运动指令;所述第一运动指令为关节运动指令;
提取各所述第一运动指令的第一特征参数;所述第一特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度;
把所述第一目标PID参数部署到所述机械臂的控制器,并依次执行所述第一运动指令,以获取对应每个所述第一运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第一运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第一运动指令的第一位置偏差累计值;
以每个所述第一运动指令的所述第一特征参数和所述第一位置偏差累计值作为一个第一样本的输入数据和输出数据,得到第一样本集;
根据所述第一样本集对所述第一目标模型进行训练,得到一个所述第一神经网络模型;
所述第二神经网络模型根据以下过程训练得到:
C1.获取多组第二PID参数,以构建多个第二前馈神经网络模型;
C2.分别以各组所述第二PID参数为第二目标PID参数,以与所述第二目标PID参数对应的所述第二前馈神经网络模型为第二目标模型,执行以下步骤:
获取多个第二运动指令;所述第二运动指令为直线运动指令;
提取各所述第二运动指令的第二特征参数;所述第二特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度;
把所述第二目标PID参数部署到所述机械臂的控制器,并依次执行所述第二运动指令,以获取对应每个所述第二运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第二运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第二运动指令的第二位置偏差累计值;
以每个所述第二运动指令的所述第二特征参数和所述第二位置偏差累计值作为一个第二样本的输入数据和输出数据,得到第二样本集;
根据所述第二样本集对所述第二目标模型进行训练,得到一个所述第二神经网络模型;
所述第三神经网络模型根据以下过程训练得到:
D1.获取多组第三PID参数,以构建多个第三前馈神经网络模型;
D2.分别以各组所述第三PID参数为第三目标PID参数,以与所述第三目标PID参数对应的所述第三前馈神经网络模型为第三目标模型,执行以下步骤:
获取多个第三运动指令;所述第三运动指令为圆弧运动指令;
提取各所述第二运动指令的第三特征参数;所述第三特征参数包括机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径;
把所述第三目标PID参数部署到所述机械臂的控制器,并依次执行所述第三运动指令,以获取对应每个所述第三运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第三运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第三运动指令的第三位置偏差累计值;
以每个所述第三运动指令的所述第三特征参数和所述第三位置偏差累计值作为一个第三样本的输入数据和输出数据,得到第三样本集;
根据所述第三样本集对所述第三目标模型进行训练,得到一个所述第三神经网络模型。
2.根据权利要求1所述的机械臂动态PID控制方法,其特征在于,所述待执行运动指令包括运动轨迹信息;所述运动轨迹信息包括起始点的位姿、终止点的位姿、至少一个过渡点的位姿和与所述起始点、所述终止点及各所述过渡点对应的TCP点的速度;
获取所述待执行运动指令对应的机械臂起始位姿,具体包括:从所述待执行运动指令中提取所述起始点的位姿,得到所述机械臂起始位姿;
获取所述待执行运动指令对应的机械臂终止位姿,具体包括:从所述待执行运动指令中提取所述终止点的位姿,得到所述机械臂终止位姿;
获取所述待执行运动指令对应的TCP点速度,具体包括:从所述待执行运动指令中提取与所述起始点、所述终止点及各所述过渡点对应的TCP点的速度,得到所述TCP点速度;
获取所述待执行运动指令对应的圆弧半径,具体包括:根据所述起始点的位姿、所述终止点的位姿和各所述过渡点的位姿,拟合圆弧轨迹,并提取所述圆弧轨迹的半径,得到圆弧半径。
3.一种机械臂动态PID控制装置,其特征在于,包括:
第一获取模块,用于获取待执行运动指令;
确定模块,用于确定所述待执行运动指令的指令类型;
第二获取模块,用于根据所述指令类型,获取所述待执行运动指令的特征参数;
第一执行模块,用于分别把所述特征参数输入与所述指令类型对应的一组神经网络模型,得到多个位置偏差累计值;一组所述神经网络模型包括多个包含不同PID参数的神经网络模型;
提取模块,用于提取最小的所述位置偏差累计值对应的所述神经网络模型的所述PID参数,作为有效PID参数;
第二执行模块,用于把所述有效PID参数部署到所述机械臂的控制器以执行所述待执行运动指令;
所述指令类型包括关节运动指令、直线运动指令和圆弧运动指令;所述关节运动指令为使机械臂末端沿非直线和非圆弧的轨迹运动的指令;
第二获取模块用于在根据所述指令类型,获取所述待执行运动指令的特征参数的时候,执行:
若所述待执行运动指令的所述指令类型为关节运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点速度;
若所述待执行运动指令的所述指令类型为直线运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿和TCP点速度;
若所述待执行运动指令的所述指令类型为圆弧运动指令,则获取所述待执行运动指令对应的机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径;
第一执行模块用于在分别把所述特征参数输入与所述指令类型对应的一组神经网络模型,得到多个位置偏差累计值的时候,执行:
若所述待执行运动指令的所述指令类型为关节运动指令,则分别把所述特征参数输入一组第一神经网络模型,得到多个位置偏差累计值;
若所述待执行运动指令的所述指令类型为直线运动指令,则分别把所述特征参数输入一组第二神经网络模型,得到多个位置偏差累计值;
若所述待执行运动指令的所述指令类型为圆弧运动指令,则分别把所述特征参数输入一组第三神经网络模型,得到多个位置偏差累计值;
所述第一神经网络模型根据以下过程训练得到:
B1.获取多组第一PID参数,以构建多个第一前馈神经网络模型;
B2.分别以各组所述第一PID参数为第一目标PID参数,以与所述第一目标PID参数对应的所述第一前馈神经网络模型为第一目标模型,执行以下步骤:
获取多个第一运动指令;所述第一运动指令为关节运动指令;
提取各所述第一运动指令的第一特征参数;所述第一特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度;
把所述第一目标PID参数部署到所述机械臂的控制器,并依次执行所述第一运动指令,以获取对应每个所述第一运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第一运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第一运动指令的第一位置偏差累计值;
以每个所述第一运动指令的所述第一特征参数和所述第一位置偏差累计值作为一个第一样本的输入数据和输出数据,得到第一样本集;
根据所述第一样本集对所述第一目标模型进行训练,得到一个所述第一神经网络模型;
所述第二神经网络模型根据以下过程训练得到:
C1.获取多组第二PID参数,以构建多个第二前馈神经网络模型;
C2.分别以各组所述第二PID参数为第二目标PID参数,以与所述第二目标PID参数对应的所述第二前馈神经网络模型为第二目标模型,执行以下步骤:
获取多个第二运动指令;所述第二运动指令为直线运动指令;
提取各所述第二运动指令的第二特征参数;所述第二特征参数包括机械臂起始位姿、机械臂终止位姿和TCP点速度;
把所述第二目标PID参数部署到所述机械臂的控制器,并依次执行所述第二运动指令,以获取对应每个所述第二运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第二运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第二运动指令的第二位置偏差累计值;
以每个所述第二运动指令的所述第二特征参数和所述第二位置偏差累计值作为一个第二样本的输入数据和输出数据,得到第二样本集;
根据所述第二样本集对所述第二目标模型进行训练,得到一个所述第二神经网络模型;
所述第三神经网络模型根据以下过程训练得到:
D1.获取多组第三PID参数,以构建多个第三前馈神经网络模型;
D2.分别以各组所述第三PID参数为第三目标PID参数,以与所述第三目标PID参数对应的所述第三前馈神经网络模型为第三目标模型,执行以下步骤:
获取多个第三运动指令;所述第三运动指令为圆弧运动指令;
提取各所述第二运动指令的第三特征参数;所述第三特征参数包括机械臂起始位姿、机械臂终止位姿、TCP点速度和圆弧半径;
把所述第三目标PID参数部署到所述机械臂的控制器,并依次执行所述第三运动指令,以获取对应每个所述第三运动指令的反馈位置数据和规划位置数据;所述反馈位置数据包括机械臂运动过程中按预设周期采集的多个实际位置数据;所述规划位置数据包括与多个所述实际位置数据对应的多个理论位置数据;
计算每个所述第三运动指令的各所述实际位置数据与对应的所述理论位置数据的差值的绝对值之和,得到各所述第三运动指令的第三位置偏差累计值;
以每个所述第三运动指令的所述第三特征参数和所述第三位置偏差累计值作为一个第三样本的输入数据和输出数据,得到第三样本集;
根据所述第三样本集对所述第三目标模型进行训练,得到一个所述第三神经网络模型。
4.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如权利要求1-2任一项所述机械臂动态PID控制方法中的步骤。
5.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-2任一项所述机械臂动态PID控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210712206.1A CN114789453B (zh) | 2022-06-22 | 2022-06-22 | 机械臂动态pid控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210712206.1A CN114789453B (zh) | 2022-06-22 | 2022-06-22 | 机械臂动态pid控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114789453A CN114789453A (zh) | 2022-07-26 |
CN114789453B true CN114789453B (zh) | 2022-09-30 |
Family
ID=82463457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210712206.1A Active CN114789453B (zh) | 2022-06-22 | 2022-06-22 | 机械臂动态pid控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114789453B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115465799A (zh) * | 2022-10-21 | 2022-12-13 | 北京东土科技股份有限公司 | 塔吊控制参数调节方法及装置、计算设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104440910B (zh) * | 2014-11-07 | 2016-05-04 | 绵阳市维博电子有限责任公司 | 一种实现机器人双手臂同步控制的方法及系统 |
CN108972546B (zh) * | 2018-06-22 | 2021-07-20 | 华南理工大学 | 一种基于强化学习的机器人恒力曲面跟踪方法 |
CN110450155B (zh) * | 2019-07-30 | 2021-01-22 | 洛阳润信机械制造有限公司 | 一种多自由度机械臂系统的控制器的优化设计方法 |
US11772264B2 (en) * | 2020-11-18 | 2023-10-03 | Dibi (Chongqing) Intelligent Technology Research Institute Co., Ltd. | Neural network adaptive tracking control method for joint robots |
CN112518753B (zh) * | 2020-12-04 | 2022-02-01 | 浙江理工大学 | 一种神经网络迭代补偿的工业机器人轨迹跟踪系统和方法 |
CN114185264B (zh) * | 2021-12-06 | 2023-09-19 | 广东工业大学 | 一种基于物理信息神经网络的pid控制器参数整定方法 |
-
2022
- 2022-06-22 CN CN202210712206.1A patent/CN114789453B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114789453A (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11161247B2 (en) | Robot trajectory generation method, robot trajectory generation apparatus, storage medium, and manufacturing method | |
CN109960880B (zh) | 一种基于机器学习的工业机器人避障路径规划方法 | |
US11235461B2 (en) | Controller and machine learning device | |
CN104858876B (zh) | 机器人任务的可视调试 | |
US9108316B2 (en) | Method and system for in-production optimization of the parameters of a robot used for assembly | |
Konidaris et al. | Constructing skill trees for reinforcement learning agents from demonstration trajectories | |
CN109176532B (zh) | 一种机械臂路径规划方法、系统及装置 | |
EP3924787A1 (en) | Creation of digital twin of the interaction among parts of the physical system | |
US20200026296A1 (en) | Method and device for driving dynamics control for a transportation vehicle | |
CN114789453B (zh) | 机械臂动态pid控制方法、装置、电子设备及存储介质 | |
JP2019159697A (ja) | 制御システムおよび制御方法 | |
CN107553496B (zh) | 机械臂逆运动学求解方法误差的确定及校正方法和装置 | |
CN109940619A (zh) | 一种轨迹规划方法、电子设备及存储介质 | |
CN106660210B (zh) | 机器人控制程序产生方法及装置 | |
CN108972593A (zh) | 一种工业机器人系统下的控制方法及系统 | |
US20210018903A1 (en) | Information processing system, information processing method, and recording medium | |
CN115042191B (zh) | 预训练模型微调训练方法、装置、电子设备及存储介质 | |
EP2898996A1 (en) | Method of controlling a robotic system and a robotic system controller for implementing this method | |
CN114571470B (zh) | 一种补偿结果优化方法、装置、电子设备和存储介质 | |
CN110774269A (zh) | 机器人拖动示教方法、装置、电子设备及存储介质 | |
CN112969557A (zh) | 用于将机器学习应用于应用的方法和系统 | |
CN111739132B (zh) | 一种基于局部控制器的全身骨骼运动效果修改方法 | |
CN114047745A (zh) | 机器人运动控制方法、机器人、计算机装置和存储介质 | |
US11385629B2 (en) | Product closing the loop | |
Leu et al. | Robust task planning for assembly lines with human-robot collaboration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |