?? set_up.m
字號:
% script file to set up a vehicle run for subsequent
% filtering and localisation algorithms
% HDW 28/04/00
globals; % define global variables
ginit; % set global variables
% first step is to input beacons
disp('Input Beacon Locations via mouse. Press return to end');
beacons=get_beacons;
[n_beacons,temp]=size(beacons);
buf=sprintf('%d Beacons read\n',n_beacons);
disp(buf);
% Next, input path spline points and compute path
disp('Input path spline points via mouse. Press return to end');
path=get_path(beacons);
[temp,n_path]=size(path);
buf=sprintf('%d Path points of total Length %f meters read\n',n_path,n_path*LINC);
disp(buf);
disp('Press Return to continue');
pause;
% do controller to build true path and control vectors
% initialise
time=0:DT:TEND;
[temp,tsize]=size(time);
xtrue=zeros(4,tsize); % needed for reseting between runs
utrue=zeros(3,tsize); % and again
xtrue(1,1)=path(1,1); % initial x
xtrue(2,1)=path(2,1); % initial y
xtrue(3,1)=atan2(path(2,2)-path(2,1),path(1,2)-path(1,1)); % initial phi
xtrue(4)=0; % time=0;
utrue(1)=VVEL; % velocity set at 2 m/s
utrue(2)=0; % initial steer is zero
utrue(3)=0; % time=0
% loop control
buf=sprintf('Beginning Simulation, please wait\n');
disp(buf)
index = 1;
for i=1:(tsize-1)
% find error
[perr,oerr,index,d]=get_err(xtrue(:,i),path,index);
% compute next state
[xtrue(:,i+1),utrue(:,i+1)]=get_control(xtrue(:,i),utrue(:,i),perr,oerr,DT);
if d >10 % test for end of path
break;
end
end
% shorten vectors to end length
xtrue=xtrue(:,1:i);
utrue=utrue(:,1:i);
utrue(1,:)=utrue(1,:)/WHEEL_RADIUS; % make speed into rads/s
% add noise if required
uz(1,:)=utrue(1,:)+GSIGMA_WHEEL*randn(size(utrue(1,:)));
uz(2,:)=utrue(2,:)+GSIGMA_STEER*randn(size(utrue(2,:)));
buf=sprintf('simulation terminating at time %f\n',i*DT);
disp(buf);
figure(PLAN_FIG)
hold on
plot(xtrue(1,:),xtrue(2,:),'g')
hold off
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -