自动驾驶学习笔记(二十三)——车辆控制模型

#Apollo开发者#

学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:

 《自动驾驶新人之旅》免费课程—> 传送门

《Apollo开放平台9.0专项技术公开课》免费报名—>传送门

文章目录

前言

运动学模型

动力学模型

总结


前言

        见《自动驾驶学习笔记(十八)——Lidar感知》

        见《自动驾驶学习笔记(十九)——Planning模块》

        见《自动驾驶学习笔记(二十)——Planning算法》        

        见《自动驾驶学习笔记(二十一)——自动泊车系统》

        见《自动驾驶学习笔记(二十二)——自动泊车算法》

        自动驾驶中控制系统的作用是,操作车上的油门、刹车和方向盘,让车辆达到特定的速度、航向和位置。开发控制系统的核心是,建立上述输入和输出之间的复杂对应关系。所以最基础的工作就是搞清楚被控对象——车辆,其运动的基本规律,也即车辆模型。

        受控对象车辆的类型一般有乘用车、货运卡车、物流小车等等,本文以最基本的简化模型为例进行介绍。

运动学模型

为了突显车辆的主要规律,同时提高模型的可用性,对车辆模型作如下简化:

1、只考虑车辆的平面运动;

2、左右车辆合并,不考虑转向时候左右轮子的转角差;

车辆简化后得到一个经典的两轮车模型,示例如下:

O:车辆瞬心

Z:车辆质心

R: 转弯半径

β:速度与车辆纵轴的侧偏角(车身坐标系)

δ:车轮转角(车身标系)

Ψ:车身横摆角(世界坐标系)

ℓ:前后轮轴质心距

L:前后轮轴距

当车速比较慢时有β→0,前轮转向δf→0,推导上述几何模型示例如下:

模型分析:

1.实际情况下β不一定为0

2.车辆速度方向不一定与轮胎方向一致

3.模型完全由几何关系确立,没有考虑到运动过程中力的影响

动力学模型

对车辆模型作如下简化:

1、考虑轮胎侧偏特性,当轮胎受到横向力时变形产生侧滑Fy = C*θ(侧偏刚度*侧偏角)

2、不考虑路面坡度影响(侧倾)

车辆简化后得到一个经典的二自由度侧向动力学模型,示例如下:

推导上述动力学模型示例如下:

模型分析:

1.没有考虑坡度的影响(模型扩展:侧倾动力学模型)

2.侧偏角较大时,轮胎侧向力与侧偏角不成正比。侧向力的大小取决于侧偏角,轮胎载荷,摩擦系数和轮胎纵向受力

总结

        以上就是本人在学习自动驾驶时,对所学课程的一些梳理和总结。后续还会分享另更多自动驾驶相关知识,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

        另外,如果有同在小伙伴,也正在学习或打算学习自动驾驶时,可以和我一同抱团学习,交流技术。


        版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!

        文中部分图片来源自网络,若有侵权,联系立删。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

gradle下载太慢不用再烦恼了

编辑gradle-wrapper文件 使用腾讯镜像 https://mirrors.cloud.tencent.com/gradle/gradle-7.5-all.zip 来代替原来的 https\://services.gradle.org/distributions/gradle-7.5-all.zip

C#调用(python通过excel坐标生成的曲面地形图)案例

效果图: 文件图: 详解一:环境和python库问题 1.python 中只需要下载 matplotlib3.8.2和scipy1.11.4 2.我安装的python版本 详解二:解释器问题 python解释器这里有两种形式 第一种形式 1.调用 pycharm项目下的解释器,需要安装python必须的包(命令安装或者搜索安装)。 2.修改…

对“企业数据资源相关会计处理暂行规定“的个人理解

附:2023年数据资源入表白皮书下载: 关注WX公众号: commindtech77, 获得数据资产相关白皮书下载地址 1. 回复关键字:数据资源入表白皮书 下载 《2023数据资源入表白皮书》 2. 回复关键字:光大银行 下载 光…

Java项目:100SpringBoot图书管理系统

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 图书管理系统基于SpringBootMybatis开发,系统分为两种角色,分别是管理员和普通用户。 管理员功能如下: 书籍类别管理…

前端优化 - 防抖和节流

📢 鸿蒙专栏:想学鸿蒙的,冲 📢 C语言专栏:想学C语言的,冲 📢 VUE专栏:想学VUE的,冲这里 📢 CSS专栏:想学CSS的,冲这里 &#x1f4…

驾驭AI助手,开启高效创作之旅:一篇文章,轻松搞定!

在信息爆炸的时代,内容创作已成为个人和企业的核心竞争力。但撰写一篇高质量的文章需要大量时间和精力。现在,有了AI助手,这些烦恼全部消失 首先,我们要进入首助编辑高手主页面,并在上方的板块栏里选择“AI文章创作”…

