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

#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.hqwc.cn/news/309604.html

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

相关文章

基于ssm的二手商品交易平台+vue论文

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

《深入理解C++11:C++11新特性解析与应用》笔记五

第五章 提高类型安全 5.1 强类型枚举 5.1.1 枚举:分门别类与数值的名字 具名枚举类型一般声明类似:enum Gender { Male, Female }。 匿名枚举类型可以使用三种方式实现: 第一种方式时宏,比如 #define Male 0 #define Femal…

SpringBoot项目部署及多环境

1、多环境 2、项目部署上线 原始前端 / 后端项目宝塔Linux容器容器平台 3、前后端联调 4、项目扩展和规划 多环境 程序员鱼皮-参考文章 本地开发:localhost(127.0.0.1) 多环境:指同一套项目代码在把不同的阶段需要根据实际…

【Electron】webview 实现网页内嵌

实现效果: 当在输入框内输入某个网址后并点击button按钮 , 该网址内容就展示到下面 踩到的坑:之前通过web技术实现 iframe 标签内嵌会出现 同源策略,同时尝试过 vue.config.ts 内配置跨域项 那样确实 是实现啦 但不知道如何动态切换 tagert …

Java动态代理机制 代码示例demo

文章目录 JDK动态代理代码实现示例1.定义发送短信的接口2.实现发送短信的接口3.定义一个 JDK 动态代理类4.获取代理对象的工厂类5.实际使用 JDK 动态代理只能代理实现了接口的类CGLIB动态代理代码实现示例1.实现一个使用阿里云发送短信的类2.自定义 MethodInterceptor&#xff…

子网掩码与IP段计算

一.什么叫子网掩码: 子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。 子网掩…

Prometheus告警处理

Alertmanager介绍 Prometheus 包含一个报警模块,就是 AlertManager,Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重、降噪、分组等,是一款前卫的告警…

【数据结构】链式家族的成员——循环链表与静态链表

循环链表与静态链表 导言一、循环链表1.1 循环单链表1.2 循环双链表 二、静态链表2.1 静态链表的创建2.2 静态链表的初始化2.3 小结 结语 导言 大家好!很高兴又和大家见面啦!!! 经过前面的介绍,相信大家对链式家族的…

系列六、Consul

一、Consul 1.1、概述 Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发。他提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个功能都可以单独使用,也可以一起使用以构建全方位的服务网格&…

react-router-dom5升级到6

前言 升级前版本为5.1.2 下载与运行 下载 npm install react-router-dom6运行 运行发现报错: 将node_modules删除,重新执行npm i即可 运行发现如下报错 这是因为之前有引用react-router-dom.min,v6中取消了该文件,所以未找到文件导致报错。…

Vue.js学习笔记(1)——Visual Studio Code搭建Vue.js框架

1 安装Node.js 1、下载安装包:进入官网(https://nodejs.org/en),下载左侧的稳定版。 2、选择安装位置,不用勾选自动安装必要工具。 其他都默认Next。 配置环境,具体参考本文章: https://blo…

HCIA-Datacom题库(自己整理分类的)——ARP协议【完】

一、单选 1.ARP 属于哪一层协议? 数据链路层 网络层 物理层 传输层 2.ARP请求是____发送的 点播 广播 组播 单播 关于ARP报文的说法错误的是? ARP请求报文是广播发送的 ARP报文不能被转发到其他广播域 ARP应答报文是单播方发送的 任何链路层协议都需…