基于神经网络深度学习的无人驾驶小车设计与制作
2021-12-17徐中林范俊宇高畅
徐中林,范俊宇,高畅
(沧州师范学院,河北沧州,061001)
1 系统硬件方案
系统硬件由主控板、PWM转换板、电机、舵机、电池、轮胎。从上到下依次为控制层、电机驱动层。控制层以树莓派微处理器为主控电路,PWM芯片选型PCA9685,电机驱动层主要以电机驱动电路、电源组成,为四轮车提供动力,在小车主控板的选择上,可以选择arduino,STM32,树莓派以及英伟达的jepson 系列,树莓派与嵌入式微控制器(STM32)和arduino相比,除了相同的IO引脚控制之外,还可以运行相应的操作系统,完成更复杂的任务管理与调度,能够支持更上层应用的开发,开发语言可选用Python、C语言,对于视觉处理、复杂数据处理有很大的优势。
如果有条件可以选用Jetson Xavier NX,相比树莓派4B 系列采用的VideoCore VI是经典的双重Shader架构(性能只有数+G Flops而英伟达的基于Volta架构,Jepson Xavier NX有48个Tensor内核,提供了6.8T Flops的FP16算力。内包含 两 个 DLA(Deep Learning Accelerator),支 持FP16和INT8,总计有21T Flops,性能相差数百倍,但是价格也很昂贵。
本文采用的是市场成熟廉价的树莓派4B。文中提及两套方案,可依据不同的处理器选用不同的算法。
小车在行驶过程中,需要大量视觉信息,故采用广角视觉传感器。拍摄角度为130°。
马达以及舵机控制模块,采用16路PWM控制模块PAC9685模块,该模块可以通过I2C通信模式,实现对多路电机舵机控制,能耗低,调节方便。
由于下位机采用树莓派微处理器进行设计,对于PAC9685多路PWM控制模块拥有集成库,开发较为容易,且能耗低,在使用时仅需要读取I2C地址,即可调用库实现对电机驱动模块,舵机的控制。
2 端到端控制系统及算法设计
本章内容是全文的核心,先介绍小车系统的设计,再介绍端到端控制系统算法的设计与实现过程,并从理论上阐述设计算法设计要素。……
