基于神经网络的双足机器人逆运动学求解_李霞

基于神经网络的双足机器人逆运动学求解_李霞
基于神经网络的双足机器人逆运动学求解_李霞

基于神经网络的双足机器人逆运动学求解*

李霞,谢涛,陈维山

(哈尔滨工业大学机械电子工程教研室,黑龙江哈尔滨150001)

摘要:运动学求解是双足机器人步态规划的基础。针对HIT-ó双足机器人实体,利用BP神经网络,求解了双足步行机器人逆运动学问题。为了满足机器人在线实时控制的要求及进一步提高运算精度,提出用迭代计算进行误差补偿的方法。计算结果表明,该法迭代次数少,计算精度高。

关键词:双足步行机器人;逆运动学问题;神经网络;误差补偿

中图分类号:T242.3文献标识码:A文章编号:1001-2354(2003)04-0036-03

双足机器人的逆运动学可以描述为给定摆动腿的期望位姿,求解各关节角使机器人满足这个位姿的问题,即已知运动学正解映射f:Q y S和一期望的位姿s I S,通过求解f(H)= s来获得H I Q。逆运动学求解比正运动学求解复杂得多,主要表现在解的存在性和唯一性。存在性是指在数学上至少存在一组关节变量来产生希望的机器人位姿。唯一性是指在数学上仅有一组确定的关节变量来产生希望的机器人位姿。运动学逆解可能有多解、唯一解或无解,且不一定存在闭式逆解。逆运动学问题的一般解法是,当机器人至少存在相交轴线时,将逆运动学问题分解为几个典型的子问题来求解[1]。已经证明:只有三个相邻关节轴满足交于一点或相互平行的条件下,才能获得一组封闭形式的解[2]。对于H IT-ó双足机器人来说,其相邻关节轴之间不满足这个条件,故不能获得解析形式的关节角的值。因此,不得不使用某种数值算法,逆运动学问题成为一个非线性超越方程的数值求解问题。但这种数值求解问题存在两个困难:一是它一般不能给出全部可能的解;二是现在的机器人控制系统通常要求实时计算逆运动学,因而必须具有快速性质,而常规的数值解法的迭代性质使得解的精度不高或花时太多。

人工神经网络在解决非线性映射方面的问题时有强大的逼近能力,在机器人领域可用于操作手运动学及动力学模型的自动辨识、障碍回避与路径优化以及机器人控制等一系列问题[3]。结合位置正解模型,采用了BP神经网络,通过对大量样本的训练学习,实现了机器人从工作变量空间到关节变量空间的非线性映射,从而避免了求解位置逆解时公式推导和编程计算等繁杂的过程,且实现了控制过程的实时性要求。但常规的BP网络的求解精度难以满足机器人精确控制的要求。为提高逆解求解精度,采用迭代计算进行误差补偿。以HIT-ó机器人为例,得到了比较精确的位置逆解求解结果,且运算时间可以达到实时性的要求。

1BP神经网络模型

BP神经网络的结构参数参见文献[4]。其学习过程由前向计算过程和误差反向传播过程组成,前向计算过程如下。

(1)输入层节点i的输出o i等于其输入L i。

(2)隐层节点j的输入、输出分别为:

net j=E

i

X j i o i+H j

o j=f(net j)=[1+exp(-net j)]-1

式中:X

ji

)))隐层节点j与上一层节点i之间的连接权重;

H

j

)))隐层节点j的阈值;

f)))非线性Sigmoid函数。

(3)输出层节点k的输入、输出分别为:

net k=E

j

X

kj

o j+H k

o k=g(net k)=net k

式中:X

kj

)))输出层节点k与上一层节点j之间的连接权重;

H k)))输出层节点k的阈值;

g)))线性purelin函数。

对于给定的训练样本集:(x p1,x p2,,,x pN)y(t p1,t p2, ,,t pK),p=1,2,,,P为样本序号,网络的系统误差表示为:

E p=(1/2)E K

k=1

(t p k-o p k)2

E=(1/2P)E P

p=1

E p

式中:P)))训练样本数;

t pk,o p k)))第p样本的第k输出单元的目标输出和网络运算结

果。

网络训练学习的过程就是通过调节网络内部连接权重,使网络误差最小化的过程。BP网络的连接权重调整过程也就是误差反向传播过程。

对于输出层与隐层之间的权值X kj,有:

X

kj

