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

自动驾驶仿真:Carsim转向传动比设置

文章目录

  • 一、转向传动比概念
  • 二、设置转向传动比
    • 1、C factor概念
    • 2、Steer Kinematics概念
    • 3、传动比计算公式
  • 三、转向传动比验证


一、转向传动比概念

转向传动比(Steering Ratio)表示方向盘转动角度与车轮转动角度之间的关系。公式如下:

转向传动比 = 方向盘转动角度 车轮转动角度 \text{转向传动比} = \frac{\text{方向盘转动角度}}{\text{车轮转动角度}} 转向传动比=车轮转动角度方向盘转动角度

例如,假设方向盘转动 360 度,而车轮转动 30 度,那么转向传动比为:

转向传动比 = 36 0 ∘ 3 0 ∘ = 12 : 1 \text{转向传动比} = \frac{360^\circ}{30^\circ} = 12:1 转向传动比=30360=12:1

二、设置转向传动比

1、C factor概念

C factor : 方向盘转一圈齿条移动的位移 \text{C factor} : {\text{方向盘转一圈齿条移动的位移}} C factor:方向盘转一圈齿条移动的位移
在这里插入图片描述

2、Steer Kinematics概念

Rack to front wheels: Steer Kinematics : 齿条位移和前轮转角之间的关系 \text{Rack to front wheels: Steer Kinematics} : {\text{齿条位移和前轮转角之间的关系}} Rack to front wheels: Steer Kinematics:齿条位移和前轮转角之间的关系
在这里插入图片描述

3、传动比计算公式

1)由于Carsim中没有直接设置转向传动比的关系,在Carsim中计算传动比的关系式如下:

转向传动比 = 1 / ( (C factor / 360) ∗ Steer Kinematics ) \text{转向传动比} = 1 / ({\text{(C factor / 360)}}*{\text{Steer Kinematics}}) 转向传动比=1/((C factor / 360)Steer Kinematics)

注意:这里需要c factor / 360,因为要将rev转换成deg;

2)假设取左前轮斜率的平均值,得Steer Kinematics(平均) = 0.45 (deg/mm);
在这里插入图片描述


计算Steer Kinematics平均值:

在这里插入图片描述


3)假设你需要的传动比是12,推导得:

转向传动比 = 1 / ( (C factor / 360) ∗ Steer Kinematics ) \text{转向传动比} =1 / ({\text{(C factor / 360)}}*{\text{Steer Kinematics}}) 转向传动比=1/((C factor / 360)Steer Kinematics)
得:
12 = 1 / ( (C factor / 360) ∗ Steer Kinematics ) \text{12} =1 / ({\text{(C factor / 360)}}*{\text{Steer Kinematics}}) 12=1/((C factor / 360)Steer Kinematics)
得:
12 = 1 / ( (C factor / 360) ∗ 0.452 ) 得 : C f a c t o r ≈ 66.67 ( m m / r e v ) \text{12} =1 / ({\text{(C factor / 360)}}*{\text{0.452}}) 得 : C factor ≈ 66.67(mm/rev) 12=1/((C factor / 360)0.452):Cfactor66.67(mm/rev)


三、转向传动比验证

1、由上述可得传动比为12的时候,C factor为66.67(mm/rev),代入carsim:

在这里插入图片描述


2、设置方向盘输出角度为120deg,由于12 = 传动比 = 方向盘角度 / 前轮转角,因此前轮转角大概为10deg左右;

在这里插入图片描述


曲线结果符合预期,因此公式正确;

相关文章:

自动驾驶仿真:Carsim转向传动比设置

文章目录 一、转向传动比概念二、设置转向传动比1、C factor概念2、Steer Kinematics概念3、传动比计算公式 三、转向传动比验证 一、转向传动比概念 转向传动比(Steering Ratio)表示方向盘转动角度与车轮转动角度之间的关系。公式如下: 转向…...

PyTorch nn.CrossEntropyLoss() 交叉熵损失函数详解和要点提醒

