当前位置: 首页 > article >正文

基于多控制策略的车辆路径跟踪仿真研究

基于前轮转向转矩分配(AFSDYC)模型预测控制(MPC)路径跟踪(PTC)侧偏角软约束目前的范例是72km/h附着系数0.85双移线。 仿真使用的是MATLAB2020b版本和carsim2020。 MPC有两个第一个为增量式方法编写采用s-function实现输入为跟踪误差、横摆角误差、侧向速度和横摆角速度输出量为前轮转角和附加横摆力矩仅考虑横向控制。 考虑了前后轮的侧偏角软约束在侧偏角到约束边界时减小控制律保证侧偏角的稳定。 第二个采用Apollo中的模型基于MATLAB function编写不包括侧偏角软约束作为对比参考使用。 其中包含carsim的cpar文件、模型mdl文件、绘图m文件(运行后一键出图)、说明文档和中文文献。最近在研究车辆控制相关的内容基于前轮转向 转矩分配AFS DYC结合模型预测控制MPC以及路径跟踪PTC还加入了侧偏角软约束实现了一些有趣的成果今天就来和大家分享分享。基于前轮转向转矩分配(AFSDYC)模型预测控制(MPC)路径跟踪(PTC)侧偏角软约束目前的范例是72km/h附着系数0.85双移线。 仿真使用的是MATLAB2020b版本和carsim2020。 MPC有两个第一个为增量式方法编写采用s-function实现输入为跟踪误差、横摆角误差、侧向速度和横摆角速度输出量为前轮转角和附加横摆力矩仅考虑横向控制。 考虑了前后轮的侧偏角软约束在侧偏角到约束边界时减小控制律保证侧偏角的稳定。 第二个采用Apollo中的模型基于MATLAB function编写不包括侧偏角软约束作为对比参考使用。 其中包含carsim的cpar文件、模型mdl文件、绘图m文件(运行后一键出图)、说明文档和中文文献。本次仿真使用的是MATLAB 2020b版本搭配carsim 2020这俩工具在车辆动力学仿真这块还是非常给力的。范例场景设定为车速72km/h附着系数0.85的双移线工况这个工况能较好地检验车辆在复杂转向情况下的控制性能。MPC控制策略详解这里面MPC有两种实现方式挺有意思的和大家唠唠。增量式MPC含侧偏角软约束第一种MPC采用增量式方法编写通过s - function实现。它的输入参数包括跟踪误差、横摆角误差、侧向速度和横摆角速度输出则是前轮转角和附加横摆力矩主要专注于横向控制。% 假设这里是s - function的部分关键代码框架 function [sys,x0,str,ts] sfcn(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]mdlInitializeSizes; case 2, sysmdlUpdate(t,x,u); case 3, sysmdlOutputs(t,x,u); case {1,4,9} sys []; otherwise DAStudio.error(Simulink:blocks:unhandledFlag, num2str(flag)); end end function [sys,x0,str,ts]mdlInitializeSizes sizes simsizes; % 设置输入输出端口数量等参数 sizes.NumContStates 0; sizes.NumDiscStates 0; sizes.NumOutputs 2; % 前轮转角和附加横摆力矩 sizes.NumInputs 4; % 跟踪误差、横摆角误差、侧向速度和横摆角速度 % 其他参数设置... sys simsizes(sizes); x0 []; str []; ts [0 0]; end function sysmdlOutputs(t,x,u) % 这里面根据输入的u跟踪误差、横摆角误差、侧向速度和横摆角速度 % 通过MPC算法计算输出前轮转角和附加横摆力矩 tracking_error u(1); yaw_error u(2); lateral_velocity u(3); yaw_rate u(4); % 简单示意实际MPC计算很复杂 front_wheel_angle tracking_error * 0.1 yaw_error * 0.2; additional_yaw_moment lateral_velocity * 0.3 yaw_rate * 0.4; sys [front_wheel_angle; additional_yaw_moment]; end这里还考虑了前后轮的侧偏角软约束。为啥要加这个呢当侧偏角快到约束边界的时候如果不做处理车辆的稳定性就会受影响。加了软约束之后一旦侧偏角接近边界就减小控制律这样能保证侧偏角稳定车辆行驶也就更稳。Apollo模型MPC无侧偏角软约束第二种MPC采用Apollo中的模型基于MATLAB function编写这个就不包括侧偏角软约束啦主要是作为对比参考用的。function [front_wheel_angle, additional_yaw_moment] apollo_mpc(tracking_error, yaw_error, lateral_velocity, yaw_rate) % 同样简单示意计算过程 front_wheel_angle tracking_error * 0.15 yaw_error * 0.25; additional_yaw_moment lateral_velocity * 0.35 yaw_rate * 0.45; end通过对比这两个MPC就能很直观地看出侧偏角软约束在车辆控制中的作用。仿真资源说明仿真项目里还包含carsim的cpar文件、模型mdl文件、绘图m文件运行后一键出图超方便另外还有说明文档和中文文献。这些文件对于理解整个仿真流程和原理非常有帮助。比如说cpar文件里详细记录了车辆的各种参数mdl文件搭建了整个仿真模型的架构绘图m文件可以把仿真结果以直观的图形展示出来。总之通过这次研究对基于多种控制策略的车辆路径跟踪有了更深入的认识不同的MPC策略各有特点侧偏角软约束也确实对车辆稳定性控制起到了关键作用。希望我的这些分享能给同样在研究相关方向的小伙伴一些启发。