(n+1)=X kj(n)+GD k o j+A[X kj(n)-X kj(n-1)]

D k=g c(net k)(t k-o k)=(t k-o k)

式中:t

k

)))节点k的目标输出。

对于隐层与输入层之间的权值X ji有:

X

ji

(n+1)=X j i(n)+G D j o i+A[X j i(n)-X j i(n-1)]

D j=f c(net j)E

k

(X kj D k)=o j(1-o j)E

k

(X kj D k)

第20卷第4期2003年4月

机械设计

JO UR NAL OF M ACHIN E DESIGN

V ol.20N o.4

Apr.2003

*收稿日期:2002-05-28;修订日期:2002-11-25

基金项目:国家自然科学基金资助项目(69475018)

作者简介:李霞(1973-),女,山东省郓城人,博士研究生,研究领域:机器人技术。

式中:n )))迭代运算次数; G )))学习率,0

A )))惯性系数,用以调整学习的收敛速度。

BP 网络是目前比较成熟且广泛应用的一种网络。它把一组训练样本的输入输出问题变为一个非线性优化问题。从映射的角度看,神经网络实现了输入模式空间到输出模式空间的非

线性映射关系。

2 基于BP 网络的H IT -ó双足

机器人逆运动学求解实例

由于不涉及转体运动,因此模型中将两转体关节忽略。HIT -ó双足机器人的杆件定义、杆件长以及杆件坐标系的建立如图1

所示。

图1 H IT-ó双足步行机器人关节坐标系

首先将机器人的上体定义为杆件1,从机器人的右腿开始从上往下依次定义杆件2~6,相应的关节分别定义为关节1~

5,左腿从上向下依次定义杆件7~11,相应的关节分别定义为6~10,杆件坐标系{2}~{11}分别建在关节{1~10}且固连在杆件2~11上。D -H 参数如表1。

表1 H IT-ó双足机器人杆件参数

关节i H i A i a i (mm )

d i (mm )

关节角范围(rad )1U 1+90b 90b -850

[-0.65,0.65]2U 2+90b -90b -1200[-0.65,0.65]3U 390b -2900[-0.65,0.65]4U 490b -1700[-0.9~0]5U 5-90b -800[-0.65,0.65]6U 6+90b 90b -850[-0.65,0.65]7U 7-90b 90b -1200[-0.65,0.65]8U 8

0b -2900[-0.65,0.65]9U 9-90b -170

0[-0.9~0]10

U 10

90b

-80

[-0.65,0.65]

为了训练网络,由循环程序给出机器人的关节变量(H 1p ,H 2p ,,,H 10p ),然后通过正解运算求得相应的摆动腿的位姿(x p ,y p ,z p ,o

p ,A p ,T p )。从而得到学习样本:

{x p ,y p ,z p ,o p ,A p ,T p }y {H 1p ,H 2p ,,,H 10p }

在整个机器人工作空间内选取了1003组学习样本。网络结构选用6个输入节点和10个输出节点。其中输入为HI T -ó双足机器人样机行走试验时摆动腿末端的实际位姿,输出为步

态规划的期望关节角。经过多次试验和比较,决定采用一个中

间层。中间层的神经元数目为18。训练算法采用Levenber g -M arquardt 优化方法。经过大约200次迭代学习后,网络的系统误差约为10-6。当继续对网络进行训练学习时,其系统误差降低的速度已经十分缓慢。图2所示为该网络训练学习迭代次数与系统误差之间的关系。

每个关节的误差用下式计算:

E =(H it -H ibp ) (i =1,2,,,10)

式中:H it (i =1,2,,,10))))机器人给定的关节向量,即期望输出;

H ibp (i =1,2,,,10))))网络计算出的机器人关节向量,单位采

用弧度制。

测试数据取100组解,每组解的均方差E s ,也就是关节变

量空间的均方差,用下式计算:

E s =

1n

@E n

i=1

(H it -H ibp )

21/2

式中:n =10,且n 为关节的个数。

100组解的平均均方差为8.7954e -004rad ,其最大均方差为1.2405e -003r ad ,最小的均方差为5.9357e -006rad ,均方差曲线如图3所示。

图2 训练误差E 和训练 图3 关节变量空间的 次数N 的关系

均方差曲线

下面以具有代表性的关节1和关节2为例,对其网络计算

