n=10000;
h=linspace(0,0.5,n); ii=3; b=0.15; R=0.111;
%驱动轮A与转向轮横向偏距a1 a1=0.08;
%驱动轮B与转向轮横向偏距a2 a2=0.08; %曲柄半径r1 r1=0.01347;
%绳轮半径r2 r2=0.006;
%驱动轴与转向轮的距离d
d=0.18;
%转向杆的长c c=0.06;
l=sqrt(b^2+r1^2)+(0.351)/1000; aa=zeros(1,8); kk=zeros(3,8); A1=zeros(9,4); ddc=0.000001; aa(1,1)=ii; aa(1,2)=b; aa(1,3)=R; aa(1,4)=a1; aa(1,5)=r1; aa(1,6)=r2; aa(1,7)=c; aa(1,8)=l; %算法
for i=1:9 if i>1
aa(1,i-1)=aa(1,i-1)+ddc; end
ii=aa(1,1); b=aa(1,2); R=aa(1,3); a1=aa(1,4);
41
r1=aa(1,5);
r2=aa(1,6); c=aa(1,7); l=aa(1,8); g=-10; sd2=h/r2;
sd1=sd2/ii+pi/2;
C=l^2-2*c^2-r1^2.*(cos(sd1)).^2-(b-r1.*sin(sd1)).^2; A=2.*c.*(b-r1.*sin(sd1)); B=-2*c^2;
af=asin(C./sqrt(A.^2+B.^2))-atan(B./A); format long
rou=a1+(d)./(tan(af)); s=sd2*R; ds=s(2)-s(1); dbd=ds./(rou); bd=cumsum(dbd); dy=ds*cos(bd); dx=-ds*sin(bd); x=cumsum(dx); y=cumsum(dy);
plot(x,y) grid on hold on
for j=fix(6.5*n/9):fix(8.5*n/9)
if x(j)==min(x(fix(6.5*n/9):fix(8.5*n/9))) A1(i,1)=x(j); A1(i,2)=y(j); end
if x(j)==max(x)
A1(i,3)=x(j); A1(i,4)=y(j); end end if i>1
aa(1,i-1)=aa(1,i-1)-ddc; end end
for i=2:9
42
kk(1,i-1)=(A1(i,1)-A1(1,1))/ddc/14;%幅值 kk(2,i-1)=(A1(i,4)-A1(1,4))/ddc/4;%波长 kk(3,i-1)=A1(i,3)/ddc/8/8;%角度 end toc kk'
43