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

汽车自适应巡航系统车距控制策略研究

1 引言
自适应巡航控制( Adaptive Cruise Control,ACC) 是汽车驾驶辅助系统的重要组成部分,其作用是根据车距传感器探测到本车( ACC 车辆) 与主目标车辆( 前车) 之间的相对位置和相对速度信息,自动调节ACC 车辆的节气门开度或部分制动力矩( 即ACC 车辆的加速度) ,实时控制本车与前车之间的相对车距和相对速度,从而有效减轻驾驶员在驾驶过程中的操作负担,增大道路的交通流量,提高车辆行驶的主动安全性[1]。
由于汽车自适应巡航控制系统所处的行驶工况复杂,且存在较强的非线性和不确定性因素,因此目前针对此类问题大多数采用非线性系统等效线性化方法[2-4],建立线性参考模型并进行参数辨识和控制策略设计。这种等效线性方法在汽车中低速行驶时可以取得较好的控制精度,但随着汽车
行驶速度提高,离线或在线辨识的参考模型往往变得非常不准确,参数模型由于阵风干扰或轮胎磨损等时变因素影响不断发生摄动,鲁棒性和自适应性较差,无法保证控制品质稳定可靠[5]。
针对非线性系统等效线性化方法的不足,本文首先建立了汽车逆纵向动力学模型; 然后基于模糊控制理论设计自适应巡航控制器,使本车能够以一个安全车距准确跟踪前车行驶; 最后,利用Matlab /Simulink 验证了汽车自适应巡航控制系统在加速跟随和前车插入等复杂行驶工况下的跟踪性、安
全性和适应性。
2 ACC 系统总体设计
汽车自适应巡航控制系统的主要功能是辅助驾驶员控制车辆,减少驾驶员劳动强度,保证车辆安全行驶。汽车自适应巡航控制系统主要分为汽车自适应巡航控制器、汽车逆纵向动力学模型和汽车纵向动力学模型三部分。其中,控制器的主要作用是通过传感器采集到的本车和前车的信息确定本车期望加速度的大小。汽车逆纵向动力学模型将期望加速度转化为节气门开度和制动压力,并将其施加于汽车纵向动力学模型,以实现控制器的期望加速度命令,达到自适应巡航的功能。汽车自适应巡航控制系统总体设计如图1所示。

图1 汽车自适应巡航控制系统总体设计

 3 车辆逆纵向动力学模型
汽车自适应巡航控制器得出的期望加速度a 需要通过汽车逆纵向动力学模型转化为期望的节气门开度α 和制动压力p,然后将它们输入到汽车纵向动力学模型中,以控制汽车的加速、减速和匀速运动,实现汽车的自适应巡航功能。汽车逆纵向动力学模型结构如图2 所示。

图2 汽车逆纵向动力学模型

3.1 加速控制
经逻辑切换后,如果切换后为加速控制,则需按照期望加速度的要求,经过计算得到期望发动机转矩,再通过发动机逆向模型查得期望的节气门开度。

3.2 制动控制
经过逻辑切换之后,如切换为制动控制,需按照期望加速度a,求得期望制动力Fx,继而通过制动器逆向模型求得制动压力p,将p 通过执行器施加于汽车纵向动力学模型进行制动。

