中国科技论文在线
http://www.paper.edu.cn
Stewart 型六自由度平台正反解研究
蔡保富,廖传书
武汉理工大学 电信系,武汉(430070)
E-mail: cbf65627972@126.com
摘 要:本文研究了 Stewart 型六自由度平台的正解和反解。根据 Stewart 型六自由度平台
的结构的特点,为了达到高精度的实时控制,设计出具有算法简单、效率高,并具有易于编
程的正反解算法。本算法已经在 MATLAB 下仿真模拟过,并嵌入到实际平台上 VxWorks
系统下实际实现。本文介绍这一算法的实现思想。
关键词:Stewart 型六自由度平台;正解;反解;实时控制;VxWorks
1 引 言
六自由度运动平台是一种重要的仿真实验设备,其应用范围非常广泛。因其结构简单、
高刚度、高精度和高负载能力等优点,六自由度运动平台已成为飞机、舰船、宇航和车载设
备进行动态可靠性研究的重要模拟试验装置。这种系统普遍采用 Stewart 平台及其变形机构,
平台有上下两个平台和 6 个并联的、可独立自由伸缩的杠杆组成,伸缩杠和平台之间通过球
铰链联接,通过改变伸缩杠的长度可以实现上动台面的空间多自由度运行[1]。
对于并联机构的六自由度平台在运动过程中,要保证运动的实时性和正确性,就需要通
过对伸缩杠的精确控制来实现,这就需要引入六自由度平台的实时位置正反解算法。所谓六
自由度平台的位置反解,是指由运动平台的空间姿态求六个伸缩杠的伸缩量。而六自由度的
位置正解,是指有六个伸缩杠的伸缩量来求运动平台的空间姿态[2]
本课题就是通过对 Stewart 型六自由度运动平台的研究,建立一种具有运动学正反解的
数学模型,通过计算机程序实现该数学模型,仿真并实际运行。
2 运动平台空间位置分析
对于一种机构的运动分析包括位置分析、速度分析和加速度分析三部分,位置分析是运
动学分析最基本的任务。机构的位置分析是求解机构的输出和输入构件之间的位置关系。对
于 Stewart 型六自由度平台就是六个输入杠的长度和作为输出的运动平台的姿态和位置之间
的关系[3]。
位置解有封闭解法和数值解法两种。封闭解法通常是采用多种方法从约束方程组中消去
未知数,以得到单参数的多项式后再求解。封闭解法有许多的方法,包括矢量代数法、几何
法、矩阵法、螺旋代数法等等。其优点是在得到解析表达式后理论上还有很多应用,而且能
够得到全部解,其缺点是难度很大,没有通用性。而数值法通常采用跌代法、连续法等等方
式求方程组的代数值。优点是可以比较迅速方便的得到机构的位置解,缺点是一般得不到全
部的解,不适合做理论上的研究[4]。
本课题中六自由度运动平台的反解是通过封闭解法得到的,而正解采用的数值解法。
3 六自由度运动平台反解的研究
如图 1, ,
,X Y Z ,在驱动器
的作用下改变伸缩杠的长度,使上平台的位置和状态发生变化。若给定了上平台的空间位置
x y z 分别为空间的 3 个方向,对于与图中的 ',
,
X Y Z 和 ,
',
'
资助来源:中国科学院声学所研究基金
-1-
中国科技论文在线
http://www.paper.edu.cn
和姿态,分别为 ,
的位置反解[5][6]。
x y z 方向上的转角值和平移量,求各个杠长,即各缸的位移,这就是平台
,
图 1 Stewart 型六自由度平台
在上平台建立一个坐标系中初始状态下,动坐标系 '
X Y Z 建立在上平台上的中心位
置,这样上下台面的 12 个点都对应一个初始坐标值[7]。当上台面改变时可以根据平面与平
面上点的关系求出此时新点的坐标值 P 。
'
'
'
+
=
P
P T P
* 0
其中T 为上台面姿态的方向余旋,
(1)
T
1* 2* 3
(2)
0 sin
β
⎞
⎟
1
0
⎟
⎟
0 cos
β
⎠
cos
γ
⎞
⎟
sin
α
γ
⎟
⎟
0
α
⎠
,αβγ分别为上平台在 ,
x y z 方向上的转角,得到的 1, 2, 3
T T T
cos
0
sin
0
1
0 cos
α
0 sin
α
sin
γ
−
cos
γ
0
0
sin
−
cos
(3)
=
β
0
0
1
T
, 2
T
, 3
⎛
⎜
⎜
⎜
⎝
⎛
⎜
⎜
⎜
⎝
⎞
⎟
⎟
⎟
⎠
⎛
⎜
⎜
⎜
⎝
β
T
=
−
=
=
1
,
,
T T T 分别是在坐标系下的 3
x y z 方向上的 3 个位移量。这样有空
,
个方向余旋。 0P 为初始点的坐标值, 'P 为上平台在 ,
间点的几何关系可以得到平台的位置反解计算方程
6
2
)
(
1
=
−
=
L
i
P
ix
B
ix
∑
i
其中 iL 为 6 个缸长值, ,
P P P 为上台面的 6 个动点的坐标值, ,
B B B 为下台面
ix
ix
(4)
B
iy
B
iz
P
iy
P
iz
+
−
+
−
(
)
(
)
,
,
iy
iy
iz
iz
2
2
6 个静点的初始坐标值。
这样就可以得到 6 个独立的显式方程,当已知机构的基本尺寸和上台面的位置和姿态
后,就可以利用上式来求出 6 个缸的位移了。达到反解出杠长的目的。
4 六自由度正解的研究
由于并联机构结构的复杂性,六自由度运动平台的位置正解难度比较大。普通的解析法
虽然适合做理论上的研究,但是因实现难度太大,不适合工程上的应用,因而这里我们采用
数值解法来求解,从而求得缸长对应的上平台的位置和姿态,即 X,Y,Z 方向的转角值和
平移量[7]。
在这里我选择在数值解法中比较适用的牛顿跌代法来求解。
4.1 牛顿跌代法
-2-
中国科技论文在线
http://www.paper.edu.cn
跌代法是一种重要的逐次逼近的求根方法,它是利用某个固定的公式,把选定的方程的
根的初值反复代入,以校正根的近视值,使之逐步精确化,最后得到满足精度要求的解。
f x = 转化为某个
牛顿跌代法是一种常用的跌代方法,其基本思想是把非线性方程 ( )
0
线性方程求解。
设已知方程 ( )
f x = 的一个近似根为 0x ,则函数 ( )
f x 在 0x 附近可以用一阶泰勒多项
0
式表示并化简的
= (5)
0
f
x
+
0)
x
'( 0)(
f x
x
( 0)
−
可以得到跌代公式
x
x
) /
)
n
n
由导数的定义我们可以得
f x
x
(
n
n
f x
(
n
f x
(
n
+ =
1
+ =
1
) [(
x
n
x
n
−
−
'(
f
(6)
+ ∆ −
)
f x
(
n
))
]
∆ (7)
跌代是个无限的过程,而实际计算过程中只能跌代有限次,为了节省计算时间,就要求
跌代的收敛速度快。牛顿跌代法的收敛速度较快。在实际的跌代中,只要前后两次跌代之差
的绝对值不超过允许的误差ε,即满足
x
n
ε−−
|
< (8)
x
|
n
即 nx 的真实根的误差不会超过ε,我们就取 nx 为方程的根。
1
4.2 正解方程
正解方程可以由反解方程变化而来。只是由于正解方程用解析式表示起来过于麻烦,
所以这里我们通过向量或矩阵的方式来表示,那样无论是理解还是实现起来都要容易一些。
由式子(1),(2),(3)得
=
=
P
'
(9)
P B
'
+
−
(10)
P T P
* 0
+
T P
L
( * 0
2
上式中 0P 为初始点坐标的一个 3*1 的行列式,T 为包含 3 个角度变量的 3*3 余旋矩阵,
'P 为包含 3 个位移变量的 3*1 的行列式,P 为新的空间坐标点的一个 3*1 的行列式 B 为下
台面相应基点的坐标,L 为上台面点离对应基点的距离(即缸长)
T P
)*( * 0
P B
'
−
)T
+
令
5
∑
i
=
0
F x y z l m n
, )
i
( ,
, ,
,
=
T P
( * 0
i
i
+
P
'
i
−
B
i
T P
)*( * 0
i
i
+
P
'
i
−
B
i
)T
−
2
L
i
(11)
解非线性方程组(10)就可以得到姿态( ,
x y z l m n 。
, )
, ,
,
4.3 正解方程的求解方法和步骤
=
首先令初始点 ( ,
x y z l m n
, )
, ,
,
(0,0,
z
,0,0,0)
,其中 midz 为上运动平台在中位时 Z
mid
向的升高值。
(
将
0
iF P (
)
i
∑
+
)
(
6
q
k
k
1
=
F P
i
i
(
0
i =
1, 2...,6)
∂
−
q
k
0
)
在 0iP 附近进行泰勒展开,并取其线性部分得:
F P
(
i
i
q
∂
k
1, 2...,6)
(
i =
=
0
)
0
(12)
式(11)可以看成以 iP 为未知数的线性方程组,其雅可比系数矩阵为:
-3-
中国科技论文在线
J
⎛
⎜
= ⎜
⎜
⎝
F
∂
1
/
q
∂
1
M
/
∂
q
1
F
∂
6
F
∂
1
F
∂
6
/
M
/
q
∂
6
q
∂
6
⎞
⎟
⎟
⎟
⎠
K
O
L
http://www.paper.edu.cn
(13)
通过初等行变换求雅可比矩阵的逆矩阵,这样就完全转化为求矩阵的乘法和加减运算
了。
其中 1
(
q q q q q q
,
6
,
,
,
,
2
3
4
5
)
=
x y z l m n
( ,
, )
, ,
,
(14)
当
6
∑
i
1
=
(
P P
i
i
−
0
)
<
ε
(ε为所需要的精度),则可以把
∑ 当作所求的正解。否则把
P
i
6
i
1
=
∑ 当作初始点,重复(10)~(13)直到满足求解精度为止。因为六自由度运动平台一
P
i
6
i
1
=
般在中位附近运动,在算法上把正解的初始值设为运动平台的中位,保证了算法的收敛。在
实际过程中还可以把上次的平台状态记住,当作此次运算的初始值,这样跌代的次数还会进
一步减少。
5 计算实例
算法实现后,我们把它加入到控制六自由度平台运动的下位机控制程序中。下位机是实
时操作系统 Vxworks 构成的,这样也保证了六自由度运动平台的实时和精确性。
5.1 反解实例
当六自由度运动平台的姿态为 x 向转角 0 度,平移 0mm;y 向转角 0 度,平移 0mm;z
向转角 0 度,平移 0mm 时,此时对应的 6 缸的长度都是 1039.576mm。这种情况就是六自
由度运动平台的初始状态。
下面是试验中获得的几组数据:
1
0
0
0
0
0
0
1039.576
1039.576
1039.576
1039.576
1039.576
1039.576
组别
x 转角( o )
y 转角( o )
z 转角( o )
x 平移(mm)
y 平移(mm)
z 平移(mm)
1 号缸长(mm)
2 号缸长(mm)
3 号缸长(mm)
4 号缸长(mm)
5 号缸长(mm)
6 号缸长(mm)
5.2 正解实例
表 1 六自由度反解实验数据
2
1
5
8
-10
-10
100
1119.345
1047.186
1208.643
1125.544
1183.212
1094.014
3
10
5
-5
20
50
100
1066.379
1080.882
1197.602
1276.527
1058.081
1097.886
4
3
4
-5
20
50
50
1040.350
1048.098
1081.208
1177.008
1058.083
1106.593
因为正解的跌代算法运行起来比较的耗时,如果把跌代精度设的过高,那样跌代的次数
也会增加,这对要求实时控制的六自由度运动平台肯定是不合适的,所以我们把精度设置为
-4-
中国科技论文在线
http://www.paper.edu.cn
10-5,(我们是为了表现其差别才把精度设高点,实际的精度还可以进一步降低点),并在算
法上面也做了优化处理,这样运行时间会显著降低。
下面是试验中测得的几组数据
组别
1 号缸长(mm)
2 号缸长(mm)
3 号缸长(mm)
4 号缸长(mm)
5 号缸长(mm)
6 号缸长(mm)
x 转角( o )
y 转角( o )
z 转角( o )
x 平移(mm)
y 平移(mm)
z 平移(mm)
1
1039.576
1039.576
1039.576
1039.576
1039.576
1039.576
0.00000
0.00000
0.00000
0.00024
0.00000
0.00009
表 2 六自由度正解实验数据
2
1153.257
1102.212
1153.257
1102.213
1153.258
1102.212
0.00000
0.00001
4.99998
0.00024
0.00001
99.99982
3
1066.379
1080.882
1197.602
1276.527
1058.081
1097.886
10.00002
4.99985
-5.00008
19.99895
49.99898
199.99964
4
1040.350
1048.098
1081.208
1177.008
1058.083
1106.593
3.00001
3.99986
5.00007
19.99859
49.99855
49.99954
试验所用的系统配置为 CPU1.61G,内存 512M,运行所花时间最少为 0.08ms(只跌代
一次就得到满足精度的值),最慢需要 0.36ms(跌代 5 次),实际过程中我们选定上一次
纪录的姿态作为正解初始值,这样基本上只需要 1 次就可以跌代出结果来,运算时间上可以
控制在 0.1ms 内了,完全可以满足工业上面所要求的控制要求了。
6 结论
本文对 Stewart 型六自由度平台的正反解算法进行了研究。对该类并联机构建立数学模
型,通过封闭解法和数值解法分别对六自由度运动平台的姿态反解和正解进行了分析求解。
并通过把算法嵌入到 VxWorks 操作系统中去,来实际控制运动平台的多自由度度运动。结
果表明该算法能够很好的实现六自由度运动平台的正反解功能,因其具有很高的精度和较快
的运算速度,能够在自动控制中得到实际应用。
参考文献
[1] 贺利乐,六自由度并联杆系机床位置正解的研究 [J], 机床与液压,.2004.no.112。
[2] Liu Dejun, Huang Qingcheng, Che Rensheng et al. A measuring model study of a new coordinate - measuring
machine based on the parallel kinematic mechanism[J] .Measurement Science and Technology ,1999.10 (11) :1020
– 1024 .
[3] Ilian A. Bonev , Jeha Ryu , A new method for solving the direct kinematics of general 6 - 6 Stewart Platforms
using three linear extra sensor [J] , Mechanism and Machine Theory. 35 (2000) 423~436 .
[4] Tae - Young Lee and Jae - Kyung Shim1Algebraic Elimination -Based Real - Time Forward Kinematics of the
6 - 6 Stewart Platform with Planar Base and Platform.in proc. IEEE Int. Conf . Robot.Automat. 2001. pp. 1301~
1306 .
[5] 李维嘉,六自由度并联运动机构正向解的研究 [J],华中理工大学学报,1997.25 (4) : 38~401。
[6] 张尚盈.赵 慧.韩俊伟.六自由度运动平台实时控制的正_反解算法 [J] .哈尔滨工业大学.2003。
[7] 黄真,赵永生,赵铁石,高等空间结构学 [M] .高等教育出版,2005.10。
[8] 陈智育,温彦军,陈琪, VxWorks 程序开发实践 [M] ,人民邮电出版,2004.3。
[9] 薛定宇,陈阳泉,基于 MATLAB/Simullink 的系统仿真技术和应用 [M] ,清华大学出版社,2002.3。
-5-
中国科技论文在线
http://www.paper.edu.cn
Study for positive solutions and anti-solution of Six-DOF
Stewart platform
Cai Baofu, Liao Chuanshu
Department of communication, Wuhan University of Technology, Wuhan(430070)
Abstract
This article studies the Six-DOF Stewart platform-type positive solutions and anti-solution. according
to the structural characteristics of Six-DOF Stewart platform, in order to achieve high precision
real-time control and design a positive and negative solution algorithm which is simple, efficient, and
has easy-to-programming . The algorithm has been simulated under MATLAB, and embedded it into
the VxWorks system to run. This article describes the implementation of this design idea.
Keyword : Six-DOF Stewart platform;positive solutions;anti-positive solutions;Real-time control;
VxWorks
作者简介:蔡保富,男,1985 年出生,硕士研究生,主要研究方向是模式识别、智能控制
和嵌入式系统。
-6-