课程简介

Baidu Apollo(阿波罗) 是百度发布的自动驾驶计划,包括开放平台及企业版解决方案。Apollo开放平台面向所有开发者提供最开放、完整、安全的自动驾驶开源平台。当前教程主要介绍Apollo中的核心模块之一 Cyber RT。

1.内容简介

关于CyberRT主要介绍如下内容:

章节 内容
第1章 Cyber RT概述与环境搭建 CyberRT简介、安装、VsCode安装以及使用、Bazel、Protobuf。
第2章 Cyber RT通信机制 话题、服务、参数、组件等相关概念以及例程实现。
第3章 Cyber RT开发工具 CyberRT 中的常用工具:cyber_monitor、cyber_recorder和诸多命令行工具。
第4章 常用API CyberRT中常用API汇总,包括时间以及定时器相关API。

2.学习成果

该教程学习完毕之后,可以掌握如下内容:

  • 可以独立安装 Apollo 的开发环境;

  • 可以以编码方式实现 Cyber RT 中的各种通信模型;

  • 可以使用 CyberRT 内置工具,提高开发、调试效率;

  • 可以熟悉 CyberRT 的常用API。

该教程最终目的是打牢基础,为Apollo的进阶学习做好准备。

3.答 疑

Q1.当前教程学习需要哪些知识储备?

答:关于储备知识,建议如下:

  • 操作系统: 了解 Linux,会一些简单的操作命令。

    课程中使用的是VirtualBox虚拟机安装的ubuntu20.04,操作系统已经安装完毕了,另外,课程采用的是 Apollo 6.0 版,建议对应的操作系统使用ubuntu20.04 或 ubuntu18.04。

  • 编程语言:了解 C++ 与 Python。

    Apollo 中使用了 C++ 和 Python 双语编程,课程中案例大部分也会分别使用C++和Python实现。需要说明的是 Python 接口的实现思路是在 C++ 实现的基础上,做了一层 Python 的封装,由 Python 来调用 C++ 的实现函数。Cyber Python Wrapper 的实现没有使用 swig 等第三方工具,完全自主实现,以此保证代码的高可维护性和可读性。

另外课程中会涉及到 docker、bazel、protobuf、dag 等内容,相关内容最好提前了解,不了解也可以,课程中会有相关介绍,虽然比较简短,但基本能够满足学习需要。

Q2.需要有ROS基础吗?

答:不需要,如果有那么更好。该课程设计的初衷是要与ROS脱钩的,但是鉴于CyberRT中的许多概念与ROS是高度相似的且在CyberRT之前,Apollo就是使用的ROS,所以如果了解ROS,更方便该课程的学习。

如果想要学习ROS,请移步:https://www.bilibili.com/video/BV1Ci4y1L7ZZ

Q3.需要硬件支持吗?

答:该课程涉及的内容暂不需要。

4.参考资料

Apollo 官网:https://apollo.auto/

Apollo github:https://github.com/ApolloAuto/apollo

Apollo gitee:https://gitee.com/ApolloAuto/apollo

Apollo开发者社区:https://apollo.auto/developer/index_cn.html#/

最后,课程如果有不当之处,欢迎指正,共同学习,共同进步,为国内无人驾驶事业贡献一份力量。


results matching ""

    No results matching ""