💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
文献来源:
摘要:本文研究了无人驾驶地面车辆的路径规划,基于全局路径生成最优路径。提出的算法使用了D* Lite和横向避障算法。该算法用于全局地图和障碍物搜索。通过自主车辆的速度提出了安全避障路径规划思路。根据速度进行安全障碍物避让。当前的自动驾驶车辆在驾驶研究中是安全可靠的。本文中,自动驾驶车辆作为一种逃避横向避障D* Lite算法的方式被使用。根据车辆速度进行光学横向避障控制,以便生成路径。该研究是UGV驾驶研究中的一部分,旨在探索并避开无限路径上的未知障碍物。
关键词:D* Lite 无人驾驶车辆 路径规划 全局路径 横向避让
📚2 运行结果
.......
部分代码:
%% parameters for Adaptive waypoints repair method
n_Oper= 3; % number of moving directions
win_size=3*win; % the window size before probabilities are updated
n_win=2; % none of the strategies improved the solutions in the m previous W windows, reinitialise
n_Ants=SwarmSize; % number of new solutions
Experience_Oper=ones(1, n_Oper);
ConvergenceData = ones(1, MaximumFEs+1)*10^5; % best fitness found
TrialIndex=1;
current_eval=1; %%% fitness function evaluations counter
%previous_eval=0;
iter=0;
%% Start initialization in the archive (PopSize, Dimension)
xant=InitPos';
fitx=SingleCostFunction(xant', TModelInfor, AgentIndex);
%% Sort the population based on fitx
[fitx, indecies ] = sort( fitx );
xant = xant( indecies, : );
ConvergenceData(1)=fitx(1);
%StandardDeviation=zeros(PopSize, Dimension);
NewAnt= zeros(n_Ants, Dimension);
NoImprove=0;
SolutionWeights=1/(q*SwarmSize*sqrt(2*pi))*exp(-0.5*(((1:SwarmSize)-1)/(q*SwarmSize)).^2);
Probability=SolutionWeights./sum(SolutionWeights);
t=SwarmSize:-1:1;
Pci=0.5+0.4*(exp(10*(t-1)/(SwarmSize-1))-1)/(exp(10)-1);
while current_eval<MaximumFEs
if flag_agent==1
xant(SwarmSize/2+1:end,:)=xmin'+rand(SwarmSize/2, Dimension).*(xmax'-xmin');
pp=repair1(xant(SwarmSize/2+1:end,:)',TModelInfor,AgentIndex, pRepair, flag_uniform);
xant(SwarmSize/2+1:end,:)=pp';
fitx=SingleCostFunction(xant', TModelInfor,AgentIndex);
[fitx, indecies ] = sort( fitx );
xant = xant( indecies, : );
eval_agent(AgentIndex)=current_eval+1;
current_eval=current_eval+n_Ants;
ConvergenceData(current_eval-n_Ants+1:current_eval)=fitx(1);
flag_agent=0;
else
iter=iter+1;
%% ---------------------Update individuals------------------------------
if mod(iter,win_size)==1
Prob_Oper=Experience_Oper/(sum(Experience_Oper)+realmin);
Experience_Oper=ones(1, n_Oper);
end
% generate new population
% Prob_Oper
flag_moving=RouletteWheelSelection(Prob_Oper);
flag_uniform=[0 flag_moving];
old_fitx=fitx(1);
ttemp=rand(SwarmSize,Dimension);
flag=(ttemp>Pci')*1;
for i=1:n_Ants
[NewAnt(i,:), Nfitx(i)]= NewSolConst(TModelInfor, xant, SwarmSize,Dimension, Probability, flag,zeta, AgentIndex, pRepair, flag_uniform);
end
%% ---------------------Evaluation----------------------------------------
allSwarm=[xant; NewAnt];
allFitnessValue= [fitx Nfitx];
% sort
[allFitnessValue, SortIndex]=sort(allFitnessValue);
allSwarm=allSwarm(SortIndex,:);
current_eval=current_eval+n_Ants;
ConvergenceData(current_eval-n_Ants+1:current_eval)=allFitnessValue(1);
% record the number without impovement
if fitx(1)<=allFitnessValue(1)
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1] Jo S W , Park S M , Kim J H .Unmanned ground vehicle for driving based global path is lateral avoidance path planning[J].IEEE, 2014.DOI:10.1109/ICCAS.2014.6987823.