zl程序教程

您现在的位置是:首页 >  后端

当前栏目

无人车驾驶地面避障(Matlab代码实现)

MATLAB代码 实现 驾驶 无人 地面 避障
2023-09-14 09:05:20 时间

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

无人车又称人工智能无人驾驶汽车,其主要是利用人工智能技术,在车内没有驾驶员的情况下,自动控制车辆行驶方向、速度和姿态,使汽车能够安全顺利到达目标点,从而实现无人自动驾驶。无人车概念最早是在20世纪七十年代由美国人提出,由于当时人工智能技术还不够成熟,在后来较长一段时间内没有取得实质性的进展。当前常用的路径规划方法主要为基于遗传算法的避障路径规划,以及基于栅格法的避障路径规划,这两种方法存在一个共性问题,即规划的无人车避障路径拐点较多,路径平滑性较低,无法满足无人车避障路径规划的实际需求。
 

📚2 运行结果

部分代码:

clear all;
close all;

x = 0:0.2:0.2*(31-1);
y = 0:0.2:0.2*(100-1);

% goal point

% threat obstacle

for iter = 1 : 31
    for iter_j = 1 : 99
        cost(iter,iter_j) = (0.5*cos(x(iter))+0.6)*exp(-(y(iter_j)/y(iter_j+1)));
    end
end

figure(2)
surf(y(1:99),x,cost);
% shading interp;
xlabel('distance (meter)')
ylabel('\theta (rad)')
zlabel('cost')

% agent

for iter = 1 : 31
    for iter_j = 1 : 99
        cost(iter,iter_j) = 0.3*(0.5*cos(x(iter))+0.6)*exp(-(y(iter_j)));
    end
end

figure(3)
surf(y(1:99),x,cost);
% shading interp;
xlabel('distance (meter)')
ylabel('\theta (rad)')
zlabel('cost')

% swarm


for iter = 1 : 31
    for iter_j = 1 : 99
        cost_goal(iter,iter_j) = 1-exp(-(y(iter_j))/y(iter_j+1));
    end
end

x = 0:0.2:0.2*(31-1);
y = 0:0.2:0.2*(100-1);

figure(4)
surf(y(1:99),x,cost_goal);
% shading interp;
xlabel('distance (meter)')
ylabel('\theta (radian)')
zlabel('cost')
 

clear all;
close all;

x = 0:0.2:0.2*(31-1);
y = 0:0.2:0.2*(100-1);

% goal point

% threat obstacle

for iter = 1 : 31
    for iter_j = 1 : 99
        cost(iter,iter_j) = (0.5*cos(x(iter))+0.6)*exp(-(y(iter_j)/y(iter_j+1)));
    end
end

figure(2)
surf(y(1:99),x,cost);
% shading interp;
xlabel('distance (meter)')
ylabel('\theta (rad)')
zlabel('cost')

% agent

for iter = 1 : 31
    for iter_j = 1 : 99
        cost(iter,iter_j) = 0.3*(0.5*cos(x(iter))+0.6)*exp(-(y(iter_j)));
    end
end

figure(3)
surf(y(1:99),x,cost);
% shading interp;
xlabel('distance (meter)')
ylabel('\theta (rad)')
zlabel('cost')

% swarm


for iter = 1 : 31
    for iter_j = 1 : 99
        cost_goal(iter,iter_j) = 1-exp(-(y(iter_j))/y(iter_j+1));
    end
end

x = 0:0.2:0.2*(31-1);
y = 0:0.2:0.2*(100-1);

figure(4)
surf(y(1:99),x,cost_goal);
% shading interp;
xlabel('distance (meter)')
ylabel('\theta (radian)')
zlabel('cost')
 

 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]蒋正荣,沈奔豪.基于动态人工势场法的无人车避障路径规划方法[J].自动化应用,2022(07):1-3+7.DOI:10.19769/j.zdhy.2022.07.001.

[2]方朋朋,杨家富,施杨洋,于凌宇.基于梯度下降法和改进人工势场法的无人车避障方法[J].制造业自动化,2018,40(11):81-84.

🌈4 Matlab代码实现