文章目录 前置知识nn.CrossEntropyLoss() 交叉熵损失参数数学公式带权重的公式(weight)标签平滑(label_smoothing) 要点 附录参考链接 前置知识 深度学习:关于损失函数的一些前置知识(PyTorch Loss&#x…...

DW学习笔记|数学建模task2

本章主要涉及到的知识点有: 微分方程的解法如何用 Python 解微分方程偏微分方程及其求解方法微分方程的基本案例差分方程的求解数值计算方法元胞自动机 2.1 微分方程的理论基础 微分方程是什么?如果你参加过高考,可能在高三备考中遇到过这…...

【大数据 复习】第9章 数据仓库分析工具Hive

一、概念 1.概述 (1)Hive是一个构建于Hadoop顶层的数据仓库工具。 (2)某种程度上可以看作是用户编程接口,本身不存储和处理数据。 (3)依赖分布式文件系统HDFS存储数据。 (4&#xf…...

ionic7 从安装 到 项目启动最后打包成 apk

报错处理 在打包的时候遇到过几个问题,这里记录下来两个 Visual Studio Code运行ionic build出错显示ionic : 无法加载文件 ionic 项目通过 android studio 打开报错 capacitor.settings.gradle 文件不存在 说明 由于之前使用的是 ionic 3,当时打包的…...

setInterval 定时任务执行时间不准验证

一般在处理定时任务的时候都使用setInterval间隔定时调用任务。 setInterval(() > {console.log("interval"); }, 2 * 1000);我们定义的是两秒执行一次,但是浏览器实际执行的间隔时间只多不少。这是由于浏览器执行 JS 是单线程模式,使用se…...

Stable Diffusion Model网站

Civitai Models | Discover Free Stable Diffusion Modelshttps://www.tjsky.net/tutorial/488https://zhuanlan.zhihu.com/p/610298913超详细的 Stable Diffusion ComfyUI 基础教程(一):安装与常用插件 - 优设网 - 学设计上优设 (uisdc.com)…...

K8S - 实现statefulset 有状态service的灰度发布

什么是灰度发布 Canary Release 参考 理解 什么是 滚动更新,蓝绿部署,灰度发布 以及它们的区别 配置partition in updateStrategy/rollingUpdate 这次我为修改了 statefulset 的1个yaml file statefulsets/stateful-nginx-without-pvc.yaml: --- apiVe…...

Qt 技术博客:深入理解 Qt 中的 delete 和 deleteLater 与信号槽机制

在 Qt 开发中,内存管理和对象生命周期的处理是至关重要的一环。特别是在涉及信号和槽机制时,如何正确删除对象会直接影响应用程序的稳定性。本文将详细讨论在使用 Qt 的信号和槽机制时,delete 和 deleteLater 的工作原理,并给出最…...

自学鸿蒙HarmonyOS的ArkTS语言<一>基本语法

一、一个ArkTs的目录结构 二、一个页面的结构 A、装饰器 Entry 装饰器 : 标记组件为入口组件,一个页面由多个自定义组件组成,但是只能有一个组件被标记 Component : 自定义组件, 仅能装饰struct关键字声明的数据结构 State:组件中的状态变量…...

【OpenGauss源码学习 —— (ALTER TABLE(列存修改列类型))】

ALTER TABLE(列存修改列类型) ATExecAlterColumnType 函数1. 检查和处理列存储表的字符集:2. 处理自动递增列的数据类型检查:3. 处理生成列的类型转换检查:4. 处理生成列的数据类型转换: build_column_defa…...

【大数据 复习】第7章 MapReduce(重中之重)

一、概念 1.MapReduce 设计就是“计算向数据靠拢”,而不是“数据向计算靠拢”,因为移动,数据需要大量的网络传输开销。 2.Hadoop MapReduce是分布式并行编程模型MapReduce的开源实现。 3.特点 (1)非共享式,…...

Zookeeper:节点

文章目录 一、节点类型二、监听器及节点删除三、创建节点四、监听节点变化五、判断节点是否存在 一、节点类型 持久(Persistent):客户端和服务器端断开连接后,创建的节点不删除。 持久化目录节点:客户端与Zookeeper断…...

生产级别的 vue

生产级别的 vue 拆分组件的标识更好的组织你的目录如何解决 props-base 设计的问题transparent component (透明组件)可减缓上述问题provide 和 inject vue-meta 在路由中的使用如何确保用户导航到某个路由自己都重新渲染?测试最佳实践如何制…...

kafka(五)spring-kafka(1)集成方法

一、集成 1、pom依赖 <!--kafka--><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId></dependency><dependency><groupId>org.springframework.kafka</groupId><artif…...

Java中的设计模式深度解析

Java中的设计模式深度解析 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在软件开发领域&#xff0c;设计模式是一种被广泛应用的经验总结和解决方案&#x…...

鸿蒙 HarmonyOS NEXT星河版APP应用开发—上篇

一、鸿蒙开发环境搭建 DevEco Studio安装 下载 访问官网&#xff1a;https://developer.huawei.com/consumer/cn/deveco-studio/选择操作系统版本后并注册登录华为账号既可下载安装包 安装 建议&#xff1a;软件和依赖安装目录不要使用中文字符软件安装包下载完成后&#xff0…...

[FreeRTOS 基础知识] 互斥访问与回环队列 概念

文章目录 为什么需要互斥访问&#xff1f;使用队列实现互斥访问休眠和唤醒机制环形缓冲区 为什么需要互斥访问&#xff1f; 在裸机中&#xff0c;假设有两个函数&#xff08;func_A, func_B&#xff09;都要修改a的值&#xff08;a&#xff09;&#xff0c;那么将a定义为全局变…...

音视频的Buffer处理

最近在做安卓下UVC的一个案子。正好之前搞过ST方案的开机广告&#xff0c;这个也是我少数最后没搞成功的项目。当时也有点客观原因&#xff0c;当时ST要退出机顶盒市场&#xff0c;所以一切的支持都停了&#xff0c;当时啃他家播放器几十万行的代码&#xff0c;而且几乎没有文档…...

【总结】攻击 AI 模型的方法

数据投毒 污染训练数据 后门攻击 通过设计隐蔽的触发器&#xff0c;使得模型在正常测试时无异常&#xff0c;而面对触发器样本时被操纵输出。后门攻击可以看作是特殊的数据投毒&#xff0c;但是也可以通过修改模型参数来实现 对抗样本 只对输入做微小的改动&#xff0c;使模型…...

从“盲猜”到“秒懂”:用Python脚本模拟DVWA布尔盲注攻击,彻底搞懂背后的逻辑

从“盲猜”到“秒懂”&#xff1a;用Python脚本模拟DVWA布尔盲注攻击&#xff0c;彻底搞懂背后的逻辑 在网络安全领域&#xff0c;SQL注入始终是最常见也最具破坏力的漏洞之一。而布尔盲注作为SQL注入的一种特殊形式&#xff0c;因其隐蔽性和技术挑战性&#xff0c;成为许多安全…...

2026 Java AI框架选型:Spring AI/LangChain4j企业级对比

文章目录引子&#xff1a;Java程序员的"AI焦虑"一、血统与基因&#xff1a;两个截然不同的"家族遗传"1.1 Spring AI&#xff1a;Spring生态的"嫡长子"1.2 LangChain4j&#xff1a;Java AI界的"瑞士军刀"二、代码实战&#xff1a;同样的…...

一个简洁易用的 Delphi JSON 封装库,基于 System.JSON`单元封装,提供更直观的 API

pagehelper整合 引入依赖com.github.pagehelperpagehelper-spring-boot-starter2.1.0compile编写代码 GetMapping("/list/{pageNo}") public PageInfo findAll(PathVariable int pageNo) {// 设置当前页码和每页显示的条数PageHelper.startPage(pageNo, 10);// 查询数…...

基于yolov26的桃子成熟度检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面

基于 PyQt5 和 YOLO26 的目标检测桌面应用程序&#xff0c;支持图片、视频和摄像头实时检测。 功能特性 图片检测&#xff1a;支持图片检测视频检测&#xff1a;支持视频文件实时检测与播放摄像头检测&#xff1a;支持实时摄像头视频流检测模型切换&#xff1a;支持加载不同的 …...

后台管理系统布局设计指南:从架构到实践的全方位解析

后台管理系统布局设计指南&#xff1a;从架构到实践的全方位解析 【免费下载链接】vue3-element-admin &#x1f525;基于 Vue 3 Vite 7 TypeScript element-plus 构建的后台管理前端模板&#xff08;配套后端源码&#xff09;&#xff0c;vue-element-admin 的 vue3 版本。 …...

NSGA-III中的参考点生成与多样性维护机制解析

1. NSGA-III算法中的参考点是什么&#xff1f; 第一次接触NSGA-III算法时&#xff0c;最让我困惑的就是这个"参考点"概念。简单来说&#xff0c;参考点就像是多目标优化问题中的导航灯塔&#xff0c;它们均匀分布在目标空间里&#xff0c;指引算法找到分布均匀的解集…...

Navicat重置工具:macOS用户无限试用Navicat Premium的终极方案

Navicat重置工具&#xff1a;macOS用户无限试用Navicat Premium的终极方案 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac Na…...

利用快马平台快速构建openclaw101机器人抓手控制原型,十分钟完成代码框架

最近在做一个机器人抓手的控制项目&#xff0c;正好尝试了用InsCode(快马)平台来快速搭建原型&#xff0c;整个过程比想象中顺利很多。作为一个开源硬件爱好者&#xff0c;我想分享一下如何用这个平台十分钟搞定openclaw101机器人抓手的控制程序框架。 项目背景与需求分析 open…...

Graphormer应用场景:材料科学中新型催化剂吸附能预测落地实践

Graphormer应用场景&#xff1a;材料科学中新型催化剂吸附能预测落地实践 1. 引言&#xff1a;催化剂设计的挑战与机遇 在材料科学领域&#xff0c;催化剂设计一直是一项既关键又具有挑战性的任务。传统催化剂开发过程往往需要耗费数月甚至数年的时间&#xff0c;研究人员需要…...

六通道HDMI/网络/文件混用一体录播机

——H.265硬编、16T存储、8方互动、智能导播&#xff0c;每个通道都能“按需切换” 它到底是什么&#xff1f; WHT-6H是一台6通道全高清录播主机&#xff0c;每个通道都可以在三种信号源之间自由切换&#xff1a; HDMI信号&#xff08;4路物理接口&#xff0c;最高1080P60&am…...