【文献阅读】Nonlinear controller design of a ship autopilot
(1)文章工作
The main goal here is to design a proper and efficient controller for a ship autopilot based on the sliding mode control method. A hydrodynamic numerical model of CyberShip II including wave effects is applied to simulate the ship autopilot system by using time domain analysis.
本文的主要目标是设计一种合适而有效的船舶自动驾驶仪控制器,利用含波效应的水动力数值模型模拟了CyberShip II船舶自动驾驶系统。
(2)PD控制器
A conventional autopilot system used for controlling the ship motion is a PD controller with constant parameters values. These controllers can work properly in precisely defined operating conditions, but the quality of their work is worse when these conditions change. Ship dynamic characteristics can change as a consequence of changes of the ship speed, load, and external disturbances such as waves, wind, and/or sea currents. In many cases manual tuning of control parameters is necessary.
一种用于控制船舶运动的传统自动驾驶系统是一种参数值不变的PD控制器。这些控制器可以在精确定义的操作条件下正常工作,但当这些条件发生变化时,它们的工作质量会更差。船舶的动态特性可以随着船舶的速度、负载和诸如波浪、风和/或海流等外部干扰的变化而发生变化。在许多情况下,手动调整控制参数是必要的。
Therefore a lot of research activities have been oriented to improving the quality of operation of these controllers using adaptive mechanisms which automatically change ship model parameters, depending on operating conditions.
因此,大量的研究活动都是为了提高这些控制器的运行质量,使用自适应机制,根据操作条件自动改变船舶模型的参数。
The controller which, due to its simplicity, is most frequently used in autopilot systems is the PD controller. It controls the rudder blade deflection depending on the values of the heading error and the yaw rate. The PD controller is described by the following formula:
由于其简单性,在自动驾驶系统中最常用的控制器是PD控制器。它根据航向误差和偏航率的值来控制方向舵叶片的偏转。PD控制器的描述公式如下:

where KP and KD are controller settings, ψd and ψ are the desired and current ship headings, respectively, r = dψ/dt is the yaw rate of the ship, and δz is the commanded rudder blade deflection.
其中KP和KD为控制器设置,ψd和ψ为当前航向,r=dψ/dt为船舶偏航率,δz为指令舵叶片偏转。
(3)评价函数
The cost function took into account the ship course error and rudder blade deflection, and was used for evaluating the quality of the steering action of the controllers.
成本函数考虑了船舶航向误差和方向舵叶片偏转,并用于评估控制器的转向动作的质量。
(4)控制器参数
For the nonlinear part of the sliding mode controller (43), the following values were assumed: ηh = 10, φh = 0.3
对于滑模控制器(43)的非线性部分,假设了以下值:ηh=10,φh=0.3,

while for the PD controller (20), the assumed gains were KP = 2 and KD = 50
而对于PD控制器(20),假设的增益为 KP=2 和 KD=50 。

The parameters in the reference model (44) were ωn = 0.1, ζ = 0.85.
参考模型(44)中的参数分别为ωn=0.1,ζ=0.85。

(5)结果对比


【文献阅读】Nonlinear controller design of a ship autopilot的更多相关文章
- 阅读DMA Controller Core 官方手册
阅读DMA Controller Core 官方手册 DMA控制器框架图 怎样去设定一个DMA控制器 实例化DMA控制器 参数配置界面如下图所示: 对于width of the DMA length ...
- 文献阅读笔记——group sparsity and geometry constrained dictionary
周五实验室有同学报告了ICCV2013的一篇论文group sparsity and geometry constrained dictionary learning for action recog ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(6)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(6) 1.创建工程与开启GUI 2.调试 查看关于 ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(5)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(5) 1.创建工程 启动vidado HLS co ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(4)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(4) 1.老样子,首先运行tcl脚本建工程: Vi ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(3)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(3) 优化lab1 1.创建工程,开启HLS 运行 ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(2)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(2) 1.实验目的 2.启动命令行 将命令行切换 ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis> 1.启动 2.创建工程 3.添加源文件 4.添加测 ...
- 文献阅读 | The single-cell transcriptional landscape of mammalian organogenesis | 器官形成 | 单细胞转录组
The single-cell transcriptional landscape of mammalian organogenesis 老板已经提了无数遍的文章,确实很nb,这个工作是之前我们无法想 ...
- AutoML文献阅读
逐步会更新阅读过的AutoML文献(其实是NAS),以及自己的一些思考 Progressive Neural Architecture Search,2018ECCV的文章: 目的是:Speed up ...
随机推荐
- Java流程控制:用户交互Scanner、选择结构
Java流程控制:用户交互Scanner.选择结构 用户交互Scanner Scanner类用于获取用户的输入 基本语法: Scanner s = new Scanner(System.in);s.c ...
- PostgreSQL中的row_number() 与distinct用法说明
一.示例 这两个SQL执行所得到的数据是一样的! select count(s.*) from ( select *, row_number() over (partition by fee_dat ...
- 内容分发网络 CDN
介绍 CDN 内容分发网络(英语:Content Delivery Network 或 Content Distribution Network,缩写:CDN)是建立并覆盖在承载网上,由不同区域的服务 ...
- K8S 1.20 弃用 Docker 评估之 Docker 和 OCI 镜像格式的差别
背景 2020 年 12 月初,Kubernetes 在其最新的 Changelog 中宣布,自 Kubernetes 1.20 之后将弃用 Docker 作为容器运行时. 弃用 Docker 带来的 ...
- Net6 Core Api(.net6)发布到IIS注意事项及显示HTTP 错误500.19解决方法
Net6 Core Api发布到IIS不同于webapi,依赖框架不同,配置也移至项目内Program.cs 一.发布到指定文件夹,和IIS,不过注意IIS应用程序池选择的是 "无托管代码& ...
- centos7配置vue环境
1.安装nodejs #下载源码 wget https://npm.taobao.org/mirrors/node/v14.15.4/node-v14.15.4-linux-x64.tar.xz #解 ...
- libcurl CURLOPT_WRITEFUNCTION 回调函数多次触发导致数据错乱的问题
记录一下自己犯的错误,回调函数本身就会提供数据大小,自己算反而出了问题. size_t Get_Receive_Data(void* buffer, size_t size, size_t nmemb ...
- Vue 非单文件组件(不常用)3步骤(创建、注册、使用)和几个注意点、组件的本质(VueComponent)
Vue中使用组件的三大步骤: 1.定义组件(创建) 2.注册组件 3.使用组件(写组件标签) 一.如何定义一个组件? 使用Vue.extend(options)创建,其中options 和 new V ...
- winfrom快捷键
1.当活动窗体的快捷键 1 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 2 { 3 KeyEventArg ...
- Deer_GF之IOS出热更包
Hi,今天介绍一下Deer_GF_Wolong,框架基于HybridCLR热更新技术,出IOS热更包 首先我们需要准备的工作: 环境:Mac Unity 版本 2021.3.1f1c1 热更方案:Hy ...