基于carsim的线控转向仿真(1)--carsim车辆模型目标角度跟踪

一、Rwa转向执行总成建模

 Rwa包括齿轮齿条机构、转向组件以及转向执行电机;如下图,电机输出轴通过齿轮减速增扭后,再经过一个半径为rp的小齿轮,直接带动齿条左右移动。齿条的移动通过转向摇臂,带动车轮转动,整套系统从电机的转动,转换为齿条的左右移动,再转换成车轮的左右摆动。

1、转向电机建模

在线控转向中,转向电机是一个执行器,上层给多少需求力矩,电机控制器便响应多少力矩。这里,我们用一个一阶惯性环节来简单模拟电机响应。

 仿真响应如下:

2、齿轮齿条机构建模

齿轮齿条动力来源是电机,阻力有左右车轮的阻力,齿条自身的加速度和阻尼,依据牛顿力学第二定律,可以列出微分方程

M_{r}\ddot{X}_{r}+B_{r}\dot{X}_{r}+F_{z}=T_{m}/r_{p}

式中,F_{z}--齿条上等效阻力;T_{fl},T_{fr}--左右前轮主销回正力矩。

参数名称物理意义单位数值
i_{Mot}转向电机减速比--18
l_{fl}左前轮转向摇臂长度m0.132
l_{fr}右前轮转向摇臂长度m0.132
r_{p}小齿轮半径m0.007
B_{r}齿轮齿条阻尼系数N.m/rad651
M_{r}齿轮齿条质量kg2.25

二、搭建Rwa总成simuink模型

依据以上几个公式,搭建Rwa执行总成模型。

三、simulink与carsim的联合仿真

1、仿真接口

低调一点选了个b级车

Carsim与Simulink模型的交互接口如下:

名称含义方向
IMP_STEER_L1左前轮转角simulink给到carsim
IMP_STEER_R1右前轮转角simulink给到carsim
M_TRdL1左前轮转向阻力carsim到simulink
M_TrdR1右前轮转向阻力carsim到simulink
Steer_L1左前轮转角carsim到simulink
Steer_R1右前轮转角carsim到simulink

 此外还需要注意到,carsim前轮转角是带阿克曼转向的,因此再给需求角度时,也需要考虑到,在这里,从carsim的转向系统里,提取出齿条位移--转向角度。

 2、仿真思路

首先,需要关闭carsim原有自带的转向系统;用OPT_STEER_EXT=0这个指令就可以;其次,关闭carsim里路径跟随的功能。这两个设置后,carsim的转向系统便会听simulink的。

整个仿真信号传递思路如下:

 1)根据车辆模型实时转角与参考转角的差距,用pid算出需求电机需求力矩;
 2)一阶电机模型响应电机需求理解;
 3)有了电机力矩,以及车辆模型的转向阻力,便可以套公式算齿条位移;
 4)有了齿条位移,便可以查表得到左右前轮需要的转角,响应前轮需求转角就是carsim的事了。

三、仿真结果

如下图,第一步我们已经实现,通过给需求转角,转向执行机构能实现需求转角,并与carsim实现了联调。

返回专栏目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/27939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PySide(PyQt)实现鼠标画框局部放大

按住鼠标左键画框,裁切画面并局部放大,可以用来生成ROI 1、在QtDesigner中创建ui文件,命名为crop.ui: 2、自定义脚本ImageLabel.py : from PySide6.QtCore import Qt, QRect, Signal, QPoint from PySide6.QtGui impo…

Redis高并发高可用

1. 复制机制 在分布式系统中,为了解决单点问题,通常会将数据复制多个副本部署到其他机器,以满足故障恢复和负载均衡等需求。Redis提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础,后面的…

长亭网络通信基础

长亭笔试之前就已经学过一遍了 这算温故而知新吧 TCP/IP 首先我在这里默写一下之前的7层和4层 应用层 应 【表示层 数据格式转换 传 【会话层 …

课设--学生成绩管理系统(一)

欢迎来到 Papicatch的博客 文章目录 🍉技术核心 🍉引言 🍈标识 🍈背景 🍈项目概述 🍈 文档概述 🍉可行性分析的前提 🍈项目的要求 🍈项目的目标 🍈…

Android 蓝牙配对Settings应用里面的简要流程记录

Android 蓝牙配对Settings应用里面的简要流程记录 文章目录 Android 蓝牙配对Settings应用里面的简要流程记录一、前言二、Settings蓝牙配对的关键代码1、接收蓝牙请求的地方 AndroidManifest.xml2、BluetoothPairingRequest3、BluetoothPairingService4、BluetoothPairingDial…

宿舍用电管理模块一进三出的升级改造

