玖叶教程网

前端编程开发入门

无人驾驶软件领域各大模块课程资源最全整理(从入门到放弃)

来源:知乎



无人驾驶,从软件的功能模块来看有这么几个,给打算自学且正在选择方向的一个参考:


01. 地图&定位


SLAM是自动驾驶最先在做的领域了。在建图这一块,前几年还在给大家普及什么叫高精度地图,但现在传统的图商也能又快又好地做出来一张高精度地图了,就是标准不一致比较难搞。


要学SLAM,有几个必备的资料:


  • Cyrill Stachniss的youtube线上课程和课件
  • Sebastian Thrun的书Probabilistic Robotics
  • SLAM: The Essential Algorithms
  • A practical introduction to pose-graph SLAM with ROS
  • Probabilistic Systems Analysis and Applied Probability


以及,多看点最新的paper,试下最新的算法。


02. 感知


感知是最基础的,也是业内前几年在重点发力的模块,目前感知单靠计算机视觉或者单靠雷达都是不可靠的,所以要学就学最核心的一块——多传感器融合和时序融合。


前几年搞算法是最吃香的,算法研发的薪资简直高到离谱,但这个领域的门槛是很高的,如果不是手握多篇顶会paper,就不要轻易尝试了,前几年也一下子被资本催生得过火了。


多传感器融合和时序融合先要会C++,列了些入门的免费课程:


  • C++ Tutorial for Complete Beginners
  • Learn C++ by Creating
  • C++, Short, and Sweet, Part 1
  • C++ Programming Basics
  • Beginning C++ Templates


C++学得差不多,就该打ACM了


  • How to prepare for ACM – ICPC?


对实时定位也要懂(不懂的翻回去看上面)


了解下系统动力学(System dynamics)


  • Introduction to System Dynamics


以及运动学建模(kinematics modeling)


  • Kinematic Model - an overview
  • Kinematics: Describing the Motions of Spacecraft


多传感器融合相关资料:


  • Handbook of Multisensor Data Fusion: Theory and Practice, Second Edition
  • Statistical Sensor Fusion. Fredrik Gustafsson. Studentlitteratur, 2018.
  • Statistical Sensor Fusion. Exercises. Christian Lundquist, Zoran Sjanic, and Fredrik Gustafsson. Studentlitteratur, 2015.
  • Statistical Sensor Fusion Matlab Toolbox
  • Android app Sensor Fusion app


如果你还是对算法情有独钟,那就先从计算机视觉开始吧:


  • Tombone's Computer Vision Blog: From feature descriptors to deep learning 20 years of computer vision
  • Andrew Ng的Machine Learning课程
  • Convolutional Neural Networks for Visual Recognition
  • Tombone's Computer Vision Blog
  • Andrej Karpathy blog
  • 实践下Google Vision API


03. 仿真


为什么不把更重要的决策规划放在前面?因为仿真也是一个基础模块,自动驾驶仿真软件很多,比如Perscan、Carmaker、VTD,以及开源的Carla、Airsim等。


虽然现在业内更多公司用的基于游戏引擎做的仿真系统,但是看看Waymo的Carcraft,还是自己研发的仿真系统,个人感觉这个才是大势所趋。


必备技能C++


全栈开发能力也需要很强,以下也是些免费的资料


  • Learn X in Y Minutes
  • What CS Majors Should Know
  • Google’s Technical Development Guide
  • CSS Tricks — Complete Flexbox Guide
  • Regex Cheat Sheet
  • DevDocs
  • Awesome List of Everything Programming
  • How to Break Into the Tech Industry — a Guide to Job Hunting and Tech Interviews


学一下AngularJS 或 Angular2


  • AngularJS For Beginners
  • AngularJS: Framework Fundamentals


机器学习也还得略懂一二


  • Free Machine Learning Course (fast.ai)
  • Machine Learning Course by Stanford University (Coursera)
  • Deep Learning Course (deeplearning.ai)
  • Machine Learning Course A-Z?: Hands-On Python & R In Data Science (Udemy)
  • Free Machine Learning Data Science Course (Harvard University)


04. 运动决策规划


这是目前在重点攻克的难题,可以说也是潜力最大的领域。许多人都是从机器人转过来的。


重要的事说三遍:C++,C++,C++


ROS入门


  • Tutorials : Installation
  • Powering the world's robots
  • UBC Open Robotics
  • Learn TurtleBot and ROS
  • Husky UR5 Mobile Manipulation Demo


重点了解下运动优化(Trajectory optimization)


  • Introduction to Trajectory Optimization
  • Overview of Trajectory Optimization Techniques
  • Underactuated Robotics - Lecture 9: Trajectory Optimization
  • An Overview of Planning Under Uncertainty


深度学习也是一定要会的


  • Neural Networks and Deep Learning-Andrew Ng
  • How to Learn Machine Learning, The Self-Starter Way
  • Jeremy Howard: The wonderful and terrifying implications of computers that can learn
  • Blaise Agüera y Arcas: How computers are learning to be creative
  • Anthony Goldbloom: The jobs we'll lose to machines — and the ones we won't


以上,还是先从挑一个方向开始吧。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言