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

算法融合自动紧急制动控制策略【附程序】

✨ 长期致力于自动紧急制动、路面识别、模糊算法、模型预测控制、联合仿真研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1基于模糊逻辑的路面附着系数实时识别器设计为自动紧急制动系统提供精准的路面信息设计一个输入为车轮滑移率和利用附着系数的模糊识别器。滑移率根据轮速与车速估算利用附着系数由制动压力推算。定义滑移率论域为[0, 0.4]模糊子集为{小S中小MS中M中大MB大B}利用附着系数的论域为[0, 1.2]子集为{很低VL低L中M高H很高VH}。输出为路面类型识别结果与峰值附着系数包含八种标准路面冰面0.1、雪面0.2、湿滑沥青0.4、干燥沥青0.8、湿水泥0.6、干水泥0.7、碎石0.55、土路0.5。模糊规则库共25条规则例如若滑移率小且利用附着系数很低则为冰面若滑移率中大且利用附着系数高则为干燥沥青。采用加权平均法去模糊化输出路面类别以及一个0到1之间的置信度再通过加权平均得到当前路面的峰值附着系数估计值。在Carsim中设置不同路面拼接工况车辆从干燥沥青行驶到湿滑沥青识别器在接触湿滑路面后0.3秒内完成更新峰值附着系数估计误差小于8%。相较于传统的斜率法识别准确率提高约30%。2模型预测控制的上层控制器与分级制动策略上层控制器基于模型预测控制理论设计预测模型为车辆纵向单轨动力学状态变量包含车速、车间距离和相对速度控制量为期望减速度。预测时域为1.2秒控制时域为0.6秒采样周期0.02秒。目标函数包括跟踪期望车距的偏差、相对速度的平方项以及控制量变化率的惩罚项权重系数通过网格搜索确定。约束条件为减速度范围-8m/s²至0以及减速度变化率约束±20m/s³。在每一控制周期求解二次规划问题得到最优的期望减速度序列。同时设计分级预警与分级制动策略当碰撞时间小于2.2秒时触发一级预警声音图像小于1.2秒时触发二级预警点刹振动小于0.8秒时进入部分制动0.3g小于0.4秒时进入全力制动0.8g至1.0g。不同路面的最大制动减速度由路面识别器提供的峰值附着系数乘以0.9作为安全上限。在Carsim/Simulink联合仿真中对前车静止工况车速80km/h进行测试传统AEB系统在湿滑路面出现防抱死介入过晚导致追尾所提算法成功避免碰撞最终停止距离前车0.8米。3基于PID的下层控制器与CarSim联合仿真验证下层控制器采用增量式PID算法跟踪上层输出的期望减速度输入为期望减速度与实际减速度的偏差输出为制动主缸压力请求。PID参数通过Ziegler-Nichols方法整定后微调比例系数2.5积分系数0.8微分系数0.1输出限幅在0至10MPa。联合仿真的车辆模型为前驱混合动力SUV质量1800kg。仿真场景参照C-NCAP 2024规程包含前车静止、前车减速减速度2m/s²、前车切出后遇静止车三种工况。前车静止工况下车速60km/h时所提AEB系统的制动介入时刻为碰撞时间0.85秒最大减速度8.2m/s²乘员胸部减速度变化率平均为8.5g/s满足舒适性要求小于10g/s。前车减速工况下系统提前识别危险制动平顺两车最小距离2.1米。对比实验采用传统基于固定阈值的AEB系统在湿滑路面前车静止工况中无法避免碰撞碰撞速度达18km/h。仿真结果验证了融合路面识别与MPC的AEB控制策略在不同附着系数路面上的有效性和鲁棒性。import numpy as np from scipy.optimize import minimize import skfuzzy as fuzz from skfuzzy import control as ctrl class RoadFrictionIdentifier: def __init__(self): slip ctrl.Antecedent(np.arange(0, 0.41, 0.01), slip) mu_util ctrl.Antecedent(np.arange(0, 1.21, 0.01), mu_util) road_type ctrl.Consequent(np.arange(0, 1.01, 0.01), road_type) mu_peak ctrl.Consequent(np.arange(0, 1.21, 0.01), mu_peak) slip[S] fuzz.trimf(slip.universe, [0, 0, 0.1]) slip[MS] fuzz.trimf(slip.universe, [0.05, 0.15, 0.25]) slip[M] fuzz.trimf(slip.universe, [0.15, 0.2, 0.3]) slip[MB] fuzz.trimf(slip.universe, [0.2, 0.3, 0.4]) slip[B] fuzz.trimf(slip.universe, [0.3, 0.4, 0.4]) mu_util[VL] fuzz.trimf(mu_util.universe, [0, 0, 0.2]) mu_util[L] fuzz.trimf(mu_util.universe, [0.1, 0.25, 0.4]) mu_util[M] fuzz.trimf(mu_util.universe, [0.35, 0.5, 0.65]) mu_util[H] fuzz.trimf(mu_util.universe, [0.6, 0.8, 1.0]) mu_util[VH] fuzz.trimf(mu_util.universe, [0.9, 1.1, 1.2]) # 规则示例 rule1 ctrl.Rule(slip[S] mu_util[VL], (road_type[ice], mu_peak[low])) rule2 ctrl.Rule(slip[MS] mu_util[M], (road_type[wet_asphalt], mu_peak[medium])) self.ctrl_sys ctrl.ControlSystem([rule1, rule2]) self.sim ctrl.ControlSystemSimulation(self.ctrl_sys) def estimate(self, slip_val, mu_util_val): self.sim.input[slip] slip_val self.sim.input[mu_util] mu_util_val self.sim.compute() return self.sim.output[mu_peak] class MPC_AEB: def __init__(self, dt0.02, Np60, Nc30): self.dt dt self.Np Np self.Nc Nc def cost_function(self, u_seq, v0, d0, v_rel, target_dist10.0): # u_seq 减速度序列 v v0 d d0 cost 0 for i, a in enumerate(u_seq): v_next v a * self.dt d_next d v_rel * self.dt 0.5 * a * self.dt**2 # 跟踪误差 error d_next - target_dist cost error**2 0.1 * (v_rel)**2 0.01 * a**2 if i self.Nc-1: cost 0.5 * (u_seq[i1] - a)**2 v max(0, v_next) d d_next return cost def compute_deceleration(self, v0, d0, v_rel): bounds [(-8.0, 0)] * self.Nc result minimize(lambda u: self.cost_function(u, v0, d0, v_rel), np.zeros(self.Nc), boundsbounds, methodSLSQP) return result.x[0] if result.success else -4.0 class PIDController: def __init__(self, kp2.5, ki0.8, kd0.1): self.kp kp self.ki ki self.kd kd self.integral 0 self.prev_error 0 def update(self, setpoint, measurement, dt): error setpoint - measurement self.integral error * dt derivative (error - self.prev_error) / dt output self.kp * error self.ki * self.integral self.kd * derivative self.prev_error error return np.clip(output, 0, 10) # 制动压力MPa

