未知

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)
'''算第一个关节的力'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值