CN112077839B - 一种机械臂的运动控制方法及装置 - Google Patents

一种机械臂的运动控制方法及装置 Download PDF

Info

Publication number
CN112077839B
CN112077839B CN202010782836.7A CN202010782836A CN112077839B CN 112077839 B CN112077839 B CN 112077839B CN 202010782836 A CN202010782836 A CN 202010782836A CN 112077839 B CN112077839 B CN 112077839B
Authority
CN
China
Prior art keywords
joint
next moment
neural network
input torque
ith
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
Application number
CN202010782836.7A
Other languages
English (en)
Other versions
CN112077839A (zh
Inventor
周海雷
李小鹏
王云枫
吴继发
朱文艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zoomlion Heavy Industry Science and Technology Co Ltd
Zhongke Yungu Technology Co Ltd
Original Assignee
Zoomlion Heavy Industry Science and Technology Co Ltd
Zhongke Yungu Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zoomlion Heavy Industry Science and Technology Co Ltd, Zhongke Yungu Technology Co Ltd filed Critical Zoomlion Heavy Industry Science and Technology Co Ltd
Priority to CN202010782836.7A priority Critical patent/CN112077839B/zh
Publication of CN112077839A publication Critical patent/CN112077839A/zh
Application granted granted Critical
Publication of CN112077839B publication Critical patent/CN112077839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

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)
  • Feedback Control In General (AREA)

Abstract

本申请公开一种机械臂的运动控制方法及装置,属于控制技术领域,该方法包括:在按照预设的轨迹控制算法控制机械臂的n个关节按照各自的给定轨迹运动的过程中,若确定满足设定的误差获取条件,则获取当前时刻各关节的运动误差,确定下一时刻各关节的实际输入力矩,其中,根据轨迹控制算法和每个关节的运动误差,计算下一时刻该关节的期望输入力矩,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,利用下一时刻该关节的补偿力矩对下一时刻该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩,进而根据下一时刻各关节的实际输入力矩控制机械臂运动。

Description

