news 2026/6/20 3:29:10

用于自动驾驶汽车赛车中实时最优轨迹规划的顺序凸规划方法(Matlab代码实现)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用于自动驾驶汽车赛车中实时最优轨迹规划的顺序凸规划方法(Matlab代码实现)

👨‍🎓个人主页

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

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

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

🎁完整资源、论文复现、期刊合作、论文辅导及科研仿真定制事宜点击:

👉👉👉本文完整资源下载

💥1 概述

用于自动驾驶汽车赛车中实时最优轨迹规划的顺序凸规划方法研究

自动驾驶汽车赛车中轨迹规划的优化问题具有非线性和非凸性的特点。通常不是解决这些优化问题,而是求解凸近似以实现高更新率。我们提出了一种基于非线性单轨车辆模型和Pacejka的神奇轮胎公式的实时模型预测控制(MPC)轨迹规划器,用于自动驾驶汽车赛车。在制定了一般的非凸轨迹优化问题之后,我们使用顺序凸规划(SCP)形成了凸近似。最先进的技术使用顺序线性化(SL)凸化轨道约束,这是一种放宽约束的方法。松弛优化问题的解在非凸优化问题中不能保证可行。我们提出了顺序凸约束(SCR)作为凸化轨道约束的方法。SCR 保证生成的解决方案在非凸优化问题中是可行的。我们展示了受限优化问题解决方案的递归可行性。MPC在模拟中在霍根海姆赛道的缩放版本上进行评估。结果表明,使用SCR的MPC比使用SL的MPC产生更快的单圈时间,同时仍然具有实时能力。

  • Matlab
    • 版本:推荐 R2021a,最低 R2019a
    • 符号数学工具箱
    • 统计和机器学习工具箱(仅用于评估)
  • 求解
    • 推荐的 IBM ILOG CPLEX 优化工作室 12.10
    • 或者,MATLAB通过“符号数学工具箱”quadprog

一、引言

自动驾驶汽车赛车中的轨迹规划问题因其高度非线性与非凸性而极具挑战性。为了在高更新率下实现有效的轨迹规划,通常的做法是求解凸近似问题。本文提出了一种结合非线性单轨车辆模型和Pacejka轮胎模型的实时模型预测控制(MPC)轨迹规划器,并引入顺序凸规划(SCP)方法来形成凸近似,以应用于自动驾驶汽车赛车。

二、非凸轨迹优化问题

在自动驾驶汽车赛车领域,轨迹规划问题通常涉及多个复杂因素,如车辆动力学、道路约束、障碍物避让等,这些因素共同构成了非线性和非凸的优化问题。传统方法在处理这类问题时往往效率低下,难以满足实时性要求。

三、顺序凸规划(SCP)方法

为了克服非凸优化问题的挑战,本文采用顺序凸规划(SCP)方法。SCP方法通过迭代地求解一系列凸优化子问题来逼近原非凸优化问题的解。在每次迭代中,我们根据当前解对原问题进行凸化,从而得到一个凸优化问题。通过不断迭代,我们可以逐步逼近原问题的最优解。

四、顺序凸约束(SCR)方法

最先进的技术通常使用顺序线性化(SL)方法来凸化轨道约束,但这种方法可能导致生成的解决方案在非凸优化问题中不可行。为了解决这个问题,我们提出了顺序凸约束(SCR)方法。SCR方法通过保持轨道约束的凸性,确保生成的解决方案在非凸优化问题中是可行的。这一改进大大提高了轨迹规划器的实用性和可靠性。

五、递归可行性分析

在SCP框架下,我们证明了受限优化问题解决方案的递归可行性。这意味着在每次迭代中,我们都可以找到一个可行的解决方案,从而保证了整个轨迹规划过程的稳定性和收敛性。

六、模拟实验与结果分析

为了验证SCP方法的有效性,我们在霍根海姆赛道的缩放版本上进行了模拟实验。实验结果表明,使用SCR的MPC轨迹规划器比使用SL的MPC轨迹规划器产生更快的单圈时间,同时仍然保持了实时性能。这一结果充分证明了SCP方法在提高自动驾驶汽车赛车轨迹规划效率方面的优势。

