perception 介绍
Perception 介绍
百度Apollo自动驾驶仿真平台9.0版本Perception模块相关内容
一、感知模块代码结构
1、Camera代码结构
2、Lidar代码结构
3、Radar代码结构
4、Fusion代码结构
二、Lidar感知
1、组成分析
2、函数解析
(1)LidarDetectionComponent::Init()
进行Component初始化,通过该函数完成传感器的初始化,配置文件的读取,pipeline的配置文件初始化等操作。
(2)InternalProc()
是LidarDetectionComponent中的核心函数,该函数完成了点云数据的结构到LidarFrame数据结构的转换,并且会调用回调函数(具体的处理逻辑)
(3)LidarObstacleDetection::Init()
是Detection的初始化函数,该函数会通过Pipeline的配置文件,对各个Stage以及Task去进行一个实例化,并且对Stage的配置文件进行一个初始化的操作。
(4)LidarObstacleDetection::Process()
按照pipeline中配置文件的顺序,循环的调用各个不同Stage,不同Task的Process函数,用户可以根据自身的情况,设置不同的检测算法,以及不同的前后处理算法, 对Stage去进行一个不同的组合。
3、数据结构解析
1 查看点云数据
1 | (1)终端输入 |
1 | (2)重新打开一个终端 |
选择激光雷达点云数据,右键打开查看
MessageType:channel的数据格式
FrameRatio:channel的帧率
header:channel的头文件信息(时间戳,时序,frame_id等信息)
Point:激光雷达点云的具体数据(包含点云的位置 强度 时间戳等信息)
2 在Dreamview查看点云数据
1 | 启动Dreamview |
点击layer menu ——> 打开point cloud 就可以在Dreamiew上查看激光点云的数据。
3 激光雷达感知的数据结构
1 | (1)使用如下命令播放数据包 |
1 | (2)重新打开一个终端 |
选择 /apollo/perception/obstacles
perception_obstacle:感知中具体的感知结果
id:tracking之后的障碍物信息
position:障碍物在世界坐标系中的位置
theta:障碍物在世界坐标系中的朝向信息
velocity:障碍物的速度
length、width、height:障碍物的尺寸信息
type:障碍物的类型
三、感知传感器
四、课程链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 云中漫步!



























