Apollo星火计划学习笔记|控制模块
系列文章目录
L1 Apollo平台安装
L2 CyberRT学习
L5 Routing简介
L7 控制模块
L8 预测模块
目录
- 系列文章目录
- 简介
- 控制算法
- PID算法
- LQR(MPC)
- Apollo控制模块
- Apollo纵向控制
- 作业
简介
控制模块的作用是根据规划(planning模块)生成的轨迹,计算出汽车的油门,刹车和方向盘信号,控制汽车按照规定的轨迹行驶。
控制输入: Chassis(车辆状态信息), LocalizationEstimate(位置信息), ADCTrajectory(planning模块规划的轨迹)
控制输出:纵向控制(油门,刹车,档位) 横向控制(方向盘)
控制基于模型,可将车辆分为运动学建模和动力学建模。运动学模型相对简单,将汽车看为刚体,动力学模型相对复杂,基于车体受力状态来推导运动方程。动力学模型也可进一步分解为纵向动力学模型和横向动力学模型。具体可参考下面这个链接:车辆建模
控制算法
PID算法
经典控制算法,一般用于纵向控制。由比例§,积分(I),微分(D)单元组成。
u(t)=Kpe(t)+Ki∫0te(τ)dτ+Kdde(t)dtu(t)=K_{p} e(t)+K_{i} \int_{0}^{t} e(\tau) d \tau+K_{d} \frac{d e(t)}{d t}u(t)=Kpe(t)+Ki∫0te(τ)dτ+Kddtde(t)
LQR(MPC)
最优控制经典算法,基于车辆横向动力学算法,用于横向控制。
Apollo控制模块
Apollo纵向控制
坡度补偿:在有坡度时对刹车和油门进行补充。
标定工具:modules/tools/vehicles_calibration
Control模块的目录结构如下:
├── BUILD // bazel编译文件
├── common // PID和控制器的具体实现 — 算法具体实现
├── conf // 配置文件 — 配置文件
├── control_component.cc // 模块入口
├── control_component.h
├── control_component_test.cc
├── controller // 控制器 — 具体的控制器实现
├── dag // dag依赖
├── integration_tests // 测试
├── launch // launch加载
├── proto // protobuf文件,主要是各个控制器的配置数据结构
├── testdata // 测试数据
└── tools // 工具类
作业
1 遇到长下坡,PID调节是否会和人一样“不能长时间踩踏板”?
答:会,因为PID时基于误差进行调节,若想解决该问题,可以把误差阈值调高,同时取消PID的积分环节,这样就可以防止PID一直给出刹车指令。
2 高速和低速的PID是否应该一致?为什么?
答:不应该一致,因为高速情况下车辆的动力学特性会发生改变,相当于被控对象发生了变化,所以也应该调整相应的参数。
Apollo星火计划学习笔记|控制模块相关推荐
- Apollo星火计划学习笔记——Apollo开放空间规划算法原理与实践
文章目录 前言 1. 开放空间规划算法总体介绍 1.1 Task: OPEN_SPACE_ROI_DECIDER 1.2 Task: OPEN_SPACE_TRAJECTORY_PROVIDER 1. ...
- Apollo星火计划学习笔记——Apollo决策规划技术详解及实现(以交通灯场景检测为例)
文章目录 前言 1. Apollo决策技术详解 1.1 Planing模块运行机制 1.2 Apollo决策功能的设计与实现 1.2.1参考路径 Reference Line 1.2.2 交规决策 T ...
- Apollo星火计划学习笔记——第八讲Apollo控制模块解析与实践2
文章目录 前言 1. Apollo控制框架介绍 1.1 控制模块的功能和性能要求 1.2 控制模块的总体框架 1.3 控制模块的代码结构 1.3.1 control -> common 中的主要 ...
- Apollo星火计划学习笔记第四讲2——高精地图定位模块
Apollo学习笔记 零.目录 一.定位的作用 二.定位用到的算法 2.1 GPS 2.2 IMU 2.3 GNSS(GPS+IMU) 2.4 先验地图定位 2.5 实时定位和建图 2.6 小结 三. ...
- Apollo星火计划学习笔记——第七讲自动驾驶规划技术原理1
文章目录 前言 1. 规划技术功能概述 1.1 自动驾驶系统 1.2 规划的作用 1.3 规划主要功能 1.3.1 路由寻径(Routing) 1.3.2 行为决策 1.3.3 轨迹规划 2. Apo ...
- Apollo星火计划学习笔记第四讲1——Apollo高精地图模块
Apollo学习笔记 零.目录 一.高精地图的作用 1.1 相对于传统地图 二.高精地图介绍 2.1 高精地图构成 2.2 高精地图制作 2.2.1 地图采集 2.2.2 地图制作 2.2.3 地图标 ...
- Apollo星火计划学习笔记——第七讲自动驾驶规划技术原理2
文章目录 前言 1. 泊车系统介绍 1.1 泊车任务 1.2 关键 Use Cas--车位类型 1.3 关键 Use Cas--环境条件 1.4 泊车过程描述 1.5 泊车状态操作和用户接口定义 1. ...
- Apollo星火计划学习笔记第二讲——自动驾驶调试及仿真实践
Apollo学习笔记 零.目录 一.自动驾驶的开发流程 1.1 引言 二.Apollo调试工具的使用 2.1 实验内容 2.2 实验流程 三.Apollo仿真工具的使用 3.1 实验内容 3.2 实验 ...
- Apollo星火计划学习笔记——第五讲(Apollo自动驾驶定位技术)
文章目录 前言 1. 定位的作用 1.1 定位和地图: 一对孪生兄弟 1.2 参考系 1.3 定位的作用 2. 定位用到的算法 2.1 GPS 2.1.1 GPS 原理 2.2 RTK(GPS的扩展) ...
最新文章
- 骑士人才linux伪静态,骑士人才CMS伪静态规则
- 图文分析 OSPF 的特点
- arrays中copyof_在内存只有10M的空间中申请一块5M的数组空间,会导致OOM吗?
- MacOS 下如何创建文本文件
- python google drive api_Python管理Google Drive文件
- Go入门之——GOROOT、GOPATH、GOBIN 、Project目录
- tmux鼠标操作配置
- 最低服务器协议,的WebSocket服务器最低要求
- 如何开启outlook邮箱的pop3和smtp_怎么在电子邮件客户端上登录腾讯邮箱(QQ邮箱 )?
- 班尼路信息化系统基础选型的简单分析
- 如何成为区块链开发人员
- 计算机开启宏功能吗,如何在excel2016正式版中启用/设置宏功能?
- 《湖畔》—— 读后总结
- 叶俊——“新零售·新未来”米友圈第九届全国精英总裁班授课圆满落幕
- [HNOI2007]紧急疏散evacuate
- godaddy生成https 域名证书
- 4底2分化查找程序的作业树
- MPMoviePlayerController 电影播放器—备用
- [敏捷开发]研发管理 开发过程管理
- CososCreator (Android)-AppLovin MAX 广告聚合平台接入+Firebase统计
热门文章
- 华为往事(九)--邳州开局
- 服务器、存储和网络虚拟化的实现与应用
- 个人网站引入B站视频播放,个人博客播放B站视频。【1080P】
- 【转】移动端地图技术分享
- CorelDRAW VBA - 读取XML文件,根据内容批量创建图形
- 2018秦皇岛ccpc赛后总结
- java计算机毕业设计BS模式快递运输平台2021源码+mysql数据库+系统+lw文档+部署
- html加载完成 产生动作,页面加载功能设计总结
- [ Laravel 5.5 文档 ] 快速入门 —— 使用 Laragon 在 Windows 中搭建 Laravel 开发环境
- Win11电脑的色盲模式如何开启?