Apollo源码分析:详细捋一遍Lidar 障碍物检测
附赠自动驾驶最全的学习资料和量产经验:链接
1. 从 Component 出发
因为有了之前红绿灯检测代码分析的经验,我们自然能够知道感知任务先从它的 component 开始。
lidar 检测的 component 是 modules/perception/onboard/component/detection_component.cc
梳理代码可以得到基础的流程框架:
1.1 initConfig
initConfig 从本地目录中读取 proto 文件,然后配置变量。 那么,如何知道从哪里读取呢? modules/perception/production/dag/dag_streaming_perception_lidar.dag
在 dag 目录下有配置。
我们只需找到 lane_detection_component.config 文件。
/apollo/modules/perception/production/conf/perception/lidar/velodyne128_detection_conf.pb.txt
配置文件说明了激活高精度地图,然后检测的结果存放在 DetectionObjects 这个 channel。