L1=Link([0,0,0,pi/2]);
L2=Link([0,0,20,0]);
L3=Link([0,25,80, -pi/2]);
L4=Link([0,50,0,pi/2]);
L5=Link([0,0,10,-pi/2]);
L6=Link([0,0,10,0]);
robot=SerialLink([L1,L2,L3,L4,L5,L6],'name','CSD');
P0=[0,0,50];
P1=[2.2367,11.3666,50];
P2=[8.6132,21.0382,50];
P3=[18.1788,27.5728,50];
P4=[29.5071,29.996,50];
P5=[40.9089,27.9463,50];
P6=[50.684,21.7295,50];
P7=[57.3749,12.2726,50];
P8=[59.8111,0.1046,50];
P9=[0.1704,-50.203,50];
P10=[58.9527,-50.203,50];
P11=[100,-50.203,50];
P12=[58.9527,-99.1212,50];
P13=[58.9527,-30,50];
PATH=[P0;P1;P2;P3;P4;P5;P6;P7;P8;P9;P10;P11;P12;P13];
plot3(PATH(:,1),PATH(:,2),PATH(:,3),'r');
hold on
p=mstraj(PATH,[1,1,1],[],P0,0.02,0);
about(p)
numrows(p*0.02)
T_P0=transl(P0);
q0=robot.ikine(T_P0);
Tp=transl(p)
q=robot.ikine(Tp,q0);
robot.plot(q,'tilesize',100);
figure
i=1:6;
plot(q(:,i));title('位置');grid on; |