基于树莓派的自动驾驶

  1. 背景介绍
  2. 方案选择
    1. 规则系统
    2. 端到端
  3. 训练数据
  4. 训练模型

背景介绍

树莓派小车

硬件配置:

方案选择

目前有两种方案,一种是Rule-Based,另外一种方法是End-to-End,这两种方法因为处理过程的透明化区分为白盒和黑盒的方案。本质上有很大差异。而我们的选择会根据场景,对以上两种方法做融合处理。

规则系统


车道识别,保证车辆运行在车道内,保证完成第一项。

发送启动命令,车辆在直行的过程中得到车前方障碍物的距离信息,在一定阈值范围内开始通过视觉判断障碍物类型,如果提取到白色色块(障碍物),需要重新规划路线绕开该障碍物。如果是一定规则的April Tag(跟车,在单个车道方向),保持速度,(横向如何保证?)

在行驶的过程中,从图像边缘提取红绿灯信息。遵循红绿灯交通规则。

如果从图像中提取到倒车入库的April tag 信息,执行倒车入库。

端到端

End-to-End是否能覆盖所有场景?该模型可以很好的解决在车道上的直线行驶、跟车、红绿灯模型、障碍物多笔,但是可以解决比如倒车入库这样的场景吗?

这个问题也没有完全标准的答案,这样场景化的功能在Apollo 端到端模块中的实现方式是规则系统+端到端融合方式。

规则系统无法触及未知场景和端到端模型探索边界是相同的。

TX2

训练数据

输入数据:使用基于树莓派的智能小车使用人为操控的方式录制视频内容,以此视频内容按帧的输出图像。

Key-Value格式,以时间戳UTC time为索引检索一幅图像,Key:UTC time, Value:3203203像素矩阵。

输出数据:对应图像频率车辆后轮的转速、前轮的转角。

数据集说明:这部分需要用户自己先通过手动驾驶的方式,自动跑一遍,然后再根据视频切分制作对应的数据集。

训练模型

参考:

script>