BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

学习自动驾驶的路径是什么?这份技能图谱告诉你

| 作者 Sharon 关注 1 他的粉丝 发布于 2018年1月18日. 估计阅读时间: 8 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

从 2015 年 8 月至今,近 50 个人工智能、前端开发、移动开发、云计算、架构、运维、安全、测试等 IT 技术领域的技能图谱陆续在 GitHub 上上线,帮助开发者、工程师梳理知识框架结构,并尝试提供路径指导和精华资源,方便技术人学习和成长。

在时下非常受关注的自动驾驶领域,大部分开发者的感受都是只见树木不见森林,不知道如何建立对自动驾驶的宏观认知,不知道自动驾驶涉及的专业技能都有哪些,更不了解自动驾驶的学习路径。

这也是极客邦科技联手百度 Apollo 团队,共同推出《Apollo 自动驾驶工程师技能图谱》的原因所在——希望 Apollo 将其在自动驾驶领域的研发实力、技术沉淀、行业洞察,以及 Apollo 核心能力和技术框架,进行一个梳理和沉淀,为希望深入自动驾驶领域的开发者和工程师,呈现一个自动驾驶的技能全景图。

技能图谱十问十答

为什么这份技能图谱值得你收藏、甚至打印出来挂在办公室里或者书桌前?我们邀请这个技能图谱的策划人——Apollo 布道师团队和技术团队进行解答。

问题 1:为什么要规划这样一份技能图谱?

技术发展太快,技术模块涉及繁多,自动驾驶领域需要这样一个技术和技能的梳理,帮助自动驾驶工程师全面了解、快速学习和成长,也给有志于转行自动驾驶的技术人一个指引。

问题 2:该技能图谱面向哪些人群?可以帮助学习者达到什么目标?

主要面向两类人群,他们都希望学习自动驾驶,他们或是学生,或是 Apollo 生态中的合作伙伴。一类就是懂得开发工具和语言开发的开发者和工程师,他们可以从这份技能图谱中补充机器学习和车辆相关的知识;另外一类人群就是机器学习从业者,他们可以通过这份技能图谱,深入了解自动驾驶的各个模块,因为 Apollo 不同模块之间的差异性大,即使对于百度内部工程师,这个技能图谱也有借鉴意义。

问题 3:这份技能图谱包括哪些学习模块?模块设立和划分规则是什么?

这份技能图谱包括两大模块,首先是基础层,就是 Apollo 开发会用到的共性的语言和编程方式;其次是 Apollo 层,既包括 Apollo 开放的感知、决策规划、智能控制、End-to-End 等自动驾驶核心能力,也包括硬件,比如 GPS、雷达、传感器、车辆相关的知识和技能。

问题 4:这份技能图谱是怎么策划出来的?

在策划阶段,按照模型、算法、硬件、车辆相关背景知识四个维度,以问卷、面聊等多种形式,收集百度内部 7、8 个团队近 30 位技术专家的专业反馈,再把反馈按照目前的基础层、Apollo 层整理分类,经历多次 Review,最后与大家见面。

问题 5:自动驾驶领域的开发者,哪部分的学习能力需要加强?

大部分自动驾驶开发者的『软实力』较强,硬件方面的学习能力相对较弱,尤其基于 GPU 或者 FPGA 的芯片编程方面的能力继续增强。

问题 6:对于学习 Apollo 的开发者来说,最大挑战是什么?

最大挑战就是 Apollo 运行起来,下一步该怎么做?因此 Apollo 会在 2.0 版本中开放很多调试、绘图、排查问题的工具;

另外的挑战就是硬件方面了,如果开发者买一个设备进行调试,在没有官方人员支持的情况下是比较困难的,因此 Apollo 把适配后的硬件设备发到 GitHub,让开放设备在 GitHub 上有现成实例,开发者改过之后就可以用。

问题 7:自动驾驶人才需求缺口大吗?

非常大。目前我国汽车从业人员达到 360 万,但其中技术人才不到 50 万,占比不到 15%。这其中虽然很难明确界定自动驾驶人才有多少,但是可以想见肯定不多。而且从自动驾驶专业人才年薪动辄几百万上千万,就可以知道人才有多紧缺。

问题 8:目前 Apollo 最需要哪方面的人才?

目前会有很多合作伙伴寻求接入 Apollo 开放平台,为自己的产品注入自动驾驶能力。在接入过程中,车辆、硬件传感器的接入是开发者需要接受的第一关,需要掌握系统集成方面的知识。解决了集成问题后,对自动驾驶的要求就会往感知、决策规划、智能控制等模块方向进行转移。所以,了解整体 Apollo 结构的开发者,会是 Apollo 需要的人才;如果对其中某一模块非常熟知,也会是 Apollo 非常需要的人才。

问题 9:自动驾驶开发者还有什么其他的学习路径?

开发者可以从搭建一个 Apollo 的 Demo 环境开始,学习 Apollo 相关模块的技能知识。在 Apollo 的代码注释中,百度工程师列出了模型对应的参考资料,包括参考书或者论文,这也算是一个学习的捷径。如 Apollo2.0 新增控制器 MPC,对应的源文件包含对该控制模型相关的资料推荐:https://github.com/ApolloAuto/apollo/blob/master/modules/control/controller/mpc_controller.h:

/**
 * @class MPCController
 *
 * @brief LQR-Based lateral controller, to compute steering target.
 * For more details, please refer to "Vehicle dynamics and control."
 * Rajamani, Rajesh. Springer Science & Business Media, 2011.
 */
 问题 10:已经拿到技能图谱的同学,他们看过之后希望 2.0 版本有哪些改进?
  • 能有各分支更细化的知识和技能表,包括推荐一些好的学习资源;

  • 期望后续版本可以极大降低无人车成本,实现量产;

  • 希望提供能力进阶地图;

  • 希望细化知识点,把软硬件、算法的接口信息定义出来。

首批用户对技能图谱评价

我对 Open Modules 最感兴趣,因为我相信开源的力量是非常强大的,在使用开源代码的时候不仅能够促进百度的技术进程,开源还让我思考——我可以利用这些开源项目来做些什么,这是一个多赢的发展方向。

从 1.0 版本技能图谱可以看出,Apollo 对于自动驾驶现有问题都能给出成熟的解决方案,已经极尽现有经验和想象。

这份技能图谱让我对自动驾驶所涉及的技术领域有一个清晰认识,便于让我结合自身能力进行相关学习。

我对这份技能图谱感知规划部分非常感兴趣。知识技术都是相通的,可以灵活迁移,该部分对本人现在从事的机器人自主视觉导航具有很大的借鉴意义。

识别以下二维码,关注 Apollo 开发者社区公众号,在输入框回复『技能图谱』,就可获得一份高清电子版。

(文章评论区回复关键词是收不到的哦!)

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT