应用P2P技术的互联网电机控制方法
2016-12-07王湛昱刘国平
王湛昱, 刘国平,2
(1.哈尔滨工业大学 航天学院,黑龙江 哈尔滨 150001;2.Faculty of Advanced Technology,University of South Walse,Pontypridd CF37 1DL, U.K.)
应用P2P技术的互联网电机控制方法
王湛昱1, 刘国平1,2
(1.哈尔滨工业大学 航天学院,黑龙江 哈尔滨 150001;2.Faculty of Advanced Technology,University of South Walse,Pontypridd CF37 1DL, U.K.)
针对在internet场景下的网络化控制系统(networked control system, NCS)通常要面临的两个问题:第一是不同网域内的控制节点无法直接通信;第二是internet环境下不稳定的网络链路质量会导致控制系统性能的下降甚至引发系统故障,首先提出一种基于端对端(peer-to-peer, P2P)技术的NCS系统,解决了internet范围上控制节点间的通信问题;然后设计了控制任务的共享功能:被控端节点可以向网络中发布被控对象的控制算法文件,而系统内的其他远程计算机都可以通过下载控制任务文件成为远程控制器。上述方法实现了internet环境下NCS系统的拓扑动态性和数据链路的冗余性,从而增强了系统的容错能力。最终通过实验证明了P2P技术搭建的NCS系统在internet范围上的拓扑动态性,且验证了冗余控制策略增强系统容错能力的有效性。
互联网控制;网络化控制系统;P2P;冗余控制
0 引 言
网络化控制系统(networked control systems,NCSs)是一种控制器与被控对象分离的控制系统,其分布式结构使其在医疗、航天、救灾等领域有着独特的优势。目前典型的应用有达芬奇远程手术系统、嫦娥三号月面探测器及各类型搜救机器人。
对于NCS系统的研究主要集中在两方面:一方面,如何克服数据传输过程中的延时、丢包和错序问题,保证NCS系统的性能;另一方面,如何提高NCS系统的容错能力,保证系统的健壮性。
在实际的工程实践中往往采用专用网进行搭建,部署成本较高。随着近年来互联网技术的蓬勃发展,特别是运营商落实“提速降费”政策后,互联网通信带宽随之提高,为我们利用互联网在大范围上搭建NCS系统提供了良好契机。
且经过研究人员多年的努力,对于NCS系统的理论研究已经取得了一定的成果,诸如传统上通过设计预估器估计被控对象的状态的方法实现网络化控制[1-2],文献[3-7]提出鲁棒控制来抵消网络延时对控制系统的影响,以及H理论的引入[8]都在一定程度上推进了网络化控制系统理论的发展,而Guo-ping Liu等提出采用预测控制的方法进行网络化控制在另一个方面克服了网络的不确定性对网络化控制系统造成的负面影响[9-11]。但大多数的研究仅仅局限于局域网或者是专用网的范围内,对于在internet范围上设计、布署NCS系统的问题却鲜有研究。阻碍NCS系统在范围更广的internet上实现的障碍主要在于以下两方面:
第一,除专用工业网使用自有协议进行通信以外,大多数基于以太网的网络化控制系统使用TCP/IP协议或UDP协议进行节点间通信,在工程实现上也都是使用Socket套接字建立数据流实现控制系统的闭环拓扑。这种方法通过配置对应的IP和端口号使控制量和反馈数据在7层网络协议中的网络层(第3层)上进行传输,在局域网中可以获得较稳定的数据连接。但是在internet环境下,由于控制器和执行器处在不同的网域内,接收端的网关设备出于网络安全的考虑拒绝外网的网络节点直接向内网节点发送数据,这使得控制器端数据无法到达被控端设备[12],这就造成了处在不同网域内的被控对象和远程控制器之间无法直接进行通信。
第二,为了解决第一个问题,NCS的设计者通常采用将被控对象直接部署在公网IP上的方法或是在网关设备上采用端口映射的方法使控制信号能够到达被控对象[12,14-18]。采用这种方法需要配置固定IP和端口号,也就是需要NCS有固定的拓扑结构。这种固定拓扑的网络结构的容错能力相对较弱,一旦拓扑结构中任何节点或者数据通讯出现故障便会引发NCS系统的故障。
针对以上两个问题,本文提出了一种基于端对端(peer-to-peer,P2P)技术的实现在internet范围上的网络化控制方法。该方法首先利用P2P技术能够穿越互联网网关设备的特点,构建覆盖式通信网络[13],解决了不同网域内的各节点间不能相互通信的问题,实现了internet场景内的控制器和被控对象的数据连接,使网络上各节点在网络通信的应用层上彼此相邻。然后通过设计、实现控制任务的共享功能,使网络中其他的远程节点通过下载该控制任务也具备对此被控对象进行控制的功能,由此实现了NCSs的动态拓扑结构。若当前控制系统的远程控制器端或数据链路出现故障,其他远程控制器可以接管该控制任务对被控对象实施控制。
本文的结构安排如下:第一节为引言,第二节为基于P2P技术的网络化控制系统的设计,第三节为控制任务的转移,第四节为实验与仿真,第五节为结论。
1 基于P2P技术的网络化控制系统的设计
1.1 基于P2P技术的NCS的拓扑结构的设计
P2P技术是建立在7层网络协议最顶层——应用层的网络通信技术,广泛的应用于互联网视频直播、IP电话和即时通讯方面,目前相对成熟的产品有PPTV、Skype、QQ、Wechat等软件[19]。相对于传统的C/S模式,P2P技术有着如下优势:1)非中心化:节点既可发布数据也可接收数据;2)高可扩展性:加入P2P网络的节点可以实时加入和退出,无需进行网络参数配置即可发挥功能;3)动态拓扑性:由前两个特点决定了P2P,基于P2P网络的系统结构并不依赖固定的网络拓扑,故可获得更强的系统健壮性。
在基于P2P技术的NCS设计中,我们采用pc机作为被控对象与远程控制器之间进行网络通信的中间节点,即P2P网络中的peer,其拓扑示意图如图1所示。
图1 JXTA节点的组织结构Fig.1 Organization of JXTA nodes
在P2P系统中,节点通常有Edge、Relay和RDV(Rendezvous)3种类型。Edge是最普通的节点类型,可以与所在对等组(peer group)的RDV节点(汇聚节点)进行关于系统信息的交互,如当前活跃节点信息等。RDV节点作为所在对等组的组织者,负责与其他对等组的RDV节点进行信息交互以获取全局的信息。一个对等组至少要有一个节点设置为RDV类型。Relay节点是中继节点,两个无法直接通信的节点要通过Relay节点进行中继才能通信。被控对象的上位机和远程控制器的上位机可以设置为任意的节点类型。图1中的Seed节点为一个RDV类型节点,它作为该P2P系统的全局注册服务器需要假设在公网IP上,并最先开始运行。任何一个加入到此P2P系统中的节点都要将该节点的IP地址和端口号设置在本地相应的配置环境中。
1.2 基于JXTA协议的通信模块设计
P2P网络是对上述的关系上彼此对等、应用层彼此相邻的网络的统称,在具体的实现上要通过具体的协议进行设计和开发,比如Pastry、Chord、Bit Torrent等协议。本文通过JXTA[20]协议来设计和实现P2P网络节点间的通信模块。
通信模块分为发送端部分和接收端部分,采用JXTA管道方式进行通信,建立管道通信的流程如图2所示:
首先,接收端节点启动后向对等组内广播自己的通告(Advertisement);然后,发送端在接收到这个通告后提取出接收端节点的节点名,使用接收端节点的节点名来生成这个管道的唯一ID;最后,将此ID封装在管道通告(Pipe Advertisement)中广播到对等组内。对等组内的节点收到这个通告后,根据管道的ID可以判定自己是否为接收端节点。节点一旦确定自己为接收端节点,便启动Multicast Listener实例侦听对应的端口等待接收数据。
图2 JXTA协议的管道通信Fig.2 Pipe communication of JXTA protocol
具体实现的UML静态对象图如图3所示。其中Query和Response是JXTA协议中的消息类型,采用XML格式对数据信息进行封装。
图3 JXTA管道的UML图Fig.3 UML diagram of JXTA pipe communication
我们将节点的ID和当前系统的时间戳通过Query消息广播到网络中,收到此Query的节点也将自己的ID和 时间戳封装在Response消息中发回给发送Query的节点。发送Query的节点可以通过周期性的发送Query消息来感知远程节点的存在,并用时间戳判断节点间网络的延时情况。Receiver类实现了通信模块的接收功能,它将收到的控制信号交付给Data Manager,由Data Manager判断数据的有效性并最终发送到执行器。Communication Module 类是通信模块的主类,它实现了MessageListenner接口来侦听从网络中发来的Query和Response消息,并创建其他类的实例。
2 控制任务的转移
在internet环境下建立NCS系统最直接的困难就是数据链路产生的网络延时和丢包对系统产生的影响。对于这类问题很多研究给出了解决方案。但是在极端情况下会由于数据链路严重拥塞导致系统的故障,此时就需要通过其他的远程控制器及相应的数据链路来接管对被控对象的控制。本节基于P2P文件共享技术提出了控制任务的转移方法,实现了NCS系统拓扑的动态性,通过远程控制器和数据链路的冗余增强了系统的容错能力。
2.1 控制任务转移系统的结构
控制任务转移系统依照功能分为被控对象端模块和远程控制器端模块。如图4所示,被控对象端负责发布控制任务;远程控制器端负责获取控制任务并对被控对象进行控制。控制任务以文件的形式由被控对象端的JXTA发布模块发布到网络中,再由远程控制其端的JXTA下载模块下载到本地。
图4 控制任务转移系统的结构Fig.4 Structure of control task transfer system
系统的实现采用了文献[21]所提出的方法,使用两台pc/104分别作为远程控制器和被控对象的执行器。在被控对象端,系统启动后JXTA发布模块便将算法文件的信息发布到网络中。远程控制其端一旦收到该消息便可以启动JXTA下载模块从被控对象端下载算法文件。下载完成后,编译器将算法文件编译为执行文件并交付给远程控制器。远程控制器按照第2节中的方法,与其上位机配合,使用JXTA管道对被控对象发起控制。JXTA发布模块和JXTA下载模块的实现使用了JXTA CMS(content management service)服务,实现时的用例图如图5所示。
图5 控制任务转移系统的用例图Fig.5 Use case diagram of control task transfer system
JXTA发布模块中Content Service服务负责将需要发布的控制文件转换为Content类型,并依照UUID规则生成该资源的ID信息,Discovery Service服务负责将Content实例相关的信息发布到网络中,供其他节点进行解析并进行下载对应的控制文件; JXTA下载模块中aggListenner负责侦听网络中发布的控制文件的信息,xferListenner负责处理传送文件的一些操作,transfer实例负责下载控制算法文件。这样,我们便在internet环境下实现了NCS系统的动态拓扑,所有下载了控制文件的节点都可以与被控对象组成闭环控制回路,如图6所示。当当前正在实施控制的当前闭环控制回路出现故障时,网络中其他冗余的控制回路便接管这个控制任务,对被控对象实施控制。
图6 基于JXTA协议的控制回路Fig.6 Control loop based on JXTA protocol
2.2 控制任务的切换
考虑如下线性定常离散控制系统,采样周期为h,h∈R+,有:
(1)
定义1:∀l,m,l∈N+,m∈N,l满足l=min{m|m×h>supD},称l为延时步长。
(2)
图7 数据缓冲Fig.7 Data buffer
定义增广状态向量z(kh)为
(3)
得到增广系统
(4)
其中
(5)
显然,则只要存在K∈R1×l使增广系统(4)稳定,则其子系统(1)也是稳定的。
按照2.2节的设计,一段时间内只允许一个远程控制器对被控对象进行控制,即当当前控制回路出现故障时,仅由一条冗余控制回路接管控制,如图6所示。
假设当前控制回路的延时步长为lc,将接管控制的冗余控制回路的延时步长为lr, 分别建立对应的增广系统:
(6)
并由式(1)、式(3)和式(4)分别求得对应的状态反馈增益Kc和Kr使各自的增广系统稳定,则切换发生后的系统依然是稳定的。
3 实验与仿真
为了验证所提出方法的有效性,基于NCSLab[15-17]所做的前期工作,分别设计了两个internet场景下的实验:第一个实验将控制任务由局域网内的网络化控制器切换到internet上的远程网络化控制器;第二个实验则是由延时步长为lc=1的internet上的远程控制器与延时步长为lr=3的internet上的远程控制器相互切换。两个实验中采样周期均取值h=100 ms,并设yr(t)为参考输入,y(t)为系统实际输出,e(t)为跟踪误差,ts为调节时间。要求系统满足如下性能:
e(t)=|yr(t)-y(t)|0.1yr(t),
(7)
ts<10s。
(8)
当不满足式(7)时,判定当前控制系统故障,由冗余系统接管控制任务。
3.1 由局域网到internet的控制任务的切换
如图8所示,本实验被控对象为直流电机,控制器1与被控直流电机、执行器部署在NCSLab实验室的局域网内,形成局域网内的网络化控制闭环,记作控制路径1;控制器2部署在internet远端的局域网2内,控制信号与反馈信号通过上位机2中的JXTA通信应用程序与NCSLab内的上位机1中的JXTA通信应用程序的双向通信进行传输,与被控直流电机形成基于internet的远程网络化控制闭环,记作控制路径2。
图8 实验1的拓扑结构Fig.8 Topology of experiment 1
直流电机的采样周期为h=100 ms,输入电压U(s)与输出转速Y(s)的传递函数为
图9 直流电机的相应曲线Fig.9 Response of DC motor
3.2 internet远程控制器间的控制任务切换
相对于局域网范围内的NCS系统而言,internet环境上的远程控制要面临更复杂的网络环境,往往延时的变化比较大,通过不同路径传输的控制信号也可能带有不同时长的延时。本实验选择两台远程控制器对被控对象进行控制,延时为时变量,分别为τ1(t)和τ2(t),系统采样周期为h=100 ms,拓扑结构如图10所示。
选取力矩电机作为被控对象,与执行器、上位机1部署在NCSLab实验室局域网内。控制器1直接被赋予公网ip,并通过TCP/IP协议发送控制信号和接收反馈信号,与被控端构成控制闭环回路1;控制器2部署在局域网2中,通过上位机2的JXTA通信应用程序与NCSLab实验室中的上位机1进行通信,发送控制信号并接收反馈信号,与被控端构成控制闭环回路2。
图10 实验2的拓扑结构Fig.10 Topology of experiment 2
被控对象系统状态方程为:
(7)
图11 带有3步延时的模型的响应曲线Fig.11 Response of 3-step-delay model
图12 前向通道带有200 ms延时的在线实验的输出Fig.12 Response of on-line experiment with 200 ms-delay in forwad channel
实验结果如图13所示,其中图13(a)为力矩电机的输出曲线,图13(b)为路径1和路径2的延时曲线。在图13(b)中,第2 s时将路径1的延时增加350 ms。在第2 s至第3 s期间,执行器由于没有收到控制信号,输入u(t)置为0,故系统输出从700左右下降到500左右,出现图13(a)中的第一个波谷。此时由于不满足条件(7),于是判定当前系统(系统1)故障,由系统2介入对被控对象进行控制。随后被控对象输出开始上升接近参考输入,并经过第二个波谷后进入稳定状态。第二个波谷是由于系统2采用了带有3步延时的模型,系统输出抖动造成的,如图12所示。
在图13(b)中,第19 s时将路径2的延时增加300 ms,随即出现第3个波谷。由于此时不满足条件(7),故由控制器1接管对被控对象的控制。在23 s时,将路径1的延时增加350 ms,再次不满足条件(7),控制器2开始实施控制,被控对象输出出现第4个波谷后进入稳定状态。
图13 实验2的响应曲线Fig.13 Response carve of experiment 2
本实验通过调整控制回路1和控制回路2的前向通道延时验证了本文所提出的方法可以在本地没有控制器的情况下,将控制任务发布到internet上,由internet场景下的远程控制器对被控对象实施控制。而且由于采用了硬件冗余、通信链路冗余及使用多步延时模型的方法,在当前控制回路故障时启用冗余控制回路进行控制,避免了由于网络故障触发系统故障的情况的发生,增强了internet环境下NCS系统的容错能力。
4 结 论
本文研究了在internet环境下部署NCS系统时面临的两个问题:1)Internet远程控制节点与被控对象的通信只能依靠固定网络拓扑的问题;2)Internet环境下NCS系统的容错能力问题。针对问题1),本文通过设计、实现基于P2P技术的数据通信管道,建立了动态拓扑的NCS系统,弥补了以往工程中只能依靠固定拓扑来实现系统而带来的诸如实现困难、容错能力差等不足。针对问题2),本文通过设计、实现控制任务的发布、下载功能使加入到对等组中的远程节点都可以成为远程控制器,从而建立冗余的控制闭环,进而增强了internet环境下NCS系统的健壮性。在实验环节,分别验证了在当前控制闭环的网络出现故障时控制任务由本地转移到internet上的远程控制器和控制任务在internet上的远程控制器之间的转移。
本文的工作为在internet环境下部署具有动态拓扑的NCS系统提供了基础。NCS系统拓扑的动态性一方面可以为数据传输的路由优化提供更大的空间,降低数据传输延时,提高系统的性能,另一方面为控制环节提供更多的控制器冗余和数据链路冗余增强系统的容错能力。在未来的研究中,如何具体地针对不同的链路质量进行数据传输的优化和如何选择冗余的远程控制器及冗余数据链路将成为主要的目标。
[1] POORANI V J, ANAND L D V. Comparison of PID controller and Smith predictor controller for heat exchanger[C]// Emerging Trends in Computing, Communication and Nanotechnology (ICE-CCN), 2013 International Conference on IEEE, March 25-26,2013,Tirunelveli, India. 2013: 217-221.
[2] 李平.基于变结构Smith预估模糊PID的温控NCS实时性研究[D].成都:西南交通大学,2010.
[3] YUAN Xiaodan, YU Mei, XIAO Weidong. Robust stabilization of multiple coupled networked control system via jump linear system approach[C]//Control Automation Robotics & Vision (ICARCV), 2012 12th International Conference on IEEE, December 5-7, 2012, Guangzhou, China. 2012:690-694.
[4] 李清华, 郭小刚, 马闯, 等.基于状态预估的大延时网络化控制系统 H∞控制[J],吉林大学学报:工学版, 2008, 38(5):1197-1201.
LI Qinghua, GUO Xiaogang, MA Chuang, et al.H∞ control of networked control systems based on state preestimation[J]. Journal of Jilin University:Engineering and Technology Edition,2008, 28(5):1197-1201.
[5] LI Chong, DUAN Lingjie, DONG Xue. Robust power control for CDMA cellular communication systems via H2 optimal theory[C] //Wireless Communications, Networking and Mobile Computing, Oct.12-14,2008,Wu han, China. 2008:1-5.
[6] 李炜, 蒋栋年, 张建全. 基于输出反馈网络化控制系统鲁棒容错控制[J].控制工程, 2011, 18(1):62-66.
LI Wei, JIANG Dongnian, ZHANG Jianquan.Robust fault tolerant control based on dynamic output feedback for networked control system[J].Control Engineer of China,2011,18(1):62-66.
[7] 黄崇基.网络化系统的鲁棒模型预测控制[D].哈尔滨:哈尔滨工业大学,2008.
[8] GUO Xijin, LI Haigang, ZHANG Qian, et al.Robust H∞ control of network control system with random time-delay[C] //Intelligent Control and Automation,June 25-27,2008,Chongqing, China. 2008:2536-2541.
[9] HU Wenshan, LIU Guoping, REES David. Event-driven networked predictive control[J]. Industrial Electronics on IEEE Transactions, 2007, 54(3):1603-1613.
[10] SUN Jian, CHEN Jie, LIU Guoping. Quantized networked predictive control of systems with communication delays[C]// Proceedings of Chinese Control Conference (CCC), July 22-24, 2011,Yantai, China. 2011:4682-4686.
[11] 安健. 焦化厂备煤软冗余控制系统[D].太原:太原理工大学,2012.
[12] 王永骥, 杨业, 吴浩. 基于Internet的网络化控制系统设计及控制研究[J]. 仪器仪表学报, 2008, 28(12): 2120-2123.
WANG Yongji, YANG Ye, WU Hao.Design and control of internet-based process control system[J]. Chinese Journal of Scientific Instrument, 2008, 28(12):2120-2123.
[13] YU Jing, WANG Binqiang. Links overlapped detecting based scheme to make P2P network topology-aware [J]. Journal of Software, 2009, 20(7):1943-1952.
[14] HU Wenshan, LIU Guoping, REES David, et al.Design and implementation of web-based control laboratory for test rigs in geographically diverse locations[J].Industrial Electronic on, IEEE Transactions, 2008, 55(6): 2343-2354.
[15] QIAO Yuliang, LIU Guoping, GENG Zheng, et al.Design and realization of networked control experiments in a web-based laboratory[C]//Control 2010, UKACC International Conference on IET, September 7-10, 2010, Coventry, U.K.. 2010:1-6.
[16] QIAO Yuliang, LIU Guoping,GENG Zheng, et al. Ncslab: A web-based global-scale control laboratory with rich interactive features[J]. Industrial Electronics, IEEE Transactions on, 2010, 57(10):3253-3265.
[17] PANG Zhonghua, LIU Guoping, QIAO Yuliang. Web-based compilation of C-MEX S-functions and its application in NCSLab[C] //Proceedings of the 30th Chinese Control Conference, July 22-24, 2011,Yantai, China.2011:6533-6538.
[18] LIU Yi, SAKAMPTP S, MATSUO K, et al. Improvement of JXTA-Overlay P2P platform:evaluation for medical application and reliability[J]. International Journal of Distributed Systems and Technologies (IJDST), 2015, 6(2):45-62.
[19] 管磊.P2P技术揭秘[M].北京:清华大学出版社,2010:19-24.
[20] JEROME Verstrynge.Practical JXTA[M]. Netherland: Lulu Enterprise Inc, 2010: 39-71.
[21] AN Baoran, LIU Guoping.Real-time experimental platform of networked control systems based on pc/104 controller and web laboratory[C]//Proceedings of 2013 Chinese Automation Congress,November 7-8,2013,Changsha, China.2013:749-754.
(编辑:刘琳琳)
Internet-based control for motor system using P2P technology
WANG Zhan-yu1, LIU Guo-ping1,2
(1.School of Astronautics, Harbin Institute of Technology,Harbin 150001, China; 2.Faculty of Advanced Technology, University of South Walse, Pontypridd CF37 1DL, U.K.)
Aiming at two problems:one is devices of networked control systems(NCSs)located in different network domains can’t communicate with each other directly; the other is that unstable data links on internet would reduce the performance of NCSs, even lead to the failure, which always present in internet-based NCSs.Firstly a NCS structure was proposed using peer-to-peer (P2P) technology, so that the networked control units can obtain direct connections through internet, then the control task sharing function was designed—control side publishes its control algorithm file, and other remote computers act as remote controller by downloading the file.Benefiting from the dynamic topology and the relevant redundancy of data links, the proposed method enhances the fault tolerant ability of internet-based NCSs.The experiment and simulation demonstrate the P2P technology implements dynamic topology of internet-based NCSs, and prove the effectiveness that redundancy control strategy enhances the fault tolerant ability of NCSs.
internet-based control; networked control system; P2P; redundancy control
2016-04-07
国家自然科学基金(61273104,61333003,61321062)
王湛昱(1982—),男,博士研究生,工程师,研究方向为网络化控制、计算机网络技术、P2P网络技术;
刘国平(1962—),男,博士,教授,研究方向为网络化控制、多智能体控制系统、非线性系统辨识与控制、多目标最优控制与决策。
刘国平
10.15938/j.emc.2016.11.013
TP 273.5
A
1007-449X(2016)11-0092-09