自动驾驶概述

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

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

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等


不积硅步,无以至千里。

相关推荐
码荼7 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
武昌库里写JAVA8 小时前
Oracle如何使用序列 Oracle序列使用教程
java·开发语言·spring boot·学习·课程设计
祁思妙想9 小时前
八股学习(三)---MySQL
数据库·学习·mysql
amazinging10 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十一天
python·学习·appium
Jyywww12110 小时前
微信小程序学习笔记
笔记·学习·微信小程序
amazinging10 小时前
北京-4年功能测试2年空窗-报培训班学测开-第三十九天
python·学习·appium
每次的天空10 小时前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频
重庆小透明10 小时前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
Mr.Winter`12 小时前
障碍感知 | 基于3D激光雷达的三维膨胀栅格地图构建(附ROS C++仿真)
人工智能·机器人·自动驾驶·ros·具身智能·环境感知
许白掰12 小时前
【stm32】HAL库开发——CubeMX配置RTC,单片机工作模式和看门狗
stm32·单片机·嵌入式硬件·学习·实时音视频