出的关节向量与期望输出的关节向量的误差进行分析,误差曲线如图4。图中横坐标为训练数据,纵坐标为误差。关节1的关节角的最大误差为6.4827e -003rad ,最小误差为-3.0850e -003rad 。即最大误差为0.3714b ,最小误差为-0.1768b 。关节2的关节角的最大误差为2.1074e -003rad ,最小误差为-2.1200e -003r ad 。即最大误差为0.1208b ,最小误差为-0.1215b 。显然,BP 网络算法已经达到了一定的精度,但还不能满足机器人控制的精确要求。

由于双足机器人关节多,计算量大,对于实时控制状态要求计算速度快,精度准确。因此模型利用matlab6.1编程,该程序简单、计算速度快、精度高。若测试数据取100组样本,则耗时6.59ms ,测试数据取10组样本,则耗时0.832ms ,对于机器人在线实时控制有较高的参考价值。

关节1 关节2

图4 ANN 输出与期望输出的关节角误差曲线

3 误差补偿算法

37

2003年4月

李霞,等:基于神经网络的双足机器人逆运动学求解

为了进一步得到指导在线行走的参考步态,获得较为满意的精度,采用迭代算法对误差进行补偿,以期获得满意的结果。误差补偿算法流程如图5

所示。

图5 误差补偿算法流程

其中,P n ew 是对关节向量T i 进行运动学正解运算所得位姿向量;T i+1为以P new 为输入经网络逆解运算所得关节向量;误差Er ror =T i+1-T i ;偏差P e =P new -P in ;误差补偿是采用P in -P e 作为下一循环的网络输入。

采用误差补偿算法之后,逆解计算的精度得到大幅提高,且只需很少几次迭代。对测试数据进行了验证计算,经过3次迭代后,100组解的平均均方差为4.7138e -007rad ,其中最大均方差为1.8571e -006rad ,最小的均方差为5.7541e -010r ad ,均方差误差曲线如图6所示。经迭代后的各个关节角误差均大大减小,以关节1和关节2为例,关节1的最大误差为2.2985e -006rad ,最小误差为-5.9031e -007rad ,关节2的最大误差为5.2273e -007rad ,最小误差为-1.4888e -007r ad ,已能满足机器人控制精度要求。相应的误差曲线如图7所示,横坐标为训练数据,纵坐标为误差。在CPU 为P entin ó800M 的计算机上测试,经过三次迭代运算,取100组样本耗时约为21.921ms ,取10组样本时,耗时为2.2330ms ,已接近机器

人实时控制的要求。

图6

误差补偿后关节变量空间的均方差

关节1 关节2

图7 误差补偿后ANN 输出与期望输出的关节角误差曲线4 结论

通过计算实例可以看出,在H IT -ó双足机器人步态规划中,利用神经网络求解机器人逆运动学是可行的。与传统的求解方法相比,它有下列特点:

(1)由于HIT -ó自由度较多,运算量大,且控制精度要求高,传统的求解方法难以实现。利用神经网络求解方法,可以实现从工作变量空间到机器人关节变量空间的复杂非线性映射关系,避免了求解逆运动学时公式的推导和编程计算等繁杂的过程。且求解计算简单,实用性好。同时也适用于逆解无解析解的一般机器人以及冗余机器人。

(2)如果单纯的BP 网络的求解精度难以满足机器人精确控制和在线实时控制的要求,可用误差补偿的方法来提高计算精度。

(3)神经网络对信息的处理及推理的过程具有并行的特点。因此,基于神经网络的逆运动学求解是极具发展前途的方

法。

总之,应用神经网络求解双足机器人逆运动学是一种全新的、简单可行的方法,而且效率高,精度高。随着计算机性能的不断提高和神经网络理论及其算法的不断改善,其在机器人在线实时控制中及其他领域必将有越来越广泛的应用。

参考文献

[1] M Raibert,S Tzafesitas,C T zafesi https://www.360docs.net/doc/6d17022765.html,pactive simulation study

of three control technology applied to a biped robot [J ].J .of Robotics System.1993:6(4):494-502.

[2] S T zafesitas,M Raibert.Robust sliding model control applied to

5link biped robot[J].J .of Robotics System.1993:6(12):890-902.

[3] F Rosenblatt.Principles of neuro dynamics [M ].Spartan Book

Press,Part 4,New York,1995:1-20.

[4] 张际先,宓霞.神经网络及其在工程中的应用[M ].北京:机械工

业出版社,1996.

Inverse kinematics solution of biped robot based on neural network

