登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 信息工程 > 正文

基于ARM的无人船自动航行控制器设计毕业论文

 2020-02-17 11:02  

摘 要

随着全球气候的恶化,人们对于自然环境的治理变得越来越重要,其中,对于湖泊、海洋环境的治理尤为重要。由于人工对湖泊、海洋的治理成本高、效率低,采用可以自动控制的无人船可以有效地提高工作效率。对于无人船自动控制的研究,也在一步步走向成熟。

本文主要介绍了一种基于ARM的无人船自动航行控制器的设计,其主要完成的工作有以下几点:

(1)使用ARM STM32开发板进行嵌入式编程,设计了一块以STM32F429芯片为内核的液晶显示控制终端。该控制端可以使用触摸滑块,用滑动滑块的方式控制无人船以向前行进、向后撤退、右转、左转的状态在水面上行进。同时该控制端可以接收来自无人船姿态传感器、GPS模块的数据并显示,以此监测无人船的状态。

(2)使用ARM STM32开发板进行串口编程,通过串口通信的方式获取姿态传感器、GPS模块的数据。通过姿态传感器陀螺仪获取的角速度积分获取俯仰角和横滚角,通过姿态传感器加速度计的数据判断初始状态是否水平,通过磁力计的磁感应强度信息进行反三角解算得到偏航角的信息。遵循了NMEA-0183协议获取具体的GPS经纬度信息。

(3)制定了控制端到船体的运动指令,以帧的格式来向无人船发送运动指令,将向前行进、向后撤退、左转、右转这几种状态全部映射成帧指令。把控制端的滑块坐标信息与发送指令的内容一一对应,通过滑动滑块使其位置坐标信息改变,使无人船接收到不同的指令,以不同的运动状态、不同的航速进行航行。

(4)使用WIFI通信模块进行整个过程指令的发送、数据的传输。其基本的传输路径都是发送端使用串口把数据传到WiFi模块,WiFi模块把数据传到云端,接收的WiFi模块再从云端通过主题信息的识别把特定的数据通过串口发送给接收端。

通过以上工作的完成,可以在水面上控制液晶显示屏的滑块控制无人船以不同的运动状态运动,控制端可以显示来自船载姿态传感器和GPS的信息。控制人员可以根据这些姿态信息、GPS信息使用滑块对无人船进行微调,达到智能控制。

关键词:嵌入式编程;无人船控制;姿态采集

Abstract

As the global climate deteriorates, people's governance of the natural environment becomes more and more important. Among them, the management of lakes and marine environment is particularly important. Due to the high cost and low efficiency of artificial management of lakes and oceans, the use of unmanned vessels that can be automatically controlled can effectively improve work efficiency. Research on the automatic control of unmanned ships is also maturing step by step.

This paper mainly introduces the design of an automatic navigation controller for unmanned ships based on ARM. The main work done is as follows:

(1) Using the ARM STM32 development board for embedded programming, a liquid crystal display control terminal with STM32F429 chip as the core was designed. The control terminal can use the touch slider to control the unmanned ship to travel forward on the water surface by moving forward, retreating, turning right, and turning left. At the same time, the control terminal can receive data from the unmanned ship attitude sensor and the GPS module and display it to monitor the state of the unmanned ship.

(2) Using the ARM STM32 development board for serial port programming, and obtain the data of the attitude sensor and GPS module through serial communication. The pitch angle and the roll angle are obtained by the angular velocity integral obtained by the attitude sensor gyroscope, and the initial state is determined by the data of the attitude sensor accelerometer, and the information of the yaw angle is obtained by inverse triangulation calculation by the magnetic induction intensity information of the magnetometer. Obtain specific GPS latitude and longitude information according to the NMEA-0183 protocol.

(3) The motion command from the control end to the hull is formulated, and the motion command is sent to the unmanned ship in the form of a frame, and all the states of forward travel, backward retreat, left turn, and right turn are all mapped into frame commands. The slider coordinate information of the control end is in one-to-one correspondence with the content of the transmission instruction, and the position coordinate information is changed by sliding the slider, so that the unmanned ship receives different instructions and navigates in different motion states and different speeds.

(4) Using the WIFI communication module to transmit the entire process command and transfer data. The basic transmission path is that the transmitting end uses the serial port to transmit the data to the WiFi module, and the WiFi module transmits the data to the cloud, and the received WiFi module sends the specific data through the serial port to the receiving end through the identification of the topic information from the cloud.

