总览全书
在本书中,我们将会从零开始讲解无人驾驶的基本技术知识,小伙伴们,你们准备好了嘛?
无人驾驶技术的两种发展趋势
目前,无人驾驶技术有着如下两种发展趋势:
- 利用机器人技术
- 利用深度学习技术
机器人技术是指通过传统的传感器融合数据来感知车辆的周边情况,并根据周边的情况进行判断从而实现自动导航、驾驶。机器人技术是一直以来无人驾驶技术的主要发展方向。
而最近几年来看,随着深度学习技术的不断发展,越来越多的技术在考虑如何将深度学习/机器学习技术应用于无人驾驶中。其中,在无人驾驶的某些领域中,例如红绿灯、车道线识别中,已经应用了越来越多的深度学习技术。深度学习的目的是通过构建一个大的神经网络从而可以通过大量的训练使得汽车可以模仿人类的驾驶行为从而学会如何自动驾驶。
在本书中,我们会在解决不同问题的时候分别用到这两种技术,可以帮助大家更有助于学习无人驾驶技术的全貌。
实战项目预览
在本书中,我们不仅仅会介绍一些无人驾驶的知识和技术,同时会引入一些实战项目来提升大家对所学知识的了解。来看看我们将会接触哪些实战项目吧:
-
车道线检测
1.jpg
在第一个实战项目的任务就是检测车辆驾驶过程中的车道线。车道线检测在无人驾驶中的地位举足轻重。如果一辆无人驾驶汽车无法检测到车道线的话,那么它将很难规划实际的驾驶轨迹。
- 高级车道线检测
在这个项目中,我们将会学习一系列计算机视觉相关的技术,并将其继续用于车道线检测的应用中,从而实现更加稳定、精确的车道线检测和跟踪的功能。
交通标识识别
在这个项目中,我们将会训练一个神经网络模型用于交通标识图片的分类与识别。行为克隆
在这个项目中,我们还是会训练一个神经网络,通过训练让汽车能够模拟人类的行为进行加速、刹车、转向的操作。
卡尔曼滤波器
在卡尔曼滤波器的项目中,我们将会通过卡尔曼滤波器来实现对传感器数据进行融合。传感器融合是指项不同类型传感器采集到的数据进行整合计算,从而得到更加精确的数据。车辆定位
在该项目中,我们需要完成的是车辆定位的任务。对于一个无人驾驶的汽车,准确的知道自己的位置是必不可少的。
- 路径规划
在路径规划的项目中,我们需要实现的是构建一个路径规划器,可以明确的表示在接下来的一系列时间点时,车辆预期到达的位置和在这个过程的行驶路径。
- PID控制
当我们通过路径规划确定了我们期望的行驶路径后,我们需要一种控制算法来使得无人驾驶汽车尽可能的按照我们的预期进行形式,其中PID算法就是一种最常用的控制算法。在该项目中,我们将会实现PID算法对车辆的控制。
- ROS系统实践
作为本书的最后一个实战项目,我们将会通过ROS(Robot Operation System)来将我们之前学习的一系列算法结合在一起并真正用于无人车的控制。
阅读本书需要准备的前期知识
本书作为无人驾驶的入门书籍,并不需要提前对无人驾驶有相关的知识背景。
不过由于本书始终秉承着理论与实践相结合的基本原则,对于相关的知识需要结合代码进行实践,因此需要提前具备一定的代码基础。
本书主要涉及到两种编程语言:Python和C++。
如果对这两门语言还不太了解的可以阅读相关书籍进行学习。
- Python
- C++
完整书籍地址:https://self-driving.missshi.cn/
欢迎大家留言与讨论。