import numpy
def cos(theta):
return numpy.cos(theta)
def sin(theta):
return numpy.sin(theta)
'''设置上面两个函数避免麻烦'''
'''变换矩阵的参数'''
theta1=0#30/180*numpy.pi
theta2=0#30/180*numpy.pi
theta3=0#30/180*numpy.pi
theta4=30/180*numpy.pi
theta5=30/180*numpy.pi
theta6=30/180*numpy.pi
d1=0.3
a2=0.3
a3=0.03
d4=0.2
d6=0.03
'''伪惯量矩阵'''
i1xx=i1yy=i1zz=5
i1xy=i1xz=i1yz=0
m1=1
i2xx =i2yy =i2zz=5
i2xy =i2xz =i2yz=0
m2=1
i3xx =i3yy =i3zz =5
i3xy =i3xz =i3yz=0
m3=1
i4xx =i4yy =i4zz =i4xy =i4xz =i4yz=0.5
m4=1
i5xx =i5yy =i5zz =i5xy =i5xz =i5yz=0.5
m5=1
i6xx =i6yy =i6zz =i6xy =i6xz =i6yz=0.5
m6=1
c1=numpy.cos(theta1)
c2=numpy.cos(theta2)
c3=numpy.cos(theta3)
c4=numpy.cos(theta4)
c5=numpy.cos(theta5)
c6=numpy.cos(theta6)
s1=numpy.sin(theta1)
s2=numpy.sin(theta2)
s3=numpy.sin(theta3)
s4=numpy.sin(theta4)
s5=numpy.sin(theta5)
s6=numpy.sin(theta6)
'''
'''
xc1=0
yc1=0
zc1=0.1
''''''
xc2=0
yc2=0
zc2=0.3
''''''
xc3=0
yc3=0
zc3=0.6
''''''
xc4=0.3
yc4=0
zc4=0.63
''''''
xc5=0.3
yc5=0
zc5=0.63
''''''
xc6=0.33
yc6=0
zc6=0.63
#I的公式的内容
gg=numpy.mat([0 ,0 ,10,0])
'''标准DH参数'''
T1=numpy.mat([[c1 ,0 , s1 , 0], [s1 , 0 , -c1 , 0], [0 , 1 , 0 , d1], [0 ,0 , 0 , 1]] )
T2=numpy.mat([[c2 , -s2 , 0 , a2*c2] , [s2 , c2 , 0 ,a2*s2], [0 , 0 , 1 , 0], [0, 0 , 0 , 1]] )
T3=numpy.mat([[c3 , 0 , s3 , a3*c3] , [s3 , 0 , -c3 , a3*s3], [0 , 1 , 0 , 0] , [0 , 0 , 0 , 1]] )
T4=numpy.mat([[c4 , 0 ,-s4 , 0] , [s4 , 0 , c4 , 0 ], [0 , -1 , 0 , d4] , [0 , 0 , 0 ,1]] )
T5=numpy.mat([[c5 , 0 , s5 , 0] , [s5 , 0 , -c5 , 0 ], [0 , 1 , 0 , 0] , [0 , 0 , 0 , 1]] )
T6=numpy.mat([[c6 ,-s6 , 0 , 0], [s6 , c6 , 0 , 0] , [0 , 0 , 1 , d6], [0 , 0 , 0 , 1]] )
T16=T1*T2*T3*T4*T5*T6
'''rp'''
r1=numpy.mat([xc1,yc1,zc1,1]).transpose()
r2=T1*r1
r3=T2*r2
'''惯性矩阵'''
I1=[[(-i1xx+i1yy+i1zz)/2 , i1xy , i1xz , m1*xc1],
[ i1xy , (i1xx-i1yy+i1zz)/2 , i1yz , m1*yc1],
[ i1xz , i1yz , (i1xx+i1yy-i1zz)/2 , m1*zc1],
[ m1*xc1 , m1*yc1 , m1*zc1 , m1]]
I2=[ [(-i2xx+i2yy+i2zz)/2 , i2xy , i2xz , m2*xc2],
[i2xy , (i2xx-i2yy+i2zz)/2 , i2yz , m2*yc2],
[i2xz , i2yz , (i2xx+i2yy-i2zz)/2 , m2*zc2],
[m2*xc2 , m2*yc2 , m2*zc2 , m2] ]
I3=[ [(-i3xx+i3yy+i3zz)/2 , i3xy , i3xz , m3*xc3],
[i3xy , (i3xx-i3yy+i3zz)/2 , i3yz , m3*yc3],
[i3xz , i3yz , (i3xx+i3yy-i3zz)/2 , m3*zc3],
[m3*xc3 , m3*yc3 , m3*zc3 , m3] ]
I4=[[(-i4xx+i4yy+i4zz)/2 , i4xy , i4xz , m4*xc4],
[ i4xy , (i4xx-i4yy+i4zz)/2 , i4yz , m4*yc4],
[ i4xz , i4yz , (i4xx+i4yy-i4zz)/2 , m4*zc4],
[ m4*xc4 , m4*yc4 , m4*zc4 , m4] ]
I5=[[(-i5xx+i5yy+i5zz)/2 , i5xy , i5xz , m5*xc5],
[ i5xy , (i5xx-i5yy+i5zz)/2 , i5yz , m5*yc5],
[ i5xz , i5yz , (i5xx+i5yy-i5zz)/2 , m5*zc5],
[ m5*xc5 , m5*yc5 , m5*zc5 , m5 ] ]
I6=[[(-i6xx+i6yy+i6zz)/2 , i6xy , i6xz , m6*xc6],
[i6xy , (i6xx-i6yy+i6zz)/2 , i6yz , m6*yc6],
[i6xz , i6yz , (i6xx+i6yy-i6zz)/2 , m6*zc6],
[m6*xc6 , m6*yc6 , m6*zc6 , m6 ]]
'''求速度的变换矩阵的导数'''
u11=numpy.mat([[-s1 ,0 , c1 , 0],
[c1 , 0 , s1 , 0],
[0 , 0 , 0 , 0],
[0 , 0 , 0 , 0]])
u21=numpy.mat([[c2*-s1,s1*s2,c1,a2*-s1*c2],
[c2*c1,-c1*s2,s1,a2*c1*c2],
[0,0,0,0],
[0,0,0,0]])
u22=numpy.mat([[-c1*s1,-c1*c2,0,-a2*c1*s2],
[-s1*s2,-c2*s1,0,-a2*s1*s2],
[c2,-s2,0,a2*c2],
[0,0,0,0]])
u31=numpy.mat([[ s1*s2*s3 - c2*c3*s1, c1, - c2*s1*s3 - c3*s1*s2, a3*s1*s2*s3 - a3*c2*c3*s1 - a2*c2*s1],
[ c1*c2*c3 - c1*s2*s3, s1, c1*c2*s3 + c1*c3*s2, a2*c1*c2 + a3*c1*c2*c3 - a3*c1*s2*s3],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u32=numpy.mat([[ - c1*c2*s3 - c1*c3*s2, 0, c1*c2*c3 - c1*s2*s3, - a2*c1*s2 - a3*c1*c2*s3 - a3*c1*c3*s2],
[ - c2*s1*s3 - c3*s1*s2, 0, c2*c3*s1 - s1*s2*s3, - a2*s1*s2 - a3*c2*s1*s3 - a3*c3*s1*s2],
[c2*c3 - s2*s3, 0, c2*s3 + c3*s2, a2*c2 + a3*c2*c3 - a3*s2*s3],
[0, 0, 0, 0]])
u33=numpy.mat([[ - c1*c2*s3 - c1*c3*s2, 0, c1*c2*c3 - c1*s2*s3, - a3*c1*c2*s3 - a3*c1*c3*s2],
[ - c2*s1*s3 - c3*s1*s2, 0, c2*c3*s1 - s1*s2*s3, - a3*c2*s1*s3 - a3*c3*s1*s2],
[ c2*c3- s2*s3, 0, c2*s3+ c3*s2, a3*c2*c3 - a3*s2*s3],
[ 0, 0, 0, 0]])
'''
u41=numpy.mat([[ c1*s4 + c4*(s1*s2*s3 - c2*c3*s1), c2*s1*s3 + c3*s1*s2, c1*c4 - s4*(s1*s2*s3 - c2*c3*s1), a3*s1*s2*s3 - a2*c2*s1 - a3*c2*c3*s1 - d4*(c2*s1*s3 + c3*s1*s2)],
[ s1*s4 - c4*(c1*s2*s3 - c1*c2*c3), - c1*c2*s3 - c1*c3*s2, c4*s1 + s4*(c1*s2*s3 - c1*c2*c3), d4*(c1*c2*s3 + c1*c3*s2) + a2*c1*c2 + a3*c1*c2*c3 - a3*c1*s2*s3],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u42=numpy.mat([[ -c4*(c1*c2*s3 + c1*c3*s2), c1*s2*s3 - c1*c2*c3, s4*(c1*c2*s3 + c1*c3*s2), - d4*(c1*s2*s3 - c1*c2*c3) - a2*c1*s2 - a3*c1*c2*s3 - a3*c1*c3*s2],
[ -c4*(c2*s1*s3 + c3*s1*s2), s1*s2*s3 - c2*c3*s1, s4*(c2*s1*s3 + c3*s1*s2), - d4*(s1*s2*s3 - c2*c3*s1) - a2*s1*s2 - a3*c2*s1*s3 - a3*c3*s1*s2],
[ c4*(c2*c3 - s2*s3), - c2*s3 - c3*s2, -s4*(c2*c3 - s2*s3), d4*(c2*s3 + c3*s2) + a2*c2 + a3*c2*c3 - a3*s2*s3],
[ 0, 0, 0, 0]])
u43=numpy.mat([[ c4*s1 + s4*(c1*s2*s3 - c1*c2*c3), 0, c4*(c1*s2*s3 - c1*c2*c3) - s1*s4, 0],
[ s4*(s1*s2*s3 - c2*c3*s1) - c1*c4, 0, c1*s4 + c4*(s1*s2*s3 - c2*c3*s1), 0],
[ -s4*(c2*s3 + c3*s2), 0, -c4*(c2*s3 + c3*s2), 0],
[ 0, 0, 0, 0]])
u44=numpy.mat([[ c4*s1 + s4*(c1*s2*s3 - c1*c2*c3), 0, c4*(c1*s2*s3 - c1*c2*c3) - s1*s4, 0],
[ s4*(s1*s2*s3 - c2*c3*s1) - c1*c4, 0, c1*s4 + c4*(s1*s2*s3 - c2*c3*s1), 0],
[ -s4*(c2*s3 + c3*s2), 0, -c4*(c2*s3 + c3*s2), 0],
[ 0, 0, 0, 0]])
u51=numpy.mat([[ cos(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)), sin(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), a3*sin(theta1)*sin(theta2)*sin(theta3) - a2*cos(theta2)*sin(theta1) - a3*cos(theta2)*cos(theta3)*sin(theta1) - d4*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))],
[ cos(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)), sin(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) + cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), d4*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)) + a2*cos(theta1)*cos(theta2) + a3*cos(theta1)*cos(theta2)*cos(theta3) - a3*cos(theta1)*sin(theta2)*sin(theta3)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u52=numpy.mat([[ sin(theta5)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - cos(theta4)*cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), sin(theta4)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), - cos(theta5)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - cos(theta4)*sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), - d4*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - a2*cos(theta1)*sin(theta2) - a3*cos(theta1)*cos(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta3)*sin(theta2)],
[ sin(theta5)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)) - cos(theta4)*cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), sin(theta4)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), - cos(theta5)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)) - cos(theta4)*sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), - d4*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)) - a2*sin(theta1)*sin(theta2) - a3*cos(theta2)*sin(theta1)*sin(theta3) - a3*cos(theta3)*sin(theta1)*sin(theta2)],
[ cos(theta4)*cos(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) - sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -sin(theta4)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)), cos(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) + cos(theta4)*sin(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)), d4*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) + a2*cos(theta2) + a3*cos(theta2)*cos(theta3) - a3*sin(theta2)*sin(theta3)],
[ 0, 0, 0, 0]])
u53=numpy.mat([[ cos(theta5)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - sin(theta1)*sin(theta4), sin(theta5)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), 0],
[ -cos(theta5)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)), -sin(theta5)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), 0],
[ -cos(theta5)*sin(theta4)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -cos(theta4)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -sin(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), 0],
[ 0, 0, 0, 0]])
u54=numpy.mat([[ cos(theta5)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - sin(theta1)*sin(theta4), sin(theta5)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), 0],
[ -cos(theta5)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)), -sin(theta5)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), 0],
[ -cos(theta5)*sin(theta4)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -cos(theta4)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -sin(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), 0],
[ 0, 0, 0, 0]])
u55=numpy.mat([[ - sin(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), 0, cos(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), 0],
[ sin(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), 0, - cos(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), 0],
[ cos(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) - cos(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), 0, sin(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) + cos(theta4)*cos(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), 0],
[ 0, 0, 0, 0]])
u61=numpy.mat([
[ sin(theta6)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + cos(theta6)*(cos(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))), cos(theta6)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - sin(theta6)*(cos(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))), sin(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), d6*(sin(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))) - d4*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)) - a2*cos(theta2)*sin(theta1) - a3*cos(theta2)*cos(theta3)*sin(theta1) + a3*sin(theta1)*sin(theta2)*sin(theta3)],
[ sin(theta6)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) + cos(theta6)*(cos(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))), cos(theta6)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta6)*(cos(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))), sin(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) + cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), d6*(sin(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) + cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))) + d4*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)) + a2*cos(theta1)*cos(theta2) + a3*cos(theta1)*cos(theta2)*cos(theta3) - a3*cos(theta1)*sin(theta2)*sin(theta3)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u62=numpy.mat([[ cos(theta6)*(sin(theta5)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - cos(theta4)*cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))) + sin(theta4)*sin(theta6)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), cos(theta6)*sin(theta4)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)) - sin(theta6)*(sin(theta5)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - cos(theta4)*cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))), - cos(theta5)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - cos(theta4)*sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), - d4*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) - d6*(cos(theta5)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)) + cos(theta4)*sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))) - a2*cos(theta1)*sin(theta2) - a3*cos(theta1)*cos(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta3)*sin(theta2)],
[ cos(theta6)*(sin(theta5)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)) - cos(theta4)*cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))) + sin(theta4)*sin(theta6)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), cos(theta6)*sin(theta4)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)) - sin(theta6)*(sin(theta5)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)) - cos(theta4)*cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))), - cos(theta5)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)) - cos(theta4)*sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), - d4*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)) - d6*(cos(theta5)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)) + cos(theta4)*sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))) - a2*sin(theta1)*sin(theta2) - a3*cos(theta2)*sin(theta1)*sin(theta3) - a3*cos(theta3)*sin(theta1)*sin(theta2)],
[ - cos(theta6)*(sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) - cos(theta4)*cos(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3))) - sin(theta4)*sin(theta6)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)), sin(theta6)*(sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) - cos(theta4)*cos(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3))) - cos(theta6)*sin(theta4)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)), cos(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) + cos(theta4)*sin(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)), d4*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) + a2*cos(theta2) + d6*(cos(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) + cos(theta4)*sin(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3))) + a3*cos(theta2)*cos(theta3) - a3*sin(theta2)*sin(theta3)],
[ 0, 0, 0, 0]])
u63=numpy.mat([[ cos(theta5)*cos(theta6)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta6)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), - cos(theta6)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - cos(theta5)*sin(theta6)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), sin(theta5)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), d6*sin(theta5)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)))],
[ sin(theta6)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - cos(theta5)*cos(theta6)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), cos(theta6)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + cos(theta5)*sin(theta6)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), -sin(theta5)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), -d6*sin(theta5)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)))],
[ - cos(theta4)*sin(theta6)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) - cos(theta5)*cos(theta6)*sin(theta4)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), cos(theta5)*sin(theta4)*sin(theta6)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) - cos(theta4)*cos(theta6)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -sin(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -d6*sin(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2))],
[ 0, 0, 0, 0]])
u64=numpy.mat([[ cos(theta5)*cos(theta6)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta6)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), - cos(theta6)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - cos(theta5)*sin(theta6)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), sin(theta5)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))), d6*sin(theta5)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3)))],
[ sin(theta6)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - cos(theta5)*cos(theta6)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), cos(theta6)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + cos(theta5)*sin(theta6)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), -sin(theta5)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), -d6*sin(theta5)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1)))],
[ - cos(theta4)*sin(theta6)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) - cos(theta5)*cos(theta6)*sin(theta4)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), cos(theta5)*sin(theta4)*sin(theta6)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) - cos(theta4)*cos(theta6)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -sin(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), -d6*sin(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2))],
[ 0, 0, 0, 0]])
u65=numpy.mat([[ -cos(theta6)*(sin(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) + cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))), sin(theta6)*(sin(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) + cos(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))), cos(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)), d6*(cos(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2)))],
[ cos(theta6)*(sin(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))), -sin(theta6)*(sin(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - cos(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))), - cos(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) - sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)), -d6*(cos(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2)))],
[ cos(theta6)*(cos(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) - cos(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2))), -sin(theta6)*(cos(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) - cos(theta4)*sin(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2))), sin(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) + cos(theta4)*cos(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), d6*(sin(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) + cos(theta4)*cos(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)))],
[ 0, 0, 0, 0]])
u66=numpy.mat([[ cos(theta6)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta6)*(cos(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))), - sin(theta6)*(cos(theta4)*sin(theta1) + sin(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - cos(theta6)*(cos(theta5)*(sin(theta1)*sin(theta4) - cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3))) - sin(theta5)*(cos(theta1)*cos(theta2)*sin(theta3) + cos(theta1)*cos(theta3)*sin(theta2))), 0, 0],
[ sin(theta6)*(cos(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))) - cos(theta6)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))), sin(theta6)*(cos(theta1)*cos(theta4) - sin(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + cos(theta6)*(cos(theta5)*(cos(theta1)*sin(theta4) + cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))) + sin(theta5)*(cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2))), 0, 0],
[ - sin(theta6)*(sin(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) + cos(theta4)*cos(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2))) - cos(theta6)*sin(theta4)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)), sin(theta4)*sin(theta6)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) - cos(theta6)*(sin(theta5)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) + cos(theta4)*cos(theta5)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2))), 0, 0],
[ 0, 0, 0, 0]])
'''
u111=numpy.mat([[ -cos(theta1), 0, -sin(theta1), 0],
[ -sin(theta1), 0, cos(theta1), 0],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u211=numpy.mat([[ -cos(theta1)*cos(theta2), cos(theta1)*sin(theta2), -sin(theta1), -a2*cos(theta1)*cos(theta2)],
[ -cos(theta2)*sin(theta1), sin(theta1)*sin(theta2), cos(theta1), -a2*cos(theta2)*sin(theta1)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u212=numpy.mat([[ sin(theta1)*sin(theta2), cos(theta2)*sin(theta1), 0, a2*sin(theta1)*sin(theta2)],
[ -cos(theta1)*sin(theta2), -cos(theta1)*cos(theta2), 0, -a2*cos(theta1)*sin(theta2)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u221=numpy.mat([[ -cos(theta1)*cos(theta2), cos(theta1)*sin(theta2), 0, -a2*cos(theta1)*cos(theta2)],
[ -cos(theta2)*sin(theta1), sin(theta1)*sin(theta2), 0, -a2*cos(theta2)*sin(theta1)],
[ -sin(theta2), -cos(theta2), 0, -a2*sin(theta2)],
[ 0, 0, 0, 0]])
u222=numpy.mat([[ -cos(theta1)*cos(theta2), cos(theta1)*sin(theta2), 0, -a2*cos(theta1)*cos(theta2)],
[ -cos(theta2)*sin(theta1), sin(theta1)*sin(theta2), 0, -a2*cos(theta2)*sin(theta1)],
[ -sin(theta2), -cos(theta2), 0, -a2*sin(theta2)],
[ 0, 0, 0, 0]])
u311=numpy.mat([[ cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3), -sin(theta1), - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), a3*cos(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta2)*cos(theta3) - a2*cos(theta1)*cos(theta2)],
[ sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), cos(theta1), - cos(theta2)*sin(theta1)*sin(theta3) - cos(theta3)*sin(theta1)*sin(theta2), a3*sin(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta2)*cos(theta3)*sin(theta1) - a2*cos(theta2)*sin(theta1)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u312=numpy.mat([[ cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2), 0, sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), a2*sin(theta1)*sin(theta2) + a3*cos(theta2)*sin(theta1)*sin(theta3) + a3*cos(theta3)*sin(theta1)*sin(theta2)],
[ - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), 0, cos(theta1)*cos(theta2)*cos(theta3) - cos(theta1)*sin(theta2)*sin(theta3), - a2*cos(theta1)*sin(theta2) - a3*cos(theta1)*cos(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta3)*sin(theta2)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u313=numpy.mat([[ cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2), 0, sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), a3*cos(theta2)*sin(theta1)*sin(theta3) + a3*cos(theta3)*sin(theta1)*sin(theta2)],
[ - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), 0, cos(theta1)*cos(theta2)*cos(theta3) - cos(theta1)*sin(theta2)*sin(theta3), - a3*cos(theta1)*cos(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta3)*sin(theta2)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u321=numpy.mat([[ cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2), 0, sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), a2*sin(theta1)*sin(theta2) + a3*cos(theta2)*sin(theta1)*sin(theta3) + a3*cos(theta3)*sin(theta1)*sin(theta2)],
[ - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), 0, cos(theta1)*cos(theta2)*cos(theta3) - cos(theta1)*sin(theta2)*sin(theta3), - a2*cos(theta1)*sin(theta2) - a3*cos(theta1)*cos(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta3)*sin(theta2)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u322=numpy.mat([[ cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3), 0, - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), a3*cos(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta2)*cos(theta3) - a2*cos(theta1)*cos(theta2)],
[ sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), 0, - cos(theta2)*sin(theta1)*sin(theta3) - cos(theta3)*sin(theta1)*sin(theta2), a3*sin(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta2)*cos(theta3)*sin(theta1) - a2*cos(theta2)*sin(theta1)],
[ - cos(theta2)*sin(theta3) - cos(theta3)*sin(theta2), 0, cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3), - a2*sin(theta2) - a3*cos(theta2)*sin(theta3) - a3*cos(theta3)*sin(theta2)],
[ 0, 0, 0, 0]])
u323=numpy.mat([[ cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3), 0, - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), a3*cos(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta2)*cos(theta3)],
[ sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), 0, - cos(theta2)*sin(theta1)*sin(theta3) - cos(theta3)*sin(theta1)*sin(theta2), a3*sin(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta2)*cos(theta3)*sin(theta1)],
[ - cos(theta2)*sin(theta3) - cos(theta3)*sin(theta2), 0, cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3), - a3*cos(theta2)*sin(theta3) - a3*cos(theta3)*sin(theta2)],
[ 0, 0, 0, 0]])
u331=numpy.mat([[ cos(theta2)*sin(theta1)*sin(theta3) + cos(theta3)*sin(theta1)*sin(theta2), 0, sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), a3*cos(theta2)*sin(theta1)*sin(theta3) + a3*cos(theta3)*sin(theta1)*sin(theta2)],
[ - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), 0, cos(theta1)*cos(theta2)*cos(theta3) - cos(theta1)*sin(theta2)*sin(theta3), - a3*cos(theta1)*cos(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta3)*sin(theta2)],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]])
u332=numpy.mat([[ cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3), 0, - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), a3*cos(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta2)*cos(theta3)],
[ sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), 0, - cos(theta2)*sin(theta1)*sin(theta3) - cos(theta3)*sin(theta1)*sin(theta2), a3*sin(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta2)*cos(theta3)*sin(theta1)],
[ - cos(theta2)*sin(theta3) - cos(theta3)*sin(theta2), 0, cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3), - a3*cos(theta2)*sin(theta3) - a3*cos(theta3)*sin(theta2)],
[ 0, 0, 0, 0]])
u333=numpy.mat([[ cos(theta1)*sin(theta2)*sin(theta3) - cos(theta1)*cos(theta2)*cos(theta3), 0, - cos(theta1)*cos(theta2)*sin(theta3) - cos(theta1)*cos(theta3)*sin(theta2), a3*cos(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta1)*cos(theta2)*cos(theta3)],
[ sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1), 0, - cos(theta2)*sin(theta1)*sin(theta3) - cos(theta3)*sin(theta1)*sin(theta2), a3*sin(theta1)*sin(theta2)*sin(theta3) - a3*cos(theta2)*cos(theta3)*sin(theta1)],
[ - cos(theta2)*sin(theta3) - cos(theta3)*sin(theta2), 0, cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3), - a3*cos(theta2)*sin(theta3) - a3*cos(theta3)*sin(theta2)],
[ 0, 0, 0, 0]])
'''求Di'''
D3=-m3*gg*u33*r3
D2=-m2*gg*u22*r2-m3*gg*u32*r3
D1=-m1*gg*u11*r1-m2*gg*u21*r2-m3*gg*u31*r3
'''求D1j'''
sd13=u33*I3*u31.transpose()
d13=0
for i in range(4):
trace=sd13[i,i]
d13=d13+trace
sd12=u22*I2*u21.transpose()
d12=0
for i in range(4):
trace=sd12[i,i]
d12=d12+trace
sd11=u11*I1*u11.transpose()
d11=0
for i in range (4):
trace=sd11[i,i]
d11=d11+trace
'''求D2j'''
sd23=u33*I3*u32.transpose()
d23=0
for i in range(4):
trace=sd23[i,i]
d23=d23+trace
sd22=u22*I2*u22.transpose()
d22=0
for i in range(4):
trace=sd22[i,i]
d22=d22+trace
sd21=u21*I2*u22.transpose()
d21=0
for i in range(4):
trace=sd21[i,i]
d21=d21+trace
'''求D3j'''
sd33=u33*I3*u33.transpose()
d33=0
for i in range(4):
trace=sd33[i,i]
d33=d33+trace
sd32=u32*I3*u33.transpose()
d32=0
for i in range(4):
trace=sd32[i,i]
d32=d32+trace
sd31=u31*I3*u33.transpose()
d31=0
for i in range(4):
trace=sd31[i,i]
d31=d31+trace
'''求加速度'''
jia111=u111*I1*u11.transpose()
d111=0
for i in range(4):
trace=jia111[i,i]
d111=d111+trace
jia112=u212*I2*u21.transpose()
d112=numpy.trace(jia112)
jia113=u313*I3*u31.transpose()
d113=numpy.trace(jia113)
jia121=u221*I2*u21.transpose()
d121=numpy.trace(jia121)
jia122=u222*I2*u21.transpose()
d122=numpy.trace(jia122)
jia123=u323*I3*u31.transpose()
d123=numpy.trace(jia123)
jia131= u331*I3*u31.transpose()
d131=numpy.trace(jia131)
jia132=u332*I3*u31.transpose()
d132=numpy.trace(jia132)
jia133=u333*I3*u31.transpose()
d133=numpy.trace(jia133)
jia211=u211*I2*u22.transpose()
d211=numpy.trace(jia211)
jia212=u212*I2*u22.transpose()
d212=numpy.trace(jia212)
jia213=u313*I3*u32.transpose()
d213=numpy.trace(jia213)
jia221=u221*I2*u22.transpose()
d221=numpy.trace(jia221)
jia222=u222*I2*u22.transpose()
d222=numpy.trace(jia222)
jia223=u322*I3*u32.transpose()
d223=numpy.trace(jia223)
jia231=u331*I3*u32.transpose()
d231=numpy.trace(jia231)
jia232=u332*I3*u32.transpose()
d232=numpy.trace(jia232)
jia233=u333*I3*u33.transpose()
d233=numpy.trace(jia233)
jia311=u311*I3*u33.transpose()
d311=numpy.trace(jia311)
jia312=u312*I3*u33.transpose()
d312=numpy.trace(jia312)
jia313=u313*I3*u33.transpose()
d313=numpy.trace(jia313)
jia321=u321*I3*u33.transpose()
d321=numpy.trace(jia321)
jia322=u322*I3*u33.transpose()
d322=numpy.trace(jia322)
jia323=u323*I3*u33.transpose()
d323=numpy.trace(jia323)
jia331=u331*I3*u33.transpose()
d331=numpy.trace(jia331)
jia332=u332*I3*u33.transpose()
d332=numpy.trace(jia332)
jia333=u333*I3*u33.transpose()
d333=numpy.trace(jia333)
a1=a2=a3=1
v1=v2=v3=3
'''总的公式n=3'''
T_=d11*a1+d12*a2+d13*a3
T__=d111*v1*v1+\
d112*v1*v2+\
d113*v1*v3+\
d121*v2*v1+\
d122*v2*v2+\
d123*v2*v3+\
d131*v3*v1+\
d132*v3*v2+\
d133*v3*v3
T___=D1
Tzhong=T_+T__+T___+20*a1
print(Tzhong)
'''算第一个关节的力'''
未知
最新推荐文章于 2024-05-31 10:50:16 发布