Artificial Intelligence and Robotics Rearch 人工智能与机器人研究, 2013, 2, 54-59 dx.doi/10.12677/airr.2013.21009
Published Online February 2013 (www.hanspub/journal/airr.html) Arc Welding Robot Kinematics Analysis and Trajectory
Planning in Cartesian Space
Tao Song
School of Mechanical Engineering and Automation, Beijing University of Aeronautics and Astronautics, Beijing
Email:********************
Received: Jan. 14th, 2013; revid: Jan. 29th, 2013; accepted: Feb. 5th, 2013
Abstract: Arc welding robots, as typical 6-DOF rial robots, are gradually playing an important role in t
he automotive and other industries. In this paper, taking an independently designed arc welding robot as an example, demonstrated the establishment of D-H coordinate system, the robot kinematic analysis, and run a robot Cartesian space of linear and circular trajectory planning bad on previous work. Employing a MFC application program, the derivatively generated data points are plotted in the Matlab to verify the correctness of the theoretical calculations.
Keywords: Arc Welding Robot; Kinematics Analysis; Cartesian Space; Trajectory Planning
弧焊机器人运动学分析及笛卡尔空间轨迹规划
宋涛
北京航空航天大学机械工程及自动化学院,北京
Email:********************
收稿日期:2013年1月14日;修回日期:2013年1月29日;录用日期:2013年2月5日
摘要:弧焊机器人作为一种典型的6自由度串联机器人,在汽车等行业中发挥着越来越重要的作用。本文以一款自主研发的弧焊机器人为实例,建立D-H坐标系,进行机器人的运动学分析,并在此基础
上完成机器人笛卡尔空间的直线和圆弧轨迹规划。编写MFC应用程序,将生成的数据点在Matlab平台上进行绘图,验证理论计算的正确性。
关键词:弧焊机器人;运动学分析;笛卡尔空间;轨迹规划足的笔画顺序
1. 引言
6自由度串联机器人是工业机器人的重要组成部分,而弧焊机器人作为串联机器人的一种典型应用,在汽车等行业发挥着十分重要的作用[1]。由于弧焊机器人的作业特点,即要求焊枪在移动过程中,不仅经过起始点和终止点,而且要经过规划出的若干中间点(continuous-path motion),因而对机器人笛卡尔空间的轨迹规划就十分必要[2]。
本文以课题组和企业共同研制的一款6自由度机器人为实例,建立D-H坐标系,进行机器人的运动学分析[3]。然后在笛卡尔空间进行直线和圆弧的位置规划[4-6],并利用四元数插值完成其姿态规划[7]。最后,利用编写的MFC应用程序,将生成的数据点在Matlab 平台上进行绘图[8],验证理论计算的正确性,为机器人的逆解求出关节位置奠定了基础[9]。
2. 运动学分析
2.1. 建立D-H坐标系
该款自主研发的弧焊机器人如图1所示,其中2、3、4关节轴线相互平行。
颜体楷书书法作品图1. 弧焊机器人结构图
对该机器人进行运动学建模,按照D-H 方法建立其连杆坐标系,如图2所示。各连杆的结构参数和运动参数,如表1所示。
其中,1165 mm a =22003 mm a =,
,,, ,。 32040a =466.5d = mm 430a = mm 552d =0 mm 11d =5 mm 000 mm
Figure 2. The establishment of D-H coordinate system
图2. D-H 坐标系的建立
Table 1. The D-H parameter
表1. D-H 参数表
i
1i α- 1i α- i θ i d 1 0 0
1θ 1d
2 90 1a 2θ 0
3 0 2a 3θ 0
4 0 3a 4θ 4d
5 90 4a 5θ 5d
巴戟汤6
90
6θ
2.2. 运动学正解
根据连杆坐标系和D-H 参数表,机器人运动学方程可描述为,
6
123456
冲动的惩罚012345=ΤT T T T T T (1)
式中表示第i 个连杆坐标系相对于第1
i
i -T 1i -个连杆坐标系的齐次变换矩阵,即
11111
11
100
1i i i i i i i i i i i
i i i i i i i i c s a s c c c s d s s s c s c d c θθθαθαααθαθααα---------11--⎡⎤⎢⎥--⎢⎥=⎢⎥
⎢⎥⎣⎦
T (2) 式中cos ,sin ,cos i i i i i c s c i θθθθαα===,
()sin 0,1,,6i i s i αα== 。
将各个连杆变换矩阵相乘,便可得到该机器人的“手臂变换矩阵”60,它是关节变量T 126,,,θθ θ的函数。
60
00
1x x x x y y y y z z z z n o a p n o a p n o a p ⎡⎤
⎢⎥⎢⎥
=⎢⎥⎢⎥⎢⎥
⎣
⎦T (3) 式中, ()()1234562346156T
1234562346156234562346x y
z c c c c s s s s c n n n n s c c c s s c s c s c c c s ⎡⎤
++⎢⎥⎡⎤==+-⎣
⎦
⎢⎥⎢⎥-⎣⎦
肉是酸性还是碱性()()1234562346156T
1234562346156234562346x y
z c c c s s c s s s o o o o s c c s s c c s s s c s c c ⎡⎤-+-⎢⎥⎡⎤==-++⎣
⎦
⎢⎥⎢⎥--⎣⎦
1523415T
152********x
y
z c s c s c a a a a s s c c c s s -⎡⎤⎢⎥⎡⎤==⎣⎦+⎢⎥⎢⎥⎣⎦
()()T
1423452343234121211142345234323412121142345234323221x
y
z p p p p c a c d s a c d s a c c a c s a c d s a c d c a s c a s a s d c a s a s d ⎡⎤=⎣⎦
⎡⎤+++++⎢⎥=++-++⎢⎥⎢⎥-+++⎣⎦
2.3. 运动学逆解
由于设计的弧焊机器人2、3、4关节轴线相互平行,满足工业机器人存在封闭解的条件(Pieper 原则)。
因此本文采用封闭解法,求解该逆运动学问题。
11611000
000
1x x x x y
y y y z z
z
z n o a p n o a p n o a p --⎡⎤
⎢⎥⎢⎥
=⎢⎥⎢⎥⎢⎥
⎣
⎦T T T (4) 1) 求解1θ
观察等式(4),建立矩阵第二行第四列的等式关系
11x y 4s p c p d -+=-,可得,
(
)
(14tan 2,tan 2,y x A p p A d θ=-- (5)
正、负号对应于1θ的两个可能解。
2) 求解5θ
联立矩阵(4)两端第2行前3列等式,可求得,
511tan 2 x y A s a x a θ⎛= ⎝
⎫-+⎪
⎭ (6)
3) 求解6θ
同样方式,联立矩阵(4)两端第2行第1列及第2行第2列等式,则有
1151156x y x y
6
s n c n s c s o c o s s -+=-⎧⎪⎨
-+=⎪⎩ (7) 如果,将上下两等式相除得,
50s ≠()6111tan 2,1x y x y A s o c o s n c n θ=-+-+ (8) 4) 求解2θ
联立矩阵(4)两端第1行第3列和第3行第3列等式,则有
115234
5234x y z
c a s a s c a s s +=⎧⎪⎨
=⎪⎩ (9) 易得
(23411tan 2,)z x y A a c a s a θ=+ (10)
结合式(3),有下列关系式,
()1423452343234121211
42345234323221y z
p s a c d s a c d c a s c a s p a s d c a s a s d ⎧=++-++⎪⎨
=-+++⎪⎩(11) 若,则令
50s ≠()()
()412345123441111
423452341
2222
2322y z A p a s c d s s d c a s s B p a s d c d C A B a a a ⎧=--+-⎪⎪
=-+-⎨⎪=++-⨯⎪⎩
(12)
通过上式可解得,
()(2tan 2,tan 2,A A B A C θ=--(13) 5) 求解3θ
结合(8)、(9)两式有,
32322
32322A a c a c B a s a s =+⎧⎨
=+⎩
(14) 进而可解得,
()232222tan 2,A B a s A a c θ=-- (15)
3232θθθ=- (16)
6) 求解4θ
423423θθθ=- (17)
该机器人的运动反解可能存在8组。在求解12
,θθ以及5θ式中的正负号组合可能得到八种解。在机器人的实际规划中,需根据已知的起点和终点进行取舍。
3. 笛卡尔空间规划
在笛卡尔空间轨迹规划系统中,作业是用机器人末端抓手位姿(位置和姿态)的笛卡尔坐标结点序列规定的。因此结点指的是表示抓手位姿的齐次变换矩阵。
3.1. 直线位置规划
已知两点坐标()1111,,p x y z 2v 23v 和以及起点速度,过程速度、终点速度。为了简单易解并且同时保证整条轨迹上的位移和速度都连续,设定从到和从到两个过程加速度均恒定,分别为和。
()2222,,p x y z ,3v 1v 2v 21v 1v a a 根据两点间距离方程以及匀变速位移方程,
2
22111223232
22d v v l a v v l a ⎧=
⎪⎪-⎪=
⎨⎪-⎪=
⎪⎩
(18)
可得,,继而求得匀速运动时间
21l d l l =--332212221312
,,v v v v
t l t t a a --===。
因此,我们可以得到任意时刻的位移计算公式,
()()()211
11211321221221232,0,2,t v t a t t t d d v t t t t t d d v t t t a t t t t t T ⎧+≤⎪⎪
=+-≤≤⎨⎪++--+--<≤⎪⎩
<
(19)
同时,由和可得单位向量为,
1p 2p ()()()21212121x x y y z z p p d d
-+-+--=
=i j n k
l )(20) 则任意时刻的坐标位置可由下述公式确定为,
1t p p =+∆n (21)
3.2. 圆弧位置规划
已知不共线的三点坐标分别为、
和,以及起点线速度、
过程线速度、终点线速度。为了简单易解并且同时保证整条轨迹上的位移和速度都连续,设定从到
和从到两个过程角加速度均恒定,分别为()1111,,p x y z 1v 1v ()2222,,p x y z 2v 2v 2v 3v (3333,,p x y z 3v 1
α和2α。与直线位置规划类似,根据给定的速度和时间,可以确定每一段运动的插值点个数。
根据不共线的空间三点能够确定唯一的平面以及圆弧上三点到圆心的距离相等两个条件联立方程,
()()()()()(()()(1112223332221112222222223331
1011
a b c x y z x y z x y z r x a y b z c r x a y b z c r x a y b z c ⎧⎪
⎪=⎪⎪
⎪⎨
⎪=-+-+-⎪
电磁场与微波技术⎪=-+-+-⎪⎪=-+-+-⎩
))2
22 (22) 易得圆心坐标。
(),,o a b c 设三点确定平面的单位法向量为
,根据其与分别垂直联立方
古人分手绝情诗句
程,
123,,p p p ()u v w N 1223,p p p p ()()()()()()21212132
32320
0x x u y y v z z w x x u y y v z z w ⎧-+-+-=⎪⎨
-+-+-=⎪⎩ (23) 求出单位法向量。
类似于直线位置规划,可以得到某一时间转过的弧度θ。已知()1111,,p x y z ,圆心,切向量
(,,o a b c )()w N ,,u v ,则可确定转过θ后圆弧上点的坐标为,
()1e p θξ
θ∧
=p (24)
其中,ˆξ
称之为运动旋量,其表达式为, ()ˆ
ˆˆe e e
1
N N
I r θθθξ
⎡⎤-⎢⎥=⎢⎥⎣⎦
(25)
3.3. 姿态规划
四元数可以描述三维空间刚体的姿态和旋转变换。并且利用四元数表示转动将会使运动更均匀和有效。因此在此应用四元数表示机器人手部的姿态,进行规划。四元数的表示形式为,
[](),,,,q s s x y z s x y z ===++⎡⎤⎣⎦v i +j k (26)
根据机器人的末端姿态矩阵,
陶渊明田园诗x
x x y
y y z
z
z n o a n o a n o a ⎡⎤
⎢⎥=⎢⎥⎢⎥⎣⎦
R (27) 可以建立两者之间的关系,
()()()444z y x z y x s a o a s b a n s c n o s ⎧=⎪⎪=-⎪
⎨
=-⎪⎪
=-⎪⎩
(28) 已知两点的姿态和,通过公式可以得到四元数和,利用下述公式进行姿态的插值。
1R 2R 1q 2q ()()()1212sin 1sin Slerp ,,sin q t q q q t t θθθ
⨯-+⨯=
(29)
其中,[]0,1,t θ∈为两四元数之间的夹角。
4. 实验验证
该部分利用上述算法编写MFC 应用程序,根据输入的具体数值,通过程序运算,将得到的结果在
Matlab 上进行绘图,以验证位置规划和姿态规划的正确性。
4.1. 位置规划实验
分别在MFC中输入直线的P1和P2点,以及圆弧的P1、P2和P3点的位置坐标,并且输入起始点、中间点和终止点的速度以及加速度和扫描周期。根据已有信息以及上述算法进行计算(图3)。
将直线位置计算结果写入Matlab程序,
x=[2 2.41 2.88 3.39 3.92 4.44 4.96 5.54 5.98 6.37 7];
y=[1 1.24 1.53 1.83 2.15 2.46 2.77 3.12 3.39 3.62 4];
z=[3 3.41 3.88 4.39 4.92 5.44 5.96 6.54 6.98 7.37 8];xx=linspace(2,7);
yy=spline(x,y,xx);
zz=spline(x,z,xx);
plot3(xx,yy,zz,'r',x,y,z,'o');
grid on,可得图4所示结果。
同理,将圆弧位置计算结果写入Matlab程序可得图5所示结果。
Figure 3. Line and circular position programming interface
图3. 直线圆弧位置规划界面
Figure 4. Linear position interpolation
图4. 直线位置插值4.2. 姿态规划实验
根据机器人正运动学可以求得始末两点的末端姿态矩阵,并将其输入进MFC应用程序,由插值公式得到数据点,然后再Matlab上进行验证(图6)。
将姿态规划计算结果写入Matlab程序,
X=[px px+nx*d];
Y=[py py+ny*d];
Z=[pz pz+nz*d];
plot3(X,Y,Z) ;
grid on;
其中,px,py,pz为位置规划出来的空间点坐标,nx,ny,nz为对应点插值出来的姿态向量,可得图7所示结果。
Figure 5. Arc position interpolation
图5. 圆弧位置插值
Figure 6. Orientation planning interface
图6. 姿态规划界面