%step4 路径剪枝与调整
for i=1:20
path = cutPath(path,Imp);
path = pullPath(path,Obs,ns);
path = pullPath(path,Obs,ns);
end
path = cutPath(path,Imp);
%% RRT剪枝路径以获得更短路径
function path = cutPath(oldpath,Imp)
oldpath = flipud(oldpath);
startx = oldpath(1,1);
starty = oldpath(1,2);
path = [startx,starty];
for i = 2:size(oldpath)-1
goalx = oldpath(i+1,1);
goaly = oldpath(i+1,2);
if iscollision(startx,starty,goalx,goaly,Imp) || ((goalx - startx)^2 + (goaly - starty)^2)^0.5 >50*5
path = [path;oldpath(i,1),oldpath(i,2)];
startx = oldpath(i,1);
starty = oldpath(i,2);
end
end
path = [path;oldpath(end,:)];
oldpath = path;
path = oldpath(1,:);
for i = 2:size(oldpath,1)
startx = oldpath(i-1,1);
star