LI X ia,X IE Tao,CHEN We-i shan

(T eaching&Research Section of M echatro nic Eng ineering,Harbin I nst itute of T echnolog y,Harbin 150001,China)

Abstract:K inematics so lution i s t he base of tread plan of biped

r obot.A iming at the entit y of HIT -óbiped robot and utilizing BP neural networ k the inverse kinematics issue of biped w alking r obot is solv ed.By the use of iter ative calculation this paper put forw ard a method to carry out error compensation for the sake of sat isfying the requirements of on-line and r eal-time control of r obot and of further enhancing t he oper ational accuracy.T he result of calculation shows t hat this metho d has the advantages of less number o f iter atio n times and high computing accuracy.

Key words:biped w alking robot;issues of inverse kinematics;neural networks;erro r-compensation

Fig 7T ab 1Ref 4

/Jix ie Sheji 02398

38

机 械 设 计第20卷第4期

机器人运动学精品教程

第2章机器人位置运动学 2.1 引言 本章将研究机器人正逆运动学。当已知所有的关节变量时,可用正运动学来确定机器人末端手的位姿。如果要使机器人末端手放在特定的点上并且具有特定的姿态,可用逆运动学来计算出每一关节变量的值。首先利用矩阵建立物体、位置、姿态以及运动的表示方法,然后研究直角坐标型、圆柱坐标型以及球坐标型等不同构型机器人的正逆运动学,最后利用Denavit-Hartenberg(D-H表示法来推导机器人所有可能构型的正逆运动学方程。 实际上,机器手型的机器人没有末端执行器,多数情况下,机器人上附有一个抓持器。根据实际应用,用户可为机器人附加不同的末端执行器。显然,末端执行器的大小和长度决定了机器人的末端位置,即如果末端执行器的长短不同,那么机器人的末端位置也不同。在这一章中,假设机器人的末端是一个平板面,如有必要可在其上附加末端执行器,以后便称该平板面为机器人的“手”或“端面”。如有必要,这里还可以将末端执行器的长度加到机器人的末端来确定末端执行器的位姿。 2.2 机器人机构 机器手型的机器人具有多个自由度(DOF),并有三维开环链式机构。 在具有单自由度的系统中,当变量设定为特定值时,机器人机构就完全确定了,所有其他变量也就随之而定。如图2.1所示的四杆机构,当曲柄转角设定为120°时,则连杆与摇杆的角度也就确定了。然而在一个多自由度机构中,必须独立设定所有的输入变量才能知道其余的参数。机器人就是这样的多自由度机构,必须知道每一关节变量才能知道机器人的手处在什么位置。 图2.1 具有单自由度闭环的四杆机构 如果机器人要在空间运动,那么机器人就需要具有三维的结构。虽然也可能有二维多自由度的机器人,但它们并不常见。 机器人是开环机构,它与闭环机构不同(例如四杆机构),即使设定所有的关节变量,也不能确保机器人的手准确地处于给定的位置。这是因为如果关节或连杆有丝毫的偏差,该关节之后的所有关节的位置都会改变且没有反馈。例如,在图2.2所示的四杆机构中,如果连杆AB偏 移,它将影响杆。而在开环系统中(例如机器人),由于没有反馈,之后的所有构件都会发生偏移。于是,在开环系统中,必须不断测量所有关节和连杆的参数,或者监控系统的末

工业机器人的基本参数和性能指标

工业机器人的基本参数和性能指标 表示机器人特性的基本参数和性能指标主要有工作空间、自由度、有效负载、运动精度、运动特性、动态特性等。 (1)工作空间(Work space)工作空间是指机器人臂杆的特定部位在一定条件下所能到达空间的位置集合。工作空间的性状和大小反映了机器人工作能力的大小。理解机器人的工作空间时,要注意以下几点: 1)通常工业机器人说明书中表示的工作空间指的是手腕上机械接口坐标系的原点在空间能达到的范围,也即手腕端部法兰的中心点在空间所能到达的范围,而不是末端执行器端点所能达到的范围。因此,在设计和选用时,要注意安装末端执行器后,机器人实际所能达到的工作空间。 2)机器人说明书上提供的工作空间往往要小于运动学意义上的最大空间。这是因为在可达空间中,手臂位姿不同时有效负载、允许达到的最大速度和最大加速度都不一样,在臂杆最大位置允许的极限值通常要比其他位置的小些。此外,在机器人的最大可达空间边界上可能存在自由度退化的问题,此时的位姿称为奇异位形,而且在奇异位形周围相当大的范围内都会出现自由度进化现象,这部分工作空间在机器人工作时都不能被利用。 3)除了在工作守闻边缘,实际应用中的工业机器人还可能由于受到机械结构的限制,在工作空间的内部也存在着臂端不能达到的区域,这就是常说的空洞或空腔。空腔是指在工作空间内臂端不能达到的完全封闭空间。而空洞是指在沿转轴周围全长上臂端都不能达到的空间。 (2)运动自由度是指机器人操作机在空间运动所需的变量数,用以表示机器人动作灵活程度的参数,一般是以沿轴线移动和绕轴线转动的独立运动的数目来表示。 自由物体在空间自六个自由度(三个转动自由度和三个移动自由度)。工业机器人往往是个开式连杆系,每个关节运动副只有一个自由度,因此通常机器人的自由度数目就等于其关节数。机器人的自由度数目越多,功能就越强。日前工业机器人通常具有4—6个自由度。当机器人的关节数(自由度)增加到对末端执行器的定向和定位不再起作用时,便出现了冗余自由度。冗余度的出现增加了机器人工作的灵活型,但也使控制变得更加复杂。 工业机器人在运动方式上,总可以分为直线运动(简记为P)和旋转运动(简记为R)两种,应用简记符号P和R可以表示操作机运动自由度的特点,如RPRR表示机器人操作机具有四个自由度,从基座开始到臂端,关节运动的方式依次为旋转-直线-旋转-旋转。此外,工业机器人的运动自由度还有运动范围的限制。 (3)有效负载(Payload)有效负载是指机器人操作机在工作时臂端可能搬运的物体重量或所能承受的力或力矩,用以表示操作机的负荷能力。 机器人在不同位姿时,允许的最大可搬运质量是不同的,因此机器人的额定可搬运质量是指其臂杆在工作空间中任意位姿时腕关节端部都能搬运的最大质量。