宿舍用电管理模块一进三出石家庄光大远通电气有限公司产品在高校日常管理工作中,宿舍管理是一项重要工作。宿舍管理内容复杂,而且涉及学生的日常生活,意义重大。其中,学生宿舍内漏电,超负荷用电,违规用电等现象一直是困扰后勤管理的普遍问题。随着学生日常生活方式以及生活用品…

驱动开发(五):Linux内核定时器

驱动开发系列文章: 驱动开发(一):驱动代码的基本框架 驱动开发(二):创建字符设备驱动 驱动开发(三):内核层控制硬件层 驱动开发(四&#xff…

移动端超超超详细知识点总结(Part4)

rem基础 1. rem单位 rem (root em)是一个相对单位,类似于em,em是父元素字体大小。不同的是rem的基准是相对于html元素的字体大小。比如,根元素(html)设置font-size12px; 非根元素设置width:2rem;则换成px表示就是24p…

数据防泄漏的六个步骤|数据防泄漏软件有哪些

在当前复杂多变的网络安全环境下,数据防泄漏软件成为了企业信息安全架构中不可或缺的一环。下面以安企神软件为例,告诉你怎么防止数据泄露,以及好用的防泄露软件。 1. 安企神软件 安企神软件是当前市场上备受推崇的企业级数据防泄漏解决方案…

【ARM-Linux篇】智能家居语音模块配置

1. pin脚配置: 2. 命令词自定义基本信息: 3. 命令词自定控制详情: • 测试:串口模块可先通过串口助手验证每个指令的准确性, 然后运行wiringOP中的serialTest程序(需把/dev/ttyS2改成/dev/ttyS5) 然后语音接收到指令后(比如喊你好…

10大wordpress外贸主题

手动工具wordpress外贸模板 适合生产套筒扳、管钳、工具箱、斧子、锤子、防爆工具、螺丝刀、扳手等手动工具的厂家。 https://www.jianzhanpress.com/?p4806 Invisible Trade WP外贸网站模板 WordPress Invisible Trade外贸网站模板,做进出口贸易公司官网的word…

开源高效API管理工具:RAP

RAP:简化API开发,提升团队协作效率- 精选真开源,释放新价值。 概览 RAP(RESTful API Project)是一个开源的API管理工具,由阿里巴巴团队开发并维护。它旨在帮助前后端开发人员通过一个统一的平台来设计、开…

软件方案评审与模块优化:从FOC模块出发的电控平台建设

一、背景 洞悉模块发展趋势,定制行业应用特点,明确优化方向与阶段性目标 随着科技进步的飞速发展,模块化设计已成为众多行业产品开发的核心理念。无论是软件系统、硬件组件,还是复杂系统中的功能模块,都需要对其发展…

如何提高软件质量

你写的程序是否有这些问题:命名不规范、函数设计不合理、分层不清晰、没有模块化概念、代码结构混乱、高度耦合等等。只是为了完成功能,从来没有考虑过代码质量问题、代码设计问题。 这样的代码维护起来非常费劲,添加或者修改一个功能&#…

Vue部分文件说明

1.eslintignore文件 Eslint会忽略的文件 # Eslint 会忽略的文件.DS_Store node_modules dist dist-ssr *.local .npmrc 2.gitignore # Git 会忽略的文件.DS_Store node_modules dist dist-ssr .eslintcache# Local env files *.local# Logs logs *.log npm-debug.log* yarn-de…

不可不知的Java SE技巧:如何使用for each循环遍历数组

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

HTML+CSS 旋转呼吸加载器

效果演示 实现了一个旋转加载动画效果,包括一个圆形的加载框和两个不同颜色的圆形旋转动画。加载框和动画都使用了CSS的动画属性,实现了旋转和缩放的效果。整个加载动画的样式比较简单,使用了黑色和黄色的背景色,以及白色的文本颜…

基于SVD的点云配准(下)

点云配准及特征提取详细解读 本篇博客将介绍一个用于点云配准的 C++ 代码示例,该示例使用 PCL(Point Cloud Library)库来处理和配准两个点云数据集。我们将逐步解析代码的关键部分,并解释每个步骤的作用。 代码说明 代码的整体结构及其主要功能: int main(int argc, ch…

【C++】【期末考】【基本概念和语法】概括总结——期末速成

目录 1. C简介 C的历史与发展 C的特点与优势 2. 基本语法 注释 数据类型与变量 常量 运算符 输入与输出 3. 控制结构 条件语句 循环语句 4. 函数 函数定义与声明 参数传递 返回值 函数重载 5. 数组与字符串 一维数组 多维数组 字符串处理 6. 指针 指针的…

本地部署 Stable Diffusion3

6月13日,Stability AI 正式开源20亿参数版本的Stable Diffusion 3 Medium。本文将在本地部署 SD3,GPU配置如下 GPU 2080TI / 22G 安装依赖 修改 WORKSPACE 位置信息,安装ComfyUI # #title Environment Setupfrom pathlib import PathOPTIO…