智能驾驶之技术概念综述

一、无人驾驶背景浅谈

   简单说说自己角度做个浅谈,还记得20年刚毕业时候,无人驾驶刚刚起步,当时的百度、滴滴等几个top公司在大力发展无人驾驶技术,招了很多的技术开发工程师,当时的招聘信息还是历历在目的,不过记得当时主要招的是C++开发的,但其实百度已经几年之前做了完整的技术布局,无人技术框架其实也就是机器人技术框架,这方面提出的鼻祖还是ros,后续appollo也是从这个上面做了借鉴,不过appollo对ros的框架做了修改:
 (1)基于RTPS服务协议完成了对ros的去中心化;
 (2)实现内存共享;
 (3)使用了protopbuf(将结构化数据进行序列化)代替ROSmessage,优点也是显而易见的,对于智能驾驶这种融合多种传感器上到卫星地图下到感知图像点云,再到车辆IMU信息数据等,这种复杂的数据信息通讯,相比这一点拓展数据结构是十分必要的;这样做的目的是为了传输信息更快并且更加安全。
  而稍早一点发布的ROS2同样也对ROS的缺陷做了修改,首当其中的就是去中心化,使用的DDS通信协议,引入数据分发服务,可以零拷贝的方式传递消息,每个节点都是独立的,使用托管启动,去除了ros master中心节点管理器等操作,使得ROS2信息通信更快捷并且更加安全,也更服务智能驾驶或者机器人领域的信心传输机制;后续的智能驾驶功能框架autoware也是基于ROS2做了开发,至此形成了俩套智能驾驶软件框架,一个是appollo,另一个是基于ROS的autoware,前者平台开源,后者软件开源。

二、无人驾驶-技术

  以下是根据个人理解对无人驾驶所用技术总结图:
在这里插入图片描述
  其技术路线大致分为三个大部分:
  1、感知部分:可以分为传感器获取数据与数据处理;
  2、规划部分:根据感知部分得到的信息对自身行为进行规划;
  3、控制部分:根据规划指令控制车体做什么样的运动(直行、加速、转弯、避让、刹车等)。
  不难看出无人驾驶技术集合了(传感器获取数据的准确与否)硬件技术、(感知算法性能)软件技术、半导体芯片技术(对感知数据处理例如检测融合等计算性能,且无人驾驶要求低延时,高精确度)、(卫星定位通信、车路通信)物联网技术、车辆工程技术、运动控制技术等,无人驾驶技术是技术的综合,所以发展好无人驾驶一定程度上体现了一个国家的技术水平,也是机器人应用的一大场景,无人驾驶本身就是机器人。

1、感知部分
1.1 传感器获取数据

  相机:首先从复杂的物理道路环境转换为对应的道路电信号数据,就需要良好的传感器提供这样的能力,因为单目相机获取的照片信息是2d的,所以深度信息的获取成为了关键,双目相机虽然一定程度能获取深度信息且价格,但是距离有限,十几米已经是距离极限,根本无法满足高速的车辆驾驶需求,所以一般选择探测深度距离远的激光雷达作为深度信息探测,其距离在百米左右,基本可以满足自动驾驶的距离需求,所以一般对于低速行驶机器人可以使用双目做距离探测,但是对于告诉探测距离还是需要使用激光雷达。
在这里插入图片描述
对比激光雷达的规格参数:
在这里插入图片描述
二者测量距离有着明显差别,同时激光雷达是不易受环境干扰,而相机则很容易因为光线问题失灵;
  同时:
  1、相机输出的是图像格式的数据序列常使用opencv库处理;
  2、激光雷达输出的bin 或者pcd点云格式数据文件,常使用pcl库处理。

  毫米波雷达
  毫米波独特的功能让他成为无人驾驶中重要的感知设备,其纵向距离感知范围高于激光雷达,大约在200米左右,并能实时感知出运动目标速度,以及静态目标,这个是激光雷达和相机无法做到的,并且环境适应能力强,不良天气环境下依然能正常工作,但其感知信息没有高度信息,对不同材质物体感知效果不同,数据稳定性差,
回馈数据比较杂乱,需要很好的算法处理,并且毫米波雷达的原始数据是一个极坐标系下的数据,包含了障碍物的距离,速度、序号等信息。
  GNSS
  这里还是需要介绍一下GNSS,全球定位系统,包括GPS、北斗在内的全球定位系统,定位原理即通过GNSS将空间的人造卫星作为参照点,确定一个物体的空间位置:根据 几何学理论可以证明,通过精确测量地球上某个点到三颗人造卫星之间的距离,能对此点的 位置进行三角形的测定,这就是 GNSS最基本的设计思路及定位功能。
  目前定位系统功能包括:定位、导航、授时
