apollo代码学习1

 接触到百度无人驾驶开源代码apollo是导师推荐学习的,在摸索了一个多月后,终于有了一些眉目,对于一个本科并非学习计算机的我来说,学习过程中补充了很多基础知识,包括编程语言C++,以及软件设计方法的种种思想。

 因网上对apollo代码解析的博客很少,我个人对apollo理解又多少有些偏颇,因此将自己学习过程中的心得体会写出来,希望大家一起学习交流,并能够对其中的错误进行指正,我也会虚心讨教。

 今天,我将围绕apollo代码进行简单的归纳。(主要从整个工程角度分析)

 可以说,对于我一个小白来说,接触到apollo直接懵了,它所使用的工具真是不少,主要包括google的很多开发工具以及ros,具体列举如下,倘若读者对其中某些还未了解,我也会推荐相关学习网站或者相关博客进行学习。

 1. ros(机器人操作系统,现在科研和实用都很常用的工具,官网:http://wiki.ros.org/ROS/Tutorials)

 2. bazel (google的编译工具,相当于cmake一样的工具,建议从官网学习:https://docs.bazel.build/versions/master/install.html)

 3. protobuf (google的一种结构化数据存储格式,推荐博客:https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html)

 看了代码你会发现上面三个工具用到的最多,几乎搭建了apollo软件框架,而除此之外还用到很多很实用的小工具比如:glog, gflags,signal以及各个模块单独用到的库工具等等。最后再罗嗦一句:其实我个人觉得最重要的还是 c++基础,这些小工具现学现用就OK了!

 好了,今天罗嗦了很多,献上一张apollo框架结构图给大家。今天也没啥干货,下一次开始解析模块代码!


你可能感兴趣的:(apollo)