论文复现:四轮转向车辆后轮转角控制方法研究
写在前面,主要参考以下这篇文章,并复现了其中几种后轮转角控制方法。
一、什么是四轮转向
顾名思义,四轮转向指的是四个轮子都能转向,都能转动。当驾驶员操作方向盘进行前轮转向时,后轮按照特定算法给出的转角跟着转动。
电气化时代,为了能实现后轮转向,通常是在后轴上也安装一套转向电机,前轮转向和后轮转向电机通过一个控制器协同控制。正常情况下,前轮转角最大能达40°,而后轮转向后轮转角最大10°左右,转向上后轮是辅助。
二、四轮转向的好处
1、低速转弯时可以减少转弯半径
在低速时,后轮转向处于反向模式,既转向角度与前轮相反。如下两图所示,从几何关系上很容易看出具有后轮转向能力的车,能大幅度减少低速时的转弯半径。
2、提高高速变道到转向稳定性
在高速时,后轮转向处于同向模式,转向角度方向与前轮相同。如下图所示,可以看出高速时,后轮同向转向可以增强车的循迹能力,从而提高转向稳定性。
从图上也可以看出,具有后轮转向能力的车转向系统有三个工作模式:
1、正常模式,既后轮转向角为0,不参与转向,与普通车一样
2、反向模式,前后轮转向角方向相反
3、同向模式,前后轮转向角方向相同。
三、四轮转向动力学模型的建立
四、常见控制策略
1、比例控制
2、 横摆角速度反馈控制
3、横摆角速度反馈与比例控制结合的综合控制
4、 LQR
5、前馈(比例控制)+PID反馈联合控制
五、四轮转向carsim与simulink联合仿真模型建立
以上为carsim的配置,下图为simulink模型顶层架构。第四章提到的5种常见控制策略,在控制算法这模块中实现。
以下是控制算法模块
六、仿真结果
在脚本中设置了依次运行五种算法,并对比结果的程序。仿真工况是60km/h,阶跃转向。
质心侧偏角:
横摆角速度
车辆运动轨迹
从上图可以看出,方法1和方法2比较稳定,且开环的算法不会引起不稳定工况的发生,在实际使用中比较可靠。
七、模型和源码
需要模型和脚本的,还是在我的小基地 某宝店铺<极简车辆控制>上。
相关文章:

论文复现:四轮转向车辆后轮转角控制方法研究
写在前面,主要参考以下这篇文章,并复现了其中几种后轮转角控制方法。 一、什么是四轮转向 顾名思义,四轮转向指的是四个轮子都能转向,都能转动。当驾驶员操作方向盘进行前轮转向时,后轮按照特定算法给出的转角跟着转动…...

【UFEN】基于多层特征融合和多任务学习的多模态情感分析
abstract 当前多模态情感分析面临的主要挑战包括:1、模型如何在单一模态中提取情感信息,并实现多模态信息的互补传输;2、在单一模态中体现的情绪与多模态标签不一致的情况下,如何输出相对稳定的预测;3、当单模态信息不…...

uniapp的插件开发发布指南
Hbuilder创建项目 项目根目录创建uni_modules 开发组件 发布到插件市场 填写发布说明(未登录需要登录) 点击提交 在终端可以看到 发布成功! 插件市场查看...

【Linux系统】—— 编译器 gcc/g++ 的使用
【Linux系统】—— 编译器 gcc/g 的使用 1 用 gcc 直接编译2 翻译环境2.1 预处理(进行宏替换)2.2 编译(生成汇编)2.3 汇编(生成机器可识别代码)2.4 链接2.5 记忆小技巧2.6 编译方式2.7 几个问题2.7.1 如何理…...

[微服务]注册中心优化
环境隔离 企业实际开发中,往往会搭建多个运行环境,例如: 开发环境测试环境预发布环境生产环境 这些不同环境之间的服务和数据之间需要隔离。 还有的企业中,会开发多个项目,共享nacos集群。此时,这些项目…...

C++ ——— 模拟实现 vector 类
目录 vector 类的框架 无参数的构造函数 析构函数 获取有效数据个数 获取容量 重载 [] 运算符 可读可写版本 只可读版本 扩容 尾插 实现迭代器 可读可写版本 只可读版本 自定义设置size长度和内容 在任意位置插入 删除任意位置的数据 赋值重载 vector 类的框…...

