基于树莓派的远程操控终端设计毕业论文
2021-11-14 21:06:14
论文总字数:30316字
摘 要
无人船已经在水下地貌探测,水下搜救,以及军事上都有着重要的应用。本次设计主要使用树莓派作为无人船的硬件平台,以Android APP作为无人船的显示和控制端,实现无人船的远程操控。本次设计主要完成无人船基础定位、视频传输和显示以及无人船操控。本文借助python编程语言首先在树莓派上进行网络编程。将树莓派作为UDP信息发送端和开创两个TCP线程分别是客户端和服务端。在树莓派上安装有摄像头模块和定位模块,分别获取视频信息和定位信息。通过搭建好的通信方式将这些信息发送至手机端进行处理和显示。在Android APP上设计有地图显示功能、无人船远程操控功能、无人船状态显示功能和无人船视频显示功能。论文主要研究了视频传输的实时性、定位信息的精确度、Android APP控制端框架和两种通信协议复合使用的可行性。经过测试说明:在无人船与控制端进行通信时,视频传输使用UDP通信协议效果比TCP好。但在控制指令、无人船状态和定位信息地传输中,使用TCP会更安全,信息传输会更准确。因此本次设计针对不同种类的信息采用不同的通信方式,以此实现了无人船与操控终端之间的通信。
关键词:无人船;树莓派;TCP/UDP;Android;视频传输;定位系统
Abstract
Unmanned surface vehicle(USV) has the important application in undersea detection, underwater rescue and the military affairs. In this design, the hardware of USV is made mainly by the raspberry pi and the remote controller side of USV is deigned by Android Studio based Android system. In this article, we use python program language for the network communication between USV and the remote controller side. So, we use the method that TCP and UDP mixed together for communications. We set the camera module and location module on the raspberry pi which can help us get video around the USV and location message of USV. Then, we can delivery these messages to remote controller side which can address and display them. There are some designs in the Android such as direction map showing , remote control of USV, state of USV showing and the video from USV showing. In this thesis, we mainly research the real-time capability of video delivering and the accuracy of location, the convenience of controller APP made by Android and the practicability of multi-communication method. Through the test, we find UDP does better than TCP in video delivering when USV has the communication with controller APP. Whereas TCP is much more safety and accuracy in other messages delivering such as location, state and command messages. So, we think the way, multi-communication, is the proper and practicable way. Finally, we design a new way for USV communication which result in the successful communication between USV and the controller on the phone.
Key Words: unmanned surface vessel(USV);Raspberry Pi;TCP/UDP; Android;Video transmission;location system
目录
摘 要 I
Abstract II
第1章 绪论 1
1.1 引言 1
1.2 课题研究背景 1
1.3 研究目的及意义 1
1.4 国内外研究现状 2
1.5 论文结构安排 3
第2章 系统方案设计 4
2.1 系统设计目标 4
2.2 系统总体框架设计 4
2.3 无人船端设计方案 4
2.4 Android端操控设计方案 5
2.5 网络通信设计方案 7
第3章 硬件设施及编程开发相关技术研究 8
3.1 引言 8
3.2 树莓派 8
3.2.1 树莓派简介 8
3.2.2 树莓派配置 9
3.2.3 树莓派python编程 10
3.3 Android开发 11
3.3.1 Android Studio 集成开发环境 11
3.3.2 Android Studio 项目结构 11
3.3.3 UI界面布局、UI组件 12
3.3.4 Android进程与线程 13
3.3.5 广播、Handler 13
3.4 定位技术 14
3.4.1 定位模块 14
3.4.2 百度地图定位SDK 14
3.5 TCP/UDP通信协议 14
3.5.1 TCP/UDP通信协议 14
3.5.2 TCP/UDP通信协议区别 14
3.5.3 TCP/UDP具体编程时的区别 15
3.5.4 UDP视频传输 15
3.6 视频解码编码技术 15
第4章 无人船端设计实现 17
4.1 定位模块安装和定位信息获取 17
4.1.1 定位模块安装 17
4.1.2 配置树莓派环境 17
4.1.3 minicom调试 18
4.2 视频获取和发送 19
4.2.1安装树莓派摄像头模块 19
4.2.2 在树莓派上启用摄像头模块 20
4.2.3 视频资源获取和压缩 21
4.3 无人船端通信框架搭建和调试 22
4.3.1 通信方式和信息种类 22
4.3.2 通信方式的实现 22
第5章 Android端设计及实现 25
5.1 Android端设计的总体方案 25
5.2 UI界面设计 25
5.2.1 登陆界面设计 25
5.2.2 操控界面设计 28
5.3 视频显示 30
5.3.1 视频处理Bitmap 30
5.3.2 视频显示控件ImageView 31
5.3.3 视频在子线程与UI线程之间传输 32
5.4 定位显示 32
5.4.1 百度地图SDK调用 32
5.4.2 定位数据在地图中显示 34
5.5 无人船远程控制设计 34
5.6 手机端网络通信设计 35
5.6.1 TCP通信设计 35
5.6.2 UDP通信设计 35
5.6.3 TCP接收数据“解包”处理 35
第6章 系统整体调试 37
6.1 视频显示调试 37
6.2 定位显示调试 39
6.3 无人船控制调试 40
6.4 无人船状态信息显示调试 41
第7章 总结 43
7.1论文总结 43
7.2展望 43
参考文献 44
致谢 46
第1章 绪论
1.1 引言
本文的研究课题是基于树莓派的无人船定位系统设计,主要实现的功能是无人船定位信息发送、视频发送以及在Android APP上显示定位、视频信息和完成对无人船的远程控制。故本文章首先介绍基于树莓派的无人船定位系统的研究背景和意义以及国内外的研究现状,其次介绍论文的主要内容和结构安排,最后用大部分篇幅详细介绍本次设计具体技术研究和实现方法。
1.2 课题研究背景
早在二战时期,美国海军就应用无人遥控船在核试验中执行一些危险的任务,因此出现了军用无人船的雏形。但是当时的无人船由于技术限制,也只能执行一些简单的任务,并没有引起巨大关注。但最近二十年,科学技术突飞猛进,尤其是AI、计算机技术、无线通信技术等技术的革新[1]。无人船被重新推上了世界舞台。
无人船的虽然起源于军工用品,但在最近的发展中,它在民用领域同样大放异彩。科学家需要它在危险的环境中采集数据,而这种危险的环境往往是具有放射性的区域。无人船的出现和发展,无疑为科技的进步打上了一针强化剂。商人想用无人船来进行海上贸易,这样可以减少大量的人工成本以实现效益最大化。很多船舶公司尝试或者在试生产无人船,这无疑会在船舶市场掀起巨浪。
1.3 研究目的及意义
(1)提高定位精度和可靠性
请支付后下载全文,论文总字数:30316字