计算机组成原理之BCD码和奇偶校验码小白秒懂

BCD码简介 原文文档下载https://download.csdn.net/download/m0_46579394/88681870 BCD码也称二进码十进数,BCD码可分为有权码和无权码两类。其中,常见的有权BCD码有8421码、2421码、5421码,无权BCD码有余3码、余3循环码、格雷码。8421BCD码…

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析

一、目的/概述 二、资料来源 三、ESP-IDF简介 3.1 ESP-IDF FreeRTOS 3.2 ESP-IDF heap_caps 3.3 ESP-IDF newlib 四、对比 嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析 一、目的/概述 1、在我的嵌入式科普(6)你听说过FreeRTOS heap6吗?…

用通俗易懂的方式讲解大模型:Llama2 部署讲解及试用方式

Llama 一直被视为 AI 界的开源大模型中的巨擘。然而,由于其开源协议的限制性条款,商业用途的免费使用一直未能实现。 但这种情况在最近发生了根本性的转变,Meta 发布了备受瞩目的 Llama2,这是一个免费可供商业使用的版本。 这个…

西北工业大学计算机组成原理实验报告——verilog后两次

在单周期CPU的基础上开发实现流水线CPU 说明: 1. 该PDF带有大纲功能,点击大纲中的对应标题,可以快速跳转。 2. 目录层级为: 一、一级标题 (二)二级标题 (3)三级标题 4.四级标…

【JavaWeb】day01-HTMLCSS

day01-HTML&CSS HTML 图片标签&#xff1a;<img> src&#xff1a;指定图像URL&#xff08;绝对路径/相对路径&#xff09;width&#xff1a;图像宽度&#xff08;像素/相对于父元素的百分比&#xff09;height&#xff1a;图像高度&#xff08;像素/相对于父元素的百…

Java项目:101SpringBoot仓库管理系统

博主主页&#xff1a;Java旅途 简介&#xff1a;分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 仓库管理系统基于SpringBootMybatis开发&#xff0c;系统使用shiro框架做权限安全控制&#xff0c;超级管理员登录系统后可根据自己的实际需求配角色&…

搜索算法和推荐算法、广告算法的区别

广告和推荐算法的技术框架比较相似&#xff0c;在线计算时都分为召回&#xff08;candidates generating&#xff09;和排序&#xff08;candidates ranking&#xff09;两个阶段&#xff08;这似乎是计算资源有限条件下&#xff0c;所有检索问题的通用架构&#xff09;。 在某…

C# Image Caption

目录 介绍 效果 模型 decoder_fc_nsc.onnx encoder.onnx 项目 代码 下载 C# Image Caption 介绍 地址&#xff1a;https://github.com/ruotianluo/ImageCaptioning.pytorch I decide to sync up this repo and self-critical.pytorch. (The old master is in old ma…

最新Redis7哨兵模式(保姆级教学)

一定一定要把云服务器的防火墙打开一定要&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;否则不成功&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&…

java设计模式实战【策略模式+观察者模式+命令模式+组合模式,混合模式在支付系统中的应用】

引言 在代码开发的世界里&#xff0c;理论知识的重要性毋庸置疑&#xff0c;但实战经验往往才是知识的真正试金石。正所谓&#xff0c;“读万卷书不如行万里路”&#xff0c;理论的学习需要通过实践来验证和深化。设计模式作为软件开发中的重要理论&#xff0c;其真正的价值在…

销售转行上位机编程:我的学习与职业经历分享

同学们好&#xff0c;我是杨工&#xff0c;原先是一名销售。 通过在华山编程培训中心学习&#xff0c;成功转行上位机编程&#xff0c;对此我想分享学习和职业经历。 在职业生涯的早期&#xff0c;我并没有考虑将技术融入到我的工作中。然而&#xff0c;在几次创业的失败后&a…

编程羔手解决Maven引入多个版本的依赖包,导致包冲突了

最近升级了些依赖发现有个hutool的方法老报错&#xff0c;java.lang.NoSuchMethodError: cn.hutool.core.util.ObjectUtil.defaultIfNull(Ljava/lang/Object;Ljava/util/function/Supplier;) 在 Maven 项目中&#xff0c;当不同的依赖模块引入 Hutool 的不同版本时&#xff0c…

C++编程中级阶段

目录 1.模版 1.1函数模版 1.1.1函数模版语法 1.1.2函数模版注意事项 1.1.3函数模版案例 1.1.4普通函数与函数模板的区别 1.1.5普通函数与函数模板的调用规则 1.1.6模版的局限性 1.2类模版 2.STL处识 3.STL常用容器 3.1string容器 3.2vector容器 3.3deque容器 3.…