大华相机DH-IPC-HFW3237M支持的ONVIF协议
使用libONVIF C库。 先发现相机。 配置 lib目录 包含 编译提示缺的文件,到libonvif里面拷贝过来。 改UDP端口 代码 使用msvc 2022的向导生成空项目,从项目的main示例拷贝过来。 CameraOnvif.h #pragma once#include <QObject> #include &l…...
【Java】常用工具类方法:树形结构、获取IP、对象拷贝、File相关、雪花算法等
1、生成子孙树 /*** 生成子孙树** param dataArray 遍历所有数据, 每个数据加到其父节点下* return 子孙树json*/public static JSONArray makeTree(JSONArray dataArray) {List<Map<String, Object>> data new ArrayList<>();for (int i 0; i < dataAr…...
豆瓣电影Top250的数据采集与可视化分析(scrapy+mysql+matplotlib)
文章目录 豆瓣电影Top250的数据采集与可视化分析(scrapy+mysql+matplotlib)写在前面数据采集(Visual Studio Code+Navicat)1.观察网页信息2.编写Scrapy代码(Visual Studio Code)2.1 创建Scrapy项目`doubanProject`2.2 创建爬虫脚本`douban.py`2.3 修改`douban.py`的代码2…...

2024微短剧行业生态洞察报告汇总PDF洞察(附原数据表)
原文链接: https://tecdat.cn/?p39072 本报告合集洞察从多个维度全面解读微短剧行业。在行业发展层面,市场规模与用户规模双增长,创造大量高收入就业岗位并带动产业链升级。内容创作上,精品化、品牌化趋势凸显,题材走…...
PHP语言的数据库交互
PHP语言的数据库交互 引言 在现代Web开发中,数据库是存储和管理应用数据的重要组成部分。随着互联网的快速发展,网站和应用程序对数据存储和操作的需求变得越来越复杂。PHP作为一种广泛使用的服务器端脚本语言,提供了多种数据库交互的方法&…...

flutter跨端UI框架简介
flutter跨端UI框架简介 简介 Flutter是由Google开发的开源应用开发框架,主要用于构建高性能、跨平台的移动、Web和桌面应用程序。Flutter使用Dart语言,提供了一套丰富的Widgets,使开发者能够快速创建美观的用户界面。其最大特点是热重载功能…...

自动化标注平台开源,基于 yolov8标注平台可本地部署
yolov8标注平台本地部署(docker部署),已调通yolov8模型自动预标注功能。 下面开始背景知识…… 1)数据标注为什么在人工智能时代如此重要? 数据标注在人工智能时代如此重要,原因如下: 为机器…...

Walrus Learn to Earn计划正式启动!探索去中心化存储的无限可能
本期 Learn to Earn 活动将带领开发者和区块链爱好者深入探索 Walrus 的技术核心与实际应用,解锁分布式存储的无限可能。参与者不仅能提升技能,还能通过完成任务赢取丰厚奖励!🌊 什么是 Walrus? 数据主权如今正成为越…...

第35天:安全开发-JavaEE应用原生反序列化重写方法链条分析触发类类加载
时间轴: 序列化与反序列化图解: 演示案例: Java-原生使用-序列化&反序列化 Java-安全问题-重写方法&触发方法 Java-安全问题-可控其他类重写方法 Java-原生使用-序列化&反序列化 1.为什么进行序列化和反序列化࿱…...
【mptcp】ubuntu18.04和MT7981搭建mptcp测试环境操作说明
目录 安装ubuntu18.04,可以使用虚拟机安装... 2 点击安装VMware Tool 2 更新ubuntu18.04源... 4 安装ifconfig指令工具包... 5 安装vim工具包... 5...
【数据分析(二)】初探 Pandas
目录 引言1. 基本数据结构1.1. Series 的初始化和简单操作1.2. DataFrame 的初始化和简单操作1.2.1. 初始化与持久化1.2.2. 读取查看1.2.3. 行操作1.2.4. 列操作1.2.5. 选中筛查 2. 数据预处理2.0. 生成样例表2.1. 缺失值处理2.2. 类型转换和排序2.3. 统计分析 3. 数据透视3.0.…...
第9章:Python TDD解决货币对象相等性比较难题
写在前面 这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许…...
更新布局元素的属性
每个布局元素都有一组可以通过编程来更新的属性.布局元素有很多种不同的类型,如图例,图形,文本,地图整饰等等. 操作方法: 1.打开目标活动地图文档 2.打开python窗口 3.导入arcpy模块 import arcpy.mapping as mapping 4.引用当前活动地图文档,把该引用赋值给变量 mxd map…...
UDP協議與代理IP介紹
UDP,全稱是用戶數據報協議(User Datagram Protocol),是Internet協議套組的一部分,與TCP協議一道工作。與TCP相比,UDP可以理解為一個更“羽量級”的協議。它不需要像TCP那樣在數據傳輸開始之前建立連接&…...
Matlab | MATLAB 中的插值详解
MATLAB 中的插值详解 插值是数值分析中的核心技术,用于在已知数据点之间估计未知点的值。MATLAB 提供了完整的插值函数库,涵盖一维到高维数据,支持多种插值方法。以下从基础到高级全面解析: 一、插值核心概念 1. 数学本质 给定数据点 ( x i , y i ) (x_i, y_i) (<...

蒙特卡罗模拟: 高级应用的思路和实例
蒙特卡罗模拟不仅仅是一种理论练习,它还是一种强大的工具,在金融、医疗保健、物流等领域都有实际应用。本篇文章将探讨高级和复杂的现实生活场景,深入探讨它们的细微差别,并通过详细的解释在 Python 中实现它们。 什么是蒙特卡罗…...

智慧园区数字孪生全链交付方案:降本增效30%,多案例实践驱动全周期交付
在智慧园区建设浪潮中,数字孪生技术正成为破解传统园区管理难题的核心引擎。通过构建与物理园区1:1映射的数字模型,实现数据集成、状态同步与智能决策,智慧园区数字孪生全链交付方案已在多个项目中验证其降本增效价值——某物流园区通过该方案…...

【图像处理入门】5. 形态学处理:腐蚀、膨胀与图像的形状雕琢
摘要 形态学处理是基于图像形状特征的处理技术,在图像分析中扮演着关键角色。本文将深入讲解腐蚀、膨胀、开闭运算等形态学操作的原理,结合OpenCV代码展示其在去除噪声、提取边缘、分割图像等场景的应用,带你掌握通过结构元素雕琢图像形状的核心技巧。 一、形态学处理:基…...

无法运用pytorch环境、改环境路径、隔离环境
一.未建虚拟环境时 1.创建新项目后,直接运行是这样的。 2.设置中Virtualenv找不到pytorch环境?因为此时没有创建新虚拟环境。 3.选择conda环境(全局环境)时,是可以下载环境的。 运行结果如下: 是全局环境…...
用 NGINX 搭建高效 IMAP 代理`ngx_mail_imap_module`
一、模块定位与作用 协议代理 ngx_mail_imap_module 使 NGINX 能在 IMAP 层面充当反向代理,客户端与后端 IMAP 服务器之间的会话流量均由 NGINX 接收并转发。认证控制 通过 imap_auth 指定允许的身份验证方式(如 PLAIN、LOGIN、CRAM-MD5、EXTERNAL&…...
瀚文机械键盘固件开发详解:HWKeyboard.h文件解析与应用
【手把手教程】从零开始的机械键盘固件开发:HWKeyboard.h详解 前言 大家好,我是键盘DIY爱好者Despacito0o!今天想和大家分享我开发的机械键盘固件核心头文件HWKeyboard.h的设计思路和技术要点。这个项目是我多年来对键盘固件研究的心血结晶…...

实现仿中国婚博会微信小程序
主要功能: 1、完成底部标签导航设计、首页海报轮播效果设计和宫格导航设计,如图1所示 2、在首页里,单击全部分类宫格导航的时候,会进入到全部分类导航界面,把婚博会相关内容的导航集成到一个界面里,如图2…...
【快速预览经典深度学习模型:CNN、RNN、LSTM、Transformer、ViT全解析!】
🚀快速预览经典深度学习模型:CNN、RNN、LSTM、Transformer、ViT全解析! 📌你是否还在被深度学习模型名词搞混?本文带你用最短时间掌握五大经典模型的核心概念和应用场景,助你打通NLP与CV的任督二脉…...

国芯思辰|SCS5501/5502芯片组打破技术壁垒,重构车载视频传输链路,兼容MAX9295A/MAX96717
在新能源汽车产业高速发展的背景下,电机控制、智能驾驶等系统对高精度信号处理与高速数据传输的需求持续攀升。 针对车载多摄像头与自动驾驶辅助系统对长距离、低误码率、高抗干扰性数据传输的需求,SCS5501串行器与SCS5502解串器芯片组充分利用了MIPI A…...