开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):自动驾驶(一)】
课程地址:https://edu.aliyun.com/course/3112108/lesson/19291
自动驾驶(一)
内容介绍
一、 自动驾驶概述
二、 自动驾驶的软硬件系统
三、 自动驾驶的应用
四、本节回顾
一、自动驾驶概述
1、自动驾驶的定义和基本实现原理
自动驾驶的概念很好理解,大家一听就知道什么是自动驾驶,就是车没有驾驶员,普通人类参与的情况下就实现自行实现驾驶,这个就是车辆的能力,比如说扫地机器人在扫地的时候,其实就是在自动驾驶,他知道怎么去行驶。
自动驾驶,是有很多种发展的路径的,比如说单车的,车路协同的,还有联网云控的,这是不同的自动驾驶实现的方式。车路协同指的是什么?车路协同指的是车行驶在路上的时候,是靠车跟路的动态信息进行交互,通过这种方式实现自动驾驶,还有就是联网云控,联网云控的话,要求车一定是联网的,然后通过云端的控制,然后实现这个车的驾驶,知道这个车应该怎么形式是云端来控制的,车的智能形式就是单独的一部车的智能的实现是怎么实现的呢?
是要有传感器,能进行规划决策,要控制系统执行驾驶操作。这种是车上首先要有传感器,有可能是摄像头,有可能是雷达,激光雷达,那车用这种传感器去感知车周边的情况,知种要车周围的情况。可能是视觉的,就是像人的眼睛一样,看到的可能是雷达雷达。其实你也可以理解成是一种视觉,就通过扫描的方式感知到周围的环境。传感器感知到之后,这个车要进行实时的运算,他要知道我所处的环境,我的目标,行驶的目标是什么,然后来进行规划决策。这个路是这样的,可能根据路况陆路的形态,去调整这个驾驶的这个方向,怎么开。让加油要减速,要转弯呀等等。
做好这个决策之后,还要有能力去控制这个车,执行你的决策,只要启动开始加油,减速,刹车,转向等等是这样实现的,这些自动驾驶的实现了,它不同的方式有自己的优缺点,发展的进程也不一样。
2、自动驾驶的等级
自动驾驶的技术在这几年取得了非常迅猛的发展,也是这几年研究的一个热点,这个自动驾驶这个技术发展到什么程度是有一个级别的划分的,L1,L2,L3,L4 4个级别,那其实还有一个L0级别,就是没有自动驾驶的状态,所以我们就不讨论了。
先看一下L1级别,这个是说可如说最低的,这个L1级别是表示车辆可以自动的完成横向或者纵向速度的操控。横向就是方向向右,纵向就是加油,减速等等。
完成这个操作就比较简单,那除了这个之外,其余的操作都要有人类来完成,l2级别是对横向和纵向进行多项操作,同时进行控制。需要注意的是,这个是之后驾驶员仍然要保持注意力,随时的接管车辆,即使这个自动驾驶的功能在运行的时候,驾驶员仍然要保持注意力,双手在方向盘上,随时接管车辆。L2到L3的级别是一个大的飞跃,到目前为止,国内还没有支持L3的量产的车辆,这里一个问题的关键是,L3的这个驾驶的主体切换成了系统来驾驶,驾驶员只是一个支援决策,在L3功能开启的时候,系统将完全负责操控和环境监测,这个时候,驾驶员可以双手脱离一方向盘,然后移开注意力去做别的事情,但是也要随时的接管车辆,那系统在识别到无法处理的情况,他会报警,然后要求驾驶员接管,L3有一个很大的争议点,就是人类短时间要去实现这个接管。但是,如果一旦出现了这种需要人类接管的情况,人类可能也做不出适合的处理了。这个时候如果出了事故是人负责还是应该有系统负责,这是一个很多争议的地方,最高级别,是l4的级别,关键是什么,系统不再需要人类资源了,在限定的这个道路的环境下,系统是完全可以负责操控,然后包括系统担起这个环境监测的责任,那会有一些厂商去直接开发ios,而不是主体的开发上,直接就做到自动驾驶,做到ioc级别。
二、自动驾驶的软硬件系统
1、自动驾驶的软件系统
我们在看自动驾驶的软件系统,自动驾驶的软件系统们在这个图里面把它表示出来,软件系统里面的各个部分,各式截止,相互协同工作来发挥做,然后我们先看一下这个地图引擎,这个自动驾驶显驶。肯定是需要有地图,地图引擎里面提供道路,周边建筑等等地图的信息,高精度的地图,比如说地图里面可以透露出前方86米要右拐弯,这个拐弯的曲例,下坡的坡度是多少?高清定位是什么?定位也是一个重要的模块,那在l3以上的这动驾驶场景需要用到高清定位,这是车辆感知的一个重要的元素,比如说定位的时候,能定位到这个车辆。在行进的方向向右边第二个车道,这个车道要精精确,非常精准,那你在这个车道上可能是只能执行不能右转的。这个高清定位对自动驾驶非常的重要。然后是感知感知模块,是结束并处理传感器的信息的,从感知模块来识别自己的车和周边的情况,比如说感知到车车辆的速度,然后是预测部分,预测模块主要是用于预测感知到的这个障碍物的运动轨迹,比如说你在行驶的过程中,这个左侧车道有一辆车,你根据车辆的状态,还有它的这个轨迹,可以预测这个车后续的运动轨迹可能是怎样的。然后你再去判断是是否有这个封撞的风险。
然后是规划模块,规划模块做什么呢?它是根据感知到的信息来去规划,应该怎么去做操作,你在哪里?那么到目的地目的地在哪里,这个路线应该怎么做?那可能还需要规划出来,在未来的时间里,你可能处在哪一个位置,哪个时刻?你试车的状态是怎么样?比如说你可以规划这个车,接下来,然后要超车,那你向左偏移,然后加速啊。加速超车完之后再回到这个原来的车道上。然后是控制部分,控制部分就像之间的一次一样,它是控制,通过指定来控制车辆进行操作,比如说加速,减速,制动等等一些操作。然后是要有很好的交互界面,人可以在这个东控的屏幕上面看到人机交互模块,自动驾驶通过这个交互界面向乘客去实时的展示系统识别到的这个支车的位置有周边的一些务的信息,这样的话,可以提升乘客的安全感,这个交互界面,他在人车工架的这个过渡阶段比较有价值。以上是自动驾驶的软件系统的主要过程。
2、自动驾驶的硬件系统
自动驾驶的硬件系统在每一层里面都有部署。首先在感知层里,感知层里面部署的硬件主要是为自动驾驶去获取外部行驶道路的数据,
然后帮助车辆去定位自动驾驶,里面最主要的硬件应该是摄像头了,摄像头就好像我们人开车一样,摄像头就是自动驾驶的眼睛,他通过视觉的方式去感知这个车辆周边的事件,在做自动驾驶的时候,主要是因用摄像头,它的理念是这个人如果是可以做好驾驶这个工作的话,人可以,机器也就可以通过视觉去做好自动驾驶。当然,大部分的公司还是会加上雷达,加上其他的转感器来进行车辆的定位和渡边环境的感知。比如说激光雷达,毫米波雷达,超声玻雷达。还有这个dns。其中激光雷达,毫密波雷达,超声玻雷他们的工作原理不一样,技术的特性也不一样,所以说适用的场景也不一样。dnssu其中的jnss指的是全球卫星导航系统。这个jn就是navigation,就是全球导航,ss是setell,就是全球导航卫星系统,这个iu指的是惯性测量单元,来应对各种可能的突发的情况,来保证有较好的使用的效果。当然,另外一个方面就是你使用的传感器越多的话,你的成本也会更高,有的传感器的这个单价还是很贵的,另外,这个多少传感器融合也有一些问题,就是不同的传感器感知到的这个情况可能会不一样,这个时候可能会让这个车辆处理起来更麻烦,可能会有一些误判,也是其中的一个难题。
感知层收集大量的这个车的数据和环境的数据,然后决策层需要用自动驾驶的芯片很流畅的去处理这些数据,才能及时的做出重要的,正确的决策。所以说,自动驾驶的计算芯片是最为重要的硬件,所以自动驾驶的芯片要处理这个数据要非常的快,而且要非常的正确,才能保证这个车辆驾驶,行驶的安全,所以决策层的这个硬件,这个芯片是有一定的算利的要求的,对这里面控制层是最简单的,决策层做出了决策,做出了判断之后,要通过控制层来控制车辆的驾驶,控制层里面,最核心的是把对车辆的控制转成监控。
监控系统是什么?
是取代这个机械形式的连接。原来转向和加油和刹车,这个时候是要这个驾驶员,要踩油门踩刹车,要握着方向盘去转向,不是代替了驾驶员这样去操作,而是用控制电信号的方式去控制车辆,也很好理解,这个先控里面的核心就是先控的油门,先控的转向和先控的制动。
以上就是自动驾驶的硬件系统,其实这就是感知层,摄像头和各种雷达,然后决策层要有一个算力强大的芯片来迅速的做出正确的决策,再通过控制层把这个对车的控制转成性控,然后执行。