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

文章介绍了无人车的自动驾驶原理,特别是针对避障路径规划的问题。目前常用的方法如基于遗传算法和栅格法存在路径不平滑的缺点。文中通过Matlab代码展示了动态人工势场法和改进的人工势场法在路径规划中的应用,以优化避障路径的平滑性和效率。
摘要由CSDN通过智能技术生成

目录

💥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代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值