Through the completion of the above work, slider on liquid crystal display can be used on the water surface to control the unmanned ship to move in different motion states, and the control end can display information from the ship's attitude sensor and GPS. The controller can use the slider to fine tune the unmanned ship based on the attitude information and GPS information to achieve intelligent control.

Key Words:embedded programming;unmanned boat control;attitude collection

目 录

第1章 绪论 1

1.1 研究背景及意义 1

1.2国内外研究现状 1

1.3论文结构 3

第2章 无人船系统总体设计 4

2.1 系统需求及可行性分析 4

2.2系统总体设计 6

2.3电机的驱动 6

2.3.1 电机的基本原理和选型 6

2.3.2 电机的驱动设计 8

2.4 姿态数据的获取 9

2.4.1 姿态传感器的基本知识 9

2.4.2 姿态采集装置的设计 10

2.5 GPS数据的获取 12

2.6 控制界面的设计与数据的传输 13

2.7 本章小结 16

第3章 系统软件设计与功能实现 17

3.1 电机的控制 17

3.2 LCD人机交互设计 20

3.3 姿态原始数据的获取 22

3.4 姿态角的解算 26

3.5 GPS数据的获取 30

3.6 本章小结 32

第4章 系统测试 33

4.1 航行控制实验 33

4.2 姿态采集测试 34

4.3 航行数据采集 37

4.4 本章小结 38

第5章 总结与展望 39

参考文献 40

附录A 船控电机指令 41

致谢 43

第1章 绪论

1.1 研究背景及意义

水是生命之源,地球上超过70%的地区都被水笼罩着,人类的文明也离不开水,大河流域孕育了四大文明古国,海洋流域造就了古希腊的繁荣商业。 然而随着工业化的进行,全球环境加剧恶化,雾霾、气温上升等问题层出不穷,作为气候的调节器,河流、海洋的作用非常重要,所谓 “工欲善其事,必先利其器”,为了防止水域的生态环境恶化,对于水域环境、水质的监测不容小视[1]

目前大多数对流速、水质、水位等水文数据的探测依靠人工采集,然而人工采集的业务量大、效率低、数据不准确,并且很多水域的工作环境异常恶劣,工作人员的工作风险很高,比如对海洋气候的监测中,面对风暴、洋流等情况人工作业的危险系数极高,因此有必要开发出一种低成本、低风险、高效率的无人智能监测平台。无人船技术的迅猛成长恰好可以弥补人工作业的缺点。首先,无人船的船体小,灵活性较高,造价较低[2]; 其次,机器人、智能传感器、无线传感网、数据的通信与传输等技术可以很好的融合在无人船技术上[3]。这样的背景下,无人船将集环境水质检查、水下测量工作、科学探测、生命救援、安保巡查于一体,起到极其重要的作用,甚至可以发展到军事作战领域[4]

无人船作为大数据、智能控制发展的衍生产物,其定义较为宽泛,一般来说,我们通常使用智能船舶的概念去定义无人船。其主要具备四个特点:一、可以智能感知和探测周围环境;二、具有记录信息的记忆能力,即可以存储先前探测到的环境信息;三、具有学习能力,可以根据当前的储备知识学习并适应环境的变化;四、具有良好的决策能力,可以根据环境的变化来调整自身的状态,比如调整自身的航行、航速等[5]

1.2国内外研究现状

由于无人船在海洋探测的重要作用[6],对于无人船的控制系统设计[7],越来越多的科研人士都有些许的涉足。以下介绍几种成熟的无人船控制设计方案。

方案一:该方案主要分为船体系统和岸上操纵两个部分,岸上操纵部分可以在500米以内通过控制台的摇杆控制船体,使船体在水面上向前前进、向后撤退、右转和左转等运动。此外,操控台可以通过按键的控制,实现船体自带摄像机的镜头伸长、缩短以及手动对焦等功能[8]。该船的两个部分的通信方式采用了ZigBee方式,船的姿态采集部分可以采集水温、温湿度传感器以及磁力计等数据,实时发送给岸上控制端。

方案二:该方案采用的核心技术是GPRS技术实现船体的控制,DSP芯片进行数据的处理。上位机服务器首先需要被打开,服务器首先与互联网建立连接,当船载系统电源上电后,船上的GPRS模块则会主动发送用于连接校验的数据包。该数据包通过GPRS网络与 Internet 网络建立起与接收终端Sever的连接,由此构建起一个数据传输网络。