SCARA机器人的运动学分析

电子科技大学 实验报告 学生姓名: 一、实验室名称:机电一体化实验室 二、实验项目名称:实验三SCARA 学号: 机器人的运动学分析 三、实验原理: 机器人正运动学所研究的内容是:给定机器人各关节的角度,计算机器人末端执行器相对于参考坐标系的位置和姿态问题。 各连杆变换矩阵相乘,可得到机器人末端执行器的位姿方程(正运动学方程) 为: n x o x a x p x 0T40T1 11T2 22T3 d3 n y o y a y p y ( 1-5)3T4 4= o z a z p z n z 0001 式 1-5 表示了 SCARA 手臂变换矩阵0 T4,它描述了末端连杆坐标系{4} 相对基坐标系 {0} 的位姿,是机械手运动分析和综合的基础。 式中: n x c1c2c4s1 s2 c4 c1 s2s4s1 c2 s4,n y s1c2 c4c1 s2 c4s1 s2 s4c1c2 s4 n z0 , o x c1c2 s4s1 s2 s4 c1 s2 c4s1c2c4 o y s1c2 s4c1 s2 s4s1 s2 c4c1c2c4 o z0 , a x0 , a y0 , a z1 p x c1 c2 l2s1s2l 2c1l 1, p y s1c2 l 2 c1 s2 l 2 s1l1, p z d3 机器人逆运动学研究的内容是:已知机器人末端的位置和姿态,求机器人对应于这个位置和姿态的全部关节角,以驱动关节上的电机,从而使手部的位姿符合要求。与机器人正运动学分析不同,逆问题的解是复杂的,而且具有多解性。

1)求关节 1: 1 A arctg 1 A 2 l 12 l 22 p x 2 p y 2 arctg p x 式中:A p x 2 ; p y 2l 1 p y 2 2)求关节 2: 2 r cos( 1 ) arctg ) l 1 r sin( 1 式中 : r p x 2 p y 2 ;arctg p x p y 3). 求 关节变 量 d 3 令左右矩阵中的第三行第四个元素(3.4)相等,可得: d 3 p z 4). 求 关节变 量 θ 4 令左右矩阵中的第二行第一个元素(1.1,2.1 )相等,即: sin 1 n x cos 1n y sin 2 cos 4 cos 2 sin 4 由上式可求得: 4 arctg ( sin 1 n x cos 1 n y )2 cos 1 n x sin 1 n y 四、实验目的: 1. 理解 SCARA 机器人运动学的 D-H 坐标系的建立方法; 2. 掌握 SCARA 机器人的运动学方程的建立; 3. 会运用方程求解运动学的正解和反解; ( 1-8) ( 1-9) ( 1-10 )

