DYC算法开发与测试(基于ModelBase实现)
ModelBase是经纬恒润开发的车辆仿真软件,包含两个大版本:动力学版本、智能驾驶版本。动力学版包含高精度动力学模型,能很好地复现车辆在实际道路中运行的各种状态变化,可用于乘用车、商用车动力底盘系统算法开发、控制器仿真测试;智能驾驶版本在动力学版本的基础上增加了动静态场景仿真、各类传感器模型、高逼真动画渲染,可用于乘用车、商用车的整车电控系统、ADAS系统的设计、测试和验证。

直接横摆力矩控制
当汽车转向时道路条件恶劣或速度过快,汽车很可能出现“推头”、“甩尾”的现象,而直接横摆力矩控制(Direct Yaw Moment Control,DYC)可大幅提高车辆转向时的操纵稳定性。DYC是辅助驾驶中的常见方法,通过附加四轮转矩保持车辆行驶的稳定性,在极限工况下控制性能强悍,极大保证了车辆行驶的安全性。
线性二次型最优控制器(linear quadratic regulator, LQR)在自动驾驶中常用于控制车辆的横摆稳定性,本文将基于LQR算法设计直接横摆力矩控制器,并完成Modelbase与Matlab的联合仿真。

基于Modelbase与Simulink搭建DYC
Modelbase设置
面对石油价格上涨、环境污染等问题,纯电动汽车的应用与普及已成为未来发展的趋势。分布式轮毂电机驱动作为新兴的驱动结构,具有四轮转矩独立可控、结构紧凑、智能网联适配性强等特点,大大提高了车辆稳定性控制的灵活性。在Modelbase车辆构型中,选择四驱四电机的纯电动汽车。

在ModelBase场景编辑器中,设置车辆如下图所示的轨迹行进,并设置初速度为60km/h。

设置IO接口,车辆模型依次输出车体纵向加速度、横摆角速度、质心侧偏角、左/右前轮转角、方向盘转角 ,输入接口为四轮的制动力矩。


导入simulink后可自动生成modelbase模块,后续算法将应用在此基础上对纯电动汽车进行闭环控制。


LQR算法搭建

建立如上图所示的二自由度车辆动力学模型,忽略轮胎纵向力对侧偏特性的影响,具体动力学方程如下:

为保持车身稳定,轮毂电机驱动对四轮施加直接横摆力矩M,总附加横摆力矩作用后,动力学方程更新为:

定义理想质心侧偏角与实际响应值的差、理想横摆角速度与实际响应值的差为:

求导得: 

为消除误差,求出附加横摆力矩最优解,基于LQR理论设计控制方程:

式中,K为反馈系数矩阵,Q矩阵能使系统误差快速逼近0,R矩阵限制系统最大量,避免输出超出轮毂电机负载的横摆力矩。输出的总附加横摆力矩U将平均分配至各轮毂电机。
ModelBase与Simulink的联合仿真
设置一辆未施加控制的对比车辆,两车初始车速都为60km/h,令其在路面附着系数为0.85的道路上跑路线,联合仿真动画效果如下。
DYC控制对比联合仿真动画
从下图可看出,在基于LQR的DYC控制下,车辆的横摆角速度相比无控制更加贴合理想值,质心侧偏角大部分时间内也更加贴合理想值,车辆转向时更加稳定。
横摆角速度(rad/s)变化曲线:

质心侧偏角(rad)变化曲线:
______________________________________
ModelBase软件包含了用于上述仿真测试的工程和Simulink模型,ModelBase软件可免费申请试用,只需要发送【姓名、联系电话、邮箱、公司/学校名称、部门/院系、申请版本(动力学版本/智能驾驶版本)】信息到intework@hirain.com即可。点击链接查看ModelBase详细介绍。
相关文章:
DYC算法开发与测试(基于ModelBase实现)
ModelBase是经纬恒润开发的车辆仿真软件,包含两个大版本:动力学版本、智能驾驶版本。动力学版包含高精度动力学模型,能很好地复现车辆在实际道路中运行的各种状态变化,可用于乘用车、商用车动力底盘系统算法开发、控制器仿真测试&…...
第四章 路由基础
目录 4.1 路由器概述 4.1.1 路由器定义 4.1.2 路由器工作原理 4.1.3 路由表的生成方式 (1)直连路由 (2)静态路由 (3)动态路由 4.1.4 路由器的接口 (1)配置接口 ࿰…...
Java逻辑运算符(、||和!),Java关系运算符
逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。 逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表 1 所示。 表 1 逻辑运算符的用…...
三个设备文件
...
Java赋值运算符(=)
赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“”,它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。 其语法格式如下所示: 变量名称表达式内容 在 Java 语言中,“变量名称”和“表达式…...
提升药店效率:山海鲸医药零售大屏的成功案例
在医药行业中,特别是医药零售领域,高效的药品管理和客户服务至关重要。随着科技的飞速发展,数字化解决方案已经成为提高医药零售管控效率的有效工具之一。其中,医药零售管控大屏作为一种强大的工具,正在以独特的方式改…...
使用Fragement(碎片)
一、Fragment简介 屏幕大小的差距可能会使同样的界面在不同设备上显示出不同的效果,为了能同时兼顾到手机和平板电脑的开发,从Android3.0版本开始提供了Fragment。 Fragment(碎片)是一种嵌入在Activity中的UI片段,它…...
种花问题(Python题目)
假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 …...
STM32入门F4
学习资料:杨桃电子,官网:洋桃电子 | 杜洋工作室 www.doyoung.net 嵌入式开发核心宗旨:以最适合的性能、功能、成本来完成最有性价比的产品开发。 1.为什么要学F407 STM32F103系列与STM32F407系列对照表: 2.F4系列命…...
【30】c++设计模式——>状态模式
状态模式概述 状态模式是一种行为型设计模式,它可以让一个对象在其内部状态发生变化时更改其行为。通过将每个状态封装成一个独立的类,我们可以使状态之间互相独立,并且使得状态的切换变得更加灵活、可扩展。(多个状态之间可以相…...
中文编程开发语言编程实际案例:程序控制灯电路以及桌球台球室用这个程序计时计费
中文编程开发语言编程实际案例:程序控制灯电路以及桌球台球室用这个程序计时计费 上图为:程序控制的硬件设备电路图 上图为:程序控制灯的开关软件截图,适用范围比如:台球厅桌球室的计时计费管理,计时的时候…...
【python】高斯日记
题目: """ 题目描述: 高斯出生于1777年4月30日,记作1777-4-30。在此基础上,我们希望你写一个程序,给定一个数字n,表示从高斯出生的那天算起的第n天,输出这一天的具体日期。例如&…...
[论文笔记]MobileBERT
引言 今天带来一篇关于量化的论文MobileBERT,题目翻译过来是:一种适用于资源有限设备的紧凑型任务无关BERT模型。模型的简称是MobileBERT,意思是作者的这个BERT模型可以部署到手机端。 本篇工作,作者提出了MobileBERT用于压缩和加速BERT模型。与原始BERT一样,MobileBERT…...
【Spring Cloud】如何确定微服务项目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本
文章目录 1. 版本选择2. 用脚手架快速生成微服务的pom.xml3. 创建一个父工程4. 代码地址 本文描述如何确定微服务项目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本。 1. 版本选择 我们知道Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本选择一致性非常重…...
Power BI 傻瓜入门 1. 数据分析术语:Power BI风格
本章内容包括: 了解Power BI可以处理的不同类型的数据了解您的商业智能工具选项熟悉Power BI术语 数据无处不在。从你醒来的那一刻到你睡觉的时候,某个系统会代表你收集数据。即使在你睡觉的时候,也会产生与你生活的某些方面相关的数据。如…...
【C++和数据结构】位图和布隆过滤器
目录 一、位图 1、位图的概念 2、位图的实现 ①、基本结构 ②、set ③、reset: ④、test ⑤、问题: ⑥、位图优缺点及应用: ⑦、完整代码及测试 二、布隆过滤器 1、布隆过滤器的提出 2、布隆过滤器的实现 ①、基本结构 ②…...
Mybatis分页
本文主要讲解Mybatis分页相关的技术分享,如果觉得不错的话,就点个赞吧。。。。 Mybatis分页主要有2种类型: 一、物理分页: 1、定义: 物理分页是在数据库层面进行的分页,即通过SQL语句直接从数据库中查询…...
手写SVG图片
有时候QT中可能会需要一些简单的SVG图片,但是网上的质量参差不齐,想要满意的SVG图片,我们可以尝试直接手写的方法. 新建文本文档,将以下代码复制进去,修改后缀名为.svg,保存 <?xml version"1.0" encoding"utf-8"?> <svg xmlns"http://www…...
LVS负载均衡及LVS-NAT模式
一、集群概述 1.1 集群的背景 集群定义:为解决某个特定问题将多个计算机组合起来形成一个单系统 集群目的:为了解决系统的性能瓶颈 集群发展历史: 垂直扩展:向上扩展,增加单个机器的性能,即升级硬件 水…...
【Java集合类面试八】、 介绍一下HashMap底层的实现原理
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官: 介绍一下HashMap底层的…...
AI原生语音交互已进入临界点:2026奇点大会透露的7项技术拐点与你的团队适配时间表
第一章:AI原生语音交互已进入临界点:2026奇点大会核心洞察 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点大会上,来自DeepMind、Meta AI与中科院自动化所的联合实证表明:端到端语音大模型(如Whisper-XL、…...
从“听”到“看”:希尔伯特变换如何让机械故障诊断更精准?一个振动信号分析实战
从“听”到“看”:希尔伯特变换如何让机械故障诊断更精准?一个振动信号分析实战 当工厂里的关键设备突然发出异常声响,经验丰富的老师傅可能会竖起耳朵听几秒,然后准确判断:"轴承内圈有损伤"。这种神奇的&qu…...
使用 Python 设置 Excel 表格的行高与列宽
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
2、 Verilog 代码规范
分类 Verilog 教程高级篇 不经意间看到几年前自己写的 FGPA 设计,代码风格勉强说的过去,但是逻辑设计方面的安全隐患比比皆是。许多初学者编写 Verilog 代码,基本都是按照 C 语言的思维和风格去设计,造成了很多不规范的共性问题。…...
【国家级AI安全合规指南】:基于GB/T 44503-2024标准的6层对齐验证体系实战拆解
第一章:大模型工程化安全与对齐策略的顶层范式演进 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化已从单点能力验证阶段,跃迁至以系统性安全治理与价值对齐为内核的范式重构期。这一演进并非技术栈的线性叠加,而是安全目标、对…...
MindSpore 环境配置完全指南遮
前面我们对 Kafka 的整体架构和一些关键的概念有了一个基本的认知,本文主要介绍 Kafka 的一些配置参数。掌握这些参数的作用对我们的运维和调优工作还是非常有帮助的。 写在前面 Kafka 作为一个成熟的事件流平台,有非常多的配置参数。详细的参数列表可以…...
Android权限延时动态声明机制和可行的解决方案
Android权限延时动态声明机制和可行的解决方案核心结论Android系统权限无法真正做到"运行时动态声明",但可以通过以下方案实现类似效果:方案一:动态功能模块(官方推荐)原理说明┌─────────────…...
给AI代理加记录仪,值不值?从OpenClaw漏洞看日志监控的代价与边界
先说结论 日志监控能有效追溯AI代理的异常行为,但引入额外开销和复杂度,需要权衡安全与性能。 自建方案(如ELK)控制力强但成本高,云服务省心但可能受限于厂商锁定和功能边界。 实施前应明确监控粒度、告警策略和存储…...
前端开发环境搭建:Node.js, npm, VSCode
前端开发环境搭建:Node.js、npm与VSCode指南 在当今快速发展的前端开发领域,一个高效、稳定的开发环境是提升生产力的关键。Node.js、npm和VSCode作为现代前端开发的三大核心工具,能够帮助开发者轻松管理依赖、运行脚本以及编写高质量代码。…...
MATLAB窗函数法在FIR数字滤波器语音去噪中的实战应用
1. 窗函数法设计FIR滤波器的核心原理 FIR(有限冲激响应)滤波器的核心特点是系统函数没有极点,仅由零点构成,这保证了绝对稳定性。窗函数法的设计流程可以概括为四个关键步骤: 首先需要明确目标滤波器的理想频率响应Hd(…...
