自适应巡航 Carsim + Simulink 联合仿真:两车固定间距的奇妙之旅

自适应巡航Carsim+simulink联合仿真,两车仿真 不支持三车 固定间距,carsim纯电车,PID控制。 ACC固定间距策略。

在自动驾驶领域,自适应巡航(ACC)是一项非常关键的技术。今天咱们就来聊聊基于 Carsim 和 Simulink 的两车自适应巡航固定间距联合仿真,而且还是针对纯电车哦,控制策略采用经典的 PID 控制。

为什么选 Carsim 和 Simulink

Carsim 可是车辆动力学仿真的利器,对车辆的各种动力学特性模拟得相当逼真。Simulink 则是控制系统建模与仿真的好帮手,二者结合,就像郭靖遇上黄蓉,那效果杠杠的。

固定间距的 ACC 策略

咱们的 ACC 采用固定间距策略,意思就是让前车和后车始终保持一个设定好的固定距离。这就好比你开车跟着前面的车,要始终保持一个安全距离,不近也不远。

纯电车在 Carsim 中的设置

在 Carsim 里设置纯电车模型,这涉及到一系列参数,从电池特性到电机动力曲线等等。例如,我们需要设置电池的容量,它决定了车辆的续航能力,代码虽然不用在 Carsim 里直接写,但理解这些底层参数设置很重要。比如,电池容量参数BatteryCapacity,它影响着车辆能持续输出的电能总量,进而影响车速等性能。

PID 控制在 Simulink 中的实现

PID 控制大家都不陌生,它通过比例(P)、积分(I)、微分(D)三个环节来调节控制量。在 Simulink 里搭建 PID 控制模块,就像搭乐高积木一样。

% 简单的 PID 控制代码示例(非完整可运行代码,仅示意结构) Kp = 0.5; % 比例系数 Ki = 0.1; % 积分系数 Kd = 0.2; % 微分系数 error = target_distance - current_distance; % 当前距离与目标固定间距的误差 P_term = Kp * error; I_term = I_term + Ki * error * dt; % dt 为时间步长 D_term = Kd * (error - previous_error) / dt; control_signal = P_term + I_term + D_term; previous_error = error;

上面这段代码简单展示了 PID 控制的核心计算过程。Pterm根据当前误差直接做出反应,误差越大,输出越大;Iterm则是对过去误差的积累,用来消除稳态误差;D_term基于误差的变化率,提前对可能的变化做出调整,让控制更加平稳。

在 Simulink 中,我们把这个 PID 控制模块和 Carsim 输出的车辆状态信号连接起来,比如车辆的当前间距、速度等信号,经过 PID 模块计算后,输出控制信号给 Carsim,告诉车辆该怎么调整速度,以保持固定间距。

两车仿真实现

在联合仿真环境里,设置好前车和后车的初始状态,前车可以按照预先设定的速度曲线行驶,后车就通过我们精心搭建的 ACC 系统,利用 PID 控制,始终努力保持和前车的固定间距。

自适应巡航Carsim+simulink联合仿真,两车仿真 不支持三车 固定间距,carsim纯电车,PID控制。 ACC固定间距策略。

运行仿真后,我们可以观察两车的速度、间距随时间的变化曲线。如果 PID 参数设置得当,后车就能很好地跟随前车,保持设定的固定间距。要是间距过大,PID 计算出的控制信号会让后车加速;要是间距过小,就会让后车减速。

这就是基于 Carsim 和 Simulink 的自适应巡航两车固定间距联合仿真的大致过程啦,虽然目前不支持三车,但这也是自动驾驶 ACC 技术研究很重要的一步。希望对大家在自动驾驶仿真领域的探索有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1220613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人驾驶车辆高速MPC例子复现:从理论到实践

无人驾驶车辆第七章高速mpc的例子复现,包含caraim文件,simulink文件和m文件,不包含指导,目前成功退换为双移线 版本是18matlab 19carsim最近在搞无人驾驶车辆相关项目,第七章高速MPC的例子复现真是个有趣又有挑战的活儿…

基于TensorRT、YOLOv5和QT构建智能监控平台

tensorrt yolov5 QT 智能监控平台。 yolov5使用 tensorrt推理封装成dll,支持多线程多任务,可同时并行加载不同模型,同时检测。 Qt开发的监控平台,支持不同平台部署,视频监控,录像回放,电子地图&…

麻雀算法优化 XGBoost 实现拟合预测建模

