基于MPC的无人船运动控制及可视化仿真系统实现*

2016-05-25 02:19柳晨光初秀民
关键词:运动控制

吴 青 王 乐 柳晨光 初秀民

(武汉理工大学物流工程学院1) 武汉 430063) (武汉理工大学ITS智能交通系统研究中心2) 武汉 430063)

(武汉理工大学能源与动力工程学院3) 武汉 430063) (国家水运安全工程技术研究中心4) 武汉 430063)



基于MPC的无人船运动控制及可视化仿真系统实现*

吴青1,2,4)王乐1,2,4)柳晨光2,3,4)初秀民2,4)

(武汉理工大学物流工程学院1)武汉430063)(武汉理工大学ITS智能交通系统研究中心2)武汉430063)

(武汉理工大学能源与动力工程学院3)武汉430063)(国家水运安全工程技术研究中心4)武汉430063)

摘要:运动控制可视化对研究在环境干扰和自动避碰需求下的无人船运动控制具有重要意义.建立了风浪干扰下的船舶运动数学模型,基于模型设定一系列约束,运用模型预测控制(model predictive control, MPC)算法对船舶运动轨迹进行控制.以Visual C++为开发环境,搭建了无人船运动可视化仿真平台,实现了基于Matlab与VC混合编程的多约束MPC控制器,在软件界面上能实时显示船舶运动轨迹和船舶运动相关参数的动态变化.实验结果表明,系统能够较好地模拟船舶真实航行轨迹,并能根据不同船舶特性更改船舶运动参数,为无人船运动控制研究提供测试仿真平台.

关键词:无人船;MPC;Matlab;C++;运动控制;仿真系统

0引言

无人船因具有高出航率、低成本、恶劣情况下能够替代人进行各种活动等优点,已成为船舶未来重要发展趋势.无人船轨迹跟踪控制是实现船舶自主航行的关键,近十几年来船舶轨迹跟踪有众多研究成果,包括理论分析、数值计算和实验验证等,从反步法到自适应反步法、全状态反馈、输出反馈、滑模控制、视距(line of sight, LOS)再到神经网络控制、鲁棒控制、MPC、和智能控制等算法来实现[1-5],船舶轨迹跟踪的控制效果越来越好.针对船舶轨迹控制可视化研究,采用的算法及技术主要有:将固定坐标系下的跟踪误差重定义成新的动坐标系下的跟踪误差,基于LyaPunov直接法和反步法设计了全驱动水面艇的航迹跟踪控制器,运用VegaPrime和VC++6.0软件作为开发环境进行开发,具有航迹跟踪误差在有限时间内渐近收敛为0的优点[6];采用四阶Runge-Kutta数值积分法进行系统航迹数学模型的求解,基于PID控制算法设计航向控制器,利用Multigen Creator及Vega的三维建模与仿真技术、基于COM的Matlab与C/C++的混合编程技术、在线仿真技术等,实现了参数在线调整、控制算法在线运算[7-8];针对制导算法和最优航向控制算法设计出一种经济实用的航迹控制算法,基于Matlab和VC++的混合编程技术,仿照真实的船舶控制环境,设计出一种单机非实时的船舶运动控制仿真系统,具有较高的仿真精度[9].

由上述研究现状可见,MPC算法在处理非线性系统和输入约束条件问题上具有一定的优势,其中最明显的优点是能在控制过程中增加多种约束,适于船舶运动控制过程多约束的特点[10],因此本文选择MPC作为实现无人船船舶控制的方法.本文基于MPC控制方法设计了一种考虑各种约束和环境干扰的船舶轨迹跟踪控制器,并利用Matlab与VC++混合编程方式实现了对控制器跟踪性能的仿真测试,并实时显示船舶运动轨迹和运动过程中相关参数的实时变化情况,同时绘制轨迹误差分析图.

1风浪干扰下的无人船模型建立

无人船运动情况复杂,分为6个自由度,本研究忽略垂荡运动、横摇运动,以及纵摇运动3个运动方向的自由度,仅讨论前进运动、横移运动和艏摇运动3自由度的平面运动问题.船舶运动受力情况见图1.

图1 船舶运动受力情况

风浪干扰下的无人船模型:

(1)

2风浪干扰模型

2.1规则波浪模型

求波浪的干扰力和力矩,需要详细的船舶结构数据资料,特别是型线图,然后进行数值积分,计算较为复杂.在确保一定的精度的前提下,给出简单的计算方法是十分必要的.根据建立规则波浪干扰力和力矩模型.

