Network Adaptive Deadband: NCS Data Flow Control for Shared Networks
Identifieur interne : 002370 ( Ncbi/Merge ); précédent : 002369; suivant : 002371Network Adaptive Deadband: NCS Data Flow Control for Shared Networks
Auteurs : Miguel Díaz-Cacho [Espagne] ; Emma Delgado ; José A. G. Prieto ; Joaquín L PezSource :
- Sensors (Basel, Switzerland) [ 1424-8220 ] ; 2012.
Abstract
This paper proposes a new middleware solution called Network Adaptive Deadband (NAD) for long time operation of Networked Control Systems (NCS) through the Internet or any shared network based on IP technology. The proposed middleware takes into account the network status and the NCS status, to improve the global system performance and to share more effectively the network by several NCS and sensor/actuator data flows. Relationship between network status and NCS status is solved with a TCP-friendly transport flow control protocol and the deadband concept, relating deadband value and transmission throughput. This creates a deadband-based flow control solution. Simulation and experiments in shared networks show that the implemented network adaptive deadband has better performance than an optimal constant deadband solution in the same circumstances.
Url:
DOI: 10.3390/s121216591
PubMed: 23208556
PubMed Central: 3571799
Links toward previous steps (curation, corpus...)
- to stream Pmc, to step Corpus: 002494
- to stream Pmc, to step Curation: 002494
- to stream Pmc, to step Checkpoint: 001647
Links to Exploration step
PMC:3571799Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en">Network Adaptive Deadband: NCS Data Flow Control for Shared Networks</title>
<author><name sortKey="Diaz Cacho, Miguel" sort="Diaz Cacho, Miguel" uniqKey="Diaz Cacho M" first="Miguel" last="Díaz-Cacho">Miguel Díaz-Cacho</name>
<affiliation wicri:level="2"><nlm:aff id="af1-sensors-12-16591">School of Computer Engineering, Computer Network Engineering, University of Vigo, 32004 Ourense, Spain</nlm:aff>
<country xml:lang="fr">Espagne</country>
<wicri:regionArea>School of Computer Engineering, Computer Network Engineering, University of Vigo, 32004 Ourense</wicri:regionArea>
<placeName><region nuts="2" type="communauté">Galice</region>
</placeName>
</affiliation>
</author>
<author><name sortKey="Delgado, Emma" sort="Delgado, Emma" uniqKey="Delgado E" first="Emma" last="Delgado">Emma Delgado</name>
<affiliation><nlm:aff id="af2-sensors-12-16591">School of Industrial Engineering, Control Engineering, University of Vigo, 36310 Vigo, Spain; E-Mails:<email>emmad@uvigo.es</email>
(E.D.);<email>jagprieto@uvigo.es</email>
(J.A.G.P.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Prieto, Jose A G" sort="Prieto, Jose A G" uniqKey="Prieto J" first="José A. G." last="Prieto">José A. G. Prieto</name>
<affiliation><nlm:aff id="af2-sensors-12-16591">School of Industrial Engineering, Control Engineering, University of Vigo, 36310 Vigo, Spain; E-Mails:<email>emmad@uvigo.es</email>
(E.D.);<email>jagprieto@uvigo.es</email>
(J.A.G.P.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="L Pez, Joaquin" sort="L Pez, Joaquin" uniqKey="L Pez J" first="Joaquín" last="L Pez">Joaquín L Pez</name>
<affiliation><nlm:aff id="af3-sensors-12-16591">School of Industrial Engineering, Robotics, University of Vigo, 36310 Vigo, Spain; E-Mail:<email>joaquin@uvigo.es</email>
</nlm:aff>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">PMC</idno>
<idno type="pmid">23208556</idno>
<idno type="pmc">3571799</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3571799</idno>
<idno type="RBID">PMC:3571799</idno>
<idno type="doi">10.3390/s121216591</idno>
<date when="2012">2012</date>
<idno type="wicri:Area/Pmc/Corpus">002494</idno>
<idno type="wicri:Area/Pmc/Curation">002494</idno>
<idno type="wicri:Area/Pmc/Checkpoint">001647</idno>
<idno type="wicri:Area/Ncbi/Merge">002370</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en" level="a" type="main">Network Adaptive Deadband: NCS Data Flow Control for Shared Networks</title>
<author><name sortKey="Diaz Cacho, Miguel" sort="Diaz Cacho, Miguel" uniqKey="Diaz Cacho M" first="Miguel" last="Díaz-Cacho">Miguel Díaz-Cacho</name>
<affiliation wicri:level="2"><nlm:aff id="af1-sensors-12-16591">School of Computer Engineering, Computer Network Engineering, University of Vigo, 32004 Ourense, Spain</nlm:aff>
<country xml:lang="fr">Espagne</country>
<wicri:regionArea>School of Computer Engineering, Computer Network Engineering, University of Vigo, 32004 Ourense</wicri:regionArea>
<placeName><region nuts="2" type="communauté">Galice</region>
</placeName>
</affiliation>
</author>
<author><name sortKey="Delgado, Emma" sort="Delgado, Emma" uniqKey="Delgado E" first="Emma" last="Delgado">Emma Delgado</name>
<affiliation><nlm:aff id="af2-sensors-12-16591">School of Industrial Engineering, Control Engineering, University of Vigo, 36310 Vigo, Spain; E-Mails:<email>emmad@uvigo.es</email>
(E.D.);<email>jagprieto@uvigo.es</email>
(J.A.G.P.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="Prieto, Jose A G" sort="Prieto, Jose A G" uniqKey="Prieto J" first="José A. G." last="Prieto">José A. G. Prieto</name>
<affiliation><nlm:aff id="af2-sensors-12-16591">School of Industrial Engineering, Control Engineering, University of Vigo, 36310 Vigo, Spain; E-Mails:<email>emmad@uvigo.es</email>
(E.D.);<email>jagprieto@uvigo.es</email>
(J.A.G.P.)</nlm:aff>
</affiliation>
</author>
<author><name sortKey="L Pez, Joaquin" sort="L Pez, Joaquin" uniqKey="L Pez J" first="Joaquín" last="L Pez">Joaquín L Pez</name>
<affiliation><nlm:aff id="af3-sensors-12-16591">School of Industrial Engineering, Robotics, University of Vigo, 36310 Vigo, Spain; E-Mail:<email>joaquin@uvigo.es</email>
</nlm:aff>
</affiliation>
</author>
</analytic>
<series><title level="j">Sensors (Basel, Switzerland)</title>
<idno type="eISSN">1424-8220</idno>
<imprint><date when="2012">2012</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc><textClass></textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en"><p>This paper proposes a new middleware solution called Network Adaptive Deadband (NAD) for long time operation of Networked Control Systems (NCS) through the Internet or any shared network based on IP technology. The proposed middleware takes into account the network status and the NCS status, to improve the global system performance and to share more effectively the network by several NCS and sensor/actuator data flows. Relationship between network status and NCS status is solved with a TCP-friendly transport flow control protocol and the deadband concept, relating deadband value and transmission throughput. This creates a deadband-based flow control solution. Simulation and experiments in shared networks show that the implemented network adaptive deadband has better performance than an optimal constant deadband solution in the same circumstances.</p>
</div>
</front>
<back><div1 type="bibliography"><listBibl><biblStruct><analytic><author><name sortKey="Zhao, Y B" uniqKey="Zhao Y">Y.B. Zhao</name>
</author>
<author><name sortKey="Liu, G P" uniqKey="Liu G">G.P. Liu</name>
</author>
<author><name sortKey="Rees, D" uniqKey="Rees D">D. Rees</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Lian, F L" uniqKey="Lian F">F.L. Lian</name>
</author>
<author><name sortKey="Yook, J K" uniqKey="Yook J">J.K. Yook</name>
</author>
<author><name sortKey="Tilbury, D M" uniqKey="Tilbury D">D.M. Tilbury</name>
</author>
<author><name sortKey="Moyne, J" uniqKey="Moyne J">J. Moyne</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Nesic, D" uniqKey="Nesic D">D. Nesic</name>
</author>
<author><name sortKey="Teel, A" uniqKey="Teel A">A. Teel</name>
</author>
<author><name sortKey="Carnevale, D" uniqKey="Carnevale D">D. Carnevale</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Diaz Cacho, M" uniqKey="Diaz Cacho M">M. Díaz-Cacho</name>
</author>
<author><name sortKey="Delgado, E" uniqKey="Delgado E">E. Delgado</name>
</author>
<author><name sortKey="Barreiro, A" uniqKey="Barreiro A">A. Barreiro</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Otanez, P" uniqKey="Otanez P">P. Otanez</name>
</author>
<author><name sortKey="Moyne, J" uniqKey="Moyne J">J. Moyne</name>
</author>
<author><name sortKey="Tilbury, D" uniqKey="Tilbury D">D. Tilbury</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Floyd, S" uniqKey="Floyd S">S. Floyd</name>
</author>
<author><name sortKey="Fall, K" uniqKey="Fall K">K. Fall</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Hirche, S" uniqKey="Hirche S">S. Hirche</name>
</author>
<author><name sortKey="Hinterseer, P" uniqKey="Hinterseer P">P. Hinterseer</name>
</author>
<author><name sortKey="Steinbach, E" uniqKey="Steinbach E">E. Steinbach</name>
</author>
<author><name sortKey="Steinbach, E" uniqKey="Steinbach E">E. Steinbach</name>
</author>
<author><name sortKey="Buss, M" uniqKey="Buss M">M. Buss</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Zhao, Y B" uniqKey="Zhao Y">Y.B. Zhao</name>
</author>
<author><name sortKey="Liu, G P" uniqKey="Liu G">G.P. Liu</name>
</author>
<author><name sortKey="Rees, D" uniqKey="Rees D">D. Rees</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Diaz Cacho, M" uniqKey="Diaz Cacho M">M. Diaz-Cacho</name>
</author>
<author><name sortKey="Barreiro, A" uniqKey="Barreiro A">A. Barreiro</name>
</author>
<author><name sortKey="Rivera, M" uniqKey="Rivera M">M. Rivera</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Zhao, Y" uniqKey="Zhao Y">Y. Zhao</name>
</author>
<author><name sortKey="Liu, G" uniqKey="Liu G">G. Liu</name>
</author>
<author><name sortKey="Rees, D" uniqKey="Rees D">D. Rees</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Vittorias, I" uniqKey="Vittorias I">I. Vittorias</name>
</author>
<author><name sortKey="Kammerl, J" uniqKey="Kammerl J">J. Kammerl</name>
</author>
<author><name sortKey="Hirche, S" uniqKey="Hirche S">S. Hirche</name>
</author>
<author><name sortKey="Steinbach, E" uniqKey="Steinbach E">E. Steinbach</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Xia, F" uniqKey="Xia F">F. Xia</name>
</author>
<author><name sortKey="Ma, L" uniqKey="Ma L">L. Ma</name>
</author>
<author><name sortKey="Peng, C" uniqKey="Peng C">C. Peng</name>
</author>
<author><name sortKey="Sun, Y" uniqKey="Sun Y">Y. Sun</name>
</author>
<author><name sortKey="Dong, J" uniqKey="Dong J">J. Dong</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Vasyutynskyy, V" uniqKey="Vasyutynskyy V">V. Vasyutynskyy</name>
</author>
<author><name sortKey="Kabitzsch, K" uniqKey="Kabitzsch K">K. Kabitzsch</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Nesi, D" uniqKey="Nesi D">D. Nesić</name>
</author>
<author><name sortKey="Teel, A" uniqKey="Teel A">A. Teel</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Mazo, J M" uniqKey="Mazo J">J.M. Mazo</name>
</author>
<author><name sortKey="Tabuada, P" uniqKey="Tabuada P">P. Tabuada</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Mazo, M" uniqKey="Mazo M">M. Mazo</name>
</author>
<author><name sortKey="Cao, M" uniqKey="Cao M">M. Cao</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Camacho, A" uniqKey="Camacho A">A. Camacho</name>
</author>
<author><name sortKey="Marti, P" uniqKey="Marti P">P. Martí</name>
</author>
<author><name sortKey="Velasco, M" uniqKey="Velasco M">M. Velasco</name>
</author>
<author><name sortKey="Lozoya, C" uniqKey="Lozoya C">C. Lozoya</name>
</author>
<author><name sortKey="Villa, R" uniqKey="Villa R">R. Villà</name>
</author>
<author><name sortKey="Fuertes, J" uniqKey="Fuertes J">J. Fuertes</name>
</author>
<author><name sortKey="Griful, E" uniqKey="Griful E">E. Griful</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Tipsuwan, Y" uniqKey="Tipsuwan Y">Y. Tipsuwan</name>
</author>
<author><name sortKey="Chow, M Y" uniqKey="Chow M">M.Y. Chow</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Cuenca, A" uniqKey="Cuenca A">A. Cuenca</name>
</author>
<author><name sortKey="Salt, J" uniqKey="Salt J">J. Salt</name>
</author>
<author><name sortKey="Sala, A" uniqKey="Sala A">A. Sala</name>
</author>
<author><name sortKey="Piza, R" uniqKey="Piza R">R. Piza</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Floyd, S" uniqKey="Floyd S">S. Floyd</name>
</author>
<author><name sortKey="Handley, M" uniqKey="Handley M">M. Handley</name>
</author>
<author><name sortKey="Padhye, J" uniqKey="Padhye J">J. Padhye</name>
</author>
<author><name sortKey="Widmer, J" uniqKey="Widmer J">J. Widmer</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Kohler, E" uniqKey="Kohler E">E. Kohler</name>
</author>
<author><name sortKey="Handley, M" uniqKey="Handley M">M. Handley</name>
</author>
<author><name sortKey="Floyd, S" uniqKey="Floyd S">S. Floyd</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Liu, P" uniqKey="Liu P">P. Liu</name>
</author>
<author><name sortKey="Meng, M H" uniqKey="Meng M">M.H. Meng</name>
</author>
<author><name sortKey="Liu, P" uniqKey="Liu P">P. Liu</name>
</author>
<author><name sortKey="Yang, S" uniqKey="Yang S">S. Yang</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Wirz, R" uniqKey="Wirz R">R. Wirz</name>
</author>
<author><name sortKey="Marin, R" uniqKey="Marin R">R. Marin</name>
</author>
<author><name sortKey="Ferre, M" uniqKey="Ferre M">M. Ferre</name>
</author>
<author><name sortKey="Barrio, J" uniqKey="Barrio J">J. Barrio</name>
</author>
<author><name sortKey="Claver, J" uniqKey="Claver J">J. Claver</name>
</author>
<author><name sortKey="Ortego, J" uniqKey="Ortego J">J. Ortego</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Diaz Cacho, M" uniqKey="Diaz Cacho M">M. Diaz-Cacho</name>
</author>
<author><name sortKey="Barreiro, A" uniqKey="Barreiro A">A. Barreiro</name>
</author>
<author><name sortKey="Rivera, M" uniqKey="Rivera M">M. Rivera</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Young Lee, J" uniqKey="Young Lee J">J. young Lee</name>
</author>
<author><name sortKey="Payandeh, S" uniqKey="Payandeh S">S. Payandeh</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Hirche, S" uniqKey="Hirche S">S. Hirche</name>
</author>
<author><name sortKey="Hinterseer, P" uniqKey="Hinterseer P">P. Hinterseer</name>
</author>
<author><name sortKey="Steinbach, E" uniqKey="Steinbach E">E. Steinbach</name>
</author>
<author><name sortKey="Buss, M" uniqKey="Buss M">M. Buss</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Gao, Z" uniqKey="Gao Z">Z. Gao</name>
</author>
<author><name sortKey="Xie, R" uniqKey="Xie R">R. Xie</name>
</author>
<author><name sortKey="Chen, Q" uniqKey="Chen Q">Q. Chen</name>
</author>
<author><name sortKey="Hu, W" uniqKey="Hu W">W. Hu</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Tatikonda, S" uniqKey="Tatikonda S">S. Tatikonda</name>
</author>
<author><name sortKey="Mitter, S" uniqKey="Mitter S">S. Mitter</name>
</author>
</analytic>
</biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article"><pmc-dir>properties open_access</pmc-dir>
<front><journal-meta><journal-id journal-id-type="nlm-ta">Sensors (Basel)</journal-id>
<journal-id journal-id-type="iso-abbrev">Sensors (Basel)</journal-id>
<journal-title-group><journal-title>Sensors (Basel, Switzerland)</journal-title>
</journal-title-group>
<issn pub-type="epub">1424-8220</issn>
<publisher><publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name>
</publisher>
</journal-meta>
<article-meta><article-id pub-id-type="pmid">23208556</article-id>
<article-id pub-id-type="pmc">3571799</article-id>
<article-id pub-id-type="doi">10.3390/s121216591</article-id>
<article-id pub-id-type="publisher-id">sensors-12-16591</article-id>
<article-categories><subj-group subj-group-type="heading"><subject>Article</subject>
</subj-group>
</article-categories>
<title-group><article-title>Network Adaptive Deadband: NCS Data Flow Control for Shared Networks</article-title>
</title-group>
<contrib-group><contrib contrib-type="author"><name><surname>Díaz-Cacho</surname>
<given-names>Miguel</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-12-16591"><sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c1-sensors-12-16591"><sup>*</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>Delgado</surname>
<given-names>Emma</given-names>
</name>
<xref ref-type="aff" rid="af2-sensors-12-16591"><sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>Prieto</surname>
<given-names>José A. G.</given-names>
</name>
<xref ref-type="aff" rid="af2-sensors-12-16591"><sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>López</surname>
<given-names>Joaquín</given-names>
</name>
<xref ref-type="aff" rid="af3-sensors-12-16591"><sup>3</sup>
</xref>
</contrib>
</contrib-group>
<aff id="af1-sensors-12-16591"><label>1</label>
School of Computer Engineering, Computer Network Engineering, University of Vigo, 32004 Ourense, Spain</aff>
<aff id="af2-sensors-12-16591"><label>2</label>
School of Industrial Engineering, Control Engineering, University of Vigo, 36310 Vigo, Spain; E-Mails:<email>emmad@uvigo.es</email>
(E.D.);<email>jagprieto@uvigo.es</email>
(J.A.G.P.)</aff>
<aff id="af3-sensors-12-16591"><label>3</label>
School of Industrial Engineering, Robotics, University of Vigo, 36310 Vigo, Spain; E-Mail:<email>joaquin@uvigo.es</email>
</aff>
<author-notes><corresp id="c1-sensors-12-16591"><label>*</label>
Author to whom correspondence should be addressed; E-Mail: <email>mcacho@uvigo.es</email>
; Tel.: +34-986-812-222; Fax: +34-986-814-014.</corresp>
</author-notes>
<pub-date pub-type="collection"><month>12</month>
<year>2012</year>
</pub-date>
<pub-date pub-type="epub"><day>03</day>
<month>12</month>
<year>2012</year>
</pub-date>
<volume>12</volume>
<issue>12</issue>
<fpage>16591</fpage>
<lpage>16613</lpage>
<history><date date-type="received"><day>06</day>
<month>10</month>
<year>2012</year>
</date>
<date date-type="rev-recd"><day>23</day>
<month>11</month>
<year>2012</year>
</date>
<date date-type="accepted"><day>23</day>
<month>11</month>
<year>2012</year>
</date>
</history>
<permissions><copyright-statement>© 2012 by the authors; licensee MDPI, Basel, Switzerland</copyright-statement>
<copyright-year>2012</copyright-year>
<license><license-p><pmc-comment>CREATIVE COMMONS</pmc-comment>
This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/3.0/">http://creativecommons.org/licenses/by/3.0/</ext-link>
).</license-p>
</license>
</permissions>
<abstract><p>This paper proposes a new middleware solution called Network Adaptive Deadband (NAD) for long time operation of Networked Control Systems (NCS) through the Internet or any shared network based on IP technology. The proposed middleware takes into account the network status and the NCS status, to improve the global system performance and to share more effectively the network by several NCS and sensor/actuator data flows. Relationship between network status and NCS status is solved with a TCP-friendly transport flow control protocol and the deadband concept, relating deadband value and transmission throughput. This creates a deadband-based flow control solution. Simulation and experiments in shared networks show that the implemented network adaptive deadband has better performance than an optimal constant deadband solution in the same circumstances.</p>
</abstract>
<kwd-group><kwd>deadband control</kwd>
<kwd>NCS</kwd>
<kwd>tele-operation</kwd>
<kwd>network protocols</kwd>
<kwd>sensors/actuators</kwd>
</kwd-group>
</article-meta>
</front>
<body><sec><label>1.</label>
<title>Introduction</title>
<p>Control systems are basically composed by a controller and a plant, where the controller receives the information about the state of the plant, computes the new action and sends it to the plant. The controller uses the required hardware and software to obtain the control law. The plant uses actuators to apply the received actions from the controller, and uses sensors to measure the state of the plant (<xref ref-type="fig" rid="f1-sensors-12-16591">Figure 1</xref>
). Sensors and actuators were traditionally connected to the control system through a dedicated network. If the control loop between controller and plant is closed through a shared digital communication network such as Internet, stability cannot be guaranteed because of variable communication delays and data packet loss. But the use of Internet as intermediate network has some advantages, such as the high availability, testability, simple installation as well as low cost. Networked Control Systems (NCS) cover tele-operation, tele-robotics and network-based control. The applications are in traffic control, robotics, domotics, tele-operation, in general Internet of things and can be extended to serve as remote back-up controllers for some critical plants in case of a disaster.</p>
<p>The adoption of TCP/IP protocol stack is mandatory to send packets across the Internet, and researchers should work with this restriction. Major contributions of the researches in NCS over Internet are in the controller-design, in designing new transport protocols (in layer 4 of the TCP/IP stack) or in the local segment of the extremes of the NCS. The Internet constraints for NCS (such as delay and packet losses) are basically caused by the queue size of the intermediate routers and the capacity of the network link between both extremes of the NCS. Variable delay and variable packet losses are mainly due to the unpredictable network occupation of the background traffic and the transmission rate of the NCS [<xref ref-type="bibr" rid="b1-sensors-12-16591">1</xref>
]. The transmission rate is closely related with the sampling period of the NCS and the network constraints [<xref ref-type="bibr" rid="b2-sensors-12-16591">2</xref>
]. A big effort is made to calculate the limits of the sampling periods that maintain the NCS stability, such as the <italic>Maximum allowable sampling period</italic>
(or MASP) of an NCS (see the work of Nesić <italic>et al</italic>
. [<xref ref-type="bibr" rid="b3-sensors-12-16591">3</xref>
] and references cited therein).</p>
<p>In our previous study [<xref ref-type="bibr" rid="b4-sensors-12-16591">4</xref>
], we conclude that an adequate transport scheme can solve the transmission rate problem in Internet-based NCSs. The transport scheme should have flow-control, best-effort and fairness features, as well as an NCS data priority system. Some transport protocols meet the first three specifications, but compete with control data scheduling strategies implemented in the control design, to solve the variable delay and packet losses problem.</p>
<p>In this work, a general scheme to combine control and network status is presented. The general scheme is implemented in a middleware solution that uses a transport protocol that satisfies the aforementioned features, in combination with the deadband concept that works as the NCS data priority system (see <xref ref-type="fig" rid="f1-sensors-12-16591">Figure 1</xref>
for a basic Linear Quadratic Regulator LQR control system). However, a more generic adaptive deadband solution may be implemented with other adaption law, mainly to optimize the power consumption, highly recommended in sensor networks.</p>
<p>The starting point to implement the proposed middleware is a properly designed NCS in the expected network scenario, taken into account delays and packet losses. Several works have been made to design such an NCS, using different strategies that will be described in Section 2.</p>
<p>The concept of deadband applied to NCS was initially studied by Otanez <italic>et al</italic>
. [<xref ref-type="bibr" rid="b5-sensors-12-16591">5</xref>
]. NCS deadband focuses on the relative value of NCS data to be transmitted. In deadband sampling solution, a data is sent only if its difference with the last data sent is bigger than a defined value. This value is called <italic>deadband</italic>
.
<disp-formula id="FD1"><label>(1)</label>
<mml:math id="mm1"><mml:mrow><mml:mi>D</mml:mi>
<mml:mi>F</mml:mi>
<mml:msub><mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">send</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mn>1</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mrow><mml:mo>‖</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>l</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>‖</mml:mo>
</mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mi>δ</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mrow><mml:mo>‖</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>l</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>‖</mml:mo>
</mml:mrow>
<mml:mo><</mml:mo>
<mml:mi>δ</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>A deadband transmission filter can be formulated as in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>
, where <italic>δ</italic>
is the deadband value, <italic>x<sub>ls</sub>
</italic>
is the last data sent and <italic>x</italic>
is the candidate data to be sent. In <xref ref-type="fig" rid="f1-sensors-12-16591">Figure 1</xref>
, <italic>D<sub>c</sub>
</italic>
and <italic>D<sub>p</sub>
</italic>
are the deadband filters for the controller and plant sides respectively.</p>
<p>Constant deadband solution attempts to minimize the throughput while maintaining acceptable performance for an NCS. However, a constant deadband that minimizes the throughput may not be suitable for networks with variable congestion scenarios, basically due to two remarks:
<list list-type="simple"><list-item><p><bold>Remark 1</bold>
<italic>If the network is congested, a minimum transmission throughput can result in a reception throughput below the minimum required to maintain stability, due to packet loss.</italic>
</p>
</list-item>
<list-item><p><bold>Remark 2</bold>
<italic>If the network is not congested, increasing the transmission rate improves the performance of the NCS, but the rate should stay below the available capacity on the network, because the delay increases due to saturation of the queues of the intermediate routers [<xref ref-type="bibr" rid="b4-sensors-12-16591">4</xref>
].</italic>
</p>
</list-item>
</list>
</p>
<p>The packet selection process that allows the deadband solution is suitable as a prioritization system for NCS data on shared networks, but does not take into account the state of the network to maximize the performance of NCS. This paper proposes a deadband modulation system taking into account the previous mentioned remarks. To module the deadband, a TCP-friendly flow control algorithm is used as transport protocol, and the complete middleware solution is called TCP-friendly NAD.</p>
<p>A flow is TCP-friendly if its arrival rate is approximately equal or slower than the rate of a conformant TCP connection under the same network conditions [<xref ref-type="bibr" rid="b6-sensors-12-16591">6</xref>
].
<disp-formula id="FD2"><label>(2)</label>
<mml:math id="mm2"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn>
<mml:mrow><mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>≡</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub><mml:mrow><mml:mo>|</mml:mo>
</mml:mrow>
<mml:mrow><mml:mi>p</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="italic">sec</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt><mml:mn>3</mml:mn>
</mml:msqrt>
<mml:mo>/</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>R</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>T</mml:mi>
<mml:mo>/</mml:mo>
<mml:msqrt><mml:mrow><mml:mn>2</mml:mn>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The conformant TCP throughput without retransmission follows <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref>
for fixed packet size. In <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref>
, <italic>p</italic>
represents the probability of packet losses and <italic>RTT</italic>
the round trip time. <italic>IPG</italic>
is an acronym for Inter-Packet Gap, which represents the time between packets sent, and <italic>th</italic>
stands for throughput, in packets per second.</p>
<p>TCP-friendly requirements can be mandatory for new Internet protocols in order to share the Internet with good results. This feature can be exploited by other shared networks, and could be necessary for multi-agent systems.</p>
<p>The benefits of the proposed transport scheme can be seen in <xref ref-type="fig" rid="f2-sensors-12-16591">Figure 2</xref>
. This figure shows a comparison between commonly used transmission schedulers and the NAD, where the points represent a transmission event.
<list list-type="bullet"><list-item><p><xref ref-type="fig" rid="f2-sensors-12-16591">Figure 2(a)</xref>
represents a transmission scheduler for a constant sampling rate with period <italic>T<sub>s</sub>
</italic>
, but without transport flow control or deadband.</p>
</list-item>
<list-item><p><xref ref-type="fig" rid="f2-sensors-12-16591">Figure 2(b)</xref>
represents a transmission scheduler for a constant deadband sampling with a deadband value of <italic>δ</italic>
according to <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>
.</p>
</list-item>
<list-item><p><xref ref-type="fig" rid="f2-sensors-12-16591">Figure 2(c)</xref>
represents a transmission scheduler based on a TCP-friendly transport protocol, with different network congestion scenarios, where <italic>N<sub>u</sub>
</italic>
represents the network use. In this figure, the <italic>IPG</italic>
depends on the transport flow control algorithm, that generally depends on the network usage: with high congestion situations, the packet send period or <italic>IPG</italic>
is high (<italic>IPG</italic>
<sub>1</sub>
), and it decreases in low congestion scenarios (<italic>IPG</italic>
<sub>1</sub>
> <italic>IPG</italic>
<sub>2</sub>
> <italic>IPG</italic>
<sub>3</sub>
).</p>
</list-item>
<list-item><p><xref ref-type="fig" rid="f2-sensors-12-16591">Figure 2(d)</xref>
represents the proposed network adaptive deadband solution, a deadband scheduler based on the network usage <italic>N<sub>u</sub>
</italic>
. In this subfigure the value of the deadband depends on <italic>N<sub>u</sub>
</italic>
. It will have a larger deadband (<italic>δ</italic>
<sub>1</sub>
) in a high congestion network environment, and a smaller deadband (<italic>δ</italic>
<sub>3</sub>
) in a low congestion situation. Note that <italic>δ</italic>
<sub>1</sub>
> <italic>δ</italic>
<sub>2</sub>
> <italic>δ</italic>
<sub>3</sub>
.</p>
</list-item>
</list>
</p>
<p>The main reason for using this deadband solution rather than the constant deadband, amplitude relative deadband [<xref ref-type="bibr" rid="b7-sensors-12-16591">7</xref>
] or pure transport protocol is that the reduction of data sent caused by the constant deadband is not always required on shared networks (see remark 2). Besides, this reduction is at the expense of an increment in the NCS error or a decrement in the psychophysical perception of the tele-operated system. At the same time, packet loss in the case of constant deadband can cause instabilities if the transmission scheduling rule is in the low limit of acceptable throughput (see remark 1). A pure transport protocol such as the trinomial algorithm, adapted to the network scenario, can share the network with fairness, but it does not guarantee any of the NCS requirements to maintain stability.</p>
<p>On the other hand, a schema that combines the two aforementioned solutions can share the network with fairness requirements, and at same time, they can maintain the best available performance in a variable network scenario.</p>
<p>The paper is organized as follows. Motivation, originality and introduction to preliminary concepts such as TCP-friendly and deadband are advanced in this section. An overview of the related work is given in Section 2. Section 3 shows a general scope of Network Adaptive Deadband and defines the different elements involved in the scheme. The proposed TCP-friendly based deadband control is presented in Section 4 and its application to a tele-operated gantry-crane is showed in Section 5. Simulation and experimental results that compare constant deadband and adaptive deadband in a shared network are presented in Sections 6 and 7 respectively. Finally, the conclusions and future work are described in Section 8.</p>
</sec>
<sec><label>2.</label>
<title>Related Work</title>
<p>Network and control system relationship in an Internet based NCS or in tele-operation systems is usually limited to adapt the controller design to several network variables (such as the delay constraint, the delay variation and the number of consecutive losses).The common solutions for the control system use the network as a passive element, and in the case of Internet, solve the transport problem using the UDP transport protocol. On the other hand, common network solutions for NCS investigate the creation of new protocols and data flow control algorithms. In this case, control systems are used as applications without considering the contents of the data to be transmitted. Modern techniques have emerged with the generic name of co-design that try to model and integrate the network in the control system. Some authors refer generically to this topic as Network Based Control (NBC). There are different solutions to this problem that we classify in the following four approaches.</p>
<sec><label>2.1.</label>
<title>Packet and Deadband Based Control</title>
<p>This line scans the contents and structure of <italic>NCS data packets</italic>
to optimize the network performance and efficiency [<xref ref-type="bibr" rid="b8-sensors-12-16591">8</xref>
,<xref ref-type="bibr" rid="b9-sensors-12-16591">9</xref>
]. These methods allow to work on predictive control, because the controller (or the plant) can send actual, past and future <italic>NCS data</italic>
, in the same packet. Thus, if the data is lost or not sent, the other extreme has predictive information received in previous packets [<xref ref-type="bibr" rid="b1-sensors-12-16591">1</xref>
,<xref ref-type="bibr" rid="b10-sensors-12-16591">10</xref>
].</p>
<p>Deadband control applied to NCS focuses initially on modeling Networked Control Systems [<xref ref-type="bibr" rid="b5-sensors-12-16591">5</xref>
] analyzing the performance effects of limiting packet transmission to reduce the network traffic. This makes the communication medium more efficient, and time delays are minimized.</p>
<p>In [<xref ref-type="bibr" rid="b7-sensors-12-16591">7</xref>
] a passivity approach for deadband control is made for haptic tele-operation, and later, perception Weber-inspired deadband approaches were made [<xref ref-type="bibr" rid="b11-sensors-12-16591">11</xref>
]. In [<xref ref-type="bibr" rid="b2-sensors-12-16591">2</xref>
] a study about the relationship between the sampling rates of a control system, and the transmission rates of a local communication network, is made. A similar solution to the one proposed in this paper has been presented in [<xref ref-type="bibr" rid="b12-sensors-12-16591">12</xref>
]. However, the work in [<xref ref-type="bibr" rid="b12-sensors-12-16591">12</xref>
] was made specifically for wireless sensor networks; in [<xref ref-type="bibr" rid="b13-sensors-12-16591">13</xref>
], the predictive deadband allows to study the influence of different factors, such as the CPU load, on the efficiency of deadband sampling. These works focus the deadband study to improve the performance of sensor networks, optimizing the network and/or the power consumption of the whole system.</p>
</sec>
<sec sec-type="methods"><label>2.2.</label>
<title>Codesign of Control and Transmission Rate</title>
<p>This line of work studies protocols, middleware systems and control theory. The work of Nesic and Teel [<xref ref-type="bibr" rid="b3-sensors-12-16591">3</xref>
,<xref ref-type="bibr" rid="b14-sensors-12-16591">14</xref>
] focuses on the transmission rate (or sampling) problem of nonlinear systems.</p>
<p>In event-triggered control, the control input is updated when a certain condition of the state of the plant is met. For example the work of P. Taboada and M. Mazo in [<xref ref-type="bibr" rid="b15-sensors-12-16591">15</xref>
,<xref ref-type="bibr" rid="b16-sensors-12-16591">16</xref>
] and the references therein present very interesting results in modeling sampling rate (or transmission rate) and control system. In self-triggering control [<xref ref-type="bibr" rid="b17-sensors-12-16591">17</xref>
], the controller calculates the next sampling-time as a function of the state of the plant. The target of the triggering control is to minimize the energy requirements, without compromise the performance of the control system.</p>
</sec>
<sec sec-type="methods"><label>2.3.</label>
<title>Codesign of Control and Gain</title>
<p>In [<xref ref-type="bibr" rid="b18-sensors-12-16591">18</xref>
] a middleware system that modifies control gains in PID controllers is studied. The system takes into consideration the network status. The controller output algorithm depends on the remote plant and the controller global configuration. The state of the network is obtained by sending probe packets. More recently, in [<xref ref-type="bibr" rid="b19-sensors-12-16591">19</xref>
] a network delay-dependent gain scheduling law is used on an Ethernet shared network.</p>
</sec>
<sec><label>2.4.</label>
<title>NCS Specific Transport Protocols</title>
<p>In the transport layer, there are some solutions related to the UDP protocol, developing flow-control and TCP-friendly features, such as TFRC [<xref ref-type="bibr" rid="b20-sensors-12-16591">20</xref>
], DCCP [<xref ref-type="bibr" rid="b21-sensors-12-16591">21</xref>
] or the trinomial algorithm [<xref ref-type="bibr" rid="b22-sensors-12-16591">22</xref>
]; Recently, Wirz <italic>et al</italic>
. have worked in transport protocols for robotics, such as the Bidirectional Transport Protocol (BTP) [<xref ref-type="bibr" rid="b23-sensors-12-16591">23</xref>
]. BTP is an end-to-end flow control protocol that minimizes the round trip time while maximizing the transmission rate. The Tele-operation Data Transport Protocol (TDTP) [<xref ref-type="bibr" rid="b9-sensors-12-16591">9</xref>
] focuses on the bidirectionality of the NCS data flow to improve the efficiency of the transmission rate. Bidirectionality of the NCS systems in transport protocols is used to determine the network status in the packet header of the reverse flow.</p>
<p>In the Link Layer of the OSI model, CAN, HART or EtherCat, and the technologies like Ethernet, Wifi 802.11, bluetooth or ZigBee are suitable as the local segment of the Internet NCS connection with an appropriate gateway to the Internet link.</p>
<p>To our knowledge, no work has been done to relate deadband sampling and transport flow control algorithms.</p>
</sec>
</sec>
<sec><label>3.</label>
<title>Network Adaptive Deadband Proposed Scheme</title>
<p>The solution presented here is a middleware that combines transport and application layer functionality. The application layer will deliver NCS status data to the transport layer and the transport layer looks to the application data fields. <xref ref-type="fig" rid="f3-sensors-12-16591">Figure 3</xref>
shows a detailed box diagram of the functionality and data flow between the layers. Network status is calculated using a bidirectional transport architecture, where the network information is inserted in the transport header.</p>
<p>The middleware uses two threads. The <italic>Reception thread</italic>
delivers application data directly to the NCS. The <italic>Transport Data</italic>
(TD) of the <italic>Transport Header</italic>
(TH) are processed in the transport layer by the <italic>Transport Control Function</italic>
(TCF), where the flow control algorithm is implemented. The TCF generates <italic>Transport Control Data</italic>
(TCD) that includes processed information regarding the network status. This TCD is provided to the <italic>Deadband Function</italic>
(DF), which relates throughput and deadband. Optionally, application control information such as error, <italic>Average Error</italic>
(AE) or predictive data, can be used as DF input. These data are called <italic>Application Control Data</italic>
(ACD).</p>
<p>The <italic>Transmission thread</italic>
filters NCS data with the <italic>Deadband Filter</italic>
(DFi), which uses the deadband value obtained dynamically by the DF in the reception thread. Deadband filter is implemented using the sending event function defined in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>
. The proposed adaptive deadband formulates the deadband function as in <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref>
, where <italic>th</italic>
, <italic>RTT</italic>
, <italic>p</italic>
are the throughput, round-trip time and packet losses respectively ; these variables are used as TCD data. Average error (<italic>AE</italic>
) or instantaneous error (<italic>error</italic>
) are proposed ACD data.
<disp-formula id="FD3"><label>(3)</label>
<mml:math id="mm3"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>δ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>T</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>δ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>A</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">error</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</sec>
<sec><label>4.</label>
<title>TCP-Friendly Adaptive Deadband</title>
<p>In this section, the transport control scheme and the deadband function for the TCP-friendly Adaptive Deadband are described.</p>
<sec><label>4.1.</label>
<title>Transport Control Scheme</title>
<p>The implemented transport scheme focuses on the flow control algorithm and on the use of bidirectionality in NCS data flows.</p>
<p>The transport control function (<italic>TCF</italic>
) implemented is the trinomial flow control algorithm [<xref ref-type="bibr" rid="b22-sensors-12-16591">22</xref>
]. The trinomial algorithm calculates the <italic>IPG</italic>
and differentiates increment and decrement transmission rate intervals. To compute the transmission rate, the algorithm uses three parameters (<italic>α</italic>
, <italic>β</italic>
, <italic>γ</italic>
), and the RTT. The RTT is measured using timestamps. The sender selects an increment or decrement interval depending on a backward packet loss tag. This tag, called Backward Congestion Notification (BCN), is inserted in the reverse flow by the receiver and received by the sender. The details of this tag and the way it is included in a bidirectional data flow, are explained in our previous work [<xref ref-type="bibr" rid="b9-sensors-12-16591">9</xref>
,<xref ref-type="bibr" rid="b24-sensors-12-16591">24</xref>
].</p>
<p>In the direct flow between sender and receiver, the receiver detects the loss of packets by computing a sequence number and reports it to the sender setting the BCN tag to one (<italic>BCN</italic>
= 1). If there are not packet losses, the BCN tag is set to zero (<italic>BCN</italic>
= 0). <xref ref-type="fig" rid="f4-sensors-12-16591">Figure 4</xref>
shows the transport header format of the implemented trinomial algorithm, with the BCN tag, the sender sequence number and sender and receiver timestamps.
<disp-formula id="FD4"><label>(4)</label>
<mml:math id="mm4"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">IPG</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">IPG</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">IPG</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>W</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>B</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">IPG</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mi>β</mml:mi>
</mml:mfrac>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>B</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p><xref ref-type="disp-formula" rid="FD4">Equation (4)</xref>
shows the way the transmission rate is decremented (with <italic>BCN</italic>
= 1) or incremented (with <italic>BCN</italic>
= 0), where <italic>W</italic>
> 0 is a variable depending on <italic>γ</italic>
, <italic>α</italic>
and <italic>RTT</italic>
. Parameter <italic>β</italic>
< 1 is an initial parameter. To know how this algorithm is determined and the details of how it works, see the work of Liu <italic>et al</italic>
. [<xref ref-type="bibr" rid="b22-sensors-12-16591">22</xref>
].</p>
</sec>
<sec><label>4.2.</label>
<title>Deadband Function</title>
<p>In this work, we have chosen as deadband function the relationship between transmission rate (or throughput <italic>th</italic>
) and deadband (<italic>δ</italic>
= <italic>f</italic>
(<italic>th</italic>
) ≡ <italic>δ<sub>th</sub>
</italic>
). The implementation of the trinomial algorithm presented in Section 4.1 meets the TCP-friendly requirements, and gives a way to calculate the throughput <italic>th</italic>
by calculating the inter packet gap <italic>IPG</italic>
= 1/<italic>th</italic>
.</p>
<p>Obtaining an analytical solution to the relationship between <italic>th</italic>
and deadband (<italic>δ</italic>
= <italic>f</italic>
(<italic>th</italic>
) ≡ <italic>δ<sub>th</sub>
</italic>
) is complex and can be attempted using rate-distortion theory [<xref ref-type="bibr" rid="b25-sensors-12-16591">25</xref>
] or a simple linear approach. From the rate-distortion theory, the throughput-deadband relationship is a continuous, monotonically decreasing convex function, and tends to have very similar forms in real implementations. <xref ref-type="fig" rid="f5-sensors-12-16591">Figure 5(b)</xref>
shows these relationships. Experiments, simulations and related literature [<xref ref-type="bibr" rid="b1-sensors-12-16591">1</xref>
,<xref ref-type="bibr" rid="b2-sensors-12-16591">2</xref>
,<xref ref-type="bibr" rid="b5-sensors-12-16591">5</xref>
,<xref ref-type="bibr" rid="b7-sensors-12-16591">7</xref>
,<xref ref-type="bibr" rid="b25-sensors-12-16591">25</xref>
–<xref ref-type="bibr" rid="b27-sensors-12-16591">27</xref>
] show that this relationship always has that form.</p>
<p>The purpose of this work is not to determine an exact representation of <italic>δ<sub>th</sub>
</italic>
but a deadband function easy to implement, maintaining the lower and upper bound of the transmission rate to achieve the performance of the control system. A similar simulated method for Wireless Sensor Networks, was used in the work of Xia <italic>et al</italic>
. [<xref ref-type="bibr" rid="b12-sensors-12-16591">12</xref>
]. Lower and upper bounds of the throughput can be obtained by diverse methods or analysis, such as the ones presented by Tatikonda <italic>et al</italic>
. [<xref ref-type="bibr" rid="b28-sensors-12-16591">28</xref>
]. From [<xref ref-type="bibr" rid="b4-sensors-12-16591">4</xref>
], in Internet with TCP congestion, the upper limit of the transmission rate should be smaller than without congestion (<italic>th<sub>max</sub>
</italic>
); with UDP congestion, the lower limit should be bigger than without congestion (<italic>th<sub>min</sub>
</italic>
). However, the DF has the form in <xref ref-type="fig" rid="f5-sensors-12-16591">Figure 5(b)</xref>
, where the bounds are also represented.</p>
<p>The linear approach of the DF can be obtained with a basic analysis for a linear and uniform output signal (<italic>x</italic>
(<italic>t</italic>
)) in one extreme of the NCS with high sampling rate (<italic>sr</italic>
), as seen in <xref ref-type="fig" rid="f5-sensors-12-16591">Figure 5(a)</xref>
, where <italic>T<sub>p</sub>
</italic>
≡ <italic>IPG</italic>
is the transmission period, <italic>T<sub>s</sub>
</italic>
≡ 1/<italic>sr</italic>
is the sampling period, <italic>δ</italic>
is the fixed deadband value and <italic>x<sub>d</sub>
</italic>
is the difference between consecutive sampled data. In this case, these parameters satisfy <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref>
.
<disp-formula id="FD5"><label>(5)</label>
<mml:math id="mm5"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn>
<mml:mrow><mml:msub><mml:mrow><mml:mi>T</mml:mi>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">th</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mi>δ</mml:mi>
</mml:mfrac>
<mml:mo>⋅</mml:mo>
<mml:mfrac><mml:mn>1</mml:mn>
<mml:mrow><mml:msub><mml:mrow><mml:mi>T</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>However, in packet based NCS, the output is a discrete function. Therefore, in order to satisfy
<inline-formula><mml:math id="mm6"><mml:mrow><mml:munder><mml:mrow><mml:mtext>lim</mml:mtext>
</mml:mrow>
<mml:mrow><mml:mi>δ</mml:mi>
<mml:mo>→</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:munder>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
, the previous equation has to be changed to:
<disp-formula id="FD6"><label>(6)</label>
<mml:math id="mm7"><mml:mrow><mml:mi mathvariant="italic">th</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>⋅</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>In dynamic environments, the output signals are nonlinear and discontinuous, and the DF <italic>δ<sub>th</sub>
</italic>
changes dynamically with the environmental states. To reflect this non-linearity and discontinuities in output signals, the transmission rate is estimated as an average of the different linear functions adding a new parameter <italic>n</italic>
<sub>1</sub>
in <xref ref-type="disp-formula" rid="FD6">Equation (6)</xref>
. The transmission rate (<italic>th</italic>
(<italic>δ</italic>
)) is then characterized as a function of the system and controller dynamics, reference trajectory, and the chosen deadband [<xref ref-type="bibr" rid="b2-sensors-12-16591">2</xref>
] in a simple way.
<disp-formula id="FD7"><label>(7)</label>
<mml:math id="mm8"><mml:mrow><mml:mi mathvariant="italic">th</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mi>c</mml:mi>
<mml:mrow><mml:msup><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>⋅</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>In <xref ref-type="disp-formula" rid="FD7">Equation (7)</xref>
, the parameter <italic>c</italic>
is directly related with the average of the modulus of the output signal variation (<italic>x<sub>d</sub>
</italic>
), and should always have a positive value. The parameter <italic>n</italic>
<sub>1</sub>
is obtained by simulation and is in the range of 0 < <italic>n</italic>
<sub>1</sub>
< 1.</p>
<p>The function <italic>δ<sub>th</sub>
</italic>
should be have a maximum deadband <italic>δ<sub>max</sub>
</italic>
and a minimum deadband <italic>δ<sub>min</sub>
</italic>
to maintain acceptable performance. The maximum deadband depends on the minimum acceptable throughput <italic>th<sub>min</sub>
</italic>
= 1/<italic>IPG<sub>max</sub>
</italic>
and a measure of maximum allowed error of the NCS (<italic>E<sub>max</sub>
</italic>
), as seen in <xref ref-type="disp-formula" rid="FD8">Equation (8)</xref>
.
<disp-formula id="FD8"><label>(8)</label>
<mml:math id="mm9"><mml:mrow><mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The minimum deadband depends on the maximum acceptable throughput <italic>th<sub>max</sub>
</italic>
, depending on the queue size of the intermediate routers of the network [<xref ref-type="bibr" rid="b4-sensors-12-16591">4</xref>
].</p>
<p>These values are important to limit the range of the deadband function and to guarantee the stability of the NCS.</p>
<p><xref ref-type="fig" rid="f5-sensors-12-16591">Figure 5(b)</xref>
represents the typical relationship between deadband and throughput (<italic>th</italic>
(<italic>δ</italic>
)) or error (<italic>E</italic>
(<italic>δ</italic>
)), where deadband limits are also reflected. The <italic>th</italic>
(<italic>δ</italic>
) function varies with the traffic load of the shared network, as seen in the figure. The error <italic>vs</italic>
. deadband curve is represented as <italic>E</italic>
(<italic>δ</italic>
) and his formulation is out of the scope of this paper. <xref ref-type="disp-formula" rid="FD7">Equation (7)</xref>
corresponds to the <italic>DF</italic>
<sup>−1</sup>
throughput curve of the <xref ref-type="fig" rid="f5-sensors-12-16591">Figure 5(b)</xref>
.</p>
<p>For fixed packet size, <italic>th</italic>
of <xref ref-type="disp-formula" rid="FD7">Equation (7)</xref>
can be replaced by 1/<italic>IPG</italic>
, and the deadband function DF can be represented as:
<disp-formula id="FD9"><label>(9)</label>
<mml:math id="mm10"><mml:mrow><mml:mi>D</mml:mi>
<mml:mi>F</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>≤</mml:mo>
<mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>δ</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo>
<mml:mrow><mml:mi>c</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>r</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo> </mml:mo>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo><</mml:mo>
<mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>≥</mml:mo>
<mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p><xref ref-type="fig" rid="f6-sensors-12-16591">Figure 6</xref>
represents the TCP-friendly Adaptive Deadband scheme on the controller side, but it is similar on the plant side.</p>
<sec><label>4.2.1.</label>
<title>Determining the Optimal Constant Deadband</title>
<p>These approaches can be used to determine the constant deadband filter, by using the procedure presented in [<xref ref-type="bibr" rid="b5-sensors-12-16591">5</xref>
], and summarized below:
<disp-formula id="FD10"><label>(10)</label>
<mml:math id="mm11"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>P</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi>K</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mi>t</mml:mi>
<mml:msub><mml:mrow><mml:mi>h</mml:mi>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>K</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub><mml:mrow><mml:mi>E</mml:mi>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>P</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
<mml:mi>δ</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>K</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mi>t</mml:mi>
<mml:msub><mml:mrow><mml:mi>h</mml:mi>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>K</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub><mml:mrow><mml:mi>E</mml:mi>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Constant deadband selection should follow the criteria in <xref ref-type="disp-formula" rid="FD10">Equation (10)</xref>
, where <italic>P</italic>
(<italic>δ</italic>
) is a deadband dependent global performance function and <italic>δ<sub>c</sub>
</italic>
is the optimal deadband value. Throughput and error should be normalized (<italic>th<sub>n</sub>
</italic>
= <italic>th/sr</italic>
and <italic>E<sub>n</sub>
</italic>
= <italic>E/E<sub>max</sub>
</italic>
). <italic>K</italic>
<sub>1</sub>
and <italic>K</italic>
<sub>2</sub>
are weighting and scale factors.</p>
<p>The results obtained in simulation show that optimal deadband for an NCS varies with network conditions and reference signals.</p>
</sec>
<sec><label>4.2.2.</label>
<title>Stability Issues</title>
<p>There are some stability analyses for NCS using deadband. In [<xref ref-type="bibr" rid="b5-sensors-12-16591">5</xref>
] the deadband is modeled as a vanishing perturbation. Then, if the original system is exponentially stable, the existence of a Lyapunov function is guaranteed in the perturbed system. Using the BIBO (Bounded Input Bounded Output) concept for NCS with LQR controllers, we can use the principle that any stable and linear system with bounded inputs generates bounded outputs. In a similar way, Lian <italic>et al</italic>
. in [<xref ref-type="bibr" rid="b2-sensors-12-16591">2</xref>
] demonstrate stability for networked multi-agent systems that use deadband in the communication modules. For adaptive but bounded deadband, a similar principle can be used.</p>
<p>For tele-operated systems, the passivity approach based on scattering transformation [<xref ref-type="bibr" rid="b7-sensors-12-16591">7</xref>
] may be used to demonstrate stability using a bounded deadband.</p>
</sec>
</sec>
</sec>
<sec><label>5.</label>
<title>TCP-Friendly Adaptive Deadband for a Tele-Operated Gantry Crane</title>
<p>The proposed schema has been tested in some control systems in our laboratory, such as a Mass-Spring and a gantry crane with a PID controller.</p>
<p>To present a practical implementation of the proposed solution, we use an application where the tele-operated slave is a laboratory crane, which is a scale model of a typical industrial gantry crane, and the master is a human tele-operator. The crane is equipped with actuated motors and sensors. Although the true dynamics of the crane are nonlinear and coupled, it will be assumed that the crane movements are smooth and slow, and that the swing angles of the load are small enough. Under these assumptions, the linearization of the crane is adequate to model the system. Furthermore, in this situation, the <italic>x</italic>
, <italic>y</italic>
, <italic>z</italic>
dynamics become uncoupled. The vertical (or <italic>z</italic>
) dynamic is controlled by the motor that lifts the rope. The <italic>x</italic>
and <italic>y</italic>
dynamics are formally equivalent and contain the load balance or swing. We will concentrate our attention on the <italic>x</italic>
(or <italic>y</italic>
) movement of a cart, provided by a motor, hanging a swinging load, not actuated, with a rope of fixed length.</p>
<p>The relation between the cart position <italic>x<sub>s</sub>
</italic>
(<italic>t</italic>
), the swing angle <italic>θ<sub>s</sub>
</italic>
(<italic>t</italic>
) and the force <italic>F<sub>s</sub>
</italic>
(<italic>t</italic>
) exerted by the cart motor is given by:
<disp-formula id="FD11"><label>(11)</label>
<mml:math id="mm12"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>⌊</mml:mo>
<mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>s</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:msub><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>μ</mml:mi>
</mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msub><mml:mrow><mml:mi>θ</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>⌋</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>L</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>s</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mi>s</mml:mi>
<mml:mo>+</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>ω</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:msub><mml:mrow><mml:mi>θ</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>M<sub>s</sub>
</italic>
is the mass of the cart or trolley,
<inline-formula><mml:math id="mm13"><mml:mrow><mml:msub><mml:mrow><mml:mi>ω</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt><mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>μ</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mfrac><mml:mi>g</mml:mi>
<mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</inline-formula>
, with <italic>L</italic>
<sub>0</sub>
the rope length,
<inline-formula><mml:math id="mm14"><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>μ</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="italic">load</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
with <italic>M<sub>load</sub>
</italic>
the load mass and <italic>B<sub>g</sub>
</italic>
, <italic>B</italic>
<sub>0</sub>
the damping coefficients. We have used the subscript <italic>s</italic>
to denote that this is the slave system in the tele-operation scheme. A state-spaced model can be defined considering the state vector <italic>z</italic>
(<italic>t</italic>
) ∈ ℝ<italic><sup>n</sup>
</italic>
as:
<disp-formula id="FD12"><label>(12)</label>
<mml:math id="mm15"><mml:mrow><mml:mi>z</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>θ</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>ω</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</disp-formula>
where <italic>x<sub>s</sub>
</italic>
, <italic>v<sub>s</sub>
</italic>
, <italic>θ<sub>s</sub>
</italic>
and <italic>ω<sub>s</sub>
</italic>
are the slave position, velocity, swing angle and angular velocity. In state-space the system is described with the following expressions:
<disp-formula id="FD13"><label>(13)</label>
<mml:math id="mm16"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mi>z</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mi>z</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mi>z</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mi>z</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mrow><mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>μ</mml:mi>
</mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mrow><mml:mo>−</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>ω</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mrow><mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>b</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mn>1</mml:mn>
<mml:mi>M</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:mo>−</mml:mo>
<mml:mfrac><mml:mn>1</mml:mn>
<mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Or in compact form:
<disp-formula id="FD14"><label>(14)</label>
<mml:math id="mm17"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mover accent="true"><mml:mi>z</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>B</mml:mi>
<mml:msub><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>y</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>For the implemented dynamic model of the 3D crane Inteco Ltd. the numerical values are:
<disp-formula id="FD15"><label>(15)</label>
<mml:math id="mm18"><mml:mrow><mml:mover accent="true"><mml:mi>z</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mrow><mml:mo>−</mml:mo>
<mml:mn>18.3</mml:mn>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mrow><mml:mn>0.959</mml:mn>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mrow><mml:mo>−</mml:mo>
<mml:mn>9.5</mml:mn>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mrow><mml:mo>−</mml:mo>
<mml:mn>0.003</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:mn>7.2</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mrow><mml:mo>−</mml:mo>
<mml:mn>0.95</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:msub><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The controller at the master side receives the state information from the slave side and implements a linear quadratic regulator LQR for a steady-state optimal control. The selection of weighting matrices <italic>Q</italic>
<sub>1</sub>
and <italic>Q</italic>
<sub>2</sub>
is made so that the cost function is:
<disp-formula id="FD16"><label>(16)</label>
<mml:math id="mm19"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>J</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow><mml:msubsup><mml:mo>∫</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>∞</mml:mo>
</mml:msubsup>
<mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mi>z</mml:mi>
<mml:mo>+</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub><mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mrow><mml:mn>25</mml:mn>
</mml:mrow>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub><mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>2.0408</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Moreover we introduce the Pincer procedure, a modification to the performance criterion that allows a degree of direct control over the settling time:
<disp-formula id="FD17"><label>(17)</label>
<mml:math id="mm20"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>J</mml:mi>
</mml:mrow>
<mml:mi>α</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:msubsup><mml:mo>∫</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>∞</mml:mo>
</mml:msubsup>
<mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mi>z</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup><mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn>2</mml:mn>
<mml:mi>α</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow><mml:msubsup><mml:mo>∫</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>∞</mml:mo>
</mml:msubsup>
<mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>w</mml:mi>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mi>w</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup><mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>w</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi>u</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>From the definitions in <xref ref-type="disp-formula" rid="FD17">Equation (17)</xref>
the revised system for use in a LQR computation for the feedback gain matrix is:
<disp-formula id="FD18"><label>(18)</label>
<mml:math id="mm21"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mover accent="true"><mml:mi>w</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>α</mml:mi>
<mml:msub><mml:mrow><mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn>4</mml:mn>
<mml:mi>x</mml:mi>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>w</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>B</mml:mi>
<mml:mi>u</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>u</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi>r</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>K</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi>w</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>r</italic>
(<italic>t</italic>
) is the reference for the controller. If the designer selects the settling time <italic>t<sub>s</sub>
</italic>
= 3, within which all states should settle to less than 2%, it is obtained:
<disp-formula id="FD19"><label>(19)</label>
<mml:math id="mm22"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>−</mml:mo>
<mml:mi>α</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>−</mml:mo>
<mml:mi>α</mml:mi>
<mml:msub><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>≤</mml:mo>
<mml:mn>0.02</mml:mn>
<mml:mo>⋅</mml:mo>
<mml:mi>z</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>⇒</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>></mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mn>50</mml:mn>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>The slave and the LQR controller by the master are using now the equations in <xref ref-type="disp-formula" rid="FD11">Equation (11)</xref>
. After some trials, the requirements of the system are accomplished with a control law given by <italic>K</italic>
= (12.1661, 0.6646, −22.8596, −3.4107) and <italic>N</italic>
= 12.1661.</p>
<p><xref ref-type="fig" rid="f7-sensors-12-16591">Figure 7</xref>
shows a representation of the tele-operated gantry crane, simulated in this work.</p>
<sec><label>5.1.</label>
<title>Adaptive Deadband Function</title>
<p>The deadband function should be determined for the master and the slave sides, but as illustrative example, only the process for the master side is presented. In this process, the slave side remains with a constant deadband of value 0.</p>
<p><xref ref-type="fig" rid="f8-sensors-12-16591">Figure 8</xref>
represents the experimental functions <italic>δ<sub>th</sub>
</italic>
and <italic>δ<sub>E</sub>
</italic>
for the network conditions of the experiments, using the gantry crane with sinusoid reference signal of amplitude 10 and period 15 s. The approximate functions given in <xref ref-type="disp-formula" rid="FD7">Equation (7)</xref>
are also represented.</p>
<p>The function <italic>th</italic>
(<italic>δ</italic>
) parameters are approximated as <italic>c</italic>
= 0.0035 and <italic>n</italic>
<sub>1</sub>
= 1. For higher reference periods, the deadband function parameter <italic>c</italic>
should be decreased, and parameter <italic>n</italic>
<sub>1</sub>
varies with more abrupt signals, such as a square signal.</p>
<p>The normalized function is:
<disp-formula id="FD20"><label>(20)</label>
<mml:math id="mm23"><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mn>0.0035</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn>0.0035</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>δ</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Therefore, in <xref ref-type="fig" rid="f8-sensors-12-16591">Figure 8</xref>
for <italic>E<sub>max</sub>
</italic>
= 2.5 (<italic>E<sub>n</sub>
</italic>
= 1), the deadband has an approximate value of <italic>δ<sub>max</sub>
</italic>
= 0.25, and <italic>δ<sub>min</sub>
</italic>
= 0, for the maximum throughput <italic>th<sub>max</sub>
</italic>
that equals the sampling rate of 1, 000 pkt/s.</p>
<p>The deadband function DF for the studied tele-operated gantry crane is:
<disp-formula id="FD21"><label>(21)</label>
<mml:math id="mm24"><mml:mrow><mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>δ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.0035</mml:mn>
<mml:mo>⋅</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mn>1000</mml:mn>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo><</mml:mo>
<mml:mn>0.25</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn>0.25</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>></mml:mo>
<mml:mn>0.25</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>On the slave side, using the same approximation methodology, the parameters <italic>c</italic>
and <italic>n</italic>
<sub>1</sub>
are the same than on the master side, but the function <italic>E</italic>
(<italic>δ</italic>
) remains approximately constant. Therefore, a value of <italic>δ<sub>max</sub>
</italic>
= 10 can be adopted.</p>
</sec>
<sec><label>5.2.</label>
<title>Constant Deadband for a Gantry Crane</title>
<p>The same reference signals are used to obtain the constant deadband. Results obtained in simulation and approximated minimum are shown in <xref ref-type="fig" rid="f9-sensors-12-16591">Figure 9</xref>
for some network congestion situations. The minimum is within the range of 0.01 < <italic>δ<sub>c</sub>
</italic>
< 0.05. In the <xref ref-type="fig" rid="f9-sensors-12-16591">Figure 9</xref>
, the optimal constant deadband value is approximately <italic>δ<sub>c</sub>
</italic>
= 0.02145 for a sinusoid reference signal with period 15 s.</p>
</sec>
</sec>
<sec><label>6.</label>
<title>Simulated Example: Sharing the Network</title>
<p>The simulations in this section compare constant deadband (CD) with network adaptive deadband (NAD) in different network scenarios. The reason to make this comparison is to show the effectiveness of the NAD solution with respect to the CD solution in scenarios with high congestion when more than one NCS is used.</p>
<p>Simulations were made with two tele-operated gantry cranes. The two systems use different reference signals. The gantry crane 1 (gc1) uses a sinusoid reference signal with period 15 s and amplitude 10, and gantry crane 2 (gc2) uses a triangle reference signal with period 18 s and amplitude 10. Both reference signals are continuous and slow and have similar deadband parameters.</p>
<p>We use the co-design framework in [<xref ref-type="bibr" rid="b4-sensors-12-16591">4</xref>
] based on the simulation suite NS2. The network topology implemented is represented in <xref ref-type="fig" rid="f10-sensors-12-16591">Figure 10</xref>
. The transport boxes in the figure can use a configured NAD transport schema, a constant deadband transport schema or a pure bidirectional transport protocol.</p>
<p>To simulate the Internet, we use a scenario with TCP and UDP traffic from diverse sources. The network topology uses a bottleneck trunk link between two routers with 1 Mbps capacity. The access links capacity to the routers is 10 Mbps. All links are symmetric. The two routers implement a Drop-Tail queue with a queue limit of 15 packets. Simulations were performed over a total of 100 s with hard bottleneck congestion of 80% due to UDP and TCP traffic, but no UDP congestion is simulated between 20 s and 40 s in both directions to show Best Effort characteristics.</p>
<p>A comparison between the optimal constant deadband functions and the adaptive deadband functions is made, with deadband function parameters deduced in Section 5, as shown in <xref ref-type="table" rid="t1-sensors-12-16591">Table 1</xref>
.</p>
<p>The results are presented in <xref ref-type="fig" rid="f11-sensors-12-16591">Figure 11</xref>
for constant deadband and in <xref ref-type="fig" rid="f12-sensors-12-16591">Figure 12</xref>
for adaptive deadband. In the figures, the top graphs represent reference position of the master (<italic>r</italic>
), and output of the slave (<italic>x</italic>
<sub>1</sub>
). The middle graphs represent the output of the master (<italic>u</italic>
) compared with a suitable scaled throughput from the master to the slave, for clarity purposes. The bottom graphs represent the throughput of the tele-operated system from the master to the slave (<italic>th<sub>ms</sub>
</italic>
), compared with the remaining use of the network <italic>N<sub>u</sub>
</italic>
. <xref ref-type="fig" rid="f11-sensors-12-16591">Figure 11</xref>
in the constant deadband case shows that the two data flows compete to gain the network resources, and one of them (or the two) can be unstable. Using the sinusoid reference signal, the throughput is low on the top and bottom parts of the signal because of slow variation, and the gantry crane 2 has problems to maintain stability.</p>
<p>In <xref ref-type="fig" rid="f12-sensors-12-16591">Figure 12</xref>
, with high variations of the master output, the bandwidth consumption of the system is high, until the output stabilizes, but remains fair with the rest of network traffic.</p>
<p>Finally, <xref ref-type="fig" rid="f13-sensors-12-16591">Figure 13</xref>
shows a performance (<xref ref-type="disp-formula" rid="FD10">Equation (10)</xref>
with <italic>K</italic>
<sub>1</sub>
= <italic>K</italic>
<sub>2</sub>
= 1) comparison between TCP-friendly adaptive deadband and optimal constant deadband for the two gantry cranes. The results show that the adaptive deadband has better performance than the constant deadband for the long time operation.</p>
</sec>
<sec><label>7.</label>
<title>Experimental Results</title>
<p>To validate the effectiveness of the proposed solution, NAD middleware was implemented in a real Internet scenario between an emulated Master through a normal ADSL Internet access and an emulated Slave through a high capacity Internet access in a University laboratory. The transport protocol used is presented in [<xref ref-type="bibr" rid="b9-sensors-12-16591">9</xref>
], based on a bidirectional implementation of the trinomial algorithm. The transport packet header is over the UDP protocol as shown in <xref ref-type="fig" rid="f4-sensors-12-16591">Figure 4</xref>
, where the data structure is also depicted.</p>
<p>Experimental platform is presented in <xref ref-type="fig" rid="f10-sensors-12-16591">Figure 10(b)</xref>
, where the plant and controller are the emulated gantry crane and the LQR controller described in Section 5. The emulated system uses a triangle reference signal with period 18 s and amplitude 10. Similar transport parameters as gc2 in the simulated scenario of Section 6 were used. The parameters are represented in <xref ref-type="table" rid="t1-sensors-12-16591">Table 1</xref>
. Measured network conditions between both extremes have an average RTT of 43<italic>msec</italic>
and 20% packet losses at a transmission rate of 200<italic>pkts/s</italic>
with 100<italic>bytes</italic>
packet size.</p>
<p>The experiment compares the same tele-operation system with different transport solutions, in particular with an only TCP-friendly transport protocol, with the constant deadband solution and our NAD solution. Results are not presented graphically for the TCP-friendly transport protocol because the tele-operated system becomes unstable. Graphical results for the other cases are presented in <xref ref-type="fig" rid="f14-sensors-12-16591">Figure 14</xref>
.</p>
<p>The results show that the NAD has better performance than constant deadband. In some circumstances, with high congestion, constant deadband can become unstable while NAD maintains stability.</p>
</sec>
<sec><label>8.</label>
<title>Conclusions and Future Works</title>
<p>This paper proposes a new middleware solution to improve long-time operation of an NCS through the Internet or any shared network based on IP technology. This solution is useful for sensor networks where the network use or the power consumption is of special interest. The proposed middleware takes into account the network status and the NCS status to decide whether to send the output of the system. In that way, the network can be shared more effectively between several NCS or other bidirectional real-time flows, and the middleware can be used as a complement to a well-designed NCS on an unpredictable shared network. In this case, simulation and experimental results show that the proposed solution has better performance than a TCP-friendly transport protocol or a constant deadband solution.</p>
<p>The proposed scheme, called Network Adaptive Deadband or NAD, is a solution for network and control integration, using a simple relationship between deadband and TCP-friendly transport throughput. An experimental procedure is presented to estimate this relationship. Simulation and experimental results show that the middleware presents good performance in any network conditions, with a TCP-friendly transport control protocol applied to an estimated deadband function.</p>
<p>The results are of interest to maintain NCS stability and TCP-friendly flows, through IP-based networks. TCP-friendly protocols and deadband sampling do not ensure by itself best network and control system performance, but together they may give enough reasons to improve the use of the network and to maintain the control system stability. The utility of the network adaptive deadband is not restricted only to IP network applications, but in fact is also applicable to collaborative robotics in local networks, sensor networks, MMMS tele-operation or plants with several data flows.</p>
<p>The simulation and experimental results show that the middleware presents good performance in any network conditions, with a TCP-friendly transport control protocol applied to an estimated deadband function. The results evidence that network adaptive deadband is a good solution to share a public network as Internet for several NCS. The optimal constant deadband criterion can be adequate when there are no other NCS data flows that can collapse the network, but can be inefficient and generate instability caused by non-regulated flow control. Adaptive deadband can regulate the data flow depending on network status, and permits other NCS data flows to share the network. The utility of the network adaptive deadband involves not only IP network applications but also collaborative robotics in local networks, MMMS tele-operation or plants with several data flows.</p>
<p>The solution presented has a practical nature, but as a future line, a more theoretical depth is required to refine the deadband function and to analyze and model the network-dependent deadband. To do this, control system equations and transport models should be mixed. The research lines of event-triggering and the attempts to relate protocols and control design are interesting start points.</p>
</sec>
</body>
<back><ack><p>The authors would like to thank all the reviewers and editors for the valuable and constructive comments. They have been taken into account in reviewing this manuscript.</p>
<p>This work has been partially supported by Spanish Science and Technology Ministry in the Project DPI2010-20466-C02-01.</p>
</ack>
<ref-list><title>References</title>
<ref id="b1-sensors-12-16591"><label>1.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname>
<given-names>Y.B.</given-names>
</name>
<name><surname>Liu</surname>
<given-names>G.P.</given-names>
</name>
<name><surname>Rees</surname>
<given-names>D.</given-names>
</name>
</person-group>
<article-title>Packet-based deadband control for internet-based networked control systems</article-title>
<source>IEEE Trans. Control Syst. Technol</source>
<year>2010</year>
<volume>18</volume>
<fpage>1057</fpage>
<lpage>1067</lpage>
</element-citation>
</ref>
<ref id="b2-sensors-12-16591"><label>2.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Lian</surname>
<given-names>F.L.</given-names>
</name>
<name><surname>Yook</surname>
<given-names>J.K.</given-names>
</name>
<name><surname>Tilbury</surname>
<given-names>D.M.</given-names>
</name>
<name><surname>Moyne</surname>
<given-names>J.</given-names>
</name>
</person-group>
<article-title>Network architecture and communication modules for guaranteeing acceptable control and communication performance for networked multi-agent systems</article-title>
<source>IEEE Trans. Ind. Inf</source>
<year>2006</year>
<volume>2</volume>
<fpage>12</fpage>
<lpage>24</lpage>
</element-citation>
</ref>
<ref id="b3-sensors-12-16591"><label>3.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Nesic</surname>
<given-names>D.</given-names>
</name>
<name><surname>Teel</surname>
<given-names>A.</given-names>
</name>
<name><surname>Carnevale</surname>
<given-names>D.</given-names>
</name>
</person-group>
<article-title>Explicit computation of the sampling period in emulation of controllers for nonlinear sampled-data systems</article-title>
<source>IEEE Trans. Autom. Control</source>
<year>2009</year>
<volume>54</volume>
<fpage>619</fpage>
<lpage>624</lpage>
</element-citation>
</ref>
<ref id="b4-sensors-12-16591"><label>4.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Díaz-Cacho</surname>
<given-names>M.</given-names>
</name>
<name><surname>Delgado</surname>
<given-names>E.</given-names>
</name>
<name><surname>Barreiro</surname>
<given-names>A.</given-names>
</name>
</person-group>
<article-title>Control/network codesign basics for ip-based shared networks</article-title>
<source>Math. Probl. Eng</source>
<year>2011</year>
<volume>2011</volume>
<fpage>23</fpage>
</element-citation>
</ref>
<ref id="b5-sensors-12-16591"><label>5.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Otanez</surname>
<given-names>P.</given-names>
</name>
<name><surname>Moyne</surname>
<given-names>J.</given-names>
</name>
<name><surname>Tilbury</surname>
<given-names>D.</given-names>
</name>
</person-group>
<article-title>Using Deadbands to Reduce Communication in Networked Control Systems</article-title>
<conf-name>Proceedings of the American Control Conference</conf-name>
<conf-loc>Anchorage, AK, USA</conf-loc>
<conf-date>8–10 May 2002</conf-date>
<volume>4</volume>
<fpage>3015</fpage>
<lpage>3020</lpage>
</element-citation>
</ref>
<ref id="b6-sensors-12-16591"><label>6.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Floyd</surname>
<given-names>S.</given-names>
</name>
<name><surname>Fall</surname>
<given-names>K.</given-names>
</name>
</person-group>
<article-title>Promoting the use of end-to-end congestion control in the Internet</article-title>
<source>IEEE/ACM Trans. Netw</source>
<year>1999</year>
<volume>7</volume>
<fpage>458</fpage>
<lpage>472</lpage>
</element-citation>
</ref>
<ref id="b7-sensors-12-16591"><label>7.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Hirche</surname>
<given-names>S.</given-names>
</name>
<name><surname>Hinterseer</surname>
<given-names>P.</given-names>
</name>
<name><surname>Steinbach</surname>
<given-names>E.</given-names>
</name>
<name><surname>Steinbach</surname>
<given-names>E.</given-names>
</name>
<name><surname>Buss</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Network Traffic Reduction in Haptic Telepresence Systems by Deadband Control</article-title>
<conf-name>Proceedings of the 16th IFAC World Congress</conf-name>
<conf-loc>Prague, Czech Republic</conf-loc>
<conf-date>4–8 July 2005</conf-date>
</element-citation>
</ref>
<ref id="b8-sensors-12-16591"><label>8.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname>
<given-names>Y.B.</given-names>
</name>
<name><surname>Liu</surname>
<given-names>G.P.</given-names>
</name>
<name><surname>Rees</surname>
<given-names>D.</given-names>
</name>
</person-group>
<article-title>Design of a packet-based control framework for networked control systems</article-title>
<source>IEEE Trans. Control Syst. Technol</source>
<year>2009</year>
<volume>17</volume>
<fpage>859</fpage>
<lpage>865</lpage>
</element-citation>
</ref>
<ref id="b9-sensors-12-16591"><label>9.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Diaz-Cacho</surname>
<given-names>M.</given-names>
</name>
<name><surname>Barreiro</surname>
<given-names>A.</given-names>
</name>
<name><surname>Rivera</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Bidireccionalidad y eficiencia en el transporte de datos de tele-operación a través de redes IP</article-title>
<source>Revista Iberoamericana de Automática e Informática Industrial (RIAI)</source>
<year>2010</year>
<volume>7</volume>
<fpage>99</fpage>
<lpage>110</lpage>
</element-citation>
</ref>
<ref id="b10-sensors-12-16591"><label>10.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname>
<given-names>Y.</given-names>
</name>
<name><surname>Liu</surname>
<given-names>G.</given-names>
</name>
<name><surname>Rees</surname>
<given-names>D.</given-names>
</name>
</person-group>
<article-title>Integrated predictive control and scheduling co-design for networked control systems</article-title>
<source>Control Theory Appl. IET</source>
<year>2008</year>
<volume>2</volume>
<fpage>7</fpage>
<lpage>15</lpage>
</element-citation>
</ref>
<ref id="b11-sensors-12-16591"><label>11.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Vittorias</surname>
<given-names>I.</given-names>
</name>
<name><surname>Kammerl</surname>
<given-names>J.</given-names>
</name>
<name><surname>Hirche</surname>
<given-names>S.</given-names>
</name>
<name><surname>Steinbach</surname>
<given-names>E.</given-names>
</name>
</person-group>
<article-title>Perceptual Coding of Haptic Data in Time-Delayed Tele-operation</article-title>
<conf-name>Proceedings of World Haptics 2009, 3rd Joint Eurohaptics Conference and Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems</conf-name>
<conf-loc>Salt Lake City, UT, USA</conf-loc>
<conf-date>18–20 March 2009</conf-date>
<fpage>208</fpage>
<lpage>213</lpage>
</element-citation>
</ref>
<ref id="b12-sensors-12-16591"><label>12.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Xia</surname>
<given-names>F.</given-names>
</name>
<name><surname>Ma</surname>
<given-names>L.</given-names>
</name>
<name><surname>Peng</surname>
<given-names>C.</given-names>
</name>
<name><surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name><surname>Dong</surname>
<given-names>J.</given-names>
</name>
</person-group>
<article-title>Cross-layer adaptive feedback scheduling of wireless control systems</article-title>
<source>Sensors</source>
<year>2008</year>
<volume>8</volume>
<fpage>4265</fpage>
<lpage>4281</lpage>
</element-citation>
</ref>
<ref id="b13-sensors-12-16591"><label>13.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Vasyutynskyy</surname>
<given-names>V.</given-names>
</name>
<name><surname>Kabitzsch</surname>
<given-names>K.</given-names>
</name>
</person-group>
<article-title>Towards Comparison of Deadband Sampling Types</article-title>
<conf-name>Proceedings of IEEE International Symposium on the Industrial Electronics, ISIE 2007</conf-name>
<conf-loc>Vigo, Spain</conf-loc>
<conf-date>4–7 June 2007</conf-date>
<fpage>2899</fpage>
<lpage>2904</lpage>
</element-citation>
</ref>
<ref id="b14-sensors-12-16591"><label>14.</label>
<element-citation publication-type="book"><person-group person-group-type="author"><name><surname>Nesić</surname>
<given-names>D.</given-names>
</name>
<name><surname>Teel</surname>
<given-names>A.</given-names>
</name>
</person-group>
<article-title>Sampled-data Control of Nonlinear Systems: An Overview of Recent Results</article-title>
<source>Perspectives in Robust Control</source>
<person-group person-group-type="editor"><name><surname>Moheimani</surname>
<given-names>S.</given-names>
</name>
</person-group>
<publisher-name>Springer</publisher-name>
<publisher-loc>London, UK</publisher-loc>
<year>2001</year>
<volume>268</volume>
<fpage>221</fpage>
<lpage>239</lpage>
</element-citation>
</ref>
<ref id="b15-sensors-12-16591"><label>15.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Mazo</surname>
<given-names>J.M.</given-names>
</name>
<name><surname>Tabuada</surname>
<given-names>P.</given-names>
</name>
</person-group>
<article-title>Decentralized event-triggered control over wireless sensor/actuator networks</article-title>
<source>IEEE Trans. Autom. Control</source>
<year>2011</year>
<volume>56</volume>
<fpage>2456</fpage>
<lpage>2461</lpage>
</element-citation>
</ref>
<ref id="b16-sensors-12-16591"><label>16.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Mazo</surname>
<given-names>M.</given-names>
</name>
<name><surname>Cao</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Decentralized Event-triggered Control with Asynchronous Updates</article-title>
<conf-name>Proceedings of 2011 50th IEEE Conference on the Decision and Control and European Control Conference, (CDC-ECC)</conf-name>
<conf-loc>Orlando, FL, USA</conf-loc>
<conf-date>12–15 December 2011</conf-date>
<fpage>2547</fpage>
<lpage>2552</lpage>
</element-citation>
</ref>
<ref id="b17-sensors-12-16591"><label>17.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Camacho</surname>
<given-names>A.</given-names>
</name>
<name><surname>Martí</surname>
<given-names>P.</given-names>
</name>
<name><surname>Velasco</surname>
<given-names>M.</given-names>
</name>
<name><surname>Lozoya</surname>
<given-names>C.</given-names>
</name>
<name><surname>Villà</surname>
<given-names>R.</given-names>
</name>
<name><surname>Fuertes</surname>
<given-names>J.</given-names>
</name>
<name><surname>Griful</surname>
<given-names>E.</given-names>
</name>
</person-group>
<article-title>Self-triggered Networked Control Systems: An Experimental Case Study</article-title>
<conf-name>Proceedings of 2010 IEEE International Conference on the Industrial Technology (ICIT)</conf-name>
<conf-loc>Viña del Mar, Chile</conf-loc>
<conf-date>14–17 March 2010</conf-date>
<fpage>123</fpage>
<lpage>128</lpage>
</element-citation>
</ref>
<ref id="b18-sensors-12-16591"><label>18.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Tipsuwan</surname>
<given-names>Y.</given-names>
</name>
<name><surname>Chow</surname>
<given-names>M.Y.</given-names>
</name>
</person-group>
<article-title>Gain scheduler middleware: A methodology to enable existing controllers for networked control and tele-operation–part I: Networked control</article-title>
<source>IEEE Trans. Ind. Electron</source>
<year>2004</year>
<volume>51</volume>
<fpage>1218</fpage>
<lpage>1227</lpage>
</element-citation>
</ref>
<ref id="b19-sensors-12-16591"><label>19.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Cuenca</surname>
<given-names>A.</given-names>
</name>
<name><surname>Salt</surname>
<given-names>J.</given-names>
</name>
<name><surname>Sala</surname>
<given-names>A.</given-names>
</name>
<name><surname>Piza</surname>
<given-names>R.</given-names>
</name>
</person-group>
<article-title>A delay-dependent dual-rate pid controller over an ethernet network</article-title>
<source>IEEE Trans. Ind. Inf</source>
<year>2011</year>
<volume>7</volume>
<fpage>18</fpage>
<lpage>29</lpage>
</element-citation>
</ref>
<ref id="b20-sensors-12-16591"><label>20.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Floyd</surname>
<given-names>S.</given-names>
</name>
<name><surname>Handley</surname>
<given-names>M.</given-names>
</name>
<name><surname>Padhye</surname>
<given-names>J.</given-names>
</name>
<name><surname>Widmer</surname>
<given-names>J.</given-names>
</name>
</person-group>
<article-title>Equation-based congestion control for unicast applications</article-title>
<source>SIGCOMM Comput. Commun. Rev</source>
<year>2000</year>
<volume>30</volume>
<fpage>43</fpage>
<lpage>56</lpage>
</element-citation>
</ref>
<ref id="b21-sensors-12-16591"><label>21.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Kohler</surname>
<given-names>E.</given-names>
</name>
<name><surname>Handley</surname>
<given-names>M.</given-names>
</name>
<name><surname>Floyd</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Designing DCCP: Congestion Control Without Reliability</article-title>
<conf-name>Proceedings of the 2006 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, SIGCOMM ’06</conf-name>
<conf-loc>Pisa, Italy</conf-loc>
<conf-date>11–15 September 2006</conf-date>
<fpage>27</fpage>
<lpage>38</lpage>
</element-citation>
</ref>
<ref id="b22-sensors-12-16591"><label>22.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname>
<given-names>P.</given-names>
</name>
<name><surname>Meng</surname>
<given-names>M.H.</given-names>
</name>
<name><surname>Liu</surname>
<given-names>P.</given-names>
</name>
<name><surname>Yang</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>An end-to-end transmission architecture for the remote control of robots over IP networks</article-title>
<source>IEEE/ASME Trans. Mechatron</source>
<year>2005</year>
<volume>10</volume>
<fpage>560</fpage>
<lpage>570</lpage>
</element-citation>
</ref>
<ref id="b23-sensors-12-16591"><label>23.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Wirz</surname>
<given-names>R.</given-names>
</name>
<name><surname>Marin</surname>
<given-names>R.</given-names>
</name>
<name><surname>Ferre</surname>
<given-names>M.</given-names>
</name>
<name><surname>Barrio</surname>
<given-names>J.</given-names>
</name>
<name><surname>Claver</surname>
<given-names>J.</given-names>
</name>
<name><surname>Ortego</surname>
<given-names>J.</given-names>
</name>
</person-group>
<article-title>Bidirectional transport protocol for tele-operated robots</article-title>
<source>IEEE Trans. Ind. Electron</source>
<year>2009</year>
<volume>56</volume>
<fpage>3772</fpage>
<lpage>3781</lpage>
</element-citation>
</ref>
<ref id="b24-sensors-12-16591"><label>24.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Diaz-Cacho</surname>
<given-names>M.</given-names>
</name>
<name><surname>Barreiro</surname>
<given-names>A.</given-names>
</name>
<name><surname>Rivera</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Bidirectionality in IP based Tele-operation</article-title>
<conf-name>Proceedings of the 4th International Scientific Conference on Physics and Control, PHYSCON 2009</conf-name>
<conf-loc>Catania, Italy</conf-loc>
<conf-date>1–4 September 2009</conf-date>
</element-citation>
</ref>
<ref id="b25-sensors-12-16591"><label>25.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>young Lee</surname>
<given-names>J.</given-names>
</name>
<name><surname>Payandeh</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Signal Processing Techniques for Haptic Data Compression in Tele-operation Systems</article-title>
<conf-name>Proceedings of the Haptics Symposium (HAPTICS)</conf-name>
<conf-loc>Vancouver, Canada</conf-loc>
<conf-date>4–7 March 2012</conf-date>
<fpage>371</fpage>
<lpage>376</lpage>
</element-citation>
</ref>
<ref id="b26-sensors-12-16591"><label>26.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Hirche</surname>
<given-names>S.</given-names>
</name>
<name><surname>Hinterseer</surname>
<given-names>P.</given-names>
</name>
<name><surname>Steinbach</surname>
<given-names>E.</given-names>
</name>
<name><surname>Buss</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Transparent data reduction in networked telepresence and teleaction systems. Part I: Communication without time delay</article-title>
<source>Presence: Tele-operators Virtual Environ</source>
<year>2007</year>
<volume>16</volume>
<fpage>523</fpage>
<lpage>531</lpage>
</element-citation>
</ref>
<ref id="b27-sensors-12-16591"><label>27.</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Gao</surname>
<given-names>Z.</given-names>
</name>
<name><surname>Xie</surname>
<given-names>R.</given-names>
</name>
<name><surname>Chen</surname>
<given-names>Q.</given-names>
</name>
<name><surname>Hu</surname>
<given-names>W.</given-names>
</name>
</person-group>
<article-title>A Deadband-Control and Prediction Co-Design Approach for Networked Robotic Systems</article-title>
<conf-name>Proceedings of 2009 IEEE International Conference on the Robotics and Biomimetics (ROBIO)</conf-name>
<conf-loc>Guilin, China</conf-loc>
<conf-date>19–23 December 2009</conf-date>
<fpage>2215</fpage>
<lpage>2220</lpage>
</element-citation>
</ref>
<ref id="b28-sensors-12-16591"><label>28.</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Tatikonda</surname>
<given-names>S.</given-names>
</name>
<name><surname>Mitter</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Control under communication constraints</article-title>
<source>IEEE Trans. Autom. Control</source>
<year>2004</year>
<volume>49</volume>
<fpage>1056</fpage>
<lpage>1068</lpage>
</element-citation>
</ref>
</ref-list>
</back>
<floats-group><fig id="f1-sensors-12-16591" position="float"><label>Figure 1.</label>
<caption><p>NAD basic scheme.</p>
</caption>
<graphic xlink:href="sensors-12-16591f1"></graphic>
</fig>
<fig id="f2-sensors-12-16591" position="float"><label>Figure 2.</label>
<caption><p>Points representing data transmission events for diverse transmission schedulers. (<bold>a</bold>
) Fixed sampling rate with period <italic>T<sub>s</sub>
</italic>
; (<bold>b</bold>
) constant deadband with value <italic>δ</italic>
; (<bold>c</bold>
) variable transmission rate with the Inter-Packet Gap (<italic>IPG</italic>
) value depending on the transport flow control algorithm; (<bold>d</bold>
) network adaptive deadband (NAD) tracking network usage <italic>N<sub>u</sub>
</italic>
.</p>
</caption>
<graphic xlink:href="sensors-12-16591f2"></graphic>
</fig>
<fig id="f3-sensors-12-16591" position="float"><label>Figure 3.</label>
<caption><p>Network Adaptive Deadband general middleware.</p>
</caption>
<graphic xlink:href="sensors-12-16591f3"></graphic>
</fig>
<fig id="f4-sensors-12-16591" position="float"><label>Figure 4.</label>
<caption><p>Bidirectional transport header for trinomial algorithm and data structure for tele-operated gantry crane.</p>
</caption>
<graphic xlink:href="sensors-12-16591f4"></graphic>
</fig>
<fig id="f5-sensors-12-16591" position="float"><label>Figure 5.</label>
<caption><p>(<bold>a</bold>
) Linear approach of <italic>th</italic>
(<italic>δ</italic>
); (<bold>b</bold>
) Throughput and error versus deadband.</p>
</caption>
<graphic xlink:href="sensors-12-16591f5"></graphic>
</fig>
<fig id="f6-sensors-12-16591" position="float"><label>Figure 6.</label>
<caption><p>TCP-friendly adaptive deadband.</p>
</caption>
<graphic xlink:href="sensors-12-16591f6"></graphic>
</fig>
<fig id="f7-sensors-12-16591" position="float"><label>Figure 7.</label>
<caption><p>Tele-operated gantry crane.</p>
</caption>
<graphic xlink:href="sensors-12-16591f7"></graphic>
</fig>
<fig id="f8-sensors-12-16591" position="float"><label>Figure 8.</label>
<caption><p>Throughput (<italic>th<sub>n</sub>
</italic>
) and average error (<italic>E<sub>n</sub>
</italic>
) response <italic>vs</italic>
. deadband (<italic>δ</italic>
) with different network status for a tele-operated gantry crane. Reference signal is
<inline-formula><mml:math id="mm25"><mml:mrow><mml:mn>10</mml:mn>
<mml:mi mathvariant="italic">sin</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:mfrac><mml:mn>1</mml:mn>
<mml:mrow><mml:mn>15</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
</caption>
<graphic xlink:href="sensors-12-16591f8"></graphic>
</fig>
<fig id="f9-sensors-12-16591" position="float"><label>Figure 9.</label>
<caption><p>Constant deadband, experimental and approximated for a gantry-crane. Reference signal is
<inline-formula><mml:math id="mm26"><mml:mrow><mml:mn>10</mml:mn>
<mml:mi mathvariant="italic">sin</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:mfrac><mml:mn>1</mml:mn>
<mml:mrow><mml:mn>15</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
</caption>
<graphic xlink:href="sensors-12-16591f9"></graphic>
</fig>
<fig id="f10-sensors-12-16591" position="float"><label>Figure 10.</label>
<caption><p>Simulation (<bold>a</bold>
) and Experimental (<bold>b</bold>
) topologies.</p>
</caption>
<graphic xlink:href="sensors-12-16591f10"></graphic>
</fig>
<fig id="f11-sensors-12-16591" position="float"><label>Figure 11.</label>
<caption><p>Simulation results for constant deadband.</p>
</caption>
<graphic xlink:href="sensors-12-16591f11"></graphic>
</fig>
<fig id="f12-sensors-12-16591" position="float"><label>Figure 12.</label>
<caption><p>Simulation results for Network Adaptive Deadband.</p>
</caption>
<graphic xlink:href="sensors-12-16591f12"></graphic>
</fig>
<fig id="f13-sensors-12-16591" position="float"><label>Figure 13.</label>
<caption><p>Performance comparison between optimal constant deadband and network adaptive deadband in the simulation.</p>
</caption>
<graphic xlink:href="sensors-12-16591f13"></graphic>
</fig>
<fig id="f14-sensors-12-16591" position="float"><label>Figure 14.</label>
<caption><p>Compared results between NAD and constant deadband in the real Internet link for the gantry crane and the LQR controller.</p>
</caption>
<graphic xlink:href="sensors-12-16591f14"></graphic>
</fig>
<table-wrap id="t1-sensors-12-16591" position="float"><label>Table 1.</label>
<caption><p>Deadband function for a Gantry Crane.</p>
</caption>
<table frame="hsides" rules="rows"><thead><tr><th colspan="3" align="center" valign="middle" rowspan="1"><italic>ref<sub>gc</sub>
</italic>
<sub>1</sub>
= 10 · <italic>sin</italic>
(2<italic>π</italic>
/15 · <italic>t</italic>
)<break></break>
<italic>ref<sub>gc</sub>
</italic>
<sub>2</sub>
= 10 <italic>· triang</italic>
(<italic>T</italic>
= 18.1)</th>
</tr>
<tr><th align="center" valign="middle" rowspan="1" colspan="1"></th>
<th align="center" valign="middle" rowspan="1" colspan="1">master to slave (ms)</th>
<th align="center" valign="middle" rowspan="1" colspan="1">slave to master (sm)</th>
</tr>
</thead>
<tbody><tr><td align="center" valign="middle" rowspan="1" colspan="1"><italic>th<sub>n</sub>
</italic>
(<italic>δ</italic>
)</td>
<td align="center" valign="middle" rowspan="1" colspan="1"><inline-formula><mml:math id="mm27"><mml:mrow><mml:mfrac><mml:mrow><mml:mn>0.0035</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn>0.0035</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>δ</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1"><inline-formula><mml:math id="mm28"><mml:mrow><mml:mfrac><mml:mrow><mml:mn>0.0035</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn>0.0035</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>δ</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr><td align="center" valign="middle" rowspan="1" colspan="1">(<italic>δ<sub>min</sub>
</italic>
, <italic>δ<sub>max</sub>
</italic>
)</td>
<td align="center" valign="middle" rowspan="1" colspan="1">(0, 0.25)</td>
<td align="center" valign="middle" rowspan="1" colspan="1">(0, 10)</td>
</tr>
<tr><td align="center" valign="middle" rowspan="1" colspan="1"><italic>δ<sub>c</sub>
</italic>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.02145</td>
<td align="center" valign="middle" rowspan="1" colspan="1">1</td>
</tr>
</tbody>
</table>
</table-wrap>
</floats-group>
</pmc>
<affiliations><list><country><li>Espagne</li>
</country>
<region><li>Galice</li>
</region>
</list>
<tree><noCountry><name sortKey="Delgado, Emma" sort="Delgado, Emma" uniqKey="Delgado E" first="Emma" last="Delgado">Emma Delgado</name>
<name sortKey="L Pez, Joaquin" sort="L Pez, Joaquin" uniqKey="L Pez J" first="Joaquín" last="L Pez">Joaquín L Pez</name>
<name sortKey="Prieto, Jose A G" sort="Prieto, Jose A G" uniqKey="Prieto J" first="José A. G." last="Prieto">José A. G. Prieto</name>
</noCountry>
<country name="Espagne"><region name="Galice"><name sortKey="Diaz Cacho, Miguel" sort="Diaz Cacho, Miguel" uniqKey="Diaz Cacho M" first="Miguel" last="Díaz-Cacho">Miguel Díaz-Cacho</name>
</region>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/HapticV1/Data/Ncbi/Merge
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 002370 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Ncbi/Merge/biblio.hfd -nk 002370 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Ticri/CIDE |area= HapticV1 |flux= Ncbi |étape= Merge |type= RBID |clé= PMC:3571799 |texte= Network Adaptive Deadband: NCS Data Flow Control for Shared Networks }}
Pour générer des pages wiki
HfdIndexSelect -h $EXPLOR_AREA/Data/Ncbi/Merge/RBID.i -Sk "pubmed:23208556" \ | HfdSelect -Kh $EXPLOR_AREA/Data/Ncbi/Merge/biblio.hfd \ | NlmPubMed2Wicri -a HapticV1
![]() | This area was generated with Dilib version V0.6.23. | ![]() |