自动驾驶概述

参考视频:【全】无人驾驶系列知识入门到提高

本文旨在对视频内容规划控制方面做学习记录,希望帮助有需要的人学习提高。不对处,望指正。

1 自动驾驶等级

L0~L5级,美国工程师协会定义的

L0,简单点理解,就是人来驾驶

L1,巡航定速(adaptive cruise control,ACC),巡航装置可以纵向控制车辆,加速减速;

L2,车道保持辅助(Lane keeping)系统可以纵向控制也可以横向控制汽车,但车是辅助的,人才是主导;

L2.5,可以提供简单路况下的变道能力,如目前的Tesla;

L2和L3之间有一个鸿沟,权责问题(出了事故,谁的责任 );

L3,在L2的基础上提供变道能力,在某一时间段内车是责任主体。如最新款奥迪A8

L4,相当于全无人驾驶,就是大部分时间由车来做主导。如waymo,Baidu;

L5,驾驶能力上,几乎和人类没有关系,l5的车辆没有方向盘以及脚踏板以及其他接管设备。

2 预测、决策、规划、控制

2.1 预测 Prediction

预测需要保证实时性准确性

  1. 基于状态进行预测:Kalman Filter、Particle Filter(这里状态预测可以这么理解,已知当前车子的速度,方向等等信息,通过两种滤波进行简单计算出下一个位置,得到的简单的预测)

  2. 基于车道序列进行预测

  3. 通过机器学习模型化简为分类问题

    --行人预测:无人车需要非常重视安全问题,其中人的安全最为重要,而行人的意图变化却是最难预测的,也是约束最少的。

2.2 决策规划 Planning

规划问题:导航路线规划和精细轨迹表述(全局规划、局部规划)

数学问题转换:将物理世界的地图转化为数学的图表达

--最优路径搜索:由于其他软件模块已经将不确定性进行了最大程度的消除,而最终决策规划模块又是对稳定性要求极高的模块,因此可以通过数学上的最优路径求解出确定解,但是遍历最优解是非常耗时间的

--需要考虑车辆的体感(舒适度)和安全性

评:需要在时效性和有效性做出平衡,因为花很长时间来找最优解,对于行驶中车辆来说,是非常危险的。

体感及时让乘客更舒适,比如经常急刹,容易导致呕吐,肯定没有人愿意坐的。

2.3 控制 Control

--输入信息:目标轨迹(planning_trajectory)、车辆状态(Vehicle State)、输出方向盘(steer)、油门(throttle)

--实现对无人车的控制,我们需要知道踩刹车和减速的关系,踩油门和加速的关系 等等,当无人车拿到一些控制学参数后,通过电脑对无人车进行控制

--控制是对整个驾驶最后的保障,因此,需要在任何情况下对准确性、稳定性和时效性要求都非常高,需要通过对车辆模型精细化描述,并进行严格的数学表达

--传统的控制算法PID可以满足车辆控制的要求,但是要考虑道体感和一些极限情况,控制算法优化也是目前无人车一个持续探讨的问题,如LQR、MPC等


不积硅步,无以至千里。

相关推荐
敲敲了个代码33 分钟前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
Pandora_4172 小时前
cursor学习
学习
崇山峻岭之间2 小时前
Matlab学习笔记02
笔记·学习·matlab
Kiri霧3 小时前
Range循环和切片
前端·后端·学习·golang
hssfscv4 小时前
Javaweb 学习笔记——html+css
前端·笔记·学习
Mr.Jessy4 小时前
JavaScript高级:深浅拷贝、异常处理、防抖及节流
开发语言·前端·javascript·学习
博客胡5 小时前
Python-fastAPI的学习与使用
学习·fastapi·ai编程
HyperAI超神经5 小时前
【Triton 教程】triton_language.load
人工智能·学习·大语言模型·cpu·gpu·编程语言·triton
知识分享小能手5 小时前
Ubuntu入门学习教程,从入门到精通,Linux操作系统概述(1)
linux·学习·ubuntu
yuhaiqun19896 小时前
Typora 技能进阶:从会写 Markdown 到玩转配置 + 插件高效学习笔记
经验分享·笔记·python·学习·学习方法·ai编程·markdown