一种机械臂的运动控制方法及装置
技术领域
本申请涉及控制技术领域,尤其涉及一种机械臂的运动控制方法及装置。
背景技术
机械臂是一个多变量、高度非线性、强耦合的复杂系统,且存在不确定的时变、内部摩擦、参数摄动、外部干扰和重力场等因素影响,这些因素使得机械臂的动力学分析和控制律设计都比较困难。
相关技术中,为了简化对机械臂的运动分析和控制算法设计,在对机械臂进行运动分析和控制算法设计时,忽略了不确定时变、内部摩擦、参数摄动、外部干扰以及重力场等因素对机械臂的影响,而以未考虑这些因素的机械臂的动力学模型来分析机械臂的运动并设计机械臂的控制算法,这样,会降低机械臂的控制精度。
发明内容
本申请实施例提供一种机械臂的运动控制方法及装置,用以解决现有技术中机械臂的控制准精度比较低的问题。
第一方面,本申请实施例提供的一种机械臂的运动控制方法,包括:
在按照预设的轨迹控制算法控制机械臂的n个关节按照各自的给定轨迹运动的过程中,若确定满足设定的误差获取条件,则获取当前时刻各关节的运动误差,n为大于零的整数;
确定下一时刻各关节的实际输入力矩,其中,根据所述轨迹控制算法和每个关节的运动误差,计算下一时刻该关节的期望输入力矩,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,所述神经网络模型是对控制该关节按照轨迹样本运动时该关节的给定运动状态与补偿力矩之间的关系特征进行学习得到的,利用下一时刻该关节的补偿力矩对下一时刻该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩;
根据下一时刻各关节的实际输入力矩,控制所述机械臂运动。
在一种可能的实施方式中,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,包括:
利用该关节对应的神经网络模型的输入层参数对下一时刻该关节的给定运动状态进行计算,得到输入层输出结果;利用该关节对应的神经网络模型的隐含层参数对所述输入层输出结果进行计算,得到隐含层输出结果;以及
根据该关节的运动误差、下一时刻该关节的给定运动状态和预设的用于确定该关节对应的神经网络模型的输出层参数的参数确定算法,计算下一时刻该关节对应的神经网络模型的输出层参数;
利用所述隐含层输出结果和计算的输出层参数,计算下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩。
在一种可能的实施方式中,根据以下公式计算下一时刻第i个关节对应的神经网络模型的输出层参数:
Figure BDA0002620855330000021
其中,
Figure BDA0002620855330000022
为下一时刻第i个关节对应的神经网络模型的输出层参数,w1i,w2i分别为下一时刻第i个关节的第一滤波误差和第二滤波误差,σ(*)为激励函数,sat(*)为饱和函数,λ1i2i均为预先确定的正常数,Γ∈Rp×p为预先确定的正定对角矩阵,p为第i个关节对应的神经网络模型中的神经元个数,ei为第i个关节的运动误差,xi为下一时刻第i个关节的给定运动状态,1≤i≤n。
在一种可能的实施方式中,根据以下公式计算下一时刻各关节的期望输入力矩:
τ=kptanh(e)+kvtanh(r)+bvsign(e),
Figure BDA0002620855330000031
其中:τ为n*1的向量,τ中的第i个元素τi表示下一时刻第i个关节的期望输入力矩,α、kp、kv和bv均为预先确定的n*n的对角矩阵,且α、kp、kv和bv中的元素均为非负数,e为n*1的向量,e中的第i个元素ei表示第i个关节的运动误差,1≤i≤n。
在一种可能的实施方式中,利用该关节的补偿力矩对该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩,包括:
将该关节的补偿力矩和该关节的期望输入力矩之和,确定为下一时刻该关节的实际输入力矩。
第二方面,本申请实施例提供的一种机械臂的运动控制装置,包括:
获取模块,用于在按照预设的轨迹控制算法控制机械臂的n个关节按照各自的给定轨迹运动的过程中,若确定满足设定的误差获取条件,则获取当前时刻各关节的运动误差,n为大于零的整数;
确定模块,用于确定下一时刻各关节的实际输入力矩,其中,根据所述轨迹控制算法和每个关节的运动误差,计算下一时刻该关节的期望输入力矩,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,所述神经网络模型是对控制该关节按照轨迹样本运动时该关节的给定运动状态与补偿力矩之间的关系特征进行学习得到的,利用下一时刻该关节的补偿力矩对下一时刻该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩;
控制模块,用于根据下一时刻各关节的实际输入力矩,控制所述机械臂运动。
在一种可能的实施方式中,所述确定模块具体用于:
利用该关节对应的神经网络模型的输入层参数对下一时刻该关节的给定运动状态进行计算,得到输入层输出结果;利用该关节对应的神经网络模型的隐含层参数对所述输入层输出结果进行计算,得到隐含层输出结果;以及
根据该关节的运动误差、下一时刻该关节的给定运动状态和预设的用于确定该关节对应的神经网络模型的输出层参数的参数确定算法,计算下一时刻该关节对应的神经网络模型的输出层参数;
利用所述隐含层输出结果和计算的输出层参数,计算下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩。
在一种可能的实施方式中,所述确定模块具体用于根据以下公式计算下一时刻第i个关节对应的神经网络模型的输出层参数:
Figure BDA0002620855330000041
其中,
Figure BDA0002620855330000042
为下一时刻第i个关节对应的神经网络模型的输出层参数,w1i,w2i分别为下一时刻第i个关节的第一滤波误差和第二滤波误差,σ(*)为激励函数,sat(*)为饱和函数,λ1i2i均为预先确定的正常数,Γ∈Rp×p为预先确定的正定对角矩阵,p为第i个关节对应的神经网络模型中的神经元个数,ei为第i个关节的运动误差,xi为下一时刻第i个关节的给定运动状态,1≤i≤n。
在一种可能的实施方式中,所述确定模块具体用于根据以下公式计算下一时刻各关节的期望输入力矩:
τ=kptanh(e)+kvtanh(r)+bvsign(e),
Figure BDA0002620855330000051
其中:τ为n*1的向量,τ中的第i个元素τi表示下一时刻第i个关节的期望输入力矩,α、kp、kv和bv均为预先确定的n*n的对角矩阵,且α、kp、kv和bv中的元素均为非负数,e为n*1的向量,e中的第i个元素ei表示第i个关节的运动误差,1≤i≤n。
在一种可能的实施方式中,所述确定模块具体用于:
将该关节的补偿力矩和该关节的期望输入力矩之和,确定为下一时刻该关节的实际输入力矩。
第三方面,本申请实施例提供的一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
存储器存储有可被至少一个处理器执行的指令,该指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述机械臂的运动控制方法。
第四方面,本申请实施例提供的一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述机械臂的运动控制方法。
本申请实施例中,在按照预设的轨迹控制算法控制机械臂的n个关节按照各自的给定轨迹运动的过程中,若确定满足设定的误差获取条件,则获取当前时刻各关节的运动误差,确定下一时刻各关节的实际输入力矩,其中,对每个关节,根据轨迹控制算法和该关节的运动误差,计算下一时刻该关节的期望输入力矩,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,利用下一时刻该关节的补偿力矩对下一时刻该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩,进而根据下一时刻各关节的实际输入力矩控制机械臂运动。这里,每个关节对应的神经网络模型是对控制该关节按照轨迹样本运动时该关节的给定运动状态与补偿力矩之间的关系特征进行学习得到的,所以使用该关节对应的神经网络模型可以对下一时刻该关节的期望输入力矩进行补偿,因此,最终确定出的各关节的实际输入力矩都比较准确,可提升机械臂的控制精度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为相关技术中采用的典型的机械臂的运动控制框图;
图2为本申请实施例提供的一种基于神经网络前馈的机械臂滑模变结构轨迹跟踪控制的控制框图;
图3为本申请实施例提供的机械臂的实际运动轨迹与给定的椭圆运动轨迹的示意图;
图4为本申请实施例提供的给定椭圆运动轨迹时机械臂的关节1的实际运动轨迹、关节1的给定运动轨迹、以及关节1的运动误差的示意图;
图5为本申请实施例提供的给定椭圆运动轨迹时机械臂的关节2的实际运动轨迹、关节2的给定运动轨迹、以及关节2的运动误差的示意图;
图6为本申请实施例提供的给定椭圆运动轨迹时机械臂的关节1和关节2的运动误差的比对示意图;
图7为本申请实施例提供的给定椭圆运动轨迹时机械臂的关节1和关节2的实际输入力矩随时间变化的示意图;
图8为本申请实施例提供的给定椭圆运动轨迹时机械臂的关节1的补偿力矩和关节2的补偿力矩随时间变化的示意图;
图9为本申请实施例提供的机械臂的实际运动轨迹与给定的“8”型轨迹的示意图;
图10为本申请实施例提供的给定“8”型运动轨迹时机械臂的关节1的实际运动轨迹、关节1的给定运动轨迹、以及关节1的运动误差的示意图;
图11为本申请实施例提供的给定“8”型运动轨迹时机械臂的关节2的实际运动轨迹、关节2的给定运动轨迹、以及关节2的运动误差的示意图;
图12为本申请实施例提供的给定“8”型运动轨迹时机械臂的关节1和关节2的实际输入力矩随时间变化的示意图;
图13为本申请实施例提供的给定“8”型运动轨迹时机械臂的关节1的补偿力矩和关节2的补偿力矩随时间变化的示意图;
图14为本申请实施例提供的一种机械臂的运动控制方法的流程图;
图15为本申请实施例提供的一种确定机械臂的每个关节的补偿力矩的方法流程图;
图16为本申请实施例提供的一种机械臂的运动控制装置的结构示意图;
图17为本申请实施例提供的一种用于实现机械臂的运动控制方法的电子设备的硬件结构示意图。
具体实施方式
为了解决现有技术中存在的对机械臂的控制准精度比较低的问题,本申请实施例提供了一种机械臂的运动控制方法及装置。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
机器臂,也称作机械手、多关节机械臂,是依靠自身动力执行单一任务或多任务的一种机器人,是集自动控制、电力电子技术、仿生学等多学科交融的设备。机械臂在建筑业、农业、工业、医学、空间应用、军事领域均得到了广泛应用。
在控制机械臂执行任务时,需对机械臂的运动状态进行重构,以使机械臂末端的姿态位置实现定位或者轨迹跟踪。面对复杂的操作环境、苛刻的精度要求、高实时性应用要求,机械臂的控制算法必须具备良好的稳定性、可靠性、实时性、强抗干扰能力以及较高的控制精度。但机械臂是一个多变量、高度非线性、强耦合的复杂系统,且该系统存在不确定时变、内部摩擦、参数摄动、外部环境干扰以及重力场等因素的影响,因此,想要准确地对机械臂进行动力学分析和控制算法设计比较困难。
图1为相关技术中采用的典型的机械臂的运动控制框图,其中,q、
Figure BDA0002620855330000082
分别为机械臂中各关节的实际角位移和实际角速度,且q、
Figure BDA0002620855330000081
均由传感器实时测量得到;qd
Figure BDA0002620855330000083
为机械臂中各关节的给定角位移和给定角速度,e为实际角位移与给定角位移之间的误差,τ为输入力矩。
在机械臂的轨迹跟踪控制中,控制效果、实时性、可靠稳定占据着控制算法的核心地位。控制算法的控制效果和精度又很大程度决定了机械臂的跟踪效果和安全性。相关技术中的控制算法如比例积分微分(Proportion、Integral、Differential,PID)算法、反步法、模糊控制算法存在以下不足:
(1)机械臂的建模必然存在着结构上的和非结构上的不确定性,非结构上的不确定性主要由测量误差、参数摄动、内部摩擦、高阶动力学特性等自身因素引起。难以对机械臂进行精确建模,为后续的控制算法设计也带来了困难。
(2)机械臂对自身的状态变化较为敏感,系统实时性要求较高,因此,对控制算法设计的实时性、工程化实现等具有严格的要求。
(3)机械臂是一个多输入多输出的复杂非线性系统,不但受外部因素如环境干扰、重力场变化等影响,而且受内部因素如参数时变滞后、摩擦等影响。因此,对于设计的控制算法的合理性、控制算法保证系统的稳定性、控制算法的抗干扰能力,都有较高要求。
现有研究的不足主要体现在以下几个方面:
(1)对机械臂的轨迹跟踪控制设计采用线性控制算法,而线性算法忽略了系统的强耦合等不确定性,适用于在给定的、单一的平衡点执行单一任务,难以保证机械臂在高速、多轨迹任务条件下的控制效果。
(2)对机械臂的轨迹跟踪控制设计采用非线性控制算法,如模糊控制、反步法等。由于模糊控制要针对系统的非线性因素制定模糊规则,需调节的控制参数的量比较大,较难实现工程化;而反步法会在系统内引入多次微分运算,增大了系统的运算量,也较难实现工程化。
(3)目前采用的PID控制或模糊控制都无法准确对机械臂轨迹跟踪控制系统的稳定性做出有效的理论分析。
鉴于相关技术中的难点或缺点,为了改善现有的机械臂的控制算法设计、模型建立、以及不确定时变、内部摩擦、参数摄动、外部环境干扰以及重力场等因素对轨迹跟踪控制品质的影响,本申请提供一种非线性控制方案,该方案主要包括:
①在依据基于力学运动的牛顿-欧拉法推导得到的机械臂的拉格朗日模型基础上,建模时考虑未建模动态、不确定时变、内部摩擦、参数摄动、外部环境干扰以及重力场等内、外因素对轨迹跟踪控制品质的影响。
②依据系统非线性数学模型,设计一种基于神经网络前馈的滑模变结构非线性控制算法,使机械臂实现精确定位或轨迹跟踪。
③依据控制系统稳定性分析理论,采用基于李雅普诺夫Lyapunov稳定性分析方法,证明设计的非线性控制算法能够使机械臂轨迹跟踪控制收敛、稳定。
④为验证本申请实施例设计的非线性算法的控制效果,搭建了基于Matlab/Simulink的机械臂动力学模型,分别设计椭圆轨迹和“8”型轨迹进行仿真试验研究。
本申请实施例的主要创新点在于:
①设计控制算法时充分考虑了未建模动态、不确定时变、内部摩擦、参数摄动、外部环境干扰以及重力场等内、外因素对控制品质的影响;
②通过设计神经网络前馈控制,对机械臂的建模等不确定性内、外因素进行了部分补偿,同时减轻了滑模控制中的抖振现象,并采用滑模控制算法增强系统的鲁棒性,采用双曲正切函数tanh(e)替代滑模控制算法中的符号函数sign(e),以进一步降低系统抖振,同时避免因使用sign(e)带来的稳定性分析问题。
③设计的基于神经网络前馈控制的机械臂的滑模变结构非线性控制算法,使机械臂实现精确定位或轨迹跟踪,并采用基于Lyapunov理论分析证明方法证明本申请实施例设计的非线性控制算法能够使闭环系统快速稳定,并通过仿真实验平台进行仿真验证。
图2是本申请实施例提供的一种基于神经网络前馈控制的机械臂滑模变结构轨迹跟踪控制的控制框图,其中,q、
Figure BDA0002620855330000105
分别为机械臂中各关节的实际角位移和实际角速度,且由传感器实时测量得到;qd
Figure BDA0002620855330000106
分别为机械臂中各关节的给定角位移和给定角速度,e为实际角位移与给定角位移之间的误差,τ为输入力矩,G(q)为重力项矢量,
Figure BDA0002620855330000107
为摩擦力矢量,τd为系统内部扰动,f(t)表示未建模的不确定项和外部随机扰动项。
为了后续证明方便,定义:
tanh(e)=[tanh(e1),tanh(e2),tanh(e3)...]T,
sign(e)=[sign(e1),sign(e2),sign(e3)...]T,
cosh(e)=[cosh(e1),cosh(e2),cosh(e3)...]T,
其中,ei为机械臂中第i个关节的误差。
同时具有不等关系式:
||tanh(e)||≤||e||, (1)
Figure BDA0002620855330000101
tanh2(||e||)≤||tanh(e)||2≤eTtanh(e), (3)
Figure BDA0002620855330000102
1、机械臂的动力学模型介绍。
机械臂的动力学模型表达式为:
Figure BDA0002620855330000103
Figure BDA0002620855330000104
其中,q、
Figure BDA0002620855330000111
分别为机械臂中各关节的角位移、角速度和角加速度,均为系统状态向量;M(q)∈Rn×n为惯性矩阵,
Figure BDA0002620855330000118
为离心力和科氏力矩阵,G(q)∈Rn为重力项矢量,
Figure BDA0002620855330000112
为摩擦力矢量,τd∈Rn表示系统内部扰动,f(t)∈Rn表示动力学模型的不确定项和外部随机扰动项,
Figure BDA0002620855330000113
ΔG0(q)表示相应的建模误差,σ(t)∈Rn为外部随机扰动,τ∈Rn为输入力矩,n为机械臂包含的关节数,即系统阶数。Rn×n代表n行n列的实数矩阵,Rn代表n行1列的实数矩阵。
并且,上述动力学模型具有如下性质:
性质一:矩阵M(q)正定对称,且满足:
Figure BDA0002620855330000114
其中,Φ1和Φ2为未知的正常数。
性质二:
Figure BDA0002620855330000115
2、基于神经网络前馈控制的滑模控制算法设计。
假设给定运动轨迹为:qd(t)=[q1d(t),q2d(t),q3d(t)......]T∈Rn,且有qd(t)、
Figure BDA0002620855330000116
其中,qid(t)表示机械臂中第i个关节的给定角位移随时间的变化关系,L代表有界数列空间。
定义轨迹运动误差为:
e=qd-q, (6)
其中,e=[e1,e2,e3....]T,ei=qid-qi,表示机械臂中第i个关节的运动误差。为书写方便,后续书写变量均不带时间t,如将e(t)直接写为e。
定义滤波误差信号r:
Figure BDA0002620855330000117
式(7)中,α=diag(α123.....),为预先确定的n*n的对角矩阵,αi代表机械臂中第i个关节的控制增益,且αi为正数,
Figure BDA0002620855330000121
是e=[e1,e2,e3....]T关于时间的一阶导数,r=[r1,r2,r3....]T,ri为机械臂中第i个关节的滤波误差信号。
根据式(7)的结构可知,r(t)与e(t)及
Figure BDA00026208553300001213
有关,因此,r(t)与e(t)具有相同的收敛性。
对式(7)求一阶导数,有:
Figure BDA0002620855330000122
式(8)中,
Figure BDA0002620855330000123
为r(t)关于时间的一阶导数,
Figure BDA0002620855330000124
为e(t)关于时间的二阶导数。
将式(5)-式(7)带入式(8)有:
Figure BDA0002620855330000125
将式(9)化简,可以得到以下开环系统:
Figure BDA0002620855330000126
其中:
Figure BDA0002620855330000127
Figure BDA0002620855330000128
其中,N∈Rn和N1∈Rn为定义的矩阵函数,N1中包含了动力学模型的不确定项和外部随机扰动项f(t),重力项矢量G(q),摩擦力矢量
Figure BDA0002620855330000129
系统内部扰动τd,以及与运动误差e。而无论外部扰动、内部扰动、重力矢量、摩擦力矢量为多少,它们对机械臂的影响最终都反应在运动误差上。
为了实现未知矩阵函数N∈Rn对机械臂的运动影响的补偿,本申请实施例使用神经网络前馈控制来对未知矩阵函数N∈Rn所产生的误差部分进行补偿。
定义矩阵函数Nd∈Rn
Figure BDA00026208553300001210
其中,
Figure BDA00026208553300001211
存在未知的常数ξ0,ξ1使得
Figure BDA00026208553300001212
成立,即未知矩阵函数N∈Rn和定义的矩阵函数Nd∈Rn之间相差一个有界常数,而未知矩阵函数Nd可以用理想的神经网络去逼近,则有Nd=[Nd1,Nd2,Nd3...]T,其中,Nd(即理想的神经网络)可以设计为:
Ndi=Wi Tσ(Vi Txi)+0(xi), (11)
其中,i=1、2、3...n,xi为神经网络的输入,表示下一时刻第i个关节的给定运动状态,比如,
Figure BDA0002620855330000131
qid表示下一时刻第i个关节的给定角位移,
Figure BDA0002620855330000132
表示下一时刻第i个关节的给定角速度,
Figure BDA0002620855330000133
表示下一时刻第i个关节的给定角加速度,Wi∈Rp×1为神经网络的输出层参数,Vi∈R4×p为神经网络的输入层参数,0(xi)为估计误差,σ(*)为激励函数,p为神经网络中的神经元个数。
忽略估计误差0(xi),Nd(实际的神经网络)可以设计为:
Figure BDA0002620855330000134
其中,
Figure BDA0002620855330000135
为对Wi的估计,
Figure BDA0002620855330000136
为预先选取的常数矩阵,并且,可设计
Figure BDA0002620855330000137
的自适应规律为:
Figure BDA0002620855330000138
其中,w1i,w2i分别为下一时刻第i个关节的第一滤波误差和第二滤波误差,σ(*)为激励函数,sat(*)为饱和函数,λ1i2i∈R为预先确定的正常数,Γ∈Rp×p为预先确定的正定对角矩阵。
实际应用中,未建模动态、不确定时变、内部摩擦、参数摄动、外部环境干扰以及重力场等内、外因素对控制品质的影响,最终均反映在运动误差上,因此,本申请实施例提出采用神经网络前馈控制对未知矩阵函数N∈Rn引入的误差进行补偿,即通过对期望输入力矩进行调节来补偿这些因素所引入的运动误差,其中,第i个关节对应的神经网络以
Figure BDA0002620855330000141
为输入,且神经网络的输出层权值
Figure BDA0002620855330000142
可采用与运动误差ei相关的自适应律去逼近。
具体地,神经网络的逼近过程为:
将ei代入公式(13)-③中,可以算出w2i
将ei和w2i代入公式(13)-②中,可以算出w1i
将ei、w1i和xi代入公式(13)-①中,可以算出
Figure BDA0002620855330000143
将xi
Figure BDA0002620855330000144
代入公式(12)中,可以计算出
Figure BDA0002620855330000145
综上,在计算
Figure BDA0002620855330000146
的过程中不需要任何的训练过程,采用有界的神经网络前馈控制去逼近未知项,而且
Figure BDA0002620855330000147
可随ei自适应变化,可使计算出的
Figure BDA0002620855330000148
对系统时变参数、时变结构以及系统阶数变化等不确定因素不敏感,进而提升最终的控制效果。
具体实施时,对开环系统(10),可以设计如下控制算法:
Figure BDA0002620855330000149
其中,kp=diag(kp1,kp2,kp3...),kv=diag(kv1,kv2,kv3...),bv=diag(bv1,bv2,bv3...),且kpi、kvi和bvi均为预先确定的正常数。
本申请实施例中,在设计公式(14)中的控制算法时,用连续函数tanh()替代不连续函数sign(),可以有效降低机械臂系统的抖振,并且,采用神经网络前馈对未考虑入机械臂的动力学模型的不确定因素所带来的误差进行了部分补偿,可进一步降低机械臂的抖振,亦利于使控制算法全局稳定。
另外,从公式(14)可以看出,本申请实施例设计的控制算法需要调节的控制增益仅有kp、kv和bv,参数调节量比较小、工程实现结构比较简单,因此,工程化难度比较低。
将公式(12)-公式(14)代入公式(10)中,可得以下闭环系统:
Figure BDA00026208553300001410
为保证设计的控制算法能够在各种跟踪轨迹下均可用有限力矩实现,下面对设计的控制算法进行稳定性分析。
3、稳定性分析
定理1对于开环系统(10),设计公式(14)的控制算法,对于任意初始状态,当t→∞时,闭环系统中所有信号均是有界的,系统是全局稳定的。
证设计Lyapunov函数为:
Figure BDA0002620855330000151
对式(16)求一阶导数,将性质二、公式(3)的变形
Figure BDA0002620855330000152
rTe=eTr,以及公式(15)代入可得:
Figure BDA0002620855330000153
由式(17)可以看出,A,B,C>0是恒成立的。
进一步地,假设
Figure BDA0002620855330000154
成立,λmin(bv)表示矩阵bv的最小特征值,式(17)中D<0恒成立,将
Figure BDA0002620855330000155
代入,有:
Figure BDA0002620855330000156
公式(18)整理可得:
Figure BDA0002620855330000157
其中,x=[||e||,||r||]T,
Figure BDA0002620855330000161
为保证式(19)成立,则问题就转化为Q矩阵的正定性证明。
对于常数矩阵,当
Figure BDA0002620855330000162
Q矩阵是正定的。
定义新状态变量y=[eT,rT]T∈R2n×1,结合性质一、不等式(2)、公式(19)可以得到:
Figure BDA0002620855330000163
λ12为存在的常正数。
至此,定理1证毕。
本申请实施例设计的基于神经网络前馈的滑模控制算法(14),能够采用Lyapunov的分析方法(16)证明所设计的控制算法能够实现闭环系统全局稳定,符合实际工程应用情况。
4、实验验证分析
为了验证本申请实施例设计的基于神经网络前馈的滑模控制算法的控制效果,采用两关节机械臂模型进行仿真验证,分别设计椭圆轨迹和“8”型轨迹进行仿真研究。
具体模型参数为:机械臂底座重量为m1=3.473kg,关节1的重量为m2=0.193kg,关节2的重量为m3=0.242kg,则:
Figure BDA0002620855330000164
Figure BDA0002620855330000165
椭圆轨迹跟踪控制仿真试验。
假设给定轨迹为:
Figure BDA0002620855330000171
图3为机械臂的实际运动轨迹与给定的椭圆运动轨迹的示意图,可以看出,实际运动轨迹与给定的椭圆运动轨迹基本重合;图4为关节1的实际运动轨迹、关节1的给定运动轨迹、以及关节1的运动误差随时间变化的示意图,可以看出,关节1可在3秒内实现轨迹跟踪,跟踪速度比较快;图5为关节2的实际运动轨迹、关节2的给定运动轨迹、以及关节2的运动误差随时间变化的示意图,可以看出,关节2在2秒内实现快速轨迹跟踪;图6为关节1和关节2的运动误差的比对示意图,可以看出,关节1的运动误差在4×10-4rad以内,关节2的运动误差在1×10-3rad以内,都比较小;图7为关节1和关节2的实际输入力矩随时间变化的示意图,可以看出,关节1和关节2的实际输入力矩均有界且平滑;图8为关节1的补偿力矩和关节2的补偿力矩随时间变化的示意图。
“8”型轨迹跟踪控制仿真试验
假设给定轨迹为:
qd(t)=[0.5sin(2t)+0.3sin(t),1+sin(2t)]T (22)
图9为机械臂的实际运动轨迹与给定的“8”型轨迹的示意图,可以看出,实际运动轨迹与给定的“8”型运动轨迹基本重合;图10为关节1的实际运动轨迹、关节1的给定运动轨迹、以及关节1的运动误差随时间变化的示意图,从图中可以看出,关节1的运动误差在4×10-3rad以内;图11为关节2的实际运动轨迹、关节2的给定运动轨迹、以及关节2的运动误差随时间变化的示意图,从图中可以看出,关节2的运动误差在3×10-3rad以内;图12为关节1和关节2的实际输入力矩随时间变化的示意图;图13为关节1的补偿力矩和关节2的补偿力矩随时间变化的示意图。
本申请实施例提供的技术方案的有益效果:
精确建模:在牛顿-欧拉法推导的多关节机械臂的拉格朗日动力学模型基础上,建模时考虑了未建模动态、不确定的时变、内部摩擦、参数摄动、外部环境干扰以及重力场等内、外因素对轨迹跟踪控制品质的影响,本申请实施例中机械臂的最高阶数可以为二阶,以避免动力学模型阶数高、参数多等弊端。
实时性:机械臂对自身状态变化较为敏感,系统实时性要求较高,本申请实施例采用神经网络前馈控制的方式来对机械臂的不确定性进行部分补偿,同时采用滑模控制方法减轻滑模控制中的抖振现象,提高系统的稳定性、鲁棒性以及实时性。实验结果亦表明,本申请实施例设计的非线性控制算法,可以使闭环系统3s内快速稳定。
稳定性:采用Lyapunov的分析方法证明所设计的基于神经网络前馈的滑模控制算法能够实现闭环系统的全局稳定,同时具有有界的输入输出稳定性等特征,这样对系统的输入能量做了限制,克服了以往控制输入能量无限制的缺陷,符合实际工程应用。另外,在仿真试验验证中,增加大角度干扰验证系统的鲁棒性,从试验结果来看,设计的控制算法变现出了较好的控制性能。
本申请实施例设计的控制算法的工程实现结构简单、参数调节量小、易于工程化、模块化实现,控制算法的实现过程中不需要任何的训练过程,采用有界的神经网络前馈去逼近,对系统时变参数、时变结构以及系统阶数变化等不确定因素不敏感,这样可避免常见的控制参数估计无限大,控制输入能量无限大的弊端。
图14为本申请实施例提供的一种机械臂的运动控制方法的流程图,包括以下步骤:
S1401:在按照预设的轨迹控制算法控制机械臂的n个关节按照各自的给定轨迹运动的过程中,若确定满足设定的误差获取条件,则获取当前时刻各关节的运动误差。
其中,n为大于零的整数,设定的误差获取条件如每隔预设时长、每隔预设运动距离等。
具体实施时,传感器可以实时测量机械臂的n个关节中每个关节的实际运动位置,因此,当确定满足设定的误差获取条件时,可从传感器获取当前时刻各关节中的实际运动位置,进而计算各关节的实际运动位置与各自的给定运动位置之间的运动误差。
需要说明的是,每个关节的运动误差除了包括该关节的角位移误差,还可以包括该关节的角速度误差、角加速度误差。具体选择哪些信息作为该关节的运动误差由技术人员根据实际需求确定。
S1402:确定下一时刻各关节的实际输入力矩,其中,根据轨迹控制算法和每个关节的运动误差,计算下一时刻该关节的期望输入力矩,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,利用下一时刻该关节的补偿力矩对下一时刻该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩,神经网络模型是对控制该关节按照轨迹样本运动时该关节的给定运动状态与补偿力矩之间的关系特征进行学习得到的。
假设机械臂的动力学模型为:
Figure BDA0002620855330000191
Figure BDA0002620855330000192
其中,q、
Figure BDA0002620855330000193
分别为机械臂中各关节的角位移、角速度和角加速度,均为系统状态向量;M(q)∈Rn×n为惯性矩阵,
Figure BDA0002620855330000194
为离心力和科氏力矩阵,G(q)∈Rn为重力项矢量,
Figure BDA0002620855330000195
为摩擦力矢量,τd∈Rn为系统内部扰动,f(t)∈Rn为动力学模型的不确定项和外部随机扰动项,
Figure BDA0002620855330000196
ΔG0(q)表示相应的建模误差,σ(t)∈Rn为外部随机扰动,τ∈Rn为输入力矩,n为机械臂包含的关节数,即系统阶数。Rn×n代表n行n列的实数矩阵,Rn代表n行1列的实数矩阵。
具体实施时,在忽略上述动力学模型中的不确定项和外部随机扰动项f(t)∈Rn时,可以根据如下公式计算下一时刻各关节的期望输入力矩:
τ=kptanh(e)+kvtanh(r)+bvsign(e),
Figure BDA0002620855330000201
其中:τ为n*1的向量,τ中的第i个元素τi表示下一时刻第i个关节的期望输入力矩,α、kp、kv和bv均为预先确定的n*n的对角矩阵,且α、kp、kv和bv中的元素均为非负数,e为n*1的向量,e中的第i个元素ei表示第i个关节的运动误差,1≤i≤n。
上述公式所示的轨迹控制算法是一种可增强鲁棒性的滑模控制算法,并且,该轨迹控制算法中用双曲正切函数tanh()替代了滑模控制算法中的符号函数sing(),以削弱控制抖振,也利于避免因使用sing()带来的稳定性分析难的问题。另外,该轨迹控制算法需要调节的控制增益仅有kp、kv和bv,实际工程实现过程中参数调节量比较小,因此,工程化难度也比较低。
进一步,利用每个关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩。
假设给定运动轨迹为:qd(t)=[q1d(t),q2d(t),q3d(t)......]T∈Rn,且有qd(t)、
Figure BDA0002620855330000202
其中,qid(t)表示机械臂中第i个关节的给定角位移随时间的变化关系,L代表有界数列空间。
定义轨迹运动误差为:
e=qd-q,(6)
其中,e=[e1,e2,e3....]T,ei=qid-qi,表示机械臂中第i个关节的运动误差。
定义滤波误差信号r:
Figure BDA0002620855330000203
式(7)中,α=diag(α123.....),为预先确定的n*n的对角矩阵,αi代表机械臂中第i个关节的控制增益,且αi为正数,
Figure BDA0002620855330000204
是e=[e1,e2,e3....]T关于时间的一阶导数,r=[r1,r2,r3....]T,ri为机械臂中第i个关节的滤波误差信号。
根据式(7)的结构可知,r(t)与e(t)及
Figure BDA0002620855330000205
有关,因此,r(t)与e(t)具有相同的收敛性。
对式(7)求一阶导数,有:
Figure BDA0002620855330000211
式(8)中,
Figure BDA0002620855330000212
为r(t)关于时间的一阶导数,
Figure BDA0002620855330000213
为e(t)关于时间的二阶导数。
将式(5)-式(7)带入式(8)有:
Figure BDA0002620855330000214
将式(9)化简,可以得到以下开环系统:
Figure BDA0002620855330000215
其中:
Figure BDA0002620855330000216
Figure BDA0002620855330000217
其中,N∈Rn和N1∈Rn为定义的矩阵函数,N1中包含了动力学模型的不确定项和外部随机扰动项f(t),重力项矢量G(q),摩擦力矢量
Figure BDA0002620855330000218
系统内部扰动τd,以及与运动误差e。
至此,控制机械臂按照给定轨迹运动的问题演变成为公式(10)所示的开环系统设计可使其稳定收敛的控制算法的问题。
而无论外部扰动、内部扰动、重力矢量、摩擦力矢量为多少,它们对机械臂的影响最终都反应在运动误差上。为了实现未知矩阵函数N∈Rn对机械臂的运动影响的补偿,本申请实施例使用神经网络前馈控制来对未知矩阵函数N∈Rn所产生的误差部分进行补偿。
定义矩阵函数Nd∈Rn
Figure BDA0002620855330000219
其中,
Figure BDA00026208553300002110
存在未知的常数ξ0,ξ1使得
Figure BDA00026208553300002111
成立,即未知矩阵函数N∈Rn和定义的矩阵函数Nd∈Rn之间相差一个有界常数,而未知矩阵函数Nd可以用神经网络去逼近。
比如,使用以下的神经网络去逼近Nd
Figure BDA0002620855330000221
其中,
Figure BDA0002620855330000222
为对Wi的估计,
Figure BDA0002620855330000223
为预先选取的常数矩阵,
Figure BDA0002620855330000224
qid为给定角位移,
Figure BDA0002620855330000225
为给定角速度,
Figure BDA0002620855330000226
为给定角加速度。
为了使计算出的
Figure BDA0002620855330000227
对系统时变参数、时变结构以及系统阶数变化等不确定因素不敏感,
Figure BDA0002620855330000228
还可随ei自适应变化。
比如,设计
Figure BDA0002620855330000229
的自适应规律为:
Figure BDA00026208553300002210
其中,
Figure BDA00026208553300002211
为下一时刻第i个关节对应的神经网络模型的输出层参数,w1i,w2i分别为下一时刻第i个关节的第一滤波误差和第二滤波误差,σ(*)为激励函数,sat(*)为饱和函数,λ1i2i∈R为预先确定的正常数,Γ∈Rp×p为预先确定的正定对角矩阵。
具体实施时,可以按照图15所示的流程,确定下一时刻用于对每个关节的期望输入力矩进行补偿的补偿力矩,该流程包括以下步骤:
S1501a:利用每个关节对应的神经网络模型的输入层参数对下一时刻该关节的给定运动状态进行计算,得到输入层输出结果。
比如,根据公式
Figure BDA00026208553300002212
计算每个关节对应的神经网络模型的输入层输出结果,其中,
Figure BDA00026208553300002213
为该关节对应的神经网络的输入层参数,
Figure BDA00026208553300002214
为下一时刻该关节的给定运动状态,qid为下一时刻该关节的给定角位移,
Figure BDA00026208553300002215
为下一时刻该关节的给定角速度,
Figure BDA00026208553300002216
为下一时刻该关节的给定角加速度。
S1502a:利用该关节对应的神经网络模型的隐含层参数对输入层输出结果进行计算,得到隐含层输出结果。
比如,根据公式
Figure BDA0002620855330000231
计算每个关节对应的神经网络模型的隐含层输出结果,其中,σ(*)为激励函数。
S1503a:根据该关节的运动误差、下一时刻该关节的给定运动状态和预设的用于确定该关节对应的神经网络模型的输出层参数的参数确定算法,计算下一时刻该关节对应的神经网络模型的输出层参数。
具体实施时,可以根据以下公式计算下一时刻第i个关节对应的神经网络模型的输出层参数:
Figure BDA0002620855330000232
其中,
Figure BDA0002620855330000233
为下一时刻第i个关节对应的神经网络模型的输出层参数,w1i,w2i分别为下一时刻第i个关节的第一滤波误差和第二滤波误差,σ(*)为激励函数,sat(*)为饱和函数,λ1i2i均为预先确定的正常数,Γ∈Rp×p为预先确定的正定对角矩阵,p为第i个关节对应的神经网络模型中的神经元个数,ei为当前时刻第i个关节的运动误差,xi为下一时刻第i个关节的给定运动状态,1≤i≤n。
实际应用中,下一时刻第i个关节的给定运动状态可根据该关节的给定运动轨迹确定,比如,下一时刻该关节的给定运动状态为给定运动轨迹中下一时刻该关节的角位移,再比如,下一时刻该关节的给定运动状态为给定运动轨迹中下一时刻该关节的角位移和角速度,再比如,下一时刻该关节的给定运动状态为给定运动轨迹中下一时刻该关节的角位移、角速度和角加速度。具体选择哪种信息作为给定运动状态由技术人员根据实际需求确定。
S1504a:利用隐含层输出结果和计算的输出层参数,计算下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩。
比如,根据以下公式计算下一时刻第i个关节的补偿力矩:
Figure BDA0002620855330000241
其中,
Figure BDA0002620855330000242
为下一时刻第i个关节的补偿力矩。
上述流程中,每个关节对应的神经网络模型的输出层参数随该关节的运动误差自适应变化,该关节的补偿力矩随该关节对应的神经网络模型的输出层参数自适应变化,即,该关节的补偿力矩随该关节的运动误差自适应变化,这样,可使补偿力矩对系统时变参数、时变结构、以及系统阶数变化等不确定因素不敏感,进而提升控制算法的鲁棒性。
需要说明的是,上述S1501-S1502与S1503之间没有严格的先后顺序关系。
进一步地,利用每个关节的补偿力矩对该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩。
比如,可将每个关节的补偿力矩和该关节的期望输入力矩之和,确定为下一时刻该关节的实际输入力矩。
S1403:根据下一时刻各关节的实际输入力矩,控制机械臂运动。
本申请实施例中使用的控制算法的稳定性分析与前述相同,在此不再赘述。
当本申请实施例中提供的方法以软件或硬件或软硬件结合实现的时候,电子设备中可以包括多个功能模块,每个功能模块可以包括软件、硬件或其结合。
图16为本申请实施例提供的一种机械臂的运动控制装置的结构示意图,包括获取模块1601、确定模块1602和控制模块1603。
获取模块1601,用于在按照预设的轨迹控制算法控制机械臂的n个关节按照各自的给定轨迹运动的过程中,若确定满足设定的误差获取条件,则获取当前时刻各关节的运动误差,n为大于零的整数;
确定模块1602,用于确定下一时刻各关节的实际输入力矩,其中,根据所述轨迹控制算法和每个关节的运动误差,计算下一时刻该关节的期望输入力矩,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,所述神经网络模型是对控制该关节按照轨迹样本运动时该关节的给定运动状态与补偿力矩之间的关系特征进行学习得到的,利用下一时刻该关节的补偿力矩对下一时刻该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩;
控制模块1603,用于根据下一时刻各关节的实际输入力矩,控制所述机械臂运动。
在一种可能的实施方式中,确定模块1602具体用于:
利用该关节对应的神经网络模型的输入层参数对下一时刻该关节的给定运动状态进行计算,得到输入层输出结果;利用该关节对应的神经网络模型的隐含层参数对所述输入层输出结果进行计算,得到隐含层输出结果;以及
根据该关节的运动误差、下一时刻该关节的给定运动状态和预设的用于确定该关节对应的神经网络模型的输出层参数的参数确定算法,计算下一时刻该关节对应的神经网络模型的输出层参数;
利用所述隐含层输出结果和计算的输出层参数,计算下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩。
在一种可能的实施方式中,所述确定模块1602具体用于根据以下公式计算下一时刻第i个关节对应的神经网络模型的输出层参数:
Figure BDA0002620855330000251
其中,
Figure BDA0002620855330000252
为下一时刻第i个关节对应的神经网络模型的输出层参数,w1i,w2i分别为下一时刻第i个关节的第一滤波误差和第二滤波误差,σ(*)为激励函数,sat(*)为饱和函数,λ1i2i均为预先确定的正常数,Γ∈Rp×p为预先确定的正定对角矩阵,p为第i个关节对应的神经网络模型中的神经元个数,ei为第i个关节的运动误差,xi为下一时刻第i个关节的给定运动状态,1≤i≤n。
在一种可能的实施方式中,所述确定模块1602具体用于根据以下公式计算下一时刻各关节的期望输入力矩:
τ=kptanh(e)+kvtanh(r)+bvsign(e),
Figure BDA0002620855330000261
其中:τ为n*1的向量,τ中的第i个元素τi表示下一时刻第i个关节的期望输入力矩,α、kp、kv和bv均为预先确定的n*n的对角矩阵,且α、kp、kv和bv中的元素均为非负数,e为n*1的向量,e中的第i个元素ei表示第i个关节的运动误差,1≤i≤n。
在一种可能的实施方式中,所述确定模块1602具体用于:
将该关节的补偿力矩和该关节的期望输入力矩之和,确定为下一时刻该关节的实际输入力矩。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
图17为本申请实施例提供的一种电子设备的结构示意图,该电子设备包括收发器1701以及处理器1702等物理器件,其中,处理器1702可以是一个中央处理单元(centralprocessing unit,CPU)、微处理器、专用集成电路、可编程逻辑电路、大规模集成电路、或者为数字处理单元等等。收发器1701用于电子设备和其他设备进行数据收发。
该电子设备还可以包括存储器1703用于存储处理器1702执行的软件指令,当然还可以存储电子设备需要的一些其他数据,如电子设备的标识信息、电子设备的加密信息、用户数据等。存储器1703可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1703也可以是非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1703是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1703可以是上述存储器的组合。
本申请实施例中不限定上述处理器1702、存储器1703以及收发器1701之间的具体连接介质。本申请实施例在图17中仅以存储器1703、处理器1702以及收发器1701之间通过总线1704连接为例进行说明,总线在图17中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图17中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1702可以是专用硬件或运行软件的处理器,当处理器1702可以运行软件时,处理器1702读取存储器1703存储的软件指令,并在所述软件指令的驱动下,执行前述实施例中涉及的机械臂的运动控制方法。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行前述实施例中涉及的机械臂的运动控制方法。
在一些可能的实施方式中,本申请提供的机械臂的运动控制方法的各个方面还可以实现为一种程序产品的形式,所述程序产品中包括有程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行前述实施例中涉及的机械臂的运动控制方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实施例中用于机械臂的运动控制的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种机械臂的运动控制方法,其特征在于,包括:
在按照预设的轨迹控制算法控制机械臂的n个关节按照各自的给定轨迹运动的过程中,若确定满足设定的误差获取条件,则获取当前时刻各关节的运动误差,n为大于零的整数;
确定下一时刻各关节的实际输入力矩,其中,根据所述轨迹控制算法和每个关节的运动误差,计算下一时刻该关节的期望输入力矩,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,所述神经网络模型是对控制该关节按照轨迹样本运动时该关节的给定运动状态与补偿力矩之间的关系特征进行学习得到的,利用下一时刻该关节的补偿力矩对下一时刻该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩;
根据下一时刻各关节的实际输入力矩,控制所述机械臂运动;
利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,包括:
利用该关节对应的神经网络模型的输入层参数对下一时刻该关节的给定运动状态进行计算,得到输入层输出结果;利用该关节对应的神经网络模型的隐含层参数对所述输入层输出结果进行计算,得到隐含层输出结果;以及
根据该关节的运动误差、下一时刻该关节的给定运动状态和预设的用于确定该关节对应的神经网络模型的输出层参数的参数确定算法,计算下一时刻该关节对应的神经网络模型的输出层参数;
利用所述隐含层输出结果和计算的输出层参数,计算下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩。
2.如权利要求1所述的方法,其特征在于,根据以下公式计算下一时刻第i个关节对应的神经网络模型的输出层参数:
Figure FDA0003310725640000021
其中,
Figure FDA0003310725640000022
为下一时刻第i个关节对应的神经网络模型的输出层参数,w1i,w2i分别为下一时刻第i个关节的第一滤波误差和第二滤波误差,σ(*)为激励函数,sat(*)为饱和函数,λ1i2i均为预先确定的正常数,Γ∈Rp×p为预先确定的正定对角矩阵,p为第i个关节对应的神经网络模型中的神经元个数,ei为第i个关节的运动误差,xi为下一时刻第i个关节的给定运动状态,1≤i≤n。
3.如权利要求1或2所述的方法,其特征在于,根据以下公式计算下一时刻各关节的期望输入力矩:
τ=kptanh(e)+kvtanh(r)+bvsign(e),
Figure FDA0003310725640000023
其中:τ为n*1的向量,τ中的第i个元素τi表示下一时刻第i个关节的期望输入力矩,α、kp、kv和bv均为预先确定的n*n的对角矩阵,且α、kp、kv和bv中的元素均为非负数,e为n*1的向量,e中的第i个元素ei表示第i个关节的运动误差,1≤i≤n。
4.如权利要求1所述的方法,其特征在于,利用该关节的补偿力矩对该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩,包括:
将该关节的补偿力矩和该关节的期望输入力矩之和,确定为下一时刻该关节的实际输入力矩。
5.一种机械臂的运动控制装置,其特征在于,包括:
获取模块,用于在按照预设的轨迹控制算法控制机械臂的n个关节按照各自的给定轨迹运动的过程中,若确定满足设定的误差获取条件,则获取当前时刻各关节的运动误差,n为大于零的整数;
确定模块,用于确定下一时刻各关节的实际输入力矩,其中,根据所述轨迹控制算法和每个关节的运动误差,计算下一时刻该关节的期望输入力矩,利用该关节对应的神经网络模型和下一时刻该关节的给定运动状态,确定下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩,所述神经网络模型是对控制该关节按照轨迹样本运动时该关节的给定运动状态与补偿力矩之间的关系特征进行学习得到的,利用下一时刻该关节的补偿力矩对下一时刻该关节的期望输入力矩进行补偿,得到下一时刻该关节的实际输入力矩;
控制模块,用于根据下一时刻各关节的实际输入力矩,控制所述机械臂运动;
所述确定模块具体用于:
利用该关节对应的神经网络模型的输入层参数对下一时刻该关节的给定运动状态进行计算,得到输入层输出结果;利用该关节对应的神经网络模型的隐含层参数对所述输入层输出结果进行计算,得到隐含层输出结果;以及
根据该关节的运动误差、下一时刻该关节的给定运动状态和预设的用于确定该关节对应的神经网络模型的输出层参数的参数确定算法,计算下一时刻该关节对应的神经网络模型的输出层参数;
利用所述隐含层输出结果和计算的输出层参数,计算下一时刻用于对该关节的期望输入力矩进行补偿的补偿力矩。
6.如权利要求5所述的装置,其特征在于,所述确定模块具体用于根据以下公式计算下一时刻第i个关节对应的神经网络模型的输出层参数:
Figure FDA0003310725640000031
其中,
Figure FDA0003310725640000032
为下一时刻第i个关节对应的神经网络模型的输出层参数,w1i,w2i分别为下一时刻第i个关节的第一滤波误差和第二滤波误差,σ(*)为激励函数,sat(*)为饱和函数,λ1i2i均为预先确定的正常数,Γ∈Rp×p为预先确定的正定对角矩阵,p为第i个关节对应的神经网络模型中的神经元个数,ei为第i个关节的运动误差,xi为下一时刻第i个关节的给定运动状态,1≤i≤n。
7.如权利要求5或6所述的装置,其特征在于,所述确定模块具体用于根据以下公式计算下一时刻各关节的期望输入力矩:
τ=kptanh(e)+kvtanh(r)+bvsign(e),
Figure FDA0003310725640000041
其中:τ为n*1的向量,τ中的第i个元素τi表示下一时刻第i个关节的期望输入力矩,α、kp、kv和bv均为预先确定的n*n的对角矩阵,且α、kp、kv和bv中的元素均为非负数,e为n*1的向量,e中的第i个元素ei表示第i个关节的运动误差,1≤i≤n。
8.如权利要求5所述的装置,其特征在于,所述确定模块具体用于:
将该关节的补偿力矩和该关节的期望输入力矩之和,确定为下一时刻该关节的实际输入力矩。
9.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-4任一所述的方法。
10.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-4任一所述的方法。
CN202010782836.7A 2020-08-06 2020-08-06 一种机械臂的运动控制方法及装置 Active CN112077839B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010782836.7A CN112077839B (zh) 2020-08-06 2020-08-06 一种机械臂的运动控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010782836.7A CN112077839B (zh) 2020-08-06 2020-08-06 一种机械臂的运动控制方法及装置

