基于智能优化算法实现自动泊车的路径动态规划(Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了基于智能优化算法实现自动泊车的路径动态规划(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码


💥1 概述

作为一种方便、快捷的交通工具,汽车已成为人们生活和工作的重要组成部分。随着汽车数量的逐年增加,有限的城市空间显得日趋拥挤,车辆平均分配到的停放空间也日趋缩小,车辆泊车入位困难问题在人们生活中逐渐显现。人们对车辆使用轻便性及安全性要求促使越来越多汽车生产商、科研机构及高校对泊车系统进行研究。目前,国外已有部分汽车生产商推出自己的自动泊车系统,但仅装配于高端车型,我国暂时还未具有自主知识产权的汽车自动泊车系统。因此,本文以低端车型为研究平台,针对自动平行泊车系统的核心技术——泊车控制策略进行探索,目的为提高泊车操作轻便性和泊车过程安全性。 本文采用泊车路径规划和泊车路径跟踪控制方法进行泊车系统控制器控制策略设计。

 本文旨在通过一个简单的脚本实现自动泊车的路径规划动态演示,并对泊车路线进行曲线拟合。

📚2 运行结果

基于智能优化算法实现自动泊车的路径动态规划(Matlab代码实现)

基于智能优化算法实现自动泊车的路径动态规划(Matlab代码实现)

🎉3 参考文献

[1]李红. 自动泊车系统路径规划与跟踪控制研究[D].湖南大学,2014.

👨‍💻4 Matlab代码

主函数部分代码:

clc;clear;close all
%   main_line.m
%   一个简单的脚本实现自动泊车的路径规划动态演示,并对泊车路线进行曲线拟合。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 参数设定
up_limit = 6;%上边界纵坐标
front_p = [5, 2]; % 车位信息C点, 参见说明文档最后碰撞检测第二部分
right_limit = 11; % 横坐标右边界

o_3 = [0.5, 1]; % 泊车点
ini = [6, 4];   % 初始点

c_l = 3; % 车长
c_w = 1.4; % 车宽
r_min = 2;    % 最小转弯半径
plot_vec = 0.01; % 动画速度, 数越小, 越快, 为0直接出图
fit_model = 0; % 拟合形式, 1位高次多项式, 其他数为傅里叶级数拟合, 图中最后出现的红色曲线为拟合曲线
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1)
hold on
grid on
%% 泊车区域限定
% 左下角坐标, 沿x长度, 沿y长度
line([0, right_limit],          [up_limit, up_limit]    ,'LineWidth',2, 'Color',[0 0 0]);
line([0, front_p(1)],           [0, 0]                  ,'LineWidth',2, 'Color',[0 0 0]);
line([front_p(1), front_p(1)],  [0, front_p(2)]         ,'LineWidth',2, 'Color',[0 0 0]);
line([front_p(1), right_limit], [front_p(2), front_p(2)],'LineWidth',2, 'Color',[0 0 0]);
axis([0 right_limit 0 up_limit], 'equal');
%% 参数
x = ini(1); y = ini(2); % 车辆后轴中心点坐标
c_o = [x, y];

c_line(1,:) = [x,       x,       y - c_w/2, y + c_w/2];
c_line(2,:) = [x,       x + c_l, y + c_w/2, y + c_w/2];
c_line(3,:) = [x + c_l, x + c_l, y + c_w/2, y - c_w/2];
c_line(4,:) = [x + c_l, x,       y - c_w/2, y - c_w/2];

for i = 1:4
    car(i) = line([c_line(i,1),c_line(i,2)], [c_line(i,3), c_line(i,4)],'LineWidth',1.5, 'Color',[0 0 0]);
end
%% 弧长确定
% 倒推法, 根据最小转弯半径确定弧2的圆心
cir2 = [o_3(1), o_3(2) + r_min];
% plot(cir2(1), cir2(2), 'ro');

% 根据过初始点和泊车点的圆的圆心确定最大半径
k_1 = (c_o(2) - o_3(2)) / (c_o(1) - o_3(1));
k_2 = - 1/k_1;
r_max = y - (k_2 * x + ((c_o(2) + o_3(2))/2 - k_2*(c_o(1) + o_3(1))/2)); % 第一次转弯最大半径

% 弧1, 根据最大最小转弯半径确定的圆心
p_rmin = [x, y - r_min];
p_rmax = [x, y - r_max];

% 最小转弯半径对应的到圆心2-r_min的距离和到初始点的距离, 以及所对应的转角
v_min = p_rmin - cir2;
l_min = norm(v_min) - r_min; % 最小转弯半径时, 与o_3连线得到的半径对比
d_min = y - p_rmin(2);
alpha_min = pi/2 - atan2(abs(v_min(2)), abs(v_min(1)));
% alpha_min*180/pi

% 最大转弯半径对应的到圆心2-r_min的距离和到初始点的距离, 以及所对应的转角
v_max = p_rmax - cir2;
l_max = norm(v_max) - r_min;
d_max = y - p_rmax(2);
alpha_max = pi/2 - atan2(abs(v_max(2)), abs(v_max(1)));
% alpha_max*180/pi

% 2分法找满足相切的两个弧的, 弧1的半径和圆心
l_middle = inf;
d_middle = 0;
% 由于弧1以最小转弯半径对应圆心构成的到初始点的长一般小于到圆心2的点, 同理, 另一个相反. 以此判断条件, 是否满足泊车最低要求.
if (l_min > d_min) && (l_max < d_max)
    while abs(l_middle - d_middle) > 0.000001
        % 根据中间角度对应的射线与x = x交点作为圆心, 计算l和d
        alpha_middle = (alpha_max + alpha_min)/2;
        k_middle = -tan(pi/2 - alpha_middle);
        y_middle = k_middle*c_o(1) + (cir2(2) - k_middle*cir2(1));
        d_middle = y - y_middle;
        v_middle = [x, y_middle] - cir2;
        l_middle = norm(v_middle) - r_min;
        
        if l_middle > d_middle
            v_min = [x, y_middle] - cir2;
            l_min = norm(v_min) - r_min; % 最小转弯半径时, 与o_3连线得到的半径对比
            d_min = y - y_middle;
            alpha_min = pi/2 - atan2(abs(v_min(2)), abs(v_min(1)));
        else
            v_max = [x, y_middle] - cir2;
            l_max = norm(v_max) - r_min;
            d_max = y - y_middle;
            alpha_max = pi/2 - atan2(abs(v_max(2)), abs(v_max(1)));
        end
    end文章来源地址https://www.toymoban.com/news/detail-471760.html

到了这里,关于基于智能优化算法实现自动泊车的路径动态规划(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动泊车的自动驾驶控制算法

    自动泊车系统(AutomatedParkingASSiSt,APA)利用车辆搭载的传感器感知车辆周边环境,扫描满足当前车辆停放的障碍物空间车位或线车位,并通过人机交互(HumanMachine Interface,HMI)获取驾驶员对目标车位的选择或自动确定目标车位,自动规划泊车路径,通过控制器向车辆执行机构发送横向及纵

    2024年02月11日
    浏览(39)
  • 自动驾驶学习笔记(二十二)——自动泊车算法

    #Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:  《自动驾驶新人之旅》免费课程— 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—传送门 文章目录 前言 感知算法 定位算法 规划算法 控制算法 算法调试 总结         见《

    2024年02月03日
    浏览(52)
  • 路径规划算法:基于平衡优化器优化的路径规划算法- 附代码

    摘要:本文主要介绍利用智能优化算法平衡优化器算法来进行路径规划。 平衡优化器算法原理请参考:https://blog.csdn.net/u011835903/article/details/111388552 1.1 环境设定 在移动机器人的路径优化中,每个优化算法的解代表机器人的一条运动路径。优化算法会通过优化计算在众多路径

    2024年02月07日
    浏览(41)
  • 路径优化算法 | 基于A_Star算法实现复杂地形下无人机威胁概率地图最短路径避障三维航迹规划

    A* (A-Star) 算法是一种广泛使用的路径搜索和图形遍历算法,用于在给定起点和终点的情况下找到最短路径。对于无人机在复杂地形下的三维航迹规划,A* 算法可以与其他技术结合,例如威胁概率地图(Threat Probability Map),以实现避障和最短路径规划。 以下是一个基于 A* 算法

    2024年04月08日
    浏览(83)
  • 路径规划算法:基于鸽群优化的路径规划算法- 附代码

    摘要:本文主要介绍利用智能优化算法鸽群算法来进行路径规划。 鸽群算法原理请参考:https://blog.csdn.net/u011835903/article/details/109774886 1.1 环境设定 在移动机器人的路径优化中,每个优化算法的解代表机器人的一条运动路径。优化算法会通过优化计算在众多路径中找出一条最

    2024年02月08日
    浏览(46)
  • 路径规划算法:基于和声优化的路径规划算法- 附代码

    摘要:本文主要介绍利用智能优化算法和声算法来进行路径规划。 和声算法原理请参考:https://blog.csdn.net/u011835903/article/details/118724731 1.1 环境设定 在移动机器人的路径优化中,每个优化算法的解代表机器人的一条运动路径。优化算法会通过优化计算在众多路径中找出一条最

    2024年02月08日
    浏览(46)
  • 【无人机三维路径规划算法】基于NSGA2 MPNDS MPNDS2 BPNNIA BPHEIA BPAIMA多种多目标优化算法实现考虑无人机性能的复杂城市地形路径规划

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年01月24日
    浏览(58)
  • 基于matlab实现极致攻防优化算法TTA求解复杂山地环境下无人机三维路径规划研究 注释清楚,干货满满,直接运行

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年02月04日
    浏览(56)
  • 路径规划算法:基于花授粉优化的路径规划算法- 附代码

    摘要:本文主要介绍利用智能优化算法花授粉算法来进行路径规划。 花授粉算法原理请参考:https://blog.csdn.net/u011835903/article/details/108346554 1.1 环境设定 在移动机器人的路径优化中,每个优化算法的解代表机器人的一条运动路径。优化算法会通过优化计算在众多路径中找出一

    2024年02月06日
    浏览(42)
  • 路径规划算法:基于黄金正弦优化的路径规划算法- 附代码

    摘要:本文主要介绍利用智能优化算法黄金正弦算法来进行路径规划。 黄金正弦算法原理请参考:https://blog.csdn.net/u011835903/article/details/111699194 1.1 环境设定 在移动机器人的路径优化中,每个优化算法的解代表机器人的一条运动路径。优化算法会通过优化计算在众多路径中找

    2024年02月07日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包