七、结论与展望

本文提出了一种基于顺序凸规划(SCP)的实时轨迹规划方法,用于自动驾驶汽车赛车。通过引入顺序凸约束(SCR)方法,我们确保了生成的解决方案在非凸优化问题中的可行性。模拟实验结果验证了SCP方法的有效性。未来工作将进一步探索SCP方法在其他复杂场景中的应用,并优化算法以提高计算效率。


本文档详细介绍了用于自动驾驶汽车赛车中实时最优轨迹规划的顺序凸规划方法研究,包括非凸轨迹优化问题的提出、顺序凸规划方法的引入、顺序凸约束方法的提出、递归可行性分析以及模拟实验与结果分析等内容。希望本文档能为相关领域的研究人员提供有益的参考和启示。

📚2 运行结果

部分代码:

function cfg_vh = vehicle_ST_Liniger(cfg_vh)
% adapts vehicle to Single Track Model Liniger
cfg_vh.description = [cfg_vh.description '\nwith single-track vehicle model & Liniger params'];

%% from Parameter Study (HockenheimShort, SL & SCR)
cfg_vh.p.Q = 1.5; % or even more?2.6 for maximum aggressive but close to instable; % weight for maximization of position on track
cfg_vh.p.R = diag([90 90]); % 41 for maximum aggrasion: 14.6s. 90: 15.1 % weight for control changes over time
cfg_vh.p.trust_region_size = 1.6; % [m] adds/subtracts to position (SL only)

%% Model
% CAVE: model params should match across controller and simulation model
cfg_vh.model_controller_handle = @model.vehicle.SingleTrack;
cfg_vh.modelParams_controller = model.vehicle.SingleTrack.getParamsLinigerRC_1_43_WithLinigerBounds();
cfg_vh.model_simulation_handle = cfg_vh.model_controller_handle;
cfg_vh.modelParams_simulation = model.vehicle.SingleTrack.getParamsLinigerRC_1_43_WithLinigerBounds();
end

🎉3参考文献

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

🌈4 Matlab代码实现

🎁完整资源、论文复现、期刊合作、论文辅导及科研仿真定制事宜点击:

👉👉👉本文完整资源下载

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/20 3:28:11

NGA论坛优化摸鱼体验:免费开源脚本让你的论坛浏览效率提升300%

NGA论坛优化摸鱼体验:免费开源脚本让你的论坛浏览效率提升300% 【免费下载链接】NGA-BBS-Script NGA论坛增强脚本,给你完全不一样的浏览体验 项目地址: https://gitcode.com/gh_mirrors/ng/NGA-BBS-Script 还在为NGA论坛繁杂的界面和低效的浏览体…

作者头像 李华
网站建设 2026/6/20 3:16:57

3分钟学会:Rufus启动盘制作完整指南

3分钟学会:Rufus启动盘制作完整指南 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus是一款免费开源的USB格式化工具,专门用于制作Windows、Linux等多系统启动U盘。无…

作者头像 李华
网站建设 2026/6/20 3:10:08

Windows热键侦探:快速找出谁“偷走“了你的快捷键组合

Windows热键侦探:快速找出谁"偷走"了你的快捷键组合 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …

作者头像 李华
网站建设 2026/6/20 3:07:05

NXP Kinetis K22F低功耗设计实战:电气特性与电源模式深度解析

1. 项目概述:从数据手册到设计实战做嵌入式开发,尤其是电池供电的设备,选型时最头疼的往往不是芯片的功能有多强大,而是它的“胃口”有多大,以及供电的“脾气”有多怪。数据手册里那些密密麻麻的电气参数表格&#xff…

作者头像 李华
网站建设 2026/6/20 2:59:28

MC68HC908AP SCI模块深度解析:寄存器配置、中断处理与低功耗实践

1. 项目概述与核心价值在嵌入式系统开发中,串行通信接口(SCI, Serial Communications Interface)是连接微控制器与外部世界的“咽喉要道”。无论是调试信息输出、与传感器交互,还是实现设备间的数据透传,一…

作者头像 李华