麻雀算法SSA-XGboost,数据输入为多维输入单维输出的数据格式,直接替换就可以做拟合预测建模,程序内注释详细 在机器学习的领域中,我们常常需要寻找更优的模型来提升预测的准确性。今天就来聊聊如何使用麻雀算法(SSA&a…

基于哈里斯鹰算法HHO-SEIR的传染病模型参数优化附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#…

【软考每日一练020】深入解析事务(Transaction)与ACID特性的工程实现

【软考每日一练020】深入解析事务(Transaction)与ACID特性的工程实现 在数据库系统的设计与应用中,事务(Transaction) 是确保数据完整性的基石。本文将从一道经典试题出发,通过业务场景实例化与底层机制分析…

AI应用架构师的人机协作新范式流程设计最佳实践的技术支撑

AI应用架构师的人机协作新范式:流程设计与技术支撑的最佳实践 一、引言:为什么你的AI项目总在“人机拔河”? 1.1 一个扎心的钩子:你可能在“用AI”,但没“设计人机协作” 上周和一位金融科技公司的AI架构师聊天,他吐槽:“我们花了半年做的智能风控系统,上线后反而更…

方波高频注入技术及其在代码实现中的应用

方波高频注入,,,,代码实现。 最近在调无感FOC的时候发现零速工况下观测器容易丢人,传统的滑模观测器在低速时估计精度跳水严重。这时候突然想起来高频注入法这招——特别是方波注入方案,硬件开销小还不挑电…

导师推荐!专科生必看9款AI论文软件测评,开题报告神器TOP9

导师推荐!专科生必看9款AI论文软件测评,开题报告神器TOP9 2026年专科生论文写作工具测评:选对工具,效率翻倍 随着AI技术在学术领域的不断渗透,越来越多的专科生开始依赖AI论文软件提升写作效率。然而,面对…

APP 外包开发公司怎么选?2026 年优质软件开发服务商分析与测评

市场上关于“APP 外包公司哪家好”的内容并不少,但其中相当一部分停留在表层信息罗列或营销导向的对比,难以支撑理性决策。本文尝试从企业视角出发,结合行业常见合作模式与公开资料,对不同类型 APP 开发服务商进行…

西门子PLC1200在制药厂生物发酵系统中的应用实例

西门子PLC1200博途V16程序画面例程,具体项目工艺为制药厂生物发酵系统,程序内有报警,模拟量标定处理,温度PID,称重仪表USS通讯和基本的各种数字量控制,硬件组成包含称重仪表通讯及和ET200SP模块通讯组态。 …

树莓派推出新款品牌USB闪存盘承诺高速性能表现

近年来,树莓派发布了一系列外设和配件,无论是否与这款备受欢迎的单板计算机配合使用,都能提供出色的制造质量和高端功能。今天推出的新品是一款USB闪存盘,承诺提供高速度、美观外型和强大耐用性。该驱动器提供128 GB(售…

使用安装包快速体验 TDengine TSDB

为了能够快速体验 TDengine TSDB 的完整功能,推荐您使用 TDengine TSDB-Enterprise. 本节首先介绍如何通过安装包快速安装 TDengine TSDB-Enterprise, 然后介绍如何在 Linux 环境下体验 TDengine TSDB 的写入、查询、可视化管理、与 Grafana 集成和零代码数据写入等…

为什么大容量硬盘挂载失败,而小优盘却能直接使用?——Linux 挂载文件系统问题解析

为什么大容量硬盘挂载失败,而小优盘却能直接使用?——Linux 挂载文件系统问题解析1. 挂载失败的典型提示2. 小优盘可以直接使用的原因2.1 文件系统兼容性2.2 容量差异的隐性影响3. 为什么 Linux 需要额外工具?3.1 NTFS3.2 exFAT4. 解决方案总…

1月26号

今天仍然继续。 学习了java中的关于页面设计和端口的知识。 同时了解了一下关于java设计应用到安卓的知识。

2026.1.26

今天学习了小程序的API,协同分类和发布

Java 队列接口

一、Queue 接口核心概念Queue 是 Java 集合框架(java.util包)中的一个接口,专门用于模拟 “先进先出(FIFO)” 的队列结构,就像日常生活中排队买票 —— 先到的人先买,后到的人排后面。它继承自 …

如何选择合适的Queue实现类?

一、核心选型维度(先明确这 3 点)在选 Queue 实现类前,先确定你的场景满足以下哪类需求:基础特性:是否需要 FIFO(先进先出)、是否需要优先级、是否支持双端操作(Deque)&a…

kali基础介绍(Initial Access、Execution、Presistence)

kali基础介绍(Initial Access、Execution、Presistence)一、Initial Access(初始访问)图中展示的是 Kali Linux 系统中“初始访问”(直翻,翻译不对的地方,欢迎大佬指正)分类下的 6 款核心渗透测试工具,它们主要…

invokedynamic

🚀 Java字节码 invokedynamic 深度解析 📚 什么是 invokedynamic? invokedynamic 是 Java 7 引入的字节码指令,用于实现动态语言特性和Lambda表达式。它是 Java 字节码中第5个方法调用指令。 传统的4个调用指令: i…

松鼠备份使用指南

一、松鼠备份介绍松鼠备份(Squirrel Backup)是一款专注于本地增量同步与灾备保护的轻量级工具,适用于中小企业、财务人员、设计团队等对数据隐私和可用性有较高要求的用户。它不依赖云服务,不收集用户数据,所有传输均在…