Table of Contents


前沿进展

Apollo自动驾驶工程师技能图谱V2.0

自动驾驶实践

综述文章

  • 国内
  • 国外

1. Basics

2. Overview

  • Creating Autonomous Vechicle Systems (刘少山) [Slide] [雷锋网报道]
  • DiDi: AI in Transportation (KDD2018 Tutorial) [Slide]
  • JD X-Lab: Artificial Intelligence in Autonomous Vehicle Systems [Slide]

相关博文

3. Prediction

Paper

4. Planning and Control (PNC)

相关分享

路径规划

企业招聘要求

5. 运行时的计算框架

要解决的问题:不同模块之间如何进行通信?

在自动驾驶领域,ROS存在的挑战:

  • 第一,在ROS中,计算任务都会执行在一个一个线程中,当系统中存在大量计算任务的时候,会衍生出大量的线程,对调度系统而言是一个非常大的负担,会引入很多的线程切换,导致系统的实时性难以保障。
  • 第二,分布式系统的通信性能瓶颈很大。分布式架构通信性能、中心化的Master、消息格式不够灵活等问题导致调度难以满足实际需求。

Apollo3.5之前的版本(1.0-3.0)采用ROS系统,并针对无人车的要求对ROS系统进行了改进,主要包括下面三个方面:

  • 通信性能优化
    • 通过共享内存来减少数据拷贝,以提升通信性能
  • 去中心化网络拓扑
    • 主要解决ROS中只包含单主节点的问题(单主节点发生故障后容易导致系统崩溃)
    • 使用RTPS(Real-Time Publish-Subscribe)服务发现协议实现完全的P2P网络拓扑
  • 数据兼容性扩展
    • 不使用ROS用来描述文件定义模块间的消息接口msg
    • 改用Google的Protocol Buffers格式数据

ROS在自动驾驶的探索和实践 [Blog] [Slide]

Cruise Automation:基于ROS构建无人驾驶汽车的经验总结 (ROSCon2018 Talk) [Blog] [Slide] [Video]

Apollo3.5之后采用百度自家设计的Apollo Cyber RT系统

6. 端到端方法(从感知到控制)

相关博文

相关论文

  • 2015 - Princeton - ICCV - DeepDriving:Learning Affordance for Direct Perception in Autonomous Driving
  • 2017 - Berkeley - CVPR - End-to-end Learning of Driving Models from Large-scale Video Datasets
  • 2018 - Intel - ICRA - End-to-end Driving via Conditional Imitation Learning
  • 2015 - NYU - DAVE_Off-Road Obstacle Avoidance through End-to-End Learning
  • 2016 - Comma.ai - Learning a Driving Simulator
  • 2016 - Nvidia - End to End Learning for Self-Driving Cars
  • 2018 - Intel - Learning End-to-end Autonomous Driving using Guided Auxiliary Supervision

2018 - Waymo - ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst

7. 基于强化学习的方法(在PNC方面)

8. Apollo项目

Apollo3.5整体架构:

硬件架构:

硬件之间的数据流:

软件架构(导航模式):

模块的官方说明:

相关博文:

9. 相关课程

MIT 6.S094: Deep Learning for Self-Driving Car

DALI 2018 Workshop on Autonomous Driving

Apollo自动驾驶入门课程

Apollo自动驾驶进阶课程

模块 课程
自动驾驶行业概述 进阶课程① - 带你纵览无人车
自动驾驶行业概述 进阶课程② - 开源模块讲解(上)
自动驾驶行业概述 进阶课程③ - 开源模块讲解(中)
自动驾驶行业概述 进阶课程④ - 开源模块讲解(下)
Apollo硬件开发平台介绍 进阶课程⑤ - Apollo硬件开发平台介绍
Apollo高精地图详解 进阶课程⑥ - 高精地图与自动驾驶的关系
Apollo高精地图详解 进阶课程⑦ - 高精地图的采集与生产
Apollo高精地图详解 进阶课程⑧ - 高精地图的格式规范
Apollo高精地图详解 进阶课程⑨ - 业界的高精地图产品
Apollo高精地图详解 进阶课程⑩ - Apollo地图采集方案
Apollo高精地图详解 进阶课程⑪ - Apollo地图生产技术
Apollo高精地图详解 进阶课程⑫ - Apollo高精地图
Apollo自定位技术详解 进阶课程⑬ - Apollo无人车自定位技术入门
Apollo自定位技术详解 进阶课程⑭ - Apollo自动定位技术——三维几何变换和坐标系介绍
Apollo自定位技术详解 进阶课程⑮ - Apollo自动定位技术详解—百度无人车定位技术
Apollo感知之旅 进阶课程⑯ - Apollo感知之旅——感知概貌
Apollo感知之旅 进阶课程⑰ - Apollo感知之旅——传感器选择和安装
Apollo感知之旅 进阶课程⑱ - Apollo感知之旅——传感器标定
Apollo感知之旅 进阶课程⑲ - Apollo感知之旅——感知算法
Apollo感知之旅 进阶课程⑳ - Apollo感知之旅——机器学习与感知的未来
Apollo规划技术详解 进阶课程㉑ - Apollo规划技术详解——Basic Motion Planning and Overview
Apollo规划技术详解 进阶课程㉒ - Apollo规划技术详解——Motion Planning with Autonomous Driving
Apollo规划技术详解 进阶课程㉓ - Apollo规划技术详解——Motion Planning with Environment
Apollo规划技术详解 进阶课程㉔ - Apollo规划技术详解——Motion Planning Environment
Apollo规划技术详解 进阶课程㉕ - Apollo规划技术详解——Optimization Inside Motion Planning
Apollo规划技术详解 进阶课程㉖ - Apollo规划技术详解——Understand More on the MP Difficulty
Apollo控制技术详解 进阶课程㉗ - Apollo控制技术详解——控制理论
Apollo控制技术详解 进阶课程㉘ - Apollo控制技术详解——基于模型的控制方法
Apollo控制技术详解 进阶课程㉙ - Apollo控制技术详解——控制器的类型
Apollo ROS介绍 进阶课程㉚ - Apollo ROS背景介绍
Apollo ROS介绍 进阶课程㉛ - Apollo ROS概述
Apollo ROS介绍 进阶课程㉜ - Apollo ROS原理—1
Apollo ROS介绍 进阶课程㉝ - Apollo ROS原理—2
Apollo ROS介绍 进阶课程㉞ - Apollo ROS原理—3
Apollo ROS介绍 进阶课程㉟ - Apollo ROS原理—3

知乎专栏:无人驾驶干货铺

10. 个人成长经验分享

11. 硬件

12. 仿真

51VR

场景构建

13. 商业落地

14. 观点

15. 相关实验室

16. 期刊/会议(智能车领域)

会议

  • IEEE Intelligent Vehicles Symposium (IV)
  • IEEE International Conference on Intelligent Transportation Systems (ITSC)

期刊

  • IEEE Transactions on Intelligent Transportation Systems

相关博文

17. 数据集

18. Pony.ai技术分享

行业概述:

系统基础架构:

数据:

地图和定位:

感知:

路径规划与控制:

硬件技术与车辆调试:

19. 文远知行分享

20. 安全报告

国内

  • Apollo(2018) [PDF]
  • 自动驾驶安全白皮书(2019) [PDF]
  • 高精地图安全白皮书(2019) [PDF]

国外

21. People

22. 其它