摘 要
近年来,机器人在工业领域上的应用已经变得日臻成熟与广泛,而且随着人们生活水平的提高,如何能让机器人走进我们人类的日常生活进而提高人们的生活质量已经成为机器人领域中的一个热门研究方向。与此同时,互联网的迅速发展不仅极大的改善了人与人之间沟通的效率和速度,而且也使物联网的概念变得更加火热,人们日趋希望能够通过自己的移动终端,譬如:手机、平板等设备来实现对自己家中物品的控制。因此建立一个高效、稳定的移动机器人的无线网络控制系统具有深远的意义。
现有关于移动机器人的研究中,很多通信模块均采用蓝牙、Zigbee 等硬件,这无疑极大地限制了移动机器人的应用范围及应用方式。本文通过对路由器模块的引用,使得用户能够不仅仅在家中,更能在工作场所等其他区域通过互联网实现对移动机器人的控制,极大地提高了用户体验。同时,本文采用的 ARM 控制芯片 STM32 较传统单片机芯片在数据处理的数量及速度方面都有了较大的提高和改善。
基于以上几点,本文通过在无线路由器上移植小型的 Linux 系统 OpenWrt,搭建了移动机器人的无线网络控制系统,并通过该控制系统实现了上位机对移动机器人的控制。另外,针对上位机中采集的图像显示不清晰、视频播放不流畅等问题引入了新的视频压缩算法,并引入了 SurfaceView 机制,进而使上述问题得到了明显的改善。本课题的研究采用先硬件后软件、先下位后上位、先易后难、先部分后整体的循序渐进方法:
1)下位机部分:首先,硬件方面:对 STM32 以及红外传感器、舵机等外加模块的硬件原理图进行分析总结,熟悉其工作原理和控制方法;其次,软件方面:
完成移动机器人 ARM 部分控制程序的编写和调试。
2)无线网络控制部分:首先,硬件方面:对 TP-Link WR703N 模块的硬件原理图进行分析总结,熟悉其工作原理和控制方法;其次,软件方面:熟悉 Linux内核中 WiFi 模块和视频等模块的实现机制,完成 OpenWrt 系统的烧写和配置。
3)上位机部分:Android 控制程序采用先部分,后整体的思路:首先,依次完成 UI 界面、Wi-Fi 模块、通信模块、功能模块、改进算法模块、视频处理等模块的程序的编写,最后完成整体程序的结合与调试。
4)搭建整个移动监控机器人的硬件平台,编译并烧写程序到 STM32 和路由器中,调试各个模块,实现其对应功能。
关键词:路由器;移动机器人;OpenWrt;Android;视频压缩算法;SurfaceView
Abstract
In recent years, the application of robots has become more mature and extensive in the industrial field, and with the improvement of people's living standards, how we bring the robot into our daily life and improve people's quality of life has become a popular research direction of the field of robot. In the meantime, the rapid development of Internet has not only greatly improved the efficiency and speed of communication between people, but also made the concept of Internet of Things more heated; people increasingly hope that through their own mobile terminals, such as: mobile phones, tablet and other equipment, they can achieve their own control of the items at home. So the establishment of an efficient and stable wireless network control system of mobile robot has far-reaching significance.
Such hardware as Bluetooth and Zigbee are used in many communication modules in the existing studies on mobile robot, which undoubtedly greatly limits the application scope and application modes of mobile robots. This paper, through the introduction of router module, helps users to realize their control to mobile robot not only at home but also in workplace and some other areas via the Internet, so as to greatly improve user experience. Meanwhile, the ARM control chip STM32 adopted in this paper has significantly perfected and improved the quantity and speed of data processing compared to traditional single chip.
Based on the statements above, in this paper, Small Linux system OpenWrt is transplanted onto the wireless router, mobile robot wireless network control system is erected, and the host computer realizes the control of mobile robot based on this system. In addition, new Video Compression Algorithm is introduced directed against the problems of blurring images and non-fluent video play collected into the host computer. The SurfaceView mechanism is also introduced, and the above problems have been obviously improved consequently. The step by step research methods adopted for this subject are as such, hardware first and software last, host computer first and slave computer last, easiness first and difficulty last, and part first and whole last.
1) Slave computer: First, hardware: analyze and summarize the hardware schematic diagrams of external modules such as STM32, infrared sensor, and steering gear, and get familiar with their working principle and control method. Second, software: complete the control programming and debugging of ARM part of mobile robot.
2) Wireless network control: First, hardware: analyze and summarize the hardware schematic diagrams of TP-Link WR703N module, and get familiar with its working principle and control method. Second, software: get familiar with the realization mechanism of WiFi, video and other modules in Linux kernel, and complete the programming and configuration of OpenWrt system.
3) Host computer: Android control program follows the idea of part first and whole last: First, complete the programming of UI interface, Wi-Fi module, communication module, function module, improved algorithm module, video processing module, etc…And complete the integration and debugging of overall program at last.
4) Set up the hardware platform for the entire mobile monitoring robot, compile and edit and complete the programming into STM32 and the router, debug every module, and achieve the corresponding functions.
Keywords: Router; Mobile robot; OpenWrt; Android; Video compression algorithm;SurfaceView
基于以上分析以及移动机器人在生产生活实践中存在的若干问题本文提出了基于 Linux 的移动机器人无线网络控制系统,该系统在极大的提高了移动机器人信息采集质量的同时也极大的提高了信息的传输速度与效率。与此同时,新算法的引用使得上位机反馈给用户信息的质量得到了极大的提升,进而提高了客户的用户体验。
全文主要内容及结构安排如下:
第 1 章首先简单介绍了课题的研究背景及意义;然后结合本文研究内容分别从移动机器人、移动机器人的无线网络控制系统及 Android 上位机对移动机器人的控制等方面,就当前的研究现状做了较为全面的总结;随后对本文的主要内容及结构安排做了简要的阐述。
第 2 章主要对下位机即 STM32 及其外围硬件的工作原理及其软件编程做了详细的阐述。在本章中,首先对 STM32 的软件开发环境的搭建做了较为详细的说明。其次,本章对移动机器人的主控模块电路的设计进行了分析。最后,本章对超声波模块、红外传感器模块、OLED 显示屏模块、L298N 控制的直流电动机及 SG90 舵机等外围传感器模块的工作原理及实现流程进行了较为细致的说明。
第 3 章是后面几章分析的基础,本章首先对开发移动机器人所涉及的开发环境做了简要的介绍,同时对整个系统所涉及的开发环境的搭建做了简要的介绍。
其次,本章对移动机器人无线网络控制系统中的核心即 OpenWrt 的开发及其配置方法做了详细的说明。最后本章对移动机器人整个无线网络控制系统的搭建及其调试进行了简要的阐述。
第4章主要是针对Android的开发流程进行了较为详细的说明。本章首先对Android应用程序开发的框架及其主要流程做了简要的阐述。其次,本章对Android上位机中主要的功能模块:WIFI资源的获取、SOCKET方法的使用、功能模块及UI界面的设计的代码进行了编译及说明。
第 5 章则是在第 4 章的基础上引入了一些改善算法进而提高了上位机对图片及视频的处理能力,极大的提高了移动机器人的用户体验。本章首先对 MJPEG压缩算法的运行原理及其实现做了较为详尽的阐述。随后,本章对传统的 View机制的工作原理及 SurfaceView 机制的工作原理及其实现流程做了简要的对比并进一步阐述了引入新方法的优越性。
最后对全文的主要研究工作及其实现方法进行了归纳总结,并对今后需要进一步深入开展的研究工作进行了展望。
移动机器人无线网络控制系统界面设计:
菜单界面
WIFI 界面
设置界面图
浏览界面
开始界面
目 录
目 录
摘 要
Abstract
插图索引
第 1 章 绪 论
1.1 研究背景及意义
1.2 移动机器人及其控制系统的国内外研究概述
1.2.1 国内外关于移动机器人的研究
1.2.2 移动机器人无线网络控制系统的研究
1.2.3 智能终端与移动机器人相互结合的研究
1.3 论文主要内容及结构
1.4 本章小结
第 2 章 基于 STM32 的移动机器人控制系统的设计
2.1 引言
2.2 开发环境的搭建
2.2.1 STM32CUBEMX 开发环境的简介及其搭建
2.2.2 RealView 开发环境的简介及其搭建
2.3 移动机器人主控模块硬件电路的设计及软件实现
2.4 移动机器人外围传感器等硬件模块的工作原理及其软件实现
2.4.1 超声波传感器工作原理及其实现流程
2.4.2 红外传感器的工作原理及其实现流程
2.4.3 OLED 显示屏的工作原理及实现流程
2.4.4 L298N 驱动的直流电动机和 SG90 舵机的工作原理及实现流程
2.5 本章小结
第 3 章 移动机器人无线网络通信系统的设计
3.1 引言
3.2 开发环境的搭建
3.3 无线网络通信系统硬件模块的选取及分析
3.4 OpenWrt 的开发及其配置
3.4.1 OpenWrt 的源码编译及其功能的基本配置
3.4.2 mipg streamer 软件的工作原理及其功能实现
3.4.3 ser2net 软件的工作原理及其功能实现
3.5 本章小结
第 4 章 移动机器人智能控制终端的设计
4.1 引言
4.2 开发环境的搭建
4.3 Android 应用程序开发的框架及其流程
4.4 Android 主要功能模块代码的分析
4.4.1 WIFI 资源的获取
4.4.2 Socket 方法的使用
4.4.3 功能模块
4.4.4 UI 界面的设计
4.5 本章小结
第 5 章 改进的 MJPEG 压缩算法及 SurfaceView 机制的研究
5.1 引言
5.2 改进的 MJPEG 压缩算法的运行原理及其实现
5.3 SurfaceView 机制的运行原理及其实现
5.3.1 View 机制的工作原理及其实现流程
5.3.2 SurfaceView 机制的工作原理及实现流程
5.4 本章小结
结论与展望
参考文献
致谢
(如您需要查看本篇毕业设计全文,请您联系客服索取)