CHƯƠNG 1. TỔNG QUAN VỀ ROBOT KAWASAKI RS005N 1.Tổng quan về robot RS005N 1.Tổng quan chung về robot Kawasaki RS005N Các rô-bốt sê-ri R đang thiết lập tiêu chuẩn cho tất cả các rô-bốt công nghiệp vừa và nhỏ. Với tốc độ cao, tải trọng thấp, hiệu suất cao Thiết kế nhỏ gọn, cùng với tốc độ, phạm vi tiếp cận và phạm vi làm việc hàng đầu trong ngành khiến rô-bốt dòng R trở nên lý tưởng cho nhiều ứng dụng trong vô số ngành công nghiệp đa dạng. Model RS005N là một trong những robot dòng R nhỏ nhất, lý tưởng cho các ứng dụng xử lý vật liệu quy mô nhỏ yêu cầu tải trọng thấp.1: Mô hình cánh tay robot 6 1.Thông số kĩ thuật Loại người máy: Rô bốt đa năng (tải trọng 3-80 kg) Chiều cao tối đa với tới: 705 mm Gắn kết: gắn trên sàn nhà, trần Dòng người máy: dòng R Bậc tự do: 6 khâu, 5 khớp Độ lặp lại vị trí : ±0,02 mm (bề mặt bích cổ tay) tuân theo tiêu chuẩn ISO 9283 1.Ứng dụng Lắp ráp , Xử lý vật liệu , Bảo dưỡng máy , Niêm phong / Phân phối , Loại bỏ vật liệu 1.Đế Robot Vật liệu: gang xám.
Khối lượng: 4,844 (kg) 7 Hình 1.Khâu 1 vật liệu: thép cabon. Khối lượng: 5,4798 (kg) 8 Hình 1.3: Khâu 1 của robot.Khâu 2 vật liệu: thép cabon. Khối lượng: 5,0639 (kg) 9 Hình 1.4: Khâu 2 của robot.Khâu 3 vật liệu: thép cabon. Khối lượng: 5,0639 (kg) 10 Hình 1.5: Khâu 3 của robot.Khâu 4 vật liệu: thép cabon.
Khối lượng: 1,0215 (kg) 11 Hình 1.6: Khâu 4 của robot.Khâu 5 vật liệu: thép cabon. Khối lượng: 0,348 (kg) 12 Hình 1.7: Khâu 5 của robot.Khâu 6 vật liệu: thép cabon. Khối lượng: 0,0145 (kg) 13 Hình 1.8: Khâu 6 của robot. CHƯƠNG 2 : TÍNH TOÁN ĐỘNG HỌC 2.Lập bảng DH và tính toán các ma trận 14 Hình 2.1: Gán hệ trục tọa độ cho cánh tay robot.2: Lược đồ cánh tay robot Bảng DH: Khâu i-1 i-1 di i 1 0 0 1 1 2 0 90˚ 0 90˚+2 3 3 0 0 3 4 4 90˚ 5 4 5 0 -90˚ 6 5 6 0 90˚ 7 6 16 Từ bảng DH ta có ma trận thuần nhất của các khâu: Vecto tọa độ trọng tâm (bỏ qua khâu đế) Trọng tâm khâu 1: x1= 0,0385; y1= 0,0009; z1= 0,0763 (m) Trọng tâm khâu 2: x2 = 0,1113; y2 = -0,0001; z2= 0,0068 (m).
Trọng tâm khâu 3: x3= 0,1113; y3= -0,0001; z3= 0,0068 (m). 17 Trọng tâm khâu 4: x4= 0; y4= 0,0008; z4= 0,0865 (m). Trọng tâm khâu 5: x5= 0; y5= -0,0167; z5= 0 (m). Trọng tâm khâu 6: x6= 0,0002; y6= 0; z6= -0,0067 (m).
Vecto gia tốc trọng trường Momen quán tính tại trọng tâm (kg.m2) Khâu 1: Khâu 2: Khâu 3: Ixx1= 0,0793 Ixx2= 0,0324 Ixx3= 0,0324 Iyx1= 0,0015 Iyx2= 0,0018 Iyx3= 0,0018 Izx1= 0,0263 Izx2= 0,0042 Izx3= 0,0042 Ixy1= 0,0015 Ixy2= 0,0018 Ixy3= 0,0018 Iyy1= 0,0784 Iyy2= 0,157 Iyy3= 0,157 Izy1= 0,0011 Izy2= 0,0001 Izy3= 0,0001 Ixz1= 0,0263 Izx2= 0,0042 Ixz3= 0,0042 Iyz1= 0,0011 Izy2= 0,0001 Iyz3= 0,0001 Izz1= 0,067 Izz2= 0,1374 Izz3= 0,1374 Khâu 4: Khâu 5: Khâu 6: Ixx4= 0,0121 Ixx5= 0,0005 Ixx6= 0 Iyx4= 0 Iyx5= 0 Iyx6= 0 Izx4= 0 Izx5= 0 Izx6= 0 18 Ixy4= 0 Ixy5= 0 Ixy6= 0 Iyy4= 0,0113 Iyy5= 0,0002 Iyy6= 0 Izy4= 0,0001 Izy5= 0 Izy6= 0 Ixz4= 0 Ixz5= 0 Ixz6= 0 Iyz4= 0,0001 Iyz5= 0 Iyz6= 0 Izz4= 0,0017 Izz5= 0,0005 Izz6= 0 ● Ma trận giả quán tính được tính theo công thức: 2.Lập phương trình động lực học. Ta có lực tổng quát của khâu i: Áp dụng phương trình ĐLH cho Robot 6 bậc tự do ( n=6) và khai triển chi tiết ta được: 19 Code Matlab: clc ; syms q1 q2 q3 q4 q5 q6 qd1 qd2 qd3 qd4 qd5 qd6 qdd1 qdd2 qdd3 qdd4 qdd5 qdd6 ; Vg=[0; 0; -9.0067; 1 ]; dx1=0; dy1=0; dz1=0; dx2=0; dy2=0 ; dz2=0; dx3=0; dy3=0 ; dz3=0; dx4=0 ; dy4=0 ; dz4=0; dx5=0 ; dy5=0 ; dz5=0; dx6=0 ; dy6=0 ; dz6=0; m1=5.0121; Ixy4 = 0; Ixz4 = 0; Iyx4 = 0; Iyy4 = 0.0005; Ixy5 = 0; Ixz5 = 0; Iyx5 = 0; Iyy5 = 0.0002; Iyz5 = 0; Izx5 = 0; Izy5 = 0; Izz5 = 0.0005; %khau6 Ixx6 = 0; Ixy6 = 0; Ixz6 = 0; Iyx6 = 0; Iyy6 = 0; Iyz6 = 0; Izx6 = 0; Izy6 = 0; Izz6 = 0; %Tinh J J1=[(-Ixx1+Iyy1+Izz1)/2+m1*dx1*dx1 Ixy1+m1*dx1*dy1 Ixz1+m1*dx1*dz1 -m1*dx1; Ixy1+m1*dx1*dy1 (Ixx1- Iyy1+Izz1)/2+m1*dy1*dy1 Iyz1+m1*dy1*dz1 -m1*dy1; Ixz1+m1*dx1*dz1 Iyz1+m1*dy1*dz1 (Ixx1+Iyy1- Izz1)/2+m1*dz1*dz1 -m1*dz1; -m1*dx1 -m1*dy1 -m1*dz1 m1] J2=[(-Ixx2+Iyy2+Izz2)/2+m2*dx2*dx2 Ixy2+m2*dx2*dy2 Ixz2+m2*dx2*dz2 -m2*dx2; Ixy2+m2*dx2*dy2 (Ixx2- Iyy2+Izz2)/2+m2*dy2*dy2 Iyz2+m2*dy2*dz2 -m2*dy2; Ixz2+m2*dx2*dz2 Iyz2+m2*dy2*dz2 (Ixx2+Iyy2- Izz2)/2+m2*dz2*dz2 -m2*dz2; -m2*dx2 -m2*dy2 -m2*dz2 m2] J3=[(-Ixx3+Iyy3+Izz3)/2+m3*dx3*dx3 Ixy3+m3*dx3*dy3 Ixz3+m3*dx3*dz3 -m3*dx3; Ixy3+m3*dx3*dy3 (Ixx3- Iyy3+Izz3)/2+m3*dy3*dy3 Iyz3+m3*dy3*dz3 -m3*dy3; Ixz3+m3*dx3*dz3 Iyz3+m3*dy3*dz3 (Ixx3+Iyy3- Izz3)/2+m3*dz3*dz3 -m3*dz3; -m3*dx3 -m3*dy3 -m3*dz3 m3] J4=[(-Ixx4+Iyy4+Izz4)/2+m4*dx4*dx4 Ixy4+m4*dx4*dy4 Ixz4+m4*dx4*dz4 -m4*dx4; Ixy4+m4*dx4*dy4 (Ixx4- Iyy4+Izz4)/2+m4*dy4*dy4 Iyz4+m4*dy4*dz4 -m4*dy4; Ixz4+m4*dx4*dz4 Iyz4+m4*dy4*dz4 (Ixx4+Iyy4- Izz4)/2+m4*dz4*dz4 -m4*dz4; -m4*dx4 -m4*dy4 -m4*dz4 m4] 22 J5=[(-Ixx5+Iyy5+Izz5)/2+m5*dx5*dx5 Ixy5+m5*dx5*dy5 Ixz5+m5*dx5*dz5 -m5*dx5; Ixy5+m5*dx5*dy5 (Ixx5- Iyy5+Izz5)/2+m5*dy5*dy5 Iyz5+m5*dy5*dz5 -m5*dy5; Ixz5+m5*dx5*dz5 Iyz5+m5*dy5*dz5 (Ixx5+Iyy5- Izz5)/2+m5*dz5*dz5 -m5*dz5; -m5*dx5 -m5*dy5 -m5*dz5 m5] J6=[(-Ixx6+Iyy6+Izz6)/2+m6*dx6*dx6 Ixy6+m6*dx6*dy6 Ixz6+m6*dx6*dz6 -m6*dx6; Ixy6+m6*dx6*dy6 (Ixx6- Iyy6+Izz6)/2+m6*dy6*dy6 Iyz6+m6*dy6*dz6 -m6*dy6; Ixz6+m6*dx6*dz6 Iyz6+m6*dy6*dz6 (Ixx6+Iyy6- Izz6)/2+m6*dz6*dz6 -m6*dz6; -m6*dx6 -m6*dy6 -m6*dz6 m6] %ma tran bien doi thuan nhat T01=[cos(q1) -sin(q1) 0 0;sin(q1) cos(q1) 0 0; 0 0 1 0. trace(diff(diff(T01,q1),q1)*J1*transpose(diff(T01,q1)))*qd1*qd1+. trace(diff(diff(T02,q1),q1)*J2*transpose(diff(T02,q1)))*qd1*qd1+.
2*trace(diff(diff(T02,q1),q2)*J2*transpose(diff(T02,q1)))*qd1*qd2+. trace(diff(diff(T02,q2),q2)*J2*transpose(diff(T02,q1)))*qd2*qd2+. trace(diff(diff(T03,q1),q1)*J3*transpose(diff(T03,q1)))*qd1*qd1+. 2*trace(diff(diff(T03,q1),q2)*J3*transpose(diff(T03,q1)))*qd1*qd2+.
2*trace(diff(diff(T03,q1),q3)*J3*transpose(diff(T03,q1)))*qd1*qd3+. trace(diff(diff(T03,q2),q2)*J3*transpose(diff(T03,q1)))*qd2*qd1+. 2*trace(diff(diff(T03,q2),q3)*J3*transpose(diff(T03,q1)))*qd2*qd3+. trace(diff(diff(T03,q3),q3)*J3*transpose(diff(T03,q1)))*qd3*qd3+.
trace(diff(diff(T04,q1),q1)*J4*transpose(diff(T04,q1)))*qd1*qd1+. 2*trace(diff(diff(T04,q1),q2)*J4*transpose(diff(T04,q1)))*qd1*qd2+. 2*trace(diff(diff(T04,q1),q3)*J4*transpose(diff(T04,q1)))*qd1*qd3+. 2*trace(diff(diff(T04,q1),q4)*J4*transpose(diff(T04,q1)))*qd1*qd4+.
trace(diff(diff(T04,q2),q2)*J4*transpose(diff(T04,q1)))*qd2*qd2+. 2*trace(diff(diff(T04,q2),q3)*J4*transpose(diff(T04,q1)))*qd2*qd3+. 2*trace(diff(diff(T04,q2),q4)*J4*transpose(diff(T04,q1)))*qd2*qd4+. trace(diff(diff(T04,q3),q3)*J4*transpose(diff(T04,q1)))*qd3*qd3+.
2*trace(diff(diff(T04,q3),q4)*J4*transpose(diff(T04,q1)))*qd3*qd4+. trace(diff(diff(T04,q4),q4)*J4*transpose(diff(T04,q1)))*qd4*qd4+. 24 trace(diff(diff(T05,q1),q1)*J5*transpose(diff(T05,q1)))*qd1*qd1+. 2*trace(diff(diff(T05,q1),q2)*J5*transpose(diff(T05,q1)))*qd1*qd2+.
2*trace(diff(diff(T05,q1),q3)*J5*transpose(diff(T05,q1)))*qd1*qd3+. 2*trace(diff(diff(T05,q1),q4)*J5*transpose(diff(T05,q1)))*qd1*qd4+. 2*trace(diff(diff(T05,q1),q5)*J5*transpose(diff(T05,q1)))*qd1*qd5+. trace(diff(diff(T05,q2),q2)*J5*transpose(diff(T05,q1)))*qd2*qd2+.
2*trace(diff(diff(T05,q2),q3)*J5*transpose(diff(T05,q1)))*qd2*qd3+. 2*trace(diff(diff(T05,q2),q4)*J5*transpose(diff(T05,q1)))*qd2*qd4+. 2*trace(diff(diff(T05,q2),q5)*J5*transpose(diff(T05,q1)))*qd2*qd5+. trace(diff(diff(T05,q3),q3)*J5*transpose(diff(T05,q1)))*qd3*qd3+.
2*trace(diff(diff(T05,q3),q4)*J5*transpose(diff(T05,q1)))*qd3*qd4+. 2*trace(diff(diff(T05,q3),q5)*J5*transpose(diff(T05,q1)))*qd3*qd5+. trace(diff(diff(T05,q4),q4)*J5*transpose(diff(T05,q1)))*qd4*qd4+. 2*trace(diff(diff(T05,q4),q5)*J5*transpose(diff(T05,q1)))*qd4*qd5+.
trace(diff(diff(T05,q5),q5)*J5*transpose(diff(T05,q1)))*qd5*qd5+. trace(diff(diff(T06,q1),q1)*J6*transpose(diff(T06,q1)))*qd1*qd1+. 2*trace(diff(diff(T06,q1),q2)*J6*transpose(diff(T06,q1)))*qd1*qd2+. 2*trace(diff(diff(T06,q1),q3)*J6*transpose(diff(T06,q1)))*qd1*qd3+.
2*trace(diff(diff(T06,q1),q4)*J6*transpose(diff(T06,q1)))*qd1*qd4+. 2*trace(diff(diff(T06,q1),q5)*J6*transpose(diff(T06,q1)))*qd1*qd5+. 2*trace(diff(diff(T06,q1),q6)*J6*transpose(diff(T06,q1)))*qd1*qd6+. trace(diff(diff(T06,q2),q2)*J6*transpose(diff(T06,q1)))*qd2*qd2+.
2*trace(diff(diff(T06,q2),q3)*J6*transpose(diff(T06,q1)))*qd2*qd3+. 2*trace(diff(diff(T06,q2),q4)*J6*transpose(diff(T06,q1)))*qd2*qd4+. 2*trace(diff(diff(T06,q2),q5)*J6*transpose(diff(T06,q1)))*qd2*qd5+. 2*trace(diff(diff(T06,q2),q6)*J6*transpose(diff(T06,q1)))*qd2*qd6+.
trace(diff(diff(T06,q3),q3)*J6*transpose(diff(T06,q1)))*qd3*qd3+. 2*trace(diff(diff(T06,q3),q4)*J6*transpose(diff(T06,q1)))*qd3*qd4+. 2*trace(diff(diff(T06,q3),q5)*J6*transpose(diff(T06,q1)))*qd3*qd5+. 2*trace(diff(diff(T06,q3),q6)*J6*transpose(diff(T06,q1)))*qd3*qd6+.
trace(diff(diff(T06,q4),q4)*J6*transpose(diff(T06,q1)))*qd4*qd4+. 25 2*trace(diff(diff(T06,q4),q5)*J6*transpose(diff(T06,q1)))*qd4*qd5+. 2*trace(diff(diff(T06,q4),q6)*J6*transpose(diff(T06,q1)))*qd4*qd6+. trace(diff(diff(T06,q5),q5)*J6*transpose(diff(T06,q1)))*qd5*qd5+.
2*trace(diff(diff(T06,q5),q6)*J6*transpose(diff(T06,q1)))*qd5*qd6+. trace(diff(diff(T06,q6),q6)*J6*transpose(diff(T06,q1)))*qd6*qd6-. trace(diff(diff(T02,q1),q1)*J2*transpose(diff(T02,q2)))*qd1*qd1+. 2*trace(diff(diff(T02,q1),q2)*J2*transpose(diff(T02,q2)))*qd1*qd2+.
trace(diff(diff(T02,q2),q2)*J2*transpose(diff(T02,q2)))*qd2*qd2+. trace(diff(diff(T03,q1),q1)*J3*transpose(diff(T03,q2)))*qd1*qd1+. 2*trace(diff(diff(T03,q1),q2)*J3*transpose(diff(T03,q2)))*qd1*qd2+. 2*trace(diff(diff(T03,q1),q3)*J3*transpose(diff(T03,q2)))*qd1*qd3+.
trace(diff(diff(T03,q2),q2)*J3*transpose(diff(T03,q2)))*qd2*qd1+. 2*trace(diff(diff(T03,q2),q3)*J3*transpose(diff(T03,q2)))*qd2*qd3+. trace(diff(diff(T03,q3),q3)*J3*transpose(diff(T03,q2)))*qd3*qd3+. trace(diff(diff(T04,q1),q1)*J4*transpose(diff(T04,q2)))*qd1*qd1+.
2*trace(diff(diff(T04,q1),q2)*J4*transpose(diff(T04,q2)))*qd1*qd2+. 2*trace(diff(diff(T04,q1),q3)*J4*transpose(diff(T04,q2)))*qd1*qd3+. 2*trace(diff(diff(T04,q1),q4)*J4*transpose(diff(T04,q2)))*qd1*qd4+. trace(diff(diff(T04,q2),q2)*J4*transpose(diff(T04,q2)))*qd2*qd2+.
2*trace(diff(diff(T04,q2),q3)*J4*transpose(diff(T04,q2)))*qd2*qd3+. 2*trace(diff(diff(T04,q2),q4)*J4*transpose(diff(T04,q2)))*qd2*qd4+. trace(diff(diff(T04,q3),q3)*J4*transpose(diff(T04,q2)))*qd3*qd3+. 2*trace(diff(diff(T04,q3),q4)*J4*transpose(diff(T04,q2)))*qd3*qd4+.
trace(diff(diff(T04,q4),q4)*J4*transpose(diff(T04,q2)))*qd4*qd4+. trace(diff(diff(T05,q1),q1)*J5*transpose(diff(T05,q2)))*qd1*qd1+. 2*trace(diff(diff(T05,q1),q2)*J5*transpose(diff(T05,q2)))*qd1*qd2+. 2*trace(diff(diff(T05,q1),q3)*J5*transpose(diff(T05,q2)))*qd1*qd3+.
2*trace(diff(diff(T05,q1),q4)*J5*transpose(diff(T05,q2)))*qd1*qd4+. 2*trace(diff(diff(T05,q1),q5)*J5*transpose(diff(T05,q2)))*qd1*qd5+. trace(diff(diff(T05,q2),q2)*J5*transpose(diff(T05,q2)))*qd2*qd2+. 2*trace(diff(diff(T05,q2),q3)*J5*transpose(diff(T05,q2)))*qd2*qd3+.
2*trace(diff(diff(T05,q2),q4)*J5*transpose(diff(T05,q2)))*qd2*qd4+. 2*trace(diff(diff(T05,q2),q5)*J5*transpose(diff(T05,q2)))*qd2*qd5+. trace(diff(diff(T05,q3),q3)*J5*transpose(diff(T05,q2)))*qd3*qd3+. 2*trace(diff(diff(T05,q3),q4)*J5*transpose(diff(T05,q2)))*qd3*qd4+.
27 2*trace(diff(diff(T05,q3),q5)*J5*transpose(diff(T05,q2)))*qd3*qd5+. trace(diff(diff(T05,q4),q4)*J5*transpose(diff(T05,q2)))*qd4*qd4+. 2*trace(diff(diff(T05,q4),q5)*J5*transpose(diff(T05,q2)))*qd4*qd5+. trace(diff(diff(T05,q5),q5)*J5*transpose(diff(T05,q2)))*qd5*qd5+.
trace(diff(diff(T06,q1),q1)*J6*transpose(diff(T06,q2)))*qd1*qd1+. 2*trace(diff(diff(T06,q1),q2)*J6*transpose(diff(T06,q2)))*qd1*qd2+. 2*trace(diff(diff(T06,q1),q3)*J6*transpose(diff(T06,q2)))*qd1*qd3+. 2*trace(diff(diff(T06,q1),q4)*J6*transpose(diff(T06,q2)))*qd1*qd4+.
2*trace(diff(diff(T06,q1),q5)*J6*transpose(diff(T06,q2)))*qd1*qd5+. 2*trace(diff(diff(T06,q1),q6)*J6*transpose(diff(T06,q2)))*qd1*qd6+. trace(diff(diff(T06,q2),q2)*J6*transpose(diff(T06,q2)))*qd2*qd2+. 2*trace(diff(diff(T06,q2),q3)*J6*transpose(diff(T06,q2)))*qd2*qd3+.
2*trace(diff(diff(T06,q2),q4)*J6*transpose(diff(T06,q2)))*qd2*qd4+. 2*trace(diff(diff(T06,q2),q5)*J6*transpose(diff(T06,q2)))*qd2*qd5+. 2*trace(diff(diff(T06,q2),q6)*J6*transpose(diff(T06,q2)))*qd2*qd6+. trace(diff(diff(T06,q3),q3)*J6*transpose(diff(T06,q2)))*qd3*qd3+.
2*trace(diff(diff(T06,q3),q4)*J6*transpose(diff(T06,q2)))*qd3*qd4+. 2*trace(diff(diff(T06,q3),q5)*J6*transpose(diff(T06,q2)))*qd3*qd5+. 2*trace(diff(diff(T06,q3),q6)*J6*transpose(diff(T06,q2)))*qd3*qd6+. trace(diff(diff(T06,q4),q4)*J6*transpose(diff(T06,q2)))*qd4*qd4+.
2*trace(diff(diff(T06,q4),q5)*J6*transpose(diff(T06,q2)))*qd4*qd5+. 2*trace(diff(diff(T06,q4),q6)*J6*transpose(diff(T06,q2)))*qd4*qd6+. trace(diff(diff(T06,q5),q5)*J6*transpose(diff(T06,q2)))*qd5*qd5+. 2*trace(diff(diff(T06,q5),q6)*J6*transpose(diff(T06,q2)))*qd5*qd6+.
trace(diff(diff(T06,q6),q6)*J6*transpose(diff(T06,q2)))*qd6*qd6-. trace(diff(diff(T03,q1),q1)*J3*transpose(diff(T03,q3)))*qd1*qd1+. 2*trace(diff(diff(T03,q1),q2)*J3*transpose(diff(T03,q3)))*qd1*qd2+. 2*trace(diff(diff(T03,q1),q3)*J3*transpose(diff(T03,q3)))*qd1*qd3+.
trace(diff(diff(T03,q2),q2)*J3*transpose(diff(T03,q3)))*qd2*qd1+. 2*trace(diff(diff(T03,q2),q3)*J3*transpose(diff(T03,q3)))*qd2*qd3+. trace(diff(diff(T03,q3),q3)*J3*transpose(diff(T03,q3)))*qd3*qd3+. trace(diff(diff(T04,q1),q1)*J4*transpose(diff(T04,q3)))*qd1*qd1+.
2*trace(diff(diff(T04,q1),q2)*J4*transpose(diff(T04,q3)))*qd1*qd2+. 2*trace(diff(diff(T04,q1),q3)*J4*transpose(diff(T04,q3)))*qd1*qd3+. 2*trace(diff(diff(T04,q1),q4)*J4*transpose(diff(T04,q3)))*qd1*qd4+. trace(diff(diff(T04,q2),q2)*J4*transpose(diff(T04,q3)))*qd2*qd2+.
2*trace(diff(diff(T04,q2),q3)*J4*transpose(diff(T04,q3)))*qd2*qd3+. 2*trace(diff(diff(T04,q2),q4)*J4*transpose(diff(T04,q3)))*qd2*qd4+. 29 trace(diff(diff(T04,q3),q3)*J4*transpose(diff(T04,q3)))*qd3*qd3+. 2*trace(diff(diff(T04,q3),q4)*J4*transpose(diff(T04,q3)))*qd3*qd4+.
trace(diff(diff(T04,q4),q4)*J4*transpose(diff(T04,q3)))*qd4*qd4+. trace(diff(diff(T05,q1),q1)*J5*transpose(diff(T05,q3)))*qd1*qd1+. 2*trace(diff(diff(T05,q1),q2)*J5*transpose(diff(T05,q3)))*qd1*qd2+. 2*trace(diff(diff(T05,q1),q3)*J5*transpose(diff(T05,q3)))*qd1*qd3+.
2*trace(diff(diff(T05,q1),q4)*J5*transpose(diff(T05,q3)))*qd1*qd4+. 2*trace(diff(diff(T05,q1),q5)*J5*transpose(diff(T05,q3)))*qd1*qd5+. trace(diff(diff(T05,q2),q2)*J5*transpose(diff(T05,q3)))*qd2*qd2+. 2*trace(diff(diff(T05,q2),q3)*J5*transpose(diff(T05,q3)))*qd2*qd3+.
2*trace(diff(diff(T05,q2),q4)*J5*transpose(diff(T05,q3)))*qd2*qd4+. 2*trace(diff(diff(T05,q2),q5)*J5*transpose(diff(T05,q3)))*qd2*qd5+. trace(diff(diff(T05,q3),q3)*J5*transpose(diff(T05,q3)))*qd3*qd3+. 2*trace(diff(diff(T05,q3),q4)*J5*transpose(diff(T05,q3)))*qd3*qd4+.
2*trace(diff(diff(T05,q3),q5)*J5*transpose(diff(T05,q3)))*qd3*qd5+. trace(diff(diff(T05,q4),q4)*J5*transpose(diff(T05,q3)))*qd4*qd4+. 2*trace(diff(diff(T05,q4),q5)*J5*transpose(diff(T05,q3)))*qd4*qd5+. trace(diff(diff(T05,q5),q5)*J5*transpose(diff(T05,q3)))*qd5*qd5+.
trace(diff(diff(T06,q1),q1)*J6*transpose(diff(T06,q3)))*qd1*qd1+. 2*trace(diff(diff(T06,q1),q2)*J6*transpose(diff(T06,q3)))*qd1*qd2+. 2*trace(diff(diff(T06,q1),q3)*J6*transpose(diff(T06,q3)))*qd1*qd3+. 2*trace(diff(diff(T06,q1),q4)*J6*transpose(diff(T06,q3)))*qd1*qd4+.
2*trace(diff(diff(T06,q1),q5)*J6*transpose(diff(T06,q3)))*qd1*qd5+. 2*trace(diff(diff(T06,q1),q6)*J6*transpose(diff(T06,q3)))*qd1*qd6+. trace(diff(diff(T06,q2),q2)*J6*transpose(diff(T06,q3)))*qd2*qd2+. 2*trace(diff(diff(T06,q2),q3)*J6*transpose(diff(T06,q3)))*qd2*qd3+.
2*trace(diff(diff(T06,q2),q4)*J6*transpose(diff(T06,q3)))*qd2*qd4+. 2*trace(diff(diff(T06,q2),q5)*J6*transpose(diff(T06,q3)))*qd2*qd5+. 2*trace(diff(diff(T06,q2),q6)*J6*transpose(diff(T06,q3)))*qd2*qd6+. trace(diff(diff(T06,q3),q3)*J6*transpose(diff(T06,q3)))*qd3*qd3+.
2*trace(diff(diff(T06,q3),q4)*J6*transpose(diff(T06,q3)))*qd3*qd4+. 30 2*trace(diff(diff(T06,q3),q5)*J6*transpose(diff(T06,q3)))*qd3*qd5+. 2*trace(diff(diff(T06,q3),q6)*J6*transpose(diff(T06,q3)))*qd3*qd6+. trace(diff(diff(T06,q4),q4)*J6*transpose(diff(T06,q3)))*qd4*qd4+.
2*trace(diff(diff(T06,q4),q5)*J6*transpose(diff(T06,q3)))*qd4*qd5+. 2*trace(diff(diff(T06,q4),q6)*J6*transpose(diff(T06,q3)))*qd4*qd6+. trace(diff(diff(T06,q5),q5)*J6*transpose(diff(T06,q3)))*qd5*qd5+. 2*trace(diff(diff(T06,q5),q6)*J6*transpose(diff(T06,q3)))*qd5*qd6+.
trace(diff(diff(T06,q6),q6)*J6*transpose(diff(T06,q3)))*qd6*qd6-. trace(diff(diff(T04,q1),q1)*J4*transpose(diff(T04,q4)))*qd1*qd1+. 2*trace(diff(diff(T04,q1),q2)*J4*transpose(diff(T04,q4)))*qd1*qd2+. 2*trace(diff(diff(T04,q1),q3)*J4*transpose(diff(T04,q4)))*qd1*qd3+.
31 2*trace(diff(diff(T04,q1),q4)*J4*transpose(diff(T04,q4)))*qd1*qd4+. trace(diff(diff(T04,q2),q2)*J4*transpose(diff(T04,q4)))*qd2*qd2+. 2*trace(diff(diff(T04,q2),q3)*J4*transpose(diff(T04,q4)))*qd2*qd3+. 2*trace(diff(diff(T04,q2),q4)*J4*transpose(diff(T04,q4)))*qd2*qd4+.
trace(diff(diff(T04,q3),q3)*J4*transpose(diff(T04,q4)))*qd3*qd3+. 2*trace(diff(diff(T04,q3),q4)*J4*transpose(diff(T04,q4)))*qd3*qd4+. trace(diff(diff(T04,q4),q4)*J4*transpose(diff(T04,q4)))*qd4*qd4+. trace(diff(diff(T05,q1),q1)*J5*transpose(diff(T05,q4)))*qd1*qd1+.
2*trace(diff(diff(T05,q1),q2)*J5*transpose(diff(T05,q4)))*qd1*qd2+. 2*trace(diff(diff(T05,q1),q3)*J5*transpose(diff(T05,q4)))*qd1*qd3+. 2*trace(diff(diff(T05,q1),q4)*J5*transpose(diff(T05,q4)))*qd1*qd4+. 2*trace(diff(diff(T05,q1),5)*J5*transpose(diff(T05,q4)))*qd1*qd5+.
trace(diff(diff(T05,q2),q2)*J5*transpose(diff(T05,q4)))*qd2*qd2+. 2*trace(diff(diff(T05,q2),q3)*J5*transpose(diff(T05,q4)))*qd2*qd3+. 2*trace(diff(diff(T05,q2),q4)*J5*transpose(diff(T05,q4)))*qd2*qd4+. 2*trace(diff(diff(T05,q2),q5)*J5*transpose(diff(T05,q4)))*qd2*qd5+.
trace(diff(diff(T05,q3),q3)*J5*transpose(diff(T05,q4)))*qd3*qd3+. 2*trace(diff(diff(T05,q3),q4)*J5*transpose(diff(T05,q4)))*qd3*qd4+. 2*trace(diff(diff(T05,q3),q5)*J5*transpose(diff(T05,q4)))*qd3*qd5+. trace(diff(diff(T05,q4),q4)*J5*transpose(diff(T05,q4)))*qd4*qd4+.
2*trace(diff(diff(T05,q4),q5)*J5*transpose(diff(T05,q4)))*qd4*qd5+. trace(diff(diff(T05,q5),q5)*J5*transpose(diff(T05,q4)))*qd5*qd5+. trace(diff(diff(T06,q1),q1)*J6*transpose(diff(T06,q4)))*qd1*qd1+. 2*trace(diff(diff(T06,q1),q2)*J6*transpose(diff(T06,q4)))*qd1*qd2+.
2*trace(diff(diff(T06,q1),q3)*J6*transpose(diff(T06,q4)))*qd1*qd3+. 2*trace(diff(diff(T06,q1),q4)*J6*transpose(diff(T06,q4)))*qd1*qd4+. 2*trace(diff(diff(T06,q1),q5)*J6*transpose(diff(T06,q4)))*qd1*qd5+. 2*trace(diff(diff(T06,q1),q6)*J6*transpose(diff(T06,q4)))*qd1*qd6+.
trace(diff(diff(T06,q2),q2)*J6*transpose(diff(T06,q4)))*qd2*qd2+. 2*trace(diff(diff(T06,q2),q3)*J6*transpose(diff(T06,q4)))*qd2*qd3+. 2*trace(diff(diff(T06,q2),q4)*J6*transpose(diff(T06,q4)))*qd2*qd4+. 32 2*trace(diff(diff(T06,q2),q5)*J6*transpose(diff(T06,q4)))*qd2*qd5+.
2*trace(diff(diff(T06,q2),q6)*J6*transpose(diff(T06,q4)))*qd2*qd6+. trace(diff(diff(T06,q3),q3)*J6*transpose(diff(T06,q4)))*qd3*qd3+. 2*trace(diff(diff(T06,q3),q4)*J6*transpose(diff(T06,q4)))*qd3*qd4+. 2*trace(diff(diff(T06,q3),q5)*J6*transpose(diff(T06,q4)))*qd3*qd5+.
2*trace(diff(diff(T06,q3),q6)*J6*transpose(diff(T06,q4)))*qd3*qd6+. trace(diff(diff(T06,q4),q4)*J6*transpose(diff(T06,q4)))*qd4*qd4+. 2*trace(diff(diff(T06,q4),q5)*J6*transpose(diff(T06,q4)))*qd4*qd5+. 2*trace(diff(diff(T06,q4),q6)*J6*transpose(diff(T06,q4)))*qd4*qd6+.
trace(diff(diff(T06,q5),q5)*J6*transpose(diff(T06,q4)))*qd5*qd5+. 2*trace(diff(diff(T06,q5),q6)*J6*transpose(diff(T06,q4)))*qd5*qd6+. trace(diff(diff(T06,q6),q6)*J6*transpose(diff(T06,q4)))*qd6*qd6-. trace(diff(diff(T05,q1),q1)*J5*transpose(diff(T05,q5)))*qd1*qd1+.
2*trace(diff(diff(T05,q1),q2)*J5*transpose(diff(T05,q5)))*qd1*qd2+. 2*trace(diff(diff(T05,q1),q3)*J5*transpose(diff(T05,q5)))*qd1*qd3+. 2*trace(diff(diff(T05,q1),q4)*J5*transpose(diff(T05,q5)))*qd1*qd4+. 33 2*trace(diff(diff(T05,q1),q5)*J5*transpose(diff(T05,q5)))*qd1*qd5+.
trace(diff(diff(T05,q2),q2)*J5*transpose(diff(T05,q5)))*qd2*qd2+. 2*trace(diff(diff(T05,q2),q3)*J5*transpose(diff(T05,q5)))*qd2*qd3+. 2*trace(diff(diff(T05,q2),q4)*J5*transpose(diff(T05,q5)))*qd2*qd4+. 2*trace(diff(diff(T05,q2),q5)*J5*transpose(diff(T05,q5)))*qd2*qd5+.
trace(diff(diff(T05,q3),q3)*J5*transpose(diff(T05,q5)))*qd3*qd3+. 2*trace(diff(diff(T05,q3),q4)*J5*transpose(diff(T05,q5)))*qd3*qd4+. 2*trace(diff(diff(T05,q3),q5)*J5*transpose(diff(T05,q5)))*qd3*qd5+. trace(diff(diff(T05,q4),q4)*J5*transpose(diff(T05,q5)))*qd4*qd4+.
2*trace(diff(diff(T05,q4),q5)*J5*transpose(diff(T05,q5)))*qd4*qd5+. trace(diff(diff(T05,q5),q5)*J5*transpose(diff(T05,q5)))*qd5*qd5+. trace(diff(diff(T06,q1),q1)*J6*transpose(diff(T06,q5)))*qd1*qd1+. 2*trace(diff(diff(T06,q1),q2)*J6*transpose(diff(T06,q5)))*qd1*qd2+.
2*trace(diff(diff(T06,q1),q3)*J6*transpose(diff(T06,q5)))*qd1*qd3+. 2*trace(diff(diff(T06,q1),q4)*J6*transpose(diff(T06,q5)))*qd1*qd4+. 2*trace(diff(diff(T06,q1),q5)*J6*transpose(diff(T06,q5)))*qd1*qd5+. 2*trace(diff(diff(T06,q1),q6)*J6*transpose(diff(T06,q4)))*qd1*qd6+.
trace(diff(diff(T06,q2),q2)*J6*transpose(diff(T06,q5)))*qd2*qd2+. 2*trace(diff(diff(T06,q2),q3)*J6*transpose(diff(T06,q5)))*qd2*qd3+. 2*trace(diff(diff(T06,q2),q4)*J6*transpose(diff(T06,q5)))*qd2*qd4+. 2*trace(diff(diff(T06,q2),q5)*J6*transpose(diff(T06,q5)))*qd2*qd5+.
2*trace(diff(diff(T06,q2),q6)*J6*transpose(diff(T06,q5)))*qd2*qd6+. trace(diff(diff(T06,q3),q3)*J6*transpose(diff(T06,q5)))*qd3*qd3+. 2*trace(diff(diff(T06,q3),q4)*J6*transpose(diff(T06,q5)))*qd3*qd4+. 2*trace(diff(diff(T06,q3),q5)*J6*transpose(diff(T06,q5)))*qd3*qd5+.
2*trace(diff(diff(T06,q3),q6)*J6*transpose(diff(T06,q5)))*qd3*qd6+. trace(diff(diff(T06,q4),q4)*J6*transpose(diff(T06,q5)))*qd4*qd4+. 2*trace(diff(diff(T06,q4),q5)*J6*transpose(diff(T06,q5)))*qd4*qd5+. 2*trace(diff(diff(T06,q4),q6)*J6*transpose(diff(T06,q5)))*qd4*qd6+.
trace(diff(diff(T06,q5),q5)*J6*transpose(diff(T06,q5)))*qd5*qd5+. 2*trace(diff(diff(T06,q5),q6)*J6*transpose(diff(T06,q5)))*qd5*qd6+. 34 trace(diff(diff(T06,q6),q6)*J6*transpose(diff(T06,q5)))*qd6*qd6-. trace(diff(diff(T06,q1),q1)*J6*transpose(diff(T06,q6)))*qd1*qd1+.
2*trace(diff(diff(T06,q1),q2)*J6*transpose(diff(T06,q6)))*qd1*qd2+. 2*trace(diff(diff(T06,q1),q3)*J6*transpose(diff(T06,q6)))*qd1*qd3+. 2*trace(diff(diff(T06,q1),q4)*J6*transpose(diff(T06,q6)))*qd1*qd4+. 2*trace(diff(diff(T06,q1),q5)*J6*transpose(diff(T06,q6)))*qd1*qd5+.
2*trace(diff(diff(T06,q1),q6)*J6*transpose(diff(T06,q6)))*qd1*qd6+. trace(diff(diff(T06,q2),q2)*J6*transpose(diff(T06,q6)))*qd2*qd2+. 2*trace(diff(diff(T06,q2),q3)*J6*transpose(diff(T06,q6)))*qd2*qd3+. 2*trace(diff(diff(T06,q2),q4)*J6*transpose(diff(T06,q6)))*qd2*qd4+.
2*trace(diff(diff(T06,q2),q5)*J6*transpose(diff(T06,q6)))*qd2*qd5+. 2*trace(diff(diff(T06,q2),q6)*J6*transpose(diff(T06,q6)))*qd2*qd6+. trace(diff(diff(T06,q3),q3)*J6*transpose(diff(T06,q6)))*qd3*qd3+. 2*trace(diff(diff(T06,q3),q4)*J6*transpose(diff(T06,q6)))*qd3*qd4+.
2*trace(diff(diff(T06,q3),q5)*J6*transpose(diff(T06,q6)))*qd3*qd5+. 2*trace(diff(diff(T06,q3),q6)*J6*transpose(diff(T06,q6)))*qd3*qd6+. trace(diff(diff(T06,q4),q4)*J6*transpose(diff(T06,q6)))*qd4*qd4+. 2*trace(diff(diff(T06,q4),q5)*J6*transpose(diff(T06,q6)))*qd4*qd5+.
2*trace(diff(diff(T06,q4),q6)*J6*transpose(diff(T06,q6)))*qd4*qd6+. trace(diff(diff(T06,q5),q5)*J6*transpose(diff(T06,q6)))*qd5*qd5+. 2*trace(diff(diff(T06,q5),q6)*J6*transpose(diff(T06,q6)))*qd5*qd6+. trace(diff(diff(T06,q6),q6)*J6*transpose(diff(T06,q6)))*qd6*qd6-.