4 汽车自适应巡航控制器的设计
由于汽车自适应巡航系统的复杂性、非线性和不确定性等因素,本文将采用模糊控制算法设计汽车自适应巡航控制器。
汽车自适应巡航控制器将传感器测得的两车的相对车距s0、前车车速vp和本车车速vc作为输入,经过模糊化、模糊推理和反模糊化得到汽车期望加速度a。汽车自适应巡航控制器设计原理图如图3 所示。
4.1 安全车距的计算
安全车距,作为ACC 系统的重要组成部分,决定了ACC系统车辆在行驶过程中的跟车间距,为ACC 系统的控制算法的设计提供了参考间距输入值。在ACC 系统中,安全车距控制策略根据行车环境决定期望的跟车间距,再利用控制算法通过控制相应的节气门开度和制动器的制动压力,实现车辆对期望车速和期望车间距的自适应调整。过小的安全车距容易引发交通事故,而过大的安全车距不仅损失了道路的交通通行能力,同时还容易导致邻近车道车辆的换道插入,从而影响ACC 系统车辆的跟车效率、降低ACC 系统的使用率。因此安全车距控制策略的好坏在于它是否能适应多变的行驶环境,并且有效的平衡行驶过程中的安全性、跟车性以及道路的通行能力等[6]。

图3 汽车自适应巡航控制器设计原理图

4.2 模糊控制器的设计
模糊控制器首先将输入值从数字量转化为模糊量,即模糊化过程; 其次对模糊量由给定的规则进行模糊推理,即模糊推理过程; 最后把推理结果的模糊输出量转化为实际系统能够接受的精确数字量或模拟量,即反模糊化过程。为了使本车能够在安全车距下准确地跟随前车,本文选取安全车距s 与相对车距s0的差值Δs 与相对速度Δv 作为控制器的输入量,以本车的加速度a 作为输出量,设计一个“双输入单输出”模糊控制器。

5 结论
1) 本文建立的汽车逆纵向动力学模型与实际车型的结构特点相一致,能够较真实地反映出车辆纵向动力学的非线性时变特性,可满足汽车自适应巡航控制系统对动力学传动系统模型的要求。
2) 从仿真结果来看,本车能够快速地加减速,保证汽车的安全; 并且在跟随前车时,能够以一定的安全车距精确稳定的跟随行驶。因此,基于模糊控制理论的汽车自适应巡航控制系统能够有效应汽车行驶过程中的各种情况,保证汽
车的良好的跟踪性、安全性和适应性。

 

 

相关文章:

汽车自适应巡航系统车距控制策略研究

