年轻人的第一辆“无人驾驶车”?上篇

现在无人车大火,作为一个全新的,或者相对较新的行业,市面上可以找到相关解读的专业书籍不多。不过按照组成原理分来讲解的书不少,不过是单讲传感器,要不是规划算法。诸如此类等等,那有没有一本从宏观上讲的书呢?还别说,真有。

就是这本书

http://www.xknote.com/books/wg9z.html#download

因为小空把脚本之家爬了个遍,我也把小空爬了个遍。在看下载的书籍的时候,发现了这本书,就花了几个小时看完了,还发了朋友圈:

这里还抱怨技术细节不多

那这篇文章,除了是书评以外更像是一篇笔记,更是有我一些独特的思考。

下载链接: https://pan.baidu.com/s/1ekocvtaXakwYwbMeM1FjGQ
密码: qs68

这里将书籍的下载地址附上,感兴趣的小伙伴可以阅读。有能力请支持正版。

在开始书写之前,我们不如看一下BOSS直聘上面蔚来的招聘,你看第一个这个职业,我问你,你见过吗?我觉得你没有见过,至少我没有见过,但是在这个时代的催化下,出现了。专门负责编译的一个工种。这个工资就很好看了,就看你有没有能力去挣到了。后者是相对于传统互联网行业中的构架师。挣钱更多,不过责任更多。侧面也反映出,搞技术的玩不过搞管理的。

感兴趣的可以亲自去看

我读书有个习惯就是先看目录,那这里把这个习惯流传下来:

全书12章,前面几章讲述了无人车的关键技术,首先从硬件系统切入,而后对软件系统进行了介绍,最后落实到硬件上面。在最后讲述了无人车外的技术,比如高精度地图的绘制。以及大量数据的处理结构。

第一章的亮点是给出了自动驾驶的分级,我们平时总是可以听见无人驾驶车的分级,那具体怎么分的。这章将会为你解惑

第二章将光学雷达推上台面,甚至它出现的这么早


那么从侧面就可以看出来它的地位,至于马斯克骂LiDAR多不好,快省省的,能不好?成本敏感罢了,资本家的做法罢了。

我直接去咸鱼看看卖多少钱。。。以我的财力就买个200的吧

买这个,买这个!!!

国内的价格屠夫,招聘了

感兴趣的可以看看ヾ(≧O≦)〃嗷~

前景可太好了,早早入职,A股上市,这不分分钟财富自由

具体的一些职位可以自己去看

第三章惯性制导加GPS定位,也是自动车的核心技术

首先第四章拿出了CV这个拳头,接着又说了一种CNN的算法

二者在内容上是逐层递进的

道路千千万万,我们得教会机器思考

所以引入增强学习

一个车说到底还是机械产品,所以车辆动力学模型必不可少

这么多的传感器,硬件,决策层,如何有机的来进行整合呢?

ROS系统闪亮登场!

那ROS系统和这些海量的数据如何处理,当然是硬件!

有数据的地方就有黑客,那对于安全系统该如何考虑呢?

这篇和你聊这个

众所周知,模拟技术是借助现代计算机强大的算力结合数值解算,物理仿真通过数学模型的手段来预测这个世界。在速度,成本,灵活性等等方面都是有着巨大的优势,所以在AutoCar的开发过程中必不可少。

如果上面都做的很好了,那我们的车还缺一点强大的催化剂

那它就是高精度的多维地图啦~

最后视角拉高,我们去思考未来会怎样?

一个简单的分级图

具体看这里

我们现在的车都是3.5,或者接近于4的水平。

逐层递进的车辆水平

这个是客户端,包括SYS和硬件平台

云端包括数据存储,模拟,地图绘制,模型训练等

无人驾驶系统框图

算法段从传感器获得数据,做提取,并且解算书周围的环境情况,根据环境做出决策。客户端使用多种算法融合一个结果,用来满足,实时性和可靠性的要求。

首先是完成对车辆的自我定位,让车可以回答,自己在哪里的问题

更新频率+准确性,二者必不可少。

