clc;
clear;
Symbol_operation = false;
%% 符号运算 =====================================================
if Symbol_operation == true
for i = 1:5
% dh
eval(['syms ','q', num2str(i),' real;']);
eval(['syms ','d', num2str(i),' real;']);
eval(['syms ','a', num2str(i),' real;']);
eval(['syms ','alpha', num2str(i),' real;']);
eval(['syms ','dq', num2str(i),' real;']);
eval(['syms ','ddq', num2str(i),' real;']);
eval(['syms ','m', num2str(i),' real;']);
eval(['syms ','x', num2str(i),' real;']);
eval(['syms ','y', num2str(i),' real;']);
eval(['syms ','z', num2str(i),' real;']);
eval(['syms ','Ixx', num2str(i),' real;']);
eval(['syms ','Ixy', num2str(i),' real;']);
eval(['syms ','Ixz', num2str(i),' real;']);
eval(['syms ','Iyy', num2str(i),' real;']);
eval(['syms ','Iyz', num2str(i),' real;']);
eval(['syms ','Izz', num2str(i),' real;']);
end
syms g real;
% theta, d, a, alpha
dh_params = [q1, d1, a1, alpha1;
q2, d2, a2, alpha2;
q3, d3, a3, alpha3;
q4, d4, a4, alpha4;
q5, d5, a5, alpha5];
inertiaParam = [m1, m1*x1, m1*y1, m1*z1, 0, 0, 0, 0, 0, 0;
m2, m2*x2, m2*y2, m2*z2, 0, 0, 0, 0, 0, 0;
m3, m3*x3, m3*y3, m3*z3, 0, 0, 0, 0, 0, 0;
m4, m4*x4, m4*y4, m4*z4, 0, 0, 0, 0, 0, 0;
m5, m5*x5, m5*y5, m5*z5, 0, 0, 0, 0, 0, 0];
dq_arr = [dq1, dq2, dq3, dq4, dq5];
ddq_arr = [ddq1, ddq2, ddq3, ddq4, ddq5];
end
%% 数值运算 ==========