基于单片机和模糊控制的浮标自动防碰撞系统
2010-10-23刘素花李思忍徐永平
刘素花, 李思忍, 徐永平
(1. 青岛理工大学, 山东 青岛 266520; 2. 中国科学院 海洋研究所, 山东 青岛 266071)
基于单片机和模糊控制的浮标自动防碰撞系统
刘素花1, 李思忍2, 徐永平2
(1. 青岛理工大学, 山东 青岛 266520; 2. 中国科学院 海洋研究所, 山东 青岛 266071)
针对海洋观测浮标易受过往船只碰撞及恶劣天气的影响而损坏, 提出了基于单片机和模糊控制的浮标自动防碰撞系统。该系统以C8051F340单片机作为核心控制芯片, 设计了控制系统的软硬件, 实现了信号的采集、处理、分析和传送。以距离、风速信号及其变化量作为输入变量, 建立了相应的模糊控制规则和控制算法, 设计了模糊控制器, 为浮标长期、安全运行提供了保证, 并为海洋测量仪器实现智能化控制奠定了基础。
浮标; 防碰撞; 单片机; 模糊控制
海洋观测仪器是海洋观测的工具和手段, 作为海上现场观测的传统仪器, 海洋浮标在研究海洋和大气的相互作用及全球气候变化、预报全球性和地区性海洋灾害、海洋污染监测、卫星遥感数据真实性校验、以及作为平台用于水声通讯和水下定位等方面发挥了重要作用[1]。但目前国内外大多数浮标都是在海面上漂浮或任其在海上漂流, 这样一旦遇到大风大浪, 浮标就会丢失或者损坏, 不利于数据的采集, 而且现在提倡环保, 如若浮标丢失或损坏, 以至于不能正常收回, 就会对海洋造成越来越多的污染, 给海洋生态造成越来越多的危害。同时, 测量海气交界面参数的搭载平台由于位于海表面上, 若长时间锚泊在海表面上, 很容易受到海上过往交通工具和恶劣风浪的影响, 因此本系统的主要功能是能够根据环境的变化自动避让防碰撞, 自动检测海上过往交通工具到自身的距离以及海上风浪的情况,在必要的时候, 自动下潜到水下一定深度(例如水下50 m), 这样可以保证在不利于系统安全的因素出现时, 使系统及时潜伏避让, 可有效地保证整套系统的安全性, 同时减小设备损坏或丢失给海洋带来的污染。
1 防触碰系统的总体设计
就目前而言, 在国内外各种海洋要素测量仪器的研究中, 防碰撞性能的应用还不多, 主要用于船舶航海[2,3], 自治式水下机器人和自治式水下航行
器[4]。本项研究是国家高技术研究发展计划(863计划)
海洋环境立体监测技术中节能型自治式多功能海洋环境监测系统的一项研究内容。节能型自治式多功能海洋环境监测系统将定点锚泊潜标和浮标技术相结合, 并创新性地融进了节能技术, 具有良好的传感器扩充功能, 可根据终端用户的需要, 搭载不同的气象、水文和水质等传感器, 能够测量海气交界面的水文气象参数, 同时又能够进行海水次表层水质参数的连续垂直剖面测量, 在有海上交通工具经过或遇到恶劣的海面海况时, 系统能够下潜到50 m的深度进行避让。此套系统具有节省能源、可长期服役、多参数和连续剖面测量、自治性工作强的特点。它是一种独创的, 海洋军事、海洋研究和海上工程建设前期调查等急需的, 实用性极强的海上测量系统。系统结构示意图如图1所示。
设计的浮标式搭载平台自动防触碰系统主要由信息收集、数据处理和行动决策三部分组成[5,6]。信息收集就是通过测距传感器自动监测海上过往交通工具的状况和由水文气象传感器监测海上风浪的情况。数据处理是通过采集到的数据与事先设定的条件进行态势评估, 并将处理后的数据传送到控制中心。行动决策就是控制中心发出命令, 确定浮标式搭载平台下潜与否等情况。这样可以保证在不利于系统安全的因素出现时, 使系统及时潜伏避让。在此防触碰系统的设计中, 建立合适的避碰模型, 选择合适的控制方法, 进而设计合适的控制器, 是保证系统能够实时避碰防损坏的关键。防触碰系统硬件原理图如图2所示。
图1 节能型自治式多功能海洋环境监测系统结构示意图Fig. 1 Scheme of the energy-conserving, automatic, multifunction marine environmental monitoring system
图2 防触碰系统硬件原理图Fig. 2 Scheme of the anti-collision system
其工作过程为: 距离传感器和环境气象监测仪输出的信号通过串行收发模块转换成数字信号, 由单片机经过相应的软件算法把数字信号转换成距离和风速值, 单片机将实测值与其内设距离、风速值相比较, 计算出偏差, 再调用模糊控制算法程序, 由模糊控制器输出控制量, 从而驱动电机使浮标避让。本设计中, 激光测距传感器选用 Dimetix的 DLS-A15,其测程为 0.2~200 m, 测量精度达±1.5 mm, 采用串行接口方式; 环境气象监测仪采用美国R.MYoung公司的高精度、坚固耐用工业级气象传感器组成的EMM-03型环境监测气象仪, 可监测风向、风速、空气湿度、相对湿度、大气压力5个参数; 串行收发模块采用 MAX3223芯片。单片机选用 C8051F340。C8051F340设备是完全集成的混合信号片上微控制器, 具有片内上电复位、VDD监视器、电源管理器、看门狗定时器和时钟振荡器(MCUs)。用户软件可以控制所有外设以及可以单独地关闭任何一个或所有的外设以节约能源。驱动执行单元主要通过直流电机的正反转, 利用相应的机械传动机构实现浮标搭载平台的下潜、上浮。
2 系统模糊控制器的设计
传统的避障控制策略(如人工势场法、栅格法),由于需要精确的环境数学模型而不能满足对象在非结构环境下实时避障的要求。模糊控制策略是建立在人类专家控制经验基础之上的一种智能控制方法,在模糊控制策略中, 需要考虑控制器的输入条件和输出结果。模糊控制是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的计算机智能控制。模糊控制系统是一种具有反馈的闭环自动控制系统, 适用于被控过程没有数学模型或很难建立精确数学模型的工业过程, 它是解决不确定系统控制的一种有效途径。模糊控制系统有较强的鲁棒性及抗干扰能力, 在控制过程中能大大减弱参数变化对控制效果的影响, 非常适合于非线性、时变及滞后系统的控制[7,8]。模糊控制的基本原理可由图3表示。
随着单片机技术的发展, 单片机性能在不断提高, 可以完成复杂的控制。在模糊控制中专家的经验知识是一系列含有语言变量的条件语句和规则, 而模糊集合理论又能十分恰当地表达具有模糊性的语言变量和条件语句。将单片机与模糊集合理论相结合, 用模糊集合理论对语言变量模糊化, 再用模糊推理对系统的输入状态进行处理, 产生相应的控制策略, 以实现对那些难以建立数学模型的系统进行有效控制。
图3 模糊控制器原理图Fig. 3 Scheme of the fuzzy controller
本设计主要针对浮标工作环境存在的非线性、不确定性和时变性等特点, 采用了模糊控制的数学模型。在单片机上实现模糊控制一般采用3种方式:强度转移方式、直接查表方式和公式计算方式。强度转移方式是按模糊控制的极大-极小法进行推理。直接查表方式是通过离线计算, 得到一张模糊控制表并将控制表存放在计算机内存中的, 在控制应用过程中, 速度快实时性强。公式计算一般不适应于多参数的计算。
为了保证对监测系统的实时控制, 控制算法采用Mamdani查表法。Mamdani查表法事先设计模糊控制响应表, 在软件设计时只需将控制表事先置入内存中供实时查询用。这样, 单片机分时采样各传感器的信息, 数据经过态势评估, 判断浮标此时是否存在危险, 如果浮标存在危险, 数据送入模糊控制器, 经过模糊控制器后输出的电压信号直接驱动电机转动, 使浮标下潜, 以达到自动避让目的; 如果判断出浮标安全, 则单片机继续采集各传感器的信息,继续判断。在浮标下潜过程中, 要不断判断浮标是否到达指定深度, 如果到达指定深度, 浮标停止下潜,等待危险结束; 如果浮标没有到达指定深度, 浮标继续下潜, 直到到达指定深度。当危险结束时, 浮标要上浮到水面, 继续工作。
2.1 模糊控制器的结构
本系统中, 来自传感器的信号有: 激光测距传感器的距离信号、气象监测仪的风速信号、风向信号、温度信号、大气压信号和雨量信号, 这些信号中只有距离信号和风速信号对本系统有意义, 因为距离和风速直接决定了浮标是否需要采取避让动作。因此, 本系统设计了一个双输入单输出的双二维模糊控制器, 如图4所示。
图4 防触碰模糊控制器的结构Fig. 4 Scheme of the fuzzy controller for anti-collision system
由图 4: 本系统输入变量选为障碍物(船舶等)到浮标的距离S及其一阶导数S', 风速V及其一阶导数V′。输出变量选为电机电压信号U。距离S的模糊子状态为NsB(距离过小)、NsS(距离略小)、ZsO(零距离偏差)、PsS(距离略大)、PsB(距离过大); 风速V的模糊子状态为NvB(风速过小)、NvS(风速略小)、ZvO(零风速偏差)、PvS(风速略大)、PvB(风速过大)。距离变化率:
风速变化率:
它们反映了现场状态的距离偏差和风速偏差的变化方向。
输入变量S,S'和V,V'的隶属函数采用最常用的三角形, 输出的隶属函数可用单点的隶属度函数。将距离、风速控制器的输出状态分为5个状态子集,具体对应如下:U(1) (全电压输出驱动),U(3/4)(3/4电压输出驱动),U(1/2)(1/2电压输出驱动),U(1/4)(1/4电压输出驱动),U(0)(零电压输出驱动)。
2.2 模糊控制规则
当距离偏差为NsB时, 距离和设定的安全距离相差最大, 为使距离减到最小, 尽快消除偏差, 无论距离怎样变化, 应使控制量增加较快, 所以模糊控制系统取较大的控制量, 以最快的速度避让。当距离偏差为NsS或ZsO时, 主要工作为稳定性问题, 为了防止超调, 使距离尽快稳定(也就是尽快使浮标处于安全状态), 选择相应的控制规则, 距离模糊控制规则如表1。风速模糊控制规则的制定方法与距离相同,同样根据风速变化的具体情况来确定控制量的变化,选择相应的控制规则, 根据模糊控制规则计算出各种输入状态的控制输出U, 最后用最大隶属度法进行模糊决策, 使模糊量转化为精确量。
表1 模糊控制规则表Tab. 1 Fuzzy control rules
2.3 模糊控制算法
要执行模糊控制, 在计算机中就必须通过一定的算法实现, 就是从输入的连续精确量中通过模糊控制的算法过程, 求出相应的精确控制值, 基于Mamdami推理的控制算法有关系矩阵法、查表法和解析法。在本系统中采用Mamdami查表法。
查表法需要事先设计模糊控制响应表, 在软件设计时将表格事先置入内存中供实时查表使用。在实际控制时, 模糊控制器首先把输入量量化到输入量的语言变量论域中, 再根据量化的结果去查出控制表, 这样大大提高模糊控制的实时性, 节省内存空间。
设计控制表首先求出模糊关系R, 再根据输入的偏差和偏差变化率和用合成推理方法求出模糊输入量, 最后经过反模糊化可把模糊量转换为精确量,即可得到控制输出量。
设有m条控制规则, 形如“ifAiandBjthenCij”,分别为:
上述模糊条件语句最后可以用一个模糊关系矩阵来描述, 即:
设Ai(i=1,2,…,m),Bj(j=1,2,…,n),Cij的论域均为:{-P, -P+1,…,-1,0,1,…,P-1,P}
对于偏差a*, 在经量化之后, 它必定为对应论域中的某一个元素, 故a*在量化之后, 它可能为下列任一模糊量Ai(i=1,2,…,2P+1),
对于偏差变化率b*, 同样有对应的模糊量Bj根据已知的模糊量Ai和Bj, 通过模糊合成运算即可求得对应的模糊输出量Cij, 且
在求取了输入变量对应的模糊输出Cij之后, 利用重心法进行反模糊化, 可得精确的输出值。
整个模糊防碰撞控制系统为具有4个输入、1个输出的模糊系统。模糊控制器采用 Mamdami模型,相应的控制算法可写成如下形式:“Rj: ifSlisAlandS2isA2andS3isA3andS4isA4thenUisA5”。其中,A( =l, 2, … 5)分别为对应变量的模糊语言描述。
通过上述过程即可得到一个反映输入变量与输出变量对应关系的一个元素, 可将此元素填入控制表的适当位置, 通过类似的若干次计算, 就最终得到了整个完善的控制表。
如果距离传感器监测到不远处有船舶靠近系统并且在安全距离之内或者气象传感器监测到天气比较恶劣, 风速超过一定值时, 系统会根据模糊控制算法自动计算出所要输出的电压值去驱动电机转动,使浮标自动避让。
3 结论
针对目前浮标应用中存在的安全隐患, 介绍了一种基于模糊控制的海洋浮标自动防碰撞系统。本系统结合单片机及模糊控制理论, 针对浮标在海上的复杂环境而难以建立精确的数学模型, 提出了一种基于单片机和模糊控制的避碰方法, 建立了相应的控制规则, 对浮标的自动防触碰技术进行了研究,并进行实时控制。控制算法采用Mamdani查表法, 在软件设计时只需将控制表事先置入内存中供实时查询用。这样, 当传感器信号送入单片机, 经模糊控制后, 作出决策, 判断出存在危险时, 模糊控制器输出控制信号, 作用于执行器, 使浮标及时避让, 解决了困扰小型波浪浮标大规模推广的安全性问题。
[1] 朱光文. 发展剖面探测浮标技术, 支持我国参与ARGO 计划[J]. 海洋技术, 2001, 6: 21-23.
[2] 郑道昌. 船舶航行自动避让的研究——船舶自动避让系统的组成及相关数据处理[J].中国航海, 2002, 1:7-11.
[3] 李丽娜, 蒋漪. 船舶避碰智能化方法的计算机模拟及应用研究[J]. 集美大学学报(自然科学版), 2000, 12:80-84.
[4] 徐玉如, 肖坤.智能海洋机器人技术进展[J].自动化学报, 2007, 5: 518-521.
[5] 张越, 张炎, 赵延军. 基于单片机和模糊控制的水温自动控制系统[J]. 仪表技术与传感器, 2007, 4: 71-72.
[6] 李昕, 曲梦可, 荣誉. 基于MSP4 30单片机的模糊温湿度控制器的设计[J]. 传感技术学报, 2007, 4: 805-808.
[7] 李彬, 郑宾, 殷云华, 等. 模糊逻辑控制的改进与仿真[J]. 机械工程与自动化, 2007, 8: 25-27.
[8] 昝鹏, 颜国正, 于莲芝. 基于自适应模糊PID控制的气动微型机器人系统[J]. 仪器仪表学报, 2007, 9:1 545-1 547.
Automatic anti-collision system for buoys based on microcontroller and fuzzy control
LIU Su-hua1, LI Si-ren2, XU Yong-ping2
(1. Qingdao Technological University, Qingdao 266520, China; 2. Institute of Oceanology, the Chinese Academy of Sciences, Qingdao 266071, China)
May, 31, 2009
buoys; anti-collision; microcontroller; fuzzy control
The control system of automatic anti-collision for buoys, which was based on microcontroller and fuzzy control, was applied to oceanographic observation in order to prevent the damages caused by collision of the passing ships or bad weather. The system used C8051F340 chip as the core controller. The hardware and software architectures were designed, and data acquisition, processing, analysis, transmission were achieved. The fuzzy logic function of the distance and wind speed signal were analyzed, and the fuzzy control rules and control algorithm are established. The fuzzy controller guaranteed long-term, safe operation of the buoys, and established the foundation of marine measuring instruments to be controlled intelligently.
TP24
A
1000-3096(2010)10-0057-05
2009-05-31;
2010-08-04
国家 863计划项目(2008AA09Z113); 国家自然科学基金项目(40776061); 山东省自然科学基金项目(Y2008G05)
刘素花(1970-), 女, 山东青州人, 博士研究生, 主要从事检测、自动控制等方面的教学与研究, 电话: 0532-82898737, E-mail:liusuhua@qtech.edu.cn
(本文编辑: 刘珊珊)