相关文章:

算法融合自动紧急制动控制策略【附程序】

✨ 长期致力于自动紧急制动、路面识别、模糊算法、模型预测控制、联合仿真研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于模糊逻辑的路面附着系数…...

用C语言和mciSendString函数,在VS2019里写一个带进度条的音乐播放器(附完整源码)

用C语言打造可视化音乐播放器:从零实现带进度条的音频控制工具 在枯燥的控制台程序与炫酷的图形界面之间,存在一个被许多C语言学习者忽视的中间地带——通过Windows API实现简单而实用的可视化反馈。本文将带你用mciSendString函数构建一个带有实时进度条…...

基于STM32F103C8T6标准库驱动2.4寸SPI TFT触摸屏:从零搭建嵌入式GUI交互系统

1. 项目概述与硬件准备 最近在做一个智能家居控制面板的项目,选用了STM32F103C8T6这块性价比超高的开发板作为主控,搭配2.4寸SPI接口的TFT触摸屏作为人机交互界面。说实话,刚开始接触这个组合时踩了不少坑,特别是用标准库开发的时…...

RJ45连接器工程实战:从PoE热故障到户外防水的12个设计禁区

一句话核心:RJ45连接器选型失败,往往不是速率不达标,而是热、水、地、工艺四个字中的一个出了问题。本文从电源供电发热、户外环境腐蚀、屏蔽接地错误、现场压接失控四个维度,梳理12个容易被忽视的设计禁区,并提供可复…...

Guava Ratelimiter实现单机接口限流

废话不多说直接上代码&#xff1a;1.依赖&#xff1a;<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>31.1-jre</version></dependency>2.配置类注册bean&#xff1a;package com.h…...

通过 Taotoken CLI 工具一键配置开发环境中的多工具 API 端点

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过 Taotoken CLI 工具一键配置开发环境中的多工具 API 端点 在接入多个大模型服务时&#xff0c;开发者常常需要为不同的工具和 …...

大模型产品经理进阶指南:从零基础到行业精英的完整学习路线图!

随着人工智能技术的发展&#xff0c;尤其是大模型&#xff08;Large Model&#xff09;的兴起&#xff0c;越来越多的企业开始重视这一领域的投入。作为大模型产品经理&#xff0c;你需要具备一系列跨学科的知识和技能&#xff0c;以便有效地推动产品的开发、优化和市场化。以下…...