1 引言 自适应巡航控制( Adaptive Cruise Control,ACC) 是汽车驾驶辅助系统的重要组成部分,其作用是根据车距传感器探测到本车( ACC 车辆) 与主目标车辆( 前车) 之间的相对位置和相对速度信息,自动调节ACC 车辆的节气门开度或部分制动力矩( 即…...

鸿蒙系列-如何更好地使用 ArkUI 的 Image 组件?

如何使用好 ArkUI 的 Image 组件? 开发者经常需要在应用中显示一些图片,例如:按钮中的logo、网络图片、本地图片等。在应用中显示图片需要使用 Image 组件实现,Image支持多种图片格式,包括png、jpg、bmp、svg和gif&am…...

机器学习简介[01/2]:简单线性回归

Python 中的机器学习简介:简单线性回归 一、说明 简单线性回归为机器学习提供了优雅的介绍。它可用于标识自变量和因变量之间的关系。使用梯度下降,可以训练基本模型以拟合一组点以供未来预测。 二、技术背景 这是涵盖回归、梯度下降、分类和机器学习的其…...

Kubernetes技术--k8s核心技术yaml资源编排

(1).引入 我们可以使用kubectl实现单行指令的操作,但是这样做的坏处是不复用,所以为了更好的实现对一系列资源的编排工作。kuberntes中使用一种叫做资源清单文件(yaml)来实现对资源管理和资源对象编排部署。 (2).概述 yaml是一种标记语言。为了强调这种语言以数据做为中心,而…...

clickhouse-配置解释

详细内容看官网文档 一、全局服务配置 1.配置详解 名称含义默认值allow_use_jemalloc_memory允许使用 jemalloc 内存1(布尔)asynchronous_heavy_metrics_update_period_s更新异步指标的时间段(以秒为单位)120asynchronous_metr…...

基于亚马逊云科技无服务器服务快速搭建电商平台——性能篇

使用 Serverless 构建独立站的优势 在传统架构模式下,如果需要进行电商大促需要提前预置计算资源以支撑高并发访问,会造成计算资源浪费并且增加运维工作量。本文介绍一种新的部署方式,将 WordPress 和 WooCommerce 部署在 Amazon Lambda 中。…...

LINQ详解(查询表达式)

什么是LINQ? LINQ(语言集成查询)是将查询功能直接集成到C#中。数据查询表示简单的字符串,在编译时不会进行类型检查和IntelliSense(代码补全辅助工具)支持。 在开发中,通常需要对不同类型的数据源了解不同的查询语句,如SQL数据库…...

【DEVOPS】现状篇

0. 目录 1. 前言2. 现状2.1 需求管理2.2 开发流程2.3 测试流程2.4 部署流程2.5 维护阶段 3. 后记4. 相关 1. 前言 一直以来,深感内部工程化能力欠缺,急于将事情向前推进,总是希望能够向前走几步,再走几步。 可惜的是&#xff0c…...

Linux文件管理知识:查找文件(第二篇)

Linux文件管理知识:查找文件(第二篇) 上篇文章详细介绍了linux系统中查找文件的工具或者命令程序locate和find命令的基本操作。那么,今天这篇文章紧接着查找文件相关操作内容介绍。 Find命令所属操作列表中的条目,有助于我们想要…...

医疗小程序:让服务更高效,用户体验更优化

随着移动互联网的快速发展,小程序已经成为了一个热门的开发方向。医疗健康类小程序也不例外,拥有广泛的市场需求和前景。本文将为你提供一份完整的医疗健康类小程序开发攻略,帮助你快速开发上线一个专业成熟的小程序商城。 一、选择合适的小程…...

C++11 std::transform函数使用说明

std::transform是C标准库中的一个算法,它用于对输入范围内的元素进行操作,并将结果存储在输出范围内。这个算法特别适合于将一种数据类型转换为另一种数据类型。 函数定义在头文件algorithm中 std::transform的基本语法如下: std::transfor…...

JavaScript-DOM查询

获取元素节点 获取元素节点的子节点 元素节点的属性 节点的修改 JavaScript中的DOM(文档对象模型)是一种编程接口,它允许JavaScript与HTML文档交互。创建DOM查询,可以使用多种方法. 获取元素节点 1. getElementById() – 通…...

大数据-玩转数据-Flink 水印

一、Flink 中的水印 在Flink的流式操作中, 会涉及不同的时间概念: 1.1 处理时间 是指的执行操作的各个设备的时间,对于运行在处理时间上的流程序, 所有的基于时间的操作(比如时间窗口)都是使用的设备时钟。比如, 一个长度为1个小时的窗口将会包含设备…...

【Apollo】阿波罗自动驾驶系统:驶向未来的智能出行(含源码安装)

前言 Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、…...

网络-Netty

how pipeline.addLast(ChannelHandler)...

如何使用vue-smooth-dnd

Vue Smooth DnD是一个基于Vue的平滑易用的拖放库。它提供了简单易用的API和可自定义的样式。 要使用Vue Smooth DnD,可以按照以下步骤进行操作: 安装Vue Smooth DnD npm install vue-smooth-dnd --save 在组件中引入Vue Smooth DnD import VueSmoot…...

为AWS认证做好准备:一份全面的备考指南

随着云计算的快速发展,越来越多的专业人士选择获取AWS(亚马逊网络服务)认证。这个认证不仅可以证明你对AWS的理解和专业技能,还有助于你在云计算领域获得更好的工作机会。 以下是一份全面的备考指南,帮助你为AWS认证做…...

尚硅谷SpringMVC

九、HttpMessageConverter...

django的简易的图书管理系统jsp书店进销存源代码MySQL

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 django的简易的图书管理系统 系统有1权限&#xff1a…...

力扣125. 验证回文串

125. 验证回文串 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 ,返回 true &…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...