互相弥补

使用LIDAR,让车拥有立体的视觉,弥补CV的弊端

作为

结合以上的传感器系统,我们要融合出一个高精度的车辆自回答模型

CNN,在物体识别中被广泛应用

作用是持续的追踪行驶的车或路上的行人

行为预测,根据汇总后的信息预测下一秒车辆的运行情况

ROS


ROS是如今被广泛使用的,专为机器人应用裁剪的,强大的分布式计算框架。具体的来说,节点是ROS的基本单位。这个粒度不一样,范围也广。可以是一个完整的机器任务也可以是一个传感器。Node之间使用消息来互相沟通。通信是端对端的。但是缺点也是很多的:

  1. 可靠性:ROS都是使用的单节点设计,没有监控机制来恢复失效的节点

  2. 性能:Node之间使用广播的机制来通信时,将多次信息复制导致性能下降

  3. 安全:互相通信之间没有加密

针对第一个,使用ZooKeeper




相对于多了一个主节点,损坏时,启动热转换

通信性能使用,共享内存的方法,而不是完整的TCP.IP协议栈

Spark+ROS仿真平台


开发出的新算法,要先使用仿真进行全面测试,通过后部署到实体车,真车的测试成本太高了而且还时间很长。

所以我们通过ROS节点回放真实采集的道路交通情况,用到模拟真实的架势场景,完成对算法的测试。

https://spark.apache.org/

不停的出现这个spark是什么呢?是一种计算引擎

简单的对比

https://spark.apache.org/docs/latest/

doc地址


Apache Spark 是用于大规模数据处理的统一分析引擎。它提供了 Java、Scala、Python 和 R 中的高级 API,以及支持通用执行图的优化引擎。它还支持一组丰富的更高级别的工具,包括星火SQL用于SQL和结构化数据的处理,MLlib机器学习,GraphX用于图形处理,以及结构化流的增量计算和流处理。

https://spark.apache.org/docs/latest/api/python/getting_started/install.html

作为一个Python狗,当然就看Python的API了

文档写的很好啦,自己去看吧

https://gitee.com/apache/spark?utm_source=alading&utm_campaign=repo

可能GitHub上不去,这里准备了码云的地址

这么牛逼的东西就20 个star。emmmm

从这个开始就是第二章了,首先讲激光传感器到底在驾驶体系中的层级

主要是与各种传感器融合,推断出当前的最大概率的位置,如果是光学雷达,更是可以和高精度地图做对比推算车辆的位置


这其中使用的是ICP算法:

点云数据能够以较小的存储成本获得物体准确的拓扑结构和几何结构,因而获得越来越广泛的关注。在实际的采集过程中,因为被测物体尺寸过大,物体表面被遮挡或者三维扫描设备的扫描角度等因素,单次的扫描往往得不到物体完整的几何信息。因此,为了获得被测物体的完整几何信息,就需要将不同视角即不同参考坐标下的两组或者多组点云统一到统一坐标系下,进行点云的配准。

刚性变换矩阵

这是关键的数学知识

https://blog.csdn.net/kksc1099054857/article/details/80280964

大致的算法流程是这样的


对于车的全局规划是使用。

A-star和DWA算法:

局部路径规划(DWA)简介
    机器人在获得目的地信息后,首先经过全局路径规划规划出一条大致可行的路线,然后调用局部路径规划器根据这条路线及costmap的信息规划出机器人在局部时做出具体行动策略,ROS中主要是使用了DWA算法。在ROS中每当move_base处于规划状态就调用DWA算法计算出一条最佳的速度指令,发送给机器人运动底盘执行。
    DWA算法全称为dynamic window approach,其原理主要是在速度空间(v,w)中采样多组速度,并模拟这些速度在一定时间内的运动轨迹,再通过一个评价函数对这些轨迹打分,最优的速度被选择出来发送给下位机。

https://blog.csdn.net/m0_37931718/article/details/90634641

具体的推导地址可以看博客


本来想一篇文章写完、但是太多了,不显示,分开写了 ~

(0)

相关推荐