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

我的微信公众号名称:AI研究订阅号
微信公众号ID:MultiAgent1024
公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

本文来自贺文通、何彧衡、何志强的课程设计。

自动行驶小车设计的意义和内容

  无人驾驶作为汽车未来可能的研究方向之一,其对于汽车行业甚至是交通运输业有着深远的影响。无人驾驶汽车的来临能够解放人类的双手,降低发生交通事故发生的频率,保证人们的安全,大数据时代,随着物联网、5G和云计算技术的成熟,无人驾驶技术甚至可以组织更为有效的交通秩序,节省人们出行的时间。

  目前,前沿的无人驾驶技术已经实现了自动启动行驶与停车,国内外的公司以及院校包括谷歌、百度、长安和国防科技大学等正在近几年积极地开展这无人驾驶汽车测试活动,无人驾驶真正走入人们生活的日子已经指日可待。无人驾驶技术作为人工智能重要的应用领域,具有极高的研究价值和实际意义。
本次以树莓派为逻辑运算处理核心的自动行驶小车设计,一方面,是对无人驾驶领域的初步探索,通过实现一个可以自动识别道路并且在规定的范围内合理行驶的双驱动小车,讨论无人驾驶技术在研究和应用层面可能遭遇的问题和难点,另一方面,也是检验树莓派硬件以及系统对于人工智能算法程序的运行和处理,是否具有一个良好的可行性和性能指标。可想而知,如果如树莓派一般精简的体积上也能搭载人工智能算法程序,那么未来人工智能技术一定能和硬件结合应用在更多的领域,具有更高的性价比。同时,本次设计也是研究生生活以来,第一次面对硬件和软件设计的双重挑战,对于作者个人的学业历程同样具有重要意义。

  本次设计的主要内容是设计一个可行的自动驾驶小车系统,通过软件程序的设计以及硬件外设的安装和调试,测试其在人为规定的道路上行驶的状况,实现一辆可以自动识别道路并且在规定的范围内合理行驶的双驱动小车。

  本次报告基于理论实践,分为五大部分,第一章阐述了本次设计的意义和基本内容,第二章介绍了自动行驶小车系统的系统设计,第三章介绍了自动行驶小车系统的系统实现,第四章介绍了自动行驶小车系统的系统测试,第五章阐述了实践过程中存在的不足,以及未来的展望。

系统设计

硬件设计

  本次课设所设计的自动驾驶智能小车共包括以下模块:树莓派3B控制器、红外避障模块、赛道信息采集(摄像头)模块、LED灯模块、蜂鸣器模块、电机驱动模块(L298N 模块)。本次设计将树莓派3B+作为核心控制部件,树莓派与摄像头相连,获取实时图片信息。树莓派与L298N电机驱动模块相连,通过控制电机的正反转,进而控制小车的前进后退与转向。树莓派主要是通过GPIO 口(输入/ 输出端口)与硬件相连,从而进行数据交互,控制硬件工作并读取硬件的工作状态信号。智能小车的信息采集工作依靠一个摄像头,利用树莓派启用和控制摄像头,并获取摄像头图片进行分析。小车的驱动模块包括电机驱动板,电机采用直流电机,电机驱动板采用的是L298N 双H桥直流电机驱动芯片,智能小车的前进和后退可以利用双轮转动来实现,而转弯可以利用单轮转动来实现,小车整体设计结构图如图1所示。

图 1 自动驾驶智能小车整体结构图

树莓派3B+控制器

  本次课设使用老师所提供的树莓派3B+,故不再作控制器的方案选择。使用树莓派3B+开发板进行自动驾驶小车系统的嵌入式开发有以下几个优点:

  • (1)树莓派开发板默认系统为Raspbian系统,Raspbian系统是基于debian的树莓派官方操作系统。同时树莓派也支持其他种类繁多的操作系统,包括我们需要的Ubuntu mate系统。使用Ubuntu mate系统的话,开发板的操作系统就和PC机使用的系统所对应起来了,程序的移植出错的概率就会小很多。而且树莓派3B+的系统烧写非常便捷,只需要在树莓派的官网下载对应的系统img镜像文件,然后烧写入系统TF卡中,插上树莓派开发板就能直接使用该系统。

  • (2)因为树莓派3B+强大的性能,所以可以选择不交叉编译,而直接在树莓派开发板Unbuntu mate系统中搭建和PC机Ubuntu系统相同的开发环境,由PC机对自动驾驶小车系统模拟成功后,直接把工程文件传入开发板中进行编译。

    扫描二维码关注公众号,回复: 8655100 查看本文章
  • (3)只需要一根网线,将树莓派和笔记本电脑的以太网接口相连,还有获取到树莓派开发板的IP地址,就能轻松地使用SSH安全外壳协议进行远程登陆树莓派Ubuntu mate系统进行操作,还能利用Windows系统自带的Mstsc远程桌面控制功能对树莓派开发板进行图形界面的操作,实现不需要外接显示屏就能利用笔记本电脑的显示屏对树莓派开发板进行操作,非常便捷。

  • (4)利用树莓派3B+自带的排线摄像头接口,可以非常方便地进行拍摄视频以及拍摄照片以供系统后续分析处理使用。
    综合以上优点,可以说基于ARM的树莓派3B+开发板是个不错的选择,另外与树莓派3B相比,树莓派3B+的性能优势更加明显,具体性能比较分析如图2所示,树莓派3B+实物图如图3所示,树莓派3B+引脚PCB图如图4所示,树莓派3B+的GPIO引脚图如图5所示,树莓派3B+原理图如图6所示。

图 2 树莓派3B+与3B性能比较图

图 3 树莓派3B+实物图

图 4 树莓派3B+引脚PCB图

图 5 树莓派3B+的GPIO引脚图

图 6 树莓派3B+原理图

发布了141 篇原创文章 · 获赞 114 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_39059031/article/details/103724186
今日推荐