Publications (2)

Publication Number Publication Date
CN112077839A CN112077839A (zh) 2020-12-15
CN112077839B true CN112077839B (zh) 2022-03-22

Family

ID=73735284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010782836.7A Active CN112077839B (zh) 2020-08-06 2020-08-06 一种机械臂的运动控制方法及装置

Country Status (1)

Country Link
CN (1) CN112077839B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113219825B (zh) * 2021-03-26 2023-04-25 齐鲁工业大学 一种四足机器人单腿轨迹跟踪控制方法及系统
CN114601451A (zh) * 2021-04-09 2022-06-10 长春工业大学 一种基于表面肌电信号的上肢外骨骼机器人控制方法
CN113197752B (zh) * 2021-04-30 2023-05-05 华中科技大学 一种上肢康复机器人的肢体重力动态补偿方法
CN113561187B (zh) * 2021-09-24 2022-01-11 中国科学院自动化研究所 机器人控制方法、装置、电子设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090092584A (ko) * 2008-02-27 2009-09-01 동아대학교 산학협력단 이족 보행을 위한 인간형 로봇의 최적 궤적 생성 방법
CN104527994A (zh) * 2015-01-21 2015-04-22 哈尔滨工业大学 异面交叉快变轨道固定时间稳定姿态指向跟踪控制方法
CN104589349A (zh) * 2015-01-16 2015-05-06 西北工业大学 一种混合悬浮微重力环境下带有单关节机械臂的组合体自主控制方法
CN105173606A (zh) * 2015-07-27 2015-12-23 江苏大学 混联式汽车电泳涂装输送机构的复合动力学控制系统与方法
CN105196294A (zh) * 2015-10-29 2015-12-30 长春工业大学 采用位置测量的可重构机械臂分散控制系统及控制方法
CN106313044A (zh) * 2016-09-20 2017-01-11 华南理工大学 一种工业机器人前馈力矩补偿方法
CN108381529A (zh) * 2018-05-28 2018-08-10 上海优尼斯工业服务有限公司 一种工业机械臂的人机协作示教方法
CN108994837A (zh) * 2018-08-20 2018-12-14 哈工大机器人(合肥)国际创新研究院 一种动力学补偿的机械臂零力平衡控制方法
CN109927032A (zh) * 2019-03-28 2019-06-25 东南大学 一种基于高阶滑模观测器的机械臂轨迹跟踪控制方法
CN110238850A (zh) * 2019-06-13 2019-09-17 北京猎户星空科技有限公司 一种机器人控制方法及装置
CN110569588A (zh) * 2019-08-29 2019-12-13 华中科技大学 一种基于前馈神经网络的工业机器人整机性能预估方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090092584A (ko) * 2008-02-27 2009-09-01 동아대학교 산학협력단 이족 보행을 위한 인간형 로봇의 최적 궤적 생성 방법
CN104589349A (zh) * 2015-01-16 2015-05-06 西北工业大学 一种混合悬浮微重力环境下带有单关节机械臂的组合体自主控制方法
CN104527994A (zh) * 2015-01-21 2015-04-22 哈尔滨工业大学 异面交叉快变轨道固定时间稳定姿态指向跟踪控制方法
CN105173606A (zh) * 2015-07-27 2015-12-23 江苏大学 混联式汽车电泳涂装输送机构的复合动力学控制系统与方法
CN105196294A (zh) * 2015-10-29 2015-12-30 长春工业大学 采用位置测量的可重构机械臂分散控制系统及控制方法
CN106313044A (zh) * 2016-09-20 2017-01-11 华南理工大学 一种工业机器人前馈力矩补偿方法
CN108381529A (zh) * 2018-05-28 2018-08-10 上海优尼斯工业服务有限公司 一种工业机械臂的人机协作示教方法
CN108994837A (zh) * 2018-08-20 2018-12-14 哈工大机器人(合肥)国际创新研究院 一种动力学补偿的机械臂零力平衡控制方法
CN109927032A (zh) * 2019-03-28 2019-06-25 东南大学 一种基于高阶滑模观测器的机械臂轨迹跟踪控制方法
CN110238850A (zh) * 2019-06-13 2019-09-17 北京猎户星空科技有限公司 一种机器人控制方法及装置
CN110569588A (zh) * 2019-08-29 2019-12-13 华中科技大学 一种基于前馈神经网络的工业机器人整机性能预估方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《基于RBF 神经网络的空间机械臂关节空间轨迹跟踪补偿控制》;唐晓腾等;《闽江学院学报》;20110331;第32卷(第2期);第34-37页 *
《机械臂关节空间轨迹的神经网络滑模跟踪控制》;裴红蕾;《制造技术与机床》;20200531(第5期);第43-48页 *
唐晓腾等.《基于RBF 神经网络的空间机械臂关节空间轨迹跟踪补偿控制》.《闽江学院学报》.2011,第32卷(第2期), *

