Apollo框架学习(一)——apollo.sh的理解

学习apollo的代码,我是先看apollo.sh文件,里面可以看出apollo的整体框架。

1、function source_apollo_base()
执行apollo_base.sh,apollo_base.sh是一个非常重要的文件,在scripts里面的sh都需要source apollo_base.sh
(source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。)

2、function apollo_check_system_config()
检查docker环境以及操作系统

3、function check_machine_arch()
检查架构

4、function check_esd_files()
检查can看是否以及被识别

5、function generate_build_targets()
建立目标文件

6、function build()
建立apollo系统
7、function cibuild()
指向modules文件夹里的各个目标,其中modules文件夹涵盖了apollo的框架设计,学习和修改相应代码和配置文件应从该文件夹中的相关模块去进行

8、function apollo_build_dbg()
建立数据库发生器

9、function apollo_build_opt()
建立机器视觉系统

10、function build_py_proto()
建立通过构造函数创建的某个实例的原型对象

11、function check()
检查脚本自身文件

12、function warn_proprietary_sw()
-e:激活转义字符。

13、function release()
释放空间并移动相关的文件

14、function gen_coverage()
实验相关工具,并报道实验情况

15、function run_test()
在GPU下进行运行测试

16、function citest_perception()
测试感知模块
17、function citest_dreamview()
测试apollo的可视化界面
18、function citest_map()
测试地图
19、function citest_basic()
计算机语言、控制、预测、规划测试
20、function citest()
输出上述(16-19)测试结果

21、function run_cpp_lint()
22、function run_bash_lint()
23、function run_lint()

24、function clean()

25、function buildify()
用于从源代码创建可分发JavaScript文件的生成器。
26、function build_fe()
Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题。

27、function gen_doc()
转化doxygen文件

28、function version()
修改提交的数据(commit 和 data)

29、function get_revision()
错误则会报错“Could not get the version number, maybe this is not a git work tree”

30、function get_branch()
在每次读或者写某个逻辑块之前,需要查找这种映射关系,将逻辑块号转化为物理块号。另外,如果要访问的逻辑块尚未分配物理磁盘块,也会在该函数中为该逻辑块分配数据块以及可能所需的间接块,然后建立好映射关系。这一般出现在写情况中。

31、function build_velodyne()
启动16线velodyne激光雷达,其流程和一般使用velodyne激光雷达流程一样
bash apollo.sh build_velodyne即可(只是配置文件与一般流程不同)
32、function build_velodyne_vls128()
启动128线velodyne激光雷达,其流程和一般使用velodyne激光雷达流程一样
bash apollo.sh build_velodyne_vls128即可(只是配置文件与一般流程不同)
33、function build_lslidar()
启动16线镭神激光雷达,其流程和一般使用镭神激光雷达流程一样
bash apollo.sh build_lslidar即可(只是配置文件与一般流程不同)
34、function build_rslidar()
如上所述,也是一种激光雷达,我目前还没接触到这种激光雷达,不过github上有对此激光雷达配置教程的完整叙述

35、function build_usbcam()
在docker环境下用usbcam配置摄像头(usbcam配置摄像头的方法可以自行百度),bash apollo.sh build_usbcam即可

36、function config()
进行计算机系统配置,具体方式请参考文件/scripts/configurator.sh

37、function print_usage()
打印到终端相应结果说明

你可能感兴趣的:(Autoware)