news 2026/5/29 17:18:31

探索自适应巡航ACC:从理论到实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探索自适应巡航ACC:从理论到实践

No.4 自适应巡航ACC (Carsim2019,Matlab2018a) 特殊说明:如果需要电车版本的请咨询! 采用分层控制,即下层控制(使用车辆逆纵向动力学模型(包括发动机逆模型,是常见方法) )和上层控制(双pid对速度和距离进行控制,stateflow进行模式切换),实现定速巡航和跟随模式。 提供详细讲解(?pdf文件及视频说明),适合入门自适应巡航,并附赠标定表方法的自适应巡航和纵向速度跟踪。 下图为仿真模型结构及效果图

在汽车智能化的浪潮中,自适应巡航ACC无疑是一项备受瞩目的技术。今天咱们就基于Carsim2019和Matlab2018a,来聊聊这个有趣又实用的功能。

分层控制:下层控制

ACC采用分层控制策略,下层控制这里用到了车辆逆纵向动力学模型,特别是发动机逆模型,这可是常见且重要的方法。简单来说,发动机逆模型就像是给发动机的运作建了一个反向“地图”,根据车辆当前状态,能反推发动机该怎么工作。

咱们来看看代码示例(以下为示意性伪代码):

% 假设已知车辆质量m,当前速度v,阻力系数Cd等参数 m = 1500; % 车辆质量,单位kg v = 30; % 当前速度,单位m/s Cd = 0.3; % 阻力系数 % 计算阻力 F_drag = 0.5 * Cd * 1.225 * v^2 * 2; % 空气阻力,1.225为空气密度,2为车辆迎风面积假设值 % 根据逆动力学模型计算发动机需要提供的力 F_engine = F_drag + m * 0.1; % 假设车辆有一个0.1m/s²的加速度需求,这里简单计算发动机需提供的力

这段代码通过已知的车辆参数,先算出了空气阻力,然后根据设定的加速度需求,计算出发动机需要提供的力,这就是发动机逆模型的一个简单体现,为下层控制提供关键输入。

分层控制:上层控制

上层控制则是双PID对速度和距离进行控制,并且用stateflow进行模式切换。PID控制大家应该都不陌生,就像是一个智能的调节器,能让实际值不断逼近目标值。

% 速度PID参数初始化 Kp_speed = 0.5; Ki_speed = 0.1; Kd_speed = 0.05; % 距离PID参数初始化 Kp_distance = 0.8; Ki_distance = 0.2; Kd_distance = 0.1; % 设定目标速度和目标距离 target_speed = 50; % m/s target_distance = 20; % m % 速度PID控制计算 error_speed = target_speed - current_speed; integral_speed = integral_speed + error_speed * dt; derivative_speed = (error_speed - previous_error_speed) / dt; control_signal_speed = Kp_speed * error_speed + Ki_speed * integral_speed + Kd_speed * derivative_speed; % 距离PID控制计算 error_distance = target_distance - current_distance; integral_distance = integral_distance + error_distance * dt; derivative_distance = (error_distance - previous_error_distance) / dt; control_signal_distance = Kp_distance * error_distance + Ki_distance * integral_distance + Kd_distance * derivative_distance;

在这段代码里,我们分别初始化了速度和距离的PID参数,然后根据当前的速度、距离与目标值的差值,通过PID公式计算出相应的控制信号。这些控制信号会进一步去调整车辆的运行状态,实现速度和距离的精准控制。

而stateflow就像是一个智能的“模式切换大师”,它能根据不同的条件,比如前方车辆状态、本车速度等,在定速巡航和跟随模式之间灵活切换。

适合入门的详细讲解与标定表方法

对于刚接触自适应巡航的朋友来说,提供的详细讲解(?pdf文件及视频说明)那可太有用了,它就像一位耐心的导师,一步一步带你走进自适应巡航的世界。而且还附赠标定表方法的自适应巡航和纵向速度跟踪,标定表方法就像是给自适应巡航做了一次精细的“校准”,让它的运行更加精准。

总的来说,基于这样的分层控制策略实现的自适应巡航,无论是对于新手学习还是实际应用,都有着很大的价值。希望大家通过这篇博文,对自适应巡航ACC有了更清晰的认识。如果有电车版本需求,记得按说明咨询哦~

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

Linux LED驱动深度解析:从硬件到内核实现

Linux LED驱动深度解析:从硬件到内核实现 一、LED驱动架构全景剖析 1. 四层架构模型 #mermaid-svg-RrARJ2dqfx1WyfY1{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-da…

作者头像 李华
网站建设 2026/5/28 0:49:18

百度网盘提取码智能查询工具使用指南

百度网盘提取码智能查询工具使用指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 在日常使用百度网盘下载资源时,我们经常会遇到这样的情况:找到了心仪的资源分享链接,却因为没有提取码而…

作者头像 李华
网站建设 2026/5/29 7:42:37

设备树节点深度解析:为何有些节点没有compatible属性?

设备树节点深度解析:为何有些节点没有compatible属性? 一、设备树设计哲学与compatible属性本质 设备树(Device Tree)是描述硬件配置的结构化数据格式,其核心设计原则是**“描述而非驱动”**。compatible属性是设备树…

作者头像 李华
网站建设 2026/5/29 1:18:45

XUnity.AutoTranslator:终极Unity游戏本地化解决方案

XUnity.AutoTranslator:终极Unity游戏本地化解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 想要畅玩海外Unity游戏却苦于语言障碍?XUnity.AutoTranslator就是你的救星&am…

作者头像 李华
网站建设 2026/5/29 4:02:41

智慧树自动学习插件配置与使用指南

智慧树自动学习插件配置与使用指南 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 技术原理与核心机制解析 智慧树自动学习插件基于浏览器扩展技术开发,通…

作者头像 李华
网站建设 2026/5/26 14:13:46

统信UOS操作系统内置:IndexTTS 2.0成为系统级服务

统信UOS操作系统内置:IndexTTS 2.0成为系统级服务 在视频创作、数字人交互和有声内容爆发的今天,语音合成早已不再是“念稿子”那么简单。用户要的不只是能说话的声音,而是带有情绪、贴合画面、甚至拥有“人格”的语音表达。尤其在国产软硬件…

作者头像 李华