自动驾驶概述

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

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

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等


不积硅步,无以至千里。

相关推荐
云上艺旅2 小时前
K8S学习之基础二十:k8s的coredns
学习·容器·kubernetes
mercyT3 小时前
Kotlin学习笔记之类与对象
笔记·学习·kotlin
四夕白告木贞3 小时前
stm32week6
stm32·单片机·嵌入式硬件·学习
慕容魏3 小时前
入门到入土,Java学习 day16(算法1)
java·学习·算法
charlie1145141914 小时前
从0开始的操作系统手搓教程27:下一步,实现我们的用户进程
学习·架构·系统架构·操作系统·教程·手搓教程·用户线程
瑶光守护者5 小时前
并行计算编程模型的发展方向与RISC-V的机遇
人工智能·笔记·学习·架构·risc-v
半夏知半秋5 小时前
linux下的网络抓包(tcpdump)介绍
linux·运维·服务器·网络·笔记·学习·tcpdump
Cools06135 小时前
[从零开始学习JAVA] 新版本idea的数据库图形化界面
学习
xiyuping247 小时前
在VMware上创建虚拟机Ubuntu20.04(适合学习版,包含gparted vim git的下载)
git·学习·ubuntu·vim
zzzkk20098 小时前
BambuStudio学习笔记:MTUtils
笔记·学习