【实物】端到端自动驾驶搭建教程(四)附完整资料

简介: 【实物】端到端自动驾驶搭建教程(四)附完整资料

系统实现

硬件实现

  将树莓派的第29号引脚接到L298N电机驱动的IN1端,树莓派的第31号引脚接到L298N电机驱动的IN2端,树莓派的第33号引脚接到L298N电机驱动的IN3端,树莓派的第35号引脚接到L298N电机驱动的IN4端,树莓派的第38号引脚接到L298N电机驱动的ENA端,树莓派的第40号引脚接到L298N电机驱动的ENB端,树莓派的第36号引脚接到蜂鸣器模块的IO口,树莓派的第11号引脚接到LED灯模块的R_COLOR_IO口,树莓派的第13号引脚接到LED灯模块的Y_COLOR_IO口,树莓派的第15号引脚接到LED灯模块的G_COLOR_IO口,树莓派的第16号引脚接到左侧红外避障模块的IO口,树莓派的第18号引脚接到右侧红外避障模块的IO口,树莓派的第22号引脚接到前侧红外避障模块的IO口,树莓派的第32号引脚接到后侧红外避障模块的IO口。 实际外观如下图所示(实际情况以代码为准)。

软件实现

  训练样本获取源码解析:

  在zth_process_img.py中主要对小车接口进行定义、对接口输入输出模式进行设置,对接口使能方式进行设置。

  将接口控制和逻辑设计组合成动作函数。部分动作函数如下图所示。

  在zth_collect_data.py中主要对摄像头运行方式、图像像素大小、取样帧数进行了设置,同时并行地操纵小车运行和摄像头获取图片。部分程序如下图所示。

  图像处理源码解析:

  在zth_process_img.py中主要对图片:依据图片名加上对应的标签,并将处理后的图像存入training_data_npz文件夹中。

  在zth_train程序中主要建立神经网络模型,神经网络模型框架用kera搭建神经网络,采用卷积,池化,全连接。输入为图像,输出为五个神经元,分别对应左转(0号动作)、右转(1号动作)、前进(2号动作)、后退(3号动作)、停之(4号动作)。

第一步:加载数据集存入内存中,并将其划分为训练集和测试集。源代码如下所示:

  第二步:建立卷积神经网络模型,其代码如下所示:

  第三步:训练神经网络模型,并将其保存,其保存模型,TensorBoard存模型结构以及准确率和Loss曲线的代码如下图所示:

  在TensorBoard中查看其网络结构图如下图所示:

系统测试

  我们将软件实现,并操作小车,获取了一系列打上动作标签的图片信息。将一系列图像信息送入神经网络,进行训练。其训练完成之后的Loss曲线和准确率曲线如下图所示:

  从其训练结果中显示,其准确率达到接近百分之九十,准确率和Loss都趋于收敛。

不足与展望

  虽然,如第四章提到的,我们完成卷积神经网络的调试和残差检测,初步地得到了一个可用的神经网络,然而,这个神经网络的实际表现并不如预期般乐观,我们分析,可能的原因如下:

  一、样本量的规模太小,在数量上并没有满足训练一个良好的神经网络所需的数量级。

  二、样本的代表性不足,由于我们在实验过程中并未对样本进行清洗,同时,并没有在具备理论上和实践经验上的支撑的条件下设计道路,并且,光照、杂物的放置也对神经网络的识别产生了一定的影响,这些因素导致了神经网络的表现不如理论上良好。

  三、样本的多样性不足,由于实验条件和人员时间分配的限制,我们并没有设计多种光照、多种地板纹路、不同道路类型等因素变换的实验,没有获取到相应的样本,直接影响到了神经网络的泛化性不足。

  同时,虽然硬件上,我们安装了红外避障模块、LED灯模块、蜂鸣器模块,但是,受限于实验时间,我们仅仅完成了初步的硬件安装和初步的程序调试,并没有将其和神经网络程序较好的结合起来,故并没有在报告中写出相应的程序和硬件调试。

  并且,我们虽然使用了树莓派3B+作为逻辑处理的核心,但由于时间限制,仍然缺乏对操作系统理论的认识和实践的经验,并没有对操作系统做出恰当的调整。

  虽然课程将要结束,但是我们的学习远远没有结束。在未来的时间中,我们期望更多地学习操作系统、神经网络算法等相关的知识,累积更多的实践经验,尽可能地锻炼自己,能真正参与实现无人驾驶技术,造福人民,提供人们的生活水平。