式中:a=ρg(1-e-kd)/k2;b=kL/2·cosχ;

其中:L为船长;B为船宽;d为船舶吃水;k为波数;h为波高;ωe为遭遇频率;ω为波浪频率;ρ为水密度;g为重力加速度;χ为遭遇角.

则风浪干扰力与力矩τd=[Xwave;Ywave;Nwave].

2.2不规则波浪模型

不规则风浪干扰力与力矩选取.

τd=Coe×rand(3,1)-0.5×Coe

(3)

式中:Coe为干扰系数;rand(·)为幅度为1的零均值随机噪声.

3基于MPC的轨迹跟踪控制器设计

模型预测控制采用多步测试、在线滚动优化性能指标和反馈校正等控制策略,来克服受控对象建模误差和结构、参数与环境等不确定因素的影响,显示出较高的鲁棒性能和良好的应用效果,控制原理见图2.本文基于上述全驱动无人船状态空间模型,进行离散化.

图2 MPC控制原理图

3.1状态空间模型离散化

无人船全驱动运动模型可表示为状态空间方程的形式,具体如下.

(4)

系数矩阵p1,p2为

输出部分系数矩阵

(5)

由无人船运动状态空间方程可知,无人船运动控制为非线性控制,此类问题通常有2种处理方式:(1)转换成线性系统状态方程后再离散化,应用线性运动控制理论和方法进行运动控制;(2)直接离散化,应用非线性运动控制理论和方法进行运动控制.

虽然第1种处理方式理论上控制精度不如第2种,但由于其具有计算速度快、控制方法成熟等优点而被广泛应用于非线性系统问题处理中,因此本文选择第1种方式进行控制器设计.

1) 非线性状态方程线性化非线性状态方程线性化方法采用泰勒展开法,忽略高阶项.

非线性状态方程

(6)

线性化状态方程

(7)

2) 离散化式(5)状态方程是连续的,不能直接用于模型预测控制器的设计,故要对其离散化处理.

离散化状态方程:

(8)

3.2轨迹跟踪控制器实现

1) 预测方程

(9)

则每步预测:

写成矩阵的形式:

最终状态预测矩阵:

(10)

式中:

参考轨迹序列设定以椭圆为例:

(11)

2) 目标函数

目标函数若要保证全驱动水面船舶能快速且平稳地追踪期望轨迹,需加入系统状态量的偏差、控制量.目标函数为

(12)

转换成二次规划的标准形式为

约束条件:

4可视化仿真系统设计

4.1模块设计

仿真系统按实现功能划分为多模块,主要包括:系统仿真模块、参数设置模块、控制模块、数据保存模块、显示模块、轨迹误差分析模块.其中仿真模块是核心,其余模块与仿真模块直接关联,方便实现整个仿真过程.

图3 仿真系统模块设计

4.2程序流程

基于MPC算法的Matlab程序实现流程图见图4.

图4 MPC算法Matlab程序实现流程图

图4表明,船舶运动控制系统下一采样时刻的状态输出值,是取当前采样时刻值输入到数学模型中进行运算得到的结果.

系统仿真的核心运算采用式(13)及约束条件编写Matlab/m文件程序实现,Matlab程序所承担的运算任务仅是运算单个时刻的值,以此来保证仿真的实时性.

仿真系统的程序流程图见5.

图5 仿真系统程序流程图

4.3仿真系统实现件

仿真软件功能包含设置、开始、暂停、继续、保存、清空、数据显示及干扰、误差曲线分析等.

为了验证仿真系统的合理性和准确性,采用已知实船进行仿真实验.无人船参数参照挪威科技大学的无人船II号,船长L=1.255 m,质量m=23.8 kg.每次预测步数Np为10,控制步数Nc为8,系统采样周期Tsample为2 s.

运用VC++与Matlab混合编程进行仿真可得到无人船全驱动模型轨迹跟踪仿真结果及误差图见图6.

图6 无人船轨迹跟踪结果及误差(规则波)

由图6b)可知,波高h为0.06 m,全驱动的跟踪误差均方差约为0.44,表明具有较好的跟踪效果.

若风浪干扰程度不同,波浪周期T=28 s(风引起的波浪周期一般为1~30 s),遭遇角χ=45°,跟踪误差结果见表1.

表1 不同环境干扰下轨迹跟踪误差结果分析

由于船模较小,因此抗风浪性能有限,当风浪高为0.3 m及以上时,实际轨迹跟踪不上理想轨迹,见图7.

图7 波高为0.3 m时的跟踪效果

