自动驾驶概述

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

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

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等


不积硅步,无以至千里。

相关推荐
世伟爱吗喽1 小时前
NUXT3学习日记四(路由中间件、导航守卫)
学习
飞凌嵌入式2 小时前
飞凌嵌入式旗下教育品牌ElfBoard与西安科技大学共建「科教融合基地」
嵌入式硬件·学习·嵌入式·飞凌嵌入式
江_小_白5 小时前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
Red Red8 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
Natural_yz9 小时前
大数据学习17之Spark-Core
大数据·学习·spark
qq_1728055910 小时前
RUST学习教程-安装教程
开发语言·学习·rust·安装
一只小小汤圆10 小时前
opencascade源码学习之BRepOffsetAPI包 -BRepOffsetAPI_DraftAngle
c++·学习·opencascade
虾球xz10 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
LateBloomer77710 小时前
FreeRTOS——信号量
笔记·stm32·学习·freertos
legend_jz10 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法