无人车能出现很大程度上依赖传感器的进步。毕竟“大脑”再智能,没有了 “眼睛和耳朵”接收信息也是没有用的。美国研究无人驾驶的时间比较早,在 20 年前,美国就进行了一次尝试,他们通过在地下打入磁钉来作为路径,小车通过 寻找磁钉达到寻路的目的,通过这种方法小车还能进行超车,并道巡航等高难度 行驶。然而这种方法显然需要太多的磁钉,成本太高,而且路径固定无法改变也 是很大的问题。所以这次实验只能看作一次尝试。到了 2007 年,传感器技术突 飞猛进。激光雷达(图 1。1),用于检测周围障碍物,无人车需要能够感知周围环 境,激光雷达可以返回周围障碍物的距离,误差达到毫米级,激光雷达也是谷歌 无人车的主要设备,缺点就是价格十分昂贵,动辄百万美元。除了激光雷达,还 有毫米波雷达、GPS、里程计、陀螺仪、视觉系统、数传电台等等,这些传感器 组成了无人车的“眼睛和耳朵”。
图 1。1 激光雷达
自主小车之所以能躲避障碍,寻找目标,靠的是高效可靠的识别和寻路功 能,为达成这个功能要使用人工智能算法。早期的人工智能算法基于一套给定 的规则进行响应,这套规则基于人的经验,比如红灯停,绿灯行。这是一种至 上而下的思考方式。而现在的机器学习算法的思想则是至下而上,让机器不断 学习进步。
图 1。2 显示了当前主要的机器学习算法,左半部分是无监督的,即不需要人 为告诉计算机运算的结果由计算机自己总结的算法,右半部分则相反,属于有监 督的机器学习,需要人为给出大量数据和运算结果,计算机再自己总结以应对未 知的数据输入。
图 1。2 机器学习算法
深度学习是目前机器学习非常流行的一种方式,如图 1。3,算法模拟了人的 神经处理信息的过程,对于一组特定的输入,每经过一层数据就更加抽象,上层 的处理结果作为下一层的输入,最终得出算法分析的结果。这种机器学习算法能 适应更多复杂的情况,但是也让学习成果难以预测。相对于传统的机器学习方法, 随着训练量的提高,传统方法很快就会达到“瓶颈”,而深度学习仍可以不断提 高,最近非常火的谷歌 Alpha Go 也是使用了类似的神经网络方法来进行学习的。
常见的无监督学习的算法有 K-means,PCA,GMM 等。他们都是一种聚类 算法。聚类是指一种分类方式。分类都基于相似度,属于同一聚类的数据相对于 非同一聚类的数据之间有更接近的相似度。
图 1。3 深度学习算法
比较有名的有监督的学习算法是 SVM 算法,如图 1。4 所示。通过给出的大 量训练数据,算法可以总结出分布规律,对新输入的数据进行分类。早在 15 年 前,卡耐基梅隆大学的 Dean Pomerleau 教授就通过监督学习的方法让一辆吉普 车能在蜿蜒的林间小道上自主运行。这也是机器学习在无人驾驶上的一次有代表 性的尝试。
图 1。4 SVM 支持向量机
美国 AlphaBeta 公司旗下的谷歌,他们的无人驾驶汽车研究团队最近将与菲 亚特克莱斯勒汽车公司开展合作,开发约 100 辆无人驾驶的小型货车做测试。这 是谷歌无人驾驶汽车首次与汽车制造厂商进行合作。谷歌的无人驾驶研发团队属 于 Google X 项目,其无人驾驶汽车的主要设备是一台昂贵的激光传感器,这个 传感器动辄百万美元。是目前导致谷歌无人车无法量产的主要制约条件。谷歌无 人驾驶汽车项目从 2009 年至今已经进行了有 240 万公里左右的公路测试,目前 基于手机远程自主车辆状态监视APP设计(2):http://www.youerw.com/jisuanji/lunwen_88707.html