相关文章:

基于多控制策略的车辆路径跟踪仿真研究

基于前轮转向转矩分配(AFSDYC)模型预测控制(MPC)路径跟踪(PTC)侧偏角软约束,目前的范例是72km/h,附着系数0.85双移线。 仿真使用的是MATLAB2020b版本和carsim2020。 MPC有两个:第一个为增量式方法编写,采用s-function实现&#xf…...

FLAC3D 钢筋混凝土梁四点弯破坏过程数值模拟

flac3d钢筋混凝土梁四点弯破坏过程数值模拟在土木工程领域,了解钢筋混凝土梁在不同受力状态下的破坏过程至关重要。数值模拟为我们提供了一种深入探究这一过程的有效手段,今天就来聊聊使用 FLAC3D 对钢筋混凝土梁四点弯破坏过程进行数值模拟的那些事儿。…...

51单片机寻迹避障小车的奇妙之旅

51单片机寻迹避障小车(遇障碍物停车)仿真+源程序,两个版本,指示灯或LCD 仿真图设计: (1)寻迹功能的两个红外传感器,用两个单刀开关来模拟(断开为高电平1&…...

基于Matlab实现面和线接触滑块润滑的奇妙之旅

基于matlab的面和线接触的滑块润滑,基于有限差分法求解面接触滑块润滑的油膜厚度、油膜压力,输出三维可视化结果。 程序已调通,可直接运行。最近在研究滑块润滑的问题,今天就来和大家分享一下基于Matlab实现面和线接触滑块润滑分析…...

探索ICEEMDAN - iMPA - BiLSTM在功率/风速预测中的奇妙之旅

ICEEMDAN-iMPA-BiLSTM功率/风速预测 基于改进的自适应经验模态分解改进海洋捕食者算法双向长短期记忆网络时间序列预测~组合预测 Matlab语言 1.分解时避免了传统经验模态分解的一些固有缺陷,效果更佳,并通过改进的海洋捕食者算法对BiLSTM四个…...

基于matlab的雾霾天气+夜间车牌识别系统 【车牌识别】基于计算机视觉,数字图像处理常见实战项目

基于matlab的雾霾天气夜间车牌识别系统 【车牌识别】基于计算机视觉,数字图像处理常见实战项目:雾霾天气及夜间车牌识别语音播报GUI显示车牌信息导出。 含GUI界面。 预处理过程:去雾增强算法,亮度增强算法。 车牌处理过程&#xf…...

Yolo免环境训练工具:支持多版本Yolo标注与训练的实用工具集

yolo免环境训练工具 yolo8标注工具 yolo训练工具 yolo8 yolo4 yolo3 yolo无需搭建环境训练工具 免环境标注、训练的工具 支持版本 yolo3 yolo4 yolo8(电脑显卡必须N卡) 可训练模型 cfg weights bin param pt yolo8l.pt yolo8m.pt yolo8n.pt yolo8s.pt yolo8x.pt 实用功能 自动…...

解锁LyricsX高效配置:让你的macOS歌词体验无缝升级

解锁LyricsX高效配置:让你的macOS歌词体验无缝升级 【免费下载链接】LyricsX 🎶 Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX LyricsX是一款专为macOS设计的开源歌词工具,能够自动同步显示歌…...

基于Simulink和Carsim的车辆主动悬架防侧翻控制项目报告

车辆主动悬架防侧翻控制 利用Simulink和Carsim进行联合仿真,搭建主动悬架以及防倾杆模型,在不同转角工况下进行仿真试验,设置滑模等控制器计算维持车辆侧倾稳定性所需的力矩,将力矩分配到各个悬架实现控制效果。 控制效果良好&…...

基于同步旋转坐标系的高效无位置传感器永磁同步电机控制策略——采用三相电压重构,告别传统电压采集...

同步旋转坐标系下,无位置传感器永磁同步电机控制,创新点为三相电压为重构,不需要电压采集模块。 需matlab2018a及以上。凌晨三点的实验室里,咖啡机突然罢工。看着示波器上跳动的波形,我突然意识到——电机控制工程师的…...

搞定芯片设计后仿:手把手教你在Linux上为Cadence配置QRC寄生参数提取工具

芯片设计后仿实战:Linux系统下Cadence QRC工具深度配置指南 在芯片设计流程中,后仿真验证环节直接关系到最终流片的成败。寄生参数提取作为连接物理设计与时序验证的关键步骤,其精度和效率直接影响芯片性能分析的可靠性。本文将聚焦Cadence Q…...

麒麟系统v10 SP3上MariaDB的5个隐藏技巧,新手必看!

麒麟系统v10 SP3上MariaDB的5个隐藏技巧,新手必看! 麒麟系统v10 SP3作为国产操作系统的代表,其内置的MariaDB数据库管理系统凭借轻量高效的特点,成为开发者构建本地应用的优选方案。但许多新手用户仅停留在基础操作层面&#xff0…...

AI Agent框架选型:OpenClaw、LangChain、AutoGPT、CrewAI,到底该选哪个?

先说结论Go写命令行AI客户端,核心是HTTP请求JSON处理,代码量不大,但依赖管理、错误处理、上下文维护这些细节才是实际成本。这种方案适合快速验证、个人工具,但生产环境要考虑API成本、速率限制、错误重试、日志监控。如果只是调用…...

告别普通CardView!用MaterialCardView这5个属性,让你的Android应用卡片颜值飙升

解锁MaterialCardView的5个高阶设计属性:让Android卡片交互更优雅 在移动应用界面设计中,卡片(Card)已经成为信息组织和视觉呈现的基础单元。从社交动态到电商商品,从设置项到内容摘要,卡片式布局无处不在。…...

用Go写个命令行AI客户端,到底值不值?

先说结论 Go写命令行AI客户端,核心是HTTP请求JSON处理,代码量不大,但依赖管理、错误处理、上下文维护这些细节才是实际成本。 这种方案适合快速验证、个人工具,但生产环境要考虑API成本、速率限制、错误重试、日志监控。 如果只…...

ESP32与LVGL完美结合:TFT_eSPI驱动配置全攻略

1. 为什么选择ESP32LVGLTFT_eSPI组合 把ESP32、LVGL和TFT_eSPI这三个技术栈组合在一起,可以说是嵌入式GUI开发的黄金搭档。我做过不少物联网设备的人机交互界面,这套方案在性价比和开发效率上真的很难找到对手。 ESP32作为主控芯片,双核240MH…...

RISC-V PMA与PMP协同设计:从硬件属性到软件权限的完整内存保护链

1. 理解RISC-V内存保护的双重防线 第一次接触RISC-V的内存保护机制时,我被PMA和PMP这两个缩写搞晕了——它们看起来都跟内存保护相关,但具体区别是什么?后来在调试一块物联网模组时,我才真正理解它们的协同价值。当时遇到一个诡异…...

前端直连MinIO上传文件总报跨域错误?试试用Nginx反向代理这招(附完整配置)

前端直连MinIO上传文件总报跨域错误?试试用Nginx反向代理这招(附完整配置) 最近在项目中整合MinIO作为文件存储服务时,不少开发者反馈前端直接调用MinIO API上传文件时频繁遭遇CORS(跨域资源共享)错误。这种…...

【深度剖析】OpenCV内存分配失败:从x86到x64架构迁移的完整避坑指南

1. 为什么你的OpenCV总在关键时刻掉链子? 上周帮同事调试一个图像拼接程序,处理8K航拍图时突然崩溃,控制台赫然出现cv::Exception: Failed to allocate 362389056 bytes的报错。这场景是不是很熟悉?就像你准备导出耗时3小时渲染的…...

单细胞测序实战 | 解析树突状细胞亚群转换潜能的计算方法与治疗响应关联

1. 单细胞测序如何揭示树突状细胞的"变身"潜力 第一次看到"Transitional Potential"这个词时,我正盯着电脑屏幕上的单细胞测序数据发呆。那是在分析三阴性乳腺癌免疫治疗数据时,突然意识到原来细胞也会"变身"——就像超级…...

Hackintool终极指南:从零开始轻松配置完美黑苹果系统

Hackintool终极指南:从零开始轻松配置完美黑苹果系统 【免费下载链接】Hackintool The Swiss army knife of vanilla Hackintoshing 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintool 还在为黑苹果配置的复杂性而烦恼吗?Hackintool作为黑…...

终极指南:Apollo Save Tool - 简单高效的PS4游戏存档管理解决方案

终极指南:Apollo Save Tool - 简单高效的PS4游戏存档管理解决方案 【免费下载链接】apollo-ps4 Apollo Save Tool (PS4) 项目地址: https://gitcode.com/gh_mirrors/ap/apollo-ps4 你是否曾为丢失游戏进度而烦恼?或是想在不同PS4主机间迁移存档却…...

Token限制下的ChatGPT高效对话:如何优化Prompt长度与内容(含计算工具推荐)

Token限制下的ChatGPT高效对话:如何优化Prompt长度与内容(含计算工具推荐) 当ChatGPT成为日常开发和工作的重要工具时,许多用户都会遇到一个共同的瓶颈——Token限制。这个看似技术性的问题,实际上直接影响着我们与AI对…...

ComfyUI-Manager启动项管理深度解析:如何解决AI绘画扩展依赖冲突与启动故障

ComfyUI-Manager启动项管理深度解析:如何解决AI绘画扩展依赖冲突与启动故障 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager ComfyUI作为当前最流行的AI绘画工作流平台,其强大的扩展生态让用户可…...

LeRobot实战指南:如何用开源框架构建智能机器人控制系统

LeRobot实战指南:如何用开源框架构建智能机器人控制系统 【免费下载链接】lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot 在机器人技术…...

嵌入式C多核调试黑盒破解:JTAG无法捕获的竞态现场复现术——基于Trace32+CoreSight ETM的指令级时间戳回溯(附开源TraceParser工具链)

第一章:嵌入式C多核性能在现代嵌入式系统中,多核处理器已成为提升实时性与吞吐量的关键架构。嵌入式C语言虽无原生线程语法,但通过底层寄存器操作、内存屏障指令(如 ARM 的 DSB、DMB)及硬件抽象层(HAL&…...

京东礼品卡绑定算法分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!逆向过程部分python代码url "/app…...

螃蟹 refer__1153

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 部分python代码 cp execjs.compile(…...

螃蟹代售refer__1153算法分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 部分python代码 cp execjs.compile(…...

从TRPO到PPO2:OpenAI如何用‘裁剪’技巧让强化学习训练更稳更快?

从TRPO到PPO2:深度强化学习的工程优化之路 在深度强化学习领域,策略优化算法的发展经历了从理论严谨到工程实用的转变。TRPO(Trust Region Policy Optimization)作为里程碑式的工作,首次系统性地解决了策略梯度算法的稳…...