主要内容

在机械手臂逆运动学建模

这个例子展示了如何使用一个模糊系统模型在2个联合机械手臂逆运动学。

逆运动学是什么?

运动学是运动的科学。2个联合机械手臂,由于关节的角度,运动学方程给臂的顶端的位置。逆运动学指的是相反的过程。给定的期望位置的机械手臂,关节的角度应该以定位的手臂在所需的位置。通常有一个以上的解决方案,有时是一个很难解决的问题。

这是一个典型的机器人需要解决的问题来控制机械臂执行任务是指定的。在一个二维输入空间,2个联合机械臂和所需的协调,减少问题所涉及的两个角。第一个角是第一臂和地面之间(或不管它是连接)。第二个角度是第一臂和第二臂之间。

图1:插图显示了2个联合机械臂的两个角,θ₁θ

为什么使用模糊逻辑?

对于简单的结构像2个联合机械手臂,可以推导出数学的角度在关节给定的期望位置的手臂。然而与更复杂的结构(例如:n-joint三维输入空间机械臂操作)逆运动学推导数学解决方案可能具有挑战性。

使用模糊逻辑,我们可以构造一个模糊推理系统,推导出逆向运动学的正运动学问题是已知的,因此回避需要开发一个解析解。同时,模糊的解决方案是容易理解的,不需要特殊的背景知识理解和评价。

在下一节中,一个广泛的概述开发这样一个解决方案,和之后,阐述了详细的步骤。

概述模糊的解决方案

自从2个联合机械手臂的正运动学公式,x和y坐标的手臂为整个范围的角度推导出旋转的两个关节。坐标与角度保存作为训练数据训练一个简称ANFIS网络(自适应神经模糊推理系统)。

在培训期间,简称ANFIS网络学习地图的坐标(x,y)到角(θ₁,θ)。然后作为一个训练有素的简称ANFIS网络的一部分控制系统来控制机器人手臂。知道所需的机械臂的位置,控制系统使用培训简称ANFIS网络推导出角位置的关节和力量适用于相应的关节机械手臂移动到所需的位置。

简称ANFIS是什么?

简称ANFIS代表自适应神经模糊推理系统。这是一个混合神经模糊技术,带来了学习功能的神经网络模糊推理系统。学习算法的曲调Sugeno-type隶属度函数的模糊推理系统使用培训输入/输出数据。

在这种情况下,输入/输出数据指的是“坐标/角”数据集。简称ANFIS和坐标作为输入角度作为输出。学习算法教简称ANFIS的坐标映射到角度通过这一过程被称为训练。最后的训练,训练有素的简称ANFIS网络将所学到的输入输出映射,可以部署到更大的控制系统解决方案。

数据生成

θ₁是第一个手臂与地面的夹角。让θ第二臂的夹角和第一臂(请参考图1插图)。让第一臂的长度l1和第二臂l2

假设第一个关节限制了自由旋转,旋转在0和90度之间。同样,假设第二个关节限制了自由旋转,旋转在0和180度之间。(这个假设就需要处理一些特殊的情况将混淆话语)。因此,0 < =θ₁< =π/ 20 < =θ< =π

图2:插图显示所有可能的θ₁θ值。

现在,每一个的组合θ₁θ值x和y坐标的使用正运动学公式推导。

下面的代码片段显示了数据生成的所有组合的θ₁θ价值观和保存到一个矩阵作为训练数据。储蓄的原因两个矩阵中的数据在以下部分说明。

l1 = 10;%第一臂的长度l2 = 7;%第二臂的长度θ₁= 0:0.1:π/ 2;%所有可能的θ₁值θ= 0:0.1:π;%所有可能的θ值[θ₁,θ₂]= meshgrid(θ₁,θ₂);%生成网格的角度值X = l1 * cos(θ₁)+ l2 * cos(θ₁+θ₂);%计算x坐标Y = l1 * sin(θ₁)+ l2 *罪(θ₁+θ₂);%计算y坐标data1 = [X (:) Y(:)θ₁(:));%创建x-y-theta1数据集data2 = [X (:) Y(:)θ(:));%创建x-y-theta2数据集

下面的图显示了所有的x - y数据点生成的自行车通过不同的组合θ₁θ并推导出x和y坐标。情节可以用下面的代码生成。情节进一步注释更容易理解。

情节(X (:), Y (:), ' r。');轴相等;包含(“X”、“字形大小”,10)ylabel (“Y”字形大小,10)标题(“X - Y坐标所有θ₁和θ₂组合”,“字形大小”,10)

图3:x - y坐标生成θ₁θ组合使用正运动学公式

建立简称ANFIS网络

构建一个简称ANFIS的一种方法解决这个问题,是构建两个简称ANFIS网络,一个预测θ₁和其他预测θ

为了简称ANFIS网络能够预测的角度必须训练样本输入输出数据。第一个简称ANFIS网络将被训练使用X和Y坐标作为输入和相应θ₁值作为输出。矩阵data1包含了x-y-theta1数据集需要第一个简称ANFIS网络训练。因此data1将被用作数据集训练第一简称ANFIS网络。

类似的,第二个简称ANFIS网络将被训练使用X和Y坐标作为输入和相应θ值作为输出。矩阵data2包含了x-y-theta2第二简称ANFIS网络数据集所需的培训。因此data2将被用作数据集训练第二简称ANFIS网络。