Also Published As

Publication number Publication date
CN112077839A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
CN112077839B (zh) 一种机械臂的运动控制方法及装置
Kim et al. Neural network output feedback control of robot manipulators
Sun et al. Neural network-based adaptive controller design of robotic manipulators with an observer
Fei et al. Adaptive control of MEMS gyroscope using global fast terminal sliding mode control and fuzzy-neural-network
Qi et al. Stable indirect adaptive control based on discrete-time T–S fuzzy model
Jung et al. Nonlinear model predictive control for the swing-up of a rotary inverted pendulum
Shakhovska et al. The neurocontroller for satellite rotation
Yang et al. Neural network dynamic surface position control of n‐joint robot driven by PMSM with unknown load observer
Zhang et al. Low-level control technology of micro autonomous underwater vehicle based on intelligent computing
Jia et al. Improved dynamic parameter identification method relying on proprioception for manipulators
Zhou et al. An improved cerebellar model articulation controller based on the compound algorithms of credit assignment and optimized smoothness for a three-axis inertially stabilized platform
Liu et al. Physics‐Informed Neural Networks to Model and Control Robots: A Theoretical and Experimental Investigation
Arshad et al. Deep Deterministic Policy Gradient to Regulate Feedback Control Systems Using Reinforcement Learning.
Corradini et al. Robust control of robot arms via quasi sliding modes and neural networks
Xu et al. Adaptive learning control of robot manipulators via incremental hybrid neural network
Kanarachos Design of an intelligent feed forward controller system for vehicle obstacle avoidance using neural networks
Sai et al. Adaptive local approximation neural network control based on extraordinariness particle swarm optimization for robotic manipulators
Singh et al. Adaptive control for non-linear systems using artificial neural network and its application applied on inverted pendulum
Gao et al. Receding horizon tracking control for wheeled mobile robots with time-delay
Ma et al. Model free position-force control of environmental constrained reconfigurable manipulators based on adaptive dynamic programming
Sahu et al. Vision‐based tip position tracking control of two‐link flexible manipulator
CN116047888A (zh) 一种基于bp神经网络pid的自平衡车的控制方法
CN113419433B (zh) 一种自平衡电动轮椅欠驱动系统跟踪控制器的设计方法
Malikopoulos et al. A real-time computational learning model for sequential decision-making problems under uncertainty
Yuqi et al. Time-varying parameters estimation with adaptive neural network EKF for missile-dual control system

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