六轴运动机器人运动学求解分析

六轴联动机械臂运动学及动力学求解分析 V0.9版 随着版本的不断更新,旧版本文档中的一些笔误得到了修正,同时文档内容更丰富,仿真程序更完善。 作者朱森光 Email zsgsoft@https://www.360docs.net/doc/6d17022765.html, 完成时间 2016-02-28

1引言 笔者研究六轴联动机械臂源于当前的机器人产业热,平时比较关注当前热门产业的发展方向。笔者从事的工作是软件开发,工作内容跟机器人无关,但不妨碍研究机器人运动学及动力学,因为机器人运动学及动力学用到的纯粹是数学和计算机编程知识,学过线性代数和计算机编程技术的人都能研究它。利用业余时间翻阅了机器人运动学相关资料后撰写此文,希望能够起到抛砖引玉的作用引发更多的人发表有关机器人技术的原创性技术文章。本文内容的正确性经过笔者编程仿真验证可以信赖。 2机器建模 既然要研究机器人,那么首先要建立一个机械模型,本文将以典型的六轴联动机器臂为例进行介绍,图2-1为笔者使用3D技术建立的一个简单模型。首先建立一个大地坐标系,一般教科书上都是以大地为XY平面,垂直于大地向上方向为Z轴,本文为了跟教科书上有所区别同时不失一般性,将以水平向右方向为X轴,垂直于大地向上方向为Y轴,背离机器人面向人眼的方向为Z轴,移到电脑屏幕上那就是屏幕水平向右方向为X轴,屏幕竖直向上方向为Y轴,垂直于屏幕向外为Z轴,之所以建立这样不合常规的坐标系是希望能够突破常规的思维定势训练在任意空间建立任意坐标系的能力。 图2-1 图2-1中的机械臂,底部灰色立方体示意机械臂底座,定义为关节1,它能绕图中Y轴旋转;青色长方体示意关节2,它能绕图中的Z1轴旋转;蓝色长方体示意关节3,它能绕图中的Z2轴旋转;绿色长方体示意关节4,它能绕图中的X3轴旋转;深灰色长方体示意关节5,它能绕图中的Z4轴旋转;末端浅灰色机构示意关节6即最终要控制的机械手,机器人代替人的工作就是通过这只手完成的,它能绕图中的X5轴旋转。这儿采用关节这个词可能有点不够精确,先这么意会着理解吧。 3运动学分析 3.1齐次变换矩阵 齐次变换矩阵是机器人技术里最重要的数学分析工具之一,关于齐次变换矩阵的原理很多教科书中已经描述在此不再详述,这里仅针对图2-1的机械臂写出齐次变换矩阵的生成过程。首先定义一些变量符号,关节1绕图中Y轴旋转的角度定义为θ0,当θ0=0时,O1点在OXYZ坐标系内的坐标是(x0,y0,0);关节2绕图中的Z1轴旋转的角度定义为θ1,图中的θ1当前位置值为+90度;定义O1O2两点距离为x1,关节3绕图中的Z2轴旋转的角度定义为θ2,图中的θ2当前位置值为-90度;O2O3两点距离为x2,关节4绕图中的X3轴旋转的角度定义为θ3, 图中的θ3当前位置值为0度;O3O4两点距离为x3,关节5绕图中的Z4轴旋转的角度定义为θ4, 图中的θ4当前位置值为-60度;O4O5两点距离为x4,关节6绕图中的X5轴旋转的角度定义为θ5, 图中的θ5当前位置值为0度。以上定义中角度正负值定义符合右手法则,所有角度定义值均为本关节坐标系相对前一关节坐标系的相对旋转角度值(一些资料上将O4O5两点重合在一起即O4O5两点的距离x4退化为零,本文定义x4大于零使得讨论时更加不失一般性)。符号定义好了,接下来描述齐次变换矩阵。 定义R0为关节1绕Y轴的旋转矩阵 =cosθ0 s0 = sinθ0 //c0 R0 =[c0 0 s0 0 0 1 0 0 0 c0 0 -s0 0 0 0 1] 定义T0为坐标系O1X1Y1Z1相对坐标系OXYZ的平移矩阵 T0=[1 0 0 x0 0 1 0 y0 00 1 0 0 0 0 1] 定义R1为关节2绕Z1轴的旋转矩阵 R1=[c1 –s1 0 0 s1 c1 0 0

