1.Apollo 8.0 配置参数读取源码解析:以 Planning 模块为例
Apollo 8.0 配置参数读取源码解析:以 Planning 模块为例
目录
在本篇讨论中,源码我们将剖析 Apollo 8.0 配置参数的源码读取过程,以 Planning 模块为例进行深入探讨。源码
1. 配置参数分类
了解 Apollo 中各模块的源码启动机制,主要通过主文件 mainboard 编译生成的源码强势cci指标源码可执行文件以及动态链接库的加载实现。Planning 模块的源码源码搭建软件 DAG 文件 (apollo/modules/planning/dag/planning.dag) 指定了模块的动态链接库和单个组件 PlanningComponent 的配置。
配置参数分为两类:基于 ProtoBuf 的源码参数和 gflags 命令行参数。Planning 模块的源码 ProtoBuf 配置文件为 (apollo/modules/planning/conf/planning_config.pb.txt),与之对应的源码 ProtoBuf 接口文件为 (apollo/modules/planning/proto/planning_config.proto)。而 gflags 命令行参数配置文件为 (apollo/modules/planning/conf/planning.conf)。源码
1.1 ProtoBuf 参数
ProtoBuf 参数通过 module_config.components.config.config_file_path 指定配置文件路径,源码文件中的源码参数在组件初始化时被读入 ProtoBuf 对象。
1.2 gflags 命令行参数
gflags 参数通过 module_config.components.config.flag_file_path 指定,源码duer os源码文件中的源码命令行参数在初始化时由 gflags 解析。
2. 配置参数读取流程
主入口文件 (apollo/cyber/mainboard/mainboard.cc) 的源码 main 函数负责加载 DAG 文件并启动模块。解析命令行参数、读取 DAG 文件、骑士cms 源码执行模块加载逻辑。
2.1 加载 DAG 文件
解析命令行参数形成 ModuleArgument,用于存储参数信息。执行主流程时,jvm 源码 cModuleController 负责加载所有模块,并处理模块组件的注册、实例化和初始化。
2.2 读取配置参数
ModuleController 通过 LoadModule 方法读取模块配置,具体步骤涉及读取 ProtoBuf 参数和 gflags 命令行参数。
3. 总结
本文通过分析 Planning 模块的配置读取过程,清晰展示了 Apollo 8.0 中配置参数的完整读取流程。通过理解这一过程,开发者能够更深入地掌握 Apollo 的模块启动和配置机制。