八大网盘直链解析工具:告别限速,实现高速下载自由

八大网盘直链解析工具&#xff1a;告别限速&#xff0c;实现高速下载自由 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘…...

AI产品经理的进阶路线图

本文深入探讨了AI产品经理的核心特质&#xff0c;强调AI思维的重要性远超单纯的技术知识。文章解析了AI产品设计以极度简单为标准背后的复杂系统&#xff0c;以及AI产业链的三大结构层——基础层、技术层与应用层。此外&#xff0c;文章还详细阐述了AI产品经理的四象限分类&…...

大模型“开源”到底开了什么?不同协议有什么区别?

大模型发布常以“开源”为噱头&#xff0c;但与传统软件开源不同&#xff0c;大模型开源可能仅开放代码、权重、训练方法或数据说明&#xff0c;且协议复杂多样。企业需关注开放深度&#xff0c;区分开放权重、开放代码、开放训练过程三个层次&#xff0c;警惕GPL、AGPL、CC-BY…...

ESP32-S3物联网开发实战:从ADC采样到MQTT云端通信

1. 项目概述&#xff1a;从传感器到云端的数据之旅在物联网项目的开发中&#xff0c;我们常常需要解决一个核心问题&#xff1a;如何让物理世界的信息被数字系统感知、处理&#xff0c;并最终在云端呈现或接受远程控制&#xff1f;这背后涉及三个关键环节&#xff1a;感知、处理…...

柔性构建板原理与实战:从材料科学到3D打印取模难题的工程解法

1. 项目概述&#xff1a;为什么你需要一块柔性构建板&#xff1f;如果你玩3D打印有一段时间了&#xff0c;大概率经历过这样的抓狂时刻&#xff1a;打印完成&#xff0c;模型牢牢地“焊”在玻璃板或者美纹纸胶带上&#xff0c;你用铲刀、刮片又撬又掰&#xff0c;结果要么是模型…...

2230固态硬盘延长安装技巧指南!

2230规格的M.2固态硬盘因体积小巧&#xff0c;广泛应用于掌机、轻薄笔记本和微型PC&#xff0c;但许多主板的M.2插槽默认为2280规格&#xff0c;导致2230硬盘“装不稳”。本文详细讲解2230与2280的尺寸差异、延长安装的核心方法&#xff08;转接支架、螺丝柱调整、散热适配&…...

【ITIL4】32服务实践 - 问题管理(Problem Management)

【ITIL4】32服务实践 - 问题管理&#xff08;Problem Management&#xff09; 文章目录【ITIL4】32服务实践 - 问题管理&#xff08;Problem Management&#xff09;一、核心定义1. 问题&#xff08;Problem&#xff09;2. 已知错误&#xff08;Known Error&#xff09;3. 变通…...

别再死记硬背MPNN公式了!用“邻居传纸条”的比喻彻底搞懂消息传递神经网络

用"班级传纸条"游戏理解消息传递神经网络 想象一下&#xff0c;你正坐在教室里&#xff0c;老师突然宣布要进行一个特殊的游戏——每个同学可以给任意一位朋友传递一张写有秘密信息的纸条。这个看似简单的游戏&#xff0c;恰恰揭示了人工智能领域最前沿的图神经网络(…...

深度学习优化算法(二)—— SGD + Momentum + Nesterov(三十四)

1. 定位导航 第 33 篇讲了为什么训练困难(病态、鞍点、梯度爆炸)。本篇正式介绍解决方案的第一波——三个经典优化算法: 算法 关键思想 年代 SGD 随机梯度估计 + 学习率衰减 1951(Robbins-Monro) Momentum 累积梯度方向加速 1964(Polyak) Nesterov 先"前瞻"再…...

深度学习优化算法(一)—— 学习 vs 纯优化 + 优化挑战(三十三)