训练一个简称ANFIS网络,首先使用指定培训选项anfisOptions命令。对于这个示例,指定一个FIS对象7每个输入变量的隶属度函数。培训系统150年时代和抑制训练的命令窗口显示信息。

选择= anfisOptions;opt.InitialFIS = 7;opt.EpochNumber = 150;opt.DisplayANFISInformation = 0;opt.DisplayErrorValues = 0;opt.DisplayStepSize = 0;opt.DisplayFinalResults = 0;

火车一个简称ANFIS系统使用第一组训练数据,data1

disp (- - >培训第一简称ANFIS网络。)
- - >培训首先简称ANFIS网络。
anfis1 =简称anfis (data1、选择);

更改输入隶属函数和火车的数量简称ANFIS系统使用培训的第二组数据,data2

disp (- - >培训第二简称ANFIS网络。)
- - >培训第二简称ANFIS网络。
opt.InitialFIS = 6;anfis2 =简称anfis (data2选择);

对于这个示例,输入隶属函数的数量和培训时代选择基于实验不同的潜在价值。

anfis1anfis2代表的两个训练有素的简称ANFIS网络部署在更大的控制系统。

培训完成后,两个简称ANFIS网络已经学会近似角度(θ₁,θ)作为一个函数的坐标(x,y)。使用模糊方法的一个优点是,简称ANFIS网络现在可以近似坐标的角度相似但不完全相同的训练。例如,训练有素的简称ANFIS网络现在能够近似的两点之间的角度为坐标,包括在训练数据集。这将允许最后控制器输入空间的手臂顺利。

我们现在有两个训练有素的简称ANFIS网络随时可以部署到更大的系统,该系统将利用这些网络来控制机器人手臂。

验证简称ANFIS网络

训练网络,一个重要的后续步骤是验证网络来确定内简称ANFIS网络会有怎样的表现更大的控制系统。

因为这个示例问题处理的2个联合机械手臂逆运动学公式可以导出,可以测试答案简称ANFIS网络产生的答案派生的公式。

认为重要的是简称ANFIS网络错误在操作范围内较低0 < x < 28 < y < 10

x = 0:0.1:2;% x坐标进行验证y = 8:0.1:10;% y坐标进行验证

θ₁θ值推导出数学的x和y坐标使用逆运动学公式。

(X, Y) = meshgrid (X, Y);c2 = (X。Y ^ 2 +。^ 2 - l1 ^ 2 - l2 ^ 2) / (2 * l1 * l2);s2 =√1 - c2。^ 2);THETA2D =量化(s2 c2);%θ推导出k1 = l1 + l2。* c2;k2 = l2 * s2;THETA1D =量化(Y, X) -量化(k1, k2);%θ₁推导出

THETA1DTHETA2D的变量持有的价值观θ₁θ使用逆运动学公式推导。

θ₁θ值预测的训练简称ANFIS网络是通过使用命令evalfis评估一个FIS给定输入。

在这里,evalfis用于找出FIS输出相同的x - y值使用早些时候逆运动学公式。

XY = (X (:) Y (:));THETA1P = evalfis (anfis1, XY);%θ₁anfis1预测的THETA2P = evalfis (anfis2, XY);% anfis2θ预测

现在,我们可以看到关闭FIS输出对推导出的值。

theta1diff = THETA1D (:)——THETA1P;theta2diff = THETA2D (:)——THETA2P;次要情节(2,1,1)情节(theta1diff) ylabel (“THETA1D THETA1P”)标题(推导出θ₁,预测θ₁次要情节(2,1,2)情节(theta2diff) ylabel (“THETA2D THETA2P”)标题(”推导出θ,θ的预测)

图包含2轴对象。坐标轴对象1标题推断θ₁,预测θ₁,ylabel THETA1D——THETA1P包含一个类型的对象。坐标轴对象与标题推断θ2——预测θylabel THETA2D——THETA2P包含一个类型的对象。

的错误1 e - 3范围是一个相当不错的数字为应用程序中使用。然而这对另一个应用程序可能不是可接受的,在这种情况下的参数简称anfis功能可能被调整,直到到达一个可接受的解决方案。同样,输入选择和替代方法模型等技术问题探讨。

建立一个训练有素的简称ANFIS网络解决方案

现在给定一个特定的任务,例如机器人捡一个对象在一个流水线,大型控制系统将使用训练有素的简称ANFIS网络作为参考,就像一个查找表,来确定角度的武器必须给定的期望位置的手臂。知道所需的角度和目前的关节角度,系统将应用力适当的关节手臂移动到所需的位置。

invkine命令启动一个GUI显示两个训练有素的简称ANFIS网络执行当被问及如何跟踪一个椭圆。

图4:GUI逆运动学建模。

示例中使用的两个简称ANFIS网络pretrained和部署到一个更大的系统,控制2个联合的尖端机器人手臂跟踪输入空间中的一个椭圆。

要跟踪椭圆可以移动。将椭圆稍微不同的位置和观察系统如何响应通过移动机械臂的末端从当前位置最近的点的新位置椭圆。还观察到系统响应顺利只要要跟踪椭圆在“x”标记点代表了数据网格,用于训练网络。一旦椭圆范围外的移动数据训练,简称ANFIS网络回复不可预知的。这强调的重要性,有相关的培训和代表性的数据。数据必须生成预期范围的基础上操作来避免这样的不可预测性和不稳定性的问题。

另请参阅

|

相关的话题