0%

这是学习Apollo基础课程的第一课,课程从自动驾驶核心技术模块出发,讲解高精地图、定位、感知、预测、规划、控制等模块知识,帮助零基础开发人员了解无人驾驶的基本原理与整体框架,初步掌握并运用 Apollo 自动驾驶开放平台所使用的自动驾驶算法。

阅读全文 »

一、高精地图与传统地图

当我们开车时,打开导航地图通常会给我们推荐几条路线,甚至会显示道路是否拥堵以及每条路线将花费多长时间、交通管制,例如交通信号灯或限速标志等,我们会根据地图提供的信息来决定是在行驶中直行、左转还是右转以及对周围驾驶环境的评估。
而无人驾驶车缺乏人类驾驶员固有的视觉和逻辑能力。如我们可以利用所看到的东西和GPS来确定自己的位置,还可以轻松准确地识别障碍物、其他车辆、行人、交通信号灯等,但要想让无人车变得和人类一样聪明,可是一项非常艰巨的任务。

阅读全文 »

在开车时,我们用眼睛来判断速度、车道位置、转弯位置。在无人驾驶车中,情况类似,只不过需要使用静态摄像头和其他传感器来感知环境,使用大量计算机视觉技术。

阅读全文 »

学习百度Apollo无人驾驶课程之定位教程。

本周学习定位模块的知识,了解车辆如何以个位数厘米级别的精度进行自定位。
定位是让无人车自己知道自身确切的位置,定位对无人驾驶尤其重要,对于无人车来讲不仅仅要找出自身的大概位置,而是要以10厘米级别,将车感信息与高精地图信息相比对来精确地位置寻找。

阅读全文 »

ArrayMap源码的分析,

ArrayMap实现了Map接口,所以它也是一个数组加链表(或红黑树),结构也是哈希表。它是线程不安全的,它允许key为null,value为null。相比于HashMap,ArrayMap空间效率更高。
ArrayMap内部维护了两个数组,

  • 1,一个int[]数组,用户保存每个item的hashCode值
  • 2,一个Object[]数组,用于保存key–value对。容量上是一个数组的两倍它可以避免在将数据插入Map中时额外的空间消耗(相比于HashMap)。它的扩容只需要进行数组拷贝,不需要重建哈希表(相比于HashMap的扩容)。

和HashMap相比,ArrayMap不仅仅有扩容功能,在删除时,如果集合剩余元素少于一定阈值时,还有收缩功能,这样可以减少空间的浪费。毕竟是Android团队专门为Android新增的api,肯定考虑了移动设备内存很珍贵的因素。

阅读全文 »

LinkedList源码分析(基于Jdk 11.0.2)

LinkedList和ArrayList都是实现了List接口,这两个类也经常拿来作比较。

阅读全文 »

支持pdf文件