1. 定位导航 第 7 章我们解决了"怎么防过拟合"。第 8 章正式进入深度学习的另一个核心——怎么训练得快、稳、好。 第 8 章规划(5 篇): 篇号 主题 33(本篇) 学习 vs 纯优化 + 优化挑战 34 基本优化算法(SGD + Momentum + Nesterov) 35 自适应学习率(AdaGra…...

新手入门,用外卖系统吃透Tomcat与Java Web全流程

对于刚接触Java Web的小伙伴来说&#xff0c;Tomcat、Servlet、端口号、网络请求这些概念&#xff0c;很容易越学越懵。今天全程用外卖系统做统一比喻&#xff0c;把复杂技术名词全部转化为生活场景&#xff0c;从零梳理Java Web核心流程&#xff0c;看完彻底理清浏览器、服务器…...

【CLIP论文阅读】:基于自然语言监督的通用视觉预训练范式

论文信息 标题&#xff1a;Learning Transferable Visual Models From Natural Language Supervision会议&#xff1a;ICML 2021单位&#xff1a;OpenAI代码&#xff1a;https://github.com/OpenAI/CLIP论文&#xff1a;https://arxiv.org/pdf/2103.00020.pdf 一、引言&#x…...

Python Django REST Framework实战:构建RESTful API

Python Django REST Framework实战&#xff1a;构建RESTful API 引言 在Python Web开发中&#xff0c;Django REST Framework&#xff08;DRF&#xff09;是构建RESTful API的首选框架。作为一名从Rust转向Python的后端开发者&#xff0c;我深刻体会到DRF在快速构建高质量API方…...

上位机知识篇---提高Linux下载速度

提升 wget、pip 和 conda 的下载速度&#xff0c;核心方法可以归结为两类&#xff1a;一是使用更快的下载工具&#xff0c;二是连接到更近的镜像站点。下面的表格总结了几种主流的加速方案&#xff0c;方便你快速查阅&#xff1a;提速方法wgetpipconda&#x1f680; 换用更快的…...

观察使用Taotoken Token Plan后月度API成本的变化趋势

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察使用Taotoken Token Plan后月度API成本的变化趋势 对于依赖大模型API进行开发的中小型团队而言&#xff0c;月度API成本的可预…...

供水泵恒压变频控制系统:备用泵自动投切,保障供水不间断

供水泵恒压变频控制系统是一套融合变频调速、PID闭环控制与智能多泵管理的自动化节能供水解决方案&#xff0c;核心是按需供水、稳压节能、无人值守。 一、核心原理压力采集&#xff1a;管网压力传感器实时采集水压(0~1.6MPa)。偏差计算&#xff1a;PLC/专用控制器将实测值与设…...

终极窗口尺寸调整工具:WindowResizer完整使用指南

终极窗口尺寸调整工具&#xff1a;WindowResizer完整使用指南 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些无法拖拽大小的顽固应用程序窗口而烦恼吗&#xff1f;Wind…...

Nrfr终极指南:5步轻松修改SIM卡国家码,免Root突破区域限制

Nrfr终极指南&#xff1a;5步轻松修改SIM卡国家码&#xff0c;免Root突破区域限制 【免费下载链接】Nrfr &#x1f30d; 免 Root 的 SIM 卡国家码修改工具 | 解决国际漫游时的兼容性问题&#xff0c;帮助使用海外 SIM 卡获得更好的本地化体验&#xff0c;解锁运营商限制&#x…...

为什么需要图像篡改检测?5个简单步骤守护数字世界的真实性

为什么需要图像篡改检测&#xff1f;5个简单步骤守护数字世界的真实性 【免费下载链接】image_tampering_detection_references A list of papers, codes and other interesting collections pertaining to image tampering detection and localization. 项目地址: https://g…...

别再只会轮询了!STM32CubeMX配置USART中断,从原理到调试一条龙指南

STM32串口中断实战&#xff1a;从轮询到事件驱动的效率跃迁 在嵌入式开发中&#xff0c;串口通信就像系统的神经末梢&#xff0c;负责与外界交换关键信息。传统轮询方式如同不断拨打电话确认消息&#xff0c;而中断机制则像设置来电提醒——只有当数据真正到达时才会唤醒CPU。这…...

ETS2LA:让《欧洲卡车模拟2》自动驾驶的终极解决方案

ETS2LA&#xff1a;让《欧洲卡车模拟2》自动驾驶的终极解决方案 【免费下载链接】Euro-Truck-Simulator-2-Lane-Assist Plugin based interface program for ETS2/ATS. 项目地址: https://gitcode.com/gh_mirrors/eur/Euro-Truck-Simulator-2-Lane-Assist 你是否曾梦想在…...

Photoshop图层批量导出效率革命:10倍速免费脚本完全指南

Photoshop图层批量导出效率革命&#xff1a;10倍速免费脚本完全指南 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目地址: h…...

用STM32F103和RC522模块DIY一个智能门禁,附完整代码和PCB文件

用STM32F103和RC522模块打造高性价比智能门禁系统 在创客圈子里&#xff0c;智能门禁系统一直是极受欢迎的DIY项目。它不仅融合了嵌入式开发、射频识别和物联网技术&#xff0c;还能解决生活中的实际问题。相比动辄上千元的商业门禁设备&#xff0c;用STM32F103C8T6&#xff0…...