机器人逆运动学

clear; clc; L1 = Link('d', 0, 'a', 0, 'alpha', pi/2); %Link 类函数 L2 = Link('d', 0, 'a', 0.5, 'alpha', 0,'offset',pi/2); L3 = Link('d', 0, 'a', 0, 'alpha', pi/2,'offset',pi/4); L4 = Link('d', 1, 'a', 0, 'alpha', -pi/2); L5 = Link('d', 0, 'a', 0, 'alpha', pi/2); L6 = Link('d', 1, 'a', 0, 'alpha', 0); b=isrevolute(L1); %Link 类函数 robot=SerialLink([L1,L2,L3,L4,L5,L6]); %SerialLink类函数https://www.360docs.net/doc/6d17022765.html,='带球形腕的拟人臂'; %SerialLink属性值robot.manuf='飘零过客'; %SerialLink属性值robot.display(); %Link 类函数 theta=[0 0 0 0 0 0]; robot.plot(theta); %SerialLink类函数 theta1=[pi/4,-pi/3,pi/6,pi/4,-pi/3,pi/6]; p0=robot.fkine(theta); p1=robot.fkine(theta1); s=robot.A([4 5 6],theta); cchain=robot.trchain; q=robot.getpos(); q2=robot.ikine(p1); %逆运动学 j0=robot.jacob0(q2); %雅可比矩阵 p0 = -0.7071 -0.0000 0.7071 1.4142 0.0000 -1.0000 -0.0000 -0.0000 0.7071 0.0000 0.7071 1.9142 0 0 0 1.0000 p1 = 0.9874 0.1567 0.0206 1.0098 0.0544 -0.4593 0.8866 1.8758 0.1484 -0.8743 -0.4621 0.0467 0 0 0 1.0000 >>s s =

基于MATLAB的六自由度工业机器人运动分析和仿真

基于MATLAB 的六自由度工业机器人运动分析及仿真 摘要: 以FANUC ARC mate100工业机器人为研究对象,对其机构和连杆参数进行分析,采用D-H 法对机器人进行正运动学和逆运动学分析,建立运动学方程。在MATLAB 环境下,运用机器人工具箱进行建模仿真,仿真结果证明了所建立的运动学正、逆解模型的合理性和正确性。 关键词:FANUC ARC mate100工业机器人; 运动学; MATLAB 建模仿真 1引言 工业机器人技术是在控制工程、人工智能、计算机科学和机构学等多种学科的基础上发展起来的一种综合性技术。经过多年的发展,该项技术已经取得了实质性的进步[1]。工业机器人的发展水平随着科技的进步和工业自动化的需求有了很大的提高,同时工业机器人技术也得到了进一步的完善。工业机器人的运动学分析主要是通过工业机器人各个连杆和机构参数,以确定末端执行器的位姿。工业机器人的运动学分析包括正运动学分析和逆运动学分析。 随着对焊接件要求的提高,弧焊等机器人的需求越来越多。本文就以FANUC ARC mate100机器人为研究对象,通过分析机构和连杆参数,运用D-H 参数法建立坐标系,求出连杆之间的位姿矩阵,建 立工业机器人运动学方程。并在MATLAB 环境下, 利用RoboticsToolbox 进行建模仿真。 2 FANUC ARC mate100 D-H 坐标系的建立mate100是FANUC 公司生产的6自由度工业机器人,包括底座、机身、臂、手腕和末端执行器,每个自由度对应一个旋转关节,如图1所示。 图1FANUC ARC mate 100机器人三维模型 DENAVIT 和HARTENBERG 于1955年提出了一种为关节链中的每一个杆件建立坐标系的矩阵方法,即D-H 参数法,在机器人运动学分析得到了广泛运用。采用这种方法建立坐标系: (1) Z i 轴沿关节i +1的轴线方向。 (2) X i 轴沿Z i-1和Z i 轴的公法线方向,且指向背离Z i-1轴的方向。 (3) Y i 轴的方向必须满足Y i = Z i *X i ,使坐标系为右手坐标系。 按照上述方法,建立坐标系如图 2 所示。 J 4 J 3 J 5 J 2 J 1 J 6

相关文档
最新文档