CN113858204B - 一种冗余机械臂的追踪控制方法、装置及介质 - Google Patents
一种冗余机械臂的追踪控制方法、装置及介质 Download PDFInfo
- Publication number
- CN113858204B CN113858204B CN202111216835.7A CN202111216835A CN113858204B CN 113858204 B CN113858204 B CN 113858204B CN 202111216835 A CN202111216835 A CN 202111216835A CN 113858204 B CN113858204 B CN 113858204B
- Authority
- CN
- China
- Prior art keywords
- joint angle
- network model
- mechanical arm
- angle
- joint
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种冗余机械臂的追踪控制方法、装置及介质,方法包括:初始化机械臂关节角度、第一CMAC网络模型和第二CMAC网络模型;获取第一关节角度,以及获取目标位移;根据第一关节角度和目标位移,通过第一CMAC网络模型得到第一调整角度;根据第一调整角度,确定第二关节角度,并根据第二关节角度控制机械臂运动;获取第三关节角度,并根据第三关节角度通过第二CMAC网络模型确定目标雅可比矩阵;获取第一位置和第二位置;根据第一位置和第二位置的区别更新第一CMAC网络模型和第二CMAC网络模型,以第三关节角度作为第一关节角度,然后返回获取目标位移这一步骤,直至完成对机械臂的追踪控制。本发明的技术方案能应对各种不确定性因素给模型参数带来的干扰。
Description
技术领域
本发明涉及机械臂控制技术领域,尤其是一种冗余机械臂的追踪控制方法、装置及介质。
背景技术
当机械臂的驱动自由度如关节角度个数多于完成任务所需自由度时,机械臂可以被称为冗余机械臂。额外的自由度使得冗余机械臂具备更高的灵活性和安全性,因此这类机械臂在各个领域中有着广阔的潜在应用前景。
现有技术定义一个CMAC小脑模型连接控制网络,神经网络的输入包括下一时刻的目标位置与当前时刻机械臂末端的实际位置的误差、当前时刻的关节角度,CMAC神经网络的输出是关节角度调整量定义相应的目标函数迭代若干次优化关节角度调整量,加上当前时刻机械臂的关节角度得到关节角度,应用该关节角度得到机械臂末端位置,依据末端位置与目标位置的误差实时调整CMAC网络的权值,训练完成后即可通过得到的神经网络来实现冗余机械臂的控制。但是现有技术存在的缺点是,需要知道准确的机械臂模型信息(如连杆长度),从而计算雅可比矩阵,而各种不确定性因素的存在会影响模型信息的准确性,从而影响控制方案的准确性。
发明内容
有鉴于此,本发明实施例提供一种冗余机械臂的追踪控制方法、装置及介质,通过基于双CMAC神经网络的控制方式,能够采用无模型方法完成冗余机械臂追踪控制任务,更好的应对各种不确定性因素给模型参数带来的干扰。
本发明实施例的第一方面提供了一种冗余机械臂的追踪控制方法,包括:
初始化机械臂关节角度、第一CMAC网络模型和第二CMAC网络模型;
获取第一关节角度,以及获取目标位移,其中,所述第一关节角度用于表征第一阶段的机械臂各个关节的角度,所述目标位移用于表征机械臂末端执行器的期望位移;
根据所述第一关节角度和所述目标位移,通过所述第一CMAC网络模型得到第一调整角度;
根据所述第一调整角度,确定第二关节角度,并根据所述第二关节角度控制机械臂运动,其中,所述第二关节角度用于表征机械臂各个关节的期望角度;
获取第三关节角度,并根据所述第三关节角度通过所述第二CMAC网络模型确定目标雅可比矩阵,其中,所述第三关节角度用于表征第二阶段的机械臂各个关节的角度,所述目标雅可比矩阵用于表征第二阶段的机械臂的雅可比矩阵;
获取第一位置和第二位置,其中,所述第一位置用于表征第二阶段的机械臂末端执行器的实际位置,所述第二位置用于表征机械臂末端执行器的期望位置;
根据所述第一位置和所述第二位置的区别更新所述第一CMAC网络模型和所述第二CMAC网络模型,以所述第三关节角度作为所述第一关节角度,然后返回获取目标位移这一步骤,直至完成对机械臂的追踪控制。
可选地,所述根据所述第一位置和所述第二位置的区别更新所述第一CMAC网络模型和所述第二CMAC网络模型,包括:
根据所述第一位置和所述第二位置,计算得到位置误差;
根据所述目标雅可比矩阵,结合所述位置误差计算得到关节角度误差;
根据所述关节角度误差,确定所述第一CMAC网络模型的第一调整量;
根据所述第一调整量,对所述第一CMAC网络模型进行第一更新。
可选地,所述根据所述第一位置和所述第二位置,计算得到位置误差,包括:
根据位置误差表达式计算得到所述位置误差,所述位置误差表达式为:
e=pd(n+1)-pa(n+1),
其中,e表示位置误差,pa(n)表示第一阶段的机械臂末端执行器的实际位置,pa(n+1)表示第一位置,用于表征第二阶段的机械臂末端执行器的实际位置,pd(n+1)表示第二位置,用于表征机械臂末端执行器的期望位置。
可选地,所述根据所述目标雅可比矩阵,结合所述位置误差计算得到关节角度误差,包括:
根据关节角度误差表达式计算得到所述关节角度误差,所述关节角度误差表达式为:
Δθ*=J-1(n+1)e,
其中,Δθ*表示关节角度误差,J-1(n+1)表示第二阶段的机械臂估算出的雅可比矩阵J(n+1)的伪逆,e表示位置误差。
可选地,所述根据所述关节角度误差,确定所述第一CMAC网络模型的第一调整量,包括:
获取所述第一CMAC网络模型的泛化系数;
根据所述关节角度误差和所述泛化系数,得到所述第一调整量,第一调整量表达式为:
其中,ΔW表示第一调整量,用于表征第一CMAC网络模型的每一个激活的物理单元的权值调整量,Δθ*表示关节角度误差,C表示第一CMAC网络模型的泛化系数。
可选地,所述根据所述第一调整量,对所述第一CMAC网络模型进行第一更新,包括:
根据所述第一调整量,对所述第一CMAC网络模型的每一个激活的物理单元的权值进行更新,权值表达式为:
W=W+ΔW,
其中,等号左侧的W表示更新后的权值,等号右侧的W表示更新前的权值,ΔW表示第一调整量,用于表征第一CMAC网络模型的每一个激活的物理单元的权值调整量。
可选地,所述根据所述第一位置和所述第二位置的区别更新所述第一CMAC网络模型和所述第二CMAC网络模型,还包括:
预设雅可比矩阵误差表达式为:
根据雅可比矩阵误差表达式计算得到雅可比矩阵误差,结合所述目标雅可比矩阵,确定所述第二CMAC网络模型的第二调整量;
根据所述第二调整量,对所述第二CMAC网络模型进行第二更新。
本发明实施例第二方面提供了一种冗余机械臂的追踪控制装置,包括:
第一模块,用于初始化机械臂关节角度、第一CMAC网络模型和第二CMAC网络模型;
第二模块,用于获取第一关节角度,以及获取目标位移,其中,所述第一关节角度用于表征第一阶段的机械臂各个关节的角度,所述目标位移用于表征机械臂末端执行器的期望位移;
第三模块,用于根据所述第一关节角度和所述目标位移,通过所述第一CMAC网络模型得到第一调整角度;
第四模块,用于根据所述第一调整角度,确定第二关节角度,并根据所述第二关节角度控制机械臂运动,其中,所述第二关节角度用于表征机械臂各个关节的期望角度;
第五模块,用于获取第三关节角度,并根据所述第三关节角度通过所述第二CMAC网络模型确定目标雅可比矩阵,其中,所述第三关节角度用于表征第二阶段的机械臂各个关节的角度,所述目标雅可比矩阵用于表征第二阶段的机械臂的雅可比矩阵;
第六模块,用于获取第一位置和第二位置,其中,所述第一位置用于表征第二阶段的机械臂末端执行器的实际位置,所述第二位置用于表征机械臂末端执行器的期望位置;
第七模块,用于根据所述第一位置和所述第二位置的区别更新所述第一CMAC网络模型和所述第二CMAC网络模型,以所述第三关节角度作为所述第一关节角度,然后返回获取目标位移这一步骤,直至完成对机械臂的追踪控制。
本发明实施例的第三方面提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明实施例通过初始化机械臂关节角度、第一CMAC网络模型和第二CMAC网络模型;获取第一关节角度,以及获取目标位移,其中,所述第一关节角度用于表征第一阶段的机械臂各个关节的角度,所述目标位移用于表征机械臂末端执行器的期望位移;根据所述第一关节角度和所述目标位移,通过所述第一CMAC网络模型得到第一调整角度;根据所述第一调整角度,确定第二关节角度,并根据所述第二关节角度控制机械臂运动,其中,所述第二关节角度用于表征机械臂各个关节的期望角度;获取第三关节角度,并根据所述第三关节角度通过所述第二CMAC网络模型确定目标雅可比矩阵,其中,所述第三关节角度用于表征第二阶段的机械臂各个关节的角度,所述目标雅可比矩阵用于表征第二阶段的机械臂的雅可比矩阵;获取第一位置和第二位置,其中,所述第一位置用于表征第二阶段的机械臂末端执行器的实际位置,所述第二位置用于表征机械臂末端执行器的期望位置;根据所述第一位置和所述第二位置的区别更新所述第一CMAC网络模型和所述第二CMAC网络模型,以所述第三关节角度作为所述第一关节角度,然后返回获取目标位移这一步骤,直至完成对机械臂的追踪控制。本发明通过采用双CMAC神经网络的机械臂控制方法,一个CMAC网络模型用于计算机械臂的关节角度调整量,另一个CMAC网络模型用于估算机械臂的雅可比矩阵模型,实现了CMAC神经网络估算雅可比矩阵的无模型方案,该控制方法可以在机械臂的数学模型和运动学参数未知的情况下估算机械臂的雅可比矩阵,将该雅克比矩阵应用到输出关节角度调整量的CMAC网络的训练中,有效地完成了冗余机械臂的追踪控制,因此该CMAC网络控制方案能应对各种不确定性因素给模型参数带来的干扰,能够实现精确的冗余机械臂的追踪控制,并具有更强的鲁棒性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的冗余机械臂的追踪控制方法的整体流程示意图;
图2为基于CMAC神经网络的类小脑模型结构示意图;
图3为本发明实施例提供的冗余机械臂末端执行器的目标轨迹和实际轨迹对比示意图;
图4为本发明实施例提供的冗余机械臂完成十个周期的追踪控制任务的误差变化示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了使本申请内容及技术方案更加清楚明白,下面对本申请涉及对相关技术的特性、术语及含义进行说明:
当机械臂的驱动自由度如关节角度个数多于完成任务所需自由度时,机械臂可以被称为冗余机械臂。额外的自由度使得冗余机械臂具备更高的灵活性和安全性,因此这类机械臂在各个领域中有着广阔的潜在应用前景。为了充分发挥冗余机械臂的应用潜力,设计一种可靠、高效的控制方案是至关重要的。
生物学研究表明,小脑在人体运动中起到维持躯体平衡、调节肌肉紧张程度、协调随意运动等功能。因此,模拟人的小脑结构与功能对研究小脑如何协调运动、调节躯体平衡以及模拟脑的宏观结构功能具有十分重要的作用。人的小脑是通过一些神经纤维束与脑干相联,并进一步同大脑、脊髓发生联系。人主要靠小脑管理运动功能,它通过小脑皮层的神经系统从肌肉、四肢、关节、皮肤等接受感觉信息,并感受反馈信息,然后将这些获得的信息整合到一特定的区域——“存储器”记忆起来。当需要的时候,依据躯体的状态将存储器储存的信息提取出来作为驱动和协调肌肉运动的指令——控制信号。当感受信息和反馈信息出现差异时,便通过联想加以调整,从而达到运动控制的目的。
通常,冗余机械臂的运动学模型可以通过以下公式表示:
f(θ(t))=pa(t),
机械臂的追踪控制问题(即机械臂的逆运动学问题)是指根据给定的目标路径求得所需要的关节角θ(t),即θ(t)=g(pd(t)),从而使用求得的θ(t)来控制机械臂,使其末端执行器按照目标路径pd(t)运动,即促使末端执行器实际位置pa(t)趋向于目标位置pd(t)。由于运动学映射f(·)是非线性的,所以难以通过数学推导的方式直接求g(·)的数学表达式。
CMAC神经网络是模拟实现小脑运动控制功能的一种途径。如图2所示,基于CMAC神经网络的小脑模型由输入单元X、联想单元A、权值存储空间W、输出单元Y组成,输入单元中的输入量化后构成的向量指定了一个离散状态,该离散状态用于计算联想单元的逻辑地址,通过hash(哈希)得到物理地址激活权值存储空间中存储的联想强度从而恢复这个状态的信息。
CMAC类似一种查表技术,将所有可能的输入情况对应的输出存储在表中,目的是使得训练后的网络在应用时能够以较快的计算速度得到输出。
在CMAC神经网络中,为降低问题的复杂度,首先需要将输入空间量化为离散的状态,输入向量为x,量化后结果为q,q中每一维的值由下述公式给出:
其中,i表示第i维,qi表示量化结果q第i维的值,xi为向量x第i维的值,xi,min为向量x第i维能取到的最小值,xi,max为向量x第i维能取到的最大值,Qi为向量x第i维的量化级数。
假设CMAC泛化系数(激活的权值存储单元个数)为C,。量化后的向量q中的每一维的量化结果对应一个地址块向量{ai,0,ai,1,ai,2,...,ai,c-1},将向量q中每一维对应的地址块向量采用某种方式连接便得到联想单元对应的地址向量{αi,0,αi,1,αi,2,...,αi,c-1}。
经过量化之后,二维输入的量化结果q={q1,q2},q1量化级数为5,q2量化级数为7,表1、表2分别为q1、q2各个量化级对应的地址块向量。
表1
q<sub>1</sub> | m<sub>1</sub> |
1 | A B C D |
2 | E B C D |
3 | E F C D |
4 | E F G D |
5 | E F G H |
表2
q<sub>1</sub> | m<sub>1</sub> |
1 | a b c d |
2 | e b c d |
3 | e f c d |
4 | e f g d |
5 | e f g h |
6 | i f g h |
7 | i j g h |
以q={2、4}为例,将q1、q2对应的地址块向量连接得到{Ee,Bf,Cg,Dd},向量的四个分量对应四个联想单元的地址。从表1、表2可以看出,采用这种滚动激活的方式,相邻量化级对应的地址块向量中只有一个分量是不同的,从而使得相邻量化级所激活的联想强度更为近似,相似的状态将得到更为相近的输出。
如果将每个地址对应的联想单元都创建对应的存储空间显然是不明智的,因为输入向量的维度可能很高,每个输入分量的量化级数不能设置的太低,如果给每种情况都预留存储空间,所需的内存空间将十分巨大,所以需要采用hash算法将所有联想单元地址散列到一个物理地址空间中,将联想单元地址{αi,0,αi,1,αi,2,...,αi,c-1}通过hash算法得到物理地址{wi,0,wi,1,wi,2,...,wi,c-1},累加物理地址中的权值(联想强度)得到对应状态的输出,CMAC网络的训练是将期望输出与网络实际输出的误差除以激活的物理存储单元个数C得到每一个物理存储单元的权值调整量,进而调整权值将误差均摊到每一个权值存储单元中,对应公式如下:
下面结合说明书附图,对本发明的方法的实现原理进行详细说明:
图1所示为本发明实施例提供的,方法包括:
S100、初始化机械臂关节角度、第一CMAC网络模型和第二CMAC网络模型;
具体地,初始化机械臂关节角度θ(0)、计算关节角度调整量的第一CMAC网络模型、估算雅可比矩阵的第二CMAC网络模型。需要说明的是,在一些实施例,还需初始化相关的参数,相关的参数包括追踪控制任务的周期、采样时间间隔、物理存储空间的大小、各个输入分量的量化级数、CMAC网络的泛化系数以及各个输入分量每个量化级激活的地址块向量等,此外还需要预定义的目标轨迹信息pd及其对应的数学表达式,即机械臂运动轨迹的初始化。
S200、获取第一关节角度,以及获取目标位移,其中,第一关节角度用于表征第一阶段的机械臂各个关节的角度,目标位移用于表征机械臂末端执行器的期望位移;
具体地,获取当前时刻的机械臂各个关节的角度θ(n),即第一阶段的机械臂各个关节的角度,并根据预定义的目标轨迹信息,获取机械臂末端执行器的期望位移Δp。
S300、根据第一关节角度和目标位移,通过第一CMAC网络模型得到第一调整角度;
具体地,通过第一CMAC网络模型根据输入的当前时刻机械臂关节角度θ(n)和末端执行器期望位移Δp输出所需的关节角度调整量Δθ。
S400、根据第一调整角度,确定第二关节角度,并根据第二关节角度控制机械臂运动,其中,第二关节角度用于表征第二阶段的机械臂各个关节的期望角度;
具体地,根据计算关节角度调整量的第一CMAC网络模型输出的关节角度调整量Δθ得到下一时刻的期望角度θd(n+1),并使用期望角度θd(n+1)控制机械臂的运动,同时使其末端执行器追踪目标轨迹。
S500、获取第三关节角度,并根据第三关节角度通过第二CMAC网络模型确定目标雅可比矩阵,其中,第三关节角度用于表征第二阶段的机械臂各个关节的角度,目标雅可比矩阵用于表征第二阶段的机械臂的雅可比矩阵;
具体地,获取运动后机械臂各个关节的实际角度θ(n+1),即第三关节角度,随后将θ(n+1)输入估算雅可比矩阵的第二CMAC网络模型,并使用估算雅可比矩阵的第二CMAC网络模型根据输入的运动后机械臂各个关节的实际角度θ(n+1)估算出运动后机械臂的雅可比矩阵J(n+1),即第二阶段的机械臂的雅可比矩阵。
S600、获取第一位置和第二位置,其中,第一位置用于表征第二阶段的机械臂末端执行器的实际位置,第二位置用于表征机械臂末端执行器的期望位置;
具体地,通过机械臂末端执行器上的位置传感器,获取运动后机械臂末端执行器的实际位置,即第一位置,并根据预定义的目标轨迹信息,获取运动后机械臂末端执行器的期望位置,即第二位置。
S700、根据第一位置和第二位置的区别更新第一CMAC网络模型和第二CMAC网络模型,以第三关节角度作为第一关节角度,然后返回获取目标位移这一步骤,直至完成对机械臂的追踪控制。
具体地,根据传感器设备测量机械臂末端执行器实际位置与期望位置的误差更新第一CMAC网络模型,测量末端执行器在任务空间中的运动速度以及机械臂关节转动速度依据雅可比矩阵误差公式计算出雅克比矩阵调整量,更新第二CMAC网络模型。方法流程为,完成S100之后,重复执行S200至S700,直至完成对机械臂的整个追踪控制任务,需要说明的是,在循环执行S200至S700的方法步骤时,上一次循环中的运动后机械臂各个关节的实际角度作为下一次循环开始时各个关节的角度,即上一次循环中的第三关节角度作为下一次循环时的第一关节角度。
在一些实施例中,根据第一位置和第二位置的区别更新第一CMAC网络模型和第二CMAC网络模型,包括:
根据第一位置和第二位置,计算得到位置误差;
根据目标雅可比矩阵,结合位置误差计算得到关节角度误差;
根据关节角度误差,确定第一CMAC网络模型的第一调整量;
根据第一调整量,对第一CMAC网络模型进行第一更新。
在一些实施例中,根据第一位置和所述第二位置,计算得到位置误差,包括:
根据位置误差表达式计算得到位置误差,位置误差表达式为:
e=pd(n+1)-pa(n+1),
其中,e表示位置误差,pa(n)表示第一阶段的机械臂末端执行器的实际位置,则pa(n+1)表示第二阶段的机械臂末端执行器的实际位置,即第一位置,pd(n+1)表示机械臂末端执行器的期望位置,即第二位置。
在一些实施例中,根据所述目标雅可比矩阵,结合所述位置误差计算得到关节角度误差,包括:
根据关节角度误差表达式计算得到所述关节角度误差,所述关节角度误差表达式为:
Δθ*=J-1(n+1)e,
其中,Δθ*表示关节角度误差,J-1(n+1)表示第二阶段的机械臂估算出的雅可比矩阵J(n+1)的伪逆,e表示位置误差。
在一些实施例中,根据关节角度误差,确定第一CMAC网络模型的第一调整量,包括:
获取第一CMAC网络模型的泛化系数;
根据关节角度误差和泛化系数,得到第一调整量,第一调整量表达式为:
其中,ΔW表示第一CMAC网络模型的每一个激活的物理单元的权值调整量,即第一调整量,Δθ*表示关节角度误差,C表示第一CMAC网络模型的泛化系数。
在一些实施例中,根据第一调整量,对第一CMAC网络模型进行第一更新,包括:
根据第一调整量,对第一CMAC网络模型的每一个激活的物理单元的权值进行更新,权值表达式为:
W=W+ΔW,
其中,等号左侧的W表示更新后的权值,等号右侧的W表示更新前的权值,ΔW表示第一CMAC网络模型的每一个激活的物理单元的权值调整量,即第一调整量。
在一些实施例中,根据第一位置和第二位置的区别更新第一CMAC网络模型和第二CMAC网络模型,还包括:
预设雅可比矩阵误差表达式为:
根据雅可比矩阵误差表达式计算得到雅可比矩阵误差,结合目标雅可比矩阵,确定第二CMAC网络模型的第二调整量;
具体地,根据∈(n)对第二CMAC网络模型估算出的机械臂运动后的雅可比矩阵J(n+1)求导得到雅可比矩阵的调整量,即第二调整量,雅可比矩阵的调整量表达式为:
其中,n表示时刻,则n+1表示第n+1时刻,即机械臂运动后第二阶段的时间,表示雅可比的调整量,λ表示定义的常量参数,表示机械臂末端执行器在任务空间中的运动速度,J(n+1)表示机械臂运动后的第二阶段的雅可比矩阵,表示机械臂关节转动速度,表示关节转动速度的转置。
根据第二调整量,对第二CMAC网络模型进行第二更新。
具体地,将雅可比的调整量j(n+1)替换关节角度误差Δθ代入第一调整量表达式,计算得到第二CMAC网络模型的每一个激活的物理单元的权值调整量ΔW,再进一步将第二CMAC网络模型的每一个激活的物理单元的权值调整量ΔW代入权值表达式,计算得到第二CMAC网络模型更新后的每一个激活的物理单元的权值W,并对第二CMAC网络模型的每一个激活的物理单元的权值进行更新。
需要说明的是,在一些实施例中,使用模糊小脑模型连接控制器FCMAC替代CMAC网络模型也能完成发明目的,FCMAC在对输入空间进行划分以及激活联想强度时都进行了模糊化处理,能够更好地反映人脑认知的模糊性和连续性,具体做法是给输入向量的每个分量都定义若干块,依据该输入分量的值及定义的隶属函数计算该分量对各个块的隶属度,不同分量的各个块组成超立方体,每个超立方体对应一个联想单元,各个输入分量对应该超立方体的块的隶属度的乘积即为激活该联想单元中权值的激活强度。因此,采用FCMAC替代CMAC网络模型亦能很好地完成机械臂的追踪控制任务。
下面以一具体的冗余机械臂的追踪控制为例,结合附图和具体数据对本发明作进一步的详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
以一个6自由度冗余机械臂(m=6)为例,任务空间的维度为d=3。
首先,给定机械臂的初始关节角度θ(0)=[-0.159589;1.219399;2.29649;2.1;1.4;2.2]弧度,并初始化计算关节角度调整量的第一CMAC网络模型和估算雅可比矩阵的第二CMAC网络模型,第一CMAC网络模型的输入单元是一个1×9的向量,存储末端执行器期望位移Δp以及6自由度机械臂当前的六个关节角度,输出单元是一个1×6的向量,存储机械臂的6个关节角度调整量。物理存储单元W的数目也就是哈希表的长度需要为质数,且W的值全部初始化为0,不同的是,计算关节角度调整量第一CMAC网络模型中每个实地址存储的是六个权值对应六个关节角度调整量,估算雅可比矩阵第二CMAC网络模型中每个实地址存储的是一个3×6的矩阵对应三维任务空间6自由度机械臂的雅可比矩阵。所有用于计算物理地址的哈希算法中的参数为[0,1000]的随机整数且为质数,输入向量的各个维度的量化级数、最大值、最小值依据具体任务确定,CMAC网络的泛化系数C=40,输入向量的每个分量对应每一个量化级的感知器个数由所设置的泛化系数决定,采用滚动激活的方式进行初始化,相邻量化级激活的感知器只有一个存在不同,剩下C-1相同且在对应数组的下标相同。
最后,在任务空间中定义目标轨迹的数学表达式:
其中,π为圆周率,sin和cos为三角函数,ι=0.1米,表示目标轨迹的半径,Td=20秒,表示追踪任务的周期,t表示时刻,并且t=(n+1)τ,其中,τ表示时间采样间隔,设置τ=0.01秒。目标轨迹pd(t)在任务空间中的示意图如图4所示,然后将目标轨迹pd(t)作为输入信息。
完成初始化后,将第n个时刻机械臂的关节角度θ(n)和末端执行器期望位移Δp=pd(n+1)-pa(n)作为输出关节角度调整量第一CMAC网络模型的输入信息,其中pd(n+1)表示t=(n+1)τ时的目标位置pd(t),pa(n)表示在第n个时刻使用传感器设备测量得到的机械臂末端执行器在任务空间中的位置,第一CMAC网络模型的运行输出则是所需的关节角度调整量Δθ。
接着,根据步骤B中第一CMAC网络模型的输出Δθ计算第n+1个时刻的关节角度θ(n+1)=θ(n)+Δθ,并使用得到的关节角度θ(n+1)控制机械臂的运动,同时使其末端执行器追踪目标轨迹。
随后,通过关节角度θ(n+1)控制机械臂的完成运动后,测量并保存机械臂末端执行器在运动过程任务空间中的运动速度以及机械臂关节转动速度,将关节角度θ(n+1)作为估算雅可比矩阵第二CMAC网络模型的输入,估算出机械臂的雅可比矩阵的值J(n+1),同时使用传感器设备测量机械臂末端执行器实际位置pa(n+1),最后通过使用特定的策略更新两个CMAC网络模型部分物理单元的权值以更新权重。接下来循环执行完成初始化之后的步骤,直至完成机械臂追踪控制任务。
基于以上步骤流程,控制冗余机械臂连续完成十个周期的轨迹追踪任务,其中第十个周期的追踪结果如图3所示,可以看到末端执行器的实际移动轨迹与目标轨迹几乎一致。在这十个任务周期中,随时间变化的期望轨迹与实际轨迹追踪误差的变化如图4所示,可以看出,在执行轨迹追踪任务过程中追踪误差都保持在10-4的数量级,体现了采用CMAC估算雅可比矩阵的有效性,实现了较高精度的轨迹追踪任务。
本发明实施例提供了一种冗余机械臂的追踪控制装置,包括:
第一模块,用于初始化机械臂关节角度、第一CMAC网络模型和第二CMAC网络模型;
第二模块,用于获取第一关节角度,以及获取目标位移,其中,第一关节角度用于表征第一阶段的机械臂各个关节的角度,目标位移用于表征机械臂末端执行器的期望位移;
第三模块,用于根据第一关节角度和目标位移,通过第一CMAC网络模型得到第一调整角度;
第四模块,用于根据第一调整角度,确定第二关节角度,并根据第二关节角度控制机械臂运动,其中,第二关节角度用于表征第二阶段的机械臂各个关节的期望角度;
第五模块,用于获取第三关节角度,并根据第三关节角度通过第二CMAC网络模型确定目标雅可比矩阵,其中,第三关节角度用于表征第二阶段的机械臂各个关节的角度,目标雅可比矩阵用于表征第二阶段的机械臂的雅可比矩阵;
第六模块,用于获取第一位置和第二位置,其中,第一位置用于表征第二阶段的机械臂末端执行器的实际位置,第二位置用于表征机械臂末端执行器的期望位置;
第七模块,用于根据第一位置和第二位置的区别更新第一CMAC网络模型和第二CMAC网络模型,以第三关节角度作为第一关节角度,然后返回获取目标位移这一步骤,直至完成对机械臂的追踪控制。
本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例提供了一种电子设备,包括处理器以及存储器;
存储器用于存储程序;
处理器执行程序实现上述的冗余机械臂的追踪控制方法。
本发明方法实施例的内容均适用于本电子设备实施例,本电子设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
综上所述,本发明通过采用双CMAC神经网络的机械臂控制方法,一个CMAC网络模型用于计算机械臂的关节角度调整量,另一个CMAC网络模型用于估算机械臂的雅可比矩阵模型,实现了CMAC神经网络估算雅可比矩阵的无模型方案,根据上述本发明的实施例可以看出,该控制方法可以在机械臂的数学模型和运动学参数未知的情况下估算机械臂的雅可比矩阵,将该雅克比矩阵应用到输出关节角度调整量的CMAC网络的训练中,有效地完成了冗余机械臂的追踪控制,因此该CMAC网络控制方案能应对各种不确定性因素给模型参数带来的干扰,具有更强的鲁棒性。并且,本发明实施例采用的哈希算法为使用随机质数系数的线性函数和取模进行散列,能够取得更好的效果。在输出关节角度调整量CMAC网络的权值更新上,本发明采用的是用雅可比矩阵的伪逆乘以末端执行器的位置误差作为权值的调整量,从而能够更加准确地调整权重,以实现更加精准的机械臂的追踪控制。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种冗余机械臂的追踪控制方法,其特征在于,包括:
初始化机械臂关节角度、第一CMAC网络模型和第二CMAC网络模型;
获取第一关节角度,以及获取目标位移,其中,所述第一关节角度用于表征第一阶段的机械臂各个关节的角度,所述目标位移用于表征机械臂末端执行器的期望位移;
根据所述第一关节角度和所述目标位移,通过所述第一CMAC网络模型得到第一调整角度;
根据所述第一调整角度,确定第二关节角度,并根据所述第二关节角度控制机械臂运动,其中,所述第二关节角度用于表征机械臂各个关节的期望角度;
获取第三关节角度,并根据所述第三关节角度通过所述第二CMAC网络模型确定目标雅可比矩阵,其中,所述第三关节角度用于表征第二阶段的机械臂各个关节的角度,所述目标雅可比矩阵用于表征第二阶段的机械臂的雅可比矩阵;
获取第一位置和第二位置,其中,所述第一位置用于表征第二阶段的机械臂末端执行器的实际位置,所述第二位置用于表征机械臂末端执行器的期望位置;
根据所述第一位置和所述第二位置的区别更新所述第一CMAC网络模型和所述第二CMAC网络模型,以所述第三关节角度作为所述第一关节角度,然后返回获取目标位移这一步骤,直至完成对机械臂的追踪控制。
2.根据权利要求1所述的一种冗余机械臂的追踪控制方法,其特征在于,所述根据所述第一位置和所述第二位置的区别更新所述第一CMAC网络模型和所述第二CMAC网络模型,包括:
根据所述第一位置和所述第二位置,计算得到位置误差;
根据所述目标雅可比矩阵,结合所述位置误差计算得到关节角度误差;
根据所述关节角度误差,确定所述第一CMAC网络模型的第一调整量;
根据所述第一调整量,对所述第一CMAC网络模型进行第一更新。
3.根据权利要求2所述的一种冗余机械臂的追踪控制方法,其特征在于,所述根据所述第一位置和所述第二位置,计算得到位置误差,包括:
根据位置误差表达式计算得到所述位置误差,所述位置误差表达式为:
e=pd(n+1)-pa(n+1),
其中,e表示位置误差,pa(n)表示第一阶段的机械臂末端执行器的实际位置,pa(n+1)表示第一位置,用于表征第二阶段的机械臂末端执行器的实际位置,pd(n+1)表示第二位置,用于表征机械臂末端执行器的期望位置。
4.根据权利要求3所述的一种冗余机械臂的追踪控制方法,其特征在于,所述根据所述目标雅可比矩阵,结合所述位置误差计算得到关节角度误差,包括:
根据关节角度误差表达式计算得到所述关节角度误差,所述关节角度误差表达式为:
Δθ*=J-1(n+1)e,
其中,Δθ*表示关节角度误差,J-1(n+1)表示第二阶段的机械臂估算出的雅可比矩阵J(n+1)的伪逆,e表示位置误差。
6.根据权利要求5所述的一种冗余机械臂的追踪控制方法,其特征在于,所述根据所述第一调整量,对所述第一CMAC网络模型进行第一更新,包括:
根据所述第一调整量,对所述第一CMAC网络模型的每一个激活的物理单元的权值进行更新,权值表达式为:
W=W+ΔW,
其中,等号左侧的W表示更新后的权值,等号右侧的W表示更新前的权值,ΔW表示第一调整量,用于表征第一CMAC网络模型的每一个激活的物理单元的权值调整量。
8.一种冗余机械臂的追踪控制装置,其特征在于,包括:
第一模块,用于初始化机械臂关节角度、第一CMAC网络模型和第二CMAC网络模型;
第二模块,用于获取第一关节角度,以及获取目标位移,其中,所述第一关节角度用于表征第一阶段的机械臂各个关节的角度,所述目标位移用于表征机械臂末端执行器的期望位移;
第三模块,用于根据所述第一关节角度和所述目标位移,通过所述第一CMAC网络模型得到第一调整角度;
第四模块,用于根据所述第一调整角度,确定第二关节角度,并根据所述第二关节角度控制机械臂运动,其中,所述第二关节角度用于表征机械臂各个关节的期望角度;
第五模块,用于获取第三关节角度,并根据所述第三关节角度通过所述第二CMAC网络模型确定目标雅可比矩阵,其中,所述第三关节角度用于表征第二阶段的机械臂各个关节的角度,所述目标雅可比矩阵用于表征第二阶段的机械臂的雅可比矩阵;
第六模块,用于获取第一位置和第二位置,其中,所述第一位置用于表征第二阶段的机械臂末端执行器的实际位置,所述第二位置用于表征机械臂末端执行器的期望位置;
第七模块,用于根据所述第一位置和所述第二位置的区别更新所述第一CMAC网络模型和所述第二CMAC网络模型,以所述第三关节角度作为所述第一关节角度,然后返回获取目标位移这一步骤,直至完成对机械臂的追踪控制。
9.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111216835.7A CN113858204B (zh) | 2021-10-19 | 2021-10-19 | 一种冗余机械臂的追踪控制方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111216835.7A CN113858204B (zh) | 2021-10-19 | 2021-10-19 | 一种冗余机械臂的追踪控制方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113858204A CN113858204A (zh) | 2021-12-31 |
CN113858204B true CN113858204B (zh) | 2022-05-03 |
Family
ID=79000355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111216835.7A Active CN113858204B (zh) | 2021-10-19 | 2021-10-19 | 一种冗余机械臂的追踪控制方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113858204B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115026813B (zh) * | 2022-05-26 | 2023-05-02 | 中山大学 | 基于类小脑模型的机械臂视觉伺服控制方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868221B1 (en) * | 2008-08-22 | 2014-10-21 | Marvell International Ltd. | Adaptive neural net feed forward system and method for adaptive control of mechanical systems |
CN107263481A (zh) * | 2017-07-27 | 2017-10-20 | 青岛格莱瑞智能控制技术有限公司 | 一种多自由度机器人的类脑学习控制方法 |
CN112060082A (zh) * | 2020-08-19 | 2020-12-11 | 大连理工大学 | 基于仿生强化学习型小脑模型的在线稳定控制仿人机器人 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018175698A1 (en) * | 2017-03-22 | 2018-09-27 | Larsx | Continuously learning and optimizing artificial intelligence (ai) adaptive neural network (ann) computer modeling methods and systems |
-
2021
- 2021-10-19 CN CN202111216835.7A patent/CN113858204B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868221B1 (en) * | 2008-08-22 | 2014-10-21 | Marvell International Ltd. | Adaptive neural net feed forward system and method for adaptive control of mechanical systems |
CN107263481A (zh) * | 2017-07-27 | 2017-10-20 | 青岛格莱瑞智能控制技术有限公司 | 一种多自由度机器人的类脑学习控制方法 |
CN112060082A (zh) * | 2020-08-19 | 2020-12-11 | 大连理工大学 | 基于仿生强化学习型小脑模型的在线稳定控制仿人机器人 |
Non-Patent Citations (1)
Title |
---|
一种CMAC网络模型及其在机器人控制中的应用;孙炜;《动力学与控制学报》;20050930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113858204A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5330138B2 (ja) | 強化学習システム | |
Jiang et al. | A two-level approach for solving the inverse kinematics of an extensible soft arm considering viscoelastic behavior | |
EP3768472A1 (en) | Systems and methods for learning agile locomotion for multiped robots | |
Melingui et al. | Qualitative approach for inverse kinematic modeling of a compact bionic handling assistant trunk | |
CN110861088A (zh) | 一种冗余自由度机器人的运动优化方法 | |
CN113858204B (zh) | 一种冗余机械臂的追踪控制方法、装置及介质 | |
Yu et al. | Probabilistic kinematic model of a robotic catheter for 3D position control | |
Rajendran et al. | Design, modeling, and visual learning-based control of soft robotic fish driven by super-coiled polymers | |
Guo et al. | CAM-FoC: A high accuracy lightweight deep neural network for grip force measurement of elongated surgical instrument | |
Tan et al. | Two model-free schemes for solving kinematic tracking control of redundant manipulators using CMAC networks | |
CN111230860A (zh) | 机器人控制方法、装置、计算机设备及存储介质 | |
CN114326722A (zh) | 六足机器人自适应步态规划方法、系统、装置及介质 | |
Chen | Hybrid approach for dynamic model identification of an electro-hydraulic parallel platform | |
Chen et al. | Trajectory adaptation of biomimetic equilibrium point for stable locomotion of a large-size hexapod robot | |
CN115922711A (zh) | 一种双机械臂的类脑同步追踪控制方法 | |
Giorelli et al. | A feed forward neural network for solving the inverse kinetics of non-constant curvature soft manipulators driven by cables | |
CN113650014B (zh) | 一种基于回声状态网络的冗余机械臂追踪控制方法 | |
Chen et al. | Kinematic and hydrodynamic modeling of a wire-driven robotic fishtail: An experimental study | |
Wang et al. | A discrete-jointed robot model based control strategy for spatial continuum manipulators | |
Pedreño-Molina et al. | A neural tactile architecture applied to real-time stiffness estimation for a large scale of robotic grasping systems | |
Park et al. | Hysteresis Compensation of Flexible Continuum Manipulator using RGBD Sensing and Temporal Convolutional Network | |
Schilling | Hierarchical dual quaternion-based recurrent neural network as a flexible internal body model | |
CN113352320A (zh) | 一种基于Q学习的Baxter机械臂智能优化控制方法 | |
Dai et al. | Stiffness control for a soft robotic finger based on reinforcement learning for robust grasping | |
Marquez et al. | Hardware-in-the-Loop Soft Robotic Testing Framework using an Actor-Critic Deep Reinforcement Learning Algorithm |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220715 Address after: 215011 room 301-4, building 2, No. 1 Qingshan Road, high tech Zone, Suzhou, Jiangsu Province Patentee after: Suzhou aiketes Medical Technology Co.,Ltd. Address before: 510275 No. 135 West Xingang Road, Guangzhou, Guangdong, Haizhuqu District Patentee before: SUN YAT-SEN University |
|
TR01 | Transfer of patent right |