系列文章目录

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)=Kp​e(t)+Ki​∫0t​e(τ)dτ+Kd​dtde(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星火计划学习笔记|控制模块相关推荐

  1. Apollo星火计划学习笔记——Apollo开放空间规划算法原理与实践

    文章目录 前言 1. 开放空间规划算法总体介绍 1.1 Task: OPEN_SPACE_ROI_DECIDER 1.2 Task: OPEN_SPACE_TRAJECTORY_PROVIDER 1. ...

  2. Apollo星火计划学习笔记——Apollo决策规划技术详解及实现(以交通灯场景检测为例)

    文章目录 前言 1. Apollo决策技术详解 1.1 Planing模块运行机制 1.2 Apollo决策功能的设计与实现 1.2.1参考路径 Reference Line 1.2.2 交规决策 T ...

  3. Apollo星火计划学习笔记——第八讲Apollo控制模块解析与实践2

    文章目录 前言 1. Apollo控制框架介绍 1.1 控制模块的功能和性能要求 1.2 控制模块的总体框架 1.3 控制模块的代码结构 1.3.1 control -> common 中的主要 ...

  4. Apollo星火计划学习笔记第四讲2——高精地图定位模块

    Apollo学习笔记 零.目录 一.定位的作用 二.定位用到的算法 2.1 GPS 2.2 IMU 2.3 GNSS(GPS+IMU) 2.4 先验地图定位 2.5 实时定位和建图 2.6 小结 三. ...

  5. Apollo星火计划学习笔记——第七讲自动驾驶规划技术原理1

    文章目录 前言 1. 规划技术功能概述 1.1 自动驾驶系统 1.2 规划的作用 1.3 规划主要功能 1.3.1 路由寻径(Routing) 1.3.2 行为决策 1.3.3 轨迹规划 2. Apo ...

  6. Apollo星火计划学习笔记第四讲1——Apollo高精地图模块

    Apollo学习笔记 零.目录 一.高精地图的作用 1.1 相对于传统地图 二.高精地图介绍 2.1 高精地图构成 2.2 高精地图制作 2.2.1 地图采集 2.2.2 地图制作 2.2.3 地图标 ...

  7. Apollo星火计划学习笔记——第七讲自动驾驶规划技术原理2

    文章目录 前言 1. 泊车系统介绍 1.1 泊车任务 1.2 关键 Use Cas--车位类型 1.3 关键 Use Cas--环境条件 1.4 泊车过程描述 1.5 泊车状态操作和用户接口定义 1. ...

  8. Apollo星火计划学习笔记第二讲——自动驾驶调试及仿真实践

    Apollo学习笔记 零.目录 一.自动驾驶的开发流程 1.1 引言 二.Apollo调试工具的使用 2.1 实验内容 2.2 实验流程 三.Apollo仿真工具的使用 3.1 实验内容 3.2 实验 ...

  9. Apollo星火计划学习笔记——第五讲(Apollo自动驾驶定位技术)

    文章目录 前言 1. 定位的作用 1.1 定位和地图: 一对孪生兄弟 1.2 参考系 1.3 定位的作用 2. 定位用到的算法 2.1 GPS 2.1.1 GPS 原理 2.2 RTK(GPS的扩展) ...

最新文章

  1. 骑士人才linux伪静态,骑士人才CMS伪静态规则
  2. 图文分析 OSPF 的特点
  3. arrays中copyof_在内存只有10M的空间中申请一块5M的数组空间,会导致OOM吗?
  4. MacOS 下如何创建文本文件
  5. python google drive api_Python管理Google Drive文件
  6. Go入门之——GOROOT、GOPATH、GOBIN 、Project目录
  7. tmux鼠标操作配置
  8. 最低服务器协议,的WebSocket服务器最低要求
  9. 如何开启outlook邮箱的pop3和smtp_怎么在电子邮件客户端上登录腾讯邮箱(QQ邮箱 )?
  10. 班尼路信息化系统基础选型的简单分析
  11. 如何成为区块链开发人员
  12. 计算机开启宏功能吗,如何在excel2016正式版中启用/设置宏功能?
  13. 《湖畔》—— 读后总结
  14. 叶俊——“新零售·新未来”米友圈第九届全国精英总裁班授课圆满落幕
  15. [HNOI2007]紧急疏散evacuate
  16. godaddy生成https 域名证书
  17. 4底2分化查找程序的作业树
  18. MPMoviePlayerController 电影播放器—备用
  19. [敏捷开发]研发管理 开发过程管理
  20. CososCreator (Android)-AppLovin MAX 广告聚合平台接入+Firebase统计

热门文章

  1. 华为往事(九)--邳州开局
  2. 服务器、存储和网络虚拟化的实现与应用
  3. 个人网站引入B站视频播放,个人博客播放B站视频。【1080P】
  4. 【转】移动端地图技术分享
  5. CorelDRAW VBA - 读取XML文件,根据内容批量创建图形
  6. 2018秦皇岛ccpc赛后总结
  7. java计算机毕业设计BS模式快递运输平台2021源码+mysql数据库+系统+lw文档+部署
  8. html加载完成 产生动作,页面加载功能设计总结
  9. [ Laravel 5.5 文档 ] 快速入门 —— 使用 Laragon 在 Windows 中搭建 Laravel 开发环境
  10. Win11电脑的色盲模式如何开启?