【Apollo】AutoDrive Apollo5.0感知模块学习

一、无人驾驶介绍

无人驾驶是一个复杂的系统,如图1所示,系统主要由三部分组成:算法端Client端云端。其中算法端包括面向传感、感知和决策等关键步骤的算法;Client端包括机器人操作系统以及硬件平台;云端则包括数据存储、模拟、高精度地图绘制以及深度学习模型训练。
算法子系统从传感器原始数据中提取有意义的信息以了解周遭环境情况,并根据环境变化做出决策。Client子系统融合多种算法以满足实时性与可靠性的要求。举例来说,传感器以60HZ的速度产生原始数据,Client子系统需要保证最长的流水线处理周期也能在16ms内完成。云平台为无人车提供离线计算以及存储功能。通过云平台,我们能够测试新的算法、更新高精度地图并训练更加有效的识别、追踪、决策模型。

二、源码下载

百度的自动驾驶项目Apollo有好几个版本,我目前在学习的是5.0版本。源码是从Github上找的,链接为apollo源码。但是整个项目实在是有些大,就算是我翻墙出去下载也一直显示下载失败。所以我只好先下载其中的perception也就是感知模块先进行学习。但是Github本身是只能下载整个项目的,也是意外的发现了DownGit这个东西,直接把项目中需要下载的文件链接copy到DownGit的框框中,点击Download就可以下载需要的文件了。
感知模块的输入包括:图像数据(front_6mm和front_12mm),128通道的Lidar数据(velodyne 128),16通道的Lidar数据(lidar_front, lidar_rear_left, lidar_rear_right),Radar数据(radar_front, radar_rear),radar校准数据(来自YAML文件),front camera校准数据(来自YAML文件),车辆的速度和角速度
感知模块的输出
(1)对象输出
1)3D长方体
2)相对速度和方向
3)类型:CIPV,PIHP,其他
4)分类:汽车,卡车,自行车,行人
5)Drops:物体的轨迹
(2)车道线输出
1)折线和/或多项式曲线
2)车道类型按位置:L1(左下车道线),L0(左车道线),R0(右车道线),R1(右下车道线)
(3)红绿灯输出
目前还没做红绿灯部分,后面做到这部分再补充

三、概念汇总

RTOS:实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。使用apollo-kernel保证系统的实时性(2.0版本)。
**对ROS的改动:**去中心化(使用FAST RTPS),共享内存以提升节点间的传输效率(通过socket进行结点间的通信),原生支持 Protobuf(将Google的Protobuf和ROS深度集成,从而提高数据的版本兼容性。其优势在于当模块接口升级以后,通讯的数据也可以相互兼容。另一个好处是宝贵的自动驾驶的历史数据在模块升级后也可以一直被使用。https://blog.csdn.net/heyc861221/article/details/80123570)。使用了 PREEMPT_RT 内核来增强了 ROS 所在的 linux 环境的实时性
CIPV: CIPV是当前车道中最接近的车辆。对象由3D边界框表示,其从上到下视图的2D投影将对象定位在地面上。然后,检查每个对象是否在当前车道中。在当前车道的对象中,最接近的一个将被选为CIPV。
protobuf文件:
使用 protobuf 来替换 ROS 中的 Message 来作为消息定义的格式。protobuf 本身有良好的兼容性支持,只需要在使用中定义好 required 字段,后续新增 optional 字段并不会对消息的解析造成影响。

#include "modules/perception/proto/perception_obstacle.pb.h"//这里就是调用protobuf文件
#使用的protobuf编译器版本为v2
syntax = "proto2";
#声明了一个包名,类似于C++中的namespace
package apollo.perception.camera.yolo;
#message是protobuf中的结构化数据,类似有C++z中的类࿰
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值