其中(授时是很关键的,在很多数据融合中作为共同的绝对时间做数据对齐)。
  数据格式:主要是RINEX格式,用于存放卫星观测值数据文件,包含了位置、时间、速度及卫星自身状态信息等。

  IMU
   惯性测量单元,一般是6轴传感器,包含了3轴陀螺仪和3轴加速度计,三轴表示XYZ平面下的3个坐标系,3轴陀螺仪测量的是每个轴上的角速度;3轴加速度计测量的是每个轴所受的重力加速度,IMU中有很多的技术点,有兴趣的朋友可以细查,这里不做过多的赘述,这个在很多移动硬件设备中是不可缺少的传感器,大到导弹,小到手机。

  标定
  无人驾驶技术是一个基于多种传感器感知的综合技术,各种传感器拿到的数据信信息都需要进行处理或者数据融合,因此不得不将各个传感器的数据转换到统一的标准坐标系下,一般该标准坐标系被称为车载坐标系,而每个传感器拿到的数据都是基于自己坐标系获取的世界数据,因此需要提前标定,来实现对数据坐标系的转换,之后才可以进行适当的融合和数据处理,简单来说标定就是一种传感器自身坐标系到标准坐标系的一种关系,有时候是一个系数,有的时候可能是一个矩阵,也有可能是一个非线性函数等等。目标对车载坐标系的定义有三个,分别是:
   1、SAE 汽车工程协会定义;
   2、基于惯性测量单元的 IMU 定义;
   3、ISO 国际标准定义。

1.2 感知数据处理

  对于传感器拿到数据以后,就需要感知算法等对数据进行处理,例如cv视觉和点云上的目标检测,以及跟踪,行驶位置定位,包括对数据进行融合处理,经常需要融合的传感器有摄像机、激光雷达和毫米波雷达,根据融合处理的不同阶段可以分为前融合和后融合,融合算法相对是比较新颖的处理方法,其在对于无人驾驶技术中并没有统一的处理标准,相对而言处理的方法比较多,可以有数据层融合(data-level fusion)、特征层融合(feature-level fusion)、决策层融合(Decision-level Fusion)。根据不同的融合方法,所使用的目标检测方法也是不大相同的:
  1、使用的数据层融合,可以直接对融合后的数据进行检测和识别;
  2、特征层的融合,可以利用多模态算法模型对潜在目标数据进行检测;
  3、决策层融合,则需要对每个传感器的数据进行单独的检测,最后对检测的得到的结果进行融合。
  首先需要了解无人驾驶感知任务主要是:目标检测、语义分割、深度信息补全、和轨迹预测等。根据处理不同的传感器数据,所使用的工具也不尽相同,例如点云和视觉图像这俩种数据,视觉图像的处理api经常使用opencv,而点云的处理api主要使用pcl,对于车载的视觉图像处理,因为对延时要求高,比较常用的算法模型有yolov5,不过每个公司基本都有自己的视觉图像处理模型,而做点云的检测模型有centerpoint,而因为点云数据量大,往往需要之前对点云数据做一些下采样的工作,例如vexel体素等方法,该方法有多种变种的处理方式,不管怎样,都是为了更好在下采样的同时不影响原油数据信息的完整性;
  另一方面就是多模态的概念,因为多种传感器数据同时输入到同一个模型,a:这个过程也需要对多个传感器的数据做对齐工作,简单来说,就是保证在同一个标准瞬时时间下的数据状态,这样的数据输入才是准确的,任何一方的延迟都会对算法模型的检测准确性造成影响;b: 而保证数据对齐的方法,其实有很多种,利用硬件自身的频率时间定时,也利用视频动作补偿方法对某一个瞬时状态做估计等;c:多模态数据进行输入,使用深度学习模型进行检测识别;
  对于检测到的结果进行跟踪,一般跟踪算法有卡尔曼滤波以及扩展卡尔曼滤波,扩展卡尔曼滤波提升了对非线性变换目标的跟踪,还有deepsort等处理方法,deepsort利用了目标的深度特征进行关联,相对跟踪效果更佳,同时也有个分配问题,分配问题是由于出现多个跟踪结果如何分配各个目标的id的方法,基本都是使用匈牙利算法进行分配了,利用不同的一定的代价函数来实现对目标的分配标识。

2、 路径规划

   该部分主要是介于感知于控制中间环节,利用感知到的时间环境,以及融合了交通定位等信息知识,来对车辆自身提供一个安全无碰撞且高效的路径,尔后对所规划的路径进行车辆控制。
   路径规划可以分为全局路径规划和局部路径规划,全局主要指的在世界地图下的路径规划,局部主要指的在车端不断发生的实时情况,对全局路径进行的细节调整;
   1、其中全局路径规划算法有:Dijikstra算法,A*算法,RRT算法等经典算法,也包括蚁群算法、遗传算法等智能算法;
   2、局部路径规划算法有:动态窗口算法(DWA),人工势场算法,贝塞尔曲线算法等。

3、 车辆控制

   其目的是根据规划的路径利用控制系统控制着车辆操作(例如加速,制动和转向),这部分技术的难度较小,汽车控制技术如今已比较成熟,而无人驾驶汽车在未来基本为纯电动汽车,在控制难度上将小于传统的内燃机汽车。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值