当船载电路板等设备供电后,GPRS天线安装在船体设备的两侧,通过接收来自4颗人造卫星的信号,这些信号经 GPRS模块E-285可以被解算并且转化为容易被应用且被处理的数字信号,信号可以通过UART串口实时地传给微处理器DSP2812芯片,这些数据经过 DSP芯片的处理实时传输给GPRS模块[9],因为之前 GPRS模块以及和服务器连接上了,因此数据也会实时地传给终端服务器,当人工查看服务器接收到的数据,可以观测到无人船的具体位置,根据接收到的位置信息即可以向船体发送控制信号,达到精确的船体位置控制。

方案三:该方案则是通过PID进行无人船的轨迹控制[10]。航迹控制技术即指通过改变舰船螺旋桨的舵力和推力以此保持舰船航向的恒定,从而达到轨迹控制。为了保持船体航行的稳定,则需要不停地改变螺旋桨的推力,达到实时控制。

PID轨迹控制实际上则是一种待反馈的航行控制,其原理图如图1.1所示。在 PID无人船航迹控制中,比例控制能够根据系统的偏差进行调节,当Kp参数设置的很大的情况下,那么轨迹调节的速度就变化得越快,当该参数设置的较小的时候,则调节的速度就会变慢。其中积分控制的方法则可以使船体系统消除稳态的误差,积分调节可以很好地使航向和设定的航向保持一致。而微分控制的效果即是一种对未来的误差进行预测和校准的方法,可以预测到未来的误差,使控制更加精确。

图1.1 PID航向控制原理图

在无人船的控制过程中,除了航行速度和航行轨迹的控制,航行过程中的各种传感器的使用也至关重要,可以说,没有传感器为航行的控制提供服务数据,无人船的航行控制都难以实现。随着集成工艺的大幅度发展,传感器也向小型、精密的方向不断发展。无人船上常用的传感器包括陀螺仪、加速度计、磁力计。陀螺仪是一个测量无人船变化的角速度[11]的量,加速度计则是测量加速度的量,磁力计则可以测量磁感应强度,从而获得航向角。这三个传感器通常都被集成为一块芯片MPU9250[12],这是典型的MEMS传感器[13],可以输出三轴的角速度、三轴加速度以及三轴磁力计的数据,是全球首例九轴传感器[14]。一般来说,这些传感器的数据不经过滤波处理会有很大的波动和偏差,因此通常会使用一种叫做卡尔曼滤波的方法进行数据的融合[15]。简单来说,卡尔曼滤波是基于五个基本的公式对系统进行最优估计的过程[16],比如在MPU9250的姿态角求解中,可以使用卡尔曼滤波来减小求得的姿态角误差。

随着技术的逐渐成熟,越来越多的新技术都可以运用到无人船的控制中,物联网、Android开发[17]等各种技术都会被用来进行无人船的控制,无人船这个行业也在火速发展,具有广阔的应用前景。

1.3论文结构

这篇文章主要描述了基于ARM的无人船航行控制器的设计过程。

第一章绪论,介绍了无人船的基本背景知识和国内外的现状。

第二章对设计的可行性进行分析,并从系统的角度描述整个系统的设计与架构,各部分的功能设计和实现。

第三章从软件的角度来详细谈模块功能的实现,包括船的控制和姿态、GPS的采集。

第四章是系统的测试,用来判断系统设计的功能是否完成,是否达标。

第五章是总结,概括性描述一下本次设计的结果和问题,并对未来改进进行展望。

第2章 无人船系统总体设计

2.1 系统需求及可行性分析

本次设计的无人船航行控制器主要功能需求包括以下几点:

1、能够控制无人船在水面上进行向前行进、向后撤退、右转、左转的运动。需要解决这样的两个问题:采用什么样的方式进行控制、采用什么样的方式进行通信。本次设计计划使用远程控制端UI界面操作的方式进行无人船航行的控制,使用WiFi通信模块进行数据指令信息的传输。

2、能够实时获取无人船的姿态信息。这里的姿态信息主要包括GPS信息、姿态角俯仰角Pitch、横滚角Roll、偏航角Yaw的信息。本次设计将采用九轴姿态采集模块JY901获取姿态角的信息,采用GPS模块获取位置信息。姿态采集的过程主要在于姿态角的解算过程,需要使姿态角解算的误差尽量小,并且姿态角的更新速率必须与船体的变动保持一致。

3、根据反馈的姿态信息进行航行路线的调整。假设无人船初始的航向指向正北,反馈的航向角是北偏东30度,那么控制的UI界面需要向无人船发送左转的指令,使无人船回归到正确的航向上。这个过程要求指令传输的过程要足够高效,并且无人船的响应要足够灵敏。

控制人员对无人船整个控制流程如图2.1所示。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

QQ图片20190430110346.jpg

QQ截图20190527202443.jpg

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图