我的微信公众号名称深度学习与先进智能决策

微信公众号ID:MultiAgent1024

公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!

相关文章
|
监控 机器人 区块链
深度分析——狩猎者defi夹子机器人系统开发技术原理
过去一年的时间里,DeFi可谓是迅速崛起,发展态势极其迅猛。虽然DeFi尚处于发展早期阶段,但活跃度和参与度都呈指数地在增长。在DeFi中,交易被打包的顺序极大地影响了DeFi的经济利益。例如,在 UniSwap 中,同样两个针对某交易对的买单,先被执行的交易将获得更多代币。若你在一笔买单前买入同样的代币,然后又赶紧卖出,则将毫无风险的获利。
深度分析——狩猎者defi夹子机器人系统开发技术原理
|
人工智能 机器人 中间件
对冲量化智能AI机器人炒币系统开发(现在案例)部署搭建
透明度是一件好事,但并非总是如此。有时用户需要一些隐私
|
传感器 机器学习/深度学习 存储
【实物】端到端自动驾驶搭建教程(二)附完整资料
【实物】端到端自动驾驶搭建教程(二)附完整资料
108 0
|
机器学习/深度学习 自动驾驶 Ubuntu
【实物】端到端自动驾驶搭建教程(一)附完整资料
【实物】端到端自动驾驶搭建教程(一)附完整资料
241 0
|
机器学习/深度学习 自动驾驶 决策智能
【实物】端到端自动驾驶搭建教程(三)附完整资料
【实物】端到端自动驾驶搭建教程(三)附完整资料
141 0
|
传感器 机器学习/深度学习 人工智能
[OpenVI-视觉生产系列之视频稳像实战篇]再见吧云台,使用AI“魔法”让视频稳定起来
随着自媒体与短视频的兴起,人们有了越来越多的拍摄视频的需求。然而由于手持拍摄、硬件限制等原因,利用手机等普通摄影设备拍摄的视频难免存在视频抖动问题。尤其是开启较高倍数的变焦后,手持拍摄很难拍摄到稳定的视频,极易产生抖动的现象。使用云台、斯坦尼康等外设可以缓解这样的抖动,但是很多时候多带一个外设降低了拍摄视频的便利程度,会使得随时随地的拍摄体验大打折扣。
694 0
[OpenVI-视觉生产系列之视频稳像实战篇]再见吧云台,使用AI“魔法”让视频稳定起来
|
人工智能 机器人
ai电销机器人系统搭建开发-通话模块
ai电销机器人系统搭建开发-通话模块
432 0
ai电销机器人系统搭建开发-通话模块
|
机器学习/深度学习 存储 传感器
自动驾驶的“天眼”!聊一聊高精地图领域中所有主流的制作方案(下)
在过去几年中,自动驾驶一直是最受欢迎和最具挑战性的话题之一。在实现完全自主的道路上,研究人员利用了各种传感器,如激光雷达、相机、惯性测量单元(IMU)和GPS,并开发了用于自动驾驶应用的智能算法,如目标检测、目标分割、障碍避免和路径规划。近年来,高清晰度(HD)地图引起了广泛关注。
自动驾驶的“天眼”!聊一聊高精地图领域中所有主流的制作方案(下)
|
传感器 存储 数据采集
自动驾驶的“天眼”!聊一聊高精地图领域中所有主流的制作方案(上)
在过去几年中,自动驾驶一直是最受欢迎和最具挑战性的话题之一。在实现完全自主的道路上,研究人员利用了各种传感器,如激光雷达、相机、惯性测量单元(IMU)和GPS,并开发了用于自动驾驶应用的智能算法,如目标检测、目标分割、障碍避免和路径规划。近年来,高清晰度(HD)地图引起了广泛关注。
自动驾驶的“天眼”!聊一聊高精地图领域中所有主流的制作方案(上)
|
自然语言处理 机器人 API
讯飞AIUI智能机器人3---来和机器互动吧(语音技术综合应用)
讯飞AIUI智能机器人3---来和机器互动吧(语音技术综合应用)
336 0
讯飞AIUI智能机器人3---来和机器互动吧(语音技术综合应用)