<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1087593</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2022.1087593</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Backstepping based real twisting sliding mode control for photovoltaic system</article-title>
<alt-title alt-title-type="left-running-head">Ullah et&#xa0;al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2022.1087593">10.3389/fenrg.2022.1087593</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Ullah</surname>
<given-names>Sahib</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Malik</surname>
<given-names>Sarmad Majeed</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1958039/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Sun</surname>
<given-names>Yingyun</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Numan</surname>
<given-names>Muhammad</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Asif</surname>
<given-names>Mansoor</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Hu</surname>
<given-names>Junjie</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Bodla</surname>
<given-names>Muhammad Kamran</given-names>
</name>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Electrical Engineering</institution>, <institution>College of Electrical and Mechanical Engineering (CEME)</institution>, <institution>National University of Sciences and Technology (NUST)</institution>, <addr-line>Islamabad</addr-line>, <country>Pakistan</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources</institution>, <institution>Department of Electrical Engineering</institution>, <institution>North China Electric Power University (NCEPU)</institution>, <addr-line>Beijing</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Department of Electrical Engineering</institution>, <institution>US-Pakistan Center for Advanced Studies in Energy (USPCAS-E)</institution>, <institution>National University of Sciences and Technology (NUST)</institution>, <addr-line>Islamabad</addr-line>, <country>Pakistan</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>Department of Electrical Engineering</institution>, <institution>School of Electrical Engineering and Computer Science (SEECS)</institution>, <institution>National University of Sciences and Technology (NUST)</institution>, <addr-line>Islamabad</addr-line>, <country>Pakistan</country>
</aff>
<aff id="aff5">
<sup>5</sup>
<institution>Department of Electrical Engineering</institution>, <institution>Shanghai Jiao Tong University (SJTU)</institution>, <addr-line>Shanghai</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1636452/overview">Carlos Guti&#xe9;rrez Hita</ext-link>, Miguel Hern&#xe1;ndez University of Elche, Spain</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1880191/overview">Amit Kumar</ext-link>, Thapar Institute of Engineering &#x26; Technology, India</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1882509/overview">Sahaj Saxena</ext-link>, Thapar Institute of Engineering &#x26; Technology, India</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Sarmad Majeed Malik, <email>sarmadmalik90@gmail.com</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Solar Energy, a section of the journal Frontiers in Energy Research</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>19</day>
<month>01</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>10</volume>
<elocation-id>1087593</elocation-id>
<history>
<date date-type="received">
<day>02</day>
<month>11</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>20</day>
<month>12</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Ullah, Malik, Sun, Numan, Asif, Hu and Bodla.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Ullah, Malik, Sun, Numan, Asif, Hu and Bodla</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Renewable energy sources tied to a utility grid require non-linear control algorithms to provide an efficient and stable output under different operating conditions. The maximum power point tracking (MPPT) approach is necessary for power generation due to non-linear behavior of photovoltaic (PV) power plants. In changing environmental and partial shading conditions, the standard MPPT methods may lead to abnormal results. In this paper, a backstepping based real twisting sliding mode MPPT control is proposed for the PV-battery system where maximum available power is extracted by tracking PV voltage. Moreover, a direct sliding mode control is proposed for battery-integrated buck boost converter for voltage regulation. Reference sliding surface is generated through linear interpolation based on the predicted maximum power point PV voltage. The proposed MPPT strategy is tested against variations of irradiance, temperature, and load. Simulation results highlight superior tracking performance, reduced chattering, and oscillations of this technique over existing models.</p>
</abstract>
<kwd-group>
<kwd>maximum power point tracking</kwd>
<kwd>lyapunov stability</kwd>
<kwd>DC bus voltage regulation</kwd>
<kwd>PV battery</kwd>
<kwd>converter</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>Renewable energy sources appear as the best solution for worldwide power shortage and environmental pollution. In particular, the focus is on solar as it offers inexhaustible, clean and free energy which is abundantly available at various parts of the world. The demand of photovoltaic (PV) is also increasing as solar energy is deployed for residential and industrial purposes (<xref ref-type="bibr" rid="B18">Rajabi&#xa0;et&#xa0;al.,&#xa0;2022</xref>). In this regard, the optimization of solar power generation is important as it reduces system operational cost and number of PV panels and improves system efficiency. This is achieved through maximum power point tracking (MPPT) algorithm that ensures maximum output PV power under varying conditions (<xref ref-type="bibr" rid="B14">Millah&#xa0;et&#xa0;al.,&#xa0;2021</xref>).</p>
<p>With an increased rate of utilization of PV, researchers have focused on developing new MPPT techniques to extract maximum power from the PV system. Different MPPT methodologies have been introduced which can be broadly categorized as metaheuristic optimization, control law based MPPT, and machine learning based MPPT techniques. Machine learning based radial basis function neural network (RBNN) has been proposed in (<xref ref-type="bibr" rid="B13">Khan&#xa0;et&#xa0;al.,&#xa0;2021</xref>), which has a fast convergence but cannot accommodate continuous chattering as neural network needs continuous training. Genetic algorithm (GA) based MPPT with an artificial neural network (ANN) has also been proposed for MPPT which demonstrated reasonable tracking speed and DC power output (<xref ref-type="bibr" rid="B5">Ali&#xa0;et&#xa0;al.,&#xa0;2018</xref>). However, this technique is difficult to implement due to complexity arising from increased system dynamics. ANN based MPPT approach for PV electric vehicle is studied in (<xref ref-type="bibr" rid="B8">Bhatia&#xa0;et&#xa0;al.,&#xa0;2020</xref>) where open circuit voltage and temperature of solar cell were used as input variables while MPP voltage was the output variable. In addition to ANN and GA, fuzzy logic controller is also used for PV systems which is relatively easy to design since knowledge of an accurate MPPT model is not required (<xref ref-type="bibr" rid="B10">Dehghani&#xa0;et&#xa0;al.,&#xa0;2021</xref>). However, continuous training and high-error susceptibility are major issues. Conventional perturb and observe (P<italic>&#x26;</italic>O) strategy is also used for MPPT control due to its fast convergence and simplicity (<xref ref-type="bibr" rid="B2">Ahmed and Salam,&#xa0;2018</xref>). In general, machine learning MPPT techniques achieve high efficiency, fast convergence and reduced oscillations but are costly and computationally extensive. Moreover, the systems cannot capture partial shading condition (PSC) under global MPP.</p>
<p>To deal with the issue of PSC, bio-inspired metaheuristic optimization based techniques are employed. Shuffled frog algorithm has been proposed in (<xref ref-type="bibr" rid="B3">Aldosary&#xa0;et&#xa0;al.,&#xa0;2021</xref>) to address this anomaly and improve MPPT controller for battery integrated PV system but the technique is inefficient under rapidly changing atmospheric conditions. Hybrid whale optimization algorithm has been discussed in some literature which has a high efficiency but it requires accurate data set and works for finite time limits (<xref ref-type="bibr" rid="B22">Tao&#xa0;et&#xa0;al.,&#xa0;2021</xref>). Although the metaheuristic techniques have various advantages, none of these optimizers address optimization problem with different constraints (<xref ref-type="bibr" rid="B20">Shams&#xa0;et&#xa0;al.,&#xa0;2021</xref>). In fact, existing research has examined the optimizers for a single or few patterns of irradiance without comprehensive statistical analysis. For instance, the gray wolf optimizer in (<xref ref-type="bibr" rid="B12">Jegha&#xa0;et&#xa0;al.,&#xa0;2020</xref>) has shown tracking accuracy under a certain set of irradiance while the impact of temperature is neglected. Dragonfly and adaptive cuckoo search optimization are presented in (<xref ref-type="bibr" rid="B15">Mirza&#xa0;et&#xa0;al.,&#xa0;2019</xref>) where variations are proposed to reference voltage for rapid global convergence among multiple PV systems. The performance of all metaheuristic optimization-based MPPT strategies is dependent on population size, number of iterations, convergence speed and effectiveness of the information sharing method.</p>
<p>Closed-loop MPPT control strategies aim to overcome the shortcoming of computational complexity offered by metaheuristic optimization techniques. Non-linear closed-loop schemes have been widely used in PV systems. A robust non-linear backstepping controller (BSC) for MPPT tracking is analyzed in (<xref ref-type="bibr" rid="B4">Ali&#xa0;et&#xa0;al.,&#xa0;2020</xref>), which relies on reference power generation through neuro-fuzzy approach. This system is designed for a single irradiance value and requires re-training as irradiance changes. A similar technique is discussed in (<xref ref-type="bibr" rid="B6">Awais&#xa0;et&#xa0;al.,&#xa0;2020</xref>) where the non-linear controller is linearized for a certain field data. However, this scheme is infeasible for practical PV systems which experience constantly changing environmental conditions. Sliding mode control (SMC) is one of the widely employed non-linear closed-loop method which offers various advantages such as disturbance rejection, parameter variation insensitivity and decoupled design (<xref ref-type="bibr" rid="B1">Aguilar&#xa0;et&#xa0;al.,&#xa0;2019</xref>). SMC can overcome the issue of uncertainty limits to an extent. In the presence of large uncertainties, controller gain has to be increased which enhances chattering effect (<xref ref-type="bibr" rid="B21">Skik and Abbou,&#xa0;2016</xref>). Backstepping terminal sliding mode (BTSM) controller is discussed in (<xref ref-type="bibr" rid="B7">Behih and Attoui,&#xa0;2021</xref>) to extract maximum power of PV system. However, it can only track MPPT curve and fails to provide controlled compensation to variations in irradiance and temperature. Non-linear control law based double integral sliding mode controller is studied in (<xref ref-type="bibr" rid="B17">Pradhan and Subudhi,&#xa0;2016</xref>) which reduces the steady state error of MPPT through an integral component. This error reduction is at the expense of distorted transient response with increased chattering. Second order sliding mode MPPT controller has also been studied in some literature but it generates inaccurate reference current and hence, an inaccurate optimal power extraction (<xref ref-type="bibr" rid="B16">Peng&#xa0;et&#xa0;al.,&#xa0;2019</xref>). A comparison of these control techniques is highlighted in <xref ref-type="table" rid="T1">Table&#xa0;1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Comparison of control schemes of PV system.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Method</th>
<th align="center">Operating Principle</th>
<th colspan="3" align="center">Main Features</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left"/>
<td align="left"/>
<td align="center">Chattering</td>
<td align="center">Closed loop</td>
<td align="center">DC bus</td>
</tr>
<tr>
<td align="left"/>
<td align="left"/>
<td align="center">analyzed</td>
<td align="center">Lyapunov Stability</td>
<td align="center">regulation</td>
</tr>
<tr>
<td align="left">
<xref ref-type="bibr" rid="B2">Ahmed and Salam,&#xa0;(2018)</xref>
</td>
<td align="center">Perturb and observe (P<italic>&#x26;</italic>O)</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="left">
<xref ref-type="bibr" rid="B4">Ali&#xa0;et&#xa0;al.&#xa0;(2020)</xref>
</td>
<td align="center">Non-linear backstepping controller (BSC)</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="left"/>
</tr>
<tr>
<td align="left">
<xref ref-type="bibr" rid="B7">Behih and Attoui,&#xa0;(2021)</xref>
</td>
<td align="center">Backstepping terminal sliding mode (BTSM)</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="left"/>
</tr>
<tr>
<td align="left">Proposed scheme</td>
<td align="center">Backstepping Control with real twisting</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>This paper presents a robust non-linear backstepping based real twisting sliding mode control for MPP tracking in PV battery systems. In the proposed scheme, the regression plane is generated by the predicted maximum power point voltage using linear interpolation which gives high accuracy. Contrary to other autonomous schemes which deploy droop control for DC bus voltage regulation, in this paper, a direct sliding mode control is proposed which helps regulate voltage under varying irradiance, temperature and loads. The system topology consisting of PV, battery, boost, and buck-boost converter is simulated and analyzed in MATLAB where it is observed that the proposed scheme has a good tracking with reduced overshoot, chattering and settling time. The optimal performance of the proposed control is also highlighted in comparison with other well-established control strategies.</p>
<p>The rest of the paper is organized as follows: <xref ref-type="sec" rid="s2">Section&#xa0;2</xref> discusses the system topology and converter control. <xref ref-type="sec" rid="s3">Section&#xa0;3</xref> presents back stepping based real twisting sliding mode control while the power management and parameter design are analyzed in <xref ref-type="sec" rid="s4">Section&#xa0;4</xref>. Simulation results and discussion are given in <xref ref-type="sec" rid="s5">Section&#xa0;5</xref>, followed by conclusion in <xref ref-type="sec" rid="s6">Section&#xa0;6</xref>.</p>
</sec>
<sec id="s2">
<title>2 System topology and converter control</title>
<p>The system topology consists of PV module and battery linked to DC bus <italic>via</italic> buck-boost converters. This is shown in <xref ref-type="fig" rid="F1">Figure&#xa0;1</xref>. The battery buck-boost converter is bidirectional and can operate in either buck or boost mode depending on the current drawn from the source. It consists of two loops: an outer voltage control loop with PI controller and an inner current control using SMC. This helps regulate the DC bus voltage. Linear interpolation-based regression plane is employed to generate the reference voltage signal for PV. The modeling of PV and buck-boost converters along with the control schemes are discussed as follows.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Photovoltaic battery connected system under consideration.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g001.tif"/>
</fig>
<sec id="s2-1">
<title>2.1 PV module modeling</title>
<p>The PV module consists of solar cells connected in series and parallel. Series connection gives the required voltage output while parallel connection increases output current. Different models of solar cells are used in PV system such as single diode, double diode and three diode model. Single diode model is commonly used due to its simplicity while double and three diode models are treated as industrial models and are used for specific applications. In this paper, single diode model is considered which is shown in <xref ref-type="fig" rid="F2">Figure&#xa0;2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Single diode mode.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g002.tif"/>
</fig>
<p>The current produced in the solar cell is directly proportional to light intensity and the output current of PV can be expressed as (<xref ref-type="bibr" rid="B11">Ibrahim and Anani,&#xa0;2017</xref>):<disp-formula id="e1">
<mml:math id="m1">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(1)</label>
</disp-formula>The output voltage <italic>V</italic> of the module is the product of voltage of single cell and the number of cells. Thus, the short circuit current is given as:<disp-formula id="e2">
<mml:math id="m2">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">SCM</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>1000</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">STC</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(2)</label>
</disp-formula>where a positive value of <italic>K</italic>
<sub>
<italic>i</italic>
</sub> indicates an increase in short circuit current with temperature. The open circuit voltage of PV is expressed as:<disp-formula id="e3">
<mml:math id="m3">
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">OCM</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">STC</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>ln</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">SCM</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(3)</label>
</disp-formula>where a negative value of <italic>K</italic>
<sub>
<italic>v</italic>
</sub> indicates that as the temperature rises, the open circuit voltage decreases. The maximum current and voltage of solar cell array is represented as (<xref ref-type="bibr" rid="B11">Ibrahim and Anani,&#xa0;2017</xref>):<disp-formula id="e4">
<mml:math id="m4">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>1000</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">STC</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m5">
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>ln</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>The PV panel characteristic for different values of temperature and irradiance is shown in <xref ref-type="fig" rid="F3">Figures&#xa0;3</xref>, <xref ref-type="fig" rid="F4">4</xref>, respectively. It can be observed that the output current marginally rises with increasing temperature. However, the open circuit voltage drops. Irradiation variations have a significant impact on the short circuit voltage but a negligible impact on the open circuit voltage. The oscillation of the MPP is therefore dependent on solar irradiation (<xref ref-type="bibr" rid="B19">Rehman&#xa0;et&#xa0;al.,&#xa0;2020</xref>).</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>PV Curve with temperature variations.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g003.tif"/>
</fig>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>PV Curve with irradiance variations.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g004.tif"/>
</fig>
</sec>
<sec id="s2-2">
<title>2.2 Buck boost converter modeling</title>
<p>From inductor volt second balance and capacitor charge balance, we have:<disp-formula id="e6">
<mml:math id="m6">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3bc;</mml:mi>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m7">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3bc;</mml:mi>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m8">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3bc;</mml:mi>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m9">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(9)</label>
</disp-formula>The input and output resistance of converter <italic>R</italic>
<sub>
<italic>in</italic>
</sub> and <italic>R</italic>
<sub>
<italic>L</italic>
</sub> follow the relation:<disp-formula id="e10">
<mml:math id="m10">
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(10)</label>
</disp-formula>Averaging across a switching period yields state space equations for control design as:<disp-formula id="e11">
<mml:math id="m11">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3bc;</mml:mi>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m12">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3bc;</mml:mi>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="e13">
<mml:math id="m13">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3bc;</mml:mi>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
</sec>
</sec>
<sec id="s3">
<title>3 Proposed backstepping based real twisting sliding mode control</title>
<p>The first step in controller design involves calculations of error between actual and desired PV output voltage. Thus, <italic>&#x25b;</italic>
<sub>1</sub> defined as the difference between actual and expected output voltage of a solar PV system:<disp-formula id="e14">
<mml:math id="m14">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(14)</label>
</disp-formula>where <italic>&#x3b1;</italic>
<sub>1<italic>ref</italic>
</sub> is the reference PV voltage. Combining <xref ref-type="disp-formula" rid="e11">(11)</xref> and <xref ref-type="disp-formula" rid="e14">(14)</xref>, we have:<disp-formula id="e15">
<mml:math id="m15">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(15)</label>
</disp-formula>To reduce error signal to zero, we need to treat <italic>&#x3b1;</italic>
<sub>2</sub> as a virtual control input which should satisfy Lyapunov stability theory. Thus, the time derivative of Lyapunov term <inline-formula id="inf1">
<mml:math id="m16">
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> along with <xref ref-type="disp-formula" rid="e15">(15)</xref> leads to:<disp-formula id="e16">
<mml:math id="m17">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(16)</label>
</disp-formula>
<disp-formula id="e17">
<mml:math id="m18">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(17)</label>
</disp-formula>The constant <italic>K</italic>
<sub>1</sub> in <xref ref-type="disp-formula" rid="e17">(17)</xref> must be a positive constant for any specific <italic>x</italic>
<sub>2</sub>. Hence, <xref ref-type="disp-formula" rid="e16">(16)</xref> can be rewritten as:<disp-formula id="e18">
<mml:math id="m19">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(18)</label>
</disp-formula>The stabilization function acts as a reference for <italic>x</italic>
<sub>2</sub> as:<disp-formula id="e19">
<mml:math id="m20">
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(19)</label>
</disp-formula>The second state needs a new reference for further tracking. In this regard, <inline-formula id="inf2">
<mml:math id="m21">
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is chosen as the new reference and the tracking error can be defined as:<disp-formula id="e20">
<mml:math id="m22">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
<label>(20)</label>
</disp-formula>Solving <xref ref-type="disp-formula" rid="e16">(16)</xref> and <xref ref-type="disp-formula" rid="e19">(19)</xref> leads to:<disp-formula id="e21">
<mml:math id="m23">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(21)</label>
</disp-formula>Substituting <xref ref-type="disp-formula" rid="e19">(19)</xref> in <xref ref-type="disp-formula" rid="e21">(21)</xref>, we have:<disp-formula id="e22">
<mml:math id="m24">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(22)</label>
</disp-formula>Differentiating <xref ref-type="disp-formula" rid="e20">(20)</xref> with respect to time leads to:<disp-formula id="e23">
<mml:math id="m25">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>Therefore, the time derivative of <inline-formula id="inf3">
<mml:math id="m26">
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> can also be calculated as:<disp-formula id="e24">
<mml:math id="m27">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(24)</label>
</disp-formula>where <inline-formula id="inf4">
<mml:math id="m28">
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. By multiplying and dividing by <italic>&#x3bc;</italic>, <xref ref-type="disp-formula" rid="e24">(24)</xref> can be expressed as:<disp-formula id="e25">
<mml:math id="m29">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>&#xa8;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(25)</label>
</disp-formula>To ensure convergence of errors <italic>&#x25b;</italic>
<sub>1</sub> and <italic>&#x25b;</italic>
<sub>2</sub> to zero, a composite Lyapunov function <italic>V</italic>
<sub>
<italic>c</italic>
</sub> is defined as:<disp-formula id="e26">
<mml:math id="m30">
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(26)</label>
</disp-formula>The time derivative of <italic>V</italic>
<sub>
<italic>c</italic>
</sub> is given as:<disp-formula id="e27">
<mml:math id="m31">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(27)</label>
</disp-formula>For <italic>V</italic>
<sub>
<italic>c</italic>
</sub> to be negative, let:<disp-formula id="e28">
<mml:math id="m32">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(28)</label>
</disp-formula>which can be expanded as:<disp-formula id="e29">
<mml:math id="m33">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>&#xa8;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(29)</label>
</disp-formula>Thus, the backstepping based equivalent control law becomes:<disp-formula id="e30">
<mml:math id="m34">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>&#xa8;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(30)</label>
</disp-formula>This control law modifies <xref ref-type="disp-formula" rid="e27">(27)</xref> to an alternate form as:<disp-formula id="e31">
<mml:math id="m35">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(31)</label>
</disp-formula>where 0 &#x3c; <italic>&#x3bc;</italic> &#x3c; 1 and <italic>&#x3b1;</italic>
<sub>2<italic>ref</italic>
</sub> &#x2260; 0.</p>
<p>From <xref ref-type="disp-formula" rid="e31">(31)</xref>, it can be observed that the derivative of Lyapunov function is negative definite. Therefore, the design of proposed controller is globally asymptotically stable.</p>
<p>The Real twisting sliding mode-based discontinuous control Law is designed as (<xref ref-type="bibr" rid="B9">Bjaoui et al., 2019</xref>):<disp-formula id="e32">
<mml:math id="m36">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(32)</label>
</disp-formula>The modified control law is used for mitigating chattering effect in higher order non-linear system. The proposed backstepping based real twisting sliding mode control law, is given as:<disp-formula id="e33">
<mml:math id="m37">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mo>&#xa8;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(33)</label>
</disp-formula>The proposed algorithm in this paper uses a continuous control function that drives the sliding variable and its derivative to zero in finite time. By twisting the state trajectories around the origin, convergence independent of constrained perturbations is achieved that retains good performance despite variations and uncertainties. The flow chart of algorithm is shown in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Flow chart of proposed BRTA algorithm.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g005.tif"/>
</fig>
</sec>
<sec id="s4">
<title>4 Power flow management</title>
<p>Bidirectional buck-boost converters can operate in buck mode or boost mode depending on the power flow direction. Two control modes need to be deployed to operate the converter in desired mode of operation and based on the battery current direction, required mode should be triggered. It is worth mentioning that the objective of both modes is to regulate DC bus voltage.</p>
<p>In the battery control, outer voltage loop produces the current reference for inner current control. Assuming negligible losses in the system, the dc current can be expressed as:<disp-formula id="e34">
<mml:math id="m38">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">load</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(34)</label>
</disp-formula>Battery current <italic>I</italic>
<sub>
<italic>BESS</italic>
</sub> is used to regulate <italic>I</italic>
<sub>
<italic>dc</italic>
</sub> to its reference <italic>I</italic>
<sub>
<italic>dc</italic>,<italic>ref</italic>
</sub>. Hence, <xref ref-type="disp-formula" rid="e34">(34)</xref> can be written as:<disp-formula id="e35">
<mml:math id="m39">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS,ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">load</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(35)</label>
</disp-formula>The sliding surface for the inner current loop of battery controller is chosen as:<disp-formula id="e36">
<mml:math id="m40">
<mml:mi>&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS,ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(36)</label>
</disp-formula>The battery current and DC bus voltages reach their reference values in a finite time. Correspondingly, SMC controls PWM signal which is used in buck and boost modes.</p>
<sec id="s4-1">
<title>4.1 Buck mode operation</title>
<p>The duty cycle in the buck mode can be expressed as:<disp-formula id="e37">
<mml:math id="m41">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Buck</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(37)</label>
</disp-formula>The battery current is given as:<disp-formula id="e38">
<mml:math id="m42">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Buck</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="0.22em"/>
<mml:mo>;</mml:mo>
<mml:mspace width="0.22em"/>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
<label>(38)</label>
</disp-formula>Considering <xref ref-type="disp-formula" rid="e36">(36)</xref> and <xref ref-type="disp-formula" rid="e37">(37)</xref> with <italic>&#x3bc;</italic>
<sub>
<italic>Buck</italic>
</sub> &#x3d; 0, <italic>&#x3b4;</italic> &#x3e; 0, we have:<disp-formula id="e39">
<mml:math id="m43">
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS,ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(39)</label>
</disp-formula>When <italic>&#x3b4;</italic> &#x3c; 0 and <italic>&#x3bc;</italic>
<sub>
<italic>Buck</italic>
</sub> &#x3d; 1, we have:<disp-formula id="e40">
<mml:math id="m44">
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS,ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(40)</label>
</disp-formula>Thus, the sliding surface <italic>&#x3b4;</italic> &#x3d; 0 is finite time attractive.</p>
</sec>
<sec id="s4-2">
<title>4.2 Boost mode operation</title>
<p>The duty cycle in the boost mode is given as:<disp-formula id="e41">
<mml:math id="m45">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Boost</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(41)</label>
</disp-formula>while the battery current is:<disp-formula id="e42">
<mml:math id="m46">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Boost</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(42)</label>
</disp-formula>Considering <xref ref-type="disp-formula" rid="e36">(36)</xref> and <xref ref-type="disp-formula" rid="e41">(41)</xref> with <italic>&#x3bc;</italic>
<sub>
<italic>Boost</italic>
</sub> &#x3d; 0, <italic>&#x3b4;</italic> &#x3c; 0, we have:<disp-formula id="e43">
<mml:math id="m47">
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS,ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(43)</label>
</disp-formula>When <italic>&#x3b4;</italic> &#x3e; 0 and <italic>&#x3bc;</italic>
<sub>
<italic>Boost</italic>
</sub> &#x3d; 1, we have:<disp-formula id="e44">
<mml:math id="m48">
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS,ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">BESS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(44)</label>
</disp-formula>For sliding mode to exist in <xref ref-type="disp-formula" rid="e36">(36)</xref>, the sliding condition <inline-formula id="inf5">
<mml:math id="m49">
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
</inline-formula> must be satisfied for both buck and boost modes.</p>
</sec>
<sec id="s4-3">
<title>4.3 Parameter design of unidirectional buck-boost converter</title>
<p>The duty cycle of buck-boost converter is dependent on input and output voltage as:<disp-formula id="e45">
<mml:math id="m50">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">buck&#x2212;boost</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(45)</label>
</disp-formula>The value of inductor <italic>L</italic> can be derived from switching time period <italic>T</italic>, voltage drop across diode <italic>V</italic>
<sub>
<italic>d</italic>1</sub> and output current <italic>I</italic>
<sub>
<italic>out</italic>
</sub> as:<disp-formula id="e46">
<mml:math id="m51">
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(46)</label>
</disp-formula>The value of capacitance <italic>C</italic> is obtained as:<disp-formula id="e47">
<mml:math id="m52">
<mml:mi>C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>100</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>T</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(47)</label>
</disp-formula>
</p>
</sec>
<sec id="s4-4">
<title>4.4 Parameter design of bidirectional buck-boost converter</title>
<p>For non-inverting buck-boost converters, the model is designed to work in continuous conduction mode (CCM). Since the converter has two modes of operation, the design is identical to buck and boost converters.</p>
<p>The minimum value of inductance to ensure CCM operation, for both buck and boost modes, is calculated as:<disp-formula id="e48">
<mml:math id="m53">
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(48)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e48">(48)</xref>, a value of 33 is used for <italic>&#x3bc;</italic> which corresponds to maximum value solution and maintains CCM. The dc bus capacitor filters the ripples in voltage and its value is selected as:<disp-formula id="e49">
<mml:math id="m54">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(49)</label>
</disp-formula>The size of battery capacitor can be determined as:<disp-formula id="e50">
<mml:math id="m55">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(50)</label>
</disp-formula>
</p>
</sec>
</sec>
<sec sec-type="results|discussion" id="s5">
<title>5 Simulation results and discussion</title>
<p>To analyze the proposed control scheme, the system in <xref ref-type="fig" rid="F1">Figure&#xa0;1</xref> is built in Simulink. The DC bus voltage is 200&#xa0;V while the PV system has maximum power rating of 25&#xa0;kW with solar irradiance 1000&#xa0;W/m<sup>2</sup> and operating temperature of 298K/25&#xb0;C. The system parameters are obtained from <xref ref-type="disp-formula" rid="e45">(45</xref>&#x2013;<xref ref-type="disp-formula" rid="e50">50)</xref> and are highlighted in <xref ref-type="table" rid="T2">Table&#xa0;2</xref> where (<italic>K</italic>
<sub>1</sub>, <italic>K</italic>
<sub>2</sub>, <italic>K</italic>
<sub>3</sub>, <italic>K</italic>
<sub>4</sub>, <italic>K</italic>
<sub>5</sub>) are gains of BRTA while (<italic>K</italic>
<sub>6</sub>, <italic>K</italic>
<sub>7</sub>) are gains of SMC, respectively.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>System parameters and initial conditions.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameter</th>
<th align="center">Value</th>
<th align="center">Parameter</th>
<th align="center">Value</th>
<th align="center">Parameter</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<italic>I</italic>
<sub>
<italic>m</italic>
</sub>
</td>
<td align="center">15.16&#xa0;A</td>
<td align="center">
<italic>V</italic>
<sub>
<italic>m</italic>
</sub>
</td>
<td align="center">102.6&#xa0;V</td>
<td align="center">
<italic>N</italic>
<sub>
<italic>s</italic>
</sub>
</td>
<td align="center">4</td>
</tr>
<tr>
<td align="center">
<italic>N</italic>
<sub>
<italic>p</italic>
</sub>
</td>
<td align="center">4</td>
<td align="center">
<italic>I</italic>
<sub>
<italic>sc</italic>
</sub>
</td>
<td align="center">17.56&#xa0;A</td>
<td align="center">
<italic>V</italic>
<sub>
<italic>oc</italic>
</sub>
</td>
<td align="center">165.5&#xa0;V</td>
</tr>
<tr>
<td align="center">
<italic>P</italic>
<sub>max</sub>
</td>
<td align="center">1.55&#xa0;kW</td>
<td align="center">
<italic>C</italic>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="center">0.5&#xa0;mF</td>
<td align="center">
<italic>C</italic>
<sub>
<italic>out</italic>
</sub>
</td>
<td align="center">2.5&#xa0;mF</td>
</tr>
<tr>
<td align="center">
<italic>f</italic>
<sub>
<italic>s</italic>
</sub>
</td>
<td align="center">5&#xa0;kHz</td>
<td align="center">
<italic>K</italic>
<sub>1</sub>
</td>
<td align="center">10.25</td>
<td align="center">
<italic>K</italic>
<sub>2</sub>
</td>
<td align="center">123,351</td>
</tr>
<tr>
<td align="center">
<italic>K</italic>
<sub>3</sub>
</td>
<td align="center">452,535</td>
<td align="center">
<italic>K</italic>
<sub>4</sub>
</td>
<td align="center">14,523</td>
<td align="center">
<italic>K</italic>
<sub>5</sub>
</td>
<td align="center">0009</td>
</tr>
<tr>
<td align="center">
<italic>V</italic>
<sub>
<italic>b</italic>
</sub>
</td>
<td align="center">100&#xa0;V</td>
<td align="center">
<italic>C</italic>
<sub>
<italic>b</italic>
</sub>
</td>
<td align="center">4.5&#xa0;<italic>&#x3bc;</italic>F</td>
<td align="center">
<italic>C</italic>
<sub>
<italic>bus</italic>
</sub>
</td>
<td align="center">0.3&#xa0;<italic>&#x3bc;</italic>F</td>
</tr>
<tr>
<td align="center">
<italic>L</italic>
<sub>1</sub>
</td>
<td align="center">4&#xa0;&#x3a9;</td>
<td align="center">
<italic>L</italic>
<sub>2</sub>
</td>
<td align="center">5&#xa0;&#x3a9;</td>
<td align="center">
<italic>K</italic>
<sub>6</sub>
</td>
<td align="center">45,255</td>
</tr>
<tr>
<td align="center">
<italic>K</italic>
<sub>7</sub>
</td>
<td align="center">12,225</td>
<td align="center">
<italic>L</italic>
<sub>min</sub>
</td>
<td align="center">20&#xa0;mH</td>
<td align="center">
<italic>R</italic>
<sub>
<italic>out</italic>
</sub>
</td>
<td align="center">100&#xa0;&#x3a9;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The PV panel regression plane is shown in <xref ref-type="fig" rid="F6">Figure&#xa0;6</xref>. It provides a reference voltage for the non-linear controller to achieve MPP under fluctuating temperature and irradiance conditions. The PV module characteristic curve is used to build the <italic>V</italic>
<sub>
<italic>mpp</italic>
</sub> matrix for various temperature and irradiance levels. The regression plane is obtained <italic>via</italic> linear interpolation, which gives the reference voltage, <italic>&#x3b1;</italic>
<sub>1<italic>ref</italic>
</sub>, to the controller. To achieve MPP, the backstepping based real twisting controller follows reference voltage <italic>&#x3b1;</italic>
<sub>1<italic>ref</italic>
</sub> as:<disp-formula id="e51">
<mml:math id="m56">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>579.81</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1.9899</mml:mn>
<mml:mi>T</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.12146</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(51)</label>
</disp-formula>
</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Regression plane.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g006.tif"/>
</fig>
<p>At initial steady state, PV panel is producing 25&#xa0;kW and load power consumption is 10&#xa0;kW. The battery is in charging mode with 15&#xa0;kW. The control law in <xref ref-type="disp-formula" rid="e33">(33)</xref> determines the desired PV voltage while BRTA extracts maximum power point by tracking the desired PV voltage obtained by linear regression method. System performance is studied through the following changes.<list list-type="simple">
<list-item>
<p>1) The irradiance of PV panel varies from 1000&#xa0;W/m<sup>2</sup> to 850&#xa0;W/m<sup>2</sup> at t &#x3d; 1&#xa0;s.</p>
</list-item>
<list-item>
<p>2) The PV temperature is increased from 25&#xb0;C to 45&#xb0;C at t &#x3d; 2&#xa0;s.</p>
</list-item>
<list-item>
<p>3) Simultaneous change of temperature and irradiance is observed at t &#x3d; 3&#xa0;s. In this regard, temperature is raised from 45&#xb0;C to 65&#xb0;C and irradiance drops from 850&#xa0;W/m<sup>2</sup> to 650&#xa0;W/m<sup>2</sup>.</p>
</list-item>
<list-item>
<p>4) The PV system load is increased by 8&#xa0;kW at t &#x3d; 4&#xa0;s.</p>
</list-item>
</list>
</p>
<sec id="s5-1">
<title>5.1 Change in irradiance</title>
<p>The suggested MPPT controller&#x2019;s performance is first validated using an irradiance variation. At t &#x3d; 1&#xa0;s, the irradiance of PV panel is reduced from 1000&#xa0;W/m<sup>2</sup> to 850&#xa0;W/m<sup>2</sup>. Following this change, the PV power falls from 25&#xa0;kW to 23&#xa0;kW which can also be confirmed from product of <xref ref-type="disp-formula" rid="e4">(4)</xref> and <xref ref-type="disp-formula" rid="e5">(5)</xref>. This is shown in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref>. Since the load is constant, the active power used to charge battery changes from 15&#xa0;kW to 13&#xa0;kW. It should be noted that the negative power in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref> signifies charging operation of battery.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Power profiles of battery, load, and PV.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g007.tif"/>
</fig>
<p>Based on the measured values of temperature and irradiance, the reference PV voltage waveform is shown in <xref ref-type="fig" rid="F8">Figure&#xa0;8</xref>. It can be seen from <xref ref-type="fig" rid="F9">Figure&#xa0;9</xref> that the proposed controller successfully tracks the reference voltage during irradiance variation. In this regard, the settling time is 005&#xa0;s and rise time is 003&#xa0;s. The system has a good dc bus voltage regulation at 200&#xa0;V which is highlighted in <xref ref-type="fig" rid="F10">Figure&#xa0;10</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Maximum peak power reference voltage.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g008.tif"/>
</fig>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>PV voltage tracking.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g009.tif"/>
</fig>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>DC bus voltage variation.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g010.tif"/>
</fig>
</sec>
<sec id="s5-2">
<title>5.2 Change in temperature</title>
<p>The PV system observes a temperature variation from 25&#xb0;C to 45&#xb0;C at t &#x3d; 2&#xa0;s. As shown in <xref ref-type="fig" rid="F3">Figure&#xa0;3</xref>, for the same voltage, the power produced by PV decreases with increase in temperature. This is highlighted in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref> where the PV power reduces by 3&#xa0;kW. Correspondingly, the battery overcomes the power shortage to the load by discharging 3&#xa0;kW and maintaining constant load power. During this change, the proposed controller is constantly tracking the reference PV voltage with reduced chattering and fast convergence as highlighted in <xref ref-type="fig" rid="F9">Figure&#xa0;9</xref>. It can also be observed from <xref ref-type="fig" rid="F10">Figure&#xa0;10</xref> that the voltage variations of DC bus are minimal, signifying good performance of the scheme.</p>
</sec>
<sec id="s5-3">
<title>5.3 Simultaneous change in temperature and irradiance</title>
<p>The PV system can also experience simultaneous variations in temperature and irradiance and this scenario is simulated at t &#x3d; 3&#xa0;s. At this instant, temperature increases from 45&#xb0;C to 65&#xb0;C while irradiance decreases from 850&#xa0;W/m<sup>2</sup> to 650&#xa0;W/m<sup>2</sup>. These variations have a combined effect of reducing the PV power from 20&#xa0;kW to 14&#xa0;kW as apparent from preceding discussion and shown in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref>. Since the load is constant, the battery discharges to ensure same power supply to load. The reference PV voltage variation is shown in <xref ref-type="fig" rid="F8">Figure&#xa0;8</xref> where it can be observed that the temperature and irradiance variations force the reference voltage to change from 387&#xa0;V to 372&#xa0;V. The controller maintains its voltage tracking capability with minimum overshoot. Moreover, the DC bus voltage is still maintained at reference value. This is given in <xref ref-type="fig" rid="F9">Figures&#xa0;9</xref>, <xref ref-type="fig" rid="F10">10</xref>.</p>
</sec>
<sec id="s5-4">
<title>5.4 Change in load</title>
<p>At t &#x3d; 4&#xa0;s, the load of the PV system is increased by 8&#xa0;kW. During this change, the irradiance and temperature are kept constant and hence, the PV output power is maintained at 14&#xa0;kW. To satisfy the new load, battery discharging power rises by 8&#xa0;kW. This is evident from <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref>. As shown in <xref ref-type="fig" rid="F8">Figure&#xa0;8</xref>, the reference generated PV voltage by controller remains same as there is no change in temperature and irradiance. The controller is successfully tracking the PV voltage highlighted in <xref ref-type="fig" rid="F9">Figure&#xa0;9</xref>. The reference dc bus voltage profile observes a sharp dip of around 1&#xa0;V which is well-within the voltage regulation limit. This is shown in <xref ref-type="fig" rid="F10">Figure&#xa0;10</xref>. All the simulated scenarios highlight the optimal performance of the control scheme under different conditions of temperature, irradiance and load.</p>
</sec>
<sec id="s5-5">
<title>5.5 Comparison of proposed scheme with other schemes</title>
<p>In this section, the proposed PV controller is compared with prevalent MPPT tracking algorithms such as P<italic>&#x26;</italic>O, BSC and BTSM. Different environmental conditions are used with variations in temperature and irradiance. The voltage comparison of the techniques is shown in <xref ref-type="fig" rid="F11">Figure&#xa0;11</xref>. It can be observed that the proposed BRTA controller achieves steady state in 005&#xa0;s compared to BTSM which achieves the steady state in 01&#xa0;s. The BRTA controller has fast rise time, superior tracking performance and achieves MPP rapidly with no overshoot compared to P<italic>&#x26;</italic>O. No chattering is observed in proposed technique compared to BSC and BTSM controllers. On the other hand, BSC control strategy shows steady state error in MPP tracking and minimal tracking performance during fluctuations in atmospheric condition. Detailed voltage profile comparison is shown in <xref ref-type="table" rid="T3">Table&#xa0;3</xref>.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Voltage tracking comparison.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g011.tif"/>
</fig>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Comparison of PV voltage tracking.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Response</th>
<th align="center">P<italic>&#x26;</italic>O</th>
<th align="center">BSC</th>
<th align="center">BTSM</th>
<th align="center">BRTA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Rise time (ms)</td>
<td align="center">3.22</td>
<td align="center">3.1</td>
<td align="center">2.5</td>
<td align="center">1.5</td>
</tr>
<tr>
<td align="center">Settling time (ms)</td>
<td align="center">160</td>
<td align="center">3.9</td>
<td align="center">3.1</td>
<td align="center">3</td>
</tr>
<tr>
<td align="center">Overshoot (V)</td>
<td align="center">126.4</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">Steady state error (V)</td>
<td align="center">9</td>
<td align="center">0.9</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For each control strategy, comparison of PV array output power is shown in <xref ref-type="fig" rid="F12">Figure&#xa0;12</xref>. The BRTA tracking performance is better during temperature and irradiance fluctuations in terms of fast convergence, rise time and reduced chattering. The results show that the proposed controller is reliable, more robust and has a faster response during atmospheric fluctuations. Moreover, it ensures a seamless, stable operation with battery connected system which makes it ideal for future power systems.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Maximum power comparison.</p>
</caption>
<graphic xlink:href="fenrg-10-1087593-g012.tif"/>
</fig>
</sec>
</sec>
<sec id="s6">
<title>6 Conclusion and future work</title>
<p>This paper presents a robust non-linear backstepping based real twisting sliding mode control for MPP tracking in PV battery systems. In the proposed scheme, the regression plane is generated by the predicted maximum power point voltage using linear interpolation which gives high accuracy. Contrary to other autonomous schemes which deploy droop control for DC bus voltage regulation, in this paper, a direct sliding mode control is proposed which helps regulate voltage under varying irradiance, temperature and loads. The system topology consisting of PV, battery, boost, and buck-boost converter is simulated and analyzed in MATLAB where it is observed that the proposed scheme has a good tracking with reduced overshoot, chattering and settling time. The optimal performance of the proposed control is also highlighted in comparison with other well-established control strategies, making it an ideal candidate for future PV-battery systems.</p>
<p>For future work, the proposed scheme can be integrated with machine learning techniques to further improve the system performance. The system can be expanded to include AC and DC sources to analyze dynamics. Moreover, the hardware prototype should be developed to ensure coherence between simulated and measured values.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>The datasets presented in this article are not readily available because they are under the authority of corresponding author&#x2019;s university. Requests to access the datasets should be directed to <email>sarmadmalik90@gmail.com</email>.</p>
</sec>
<sec id="s8">
<title>Author contributions</title>
<p>All authors listed have made a substantial, direct, and intellectual contribution to the work and approved it for publication.</p>
</sec>
<sec id="s9">
<title>Funding</title>
<p>This study is supported by the State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, Beijing, China (Grant No. LAPS21017).</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Aguilar</surname>
<given-names>P. V.</given-names>
</name>
<name>
<surname>Espinoza-Trejo</surname>
<given-names>D. R.</given-names>
</name>
<name>
<surname>Saavedra</surname>
<given-names>J. L.</given-names>
</name>
<name>
<surname>De Angelo</surname>
<given-names>C. H.</given-names>
</name>
<name>
<surname>Taheri</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>Nonlinear control of a boost DC/DC converter for photovoltaic MPPT systems using a TMS320F28379D microcontroller</article-title>,&#x201d; in <conf-name>2019 IEEE 7th International Conference on Smart Energy Grid Engineering (SEGE)</conf-name>, <conf-loc>Oshawa, ON, Canada</conf-loc>, <conf-date>12-14 August 2019</conf-date>, <fpage>156</fpage>&#x2013;<lpage>161</lpage>.</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmed</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Salam</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>An enhanced adaptive (P<italic>&#x26;</italic>O) MPPT for fast and efficient tracking under varying environmental conditions</article-title>. <source>IEEE Trans. Sust. Energy.</source> <volume>9</volume> (<issue>3</issue>), <fpage>1487</fpage>&#x2013;<lpage>1496</lpage>. <pub-id pub-id-type="doi">10.1109/tste.2018.2791968</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Aldosary</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ali</surname>
<given-names>Z. M.</given-names>
</name>
<name>
<surname>Alhaider</surname>
<given-names>M. M.</given-names>
</name>
<name>
<surname>Ghahremani</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Dadfar</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Suzuki</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A modified shuffled frog algorithm to improve MPPT controller in PV System with storage batteries under variable atmospheric conditions</article-title>. <source>Control Eng. Pract.</source> <volume>112</volume>, <fpage>104831</fpage>. <pub-id pub-id-type="doi">10.1016/j.conengprac.2021.104831</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ali</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Ullah</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Nonlinear robust integral backstepping based MPPT control for stand-alone photovoltaic system</article-title>. <source>PLOS ONE</source> <volume>15</volume> (<issue>5</issue>), <fpage>e0231749</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0231749</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ali</surname>
<given-names>M. N.</given-names>
</name>
<name>
<surname>Mahmoud</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Lehtonen</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Darwish</surname>
<given-names>M. M. F.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Promising MPPT methods combining metaheuristic, fuzzy-logic and ANN techniques for grid-connected photovoltaic</article-title>. <source>Sensors</source> <volume>21</volume> (<issue>4</issue>), <fpage>1244</fpage>. <pub-id pub-id-type="doi">10.3390/s21041244</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Awais</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Ahmad</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Mumtaz</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Badar</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Nonlinear adaptive NeuroFuzzy feedback linearization based MPPT control schemes for photovoltaic system in microgrid</article-title>. <source>PLOS ONE</source> <volume>15</volume> (<issue>6</issue>), <fpage>e0234992</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0234992</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Behih</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Attoui</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Backstepping terminal sliding mode MPPT controller for photovoltaic systems</article-title>. <source>Eng. Technol. Appl. Sci. Res.</source> <volume>11</volume> (<issue>2</issue>), <fpage>7060</fpage>&#x2013;<lpage>7067</lpage>. <pub-id pub-id-type="doi">10.48084/etasr.4101</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Bhatia</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Mittal</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Raizada</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Verma</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Hybrid ANN based incremental conductance MPPT-current control algorithm for constant power generation of PV fed DC microgrid</article-title>,&#x201d; in <conf-name>IEEE First International Conference on Smart Technologies for Power, Energy and Control (STPEC)</conf-name>, <conf-loc>Nagpur, India</conf-loc>, <conf-date>25-26 September 2020</conf-date>, <fpage>1</fpage>&#x2013;<lpage>7</lpage>.</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bjaoui</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Khiari</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Benadli</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Memni</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Sellami</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Practical implementation of the backstepping sliding mode controller MPPT for a PV-storage application</article-title>. <source>Energies</source> <volume>12</volume> (<issue>18</issue>), <fpage>3539</fpage>. <pub-id pub-id-type="doi">10.3390/en12183539</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dehghani</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Taghipour</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Gharehpetian</surname>
<given-names>G. B.</given-names>
</name>
<name>
<surname>Abedi</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Optimized fuzzy controller for MPPT of grid-connected PV systems in rapidly changing atmospheric conditions</article-title>. <source>Jour. Mod. Power Syst. Clean Energy.</source> <volume>9</volume> (<issue>2</issue>), <fpage>376</fpage>&#x2013;<lpage>383</lpage>. <pub-id pub-id-type="doi">10.35833/mpce.2019.000086</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ibrahim</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Anani</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Variations of PV module parameters with irradiance and temperature</article-title>. <source>Energy Procedia</source> <volume>134</volume>, <fpage>276</fpage>&#x2013;<lpage>285</lpage>. <pub-id pub-id-type="doi">10.1016/j.egypro.2017.09.617</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jegha</surname>
<given-names>A. D. G.</given-names>
</name>
<name>
<surname>Subathra</surname>
<given-names>M. S. P.</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>N. M.</given-names>
</name>
<name>
<surname>Subramaniam</surname>
<given-names>U.</given-names>
</name>
<name>
<surname>Padmanaban</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A high gain dc-dc converter with grey wolf optimizer based MPPT algorithm for PV fed BLDC motor drive</article-title>. <source>Appl. Sci.</source> <volume>10</volume> (<issue>8</issue>), <fpage>2797</fpage>. <pub-id pub-id-type="doi">10.3390/app10082797</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khan</surname>
<given-names>Z. A.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Ahmad</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Mumtaz</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jafar</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>RBF neural network based backstepping terminal sliding mode MPPT control technique for PV system</article-title>. <source>PLOS ONE</source> <volume>16</volume> (<issue>4</issue>), <fpage>e0249705</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0249705</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Millah</surname>
<given-names>I. S.</given-names>
</name>
<name>
<surname>Subroto</surname>
<given-names>R. K.</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>Y. W.</given-names>
</name>
<name>
<surname>Lian</surname>
<given-names>K. L.</given-names>
</name>
<name>
<surname>Ke</surname>
<given-names>B. -R.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Investigation of maximum power point tracking of different kinds of solar panels under partial shading conditions</article-title>. <source>IEEE Trans. Indus. App.</source> <volume>57</volume> (<issue>1</issue>), <fpage>17</fpage>&#x2013;<lpage>25</lpage>. <pub-id pub-id-type="doi">10.1109/tia.2020.3029998</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mirza</surname>
<given-names>A. F.</given-names>
</name>
<name>
<surname>Ling</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Javed</surname>
<given-names>M. Y.</given-names>
</name>
<name>
<surname>Mansoor</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Novel MPPT techniques for photovoltaic systems under uniform irradiance and partial shading</article-title>. <source>Sol. Energy</source> <volume>184</volume>, <fpage>628</fpage>&#x2013;<lpage>648</lpage>. <pub-id pub-id-type="doi">10.1016/j.solener.2019.04.034</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peng</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Bi</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Dai</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>X.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>Droop control strategy incorporating coupling compensation and virtual impedance for microgrid application</article-title>. <source>IEEE Trans. Energy Convers.</source> <volume>34</volume> (<issue>1</issue>), <fpage>277</fpage>&#x2013;<lpage>291</lpage>. <pub-id pub-id-type="doi">10.1109/TEC.2019.2892621</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pradhan</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Subudhi</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Double integral sliding mode MPPT control of a photovoltaic system</article-title>. <source>IEEE Trans. Control Sys. Tech.</source> <volume>24</volume> (<issue>1</issue>), <fpage>285</fpage>&#x2013;<lpage>292</lpage>. <pub-id pub-id-type="doi">10.1109/tcst.2015.2420674</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rajabi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Elphick</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>David</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Pors</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Robinson</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Innovative approaches for assessing and enhancing the hosting capacity of PV-rich distribution networks: An Australian perspective</article-title>. <source>Renew. Sust. Energy Rev.</source> <volume>161</volume>, <fpage>112365</fpage>. <pub-id pub-id-type="doi">10.1016/j.rser.2022.112365</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Rehman</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Karam</surname>
<given-names>F. W.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>GRNN based higher order sliding mode MPPT control paradigms for standalone PV system</article-title>,&#x201d; in <conf-name>2019 15th International Conference on Emerging Technologies (ICET)</conf-name>, <conf-loc>Peshawar, Pakistan</conf-loc>, <conf-date>02-03 December 2019</conf-date>, <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shams</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Mekhilef</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Tey</surname>
<given-names>K. S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Maximum power point tracking using modified butterfly optimization algorithm for partial shading, uniform shading, and fast varying load conditions</article-title>. <source>IEEE Trans. Power Elect.</source> <volume>36</volume> (<issue>5</issue>), <fpage>5569</fpage>&#x2013;<lpage>5581</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2020.3029607</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Skik</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Abbou</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Nonlinear control for MPPT and UPF of PV system connected to the grid</article-title>,&#x201d; in <conf-name>2016 7th International Renewable Energy Congress (IREC)</conf-name>, <conf-loc>Hammamet, Tunisia</conf-loc>, <conf-date>22-24 March 2016</conf-date>, <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ghahremani</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ahmed</surname>
<given-names>F. W.</given-names>
</name>
<name>
<surname>Jing</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Nazir</surname>
<given-names>M. S.</given-names>
</name>
<name>
<surname>Ohshima</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A novel MPPT controller in PV systems with hybrid whale optimization-PS algorithm based ANFIS under different conditions</article-title>. <source>Control Eng. Pract.</source> <volume>112</volume>, <fpage>104809</fpage>. <pub-id pub-id-type="doi">10.1016/j.conengprac.2021.104809</pub-id>
</citation>
</ref>
</ref-list>
<sec id="s12">
<title>Nomenclature</title>
<def-list>
<def-item>
<term id="G1-fenrg.2022.1087593">
<italic>
<bold>&#x3b1;</bold>
</italic>
<sub>
<bold>1</bold>
<italic>
<bold>ref</bold>
</italic>
</sub>
</term>
<def>
<p>Reference voltage of PV</p>
</def>
</def-item>
<def-item>
<term id="G2-fenrg.2022.1087593">
<italic>
<bold>&#x3b1;</bold>
</italic>
<sub>
<bold>1</bold>
</sub>
</term>
<def>
<p>Output voltage of PV panel</p>
</def>
</def-item>
<def-item>
<term id="G3-fenrg.2022.1087593">
<italic>
<bold>&#x3b4;</bold>
</italic>
</term>
<def>
<p>Error between battery actual current and reference current</p>
</def>
</def-item>
<def-item>
<term id="G4-fenrg.2022.1087593">
<inline-formula id="inf6">
<mml:math id="m57">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">1</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</term>
<def>
<p>Derivative of output voltage of PV cell</p>
</def>
</def-item>
<def-item>
<term id="G5-fenrg.2022.1087593">
<inline-formula id="inf7">
<mml:math id="m58">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">2</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</term>
<def>
<p>Derivative of inductor current of buck-boost converter</p>
</def>
</def-item>
<def-item>
<term id="G6-fenrg.2022.1087593">
<inline-formula id="inf8">
<mml:math id="m59">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">3</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</term>
<def>
<p>Derivative of output voltage of buck-boost converter</p>
</def>
</def-item>
<def-item>
<term id="G7-fenrg.2022.1087593">
<italic>
<bold>&#x3bc;</bold>
</italic>
</term>
<def>
<p>Duty cycle of converter</p>
</def>
</def-item>
<def-item>
<term id="G8-fenrg.2022.1087593">
<italic>
<bold>&#x3bc;</bold>
</italic>
<sub>
<italic>
<bold>BB</bold>
</italic>
</sub>
</term>
<def>
<p>Duty cycle of bidirectional buck-boost converter</p>
</def>
</def-item>
<def-item>
<term id="G9-fenrg.2022.1087593">
<italic>
<bold>&#x3bc;</bold>
</italic>
<sub>
<italic>
<bold>boost</bold>
</italic>
</sub>
</term>
<def>
<p>Duty cycle of buck-boost when operating in boost mode</p>
</def>
</def-item>
<def-item>
<term id="G10-fenrg.2022.1087593">
<italic>
<bold>&#x3bc;</bold>
</italic>
<sub>
<italic>
<bold>buck</bold>
</italic>
</sub>
</term>
<def>
<p>Duty cycle of Buck-Boost when operating in buck mode</p>
</def>
</def-item>
<def-item>
<term id="G11-fenrg.2022.1087593">
<italic>
<bold>&#x3be;</bold>
</italic>
</term>
<def>
<p>Error between actual PV voltage and desired reference</p>
</def>
</def-item>
<def-item>
<term id="G12-fenrg.2022.1087593">
<italic>
<bold>A</bold>
</italic>
</term>
<def>
<p>Exponential voltage</p>
</def>
</def-item>
<def-item>
<term id="G13-fenrg.2022.1087593">
<italic>
<bold>B</bold>
</italic>
</term>
<def>
<p>Exponential capacity</p>
</def>
</def-item>
<def-item>
<term id="G14-fenrg.2022.1087593">
<italic>
<bold>BESS</bold>
</italic>
</term>
<def>
<p>Battery energy storage system</p>
</def>
</def-item>
<def-item>
<term id="G15-fenrg.2022.1087593">
<italic>
<bold>BRTA</bold>
</italic>
</term>
<def>
<p>Backstepping based real twisting algorithm</p>
</def>
</def-item>
<def-item>
<term id="G16-fenrg.2022.1087593">
<italic>
<bold>BSC</bold>
</italic>
</term>
<def>
<p>Backstepping controller</p>
</def>
</def-item>
<def-item>
<term id="G17-fenrg.2022.1087593">
<italic>
<bold>C</bold>
</italic>
<sub>
<italic>
<bold>b</bold>
</italic>
</sub>
</term>
<def>
<p>Battery capacitance</p>
</def>
</def-item>
<def-item>
<term id="G18-fenrg.2022.1087593">
<italic>
<bold>C</bold>
</italic>
<sub>
<italic>
<bold>dc</bold>
</italic>
</sub>
</term>
<def>
<p>DC bus capacitance</p>
</def>
</def-item>
<def-item>
<term id="G19-fenrg.2022.1087593">
<italic>
<bold>C</bold>
</italic>
<sub>
<italic>
<bold>i</bold>
</italic>
</sub>
</term>
<def>
<p>Input capacitance of buck-boost converter</p>
</def>
</def-item>
<def-item>
<term id="G20-fenrg.2022.1087593">
<italic>
<bold>C</bold>
</italic>
<sub>
<italic>
<bold>out</bold>
</italic>
</sub>
</term>
<def>
<p>Output capacitance of buck-boost converter</p>
</def>
</def-item>
<def-item>
<term id="G21-fenrg.2022.1087593">
<italic>
<bold>f</bold>
</italic>
<sub>
<italic>
<bold>s</bold>
</italic>
</sub>
</term>
<def>
<p>Switching frequency of converters</p>
</def>
</def-item>
<def-item>
<term id="G22-fenrg.2022.1087593">
<italic>
<bold>G</bold>
</italic>
</term>
<def>
<p>Irradiance</p>
</def>
</def-item>
<def-item>
<term id="G23-fenrg.2022.1087593">
<italic>
<bold>i</bold>
</italic>&#x2a;</term>
<def>
<p>Filtered current</p>
</def>
</def-item>
<def-item>
<term id="G24-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<bold>0</bold>
</sub>
</term>
<def>
<p>Reverse saturation current</p>
</def>
</def-item>
<def-item>
<term id="G25-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>BESS</bold>
</italic>
</sub>
</term>
<def>
<p>Battery current</p>
</def>
</def-item>
<def-item>
<term id="G26-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>d</bold>
</italic>
</sub>
</term>
<def>
<p>Diode current</p>
</def>
</def-item>
<def-item>
<term id="G27-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>m</bold>
</italic>
</sub>
</term>
<def>
<p>Maximum power point current</p>
</def>
</def-item>
<def-item>
<term id="G28-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>ph</bold>
</italic>
</sub>
</term>
<def>
<p>Photocurrent</p>
</def>
</def-item>
<def-item>
<term id="G29-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>pv</bold>
</italic>
</sub>
</term>
<def>
<p>PV Cell output current</p>
</def>
</def-item>
<def-item>
<term id="G30-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>rr</bold>
</italic>
</sub>
</term>
<def>
<p>Current due to incident irradiance</p>
</def>
</def-item>
<def-item>
<term id="G31-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>sat</bold>
</italic>
</sub>
</term>
<def>
<p>Saturation current</p>
</def>
</def-item>
<def-item>
<term id="G32-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>SCM</bold>
</italic>
</sub>
</term>
<def>
<p>Short circuit current at STC</p>
</def>
</def-item>
<def-item>
<term id="G33-fenrg.2022.1087593">
<italic>
<bold>I</bold>
</italic>
<sub>
<italic>
<bold>sc</bold>
</italic>
</sub>
</term>
<def>
<p>Short circuit current of PV</p>
</def>
</def-item>
<def-item>
<term id="G34-fenrg.2022.1087593">
<italic>
<bold>i</bold>
</italic>
<sub>
<italic>
<bold>t</bold>
</italic>
</sub>
</term>
<def>
<p>Actual battery current</p>
</def>
</def-item>
<def-item>
<term id="G35-fenrg.2022.1087593">
<italic>
<bold>IBSC</bold>
</italic>
</term>
<def>
<p>Integral backstepping controller</p>
</def>
</def-item>
<def-item>
<term id="G36-fenrg.2022.1087593">
<italic>
<bold>INC</bold>
</italic>
</term>
<def>
<p>Incremental conductance</p>
</def>
</def-item>
<def-item>
<term id="G37-fenrg.2022.1087593">
<italic>
<bold>K</bold>
</italic>
</term>
<def>
<p>Boltzmann constant</p>
</def>
</def-item>
<def-item>
<term id="G38-fenrg.2022.1087593">
<italic>
<bold>K</bold>
</italic>
<sub>
<italic>
<bold>i</bold>
</italic>
</sub>
</term>
<def>
<p>Short circuit current gain</p>
</def>
</def-item>
<def-item>
<term id="G39-fenrg.2022.1087593">
<italic>
<bold>K</bold>
</italic>
<sub>
<italic>
<bold>v</bold>
</italic>
</sub>
</term>
<def>
<p>Open circuit voltage gain</p>
</def>
</def-item>
<def-item>
<term id="G40-fenrg.2022.1087593">
<italic>
<bold>L</bold>
</italic>
</term>
<def>
<p>Inductance of unidirectional converter</p>
</def>
</def-item>
<def-item>
<term id="G41-fenrg.2022.1087593">
<italic>
<bold>L</bold>
</italic>
<sub>
<bold>1</bold>
</sub>, <italic>
<bold>L</bold>
</italic>
<sub>
<bold>2</bold>
</sub>
</term>
<def>
<p>Output loads</p>
</def>
</def-item>
<def-item>
<term id="G42-fenrg.2022.1087593">
<italic>
<bold>L</bold>
</italic>
<sub>
<bold>min</bold>
</sub>
</term>
<def>
<p>Inductance of bidirectional converter</p>
</def>
</def-item>
<def-item>
<term id="G43-fenrg.2022.1087593">
<italic>
<bold>n</bold>
</italic>
</term>
<def>
<p>Ideality factor of diode</p>
</def>
</def-item>
<def-item>
<term id="G44-fenrg.2022.1087593">
<italic>
<bold>N</bold>
</italic>
<sub>
<italic>
<bold>p</bold>
</italic>
</sub>
</term>
<def>
<p>Number of PV cells in parallel</p>
</def>
</def-item>
<def-item>
<term id="G45-fenrg.2022.1087593">
<italic>
<bold>N</bold>
</italic>
<sub>
<italic>
<bold>s</bold>
</italic>
</sub>
</term>
<def>
<p>Number of PV cells in series</p>
</def>
</def-item>
<def-item>
<term id="G46-fenrg.2022.1087593">
<italic>
<bold>P</bold>
</italic>
<sub>
<bold>max</bold>
</sub>
</term>
<def>
<p>PV rated maximum power</p>
</def>
</def-item>
<def-item>
<term id="G47-fenrg.2022.1087593">
<italic>
<bold>PO</bold>
</italic>
</term>
<def>
<p>Perturb and observe</p>
</def>
</def-item>
<def-item>
<term id="G48-fenrg.2022.1087593">
<italic>
<bold>Q</bold>
</italic>
</term>
<def>
<p>Maximum battery capacity</p>
</def>
</def-item>
<def-item>
<term id="G49-fenrg.2022.1087593">
<italic>
<bold>q</bold>
</italic>
</term>
<def>
<p>Electron charge in coulomb</p>
</def>
</def-item>
<def-item>
<term id="G50-fenrg.2022.1087593">
<italic>
<bold>R</bold>
</italic>
</term>
<def>
<p>Internal resistance of battery</p>
</def>
</def-item>
<def-item>
<term id="G51-fenrg.2022.1087593">
<italic>
<bold>R</bold>
</italic>
<sub>
<italic>
<bold>sh</bold>
</italic>
</sub>
</term>
<def>
<p>Shunt resistance of PV</p>
</def>
</def-item>
<def-item>
<term id="G52-fenrg.2022.1087593">
<italic>
<bold>R</bold>
</italic>
<sub>
<italic>
<bold>s</bold>
</italic>
</sub>
</term>
<def>
<p>Series resistance of PV</p>
</def>
</def-item>
<def-item>
<term id="G53-fenrg.2022.1087593">
<italic>
<bold>Sign</bold>
</italic>
</term>
<def>
<p>Signum function</p>
</def>
</def-item>
<def-item>
<term id="G54-fenrg.2022.1087593">
<italic>
<bold>SMC</bold>
</italic>
</term>
<def>
<p>Sliding mode control</p>
</def>
</def-item>
<def-item>
<term id="G55-fenrg.2022.1087593">
<italic>
<bold>SOC</bold>
</italic>
</term>
<def>
<p>Battery state of charge</p>
</def>
</def-item>
<def-item>
<term id="G56-fenrg.2022.1087593">
<italic>
<bold>STC</bold>
</italic>
</term>
<def>
<p>Standard test conditions</p>
</def>
</def-item>
<def-item>
<term id="G57-fenrg.2022.1087593">
<italic>
<bold>T</bold>
</italic>
</term>
<def>
<p>Temperature in Kelvin</p>
</def>
</def-item>
<def-item>
<term id="G58-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
</term>
<def>
<p>Output voltage of PV module</p>
</def>
</def-item>
<def-item>
<term id="G59-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<bold>0</bold>
</sub>
</term>
<def>
<p>Constant battery voltage</p>
</def>
</def-item>
<def-item>
<term id="G60-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>BESS</bold>
</italic>
</sub>
</term>
<def>
<p>Battery no-load voltage</p>
</def>
</def-item>
<def-item>
<term id="G61-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>b</bold>
</italic>
</sub>
</term>
<def>
<p>Battery nominal voltage</p>
</def>
</def-item>
<def-item>
<term id="G62-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>co</bold>
</italic>
</sub>
</term>
<def>
<p>Output voltage of converter</p>
</def>
</def-item>
<def-item>
<term id="G63-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>c</bold>
</italic>
</sub>
</term>
<def>
<p>Composite lyapunov function</p>
</def>
</def-item>
<def-item>
<term id="G64-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>d</bold>
</italic>1</sub>
</term>
<def>
<p>Diode voltage</p>
</def>
</def-item>
<def-item>
<term id="G65-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>m</bold>
</italic>
</sub>
</term>
<def>
<p>Maximum power point voltage</p>
</def>
</def-item>
<def-item>
<term id="G66-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>OCM</bold>
</italic>
</sub>
</term>
<def>
<p>Open circuit voltage at STC</p>
</def>
</def-item>
<def-item>
<term id="G67-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>oc</bold>
</italic>
</sub>
</term>
<def>
<p>Open circuit voltage of PV</p>
</def>
</def-item>
<def-item>
<term id="G68-fenrg.2022.1087593">
<italic>
<bold>V</bold>
</italic>
<sub>
<italic>
<bold>pv</bold>
</italic>
</sub>
</term>
<def>
<p>PV Cell output voltage</p>
</def>
</def-item>
</def-list>
</sec>
</back>
</article>