将能跟踪上理想轨迹的误差均方差绘成折线图,见图8.

图8 不同环境干扰下轨迹跟踪误差结果分析

由仿真效果及误差分析图可知,基于MPC算法的轨迹跟踪控制器跟踪情况良好,无人船运动可视化仿真平台能够较好地实现无人船轨迹跟踪仿真.

6结 束 语

本研究首先建立了无人船运动模型,并基于MPC算法设计了轨迹跟踪控制器,运用VC++与Matlab混合编程搭建了无人船运动控制可视化仿真系统,并对仿真系统进行验证,实现了数字仿真与可视化仿真的统一.

参 考 文 献

[1]邱荷珍,王磊,王洪超.船舶轨迹跟踪研究综述[J].实验室研究与探索,2014,33(4):4-8.

[2]ASHRAFIUON H, MUSKE K R, McNINCH L C. Review of nonlinear tracking and setpoint control approaches for autonomous under-actuated marine vehicles[C]. American Control Conference (ACC),American IEEE, 2010:5203-5211.

[3]王晓飞.基于解析模型预测控制的全驱动船舶路径跟踪控制研究[D].上海:上海交通大学,2009.

[4]MOREIRA L, SOARES C G. Autonomous ship model to perform manoeuvring tests[J]. Journal of Maritime Research: JMR, 2011,8(2):29-46.

[5]DING F, WANG Y, WANG Y. Trajectory-tracking controller design of under-actuated surface vessels[C].OCEANS, IEEE, 2011:1-5.

[6]王国英.全驱动水面艇运动控制建模及三维仿真实现研究[D].哈尔滨:哈尔滨工程大学,2011.

[7]赵桂梅.船舶航迹/航向控制系统可视化仿真[D].哈尔滨:哈尔滨工程大学, 2010.

[8]陆灏铭,陈玮.船舶运动可视化仿真平台的设计与实现[J].计算机仿真,2012,29(8):277-281.

[9]杨树仁.船舶航迹控制算法的研究与仿真[D].长春:吉林大学,2014.

[10]ZHENG H, NEGENBORN R R, LODEWIJKS G. Trajectory tracking of autonomous vessels using model predictive control[C]. 19th IFAC World Congress (IFAC WC’14), IFAC, 2014:8812-8818.

Motion Control and Visual Simulation System of Unmanned Surface Vessel Based on the Model Predictive Control

WU Qin1,2,4)WANG Le1,2,4)LIU Chenguang2,3,4)CHU Xiuming2,4)

(SchoolofLogisticEngineering,WuhanUniversityofTechnology,Wuhan430063,China)1)(IntelligentTransportSystemResearchCenter,WuhanUniversityofTechnology,Wuhan430063,China)2)(SchoolofEnergyandPowerEngineering,WuhanUniversityofTechnology,Wuhan430063,China)3)

(NationalEngineeringResearchCenterforWaterTransportSafety,Wuhan430063,China)4)

Abstract:Motion control visualization is of great significance to the research on motion control of unmanned surface vessel (USV) under the environmental disturbance and demand of the automatic collision avoidance. First, motion mathematical model of USV under the wind and wave disturbance is established, a series of constraints are set based on the model, and Model Predictive Control (MPC) algorithm is used to control the motion trajectory of USV. Using Visual C++ (VC) as the development platform, the visual simulation platform of USV motion is established. In addition, multi-constraint MPC controller based on the hybrid programming of Matlab and VC is developed, which can realize real-time display of the vessel motion trajectories and dynamic changes in parameters related to vessel motion on the software interface. The experimental results show that the system can relatively well simulate the true navigation track of full-actuated and under-actuated vessels, change the motion parameters of vessel according to different vessel features, and provide test simulation platform for the research on motion control of USV.

Key words:unmanned surface vessel (USV); model predictive control (MPC); Matlab; C++; motion control; simulation system

doi:10.3963/j.issn.2095-3844.2016.02.009

中图法分类号:U674.942

收稿日期:2016-02-10

吴青(1962- ):女,硕士,教授、博士生导师,主要研究领域为交通安全控制与装备

*交通运输部科技成果推广项目(2015326548030)、湖北省自然科学基金项目(2015CFA111)资助

猜你喜欢
运动控制
高速数控系统的运动控制技术研究
二维轮廓设计与运动控制系统设计与开发
人群运动仿真模型分析
具有自主感知行为的虚拟人运动控制技术研究综述
三维平动并联机床控制系统设计
贴片机X/Y轴快速高精度定位的实现
基于TMS320F2812的调光器系统的设计