Apollo源码分析:详细捋一遍红绿灯检测和识别
1. 相关代码流程及核心类
Apollo 是一个开源的框架,这个框架非常的庞大,研究代码的时候很容易陷入进去,为此,我根据不同的任务梳理了脉络,在红绿灯检测模块,我根据自己感兴趣的线索得到了下图:
之前的文章有做过说明,Apollo 是讲究 Module 这个概念的,Module 里面有不同的 Component 实现。
所以,如果要追踪整个红绿灯识别的代码流程,那么就需要从 http://TrafficLightPerceptionComponent.cc 开始。
附赠自动驾驶最全的学习资料和量产经验:链接
1.1 基础流程
modules/perception/onboard/component/trafficlights_perception_component.cc
上面是 http://trafficlights_perception_component.cc 的路径。 阅读代码可以得到基础流程。
忽略一些细节,可以看到流程非常简单,component 进行了一系列的初始化,就 OK 了。
所以,我们有必要看看它到底进行了哪些内容的初始化。
1.2 InitConfig
这个是用来初始 Config 的也就配置文件。 流程如下: