⛳️ 粉丝福利活动
-
✅参与方式:通过连接报名观看课程,即可免费获取精美周边
-
⛳️活动链接:《自动驾驶新人之旅》
-
📆 活动时间长期有效 | 课程姓名填写
鸽芷咕
学号1111
完成后加博主微信填写问卷领取礼品,也可根据《活动步骤》 完成领取
🔥 注:可以拉取进度条观看,超过%50即可领取百度周边
⛳️ 文章末尾扫码加入粉丝群,不定期发放粉丝福利,各种专业书籍免费赠送!
文章目录
- ⛳️ 粉丝福利活动
- 引入
- 一、 激光雷达在自动驾驶中的角色
- 二、激光雷达的配置文件
- 2.1 配置文件
- 三、激光雷达追踪
- 3.1 配置文件
- 四、Apollo激光雷达的应用
- 4.1 数据融合
- 4.2 障碍物检测
- 4.3 实时地图构建
- 4.4 激光雷达技术的挑战和创新
- 未来展望
引入
在自动驾驶技术的飞速发展中,感知系统的关键组件之一是激光雷达。百度Apollo平台作为领先的自动驾驶解决方案之一,其激光雷达检测技术在实现高精度环境感知方面发挥着关键作用。
一、 激光雷达在自动驾驶中的角色
激光雷达(LiDAR)是一种通过发射激光束并测量其返回时间来感知周围环境的传感器。在自动驾驶中,激光雷达的角色不可忽视,因为它提供了高精度的三维空间信息,用于检测障碍物、构建地图以及进行定位。
二、激光雷达的配置文件
激光雷达检测用于 3D 目标检测,它的输入是激光雷达点云,输出为检测到的物体的类型和坐标,具体的实现在lidar_detection_component中。它的流水线配置文件在
modules/perception/pipeline/config/lidar_detection_pipeline.pb.txt
中
一共分为 7 个阶段,其
POINTCLOUD_DETECTION_PREPROCESSOR
,POINTCLOUD_DETECTION_POSTPROCESSOR
,OBJECT_FILTER_BANK
各包含 1 个
2.1 配置文件
和上图对应,lidar_detection_component组件一共分为 7 个阶段,具体的流水线配置如下。
pipeline_type: LIDAR_DETECTION
stage_type: POINTCLOUD_PREPROCESSOR
stage_type: POINTCLOUD_DETECTION_PREPROCESSOR
stage_type: MAP_MANAGER
stage_type: POINT_PILLARS_DETECTION
stage_type: POINTCLOUD_DETECTION_POSTPROCESSOR
stage_type: OBJECT_BUILDER
stage_type: OBJECT_FILTER_BANK
stage_config: {
stage_type: POINTCLOUD_PREPROCESSOR
enabled: true
pointcloud_preprocessor_config: {
filter_naninf_points: false
filter_nearby_box_points: false
box_forward_x: 2.0
box_backward_x: -2.0
box_forward_y: 2.0
box_backward_y: -2.0
filter_high_z_points: false
z_threshold: 5.0
}
}
stage_config: {
stage_type: POINTCLOUD_DETECTION_PREPROCESSOR
enabled: true
plugin_config: {
plugin_type: POINTCLOUD_DOWN_SAMPLE
enabled: true
pointcloud_downsample_config: {
enable_downsample_pointcloud : true
enable_downsample_beams : true
x_min_range : -74.88
x_max_range : 74.88
y_min_range : -74.88
y_max_range : 74.88
z_min_range : -2.0
z_max_range : 4.0
}
}
pointcloud_detection_preprocessor_config:{
}
}
stage_config: {
stage_type: MAP_MANAGER
enabled: true
map_manager_config: {
update_pose: false
roi_search_distance: 120.0
}
}
stage_config: {
stage_type: POINT_PILLARS_DETECTION
enabled: true
point_pillars_detection_config: {
}
}
stage_config: {
stage_type: POINTCLOUD_DETECTION_POSTPROCESSOR
enabled: true
plugin_config: {
plugin_type: POINTCLOUD_GET_OBJECTS
enabled: true
pointcloud_get_objects_config:{
}
}
}
stage_config: {
stage_type: OBJECT_BUILDER
enabled: true
object_builder_config: {
}
}
stage_config: {
stage_type: OBJECT_FILTER_BANK
enabled: true
plugin_config: {
plugin_type: ROI_BOUNDARY_FILTER
enabled: true
roi_boundary_filter_config: {
distance_to_boundary_threshold: -1.0
confidence_threshold: 0.5
cross_roi_threshold: 0.6
inside_threshold: 1.0
}
}
object_filter_bank_config: {
}
}
lidar_detection_config: {
}
三、激光雷达追踪
激光雷达追踪是一种使用激光雷达(LIDAR)技术来检测、跟踪和预测物体运动的过程。它通常涉及到对激光雷达数据的处理和分析,以确定物体的位置、速度和轨迹。
而在apollo 里面激光雷达跟踪用于追踪上面检测到的 3D 目标对象,它的输入是激光雷达点云检测结果,输出为跟踪到对象的 ID,具体的实现在 lidar_tracking_component
中。
它的流水线配置文件在
modules/perception/pipeline/config/lidar_tracking_pipeline.pb.txt
中,一共分为 2 个阶段,每个阶段各包含 2 个算法插件。
3.1 配置文件
stage_type: MLF_ENGINE
stage_type: FUSED_CLASSIFIER
stage_config: {
stage_type: MLF_ENGINE
enabled: true
plugin_config: {
plugin_type: MLF_TRACK_OBJECT_MATCHER
enabled: true
mlf_track_object_matcher_config: {
foreground_mathcer_method: "MultiHmBipartiteGraphMatcher"
background_matcher_method: "GnnBipartiteGraphMatcher"
bound_value: 100
max_match_distance: 4.0
}
}
plugin_config: {
plugin_type: MLF_TRACKER
enabled: true
mlf_tracker_config: {
filter_name: "MlfShapeFilter"
filter_name: "MlfMotionFilter"
}
}
mlf_engine_config: {
main_sensor: "velodyne128"
use_histogram_for_match: true
histogram_bin_size: 10
output_predict_objects: false
reserved_invisible_time: 0.3
use_frame_timestamp: true
}
}
stage_config: {
stage_type: FUSED_CLASSIFIER
enabled: true
plugin_config: {
plugin_type: CCRF_ONESHOT_TYPE_FUSION
enabled: true
ccrf_type_fusion_config: {
classifiers_property_file_path: "./data/perception/lidar/models/fused_classifier/classifiers.property"
transition_property_file_path: "./data/perception/lidar/models/fused_classifier/transition.property"
transition_matrix_alpha: 1.8
}
}
plugin_config: {
plugin_type: CCRF_SEQUENCE_TYPE_FUSION
enabled: true
ccrf_type_fusion_config: {
classifiers_property_file_path: "./data/perception/lidar/models/fused_classifier/classifiers.property"
transition_property_file_path: "./data/perception/lidar/models/fused_classifier/transition.property"
transition_matrix_alpha: 1.8
}
}
fused_classifier_config {
one_shot_fusion_method: "CCRFOneShotTypeFusion"
sequence_fusion_method: "CCRFSequenceTypeFusion"
enable_temporal_fusion: true
temporal_window: 20.0
use_tracked_objects: true
}
}
四、Apollo激光雷达的应用
4.1 数据融合
Apollo平台采用多传感器融合的方法,将来自不同传感器的信息整合在一起,以获取更全面、准确的环境感知。激光雷达的数据与摄像头、毫米波雷达等传感器的数据相融合,提高了感知系统的鲁棒性。
4.2 障碍物检测
激光雷达通过测量返回时间来计算物体的距离,并通过旋转来获取物体的方位。这些数据用于高精度的障碍物检测,能够识别车辆、行人、建筑物等。
4.3 实时地图构建
激光雷达还用于实时地图构建,为自动驾驶车辆提供高精度的地图信息。这对于路径规划和决策制定至关重要。
4.4 激光雷达技术的挑战和创新
激光雷达技术在自动驾驶中面临着一些挑战,如对恶劣天气的适应性、点云处理的复杂性等。为了解决这些问题,Apollo平台在激光雷达技术上不断创新,采用先进的信号处理算法和机器学习技术,提高系统的性能。
未来展望
随着技术的不断发展,激光雷达技术在自动驾驶中将继续发挥重要作用。未来,我们可以期待更小型、高分辨率的激光雷达设备,以及更智能、自适应的感知系统。