基于深度学习的移动机器人路径视觉认知技术毕业论文
2020-04-08 12:45:52
摘 要
本设计将深度学习结合计算机视觉技术应用于移动机器人的视觉路径感知。搭建了差动式轮式移动机器人实验平台,包括移动机器人底盘机械结构设计,STM32控制系统PCB板制作,LabVIEW上位机设计,实现移动机器人基本运动控制、图像采集和视频传输。设计训练深度神经网络(Deep Neural Network, DNN)模型训练方法,包括数据采集,神经网络结构和训练程序设计。对训练得到的DNN模型在计算机上开展仿真验证,在移动机器人平台展开实际实验。仿真和实验结果验证了将深度学习应用于移动机器人对路径视觉认知的可行性。基于深度学习的视觉路径认知技术有别于传统计算机视觉技术在该方面的应用,具有实现简单、适应性强等优势,对于提升移动机器人的智能化水平具有参考意义。
关键词:移动机器人;深度学习;视觉感知
Abstract
This design applies deep learning combined with computer vision technology to the visual path perception of mobile robots. The experimental platform of differential wheeled mobile robots was set up, including the mechanical structure design of the mobile robot chassis, the PCB board production of the STM32 control system, and the LabVIEW upper computer design to realize the basic motion control, image acquisition and video transmission of the mobile robot. The training method of Deep Neural Network (DNN) model was designed, including data acquisition, Neural Network structure and training program design. The DNN model obtained by training was simulated and verified on the computer, and the actual experiment was carried out on the mobile robot platform. Simulation and experimental results demonstrate the feasibility of applying deep learning to mobile robot's visual perception of path. Visual path recognition technology based on the deep learning is different from the traditional computer vision technology applied in the aspect with the advantages of simplicity and strong adaptability. It has a reference significance for improving the intelligent level of mobile robots.
Key Words:Mobile robots; Deep learning; Visual perception
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 1
1.3 研究内容及论文结构 2
第2章 移动机器人硬件设计 3
2.1 整体方案设计 3
2.2 移动机器人底盘结构设计 4
2.3 STM32控制系统设计 5
2.3.1 STM32最小系统 5
2.3.2 电源电路设计 7
2.3.3 电机驱动电路设计 8
2.3.4 USB转TTL电路设计 9
2.3.5 其他模块接口设计 10
2.4 RASPBERRY PI视觉环境搭建 11
2.5 移动机器人平台实物搭建 12
第3章 移动机器人软件设计 14
3.1 软件结构设计 14
3.2下位机驱动程序 14
3.2.1 STM32C8T6程序设计 14
3.2.3 RASPBERRY PI程序设计 15
3.3 LabVIEW上位机 16
3.3.1界面介绍 16
3.3.2程序结构 17
第4章 基于深度学习的路径视觉感知DNN模型训练 19
4.1 数据集制作 19
4.1.1 图片数据采集 19
4.1.2 TFRecords文件生成 21
4.2 DNN结构设计 22
4.3 DNN模型训练 24
4.3.1 TensorFlow训练程序设计 24
4.3.2 TensorBoard训练过程可视化 25
第5章 移动机器人路径视觉感知仿真与实验 29
5.1 视觉路径感知DNN模型仿真 29
5.2 移动机器人路径感知实验 31
5.3 错误情况分析 32
第6章 总结与展望 33
参考文献 34
附录A 源程序清单 35
附录B元器件清单 112
致 谢 114
第1章 绪论
1.1 研究背景及意义
机器人技术自上世纪中期诞生至今,已经成为一门计算机、自动控制、传感器、先进制造等学科交叉的集成技术[1]。在机器人研究领域中对移动机器人技术的研究占有举足轻重的地位。移动机器人是一个集环境感知,动态决策与规划,行为控制与执行等多功能于一体的综合系统[2]。近年来,随着传感器技术、信息处理技术等的进步,移动机器人的应用场合逐步从传统制造行业拓展延伸,移动机器人开始在公共服务、教育、救援等复杂环境下工作,逐步成为人类生产生活中不可或缺的一部分。
人工智能的时代已经到来,移动机器人变得越来越智能。如何让移动机器人能够在未知非结构化环境中独立完成给定任务是目前国内外移动机器人研究领域的焦点[3]。移动机器人在未知环境下工作最安全有效的方式是让其停留在已有路径上,因此实现移动机器人对路径的认知是有意义且有必要的。例如,对于工业移动机器人自动引导车(automated guided vehicle, VGA),确保其在固定路径上按指定向移动可保障生产安全、提升运转效率;对于无人驾驶汽车,实现其对道路的准确感知是保障行驶安全的大前提,这对于实现智能交通、智慧城市而言具有重要意义;对于服务机器人,通过对路径的感知实现自由移动将提升其智能化水平,进一步提高其服务质量,为人类生活带来便利;对于搜索和救援机器人,实现其在陌生环境下沿着已有路径自主移动将大大提升搜索和救援效率[4]。研究移动机器人的路径认知技术是实现移动机器人在未知环境下自主开展工作的前提,对于提升移动机器人的智能化程度,使其更好地辅助人类生产生活而言具有重要意义。
1.2 国内外研究现状
20世纪80年代,Smith、Sclf和Cheeseman提出SLAM(Simultaneous Localization And Mapping,SLAM)技术,即同时定位与地图构建,具体是指移动机器人在未知环境下,通过传感器测量周围环境信息,逐步估计自身的位置和运动状况,并且同时估计和描绘出周围环境地图的过程[5]。目前的移动机器人系统大多通过两种方式实现在复杂未知环境下的运动决策,一种是通过单目摄像头、双目摄像头、RGB-D摄像头等视觉系统获得环境彩色图像甚至深度图像,采集三维点云数据实现障碍分析和物体识别;另一种是借助超声波、雷达、激光测距仪等传感器,采集二维平面点云数据实现定位和避障。
深度学习由人工神经网络演变而来,近几年引起了极大的研究兴趣。深度学习方法首次出现在著名的Image net图像分类比赛,2012年参赛者Alex使用alexnet神经网络结构夺得当年比赛冠军;2013年,我国首家深度学习研究院百度深度学习研究院正式成立;2014年,FaceBook推出DeepFace系统,香港中文大学提出DeepID系统,二者对LFW数据集的人脸识别率均已超出人类肉眼的识别率;2016至2017年,谷歌基于深度学习研发的围棋机器人AlphaGo先后打败人类围棋世界顶尖选手李世石和柯洁[6]。深度学习的蓬勃发展离不开互联网技术的进步,因为互联网的存在,我们可以轻松获取训练深度神经网络模型所需要的海量数据。此外,计算机硬件技术的进步保障了深度神经网络的“深度”够深,模型训练速度够快。
1.3 研究内容及论文结构
本次设计主要目的是将深度学习应用于计算机视觉技术并借此实现移动机器人对路径的视觉感知。首先搭建了移动方式为两轮差动驱动的移动机器人实验平台。然后实现了对该移动机器人平台的基础运动控制,包括蓝牙遥控下的自由移动和摄像头实时画面传输。然后以卷积神经网络为基础,设计了实现移动机器人视觉路径感知的深度神经网络结构(Deep Neural Network,DNN)。最后针对具体场景开展数据采集和训练,实现移动机器人在真实环境下对路径的视觉感知。
论文各章节内容安排如下:
第1章:绪论。本章主要对本设计题目的研究背景和研究意义进行分析,介绍了移动机器人路径感知和深度学习的国内外发展现状。
第2章:移动机器人硬件平台搭建。本章提出本次设计整体方案,基于差动轮式机器人搭建了移动机器人实验平台,包括底层STM32控制板制作和RASPBERRY PI视觉环境搭建。
第3章:移动机器人软件设计。本章介绍了实现移动机器人基本功能的程序设计方法,具体包括STM32控制程序实现移动机器人实验平台基本运动控制;RASPBERRY PI程序实现实时图像采集和视频传输;LabVIEW上位机实现对移动机器人运动的无线控制和远程视频画面显示。
第4章:基于深度学习的路径视觉认知DNN模型训练。本章阐述了DNN模型训练过程,具体包括数据集制作、DNN结构设计和DNN模型训练。
第5章:移动机器人路径视觉感知仿真与实验。本章基于上述工作展开实际实验,包括DNN模型预测在DevTop电脑上的仿真和在移动机器人平台上的实验。
第6章:总结与展望。本章总结了取得的设计成果,分析了存在的问题,并提出了改进方案。
第2章 移动机器人硬件设计
移动机器人硬件平台的搭建是研究基于深度学习的路径视觉感知算法的基础。基于STM32单片机和RASPBERRY PI完成了移动机器人硬件平台的搭建,并实现了基本的运动控制功能,包括蓝牙遥控移动机器人自由运动、超声波避障、以及实时视频传输等。此外,还定义串口通讯协议,保留了串口通讯接口。
2.1 整体方案设计
移动机器人实验平台设计方案如图2.1所示,主要围绕STM32单片机和RASPBERRY PI卡片机两个控制核心展开。STM32外设丰富、实时性好,主要负责移动机器人底层运动控制和传感器数据采集。RASPBERRY PI搭载定制的Linux系统,运算能力强,主要负责移动机器人基于神经网络的视觉环境的搭建以运行深度神经网络模型。深度神经网络模型的输入为一张实时捕获的图片,输出为模型根据此图片预测出的移动机器人下一步运动方向以使其沿着路径行进[7]。此外设计LabVIEW上位机,实现移动机器人平台的运动遥控,以及摄像头画面实时传输。STM32与LabVIEW上位机之间通讯方式为蓝牙通讯,RASPBERRY PI与LabVIEW上位机通过WLAN传送视频画面,STM32和RASPBERRY PI之间为串口通讯。
图2.1 整体方案设计
2.2 移动机器人底盘结构设计
本次设计的移动机器人平台为实验平台,应具有结构简单、运动控制方便、拓展性强等特点。因此将移动机器人设计为两轮差速驱动式轮式机器人[8],两个轮子分别由独立的直流电机驱动,配合一个万向轮实现移动机器人的自由运动。移动机器人底盘配备有多种排列分布的安装孔,且为层叠式结构,可实现多层组装。在三维软件Inventor中设计底盘三维模型,得到效果图如图2.2所示。将三维模型导出生成工程图,选择亚克力作为加工材料,交由厂家通过激光切割完成加工。将相同的多片底盘通过铜柱连接固定可得到多层结构,如图2.3所示。
图2.3 底盘三维模型 图2.4 多层底盘组装
选择相应的角码安装好直流电机,此处选用亚博智能520直流减速电机,电机详细参数如表2.1所示。
表2.1 520电机参数
额定电压 (V) | 减速比 | 空转电流 (mA) | 功率 (W) | 堵转最大电流 (A) |
12 | 1:30 | 250 | 4.8 | 6.5 |
将轮子通过联轴器与直流电机连接,并装上万向轮得到最终移动机器人底盘如图2.4所示。
图2.5 移动机器人底盘
2.3 STM32控制系统设计
STM32控制系统主要实现底层对实时性要求较高的硬件的驱动[9],例如直流电机。此外STM32控制系统还负责将上层RASPBERRY PI路径视觉感知结果转化成移动机器人的实际运动。STM32控制电路主要包括STM32最小系统、电源电路、电机驱动电路、USB转TTL电路等,将每个电路模块单元化,方便调试。使用Altium Designer软件,完成STM32控制系统电路原理图的设计和PCB电路的绘制。将Altium Designer生成的PCB文件交由厂家生产制作PCB板,自主完成元器件焊接后得到STM32控制板如图2.6所示。
(a)电路正面 (b)电路板背面
图2.6 STM32控制板
2.3.1 STM32最小系统
本设计选用的单片机芯片为意法半导体(ST)公司出品的STM32F103C8T6,该芯片属于中低端的32位ARM微控制器,内核为Cortex-M3。STM32F103C8T6属于STM32F103xx系列单片机,性价比较高,内部资源丰富,该系列单片机内部结构示意图如图2.6所示。本次设计主要用到的内部资源包括SysTick、USART1、USART3、EXT1、TIM1、TIM2、TIM4、GPIOA和GPIOB。其中SysTick用于产生系统时钟;USART1用于STM32与RASPBERRY PI通讯;USART3用于STM32通过蓝牙模块与LabVIEW上位机通讯;EXT1和TIM1用于超声波传感器的驱动;TIM2用于产生两路PWM波以驱动两个直流电机;TIM4用于产生两路PWM波以驱动两个舵机;GPIOA和GPIOB配合上述外设的使用以及模拟I2C通讯以驱动MPU6050模块。
图2.6 STM32F103xx内部结构示意图
STM32F103C8T6最小系统电路如图2.7所示,主要包括晶振电路和复位电路。
图2.7 STM32F103C8T6最小系统
2.3.2 电源电路设计
本系统设涉及的电源包括12V、5V和3.3V,其中12V用于直流电机的供电,5V用于舵机、超声波传感器、RASPBERRY PI等的供电,3.3V用于STM32F103C8T6芯片供电。因此选用12V的锂电池,设计12V转5V电源电路和5V转3.3V电源电路以满足系统供电需求。
12V转5V供电方案如图2.8所示,选用德州仪器(TI)推出的LM2596S-5.0开关电压调节器。LM2596S-5.0是降压型电源管理单片集成电路,具有开关控制功能,本次设计未启用开关功能。LM2596S-5.0允许最大供电电压为45V,最大可输出3A 的驱动电流,线性好和负载调节能力强。
5V转3.3V供电方案如图2.9所示,选用立琦科技(RICHTEK)RT9193-33直流稳压芯片。RT9193-33最大的特点是噪声低且静态电流消耗低,由于本移动机器人实验平台通过锂电池供电,选用该芯片有助于保障电池供电时间。RT9193-33最小输入电压为2.5V,最大输入电压为5.5V,最大输出电流为300mA,满足STM32单片机供电需求。
图2.8 12V转5V方案
图2.9 5V转3.3V方案
2.3.3 电机驱动电路设计
选用东芝(TOSHIBA)TB6612FNG电机驱动芯片[10],设计直流电机驱动电路如图2.10所示。TB6612FNG为双驱动,相比传统的L298N电机驱动芯片,TB6612FNG驱动效率更高,发热更小。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: