船舶航向实验系统及航向控制器的设计与仿真课设报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告船舶航向实验系统及航向控制器的设计与仿真

姓名: XXX

专业班级:

学号:

指导老师:***

2012年12月21日

摘要

本课程设计利用Matlab环境中的Simulink仿真工具箱和友好的GUI界面,设计了船舶航向实验系统所需的航向控制器。该航向控制器通过实物仿真,帮助学生更直观地理解航向控制的过程,增强感性认识,培养学生的研究能力、综合应用能力和创新能力;同时本课程设计所设计的船舶航向控制器是一个开放的平台,有兴趣的同学可以根据需要添加相应的程序来实现所需功能。

文中基于Matlab /GUI的串口通信功能的编程实现表明利用Matlab/ GUI可以进行包含一般界面元素的界面开发,在此基础上,加入串口通信功能,实现数据的实时采集与分析处理,并进行图形化显示。在实物仿真中通过串口将计算机与船舶模型连接构成闭环船舶航向控制系统,利用Simulink中的控制器控制船舶模型,此控制器可直接使用工具箱中的控制器和也可使用设计好的控制器,更换方便,操作简单,易于实现。

图形用户界面(Graphical User Interface,简称GUI )是提供人机交互的工具和方法。Matlab用一个包含多种不同风格用户控件对象的图形窗口代表用户界面。用户必须对每一个对象进行编程,使用户在GUI中的行为能够达到相应的目的。Matlab/GUI是一种新型的图形用户界面开发方式,特别适合能够熟练运用Matlab语言进行仿真但是对VC界面开发了解不够深入的科技工作者。

本课程设计所设计航向控制器为PID自整定控制器,控制器部分是利用Matlab逻辑工具箱进行设计,此方法设计步骤简单,易于实现,可直接与Simulink工具箱连接进行仿真,并且以该控制器为核心的仿真图也可与仿真实验平台进行完美的连接,因此可以通过仿真实验平台验证控制器的性能。

关键词:GUI 航向控制 PID 实物仿真

目录

第一章概论 (1)

1.1引言 (1)

1.2图形用户界面概述 (1)

第二章 GUI的创建 (3)

2.1 GUI设计概述 (3)

2.2 GUI实现 (3)

2.3采用GUIDE创建GUI (4)

2.3.1 GUI组件介绍 (4)

2.3.2菜单编辑器 (4)

2.3.3创建GUI模型 (4)

第三章控制器的设计 (7)

3.1串口的基本操作 (7)

3.2实物仿真 (7)

3.3 S-FUNCTION函数 (8)

结果 (11)

参考文献 (12)

致谢 (13)

第一章概论

1.1引言

本课程设计所设计的船舶航向控制器采用Matl ab环境中的Simulink仿真工具箱和GUI 界面。

Matlab是Mathworks公司推出的一款功能强大的数学软件。它集数值分析、矩阵计算、信号处理和图形显示于一身,包含大量高度集成的函数可供调用,命令语句功能强大为科学研究,工程设计及众多学科领域提供一种简洁、高效的编程工具,并在图像处理、控制设计、信号检测、金融建模设计等领域得到广泛应用。因此在制作各种教学软件或信号处理软件时,在Matlab提供的GUI( GraphicalUser Interface)上利用Matlab语言编写核心代码并构建框架是一种不错的选择这不但减少了代码编写的工程量而且制作出的软件同时具有界面友好和能够方便进行各种数据处理及图像分析等特点。

随着信息社会的不断推进,具有不同功能的应用软件已成为人们生活、学习及工作中不可缺少的一部分。比如,工作中经常用到的文字处理软件、图形图像软件等,对于这些软件的设计,程序员大多习惯于选择VC、Java、VB等高级编程语言编写代码,因为这些编程语言制作出的软件界面友好,功能强大。然而在对大量数据进行各种复杂分析和处理时,相比于Matlab编程语言而言,这些高级语言则处于明显的劣势。Matlab不仅具有强大的科学计算功能,还具有界面设计开发功能。

Matlab图形用户界面是有别于VC界面和Java界面的是一种新型界面开发方式。对于熟悉Matlab而不想编写大量VC代码的科研人员来说,Matlab/GUI无疑是一个最佳选择。它既能嵌入已有的仿真程序,又能把仿真的图形化结果以人机交互的动态方式展现给操作者,给人深刻的印象,同时仿真代码的不可见性为一些不熟悉Matlab的操作者提供了操作界面的可能。

在基于Matlab/ GUI制作的软件中关键需要解决三大问题:1、界面功能;2、界面外观的优化;3、不同GUI之间的调用。因此,本课程设计给出一个利用Matlab/GUI制作的仿真控制器的实例。此仿真控制平台是为了满足学生船舶控制实验的需要。

本课程设计在设计仿真控制平台中涉及到航向控制器的设计,航向控制器是仿真平台的基础,在航向控制器的基础之上实现仿真平台上的相关功能。

1.2图形用户界面概述

Matlab是一套高性能的数值计算和可视化软件,它作为新兴的逻辑语言和可视化工具,有着其他编程语言所不能比拟的优势,如Fortran语言是一种专门用于科学计算的语言,但其图形界面的功能比较弱,利用其开发的程序,用户界面不友好,使用起来不方便。而Visual Basic, Visual C等可视化编辑语言开发出来的程序界面友好,但由于其不是专门用于科学计算的语言,因此其科学计算功能较弱。

由于Matlab强大的应用功能,用户越来越多。Matlab的应用可让用户不再需要了解大量底层与开发无关的工作,极大地提高了开发效率。Matlab为解决用户开发和客户交互的局限,提供了一个全新的GUI设计方案。

图形用户界面(GUI, Graphical User Interface)是提供人机交互的工具和方法。GUI 是使用图形对象(例如按钮、文本框、滚动条和菜单等)创建的用户界面,这些对象对计算机用户而言都有明确的含义,例如移动滚动条将会改变数值,按下OK按钮将完成并应用用户的设置,同时设置对话框消失。当然用户必须保证这些不同对象间能够协调地工作。Matlab 用一个包含多种不同风格的图形窗口代表用户界面。用户必须对每一个对象进行编程,使用户在GUI中的行为能够达到相应的目的。Matlab的GUI为开发者提供了一个不脱离Matlab 的开发环境,更有益与Matlab程序的GUI集成。

在Matlab6.5中,图形用户界面是一种包含多种图形对象的界面,典型的图形界面包括图形显示区域、功能按钮空间以及用户自定义的功能菜单等。为了让界面实现各种功能,需要对各个图形对象进行布局和编程。这样,当用户激活对应的GUI对象时,就能执行相应的行为。最后,必须保存自己创建的GUI,使得用户可以应用GUI对象。

在Matlab中,所有对象都可以使用M文件进行编写。GUI也是一种Matlab对象,因此,可以使用M文件来创建GUI。使用M文件创建GUI的方法也是最基础的,使用其他方法创建GUI图形界面时,实现图形控件的各种功能时,也需要编写相应的程序代码。

除了使用M文件来创建GUI对象之外,Matlab还为用户开发图形界面提供了一个方便高效的集成开发环境:Matlab图形用户界面开发环境(Matlab graphicaluser interface development environment)简称GUIDE,其主要是一个界面设计工具集。Matlab6.5将所有GUI所支持的用户控件都集成起来,同时提供界面外观、属性和行为响应方法的设置方法。除了可以使用GUIDE创建GUI之外,还可以将设计好的GUI界面保存为一个FIG资源文件,自动生成对应的M文件。该M文件包含了GUI初始化代码和组建界面布局的控制代码。

使用GUIDE创建GUI对象执行效率高,可以交互式地进行组件布局,还能生成保存和发布GUI的对应文件。

本课程设计选择用Matlab的图形用户界面设计是因为不需要编写大量的代码,它既能嵌入已有的仿真程序,又能与仿真环境相结合。

相关文档
最新文档