<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CSSE</journal-id>
<journal-id journal-id-type="nlm-ta">CSSE</journal-id>
<journal-id journal-id-type="publisher-id">CSSE</journal-id>
<journal-title-group>
<journal-title>Computer Systems Science &#x0026; Engineering</journal-title>
</journal-title-group>
<issn pub-type="ppub">0267-6192</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">17741</article-id>
<article-id pub-id-type="doi">10.32604/csse.2022.017741</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Adaptive Sliding Mode Control Method for Onboard Supercapacitors System</article-title><alt-title alt-title-type="left-running-head">Adaptive Sliding Mode Control Method for Onboard Supercapacitors System</alt-title><alt-title alt-title-type="right-running-head">Adaptive Sliding Mode Control Method for Onboard Supercapacitors System</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Han</surname>
<given-names>Yanzan</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
<email>hanyanzan@163.com</email>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western">
<surname>Zhou</surname>
<given-names>Hang</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western">
<surname>Shi</surname>
<given-names>Zengfang</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western">
<surname>Liang</surname>
<given-names>Shuang</given-names>
</name>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
<aff id="aff-1">
<label>1</label><institution>Department of Mechanical and Electrical, Henan Polytechnic Institute</institution>, <addr-line>Nanyang, 473000</addr-line>, <country>China</country></aff>
<aff id="aff-2">
<label>2</label><institution>University of Florence</institution>, <addr-line>Firenze, 50041</addr-line>, <country>Italy</country></aff>
</contrib-group><author-notes><corresp id="cor1">&#x002A;Corresponding Author: Yanzan Han. Email: <email>hanyanzan@163.com</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-09-03">
<day>3</day>
<month>9</month>
<year>2021</year>
</pub-date>
<volume>40</volume>
<issue>3</issue>
<fpage>1099</fpage>
<lpage>1108</lpage>
<history>
<date date-type="received">
<day>09</day>
<month>2</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>14</day>
<month>4</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2022 Han et al.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Han et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CSSE_17741.pdf"></self-uri>
<abstract>
<p>Urban rail trains have undergone rapid development in recent years due to their punctuality, high capacity and energy efficiency. Urban trains require frequent start/stop operations and are, therefore, prone to high energy losses. As trains have high inertia, the energy that can be recovered from braking comes in short bursts of high power. To effectively recover such braking energy, an onboard supercapacitor system based on a radial basis function neural network-based sliding mode control system is proposed, which provides robust adaptive performance. The supercapacitor energy storage system is connected to a bidirectional DC/DC converter to provide traction energy or absorb regenerative braking energy. In the <italic>Boost</italic> and <italic>Buck</italic> modes, the state-space averaging method is used to establish a model and perform exact linearization. An adaptive sliding mode controller is designed, and simulation results show that it can effectively solve the problems of low energy utilization and large voltage fluctuations in urban rail electricity grids, and maximise the recovery and utilization of regenerative braking energy.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Energy control</kwd>
<kwd>on-board supercapacitor</kwd>
<kwd>neural sliding mode control</kwd>
<kwd>urban rail train</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Urban rail transit systems can effectively alleviate urban traffic congestion due to their ability to carry large loads at high speeds for long distances. More than 300 cities around the world have developed urban rail transit systems, and their passenger volumes have reached 50%&#x2013;80% in many developed cities. As of 31 December 2018, there was a total of 5,139 km of urban rail transit in 34 cities of mainland China. It is clear that city rail transit has entered a period of vigorous development.</p>
<p>Due to the short distances between stations on urban lines and the high density of vehicles, considerable braking energy is generated during frequent starting/braking processes. Vehicle speeds have increased in recent years, such that greater braking energy is involved [<xref ref-type="bibr" rid="ref-1">1</xref>&#x2013;<xref ref-type="bibr" rid="ref-4">4</xref>]. Generally, about 30% of the electricity consumed by urban rail transit is used for auxiliary equipment such as lighting and air conditioning, 10% is used by other components, and the remaining 60% is used for traction power. Among them, the energy generated by regenerative braking accounts for at least 40% of the traction energy. To make better use of regenerative braking energy and suppress fluctuations in DC traction grid voltages, onboard supercapacitor control systems have been introduced [<xref ref-type="bibr" rid="ref-5">5</xref>].</p>
<p>Automotive supercapacitor control systems are nonlinear and uncertain control systems that are susceptible to end-to-end disturbance [<xref ref-type="bibr" rid="ref-6">6</xref>]. By switching the control quantity in sliding mode control, the system can slide along the sliding surface and gain good robustness and interference resistance. resistance. The algorithm used is independent of the system parameters and disturbances, so sliding mode control can be considered for the control of vehicle supercapacitor control systems. A hybrid vehicle supercapacitor system based on DC-DC electricity and batteries was proposed in Gao et al. [<xref ref-type="bibr" rid="ref-7">7</xref>] for energy recovery and utilization. A regenerative braking energy storage system for subway networks based on supercapacitors (SC) was proposed in Shetty et al. [<xref ref-type="bibr" rid="ref-8">8</xref>]. A method of optimal braking-force distribution based on an artificial neural network and sliding mode control was proposed in Ma et al. [<xref ref-type="bibr" rid="ref-9">9</xref>]. A controller composed of a radial basis function (RBF) neural network and sliding mode controller (SMC) was designed in Mao et al. [<xref ref-type="bibr" rid="ref-10">10</xref>] to recover energy from the braking process of mobile vehicles to extend driving distance and save energy. According to the requirements for fast and robust braking in automobile anti-lock braking systems, a sliding mode controller based on an RBF neural network was designed by Hung et al. [<xref ref-type="bibr" rid="ref-11">11</xref>]. An adaptive neural network sliding mode controller design method based on a decoupling method was proposed, and a trolley rod system and ball beam system were simulated.</p>
<p>However, in the design of practical control systems, chattering is prone to occur on both sides of the sliding mode surface when under sliding mode control. To alleviate the chattering problem effectively in traditional sliding mode control, the robustness of the neural network adaptive control system was improved to a certain extent. This study uses the advantages of RBF neural networks (excellent nonlinear function approximation, adaptiveness and self-learning abilities) to propose an onboard supercapacitor system with adaptive and robust sliding mode control. This can be used to recover regenerative braking energy and reduce the line losses of traction grids.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Description of a Vehicular Ultracapacitor System For Urban Rail Transit</title>
<p>A structural diagram of an onboard ultracapacitor control system is shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Structural diagram of an onboard ultracapacitor control system</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_17741-fig-1.png"/>
</fig>
<sec id="s2_1">
<label>2.1</label>
<title>Affine Nonlinear Model (Discharge Condition)</title>
<p>With an on-board ultracapacitor control system, if the train starts or accelerates, the system will supply power to the train and the supercapacitor will be in a discharged state to avoid supplying power to the train and causing a drop in grid voltage. In this state, circuit modelling using the state-space averaging method can be used to model the discharge state [<xref ref-type="bibr" rid="ref-12">12</xref>&#x2013;<xref ref-type="bibr" rid="ref-16">16</xref>] as follows:</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-1.png"/><tex-math id="tex-eqn-1"><![CDATA[\left\{ \matrix{L\displaystyle{{d{i_L}} \over {dt}} = {U_{sc}} - (1 - {\mu _1}){U_{dc}} \hfill \vskip 10pt\cr C\displaystyle{{d{U_{sc}}} \over {dt}} = (1 - {\mu _1}){i_L} - \displaystyle{{{U_{dc}}} \over R} \hfill} \right.]]></tex-math>--><mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mi>L</mml:mi><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mi>i</mml:mi><mml:mi>L</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>R</mml:mi></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>where <inline-formula id="ieqn-1">
<!--<alternatives><inline-graphic xlink:href="ieqn-1.tif"/><tex-math id="tex-ieqn-1"><![CDATA[{i_L}]]></tex-math>--><mml:math id="mml-ieqn-1"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi>L</mml:mi></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-2">
<!--<alternatives><inline-graphic xlink:href="ieqn-2.tif"/><tex-math id="tex-ieqn-2"><![CDATA[{U_{sc}}]]></tex-math>--><mml:math id="mml-ieqn-2"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula> are the average values of the inductor current and ultracapacitor voltage within 1 switching period <italic>T</italic>, respectively; <inline-formula id="ieqn-3">
<!--<alternatives><inline-graphic xlink:href="ieqn-3.tif"/><tex-math id="tex-ieqn-3"><![CDATA[{U_{dc}}]]></tex-math>--><mml:math id="mml-ieqn-3"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula> is the voltage of the traction grid; <italic>L</italic> is the effective inductance; <italic>C</italic> is the vehicular ultracapacitor value; <italic>R</italic> is the load resistance and <italic>&#x03BC;</italic><sub>1</sub> is the IGBT1 duty ratio.</p>
<p>If <inline-formula id="ieqn-4">
<!--<alternatives><inline-graphic xlink:href="ieqn-4.tif"/><tex-math id="tex-ieqn-4"><![CDATA[{x_1} = {i_L}]]></tex-math>--><mml:math id="mml-ieqn-4"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi>L</mml:mi></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-5">
<!--<alternatives><inline-graphic xlink:href="ieqn-5.tif"/><tex-math id="tex-ieqn-5"><![CDATA[{x_2} = {U_{dc}}]]></tex-math>--><mml:math id="mml-ieqn-5"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula>, a standard type of single-input, affine, nonlinear, vehicular supercapacitor system can be obtained as follows:</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-2.png"/><tex-math id="tex-eqn-2"><![CDATA[\left\{ \matrix{\dot x = f(x) + g(x){\mu _1} \hfill \cr y = h(x) \hfill} \right.]]></tex-math>--><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnspacing="1em" rowspacing="4pt"><mml:mtr><mml:mtd columnalign="left"><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>g</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mi>y</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo stretchy="true" symmetric="true" fence="true"></mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Among them, <inline-formula id="ieqn-6">
<!--<alternatives><inline-graphic xlink:href="ieqn-6.tif"/><tex-math id="tex-ieqn-6"><![CDATA[f(x) = \left[ {\matrix{ { - \displaystyle{1 \over L}{x_2} + \displaystyle{1 \over L}{U_{sc}}} \vskip 10pt\cr {\displaystyle{1 \over C}{x_1} - \displaystyle{1 \over {RC}}{x_2}} \cr } } \right]]]></tex-math>--><mml:math id="mml-ieqn-6"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable columnspacing="1em" rowspacing="4pt"><mml:mtr><mml:mtd><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>L</mml:mi></mml:mfrac></mml:mrow><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>L</mml:mi></mml:mfrac></mml:mrow><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>C</mml:mi></mml:mfrac></mml:mrow><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>R</mml:mi><mml:mi>C</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-7">
<!--<alternatives><inline-graphic xlink:href="ieqn-7.tif"/><tex-math id="tex-ieqn-7"><![CDATA[g(x) = \left[ \matrix{\displaystyle{1 \over L}{x_2} \hfill \vskip 10pt\cr - \displaystyle{1 \over C}{x_1} \hfill} \right]]]></tex-math>--><mml:math id="mml-ieqn-7"><mml:mrow><mml:mi>g</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mfrac><mml:mn>1</mml:mn><mml:mi>L</mml:mi></mml:mfrac><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>C</mml:mi></mml:mfrac><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula>.</p>
<p>Then, the onboard ultracapacitor control system can be considered as a class of second-order nonlinear uncertain system:</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-3.png"/><tex-math id="tex-eqn-3"><![CDATA[\left\{ \matrix{{{\dot x}_1} = {x_2} \hfill \cr {{\dot x}_2} = f(x) + g(x)u + d(t) \hfill \cr y = h(x) \hfill} \right.]]></tex-math>--><mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnspacing="1em" rowspacing="4pt"><mml:mtr><mml:mtd columnalign="left"><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>g</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>u</mml:mi><mml:mo>&#x002B;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mi>y</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo stretchy="true" symmetric="true" fence="true"></mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Here, <inline-formula id="ieqn-8">
<!--<alternatives><inline-graphic xlink:href="ieqn-8.tif"/><tex-math id="tex-ieqn-8"><![CDATA[f( \cdot )]]></tex-math>--><mml:math id="mml-ieqn-8"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> is the unknown nonlinear function; <italic>u</italic> and <italic>y</italic> are the control input and object output; and <inline-formula id="ieqn-9">
<!--<alternatives><inline-graphic xlink:href="ieqn-9.tif"/><tex-math id="tex-ieqn-9"><![CDATA[d(t)]]></tex-math>--><mml:math id="mml-ieqn-9"><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> is the interference, where <inline-formula id="ieqn-10">
<!--<alternatives><inline-graphic xlink:href="ieqn-10.tif"/><tex-math id="tex-ieqn-10"><![CDATA[\left| {d(t)} \right| \le D]]></tex-math>--><mml:math id="mml-ieqn-10"><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mi>D</mml:mi></mml:math>
<!--</alternatives>--></inline-formula>.</p>
<p>If <inline-formula id="ieqn-11">
<!--<alternatives><inline-graphic xlink:href="ieqn-11.tif"/><tex-math id="tex-ieqn-11"><![CDATA[{x_1} = \theta]]></tex-math>--><mml:math id="mml-ieqn-11"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>&#x03B8;</mml:mi></mml:math>
<!--</alternatives>--></inline-formula>, the ideal angle is <inline-formula id="ieqn-12">
<!--<alternatives><inline-graphic xlink:href="ieqn-12.tif"/><tex-math id="tex-ieqn-12"><![CDATA[{\theta _d}]]></tex-math>--><mml:math id="mml-ieqn-12"><mml:mrow><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula>. Then, the error is <inline-formula id="ieqn-13">
<!--<alternatives><inline-graphic xlink:href="ieqn-13.tif"/><tex-math id="tex-ieqn-13"><![CDATA[e = {\theta _d} - \theta]]></tex-math>--><mml:math id="mml-ieqn-13"><mml:mi>e</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B8;</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> and the sliding mode function is</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-4.png"/><tex-math id="tex-eqn-4"><![CDATA[s = \dot e + ce.]]></tex-math>--><mml:math id="mml-eqn-4" display="block"><mml:mi>s</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mo>.</mml:mo></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Among them, <inline-formula id="ieqn-14">
<!--<alternatives><inline-graphic xlink:href="ieqn-14.tif"/><tex-math id="tex-ieqn-14"><![CDATA[c > 0]]></tex-math>--><mml:math id="mml-ieqn-14"><mml:mi>c</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></inline-formula>, then:</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-5.png"/><tex-math id="tex-eqn-5"><![CDATA[\dot s = \ddot e + c\dot e = {\ddot \theta _d} - \ddot \theta + c\dot e = {\ddot \theta _d} - f - gu - d(t) + c\dot e]]></tex-math>--><mml:math id="mml-eqn-5" display="block"><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>g</mml:mi><mml:mi>u</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>If <italic>f</italic> and <italic>g</italic> are known, the design control law is:</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-6.png"/><tex-math id="tex-eqn-6"><![CDATA[u = \displaystyle{1 \over g}( - f + \ddot \theta {}_d + c\dot e + \eta {\mathop{\rm sgn}} (s))]]></tex-math>--><mml:math id="mml-eqn-6" display="block"><mml:mi>u</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>g</mml:mi></mml:mfrac></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x002B;</mml:mo><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:msub><mml:mrow></mml:mrow><mml:mi>d</mml:mi></mml:msub><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>sgn</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:mstyle></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>By substituting the control law into the above equation, it can be found that:</p>
<p><disp-formula id="eqn-7">
<label>(7)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-7.png"/><tex-math id="tex-eqn-7"><![CDATA[\dot s = \ddot e + c\dot e = {\ddot \theta _d} - \ddot \theta + c\dot e = {\ddot \theta _d} - f - gu - d(t) + c\dot e = \eta {\mathop{\rm sgn}} (s) - d(t)]]></tex-math>--><mml:math id="mml-eqn-7" display="block"><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>g</mml:mi><mml:mi>u</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>sgn</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>If <inline-formula id="ieqn-15">
<!--<alternatives><inline-graphic xlink:href="ieqn-15.tif"/><tex-math id="tex-ieqn-15"><![CDATA[\eta \ge D]]></tex-math>--><mml:math id="mml-ieqn-15"><mml:mi>&#x03B7;</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mi>D</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> is certain, then:</p>
<p><disp-formula id="eqn-8">
<label>(8)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-8.png"/><tex-math id="tex-eqn-8"><![CDATA[s\dot s = - \eta \left| s \right| - sd(t) \le 0]]></tex-math>--><mml:math id="mml-eqn-8" display="block"><mml:mi>s</mml:mi><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>s</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>So, the control system designed in this paper can meet the stability requirements of Lyapunov theory. The RBF neural network is used for approximating <inline-formula id="ieqn-16">
<!--<alternatives><inline-graphic xlink:href="ieqn-16.tif"/><tex-math id="tex-ieqn-16"><![CDATA[f( \cdot )]]></tex-math>--><mml:math id="mml-ieqn-16"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> in the onboard ultracapacitor control system.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Precise Feedback Linearization of the Onboard Ultracapacitor Control System</title>
<p>Through the above analysis, it can be seen that the on-board ultracapacitor control system satisfies the precise linearization condition of the nonlinear system, so it can be linearized [<xref ref-type="bibr" rid="ref-17">17</xref>&#x2013;<xref ref-type="bibr" rid="ref-20">20</xref>]. If <inline-formula id="ieqn-17">
<!--<alternatives><inline-graphic xlink:href="ieqn-17.tif"/><tex-math id="tex-ieqn-17"><![CDATA[{z_1}]]></tex-math>--><mml:math id="mml-ieqn-17"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-18">
<!--<alternatives><inline-graphic xlink:href="ieqn-18.tif"/><tex-math id="tex-ieqn-18"><![CDATA[{z_2}]]></tex-math>--><mml:math id="mml-ieqn-18"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula> are the state variables used in linearized feedback linearization, the output function <inline-formula id="ieqn-19">
<!--<alternatives><inline-graphic xlink:href="ieqn-19.tif"/><tex-math id="tex-ieqn-19"><![CDATA[m(x)]]></tex-math>--><mml:math id="mml-ieqn-19"><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> of the system model can be created.</p>
<p>If <inline-formula id="ieqn-20">
<!--<alternatives><inline-graphic xlink:href="ieqn-20.tif"/><tex-math id="tex-ieqn-20"><![CDATA[{z_1}(x) = m(x)]]></tex-math>--><mml:math id="mml-ieqn-20"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> is set, then it can be obtained that:</p>
<p><disp-formula id="eqn-9">
<label>(8)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-9.png"/><tex-math id="tex-eqn-9"><![CDATA[\displaystyle{{d{z_1}} \over {dt}} = \displaystyle{{d{z_1}} \over {dx}}\displaystyle{{dx} \over {dt}} = L_f^1m(x) + {L_g}m(x){\mu _1}]]></tex-math>--><mml:math id="mml-eqn-9" display="block"><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:msubsup><mml:mi>L</mml:mi><mml:mi>f</mml:mi><mml:mn>1</mml:mn></mml:msubsup><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:mrow><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mstyle></mml:mstyle></mml:mstyle></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>In the above formula, <inline-formula id="ieqn-21">
<!--<alternatives><inline-graphic xlink:href="ieqn-21.tif"/><tex-math id="tex-ieqn-21"><![CDATA[L_f^1m(x)]]></tex-math>--><mml:math id="mml-ieqn-21"><mml:msubsup><mml:mi>L</mml:mi><mml:mi>f</mml:mi><mml:mn>1</mml:mn></mml:msubsup><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-22">
<!--<alternatives><inline-graphic xlink:href="ieqn-22.tif"/><tex-math id="tex-ieqn-22"><![CDATA[L_g^{}m(x)]]></tex-math>--><mml:math id="mml-ieqn-22"><mml:msubsup><mml:mi>L</mml:mi><mml:mi>g</mml:mi><mml:mrow></mml:mrow></mml:msubsup><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> are the lie derivatives along the direction of the sum.</p>
<p>If <inline-formula id="ieqn-23">
<!--<alternatives><inline-graphic xlink:href="ieqn-23.tif"/><tex-math id="tex-ieqn-23"><![CDATA[L_g^{}m(x) = 0]]></tex-math>--><mml:math id="mml-ieqn-23"><mml:msubsup><mml:mi>L</mml:mi><mml:mi>g</mml:mi><mml:mrow></mml:mrow></mml:msubsup><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-24">
<!--<alternatives><inline-graphic xlink:href="ieqn-24.tif"/><tex-math id="tex-ieqn-24"><![CDATA[L_f^1m(x) = {z_2}]]></tex-math>--><mml:math id="mml-ieqn-24"><mml:msubsup><mml:mi>L</mml:mi><mml:mi>f</mml:mi><mml:mn>1</mml:mn></mml:msubsup><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula> are set, then it can be obtained that: <inline-formula id="ieqn-25">
<!--<alternatives><inline-graphic xlink:href="ieqn-25.tif"/><tex-math id="tex-ieqn-25"><![CDATA[\displaystyle{{d{z_1}} \over {dt}} = {z_2}]]></tex-math>--><mml:math id="mml-ieqn-25"><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mstyle></mml:math>
<!--</alternatives>--></inline-formula>.</p>
<p>Similarly, it can be obtained that:</p>
<p><disp-formula id="eqn-10">
<label>(9)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-10.png"/><tex-math id="tex-eqn-10"><![CDATA[\displaystyle{{d{z_2}} \over {dt}} = \displaystyle{{d{z_2}} \over {dx}}\displaystyle{{dx} \over {dt}} = L_f^2m(x) + {L_g}L_f^1m(x){\mu _1}]]></tex-math>--><mml:math id="mml-eqn-10" display="block"><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:msubsup><mml:mi>L</mml:mi><mml:mi>f</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:mrow><mml:msubsup><mml:mi>L</mml:mi><mml:mi>f</mml:mi><mml:mn>1</mml:mn></mml:msubsup><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mstyle></mml:mstyle></mml:mstyle></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>So,</p>
<p><disp-formula id="eqn-11">
<label>(10)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-11.png"/><tex-math id="tex-eqn-11"><![CDATA[z{}_1(x) = m(x) = Lx_1^2 + Cx_2^2]]></tex-math>--><mml:math id="mml-eqn-11" display="block"><mml:mi>z</mml:mi><mml:msub><mml:mrow></mml:mrow><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mi>L</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:msubsup><mml:mo>&#x002B;</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mn>2</mml:mn><mml:mn>2</mml:mn></mml:msubsup></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Then, the feedback linearized state variable system equation is:</p>
<p><disp-formula id="eqn-12">
<label>(11)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-12.png"/><tex-math id="tex-eqn-12"><![CDATA[\left\{ \matrix{{{\dot z}_1} = {z_2} = Lx_1^2 + Cx_2^2 \hfill \cr {{\dot z}_2} = {L_f}m(x) = 2{U_{sc}}{x_1} - \displaystyle{2 \over R}x_2^2 \hfill} \right.]]></tex-math>--><mml:math id="mml-eqn-12" display="block"><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:msub><mml:mover accent='true'><mml:mi>z</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mn>2</mml:mn><mml:mn>2</mml:mn></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mover accent='true'><mml:mi>z</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mi>m</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mfrac><mml:msubsup><mml:mi>x</mml:mi><mml:mn>2</mml:mn><mml:mn>2</mml:mn></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Design of an Adaptive, Robust, RBF Neural Network Sliding Mode Controller</title>
<p>Due to the state discontinuity caused by frequent on-off events, the converter has nonlinear characteristics and is easily affected by disturbances, so the control effect is not ideal. A sliding mode variable structure control algorithm with independent parameter inputs and disturbances is used to design the controller [<xref ref-type="bibr" rid="ref-21">21</xref>&#x2013;<xref ref-type="bibr" rid="ref-24">24</xref>], which is then switched by the control quantities in order to make the system slide along the sliding mode surface. To overcome the chattering phenomenon on both sides of the sliding mode surface, a neural network is added to approximate the nonlinear relationship between the sliding mode surface and the control quantity, so the system has good robustness and anti-interference characteristics.</p>
<p>According to the characteristics of the on-board supercapacitor system, a single, hidden-layer, three-layer, feed-forward, RBF neural network is adopted in this paper, which can approximate arbitrary nonlinear and linear functions. Its structure is shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>RBF neural network structural diagram</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_17741-fig-2.png"/>
</fig>
<p>In this paper, an RBF neural network is used to approximate the nonlinear mapping relationship between the sliding mode surface and the control quantity, with the switching function <inline-formula id="ieqn-26">
<!--<alternatives><inline-graphic xlink:href="ieqn-26.tif"/><tex-math id="tex-ieqn-26"><![CDATA[s]]></tex-math>--><mml:math id="mml-ieqn-26"><mml:mi>s</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> and the derivative <inline-formula id="ieqn-27">
<!--<alternatives><inline-graphic xlink:href="ieqn-27.tif"/><tex-math id="tex-ieqn-27"><![CDATA[\dot s]]></tex-math>--><mml:math id="mml-ieqn-27"><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula> used as inputs to the RBF neural network [<xref ref-type="bibr" rid="ref-25">25</xref>&#x2013;<xref ref-type="bibr" rid="ref-29">29</xref>], while the sliding mode controller is the output. The structure of its adaptive sliding mode control system based on RBF is shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Structure of the adaptive sliding mode control system based on RBF</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_17741-fig-3.png"/>
</fig>
<p>The input and output algorithms of the RBF network are supposed as:</p>
<p><disp-formula id="eqn-13">
<label>(12)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-13.png"/><tex-math id="tex-eqn-13"><![CDATA[{h_j} = \exp \left( {\displaystyle{{{{\left\| {x - {c_j}} \right\|}^2}} \over {2b_j^2}}} \right)]]></tex-math>--><mml:math id="mml-eqn-13" display="block"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msubsup><mml:mi>b</mml:mi><mml:mi>j</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-14">
<label>(13)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-14.png"/><tex-math id="tex-eqn-14"><![CDATA[f = {W^{ * T}}h(x) + \epsilon]]></tex-math>--><mml:math id="mml-eqn-14" display="block"><mml:mi>f</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>&#x03B5;</mml:mi></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Among them, <inline-formula id="ieqn-28">
<!--<alternatives><inline-graphic xlink:href="ieqn-28.tif"/><tex-math id="tex-ieqn-28"><![CDATA[x]]></tex-math>--><mml:math id="mml-ieqn-28"><mml:mi>x</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> is the input of the neural network, <inline-formula id="ieqn-29">
<!--<alternatives><inline-graphic xlink:href="ieqn-29.tif"/><tex-math id="tex-ieqn-29"><![CDATA[i]]></tex-math>--><mml:math id="mml-ieqn-29"><mml:mi>i</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> is the network input of the first input layer, <inline-formula id="ieqn-30">
<!--<alternatives><inline-graphic xlink:href="ieqn-30.tif"/><tex-math id="tex-ieqn-30"><![CDATA[j]]></tex-math>--><mml:math id="mml-ieqn-30"><mml:mi>j</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> is the network input of the hidden layer, <inline-formula id="ieqn-31">
<!--<alternatives><inline-graphic xlink:href="ieqn-31.tif"/><tex-math id="tex-ieqn-31"><![CDATA[h = {\left[ {{h_j}} \right]^T}]]></tex-math>--><mml:math id="mml-ieqn-31"><mml:mi>h</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula> is the output of the Gaussian basis functions, <inline-formula id="ieqn-32">
<!--<alternatives><inline-graphic xlink:href="ieqn-32.tif"/><tex-math id="tex-ieqn-32"><![CDATA[W *]]></tex-math>--><mml:math id="mml-ieqn-32"><mml:mi>W</mml:mi><mml:mo>&#x2217;</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> is the ideal network weight, <inline-formula id="ieqn-33">
<!--<alternatives><inline-graphic xlink:href="ieqn-33.tif"/><tex-math id="tex-ieqn-33"><![CDATA[\epsilon]]></tex-math>--><mml:math id="mml-ieqn-33"><mml:mi>&#x03B5;</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> is the network approximation error (<inline-formula id="ieqn-34">
<!--<alternatives><inline-graphic xlink:href="ieqn-34.tif"/><tex-math id="tex-ieqn-34"><![CDATA[\epsilon \le {\epsilon _N}]]></tex-math>--><mml:math id="mml-ieqn-34"><mml:mi>&#x03B5;</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03B5;</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula>) and <inline-formula id="ieqn-35">
<!--<alternatives><inline-graphic xlink:href="ieqn-35.tif"/><tex-math id="tex-ieqn-35"><![CDATA[f]]></tex-math>--><mml:math id="mml-ieqn-35"><mml:mi>f</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> is the output of the neural network.</p>
<p>The input of the neural network is <inline-formula id="ieqn-36">
<!--<alternatives><inline-graphic xlink:href="ieqn-36.tif"/><tex-math id="tex-ieqn-36"><![CDATA[x = {\left[ {e{\rm } \ \ \dot e} \right]^T}]]></tex-math>--><mml:math id="mml-ieqn-36"><mml:mi>x</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mrow></mml:mrow><mml:mtext>  </mml:mtext><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula>, then its output is:</p>
<p><disp-formula id="eqn-15">
<label>(14)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-15.png"/><tex-math id="tex-eqn-15"><![CDATA[\hat f(x) = {\hat W^T}h(x)]]></tex-math>--><mml:math id="mml-eqn-15" display="block"><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">^</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mover><mml:mi>W</mml:mi><mml:mo stretchy="false">^</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>The control law is:</p>
<p><disp-formula id="eqn-16">
<label>(15)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-16.png"/><tex-math id="tex-eqn-16"><![CDATA[u = \displaystyle{1 \over g}( - \hat f + \ddot \theta {}_d + c\dot e + \eta {\mathop{\rm sgn}} (s))]]></tex-math>--><mml:math id="mml-eqn-16" display="block"><mml:mi>u</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>g</mml:mi></mml:mfrac></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">^</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow><mml:msub><mml:mrow></mml:mrow><mml:mi>d</mml:mi></mml:msub><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>sgn</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:mstyle></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Substituting control law <xref ref-type="disp-formula" rid="eqn-15">Eq. (15)</xref> into <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref>, we can obtain:</p>
<p><disp-formula id="eqn-17">
<label>(16)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-17.png"/><tex-math id="tex-eqn-17"><![CDATA[\eqalign{ \dot s = {{\ddot \theta }_d} - f - gu - d(t) + c\dot e \cr &#9; {\rm } = {{\ddot \theta }_d} - f - \left[ { - \hat f + {{\ddot \theta }_d} + c\dot e + \eta {\mathop{\rm sgn}} (s)} \right] - d(t) + c\dot e \cr &#9; {\rm } = - f + \hat f - \eta {\mathop{\rm sgn}} (s) - d(t) \cr &#9; {\rm } = - \tilde f - \eta {\mathop{\rm sgn}} (s) - d(t)}]]></tex-math>--><mml:math id="mml-eqn-17" display="block"><mml:mtable columnspacing="thickmathspace" rowspacing=".5em" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>g</mml:mi><mml:mi>u</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mrow></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">^</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x00A8;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>sgn</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mrow></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x002B;</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">^</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>sgn</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mrow></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>sgn</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Among them, <inline-formula id="ieqn-37">
<!--<alternatives><inline-graphic xlink:href="ieqn-37.tif"/><tex-math id="tex-ieqn-37"><![CDATA[\tilde f = f - \hat f = {W^{ * T}}h(x) + \epsilon - {\hat W^T}h(x) = {\tilde W^T}h(x) + \epsilon]]></tex-math>--><mml:math id="mml-ieqn-37"><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">^</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mover><mml:mi>W</mml:mi><mml:mo stretchy="false">^</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mover><mml:mi>W</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>&#x03B5;</mml:mi></mml:math>
<!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-38">
<!--<alternatives><inline-graphic xlink:href="ieqn-38.tif"/><tex-math id="tex-ieqn-38"><![CDATA[\tilde W = {W^ * } - \hat W]]></tex-math>--><mml:math id="mml-ieqn-38"><mml:mrow><mml:mover><mml:mi>W</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mo>&#x2217;</mml:mo></mml:msup></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>W</mml:mi><mml:mo stretchy="false">^</mml:mo></mml:mover></mml:mrow></mml:math>
<!--</alternatives>--></inline-formula>.</p>
<p>The Lyapunov function is designed as:</p>
<p><disp-formula id="eqn-18">
<label>(17)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-18.png"/><tex-math id="tex-eqn-18"><![CDATA[L = \displaystyle{1 \over 2}{s^2} + \displaystyle{1 \over 2}\gamma {\tilde W^T}\tilde W]]></tex-math>--><mml:math id="mml-eqn-18" display="block"><mml:mi>L</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac></mml:mrow><mml:mrow><mml:msup><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mstyle scriptlevel="0" displaystyle="true"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac></mml:mrow><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:msup><mml:mrow><mml:mover><mml:mi>W</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mover><mml:mi>W</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:mstyle></mml:mstyle></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Among them, <inline-formula id="ieqn-39">
<!--<alternatives><inline-graphic xlink:href="ieqn-39.tif"/><tex-math id="tex-ieqn-39"><![CDATA[\gamma > 0]]></tex-math>--><mml:math id="mml-ieqn-39"><mml:mi>&#x03B3;</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></inline-formula>.</p>
<p>From <xref ref-type="disp-formula" rid="eqn-17">Eqs. (17)</xref> and <xref ref-type="disp-formula" rid="eqn-16">(16)</xref>, it can be obtained that:</p>
<p><disp-formula id="eqn-19">
<label>(18)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-19.png"/><tex-math id="tex-eqn-19"><![CDATA[\eqalign{ \dot L = s\dot s + \gamma {{\tilde W}^T}\dot \tilde W = s( - \tilde f - d(t) - \eta {\mathop{\rm sgn}} (s)) - \gamma {{\tilde W}^T}\dot \hat W \cr &#9; = s( - {{\tilde W}^T}h(x) - \epsilon - d(t) - \eta {\mathop{\rm sgn}} (s)) - \gamma {{\tilde W}^T}\dot \hat W \cr &#9; = - {{\tilde W}^T}(sh(x) + \gamma \dot \hat W) - s(\epsilon + d(t) + \eta {\mathop{\rm sgn}} (s))}]]></tex-math>--><mml:math id="mml-eqn-19" display="block"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mover accent='true'><mml:mi>L</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mover accent='true'><mml:mi>s</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:msup><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x02DC;</mml:mo></mml:mover><mml:mi>T</mml:mi></mml:msup><mml:mover accent='true'><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x02DC;</mml:mo></mml:mover><mml:mo>&#x02D9;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mover accent='true'><mml:mi>f</mml:mi><mml:mo>&#x02DC;</mml:mo></mml:mover><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mtext>sgn</mml:mtext><mml:mo stretchy='false'>(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:msup><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x02DC;</mml:mo></mml:mover><mml:mi>T</mml:mi></mml:msup><mml:mover accent='true'><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x02DC;</mml:mo></mml:mover><mml:mi>T</mml:mi></mml:msup><mml:mi>h</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mtext>sgn</mml:mtext><mml:mo stretchy='false'>(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:msup><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x02DC;</mml:mo></mml:mover><mml:mi>T</mml:mi></mml:msup><mml:mover accent='true'><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x02DC;</mml:mo></mml:mover><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy='false'>(</mml:mo><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mover accent='true'><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover><mml:mo>&#x02D9;</mml:mo></mml:mover><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mtext>sgn</mml:mtext><mml:mo stretchy='false'>(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='false'>)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>The adaptation law can be derived as follows:</p>
<p><disp-formula id="eqn-20">
<label>(19)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-20.png"/><tex-math id="tex-eqn-20"><![CDATA[\dot \hat W = - \displaystyle{1 \over \gamma }sh(x)]]></tex-math>--><mml:math id="mml-eqn-20" display="block"><mml:mrow><mml:mover accent='true'><mml:mover accent='true'><mml:mi>W</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover><mml:mo>&#x02D9;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x03B3;</mml:mi></mml:mfrac><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Then,</p>
<p><disp-formula id="eqn-21">
<label>(20)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-21.png"/><tex-math id="tex-eqn-21"><![CDATA[\dot L = - s(\epsilon + d(t) + \eta {\mathop{\rm sgn}} (s)) = - s(\epsilon + d(t)) - \eta \left| s \right|]]></tex-math>--><mml:math id="mml-eqn-21" display="block"><mml:mrow><mml:mover><mml:mi>L</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo>&#x002B;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>sgn</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo>&#x002B;</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Because the RBF network&#x2019;s approximation error <inline-formula id="ieqn-40">
<!--<alternatives><inline-graphic xlink:href="ieqn-40.tif"/><tex-math id="tex-ieqn-40"><![CDATA[\epsilon]]></tex-math>--><mml:math id="mml-ieqn-40"><mml:mi>&#x03B5;</mml:mi></mml:math>
<!--</alternatives>--></inline-formula> is very small, we set <inline-formula id="ieqn-41">
<!--<alternatives><inline-graphic xlink:href="ieqn-41.tif"/><tex-math id="tex-ieqn-41"><![CDATA[\eta \ge {\epsilon _N} + D]]></tex-math>--><mml:math id="mml-ieqn-41"><mml:mi>&#x03B7;</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03B5;</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>D</mml:mi></mml:math>
<!--</alternatives>--></inline-formula>, then <inline-formula id="ieqn-42">
<!--<alternatives><inline-graphic xlink:href="ieqn-42.tif"/><tex-math id="tex-ieqn-42"><![CDATA[\dot L \le 0]]></tex-math>--><mml:math id="mml-ieqn-42"><mml:mrow><mml:mover><mml:mi>L</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></inline-formula>. When <inline-formula id="ieqn-43">
<!--<alternatives><inline-graphic xlink:href="ieqn-43.tif"/><tex-math id="tex-ieqn-43"><![CDATA[\dot L = 0]]></tex-math>--><mml:math id="mml-ieqn-43"><mml:mrow><mml:mover><mml:mi>L</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-44">
<!--<alternatives><inline-graphic xlink:href="ieqn-44.tif"/><tex-math id="tex-ieqn-44"><![CDATA[s \equiv 0]]></tex-math>--><mml:math id="mml-ieqn-44"><mml:mi>s</mml:mi><mml:mo>&#x2261;</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></inline-formula>, so according to the Lasalle principle of the invariant, the closed-loop system is asymptotically stable. When <inline-formula id="ieqn-45">
<!--<alternatives><inline-graphic xlink:href="ieqn-45.tif"/><tex-math id="tex-ieqn-45"><![CDATA[t \to \infty]]></tex-math>--><mml:math id="mml-ieqn-45"><mml:mi>t</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:math>
<!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-46">
<!--<alternatives><inline-graphic xlink:href="ieqn-46.tif"/><tex-math id="tex-ieqn-46"><![CDATA[s \to 0]]></tex-math>--><mml:math id="mml-ieqn-46"><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></inline-formula>. It can be seen that the role of the robust term <inline-formula id="ieqn-47">
<!--<alternatives><inline-graphic xlink:href="ieqn-47.tif"/><tex-math id="tex-ieqn-47"><![CDATA[\eta {\mathop{\rm sgn}} (s)]]></tex-math>--><mml:math id="mml-ieqn-47"><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>sgn</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
<!--</alternatives>--></inline-formula> in the control law is to overcome interference and neural network approximation errors to ensure the stability of the system.</p>
</sec>
<sec id="s4">
<label>4</label>
<title>Simulation Verification</title>
<p>A simulation test was carried out on a certain track line with an operating interval of 1.98 km. The parameters of the supercapacitor are: capacitance &#x003D; 30 F, rated voltage &#x003D; 500 V and working current &#x003D; &#x2212;400&#x2013;400 A. The parameters of the bidirectional DC/DC converter are: energy storage inductance &#x003D; 7.5 mH and filter capacitance &#x003D; 30,000 uF. The IGBT switching frequency &#x003D; 10 kHz and the standard supply voltage of the DC traction network &#x003D; 1500 V [<xref ref-type="bibr" rid="ref-30">30</xref>,<xref ref-type="bibr" rid="ref-31">31</xref>].</p>
<p>Simulink was used to establish a simulation model of a single train with an on-board ultracapacitor (<xref ref-type="fig" rid="fig-4">Fig. 4</xref>), which can be used to robustly verify the absorption and utilization of regenerative braking energy by the designed control system.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Simulink structural diagram of the onboard ultracapacitor sliding mode control system based on an RBF network</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_17741-fig-4.png"/>
</fig>
<p>It can be seen from the simulation results (<xref ref-type="fig" rid="fig-5">Fig. 5</xref>) that when the system is not connected to the on-board supercapacitor energy storage system and the train accelerates and tows, the network voltage fluctuation is about 400 V. The voltage difference between the train deceleration stage and the traction network is about 200 V. It can be seen that the voltage fluctuation of the traction network is high and braking energy cannot be recovered during this process. When the system is connected to the onboard supercapacitor energy storage system, the voltage difference between the train acceleration stage and the traction network is about 150 V, while that between the train deceleration and braking stages is about 90 V. Hence, the designed neural network adaptive sliding mode control system obviously reduces the dynamic amplitude of the traction grid voltage and, at the same time, effectively absorbs and utilizes regenerative braking energy.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Voltage variation in the traction grid before (BO) and after optimization (AO)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_17741-fig-5.png"/>
</fig>
<p>It can be seen from <xref ref-type="fig" rid="fig-6">Fig. 6</xref> that, the designed control system can follow the ideal train operating speed curve well. This significantly improves the response speed and steady-state error of the control system, enhances the external anti-interference ability and improves its robustness, making driving more comfortable, safe and stable.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Train operation curve (velocity <italic>vs.</italic> distance) before and after optimization</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_17741-fig-6.png"/>
</fig>
<p><xref ref-type="fig" rid="fig-5">Figs. 5</xref>&#x2013;<xref ref-type="fig" rid="fig-7">7</xref> show that the designed on-board ultracapacitor control system can alleviate drops in traction grid voltage during train starts and absorb energy during braking, and can also prevent increases in grid pressure. When the braking resistor is used before optimization, the line losses of the traction grid are about 1.395 kWh. When the onboard ultracapacitor control system is used and the neural network adaptive sliding mode control method is adopted, the line loss of the traction grid is about 0.38 kWh. Hence, losses are reduced by 37.4%, which avoids energy wastage.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Variations in traction grid line losses before and after optimization</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_17741-fig-7.png"/>
</fig>
<p>From the above analysis, it can be seen that the vehicle-mounted ultracapacitor energy storage system can effectively utilize regenerative braking energy, suppress fluctuations in grid voltage and reduce losses in the traction grid.</p>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusions</title>
<p>(1) With their high power density and long service life, ultracapacitors have unique advantages and development prospects in utilising regenerative energy in urban rail trains. They can improve the braking power of high-speed trains and allow operation without feeders, making trains more comfortable, safe and stable.</p>
<p>(2) An adaptive, neural network-based, sliding mode control system for supercapacitors was proposed in this paper. Through simulation, it was verified that the system can suppress fluctuations in network pressure, reduce losses in traction grids, and improve the utilization rate of regenerative braking energy.</p>
</sec>
</body>
<back>
<ack>
<p>We thank the team members for their hard work, the scientific research platform provided by the University, and the strong support from government funding.</p>
</ack><fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> This work was supported by the Science and Technology Project of Henan Province under Grant No. 14210221036.</p>
</fn>
<fn fn-type="conflict">
<p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1">
<label>[1]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>X. A.</given-names> 
<surname>Wang</surname></string-name> and <string-name>
<given-names>S. Q.</given-names> 
<surname>Xu</surname></string-name>
</person-group>, &#x201C;
<article-title>An Analysis of energy saving strategies for vehicle-mounted ultracapacitor subway trains</article-title>,&#x201D; 
<source>Shandong Industrial Technology</source>, vol. 
<volume>14</volume>, no. 
<issue>1</issue>, pp. 
<fpage>39</fpage>&#x2013;
<lpage>42</lpage>, 
<year>2019</year>.</mixed-citation>
</ref>
<ref id="ref-2">
<label>[2]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>J.</given-names> 
<surname>Chen</surname></string-name> and <string-name>
<given-names>M. S.</given-names> 
<surname>Deng</surname></string-name>
</person-group>, &#x201C;
<article-title>Application of vehicle-mounted supercapacitor in energy recovery from subway braking</article-title>,&#x201D; 
<source>Journal of Hunan University of Technology</source>, vol. 
<volume>32</volume>, no. 
<issue>4</issue>, pp. 
<fpage>28</fpage>&#x2013;
<lpage>32</lpage>, 
<year>2008</year>.</mixed-citation>
</ref>
<ref id="ref-3">
<label>[3]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>J. P.</given-names> 
<surname>Wang</surname></string-name>
</person-group>, &#x201C;
<article-title>Optimal configuration method of vehicle-mounted ultracapacitor in urban rail transit</article-title>,&#x201D; 
<source>Research on Urban Rail Transit</source>, vol. 
<volume>20</volume>, no. 
<issue>3</issue>, pp. 
<fpage>36</fpage>&#x2013;
<lpage>39</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-4">
<label>[4]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>Y.</given-names> 
<surname>Zhang</surname></string-name>, <string-name>
<given-names>J. G.</given-names> 
<surname>Cheng</surname></string-name> and <string-name>
<given-names>J.</given-names> 
<surname>Chen</surname></string-name>
</person-group>, &#x201C;
<article-title>Analysis of regenerative braking energy utilization of subway trains based on ultracapacitor</article-title>,&#x201D; 
<source>Urban Rail Transit Research</source>, vol. 
<volume>19</volume>, no. 
<issue>9</issue>, pp. 
<fpage>56</fpage>&#x2013;
<lpage>65</lpage>, 
<year>2016</year>.</mixed-citation>
</ref>
<ref id="ref-5">
<label>[5]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>J. G.</given-names> 
<surname>Cheng</surname></string-name>, <string-name>
<given-names>S. R.</given-names> 
<surname>Wu</surname></string-name> and <string-name>
<given-names>J.</given-names> 
<surname>Chen</surname></string-name>
</person-group>, &#x201C;
<article-title>Research on vehicular ultracapacitor energy storage system of urban rail vehicles</article-title>,&#x201D; 
<source>Modern Urban Rail Transit</source>, vol. 
<volume>12</volume>, no. 
<issue>2</issue>, pp. 
<fpage>7</fpage>&#x2013;
<lpage>11</lpage>, 
<year>2016</year>.</mixed-citation>
</ref>
<ref id="ref-6">
<label>[6]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>L. J.</given-names> 
<surname>Ma</surname></string-name>, <string-name>
<given-names>W. J.</given-names> 
<surname>Liao</surname></string-name> and <string-name>
<given-names>Z. Y.</given-names> 
<surname>Gao</surname></string-name>
</person-group>, &#x201C;
<article-title>Research on control strategy of vehicular ultracapacitor energy storage in urban rail transit</article-title>,&#x201D; 
<source>Journal of Electrical Technology</source>, vol. 
<volume>30</volume>, no. 
<issue>11</issue>, pp. 
<fpage>63</fpage>&#x2013;
<lpage>68</lpage>, 
<year>2015</year>.</mixed-citation>
</ref>
<ref id="ref-7">
<label>[7]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>Z. Y.</given-names> 
<surname>Gao</surname></string-name>, <string-name>
<given-names>J. J.</given-names> 
<surname>Fang</surname></string-name> and <string-name>
<given-names>Y. N.</given-names> 
<surname>Zhang</surname></string-name>
</person-group>, &#x201C;
<article-title>Control of urban rail transit equipped with ground-based supercapacitor for energy saving and reduction of power peak demand</article-title>,&#x201D; 
<source>International Journal of Electrical Power &#x0026; Energy Systems</source>, vol. 
<volume>67</volume>, no. 
<issue>16</issue>, pp. 
<fpage>439</fpage>&#x2013;
<lpage>447</lpage>, 
<year>2015</year>.</mixed-citation>
</ref>
<ref id="ref-8">
<label>[8]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>S. S.</given-names> 
<surname>Shetty</surname></string-name> and <string-name>
<given-names>O.</given-names> 
<surname>Karabasoglu</surname></string-name>
</person-group>, &#x201C;
<article-title>Regenerative braking control strategy for hybrid and electric vehicles using artificial neural networks</article-title>,&#x201D; 
<source>Communications in Computer &#x0026; Information Science</source>, vol. 
<volume>459</volume>, no. 
<issue>64</issue>, pp. 
<fpage>103</fpage>&#x2013;
<lpage>112</lpage>, 
<year>2014</year>.</mixed-citation>
</ref>
<ref id="ref-9">
<label>[9]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>L.</given-names> 
<surname>Ma</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Liao</surname></string-name> and <string-name>
<given-names>Z.</given-names> 
<surname>Gao</surname></string-name>
</person-group>, &#x201C;
<article-title>Research on ac side series supercapacitor regenerative braking energy storage system control strategy of railway vehicle</article-title>,&#x201D; 
<source>Transactions of China Electrotechnical Society</source>, vol. 
<volume>12</volume>, no. 
<issue>23</issue>, pp. 
<fpage>25</fpage>&#x2013;
<lpage>29</lpage>, 
<year>2015</year>.</mixed-citation>
</ref>
<ref id="ref-10">
<label>[10]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>Y. E.</given-names> 
<surname>Mao</surname></string-name>, <string-name>
<given-names>G.</given-names> 
<surname>Stojanovski</surname></string-name> and <string-name>
<given-names>Y.</given-names> 
<surname>Jing</surname></string-name>
</person-group>, &#x201C;
<article-title>Sliding mode controller employing RBF-ANN for vehicle anti-lock braking system</article-title>,&#x201D; 
<source>Power Electronics &#x0026; Motion Control Conference</source>, vol. 
<volume>14</volume>, no. 
<issue>23</issue>, pp. 
<fpage>123</fpage>&#x2013;
<lpage>131</lpage>, 
<year>2010</year>.</mixed-citation>
</ref>
<ref id="ref-11">
<label>[11]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>L. C.</given-names> 
<surname>Hung</surname></string-name> and <string-name>
<given-names>H. Y.</given-names> 
<surname>Chung</surname></string-name>
</person-group>, &#x201C;
<article-title>Decoupled control using neural network-based sliding-mode controller for nonlinear systems</article-title>,&#x201D; 
<source>Expert Systems with Applications</source>, vol. 
<volume>32</volume>, no. 
<issue>4</issue>, pp. 
<fpage>1168</fpage>&#x2013;
<lpage>1182</lpage>, 
<year>2007</year>.</mixed-citation>
</ref>
<ref id="ref-12">
<label>[12]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>P. S.</given-names> 
<surname>De</surname></string-name>, <string-name>
<given-names>C.</given-names> 
<surname>Chatzikomis</surname></string-name> and <string-name>
<given-names>A.</given-names> 
<surname>Sorniotti</surname></string-name>
</person-group>, &#x201C;
<article-title>Comparison of traction controllers for electric vehicles with On-Board drivetrains</article-title>,&#x201D; 
<source>IEEE Transactions on Vehicular Technology</source>, vol. 
<volume>14</volume>, no. 
<issue>23</issue>, pp. 
<fpage>123</fpage>&#x2013;
<lpage>129</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-13">
<label>[13]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>J.</given-names> 
<surname>Su</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Sheng</surname></string-name>, <string-name>
<given-names>A. X.</given-names> 
<surname>Liu</surname></string-name> and <string-name>
<given-names>Y.</given-names> 
<surname>Chen</surname></string-name>
</person-group>, &#x201C;
<article-title>A partitioning approach to RFID identification</article-title>,&#x201D; 
<source>IEEE/ACM Transactions on Networking</source>, vol. 
<volume>28</volume>, no. 
<issue>5</issue>, pp. 
<fpage>2160</fpage>&#x2013;
<lpage>2173</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-14">
<label>[14]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>J.</given-names> 
<surname>Su</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Sheng</surname></string-name> and <string-name>
<given-names>Y.</given-names> 
<surname>Chen</surname></string-name>
</person-group>, &#x201C;
<article-title>Capture-aware identification of mobile RFID tags with unreliable channels</article-title>,&#x201D; 
<source>IEEE Transactions on Mobile Computing</source>, vol. 
<volume>56</volume>, no. 
<issue>12</issue>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>14</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-15">
<label>[15]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>X.</given-names> 
<surname>Li</surname></string-name>, <string-name>
<given-names>Y. L.</given-names> 
<surname>Li</surname></string-name> and <string-name>
<given-names>X. Y.</given-names> 
<surname>Chang</surname></string-name>
</person-group>, &#x201C;
<article-title>A nonlinear control algorithm for supercapacitor energy storage system based on precise linearization theory</article-title>,&#x201D; 
<source>Journal of Electrochemical and Technology</source>, vol. 
<volume>31</volume>, no. 
<issue>21</issue>, pp. 
<fpage>12</fpage>&#x2013;
<lpage>16</lpage>, 
<year>2016</year>.</mixed-citation>
</ref>
<ref id="ref-16">
<label>[16]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>X. T.</given-names> 
<surname>Feng</surname></string-name>, <string-name>
<given-names>L.</given-names> 
<surname>Zhang</surname></string-name> and <string-name>
<given-names>C. X.</given-names> 
<surname>Gao</surname></string-name>
</person-group>, &#x201C;
<article-title>Bidirectional DC/DC converter experimental platform with supercapacitor energy storage</article-title>,&#x201D; 
<source>Journal of Power Systems and Automation</source>, vol. 
<volume>30</volume>, no. 
<issue>8</issue>, pp. 
<fpage>145</fpage>&#x2013;
<lpage>150</lpage>, 
<year>2012</year>.</mixed-citation>
</ref>
<ref id="ref-17">
<label>[17]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>Q.</given-names> 
<surname>Ma</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Guo</surname></string-name>, <string-name>
<given-names>P.</given-names> 
<surname>Luo</surname></string-name> and <string-name>
<given-names>Z. W.</given-names> 
<surname>Zhang</surname></string-name>
</person-group>, &#x201C;
<article-title>Design of coordinated control strategy of new railway power regulator based on supercapacitor energy storage</article-title>,&#x201D; 
<source>Journal of Electrical Technology</source>, vol. 
<volume>34</volume>, no. 
<issue>4</issue>, pp. 
<fpage>765</fpage>&#x2013;
<lpage>776</lpage>, 
<year>2019</year>.</mixed-citation>
</ref>
<ref id="ref-18">
<label>[18]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>X. T.</given-names> 
<surname>Feng</surname></string-name>, <string-name>
<given-names>M. M.</given-names> 
<surname>Wan</surname></string-name>, <string-name>
<given-names>L. B.</given-names> 
<surname>Han</surname></string-name> and <string-name>
<given-names>L. X.</given-names> 
<surname>Wu</surname></string-name>
</person-group>, &#x201C;
<article-title>Power system control strategy of bidirectional DC/DC converter based on energy storage</article-title>,&#x201D; 
<source>Power Electronics Technology</source>, vol. 
<volume>51</volume>, no. 
<issue>7</issue>, pp. 
<fpage>8</fpage>&#x2013;
<lpage>19</lpage>, 
<year>2015</year>.</mixed-citation>
</ref>
<ref id="ref-19">
<label>[19]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>H.</given-names> 
<surname>Xia</surname></string-name>, <string-name>
<given-names>Z. P.</given-names> 
<surname>Yang</surname></string-name> and <string-name>
<given-names>X. Y.</given-names> 
<surname>Li</surname></string-name>
</person-group>, &#x201C;
<article-title>Control strategy of urban rail super-capacitor energy storage device based on train running state</article-title>,&#x201D; 
<source>Journal of Electrical Technology</source>, vol. 
<volume>32</volume>, no. 
<issue>21</issue>, pp. 
<fpage>16</fpage>&#x2013;
<lpage>23</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-20">
<label>[20]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>R. J.</given-names> 
<surname>Wai</surname></string-name>
</person-group>, &#x201C;
<article-title>Total sliding-mode controller for PM synchronous servo motor drive using recurrent fuzzy neural network</article-title>,&#x201D; 
<source>IEEE Transactions on Industrial Electronics</source>, vol. 
<volume>48</volume>, no. 
<issue>5</issue>, pp. 
<fpage>926</fpage>&#x2013;
<lpage>944</lpage>, 
<year>2001</year>.</mixed-citation>
</ref>
<ref id="ref-21">
<label>[21]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>F. J.</given-names> 
<surname>Lin</surname></string-name> and <string-name>
<given-names>P. H.</given-names> 
<surname>Shen</surname></string-name>
</person-group>, &#x201C;
<article-title>Robust fuzzy neural network sliding-mode control for two-axis motion control system</article-title>,&#x201D; 
<source>IEEE Transactions on Industrial Electronics</source>, vol. 
<volume>53</volume>, no. 
<issue>4</issue>, pp. 
<fpage>1209</fpage>&#x2013;
<lpage>1225</lpage>, 
<year>2006</year>.</mixed-citation>
</ref>
<ref id="ref-22">
<label>[22]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>S.</given-names> 
<surname>Hao</surname></string-name> and <string-name>
<given-names>H.</given-names> 
<surname>Aschemann</surname></string-name>
</person-group>, &#x201C;
<article-title>Sliding-mode control of a hydrostatic drive train with uncertain actuator dynamics</article-title>,&#x201D; 
<source>Control Conference</source>, vol. 
<volume>64</volume>, no. 
<issue>16</issue>, pp. 
<fpage>956</fpage>&#x2013;
<lpage>964</lpage>, 
<year>2013</year>.</mixed-citation>
</ref>
<ref id="ref-23">
<label>[23]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>B.</given-names> 
<surname>Gu</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Xiong</surname></string-name> and <string-name>
<given-names>Z.</given-names> 
<surname>Bai</surname></string-name>
</person-group>, &#x201C;
<article-title>Human action recognition based on supervised class-specific dictionary learning with deep convolutional neural network features</article-title>,&#x201D; 
<source>Computers Materials &#x0026; Continua</source>, vol. 
<volume>63</volume>, no. 
<issue>1</issue>, pp. 
<fpage>243</fpage>&#x2013;
<lpage>262</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-24">
<label>[24]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>M. D.</given-names> 
<surname>Bougrine</surname></string-name>, <string-name>
<given-names>A.</given-names> 
<surname>Benalia</surname></string-name> and <string-name>
<given-names>M.</given-names> 
<surname>Benbouzid</surname></string-name>
</person-group>, &#x201C;
<article-title>Nonlinear adaptive sliding mode control of a powertrain supplying fuel cell hybrid vehicle</article-title>,&#x201D; 
<source>International Conference on Systems &#x0026; Control</source>, vol. 
<volume>106</volume>, no. 
<issue>64</issue>, pp. 
<fpage>1203</fpage>&#x2013;
<lpage>1301</lpage>, 
<year>2013</year>.</mixed-citation>
</ref>
<ref id="ref-25">
<label>[25]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>W.</given-names> 
<surname>Yang</surname></string-name>, <string-name>
<given-names>J.</given-names> 
<surname>Li</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Peng</surname></string-name> and <string-name>
<given-names>A.</given-names> 
<surname>Deng</surname></string-name>
</person-group>, &#x201C;
<article-title>A rub-impact recognition method based on improved convolutional neural network</article-title>,&#x201D; 
<source>Computers Materials &#x0026; Continua</source>, vol. 
<volume>63</volume>, no. 
<issue>1</issue>, pp. 
<fpage>283</fpage>&#x2013;
<lpage>299</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-26">
<label>[26]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>J.</given-names> 
<surname>Su</surname></string-name>, <string-name>
<given-names>R.</given-names> 
<surname>Xu</surname></string-name>, <string-name>
<given-names>S.</given-names> 
<surname>Yu</surname></string-name>, <string-name>
<given-names>B.</given-names> 
<surname>Wang</surname></string-name> and <string-name>
<given-names>J.</given-names> 
<surname>Wang</surname></string-name>
</person-group>, &#x201C;
<article-title>Idle slots skipped mechanism based tag identification algorithm with enhanced collision detection</article-title>,&#x201D; 
<source>KSII Transactions on Internet and Information Systems</source>, vol. 
<volume>14</volume>, no. 
<issue>5</issue>, pp. 
<fpage>2294</fpage>&#x2013;
<lpage>2309</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-27">
<label>[27]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>M.</given-names> 
<surname>Ganesan</surname></string-name>, <string-name>
<given-names>D.</given-names> 
<surname>Ezhilarasi</surname></string-name> and <string-name>
<given-names>J.</given-names> 
<surname>Benni</surname></string-name>
</person-group>, &#x201C;
<article-title>Hybrid model reference adaptive second order sliding mode controller for automatic train operation</article-title>,&#x201D; 
<source>IET Control Theory &#x0026; Applications</source>, vol. 
<volume>11</volume>, no. 
<issue>8</issue>, pp. 
<fpage>1222</fpage>&#x2013;
<lpage>1233</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-28">
<label>[28]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>X.</given-names> 
<surname>Yao</surname></string-name>, <string-name>
<given-names>J. H.</given-names> 
<surname>Park</surname></string-name> and <string-name>
<given-names>H.</given-names> 
<surname>Dong</surname></string-name>
</person-group>, &#x201C;
<article-title>Robust adaptive nonsingular terminal sliding mode control for automatic train operation</article-title>,&#x201D; 
<source>IEEE Transactions on Systems Man &#x0026; Cybernetics Systems</source>, vol. 
<volume>64</volume>, no. 
<issue>99</issue>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>10</lpage>, 
<year>2018</year>.</mixed-citation>
</ref>
<ref id="ref-29">
<label>[29]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>G.</given-names> 
<surname>Yang</surname></string-name>, <string-name>
<given-names>J.</given-names> 
<surname>Zeng</surname></string-name> and <string-name>
<given-names>X.</given-names> 
<surname>Wang</surname></string-name>
</person-group>, &#x201C;
<article-title>Ott messages modeling and classification based on recurrent neural networks</article-title>,&#x201D; 
<source>Computers Materials &#x0026; Continua</source>, vol. 
<volume>63</volume>, no. 
<issue>2</issue>, pp. 
<fpage>769</fpage>&#x2013;
<lpage>785</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-30">
<label>[30]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>S.</given-names> 
<surname>Liu</surname></string-name> and <string-name>
<given-names>W.</given-names> 
<surname>Zhang</surname></string-name>
</person-group>, &#x201C;
<article-title>Application of the fuzzy neural network algorithm in the exploration of the agricultural products e-commerce path</article-title>,&#x201D; 
<source>Intelligent Automation &#x0026; Soft Computing</source>, vol. 
<volume>26</volume>, no. 
<issue>3</issue>, pp. 
<fpage>569</fpage>&#x2013;
<lpage>575</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-31">
<label>[31]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>Q. Y.</given-names> 
<surname>Wang</surname></string-name>, <string-name>
<given-names>W. U.</given-names> 
<surname>Peng</surname></string-name> and <string-name>
<given-names>X. Y.</given-names> 
<surname>Feng</surname></string-name>
</person-group>, &#x201C;
<article-title>An accurate stopping algorithm for urban rail transit based on adaptive terminal sliding mode control</article-title>,&#x201D; 
<source>Acta Railway Sinica</source>, vol. 
<volume>38</volume>, no. 
<issue>2</issue>, pp. 
<fpage>56</fpage>&#x2013;
<lpage>63</lpage>, 
<year>2016</year>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>