<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3-mathml3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Aerosp. Res. Commun.</journal-id>
<journal-title-group>
<journal-title>Aerospace Research Communications</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Aerosp. Res. Commun.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">2813-6209</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">17000</article-id>
<article-id pub-id-type="doi">10.3389/arc.2026.17000</article-id>
<article-version article-version-type="Version of Record" vocab="NISO-RP-8-2008"/>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Original Research</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Corridor-constrained incremental TD3 for nacelle tilt scheduling in quad-tiltrotor UAV level transition</article-title>
<alt-title alt-title-type="left-running-head">Yang et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/arc.2026.17000">10.3389/arc.2026.17000</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Yang</surname>
<given-names>Rui</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
<uri xlink:href="https://loop.frontiersin.org/people/3477247"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Du</surname>
<given-names>Changping</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2582131"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Yu</surname>
<given-names>Jiahao</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Fang</surname>
<given-names>Tianrui</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Du</surname>
<given-names>Zean</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
</contrib>
</contrib-group>
<aff id="aff1">
<institution>School of Aeronautics and Astronautics, Zhejiang University</institution>, <city>Hangzhou</city>, <state>Zhejiang</state>, <country country="CN">China</country>
</aff>
<author-notes>
<corresp id="c001">
<label>&#x2a;</label>Correspondence: Changping Du, <email xlink:href="mailto:duchangping@zju.edu.cn">duchangping@zju.edu.cn</email>
</corresp>
</author-notes>
<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-08-17">
<day>17</day>
<month>08</month>
<year>2026</year>
</pub-date>
<pub-date publication-format="electronic" date-type="collection">
<year>2026</year>
</pub-date>
<volume>4</volume>
<elocation-id>17000</elocation-id>
<history>
<date date-type="received">
<day>24</day>
<month>05</month>
<year>2026</year>
</date>
<date date-type="rev-recd">
<day>02</day>
<month>06</month>
<year>2026</year>
</date>
<date date-type="accepted">
<day>24</day>
<month>07</month>
<year>2026</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2026 Yang, Du, Yu, Fang and Du.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>Yang, Du, Yu, Fang and Du</copyright-holder>
<license>
<ali:license_ref start_date="2026-08-17">https://creativecommons.org/licenses/by/4.0/</ali:license_ref>
<license-p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution License (CC BY)</ext-link>. 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.</license-p>
</license>
</permissions>
<abstract>
<p>Level-flight transition of quad-tiltrotor unmanned aerial vehicles requires a nacelle tilt scheduler that adapts to closed-loop transition states while satisfying actuator-rate limits and a speed-dependent admissible transition corridor. Offline tilt schedules provide useful nominal references, but their feedback adaptability is limited under disturbances, measurement noise, and variations in low-level closed-loop response. In contrast, absolute-action reinforcement learning (RL) policies treat consecutive nacelle commands as independent setpoints, which may induce abrupt inter-sample variations and excessive nacelle-rate demand. This paper proposes an energy-aware mooth incremental tilt strategy based on a corridor-constrained incremental Twin Delayed Deep Deterministic Policy Gradient (TD3) framework. Instead of learning the absolute nacelle angle, the actor outputs a bounded nacelle-angle increment. The command is then generated through bounded integration, rate saturation, and projection onto a tightened transition corridor. This action generation mechanism converts the policy from an independent setpoint generator into a constrained nacelle-evolution generator, embedding command continuity and actuator-rate compatibility while enforcing corridor feasibility. The scheduling objective combines altitude regulation, forward-speed buildup, longitudinal smoothness, and a rotor-speed-based effort proxy under a gain-scheduled low-level control architecture. The feasibility layer provides corridor admissibility of the sampled command, and a post-training analysis characterizes the conditional closed-loop boundedness. The simulations show that the proposed scheduler generates smoother nacelle trajectories than absolute-action TD3 and act-penalty-based TD3, reducing nacelle-rate demand and longitudinal jerk, while maintaining corridor feasibility, bounded altitude response, terminal-speed buildup, and comparable rotor-speed-based effort.</p>
</abstract>
<kwd-group>
<kwd>nacelle tilt scheduling</kwd>
<kwd>quad-tiltrotor UAV</kwd>
<kwd>reinforcement learning</kwd>
<kwd>transition corridor</kwd>
<kwd>transition trajectory optimization</kwd>
</kwd-group>
<funding-group>
<funding-statement>The author(s) declared that financial support was received for this work and/or its publication. This work was supported by an internal research project of the authors&#x2019; research group, under the project title &#x201c;Frontier Exploratory Research on Tilt-Rotor Unmanned Aerial Vehicles&#x201d;.</funding-statement>
</funding-group>
<counts>
<fig-count count="8"/>
<table-count count="5"/>
<equation-count count="119"/>
<ref-count count="32"/>
<page-count count="21"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>Introduction</title>
<p>Tiltrotor vehicles combine the vertical take-off and landing capability of rotorcraft with the efficient cruise performance of fixed-wing aircraft, making them attractive for space-constrained deployment, long-endurance missions, and multi-regime flight operations [<xref ref-type="bibr" rid="B1">1</xref>, <xref ref-type="bibr" rid="B2">2</xref>]. During a complete mission, the vehicle must pass through rotor-borne flight, transition flight, and wing-borne flight. Among these phases, transition flight is particularly challenging because the primary lift source gradually shifts from rotor thrust to wing aerodynamic lift, while the propulsion direction, aerodynamic characteristics, and control effectiveness vary with the nacelle angle and forward speed.</p>
<p>As the nacelles rotate from the vertical-lift configuration toward the forward-propulsion configuration, rotor thrust is redistributed between vertical support and forward acceleration. Meanwhile, rotor wake interacts with the wing and fuselage, resulting in significant variations in lift, drag, and pitching moment characteristics [<xref ref-type="bibr" rid="B3">3</xref>&#x2013;<xref ref-type="bibr" rid="B5">5</xref>]. These aerodynamic variations are coupled with thrust-vector evolution, actuator dynamics, control allocation, and longitudinal flight-state changes. Consequently, transition dynamics exhibit strong nonlinearities, time-varying control effectiveness, and rate-limited actuation characteristics [<xref ref-type="bibr" rid="B6">6</xref>&#x2013;<xref ref-type="bibr" rid="B8">8</xref>]. The transition performance is therefore highly sensitive to the nacelle tilt schedule, which directly affects altitude regulation, forward-speed buildup, actuator usage, transition smoothness, and energy-related performance.</p>
<p>For level-flight transition, the aircraft is required to maintain constant altitude while accelerating from the rotor-borne condition to the wing-borne condition. In this process, the nacelle angle and forward speed must satisfy a feasible matching relationship to maintain sufficient lift, power margin, and control authority. This admissible relationship is commonly represented by a transition corridor in the nacelle-angle--speed plane [<xref ref-type="bibr" rid="B9">9</xref>&#x2013;<xref ref-type="bibr" rid="B11">11</xref>]. Recent studies further enrich this corridor by incorporating aerodynamic variables, angle-of-attack constraints, power limits, and attitude-safety indices [<xref ref-type="bibr" rid="B12">12</xref>, <xref ref-type="bibr" rid="B13">13</xref>]. These studies indicate that the transition corridor provides not only a feasibility boundary, but also a natural framework for formulating nacelle tilt scheduling as a high-level transition-trajectory design problem. Accordingly, the key scheduling task is to generate a nacelle command that evolves with forward speed while satisfying corridor feasibility and actuator-rate compatibility.</p>
<p>Existing studies on transition trajectory design can be broadly categorized into corridor-based planning, trim-based optimization, direct collocation or pseudospectral optimization, model-predictive control, and heuristic search methods. Corridor construction and trim analysis have been used to establish feasible nacelle-angle--speed envelopes and equilibrium Refs. [<xref ref-type="bibr" rid="B7">7</xref>, <xref ref-type="bibr" rid="B14">14</xref>]. Direct collocation, pseudospectral methods, and model-based optimization have been applied to generate constrained transition trajectories under aerodynamic, power, and attitude limitations [<xref ref-type="bibr" rid="B13">13</xref>, <xref ref-type="bibr" rid="B15">15</xref>]. Heuristic search methods, such as ant colony optimization, have also been employed to obtain feasible transition paths by considering safety, power, and control-effort indices [<xref ref-type="bibr" rid="B12">12</xref>]. In addition, energy-oriented transition scheduling has received increasing attention, since different acceleration and tilt profiles may lead to distinct power demands, transition durations, and mission-level energy performance [<xref ref-type="bibr" rid="B5">5</xref>, <xref ref-type="bibr" rid="B16">16</xref>].</p>
<p>Although these methods provide important insights into transition-corridor construction and nominal trajectory optimization, many of them rely on prior aerodynamic models, trim computations, lookup tables, or predefined trajectory parameterizations. The resulting schedules can be highly effective under nominal conditions, but they are usually applied in an open-loop or weakly feedback-driven manner. Their adaptability may therefore degrade when model uncertainty, wind disturbances, measurement noise, or variations in the low-level closed-loop response are present. This motivates a feedback-capable nacelle scheduler that can adapt the tilt evolution according to the measured transition state while preserving the physical feasibility of the nacelle command.</p>
<p>Reinforcement learning (RL) offers a promising tool for adaptive decision-making in nonlinear and uncertain systems. In UAV and eVTOL control, RL has been applied to trajectory tracking, attitude control, controller-parameter tuning, energy optimization, and disturbance-aware control [<xref ref-type="bibr" rid="B17">17</xref>&#x2013;<xref ref-type="bibr" rid="B19">19</xref>]. In particular, the twin delayed deep deterministic policy gradient (TD3) algorithm is well suited for continuous-control tasks because its clipped double critics, delayed policy updates, and target policy smoothing reduce overestimation bias and improve training stability [<xref ref-type="bibr" rid="B20">20</xref>]. Recent work has shown that TD3 can be used to generate energy-oriented pitch-angle references for tilt-rotor quadrotors in cooperation with robust low-level controllers [<xref ref-type="bibr" rid="B19">19</xref>]. These results indicate the potential of RL for improving transition-related performance under uncertain operating conditions.</p>
<p>However, most existing RL-based studies on tiltrotor vehicles focus on pitch-angle reference generation, low-level controller synthesis, or adaptive controller tuning. The nacelle transition schedule itself has received limited attention as a constrained, smooth, and multi-objective high-level scheduling variable. This distinction is important because nacelle tilt scheduling differs from generic continuous-action control. The nacelle angle is a slow physical transition variable: adjacent commands are coupled by actuator-rate limits, its admissible range depends on forward speed through the transition corridor, and its variation directly changes thrust-vector distribution, wing-lift buildup, rotor-speed demand, and longitudinal acceleration. Therefore, a learning-based nacelle scheduler should not only improve transition performance, but also generate a physically realizable command evolution that is smooth, rate-compatible, and feasible within the admissible corridor.</p>
<p>This requirement renders the action representation of the learning policy a central design issue. If an RL policy directly outputs the absolute nacelle angle, consecutive commands are treated as independent setpoints. Under exploration noise, critic approximation errors, or policy updates, such an absolute-action representation may generate abrupt inter-sample variations, excessive nacelle-rate demand, or degraded longitudinal smoothness. Recent studies on action-space design in deep RL have shown that action-space shaping, parameterized actions, lifted or relative action representations, and smooth-policy regularization can significantly affect learning efficiency, trajectory smoothness, and physical compatibility [<xref ref-type="bibr" rid="B21">21</xref>&#x2013;<xref ref-type="bibr" rid="B24">24</xref>]. In robotic and autonomous driving tasks, lifted or relative action spaces have been used to align learned commands with the physical evolution of the controlled system [<xref ref-type="bibr" rid="B25">25</xref>], while smooth-policy approaches indicate that action regularity can be enforced through policy structure rather than solely through external filtering [<xref ref-type="bibr" rid="B26">26</xref>]. Nevertheless, these ideas have not been tailored to quad-tiltrotor nacelle scheduling, where the learned action should reflect the incremental and rate-limited evolution of the nacelle actuator.</p>
<p>Action-level smoothness alone, however, is insufficient. The learned command must also satisfy hard transition-feasibility constraints. Safety filtering and projection-based safe RL have been investigated as modular ways to enforce constraints after policy output. Predictive safety filters, robust MPC filters, constrained projection layers, and optimization-based output layers have been used to modify potentially unsafe actions while preserving the learning policy as the performance optimizer [<xref ref-type="bibr" rid="B27">27</xref>&#x2013;<xref ref-type="bibr" rid="B30">30</xref>]. These studies motivate a separation between performance-oriented policy learning and hard constraint enforcement. For tiltrotor level-flight transition, however, the critical feasibility constraint is not merely a fixed input bound or a generic state constraint. It is a speed-dependent nacelle-angle corridor determined by aerodynamic lift capability, power margin, and transition feasibility. Therefore, a suitable learning-based nacelle scheduler should couple action representation with feasibility enforcement, so that the learned command follows the rate-limited evolution of the nacelle actuator while the executed command remains inside the speed-dependent transition corridor.</p>
<p>The above discussion shows that existing transition-scheduling studies and RL-based control methods have not yet provided an integrated solution for feedback-capable nacelle scheduling, physically consistent action evolution, and hard feasibility enforcement. To address this issue, this paper proposes an energy-aware smooth incremental tilt (ESIT) strategy for the level-flight transition of a quad-tiltrotor unmanned aerial vehicle. ESIT is developed under a hierarchical transition-control architecture, where the scheduled low-level controller maintains attitude and altitude tracking, and the high-level scheduler determines the nacelle evolution from measurable transition states. A Beetle Swarm (BS) optimized reference schedule is used to warm-start the actor and provide a physically reasonable initial tilt trend. Based on this warm start, the TD3 scheduler is reformulated with an incremental action representation, so that the actor outputs a bounded nacelle-angle increment rather than an independent absolute nacelle command. The resulting command is passed through a feasibility layer that performs bounded integration, actuator-rate saturation, and projection onto a tightened speed-dependent transition corridor. In this way, ESIT combines feedback adaptability, rotor-speed-based effort awareness, actuator-compatible command smoothness, and corridor-feasible transition scheduling within a unified framework. After training, the learned actor is further analyzed as a bounded nonlinear scheduler to characterize sampled-command corridor feasibility and conditional closed-loop boundedness under bounded-disturbance and local low-level stability assumptions.</p>
<p>The main contributions of this paper are summarized as follows.<list list-type="order">
<list-item>
<p>A corridor-aware feedback nacelle-scheduling formulation is developed for quad-tiltrotor level-flight transition. The formulation treats the nacelle angle as a state-dependent physical transition variable constrained by actuator-rate limits and a speed-dependent admissible corridor. It integrates forward-speed buildup, altitude regulation, rotor-effort redistribution, and longitudinal smoothness into a unified high-level scheduling problem.</p>
</list-item>
<list-item>
<p>A physics-structured incremental TD3 strategy is proposed for nacelle command generation. By learning the nacelle-angle increment rather than the absolute nacelle angle, the proposed scheduler converts the RL policy from an independent setpoint generator into a constrained nacelle-evolution generator. The resulting bounded integration, rate saturation, and tightened-corridor projection provide a direct mechanism for producing smooth, rate-compatible, and corridor-feasible tilt schedules.</p>
</list-item>
<list-item>
<p>A mechanism-oriented analysis and validation framework is established for the proposed scheduler. The feasibility layer is characterized as a rate-compatible and corridor-aware command-generation mechanism, and the trained actor is analyzed as a bounded nonlinear scheduler, leading to a conditional boundedness characterization under bounded disturbances and a common Lyapunov condition for the scheduled low-level error dynamics. Simulations, including action-parameterization ablation, corridor-feasibility evaluation, Monte Carlo tests, and observation-noise evaluation, demonstrate that the proposed incremental action structure reduces nacelle-rate demand and longitudinal jerk while maintaining corridor feasibility, bounded altitude response, terminal-speed buildup, and comparable rotor-speed-based effort.</p>
</list-item>
</list>
</p>
<p>The remainder of this paper is organized as follows. Section II formulates the constrained high-level nacelle tilt-scheduling problem for quad-tiltrotor level-flight transition. Section III presents the proposed ESIT framework, including the incremental TD3 scheduler, rate-and-corridor feasibility layer, reward design, BS-guided reference generation, TD3 optimization procedure, and post-training boundedness characterization. Section IV presents comparative simulations, ablation studies, corridor evaluation, Monte Carlo tests, and observation-noise evaluation. Section V concludes this paper.</p>
</sec>
<sec id="s2">
<title>Problem formulation</title>
<p>This section formulates the constrained high-level nacelle tilt-scheduling problem for the level-flight transition of a quad-tiltrotor UAV. The problem is considered under a scheduled low-level flight-control architecture. Therefore, the nacelle scheduler is treated as a high-level transition-command generator, rather than as a replacement for the stabilizing attitude and altitude controller.</p>
<sec id="s2-1">
<title>Longitudinal transition model</title>
<p>A longitudinal force-balance model [<xref ref-type="bibr" rid="B31">31</xref>, <xref ref-type="bibr" rid="B32">32</xref>] is introduced to describe the dominant transition dynamics. The nacelle tilt angle is denoted by <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>0</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> corresponds to the rotor-borne configuration and <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>90</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> corresponds to the fully wing-borne configuration.</p>
<p>Let the longitudinal state vector be defined as<disp-formula id="e1">
<mml:math id="m4">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mi>h</mml:mi>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
</mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the longitudinal position, <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> the forward velocity, <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> the altitude, <inline-formula id="inf7">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> the vertical velocity, <inline-formula id="inf8">
<mml:math id="m9">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> the pitch angle, and <inline-formula id="inf9">
<mml:math id="m10">
<mml:mrow>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> the pitch rate. The resultant longitudinal-plane airspeed used only in the aerodynamic lift and drag calculations is defined as<disp-formula id="e2">
<mml:math id="m11">
<mml:mrow>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>h</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>The longitudinal state and resultant airspeed are defined in <xref ref-type="disp-formula" rid="e1">Equations 1</xref>, <xref ref-type="disp-formula" rid="e2">2</xref>. The low-level control input ul is defined in <xref ref-type="disp-formula" rid="e3">Equation 3</xref>.<disp-formula id="e3">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf10">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the rotational speed of the <inline-formula id="inf11">
<mml:math id="m14">
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th rotor and <inline-formula id="inf12">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the elevator deflection or an equivalent longitudinal control-surface input.</p>
<p>The dominant longitudinal force and moment balances are given by <xref ref-type="disp-formula" rid="e4">Equations 4</xref> -<xref ref-type="disp-formula" rid="e9">9</xref>.<disp-formula id="e4">
<mml:math id="m16">
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">V</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m17">
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mi mathvariant="normal">z</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>mg</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
<disp-formula id="e6">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
</mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m19">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m20">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>h</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m21">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf13">
<mml:math id="m22">
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the vehicle mass, <inline-formula id="inf14">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the pitch-axis moment of inertia, <inline-formula id="inf15">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf16">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mi mathvariant="normal">z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the longitudinal and vertical components of the rotor thrust components, <inline-formula id="inf17">
<mml:math id="m26">
<mml:mrow>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf18">
<mml:math id="m27">
<mml:mrow>
<mml:mi mathvariant="normal">D</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are the aerodynamic lift and drag, <inline-formula id="inf19">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the pitch moment, and <inline-formula id="inf20">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">V</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are bounded disturbance terms.</p>
<p>The rotor thrust and its longitudinal and vertical components are modeled as<disp-formula id="e10">
<mml:math id="m30">
<mml:mrow>
<mml:mtable columnalign="right">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mrow>
<mml:mtext>MR</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:msubsup>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mtext>MR</mml:mtext>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mtext>MR</mml:mtext>
</mml:msub>
</mml:msub>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:munderover>
</mml:mstyle>
<mml:mi>sin</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mrow>
<mml:mtext>MR</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mi mathvariant="normal">z</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:munderover>
</mml:mstyle>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mrow>
<mml:mtext>MR</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where <inline-formula id="inf21">
<mml:math id="m31">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the air density, <inline-formula id="inf22">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mtext>MR</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the rotor diameter, and <inline-formula id="inf23">
<mml:math id="m33">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mtext>MR</mml:mtext>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the rotor thrust coefficient.</p>
<p>The aerodynamic lift and drag are expressed as<disp-formula id="e11">
<mml:math id="m34">
<mml:mrow>
<mml:mtable columnalign="right">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>QS</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">D</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>QS</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>where <inline-formula id="inf24">
<mml:math id="m35">
<mml:mrow>
<mml:mi mathvariant="normal">Q</mml:mi>
<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:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:msup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the dynamic pressure, <inline-formula id="inf25">
<mml:math id="m36">
<mml:mrow>
<mml:mi mathvariant="normal">S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the wing reference area, and <inline-formula id="inf26">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf27">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">D</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the lift and drag coefficients, respectively.</p>
<p>The pitch moment is written as<disp-formula id="e12">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mtext>xi</mml:mtext>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mrow>
<mml:mtext>MR</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>QS</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where <inline-formula id="inf28">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mtext>xi</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the longitudinal moment arm from the <inline-formula id="inf29">
<mml:math id="m41">
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th rotor to the aircraft center of gravity, and <inline-formula id="inf30">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>QS</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> denotes the aerodynamic pitching-moment term under the adopted simplified longitudinal model. The rotor thrust components, aerodynamic forces, and pitch moment are expressed in <xref ref-type="disp-formula" rid="e10">Equations 10</xref>-<xref ref-type="disp-formula" rid="e12">12</xref>.</p>
<p>The level-transition process is dominated by the coupling among rotor thrust vectoring, wing lift buildup, forward acceleration, and pitch stabilization. The longitudinal transition dynamics can be compactly written as<disp-formula id="e13">
<mml:math id="m43">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>where <inline-formula id="inf31">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents bounded longitudinal disturbances and unmodeled dynamics, including aerodynamic uncertainty, wind disturbance, and actuator-related perturbations. In this formulation, the low-level controller generates <inline-formula id="inf32">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for altitude and attitude regulation, while the high-level scheduler determines the nacelle command <inline-formula id="inf33">
<mml:math id="m46">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. This separation allows different nacelle tilt schedules to be compared under the same stabilizing low-level control architecture.</p>
</sec>
<sec id="s2-2">
<title>Nacelle command evolution and transition corridor</title>
<p>Let <inline-formula id="inf34">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denote the decision interval of the high-level scheduler and <inline-formula id="inf35">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The sampled nacelle command sequence is denoted by<disp-formula id="e14">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x39b;</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>For a forward level-transition task, the boundary condition is specified as<disp-formula id="e15">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>0</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
<mml:mo>&#x2248;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>90</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
<p>The sampled nacelle command sequence and boundary conditions are given by <xref ref-type="disp-formula" rid="e14">Equations 14</xref>, <xref ref-type="disp-formula" rid="e15">15</xref>. The nacelle angle is a physical transition variable rather than an arbitrary independent command. Its evolution affects the distribution of rotor thrust between vertical support and forward propulsion. Therefore, an overly aggressive tilt command at low forward speed may reduce the vertical rotor-thrust component before sufficient wing lift has been established. Conversely, an overly conservative tilt command at high forward speed may delay transition completion and increase rotor-speed demand. These characteristics make the nacelle schedule a key high-level variable for level-transition performance.</p>
<p>During level-flight transition, the forward speed and nacelle angle must satisfy a feasible coupling relationship. This relationship is represented by a transition corridor in the <inline-formula id="inf36">
<mml:math id="m51">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> plane:<disp-formula id="e16">
<mml:math id="m52">
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x7c;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>where <inline-formula id="inf37">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf38">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the initial and target forward speeds, respectively. The functions <inline-formula id="inf39">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf40">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denote the lower and upper admissible nacelle-angle boundaries determined by aerodynamic lift capability, power margin, actuator limitations, and attitude-safety requirements.</p>
<p>The above formulation shows that the high-level nacelle scheduler must address two coupled requirements. First, the nacelle command should evolve as a physically realizable transition variable rather than as a sequence of independent absolute setpoints. Second, the generated command should remain compatible with the speed-dependent admissible corridor under the scheduled low-level flight-control architecture. Therefore, the problem considered in this paper is to design a feedback-capable high-level nacelle scheduler that maps measurable transition states to a smooth, actuator-compatible, and corridor-feasible nacelle command, without replacing the stabilizing low-level attitude and altitude controller.</p>
</sec>
</sec>
<sec id="s3">
<title>Proposed corridor-constrained incremental TD3 tilt strategy</title>
<p>This section presents the proposed energy-aware smooth incremental tilt (ESIT) strategy for solving the high-level nacelle scheduling problem formulated in Section <italic>Problem formulation</italic>. The method is developed under the same scheduled low-level flight-control architecture, so that the learned policy modifies only the nacelle-command evolution rather than the stabilizing attitude and altitude controller.</p>
<p>The central idea of ESIT is to formulate nacelle tilting as a constrained command-evolution process. Instead of directly learning the absolute nacelle angle at each decision instant, the actor learns a bounded nacelle-angle increment. The executable command is then obtained through bounded integration, rate saturation, and projection onto a tightened speed-dependent transition corridor. This action-generation mechanism embeds nacelle-command continuity and actuator-rate compatibility into the policy structure, while the projection layer enforces hard transition-corridor constraint.</p>
<p>The proposed framework is organized around five main elements: the hierarchical transition-control architecture, the scheduling state and incremental action parameterization, the rate-and-corridor feasibility layer, the multi-objective reward design, and the BS-guided reference schedule used for benchmarking and actor warm-starting. The overall framework is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Overall framework of the proposed ESIT strategy.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="arc-04-17000-g001.tif">
<alt-text content-type="machine-generated">Block diagram illustrating a control framework for a quad-tiltrotor UAV in Simulink, showing components such as offline actor pretraining, an incremental TD3 scheduler with neural network icon, a rate-and-corridor feasibility layer with equations, measured states, low-level controller, and a photo of a UAV.</alt-text>
</graphic>
</fig>
<p>The feasibility layer is applied after the actor output and before the low-level controller. Therefore, the actor searches within the performance landscape induced by the closed-loop transition dynamics, while the final command remains compatible with the physical rate and corridor constraints. The corridor penalty in the reward is evaluated before projection, which encourages the actor to learn feasible candidate commands rather than relying entirely on the projection layer. The projection layer nevertheless remains the hard feasibility mechanism. The BS warm-start is used only to improve the initial policy quality and training efficiency. The final learned policy is evaluated as a closed-loop feedback scheduler and is not forced to track the BS reference. This distinction is essential because the objective of ESIT is not to reproduce an offline trajectory, but to learn a state-dependent nacelle-evolution policy under physical transition constraints.</p>
<sec id="s3-1">
<title>Hierarchical transition-control architecture</title>
<p>The proposed scheduler is implemented under a hierarchical transition-control architecture. The high-level scheduler determines the evolution of the nacelle tilt angle, whereas the low-level controller tracks altitude and attitude references and allocates actuator commands to rotors and aerodynamic control surfaces. The scheduled low-level control architecture is kept unchanged for all compared tilt schedules, so that the performance differences can be attributed mainly to the high-level nacelle scheduling mechanism.</p>
<p>At the decision instant <inline-formula id="inf41">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the high-level scheduler receives measurable closed-loop transition information and generates the next nacelle command. The final command is then sent to the low-level controller, which produces the low-level actuator input <inline-formula id="inf42">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The closed-loop information flow is summarized in <xref ref-type="disp-formula" rid="e17">Equation 17</xref> as<disp-formula id="e17">
<mml:math id="m59">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mover accent="true">
<mml:mo>&#x2192;</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mover accent="true">
<mml:mo>&#x2192;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mover accent="true">
<mml:mo>&#x2192;</mml:mo>
<mml:mtext>scale</mml:mtext>
</mml:mover>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x23df;</mml:mo>
</mml:mrow>
</mml:munder>
</mml:mrow>
<mml:mrow>
<mml:mtext>Incremental&#x2009;TD</mml:mtext>
<mml:mn>3</mml:mn>
<mml:mtext>&#x2009;scheduler</mml:mtext>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mover accent="true">
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mtext>rate</mml:mtext>
<mml:mo>/</mml:mo>
<mml:mtext>corridor</mml:mtext>
</mml:mrow>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mover accent="true">
<mml:mo>&#x2192;</mml:mo>
<mml:mrow>
<mml:mtext>low</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>level</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>controller</mml:mtext>
</mml:mrow>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mover accent="true">
<mml:mo>&#x2192;</mml:mo>
<mml:mtext>plant</mml:mtext>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>This hierarchical separation is important for the scope of this work. The RL policy is not required to stabilize the fast attitude and altitude dynamics directly. Instead, it adapts the slow nacelle transition process according to the measured closed-loop scheduling vector. The stabilizing controller provides local attitude and altitude regulation for all tested schedules, while the proposed scheduler shapes the transition behavior through the nacelle command.</p>
<p>
<statement content-type="remark" id="Remark_1">
<label>Remark 1</label>
<p>The proposed framework evaluates nacelle tilt scheduling rather than low-level stabilization. Therefore, the same scheduled low-level control architecture, actuator model, and simulation environment are used for all compared schedules. This setting isolates the effect of action representation and feasibility enforcement at the high-level scheduling layer.</p>
</statement>
</p>
</sec>
<sec id="s3-2">
<title>Scheduling state and incremental action parameterization</title>
<p>The high-level scheduler uses measurable closed-loop transition information to determine the nacelle command evolution. The physical scheduling vector is defined as<disp-formula id="e18">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>where <inline-formula id="inf43">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the altitude tracking error, <inline-formula id="inf44">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the forward speed, <inline-formula id="inf45">
<mml:math id="m63">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msubsup>
</mml:mstyle>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the total rotor-speed index, and <inline-formula id="inf46">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the current nacelle angle. The altitude error characterizes the vertical tracking margin, the forward speed represents the progress of wing-lift buildup and determines the corridor interval, the rotor-speed index provides an effort-related signal, and the nacelle state is included because the scheduling decision depends on the current nacelle configuration.</p>
<p>For neural-network training and policy evaluation, the physical scheduling vector is normalized as<disp-formula id="e19">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mn>4</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>where<disp-formula id="e20">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msubsup>
</mml:mstyle>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>
</p>
<p>The physical and normalized scheduling vectors are defined in <xref ref-type="disp-formula" rid="e18">Equations 18</xref>-<xref ref-type="disp-formula" rid="e21">21</xref>. The normalization does not introduce a new physical scheduling state; it only maps the measurable transition variables into a numerically suitable input range for the actor and critic networks.</p>
<p>Rapid longitudinal acceleration is not used directly as a policy observation. This choice avoids amplifying measurement noise in the high-level scheduler. Instead, acceleration and jerk are evaluated in the reward function to guide the policy toward smooth transition behavior.</p>
<p>The action representation is the key difference between the proposed scheduler and an absolute-action RL scheduler. A conventional absolute-action policy directly maps the scheduling state to the complete nacelle command:<disp-formula id="e22">
<mml:math id="m68">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>abs</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
<mml:mtext>abs</mml:mtext>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
<mml:mtext>abs</mml:mtext>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
</p>
<p>Although this representation is simple, it treats the nacelle command at each decision instant as an independent setpoint. Therefore, the physical evolution between adjacent commands is not encoded in the action itself. Exploration noise, critic approximation errors, or policy updates may consequently lead to abrupt inter-sample command variations.</p>
<p>In contrast, the proposed policy outputs a normalized incremental action<disp-formula id="e23">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>The action <inline-formula id="inf47">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the intended change of the nacelle angle rather than the absolute nacelle command. It is then converted into a nacelle-angle increment and implemented through the discrete-time command-evolution law<disp-formula id="e24">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>
</p>
<p>Thus, the RL scheduler is converted from an absolute setpoint generator into a constrained nacelle-evolution generator. This distinction is fundamental: a smoothness penalty can discourage oscillatory actions, but it does not change the underlying action variable. By contrast, the incremental formulation directly modifies the command-generation structure itself, because the learned action is the nacelle-angle increment and the final command is produced by a constrained update.</p>
<p>The high-level scheduling policy is denoted by<disp-formula id="e25">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x21a6;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>After action scaling, rate saturation, and corridor projection, this policy induces a physical nacelle command sequence<disp-formula id="e26">
<mml:math id="m73">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x39b;</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>
</p>
<p>The absolute-action and incremental-action parameterizations are given by <xref ref-type="disp-formula" rid="e22">Equations 22</xref>-<xref ref-type="disp-formula" rid="e26">26</xref>. A feasible scheduler should therefore generate a physically consistent nacelle evolution that respects both actuator-rate compatibility and the speed-dependent transition corridor, rather than a sequence of unrelated absolute setpoints.</p>
</sec>
<sec id="s3-3">
<title>Rate-and-corridor feasibility layer</title>
<p>The feasibility layer converts the normalized actor output into an executable nacelle command by enforcing two physical implementation requirements: nacelle-rate compatibility and speed-dependent corridor feasibility. This subsection describes the operational command-generation mechanism, whereas the post-training boundedness characterization later analyzes the resulting closed-loop scheduler under explicit assumptions.</p>
<p>The normalized incremental action is first scaled into a raw nacelle-angle increment:<disp-formula id="e27">
<mml:math id="m74">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>raw</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
<mml:mover accent="true">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>where <inline-formula id="inf48">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the high-level decision interval and <inline-formula id="inf49">
<mml:math id="m76">
<mml:mrow>
<mml:mover accent="true">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the prescribed maximum nacelle tilt rate. For the forward level-transition task from the rotor-borne configuration to the wing-borne configuration, a monotonic rate-limited increment is adopted:<disp-formula id="e28">
<mml:math id="m77">
<mml:mrow>
<mml:mtable columnalign="right">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
<mml:mover accent="true">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mtext>sat</mml:mtext>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>raw</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>
</p>
<p>Equivalently, the unidirectional saturation is expressed by <xref ref-type="disp-formula" rid="e29">Equation 29</xref>.<disp-formula id="e29">
<mml:math id="m78">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>raw</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3e;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>raw</mml:mtext>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>raw</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>raw</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
</p>
<p>The unidirectional saturation prevents reverse tilting and ensures that the command evolves consistently with the prescribed forward transition direction.</p>
<p>The pre-projection nacelle command is generated by bounded integration:<disp-formula id="e30">
<mml:math id="m79">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>pre</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>
</p>
<p>This step embeds the inter-sample evolution of the nacelle command into the action-generation process.</p>
<p>For implementation, a tightened transition corridor is introduced as<disp-formula id="e31">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x7c;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>where <inline-formula id="inf50">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is a corridor margin. The margin separates the commanded trajectory from the nominal corridor boundary and provides room for sampling-induced speed variation, modeling mismatch, and low-level tracking transients.</p>
<p>At the current forward speed <inline-formula id="inf51">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the tightened corridor induces the admissible nacelle-angle interval<disp-formula id="e32">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>
</p>
<p>For the monotonic forward transition considered in this paper, the rate-compatible interval is<disp-formula id="e33">
<mml:math id="m84">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="script">R</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>
</p>
<p>The final admissible update interval is the intersection<disp-formula id="e34">
<mml:math id="m85">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2229;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="script">R</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(34)</label>
</disp-formula>
</p>
<p>When <inline-formula id="inf52">
<mml:math id="m86">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is nonempty, the final command is obtained by scalar projection:<disp-formula id="e35">
<mml:math id="m87">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a0;</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>pre</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(35)</label>
</disp-formula>where <inline-formula id="inf53">
<mml:math id="m88">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a0;</mml:mi>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denotes the Euclidean projection onto the closed interval <inline-formula id="inf54">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Equivalently, if<disp-formula id="e36">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:munder accentunder="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(36)</label>
</disp-formula>with<disp-formula id="e37">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:munder accentunder="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(37)</label>
</disp-formula>
<disp-formula id="e38">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(38)</label>
</disp-formula>then the projection can be implemented as<disp-formula id="e39">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>pre</mml:mtext>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:munder accentunder="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(39)</label>
</disp-formula>
</p>
<p>The tightened corridor, admissible intervals, and projected update are defined in <xref ref-type="disp-formula" rid="e31">Equations 31</xref>-<xref ref-type="disp-formula" rid="e34">34</xref>, <xref ref-type="disp-formula" rid="e36">36</xref>-<xref ref-type="disp-formula" rid="e39">39</xref>. Thus, the actor output is not directly applied to the plant. Instead, it is first interpreted as an intended nacelle-angle increment and then processed by rate saturation and tightened-corridor projection. This design separates reward-level performance optimization from hard feasibility enforcement: the TD3 actor searches for a desirable transition behavior, while the feasibility layer enforces actuator-rate compatibility and practical corridor admissibility.</p>
<p>The transition corridor used in the feasibility layer should be interpreted as a scheduling corridor for high-level command generation, rather than as an exact representation of the full physical flight envelope. In practical tiltrotor transition, the admissible boundary may be affected by stall limits, power constraints, rotor--wing interference, attitude-safety requirements, actuator limits, and control-allocation capability. As a result, the raw transition envelope obtained from trimming, aerodynamic analysis, or offline simulation may contain piecewise segments, corner points, nonsmooth portions, or locally conservative regions.</p>
<p>The margin <inline-formula id="inf55">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is selected to compensate for one-step boundary movement and to avoid operating exactly on the nominal corridor boundary. Let<disp-formula id="e40">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mtext>Lip</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>Lip</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(40)</label>
</disp-formula>be an estimated gradient bound of the smoothed corridor boundaries over <inline-formula id="inf56">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. In a tabulated implementation, <inline-formula id="inf57">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can be estimated from finite differences of the stored corridor table as<disp-formula id="e41">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mi>max</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:munder>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(41)</label>
</disp-formula>
</p>
<p>If the forward-speed variation over one high-level sampling interval is bounded by<disp-formula id="e42">
<mml:math id="m99">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(42)</label>
</disp-formula>then a practical margin-selection rule is<disp-formula id="e43">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</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:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(43)</label>
</disp-formula>
</p>
<p>A practical corridor-margin selection rule is given by <xref ref-type="disp-formula" rid="e40">Equations 40</xref>-<xref ref-type="disp-formula" rid="e43">43</xref>. The lower bound reserves angular margin for one-step corridor-boundary movement caused by forward-speed variation, whereas the upper bound prevents the tightened corridor from becoming empty or excessively conservative. The one-step speed bound <inline-formula id="inf58">
<mml:math id="m101">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can be estimated either from an acceleration bound as <inline-formula id="inf59">
<mml:math id="m102">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, or directly from the maximum one-step forward-speed variation observed in offline envelope-generation simulations.</p>
<p>If <inline-formula id="inf60">
<mml:math id="m103">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> becomes empty in implementation, no command can simultaneously satisfy the tightened-corridor interval and the monotonic rate interval at that decision instant. This event is recorded as a feasibility-margin event, indicating that the corridor smoothing, the margin <inline-formula id="inf61">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the high-level sampling time <inline-formula id="inf62">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the nacelle-rate limit <inline-formula id="inf63">
<mml:math id="m106">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, or the nominal corridor table should be redesigned. In the simulations of this paper, these design elements are selected so that the admissible update interval remains nonempty along the evaluated transition trajectories.</p>
<p>This feasibility layer should be distinguished from a continuous-time safety proof for detailed nacelle-servo dynamics. It specifies how the sampled high-level command is generated to be rate-compatible and corridor-aware. Detailed servo lag, overshoot, actuator faults, and online corridor adaptation require additional actuator-level analysis or experimental validation, which are beyond the scope of the present high-level scheduling design.</p>
</sec>
<sec id="s3-4">
<title>Multi-objective reward design</title>
<p>The level-transition scheduler must balance several competing objectives. Increasing the nacelle angle promotes forward acceleration and transition completion, but it reduces the vertical component of rotor thrust and may increase altitude deviation. Conversely, delaying nacelle rotation preserves vertical thrust margin but may increase transition duration and rotor-speed demand. In addition, abrupt nacelle variations may induce excessive longitudinal acceleration and jerk, which are undesirable for actuator compatibility and transition smoothness.</p>
<p>The reward function is designed as a normalized maximization-oriented surrogate of the scheduling trade-off considered in this work. It combines mission progress, actuator-effort regulation, and handling-qualities penalties, while leaving hard rate and corridor admissibility to the feasibility layer. The altitude-error, rotor-speed, acceleration, jerk, and increment terms correspond to the penalty terms in (<xref ref-type="disp-formula" rid="e56">Equation 56</xref>) with opposite signs, whereas the forward-speed term corresponds to the negative speed term in the cost. Additional shaping terms are introduced to improve learning efficiency and to reduce unnecessary reliance on the projection layer.</p>
<p>The feasibility layer enforces the actuator-rate and corridor constraints independently of the reward. Therefore, the reward function primarily shapes transition performance, while hard admissibility is imposed by the command-generation mechanism in Subsection <italic>Rate-and-corridor feasibility layer</italic>.</p>
<p>As shown in the hierarchical decomposition, the instantaneous reward is explicitly divided into three categories: mission goal reward, actuator effort penalty, and flight safety and quality penalty, which correspond to transition completion &#x26; velocity promotion, actuator operation smoothness constraint, and flight state safety maintenance, respectively. This yields the unified structural expression <inline-formula id="inf64">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">R</mml:mi>
<mml:mtext>mission</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mtext>actuator</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mrow>
<mml:mtext>safe</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>qual</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf65">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">R</mml:mi>
<mml:mtext>mission</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the mission-oriented reward item, <inline-formula id="inf66">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mtext>actuator</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the penalty for consumption actuator operating effort and fluctuation, and <inline-formula id="inf67">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mrow>
<mml:mtext>safe</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>qual</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> stands for the comprehensive penalty related to flight safety and dynamic quality.</p>
<p>At each decision instant, the categorized reward components are specifically defined in <xref ref-type="disp-formula" rid="e44">Equations 44</xref>-<xref ref-type="disp-formula" rid="e47">47</xref>.<disp-formula id="e44">
<mml:math id="m111">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">R</mml:mi>
<mml:mtext>mission</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mtext>actuator</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mrow>
<mml:mtext>safe</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>qual</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(44)</label>
</disp-formula>
<disp-formula id="e45">
<mml:math id="m112">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">R</mml:mi>
<mml:mtext>mission</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">v</mml:mi>
</mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(45)</label>
</disp-formula>
<disp-formula id="e46">
<mml:math id="m113">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mtext>actuator</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a6;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>pre</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(46)</label>
</disp-formula>
<disp-formula id="e47">
<mml:math id="m114">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mrow>
<mml:mtext>safe</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>qual</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(47)</label>
</disp-formula>in which <inline-formula id="inf68">
<mml:math id="m115">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">v</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf69">
<mml:math id="m116">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are non-negative weighting coefficients. The mission goal reward encourages forward-speed buildup and accelerates the overall transition progress, where the mixed coupling term facilitates synchronous optimization of nacelle tilt angle and flight velocity. The actuator effort penalty regularizes the incremental nacelle command within the admissible rate interval (acting as a soft constraint rather than enforcing the hard rate limit, which is already handled by the feasibility layer), suppresses excessive rotor-speed demand, and guides the policy to generate candidate commands close to the feasible corridor region in advance. The safety and quality penalty mainly suppresses altitude tracking deviation, excessive longitudinal acceleration and severe jerk, so as to guarantee stable and comfortable transition flight.</p>
<p>The acceleration and jerk penalties are defined as<disp-formula id="e48">
<mml:math id="m117">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>max</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mtext>th</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(48)</label>
</disp-formula>
<disp-formula id="e49">
<mml:math id="m118">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>max</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mtext>th</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(49)</label>
</disp-formula>where <inline-formula id="inf70">
<mml:math id="m119">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mtext>th</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf71">
<mml:math id="m120">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mtext>th</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are prescribed smoothness thresholds. These terms suppress aggressive longitudinal transients during the lift-redistribution process.</p>
<p>The corridor-related penalty is evaluated using the pre-projection command:<disp-formula id="e50">
<mml:math id="m121">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a6;</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>pre</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mtext>dist</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>pre</mml:mtext>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(50)</label>
</disp-formula>where <inline-formula id="inf72">
<mml:math id="m122">
<mml:mrow>
<mml:mtext>dist</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the Euclidean distance to the tightened corridor interval. This term encourages the actor to generate commands that are naturally close to the admissible region before projection, thereby reducing reliance on the feasibility layer during training.</p>
<p>The terminal completion reward <inline-formula id="inf73">
<mml:math id="m123">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is given by<disp-formula id="e51">
<mml:math id="m124">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>tar</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;and</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3f5;</mml:mi>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext>otherwise</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(51)</label>
</disp-formula>where <inline-formula id="inf74">
<mml:math id="m125">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>tar</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the target transition-completion speed, <inline-formula id="inf75">
<mml:math id="m126">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3f5;</mml:mi>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a small terminal nacelle-angle tolerance, and <inline-formula id="inf76">
<mml:math id="m127">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is the positive terminal-completion bonus. The acceleration, jerk, corridor, and terminal reward terms are given by <xref ref-type="disp-formula" rid="e48">Equations 48</xref>-<xref ref-type="disp-formula" rid="e51">51</xref>.</p>
<p>
<statement content-type="remark" id="Remark_2">
<label>Remark 2</label>
<p>The rotor-speed-related term in the reward function serves as an operation effort proxy. It reflects the variation tendency of rotor rotational speed demand during aerodynamic lift redistribution and transition scheduling, rather than establishing a high-fidelity calibrated model of electrical energy consumption, motor operating efficiency or battery power loss.</p>
</statement>
</p>
</sec>
<sec id="s3-5">
<title>BS-guided reference schedule</title>
<p>A Beetle Swarm (BS) Optimization based reference schedule is used to provide a physically feasible benchmark and actor warm-start source. The BS optimization is performed offline over a finite-dimensional parameterization of the nacelle schedule. This reference is not imposed as a tracking command during final TD3 policy evaluation; it is used only to initialize the actor toward a feasible transition trend and to provide an interpretable non-learning baseline.</p>
<p>The nacelle schedule is parameterized by a normalized PCHIP interpolation curve. Let<disp-formula id="e52">
<mml:math id="m128">
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(52)</label>
</disp-formula>denote the free interpolation-node vector. Together with the boundary conditions<disp-formula id="e53">
<mml:math id="m129">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>0</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mtext>tilt</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(53)</label>
</disp-formula>the parameter vector <inline-formula id="inf77">
<mml:math id="m130">
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> determines a smooth baseline nacelle profile <inline-formula id="inf78">
<mml:math id="m131">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="normal">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>The offline optimization problem is written as<disp-formula id="e54">
<mml:math id="m132">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mo>&#x22c6;</mml:mo>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi mathvariant="normal">J</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(54)</label>
</disp-formula>where <inline-formula id="inf79">
<mml:math id="m133">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the feasible parameter domain and <inline-formula id="inf80">
<mml:math id="m134">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">J</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (55) is a multi-objective transition-performance index including altitude error, speed buildup, rotor-speed-related effort, acceleration, jerk, and terminal completion terms. The BS schedule parameterization and offline optimization are formulated in <xref ref-type="disp-formula" rid="e52">Equations 52</xref>-<xref ref-type="disp-formula" rid="e54">54</xref>.</p>
<p>For a finite transition horizon <inline-formula id="inf81">
<mml:math id="m135">
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the transition-performance index is defined in <xref ref-type="disp-formula" rid="e55">Equations 55</xref>-<xref ref-type="disp-formula" rid="e57">57</xref>.<disp-formula id="e55">
<mml:math id="m136">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">J</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mi mathvariant="script">l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">l</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(55)</label>
</disp-formula>
<disp-formula id="e56">
<mml:math id="m137">
<mml:mrow>
<mml:mi mathvariant="script">l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">v</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mo>&#x394;</mml:mo>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(56)</label>
</disp-formula>
<disp-formula id="e57">
<mml:math id="m138">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">l</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mtext>vf</mml:mtext>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(57)</label>
</disp-formula>where <inline-formula id="inf82">
<mml:math id="m139">
<mml:mrow>
<mml:mi mathvariant="script">l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the stage cost and <inline-formula id="inf83">
<mml:math id="m140">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">l</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the terminal cost.</p>
<p>
<inline-formula id="inf84">
<mml:math id="m141">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">v</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mo>&#x394;</mml:mo>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> are weighting coefficients. The terms in (56) penalize altitude error, rotor-speed-based effort, excessive longitudinal acceleration, jerk, and aggressive nacelle increments, while rewarding forward-speed buildup through the negative <inline-formula id="inf85">
<mml:math id="m142">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> term. The functions <inline-formula id="inf86">
<mml:math id="m143">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf87">
<mml:math id="m144">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c1;</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are nonnegative penalty functions used to suppress acceleration and jerk beyond desired smoothness levels. The acceleration <inline-formula id="inf88">
<mml:math id="m145">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and jerk <inline-formula id="inf89">
<mml:math id="m146">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are performance-evaluation variables rather than direct components of the scheduling state <inline-formula id="inf90">
<mml:math id="m147">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf91">
<mml:math id="m148">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mtext>vf</mml:mtext>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. This term encourages terminal speed buildup, completion of nacelle transition, and bounded terminal altitude error.</p>
<p>The criterion in (<xref ref-type="disp-formula" rid="e55">Equation 55</xref>) specifies the desired scheduling trade-off. The offline BS criterion follows the same scheduling trade-off as the reward design, but is expressed as a deterministic finite-horizon cost for reference generation. Compared to the reinforcement-learning reward, which acts as its normalized maximization-oriented surrogate with additional shaping terms for training efficiency and feasibility, this criterion eliminates these unnecessary implementation-related terms.</p>
<p>The optimized reference is used in two ways. First, it serves as a deterministic benchmark in the simulation section. Second, it provides supervised samples for actor warm-starting. Specifically, state--action pairs are extracted along the BS schedule:<disp-formula id="e58">
<mml:math id="m149">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(58)</label>
</disp-formula>where<disp-formula id="e59">
<mml:math id="m150">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>BS</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(59)</label>
</disp-formula>
</p>
<p>The actor can then be initialized by minimizing<disp-formula id="e60">
<mml:math id="m151">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mtext>pre</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(60)</label>
</disp-formula>
</p>
<p>Supervised warm-start samples and the pretraining loss are given by <xref ref-type="disp-formula" rid="e58">Equations 58</xref>&#x2013;<xref ref-type="disp-formula" rid="e60">60</xref>.</p>
<p>
<statement content-type="remark" id="Remark_3">
<label>Remark 3</label>
<p>The BS reference provides an initial feasible tilt trend, but it does not constrain the final learned TD3 policy to reproduce the BS trajectory. After warm-starting, the actor is further optimized through closed-loop interaction with the environment, and the final policy is selected according to the fixed evaluation criterion described in Section <italic>Simulation results and performance evaluation</italic>.</p>
</statement>
</p>
</sec>
<sec id="s3-6">
<title>TD3-based policy optimization</title>
<p>The proposed scheduler is trained using the twin delayed deep deterministic policy gradient algorithm. TD3 is adopted because it is suitable for continuous-action control and mitigates the overestimation bias of deterministic actor--critic learning through clipped double critics, delayed actor updates, and target policy smoothing.</p>
<p>The actor network is denoted by <inline-formula id="inf92">
<mml:math id="m152">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and the two critic networks are denoted by <inline-formula id="inf93">
<mml:math id="m153">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf94">
<mml:math id="m154">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Their target networks are denoted by <inline-formula id="inf95">
<mml:math id="m155">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf96">
<mml:math id="m156">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf97">
<mml:math id="m157">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. At each training step, a transition tuple<disp-formula id="e61">
<mml:math id="m158">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(61)</label>
</disp-formula>is stored in the replay buffer <inline-formula id="inf98">
<mml:math id="m159">
<mml:mrow>
<mml:mi mathvariant="script">B</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>For a mini-batch sampled from <inline-formula id="inf99">
<mml:math id="m160">
<mml:mrow>
<mml:mi mathvariant="script">B</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the target action is computed as<disp-formula id="e62">
<mml:math id="m161">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>clip</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3f5;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:mi>&#x3f5;</mml:mi>
<mml:mo>&#x223c;</mml:mo>
<mml:mtext>clip</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mtext>tar</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi>&#x3f5;</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi>&#x3f5;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(62)</label>
</disp-formula>
</p>
<p>The target value is<disp-formula id="e63">
<mml:math id="m162">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">&#x3b3;</mml:mi>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(63)</label>
</disp-formula>where <inline-formula id="inf100">
<mml:math id="m163">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the discount factor. Each critic is updated by minimizing<disp-formula id="e64">
<mml:math id="m164">
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(64)</label>
</disp-formula>where <inline-formula id="inf101">
<mml:math id="m165">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the mini-batch size.</p>
<p>The actor is updated less frequently according to the deterministic policy gradient:<disp-formula id="e65">
<mml:math id="m166">
<mml:mrow>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">J</mml:mi>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
</mml:msub>
<mml:mo>&#x2248;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(65)</label>
</disp-formula>
</p>
<p>The target networks are updated by soft update:<disp-formula id="e66">
<mml:math id="m167">
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2190;</mml:mo>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2190;</mml:mo>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(66)</label>
</disp-formula>where <inline-formula id="inf102">
<mml:math id="m168">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the soft-update coefficient.</p>
<p>During environment interaction, the exploratory action is<disp-formula id="e67">
<mml:math id="m169">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>clip</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x223c;</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mi>exp</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(67)</label>
</disp-formula>
</p>
<p>The sampled action is then passed through the same scaling, rate-saturation, and corridor-projection mechanism described in Subsection <italic>Rate-and-corridor feasibility layer</italic>. Therefore, both training and evaluation use the same physical command-generation structure.</p>
<p>The training procedure is summarized in <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>.</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<title>Corridor-Constrained Incremental TD3 for Nacelle Tilt Scheduling.</title>
<p>
<list list-type="simple">
<list-item>
<p>1: Initialize actor <inline-formula id="inf103">
<mml:math id="m170">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, critics <inline-formula id="inf104">
<mml:math id="m171">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and target networks.</p>
</list-item>
<list-item>
<p>2: Initialize replay buffer <inline-formula id="inf105">
<mml:math id="m172">
<mml:mrow>
<mml:mi mathvariant="script">B</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>3: Optionally warm-start <inline-formula id="inf106">
<mml:math id="m173">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> using the BS reference dataset <inline-formula id="inf107">
<mml:math id="m174">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mtext>BS</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>4: <bold>For</bold> each episode <bold>do</bold>
</p>
</list-item>
<list-item>
<p>5: &#x2003;&#x2003;Reset the transition environment and obtain <inline-formula id="inf108">
<mml:math id="m175">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; compute <inline-formula id="inf109">
<mml:math id="m176">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>6: &#x2003;&#x2003;For <inline-formula id="inf110">
<mml:math id="m177">
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>7: &#x2003;&#x2003;&#x2003;&#x2003;Generate exploratory incremental action <inline-formula id="inf111">
<mml:math id="m178">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>clip</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
<mml:mi mathvariant="normal">&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>8: &#x2003;&#x2003;&#x2003;&#x2003;Scale <inline-formula id="inf112">
<mml:math id="m179">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf113">
<mml:math id="m180">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mtext>raw</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> using (<xref ref-type="disp-formula" rid="e27">Equation 27</xref>).</p>
</list-item>
<list-item>
<p>9: &#x2003;&#x2003;&#x2003;&#x2003;Apply rate saturation using (<xref ref-type="disp-formula" rid="e28">Equation 28</xref>).</p>
</list-item>
<list-item>
<p>10: &#x2003;&#x2003;&#x2003;&#x2003;Generate <inline-formula id="inf114">
<mml:math id="m181">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>pre</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> using (<xref ref-type="disp-formula" rid="e30">Equation 30</xref>).</p>
</list-item>
<list-item>
<p>11: &#x2003;&#x2003;&#x2003;&#x2003;Project <inline-formula id="inf115">
<mml:math id="m182">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>pre</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> onto <inline-formula id="inf116">
<mml:math id="m183">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> using (<xref ref-type="disp-formula" rid="e35">Equation 35</xref>).</p>
</list-item>
<list-item>
<p>12: &#x2003;&#x2003;&#x2003;&#x2003;Apply <inline-formula id="inf117">
<mml:math id="m184">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to the low-level controller and simulate the plant.</p>
</list-item>
<list-item>
<p>13: &#x2003;&#x2003;&#x2003;&#x2003;Obtain the next physical scheduling vector <inline-formula id="inf118">
<mml:math id="m185">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and compute <inline-formula id="inf119">
<mml:math id="m186">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>14: &#x2003;&#x2003;&#x2003;&#x2003;Compute reward <inline-formula id="inf120">
<mml:math id="m187">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> using (<xref ref-type="disp-formula" rid="e47">Equation 47</xref>).</p>
</list-item>
<list-item>
<p>15: &#x2003;&#x2003;&#x2003;&#x2003;Store <inline-formula id="inf121">
<mml:math id="m188">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> in <inline-formula id="inf122">
<mml:math id="m189">
<mml:mrow>
<mml:mi mathvariant="script">B</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>16: &#x2003;&#x2003;&#x2003;&#x2003;Update critics using (<xref ref-type="disp-formula" rid="e63">Equations 63</xref>, <xref ref-type="disp-formula" rid="e64">64</xref>).</p>
</list-item>
<list-item>
<p>17: &#x2003;&#x2003;&#x2003;&#x2003;Delayed update of the actor using (<xref ref-type="disp-formula" rid="e65">Equation 65</xref>).</p>
</list-item>
<list-item>
<p>18: &#x2003;&#x2003;&#x2003;&#x2003;Soft-update target networks using (<xref ref-type="disp-formula" rid="e66">Equation 66</xref>).</p>
</list-item>
<list-item>
<p>19: &#x2003;&#x2003;End For</p>
</list-item>
<list-item>
<p>20: End For</p>
</list-item>
</list>
</p>
</statement>
</p>
<p>The preceding subsections define the command-generation and training procedure of the proposed scheduler. Before characterizing the post-training boundedness property, the scheduled low-level closed-loop representation used in the analysis is introduced below.</p>
</sec>
<sec id="s3-7">
<title>Low-level controller formulation</title>
<p>The role of the high-level scheduler is therefore to generate a feasible nacelle-angle evolution <inline-formula id="inf123">
<mml:math id="m190">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> while the scheduled low-level controller family maintains altitude and attitude tracking over the admissible transition corridor.</p>
<p>For each admissible nacelle command, the low-level controller generates <inline-formula id="inf124">
<mml:math id="m191">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to track the altitude and attitude references. Since the control effectiveness and aerodynamic characteristics vary significantly with the forward speed and nacelle angle, the low-level controller is represented as a scheduled controller family rather than a single fixed-parameter feedback law.</p>
<p>Let the scheduling variable be defined as<disp-formula id="e68">
<mml:math id="m192">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(68)</label>
</disp-formula>where <inline-formula id="inf125">
<mml:math id="m193">
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the admissible transition corridor. In implementation, this admissible corridor is represented by a smoothed scheduling corridor constructed from the raw offline envelope, as detailed in Subsection <italic>Rate-and-corridor feasibility layer</italic>.</p>
<p>The low-level control law is written as<disp-formula id="e69">
<mml:math id="m194">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3ba;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(69)</label>
</disp-formula>where <inline-formula id="inf126">
<mml:math id="m195">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the low-level reference signal, and the subscript <inline-formula id="inf127">
<mml:math id="m196">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> indicates that the controller parameters are scheduled according to the current transition operating condition. This notation covers gain-scheduled, interpolated, or locally parameterized low-level controllers without requiring the high-level scheduler to redesign the stabilizing controller online.</p>
<p>Substituting (<xref ref-type="disp-formula" rid="e69">Equation 69</xref>) into (<xref ref-type="disp-formula" rid="e13">Equation 13</xref>) yields the scheduled closed-loop longitudinal dynamics by <xref ref-type="disp-formula" rid="e70">Equation 70</xref>.<disp-formula id="e70">
<mml:math id="m197">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(70)</label>
</disp-formula>where<disp-formula id="e71">
<mml:math id="m198">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3ba;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(71)</label>
</disp-formula>
</p>
<p>With this scheduled closed-loop representation, the trained actor can now be treated as a bounded nonlinear scheduler, and the local boundedness of the resulting tracking-error dynamics can be characterized.</p>
</sec>
<sec id="s3-8">
<title>Post-training boundedness characterization</title>
<p>The preceding subsections define how the actor output is converted into an executable nacelle command through incremental action scaling, rate saturation, bounded integration, and corridor projection. This subsection provides a post-training boundedness characterization of the resulting closed-loop scheduler. The purpose is not to prove TD3 convergence, global optimality, or global nonlinear stability. Instead, the trained actor is treated as a bounded nonlinear scheduler, and the local boundedness of the scheduled low-level tracking error is characterized under explicit assumptions.</p>
<p>The analysis is conducted for the implemented closed-loop system after training. Suppose that the feasibility layer and the corridor-margin design described in Subsection Rate-and-corridor feasibility layer generate an implemented nacelle schedule satisfying<disp-formula id="e72">
<mml:math id="m199">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(72)</label>
</disp-formula>over the considered level-transition interval. This condition means that the high-level scheduling trajectory remains inside the admissible speed&#x2013;nacelle-angle corridor used for the scheduled low-level control design. Although the transition task is evaluated over a finite horizon, the boundedness result below is stated in the standard UUB form. It applies when the implemented schedule remains in <inline-formula id="inf128">
<mml:math id="m200">
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> during transition and then stays in an admissible terminal operating region after transition completion. Over the finite transition horizon, the same differential inequality directly provides an explicit local tracking-error bound. In the simulations, corridor membership is verified by evaluating the generated transition trajectories in the forward-speed&#x2013;nacelle-angle plane.</p>
<p>The high-level scheduler determines the nacelle-angle evolution, whereas the scheduled low-level controller family stabilizes the attitude and altitude loops over the admissible transition corridor. Let the longitudinal tracking error be defined as<disp-formula id="e73">
<mml:math id="m201">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(73)</label>
</disp-formula>where<disp-formula id="e74">
<mml:math id="m202">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(74)</label>
</disp-formula>
</p>
<p>For the level-transition task considered in this paper, the desired altitude is constant and the nominal desired pitch motion is selected as<disp-formula id="e75">
<mml:math id="m203">
<mml:mrow>
<mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b8;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(75)</label>
</disp-formula>
</p>
<p>From the scheduled closed-loop longitudinal dynamics (<xref ref-type="disp-formula" rid="e71">Equation 71</xref>), the corresponding tracking-error dynamics can be written locally as<disp-formula id="e76">
<mml:math id="m204">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a6;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(76)</label>
</disp-formula>where <inline-formula id="inf129">
<mml:math id="m205">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a6;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the error-system vector field induced by the scheduled low-level closed-loop dynamics. The nominal zero-error manifold is assumed to be locally consistent with the scheduled low-level controller, namely<disp-formula id="e77">
<mml:math id="m206">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a6;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(77)</label>
</disp-formula>
</p>
<p>The tracking-error state, reference conditions, local error dynamics, and zero-error consistency condition are defined in <xref ref-type="disp-formula" rid="e73">Equations 73</xref> -<xref ref-type="disp-formula" rid="e77">77</xref>. Any residual trim mismatch or unmodeled bias is included in the bounded disturbance term <inline-formula id="inf130">
<mml:math id="m207">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Around the nominal zero-error manifold, the scheduled tracking-error dynamics are represented by the local expansion<disp-formula id="e78">
<mml:math id="m208">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(78)</label>
</disp-formula>where <inline-formula id="inf131">
<mml:math id="m209">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the Jacobian matrix of the scheduled low-level closed-loop error dynamics, <inline-formula id="inf132">
<mml:math id="m210">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the disturbance input matrix, and <inline-formula id="inf133">
<mml:math id="m211">
<mml:mrow>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> collects higher-order nonlinear residuals.</p>
<p>In (<xref ref-type="disp-formula" rid="e78">Equation 78</xref>), the nacelle angle <inline-formula id="inf134">
<mml:math id="m212">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> affects the tracking-error dynamics through the scheduling variable <inline-formula id="inf135">
<mml:math id="m213">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and the scheduled closed-loop vector field <inline-formula id="inf136">
<mml:math id="m214">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">F</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Therefore, the nacelle-rate bound established by the incremental command-generation mechanism is not introduced as an independent low-level input. Instead, rate-compatible nacelle evolution supports the validity of the local scheduled model by preventing abrupt movement among operating conditions.</p>
<p>
<statement content-type="assumption" id="Assumption_1">
<label>Assumption 1</label>
<p>
<italic>(Uniform local stability of the scheduled low-level controller).</italic> For all <inline-formula id="inf137">
<mml:math id="m217">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, there exist symmetric positive definite matrices <inline-formula id="inf138">
<mml:math id="m218">
<mml:mrow>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf139">
<mml:math id="m219">
<mml:mrow>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, independent of <inline-formula id="inf140">
<mml:math id="m220">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, such that<disp-formula id="e79">
<mml:math id="m215">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msubsup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(79)</label>
</disp-formula>
</p>
</statement>
</p>
<p>
<statement content-type="assumption" id="Assumption_2">
<label>Assumption 2</label>
<p>
<italic>(Bounded disturbance and local residual)</italic>. The lumped longitudinal disturbance arising from aerodynamic uncertainty, external wind interference and unmodeled dynamics is bounded as<disp-formula id="e80">
<mml:math id="m216">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(80)</label>
</disp-formula>
</p>
</statement>
</p>
<p>Herein, <inline-formula id="inf141">
<mml:math id="m221">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the predefined upper amplitude bound of the overall lumped system disturbance. Moreover, <inline-formula id="inf142">
<mml:math id="m222">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is uniformly bounded over the admissible transition corridor:<disp-formula id="e81">
<mml:math id="m223">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(81)</label>
</disp-formula>where <inline-formula id="inf143">
<mml:math id="m224">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the maximum spectral norm bound of the disturbance input matrix varying with scheduling states. The nonlinear residual satisfies<disp-formula id="e82">
<mml:math id="m225">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mo>&#x394;</mml:mo>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(82)</label>
</disp-formula>for all <inline-formula id="inf144">
<mml:math id="m226">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and all <inline-formula id="inf145">
<mml:math id="m227">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> inside a compact neighborhood<disp-formula id="e83">
<mml:math id="m228">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(83)</label>
</disp-formula>
</p>
<p>The common-Lyapunov and local bounding assumptions are stated in <xref ref-type="disp-formula" rid="e79">Equations 79</xref> -<xref ref-type="disp-formula" rid="e83">83</xref>. In particular, <inline-formula id="inf146">
<mml:math id="m229">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mo>&#x394;</mml:mo>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the quadratic Lipschitz constant used to quantify the growth rate of high-order unmodeled nonlinear terms, and <inline-formula id="inf147">
<mml:math id="m230">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> stands for the maximum allowable radius of the local error convergence domain where the above nonlinear bounding condition holds.<disp-formula id="e84">
<mml:math id="m231">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(84)</label>
</disp-formula>where <inline-formula id="inf148">
<mml:math id="m232">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Suppose that the implemented schedule satisfies (<xref ref-type="disp-formula" rid="e72">Equation 72</xref>) during transition and remains in an admissible terminal operating region after completion. Suppose further that <xref ref-type="statement" rid="Assumption_1 Assumption_2">Assumptions 1 and 2</xref> hold. Let<disp-formula id="e85">
<mml:math id="m233">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">P</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">P</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">Q</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(85)</label>
</disp-formula>
</p>
<p>The eigenvalue bounds used in the theorem are defined in <xref ref-type="disp-formula" rid="e85">Equation 85</xref>.</p>
<p>
<statement content-type="remark" id="Remark_4">
<label>Remark 4</label>
<p>
<xref ref-type="statement" rid="Assumption_1">Assumption 1</xref> is a uniform local stability condition for the scheduled low-level controller family over the considered transition corridor. It is not an assumption on the convergence or stability of the TD3 learning algorithm. The trained actor provides a bounded high-level scheduling command, while the scheduled low-level controller family is responsible for stabilizing the altitude and attitude tracking dynamics. The use of a common <inline-formula id="inf149">
<mml:math id="m234">
<mml:mrow>
<mml:mi mathvariant="normal">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is conservative, but it avoids additional terms associated with parameter-dependent Lyapunov functions or switching among local Lyapunov functions. This condition is used only to obtain a local boundedness characterization of the scheduled low-level error dynamics.</p>
</statement>
</p>
<p>
<statement content-type="theorem" id="Theorem_1">
<label>Theorem 1</label>
<p>
<italic>(Conditional uniform ultimate boundedness)</italic>. Consider the scheduled tracking-error dynamics.</p>
</statement>
</p>
<p>Choose a local radius <inline-formula id="inf150">
<mml:math id="m235">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
</mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfenced open="" close="]" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> such that<disp-formula id="e86">
<mml:math id="m236">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mo>&#x394;</mml:mo>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(86)</label>
</disp-formula>
</p>
<p>Then, for any solution of (<xref ref-type="disp-formula" rid="e84">Equation 84</xref>) that remains in<disp-formula id="e87">
<mml:math id="m237">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">D</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(87)</label>
</disp-formula>the tracking error is uniformly ultimately bounded. Specifically, define<disp-formula id="e88">
<mml:math id="m238">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(88)</label>
</disp-formula>and<disp-formula id="e89">
<mml:math id="m239">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mfrac>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(89)</label>
</disp-formula>
</p>
<p>Then the Lyapunov function<disp-formula id="e90">
<mml:math id="m240">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mtext>Pe</mml:mtext>
</mml:mrow>
</mml:math>
<label>(90)</label>
</disp-formula>satisfies<disp-formula id="e91">
<mml:math id="m241">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(91)</label>
</disp-formula>
</p>
<p>Consequently,<disp-formula id="e92">
<mml:math id="m242">
<mml:mrow>
<mml:munder>
<mml:mi>limsup</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
</mml:mrow>
<mml:msqrt>
<mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:msqrt>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(92)</label>
</disp-formula>
</p>
<p>Moreover, if there exists a constant <inline-formula id="inf151">
<mml:math id="m243">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> satisfying<disp-formula id="e93">
<mml:math id="m244">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2001;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(93)</label>
</disp-formula>then the sublevel set<disp-formula id="e94">
<mml:math id="m245">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(94)</label>
</disp-formula>is positively invariant, and the bound (<xref ref-type="disp-formula" rid="e92">Equation 92</xref>) holds for all <inline-formula id="inf152">
<mml:math id="m246">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Proof. Choose the Lyapunov function candidate<disp-formula id="e95">
<mml:math id="m247">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mtext>Pe</mml:mtext>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(95)</label>
</disp-formula>
</p>
<p>Since <inline-formula id="inf153">
<mml:math id="m248">
<mml:mrow>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, it satisfies<disp-formula id="e96">
<mml:math id="m249">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(96)</label>
</disp-formula>
</p>
<p>Taking the derivative of <inline-formula id="inf154">
<mml:math id="m250">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> along (<xref ref-type="disp-formula" rid="e84">Equation 84</xref>) gives<disp-formula id="e97">
<mml:math id="m251">
<mml:mrow>
<mml:mtable columnalign="right">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msubsup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(97)</label>
</disp-formula>
</p>
<p>Using <xref ref-type="statement" rid="Assumption_1">Assumption 1</xref>, one obtains<disp-formula id="e98">
<mml:math id="m252">
<mml:mrow>
<mml:mtable columnalign="right">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mo>&#x394;</mml:mo>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>3</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(98)</label>
</disp-formula>
</p>
<p>For <inline-formula id="inf155">
<mml:math id="m253">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">D</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, condition (<xref ref-type="disp-formula" rid="e86">Equation 86</xref>) implies<disp-formula id="e99">
<mml:math id="m254">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mo>&#x394;</mml:mo>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>3</mml:mn>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mo>&#x394;</mml:mo>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(99)</label>
</disp-formula>
</p>
<p>Substituting (<xref ref-type="disp-formula" rid="e99">Equation 99</xref>) into (<xref ref-type="disp-formula" rid="e98">Equation 98</xref>) yields<disp-formula id="e100">
<mml:math id="m255">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:mfrac>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(100)</label>
</disp-formula>
</p>
<p>By Young&#x2019;s inequality,<disp-formula id="e101">
<mml:math id="m256">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
</mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mfrac>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(101)</label>
</disp-formula>
</p>
<p>Therefore,<disp-formula id="e102">
<mml:math id="m257">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mfrac>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(102)</label>
</disp-formula>
</p>
<p>Using <inline-formula id="inf156">
<mml:math id="m258">
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, one obtains<disp-formula id="e103">
<mml:math id="m259">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(103)</label>
</disp-formula>
</p>
<p>From the upper quadratic bound in (<xref ref-type="disp-formula" rid="e96">Equation 96</xref>),<disp-formula id="e104">
<mml:math id="m260">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(104)</label>
</disp-formula>
<disp-formula id="e105">
<mml:math id="m261">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2265;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(105)</label>
</disp-formula>
</p>
<p>The intermediate Lyapunov inequalities are given by <xref ref-type="disp-formula" rid="e100">Equation 100</xref> -<xref ref-type="disp-formula" rid="e105">105</xref>. Hence,<disp-formula id="e106">
<mml:math id="m262">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(106)</label>
</disp-formula>
</p>
<p>Solving the scalar differential inequality (<xref ref-type="disp-formula" rid="e106">Equation 106</xref>) gives<disp-formula id="e107">
<mml:math id="m263">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(107)</label>
</disp-formula>which proves (<xref ref-type="disp-formula" rid="e91">Equation 91</xref>). Taking the limit superior on both sides gives<disp-formula id="e108">
<mml:math id="m264">
<mml:mrow>
<mml:munder>
<mml:mi>limsup</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(108)</label>
</disp-formula>
<disp-formula id="e109">
<mml:math id="m265">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(109)</label>
</disp-formula>one obtains<disp-formula id="e110">
<mml:math id="m266">
<mml:mrow>
<mml:munder>
<mml:mi>limsup</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
</mml:mrow>
<mml:msqrt>
<mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:msqrt>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(110)</label>
</disp-formula>which proves (92).</p>
<p>It remains to verify the sufficient local invariance condition. Suppose that (<xref ref-type="disp-formula" rid="e93">Equation 93</xref>) holds. On the boundary <inline-formula id="inf157">
<mml:math id="m267">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (<xref ref-type="disp-formula" rid="e106">Equation 106</xref>), gives<disp-formula id="e111">
<mml:math id="m268">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3b7;</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(111)</label>
</disp-formula>
</p>
<p>Therefore, the trajectory cannot leave the sublevel set <inline-formula id="inf158">
<mml:math id="m269">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Since <inline-formula id="inf159">
<mml:math id="m270">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, every <inline-formula id="inf160">
<mml:math id="m271">
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> satisfies<disp-formula id="e112">
<mml:math id="m272">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3c;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(112)</label>
</disp-formula>
</p>
<p>The remaining proof steps are given by <xref ref-type="disp-formula" rid="e107">Equations 107</xref> -<xref ref-type="disp-formula" rid="e112">112</xref>. Thus, <inline-formula id="inf161">
<mml:math id="m273">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msub>
</mml:msub>
<mml:mo>&#x2282;</mml:mo>
<mml:msub>
<mml:mi mathvariant="script">D</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and the residual bound remains valid for all <inline-formula id="inf162">
<mml:math id="m274">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. This completes the proof.</p>
<p>
<statement content-type="remark" id="Remark_5">
<label>Remark 5</label>
<p>Theorem 1 establishes a local and conditional boundedness result for the scheduled closed-loop tracking-error system. The conclusion depends on three conditions: the implemented nacelle schedule remains inside the admissible transition corridor, the scheduled low-level controller family satisfies the common Lyapunov condition over the corridor, and the disturbance and nonlinear residual remain bounded in the local operating region. The result does not prove TD3 convergence, global stability, or global optimality of the learned scheduler.</p>
</statement>
</p>
<p>
<statement content-type="remark" id="Remark_6">
<label>Remark 6</label>
<p>The nacelle-rate bound does not appear as an independent input term in (<xref ref-type="disp-formula" rid="e84">Equation 84</xref>) because the compact closed-loop model uses <inline-formula id="inf163">
<mml:math id="m275">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> as a scheduling variable and represents the low-level controller as a <inline-formula id="inf164">
<mml:math id="m276">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-scheduled controller family. The role of the incremental action parameterization is to keep the evolution of <inline-formula id="inf165">
<mml:math id="m277">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> inside the admissible corridor and compatible with the nacelle actuator rate. This prevents abrupt movement among scheduled operating conditions and supports the validity of the uniform local stability condition in <xref ref-type="statement" rid="Assumption_1">Assumption 1</xref>.</p>
</statement>
</p>
<p>In summary, the boundedness characterization complements the feasibility layer. The feasibility layer defines how the actor output is converted into a corridor-aware and rate-compatible sampled command, whereas Theorem 1 characterizes the local tracking-error behavior once the implemented schedule evolves inside the admissible corridor. This result supports the mechanism of ESIT without assigning stabilizing responsibility to the TD3 actor itself.</p>
</sec>
</sec>
<sec id="s4">
<title>Simulation results and performance evaluation</title>
<p>This section evaluates the proposed ESIT scheduler using a nonlinear quad-tiltrotor UAV model in MATLAB/Simulink. Baseline schedules are first used to examine the sensitivity of transition response to nacelle timing, followed by TD3 action-parameterization ablation, corridor-feasibility verification, Monte Carlo smoothness evaluation, closed-loop performance comparison, and observation-noise assessment.</p>
<sec id="s4-1">
<title>Simulation setup and evaluation protocol</title>
<p>The simulations were conducted in MATLAB/Simulink using the nonlinear quad-tiltrotor UAV model. All tilt-scheduling strategies were evaluated with the same scheduled low-level attitude/altitude control architecture, so that performance differences mainly reflect the high-level nacelle scheduling strategy.</p>
<p>The task is a forward level-flight transition from the rotor-borne configuration to the wing-borne configuration. The nacelle angle starts from <inline-formula id="inf166">
<mml:math id="m278">
<mml:mrow>
<mml:msup>
<mml:mn>0</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and reaches <inline-formula id="inf167">
<mml:math id="m279">
<mml:mrow>
<mml:msup>
<mml:mn>90</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> at the terminal configuration. The height command is constant, and the desired attitude is set to zero during transition. The recorded variables include height error, forward velocity, nacelle angle, nacelle rate, longitudinal acceleration, longitudinal jerk, and rotor-speed-related quantities.</p>
<p>For deterministic policy evaluation, exploration noise was disabled. For the reinforcement-learning-based strategies, the saved agent with the highest training return was used as the evaluation policy. For TD3-incremental, the BS-generated reference was used only for actor warm-starting and did not constrain the final learned policy.</p>
<p>The transition corridor was constructed from offline envelope analysis in the forward-speed--nacelle-angle plane. One boundary was obtained from trim-based admissibility evaluation in Simulink, and the other was determined by the rotor-thrust limitation. The same corridor table was used for all safety-filtered policies and for corridor-feasibility verification.</p>
<p>The BS reference optimization and TD3 training used a <inline-formula id="inf168">
<mml:math id="m280">
<mml:mrow>
<mml:mn>31</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> horizon, whereas all final deterministic evaluations, baseline comparisons, TD3-variant comparisons, corridor evaluations, Monte Carlo tests, and observation-noise tests used a unified <inline-formula id="inf169">
<mml:math id="m281">
<mml:mrow>
<mml:mn>34</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> simulation duration. Unless otherwise stated, all reported performance indices correspond to this final evaluation horizon.</p>
<p>The main simulation settings are summarized in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Simulation setup and evaluation protocol.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Item</th>
<th align="left">Setting</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Simulation platform</td>
<td align="left">MATLAB/Simulink</td>
</tr>
<tr>
<td align="left">Solver</td>
<td align="left">ode4</td>
</tr>
<tr>
<td align="left">Step size</td>
<td align="left">
<inline-formula id="inf170">
<mml:math id="m282">
<mml:mrow>
<mml:mn>0.05</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Final evaluation duration</td>
<td align="left">
<inline-formula id="inf171">
<mml:math id="m283">
<mml:mrow>
<mml:mn>34</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Initial nacelle angle</td>
<td align="left">
<inline-formula id="inf172">
<mml:math id="m284">
<mml:mrow>
<mml:msup>
<mml:mn>0</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Terminal nacelle angle</td>
<td align="left">
<inline-formula id="inf173">
<mml:math id="m285">
<mml:mrow>
<mml:msup>
<mml:mn>90</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Target terminal forward speed</td>
<td align="left">
<inline-formula id="inf174">
<mml:math id="m286">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>24.0</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Completion-speed threshold</td>
<td align="left">
<inline-formula id="inf175">
<mml:math id="m287">
<mml:mrow>
<mml:mn>0.98</mml:mn>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>23.52</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Settling time for completion</td>
<td align="left">
<inline-formula id="inf176">
<mml:math id="m288">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Height command</td>
<td align="left">Constant</td>
</tr>
<tr>
<td align="left">Desired attitude</td>
<td align="left">
<inline-formula id="inf177">
<mml:math id="m289">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Scheduled low-level control architecture</td>
<td align="left">Identical for all strategies</td>
</tr>
<tr>
<td align="left">Policy evaluation mode</td>
<td align="left">Deterministic, without exploration noise</td>
</tr>
<tr>
<td align="left">Agent selection rule</td>
<td align="left">Best-return checkpoint</td>
</tr>
<tr>
<td align="left">Monte Carlo runs</td>
<td align="left">50</td>
</tr>
<tr>
<td align="left">Randomized variables</td>
<td align="left">Wind parameters, initial Euler angles, initial forward speed</td>
</tr>
<tr>
<td align="left">Fairness condition</td>
<td align="left">Same 50 scenarios reused for TD3 variants</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>TD3 training was conducted in two stages: a critic burn-in stage with an almost frozen actor, followed by actor fine-tuning with a small learning rate. The main training parameters are listed in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>TD3 training parameters used in the implementation.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Parameter</th>
<th align="left">Stage 1</th>
<th align="left">Stage 2</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Sampling time</td>
<td align="left">
<inline-formula id="inf178">
<mml:math id="m290">
<mml:mrow>
<mml:mn>0.1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf179">
<mml:math id="m291">
<mml:mrow>
<mml:mn>0.1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Training horizon</td>
<td align="left">
<inline-formula id="inf180">
<mml:math id="m292">
<mml:mrow>
<mml:mn>31</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf181">
<mml:math id="m293">
<mml:mrow>
<mml:mn>31</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Maximum episodes</td>
<td align="left">150</td>
<td align="left">325</td>
</tr>
<tr>
<td align="left">Discount factor</td>
<td align="left">0.98</td>
<td align="left">0.98</td>
</tr>
<tr>
<td align="left">Replay buffer length</td>
<td align="left">
<inline-formula id="inf182">
<mml:math id="m294">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>5</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">Inherited</td>
</tr>
<tr>
<td align="left">Mini-batch size</td>
<td align="left">256</td>
<td align="left">256</td>
</tr>
<tr>
<td align="left">Warm-start steps</td>
<td align="left">10,000</td>
<td align="left">5,000</td>
</tr>
<tr>
<td align="left">Critic learning rate</td>
<td align="left">
<inline-formula id="inf183">
<mml:math id="m295">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf184">
<mml:math id="m296">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Actor learning rate</td>
<td align="left">
<inline-formula id="inf185">
<mml:math id="m297">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf186">
<mml:math id="m298">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Target-network soft-update factor</td>
<td align="left">
<inline-formula id="inf187">
<mml:math id="m299">
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf188">
<mml:math id="m300">
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Policy update frequency</td>
<td align="left">4</td>
<td align="left">2</td>
</tr>
<tr>
<td align="left">Target update frequency</td>
<td align="left">2</td>
<td align="left">2</td>
</tr>
<tr>
<td align="left">Exploration noise std.</td>
<td align="left">0.008</td>
<td align="left">0.005</td>
</tr>
<tr>
<td align="left">Minimum exploration std.</td>
<td align="left">0.002</td>
<td align="left">0.001</td>
</tr>
<tr>
<td align="left">Exploration decay rate</td>
<td align="left">
<inline-formula id="inf189">
<mml:math id="m301">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf190">
<mml:math id="m302">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Target policy noise std.</td>
<td align="left">0.010</td>
<td align="left">0.008</td>
</tr>
<tr>
<td align="left">Target policy noise bound</td>
<td align="left">
<inline-formula id="inf191">
<mml:math id="m303">
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.02</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.02</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf192">
<mml:math id="m304">
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.015</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.015</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For each simulation, the following performance indices were calculated:<disp-formula id="e113">
<mml:math id="m305">
<mml:mrow>
<mml:mtext>RMSE</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>h</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2009;dt</mml:mtext>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
<label>(113)</label>
</disp-formula>
<disp-formula id="e114">
<mml:math id="m306">
<mml:mrow>
<mml:mtext>RMS</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2009;dt</mml:mtext>
</mml:mrow>
</mml:msqrt>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(114)</label>
</disp-formula>
<disp-formula id="e115">
<mml:math id="m307">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">J</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mtext>dt</mml:mtext>
</mml:mrow>
</mml:math>
<label>(115)</label>
</disp-formula>where <inline-formula id="inf193">
<mml:math id="m308">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the height tracking error, <inline-formula id="inf194">
<mml:math id="m309">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the forward velocity, <inline-formula id="inf195">
<mml:math id="m310">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the longitudinal acceleration, <inline-formula id="inf196">
<mml:math id="m311">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the longitudinal jerk, and <inline-formula id="inf197">
<mml:math id="m312">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">J</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the rotor-speed-based effort proxy. The performance indices used in the simulations are defined in <xref ref-type="disp-formula" rid="e113">Equations 113</xref> -<xref ref-type="disp-formula" rid="e113">115</xref>.</p>
<p>In addition, <inline-formula id="inf198">
<mml:math id="m313">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf199">
<mml:math id="m314">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf200">
<mml:math id="m315">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> were recorded.</p>
<p>The transition completion time is defined as the first time when <inline-formula id="inf201">
<mml:math id="m316">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> reaches <inline-formula id="inf202">
<mml:math id="m317">
<mml:mrow>
<mml:mn>0.98</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>23.52</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and remains above this threshold for at least <inline-formula id="inf203">
<mml:math id="m318">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. This avoids declaring completion from a transient velocity crossing.</p>
</sec>
<sec id="s4-2">
<title>Baseline tilt schedules and low-level tracking boundedness</title>
<p>Representative non-learning tilt schedules are first evaluated under the same scheduled low-level control architecture. This comparison serves two purposes: it shows the sensitivity of level-flight transition to nacelle timing, and it verifies that the shared low-level controller maintains bounded pitch and altitude responses under feasible nacelle schedules.</p>
<p>The evaluated schedules include a linear schedule, a slow&#x2013;fast diagnostic schedule, a fast&#x2013;slow diagnostic schedule, and a BS-optimized reference schedule. The predefined schedules were generated by normalized PCHIP interpolation with five free nodes between <inline-formula id="inf204">
<mml:math id="m319">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>0</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf205">
<mml:math id="m320">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mtext>tilt</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>90</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf206">
<mml:math id="m321">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mtext>tilt</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>30</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The command was held at the terminal value after <inline-formula id="inf207">
<mml:math id="m322">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mtext>tilt</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The BS-optimized reference was generated using the <inline-formula id="inf208">
<mml:math id="m323">
<mml:mrow>
<mml:mn>31</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> optimization horizon, and all schedules were evaluated under the unified <inline-formula id="inf209">
<mml:math id="m324">
<mml:mrow>
<mml:mn>34</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> deterministic horizon.</p>
<p>The normalized free-node vectors are as followed.</p>
<p>The linear baseline used<disp-formula id="equ1">
<mml:math id="m325">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mtext>lin</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0.1667</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.3333</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.5000</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.6667</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.8333</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The slow--fast diagnostic schedule used<disp-formula id="equ2">
<mml:math id="m326">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mtext>SF</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0.04</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.09</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.16</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.30</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.55</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The fast--slow diagnostic schedule used<disp-formula id="equ3">
<mml:math id="m327">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mtext>FS</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0.40</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.65</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.80</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.90</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.95</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The BS-optimized baseline used<disp-formula id="equ4">
<mml:math id="m328">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mtext>opt</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0.110</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.166</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.351</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.709</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.940</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>
<xref ref-type="fig" rid="F2">Figure 2</xref> shows the baseline tilt schedules and the corresponding closed-loop responses. The fast--slow schedule advances most of the nacelle rotation to the early transition stage, whereas the slow--fast schedule delays the main tilting process. These different timing patterns produce different altitude-error, forward-velocity, and total-rotor-speed responses. The result confirms that the nacelle schedule is an active high-level variable that affects altitude regulation, speed buildup, and rotor-effort redistribution during level-flight transition.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Baseline tilt schedules and closed-loop responses: <bold>(A)</bold> normalized nacelle-angle trajectories, <bold>(B)</bold> height-error responses, <bold>(C)</bold> forward-velocity responses, and <bold>(D)</bold> total rotor-speed responses.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="arc-04-17000-g002.tif">
<alt-text content-type="machine-generated">Four-panel data visualization comparing four tilt trajectory types&#x2014;linear baseline, BS baseline, slow-fast baseline, and fast-slow baseline&#x2014;using distinct lines in each plot. Panel A plots tilt angle over time, showing curved and linear increase by trajectory type. Panel B plots height error over time, showing small fluctuations near zero. Panel C plots forward velocity over time, illustrating different acceleration profiles. Panel D plots rotor speed over time, indicating varying declines and abrupt changes across trajectories. Legends and axis labels are clearly included for all panels.</alt-text>
</graphic>
</fig>
<p>The low-level pitch and height tracking bounds under different schedules are summarized in <xref ref-type="table" rid="T3">Table 3</xref>. The maximum absolute pitch angle remains below <inline-formula id="inf210">
<mml:math id="m329">
<mml:mrow>
<mml:msup>
<mml:mn>1.10</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for all evaluated strategies. For the TD3-based strategies, the maximum absolute pitch angle is below <inline-formula id="inf211">
<mml:math id="m330">
<mml:mrow>
<mml:msup>
<mml:mn>0.46</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and the RMS pitch angle remains small. These results indicate that the shared low-level controller remains well behaved during the evaluated transitions.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Low-level tracking boundedness under different tilt schedules.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Strategy</th>
<th align="left">Max <inline-formula id="inf212">
<mml:math id="m331">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> &#x2006; [deg]</th>
<th align="left">RMS <inline-formula id="inf213">
<mml:math id="m332">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> &#x2006; [deg]</th>
<th align="left">Max <inline-formula id="inf214">
<mml:math id="m333">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> &#x2006; [m]</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Linear baseline</td>
<td align="left">1.0981</td>
<td align="left">0.3378</td>
<td align="left">0.3908</td>
</tr>
<tr>
<td align="left">Optimized baseline</td>
<td align="left">0.8753</td>
<td align="left">0.2633</td>
<td align="left">0.3479</td>
</tr>
<tr>
<td align="left">Slow&#x2013;fast baseline</td>
<td align="left">0.6977</td>
<td align="left">0.3925</td>
<td align="left">0.1793</td>
</tr>
<tr>
<td align="left">Fast&#x2013;slow baseline</td>
<td align="left">0.6023</td>
<td align="left">0.2456</td>
<td align="left">0.3036</td>
</tr>
<tr>
<td align="left">TD3</td>
<td align="left">0.4526</td>
<td align="left">0.1434</td>
<td align="left">1.1480</td>
</tr>
<tr>
<td align="left">TD3 &#x2b; penalty</td>
<td align="left">0.4526</td>
<td align="left">0.1506</td>
<td align="left">1.4060</td>
</tr>
<tr>
<td align="left">TD3 &#x2b; penalty &#x2b; noise</td>
<td align="left">0.4526</td>
<td align="left">0.1422</td>
<td align="left">1.0349</td>
</tr>
<tr>
<td align="left">TD3-incremental</td>
<td align="left">0.4526</td>
<td align="left">0.1303</td>
<td align="left">0.7738</td>
</tr>
<tr>
<td align="left">TD3-incremental &#x2b; noise</td>
<td align="left">0.4526</td>
<td align="left">0.1314</td>
<td align="left">0.8198</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="table" rid="T3">Table 3</xref> is not intended to rank all schedules by tracking accuracy or to prove global nonlinear stability. It only verifies that the subsequent TD3 comparisons are not caused by low-level instability. The repeated maximum pitch value observed for several TD3-based cases mainly reflects a common low-level transient under the shared stabilization loop; the corresponding height-error bound, nacelle-rate demand, jerk response, and corridor trajectory still differ across high-level schedulers.</p>
</sec>
<sec id="s4-3">
<title>Action-parameterization ablation of TD3 tilt scheduling</title>
<p>This subsection isolates the effect of action parameterization on TD3-based nacelle scheduling. Three policies are compared under the same observation variables, scheduled low-level control architecture, reward components, and deterministic evaluation protocol: absolute-action TD3, penalty-based absolute-action TD3, and the proposed incremental-action TD3.</p>
<p>The absolute-action policy directly outputs the complete nacelle angle, so adjacent commands are not structurally coupled. The penalty-based policy retains this absolute-action representation but adds an oscillation penalty. In contrast, the proposed policy outputs a nacelle-angle increment before command filtering. Therefore, the comparison separates action-level reparameterization from reward-level smoothness shaping.</p>
<p>
<xref ref-type="fig" rid="F3">Figure 3</xref> compares the nacelle-angle responses of the three TD3 variants. All policies reach the terminal nacelle configuration, but their transient command evolution is different. The absolute-action TD3 policy exhibits local oscillations during the middle-to-late transition stage, especially when the aircraft shifts from rotor-dominant support to wing-lift-supported flight. TD3 &#x2b; penalty attenuates this fluctuation, but local irregularities remain. By contrast, TD3-incremental produces a smoother and nearly monotonic nacelle-angle trajectory.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Nacelle-angle responses of TD3 variants: <bold>(A)</bold> full transition response and <bold>(B)</bold> zoomed-in view of the oscillation-prone interval.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="arc-04-17000-g003.tif">
<alt-text content-type="machine-generated">Panel A shows a line graph of nacelle angle over time from zero to thirty-two seconds for three methods: TD3 (red dashed line), TD3 plus penalty (green dashed-and-dotted line), and TD3-incremental proposed (solid blue line), with TD3 and TD3 plus penalty fluctuating more than the smoother blue line. Panel B zooms in on fifteen to twenty-five seconds, showing greater fluctuations in TD3 and TD3 plus penalty, while TD3-incremental remains smoother below the others. Legend identifies the line styles and colors for each method.</alt-text>
</graphic>
</fig>
<p>The nacelle-rate responses in <xref ref-type="fig" rid="F4">Figure 4</xref> further highlight the difference among the action representations. Absolute-action TD3 generates large and rapidly alternating rate peaks. TD3 &#x2b; penalty reduces the peak level but does not remove local rate fluctuations. TD3-incremental keeps the nacelle-rate response within a narrow range throughout the transition, indicating better compatibility with rate-limited nacelle actuation.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Nacelle-rate responses of TD3 variants. The proposed TD3-incremental strategy suppresses abrupt rate variations compared with the absolute-action policies.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="arc-04-17000-g004.tif">
<alt-text content-type="machine-generated">Line graph comparing TD3, TD3+penalty, and proposed TD3-incremental methods for &#x3BB;&#x307;&#x209C; (degrees per second) over time in seconds, showing that the proposed method maintains stability within set bounds while TD3 exhibits large oscillations. Inset provides a closer view of early time performance.</alt-text>
</graphic>
</fig>
<p>These results indicate that the oscillatory behavior of absolute-action TD3 is mainly associated with the mismatch between independent absolute-angle commands and the physical continuity requirement of nacelle rotation. Reward-level oscillation penalties can mitigate this behavior, but the improvement remains tuning-dependent. The incremental action representation modifies the command structure itself and therefore provides a more direct mechanism for smooth nacelle evolution.</p>
</sec>
<sec id="s4-4">
<title>Corridor feasibility evaluation</title>
<p>Command smoothness alone does not guarantee transition feasibility. A nacelle trajectory may be smooth but still leave the admissible speed--nacelle-angle corridor. Conversely, a corridor-feasible trajectory may still impose undesirable nacelle-rate demand. Therefore, the generated schedules are examined in the forward-speed--nacelle-angle plane.</p>
<p>
<xref ref-type="fig" rid="F5">Figure 5</xref> shows the transition trajectories of the predefined baselines, the BS-optimized baseline, and the TD3-based schedulers. To match the plotting convention of the generated corridor map, the vertical axis is displayed as the converted nacelle angle <inline-formula id="inf215">
<mml:math id="m334">
<mml:mrow>
<mml:msup>
<mml:mn>90</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. This conversion is used only for visualization and does not change the feasibility criterion defined in (<xref ref-type="disp-formula" rid="e16">Equation 16</xref>). All compared strategies remain inside the prescribed transition corridor during the evaluated level-flight transition.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Transition trajectories in the forward-speed&#x2013;converted-nacelle-angle plane, where the plotted angle is <inline-formula id="inf216">
<mml:math id="m335">
<mml:mrow>
<mml:msup>
<mml:mn>90</mml:mn>
<mml:mo>&#x2218;</mml:mo>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. All compared strategies remain inside the prescribed transition corridor during level-flight transition.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="arc-04-17000-g005.tif">
<alt-text content-type="machine-generated">Line graph comparing various baseline and TD3 algorithm performances, including a proposed TD3-incremental approach, against corridor upper and lower bounds, plotting (90 minus &#x3BB;&#x209C;) in degrees versus forward velocity V&#x2093; in meters per second.</alt-text>
</graphic>
</fig>
<p>The corridor trajectories show that feasibility and smoothness are distinct properties. The absolute-action TD3 trajectory satisfies the corridor constraint but still contains local irregularities, consistent with the oscillatory nacelle response in <xref ref-type="fig" rid="F3">Figure 3</xref>. The penalty-based variant reduces these irregularities, whereas TD3-incremental produces the smoothest feasible path among the TD3-based schedulers. Thus, the smoothness advantage of the proposed scheduler is achieved within the same admissible speed--nacelle-angle region, rather than by relaxing or leaving the prescribed transition corridor.</p>
</sec>
<sec id="s4-5">
<title>Monte Carlo smoothness evaluation</title>
<p>Monte Carlo simulations are conducted to examine the consistency of the smoothness improvement under randomized transition conditions. Each TD3-based strategy was evaluated over 50 scenarios, and the same random scenarios were reused for absolute-action TD3, TD3 &#x2b; penalty, and TD3-incremental. The randomized quantities include wind amplitude, frequency, phase, initial Euler angles, and initial forward speed.</p>
<p>The evaluation focuses on nacelle-rate demand, longitudinal acceleration, longitudinal jerk, altitude response, terminal speed, and rotor-speed-based effort. <xref ref-type="fig" rid="F6">Figure 6</xref> shows the smoothness statistics, and <xref ref-type="table" rid="T4">Table 4</xref> summarizes the numerical results. Absolute-action TD3 exhibits the largest nacelle-rate demand and dispersion. TD3 &#x2b; penalty reduces the mean oscillation level, but its maximum rate and jerk remain more sensitive to scenario variations. TD3-incremental yields the smallest nacelle-rate demand and the most consistent smoothness metrics among the three TD3 variants.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Monte Carlo smoothness statistics of TD3 variants under 50 randomized scenarios. The same random scenarios are reused for all three TD3-based strategies. <bold>(A)</bold> RMS nacelle-angle rate; <bold>(B)</bold> maximum nacelle-angle rate; <bold>(C)</bold> RMS longitudinal acceleration; (D) RMS longitudinal jerk.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="arc-04-17000-g006.tif">
<alt-text content-type="machine-generated">Four grouped bar graphs (A&#x2013;D) compare TD3, TD3+P, and TD3-inc. approaches. Panel A shows RMS nacelle-angle rate, B shows maximum nacelle-angle rate, C shows RMS longitudinal acceleration, and D shows RMS longitudinal jerk. In panels A, B, and D, TD3 has the highest values, TD3+P is lower, and TD3-inc. is the lowest. In panel C, all groups have similar values. Error bars and individual data points are shown for each group.</alt-text>
</graphic>
</fig>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Monte Carlo smoothness and transition-performance statistics.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Metric</th>
<th align="center">TD3</th>
<th align="center">TD3 &#x2b; penalty</th>
<th align="center">TD3-incremental</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<inline-formula id="inf217">
<mml:math id="m336">
<mml:mrow>
<mml:mtext>RMS</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x2006; [deg/s]</td>
<td align="left">
<inline-formula id="inf218">
<mml:math id="m337">
<mml:mrow>
<mml:mn>22.2302</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>4.3734</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf219">
<mml:math id="m338">
<mml:mrow>
<mml:mn>3.8009</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.2985</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf220">
<mml:math id="m339">
<mml:mrow>
<mml:mn mathvariant="bold">2.9804</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn mathvariant="bold">0.0152</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf221">
<mml:math id="m340">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x2006; [deg/s]</td>
<td align="left">
<inline-formula id="inf222">
<mml:math id="m341">
<mml:mrow>
<mml:mn>100.2860</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>12.7518</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf223">
<mml:math id="m342">
<mml:mrow>
<mml:mn>29.8180</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>11.3357</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf224">
<mml:math id="m343">
<mml:mrow>
<mml:mn mathvariant="bold">4.9256</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn mathvariant="bold">0.0445</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf225">
<mml:math id="m344">
<mml:mrow>
<mml:mtext>RMS</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x2006; [m/s <inline-formula id="inf226">
<mml:math id="m345">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>]</td>
<td align="left">
<inline-formula id="inf227">
<mml:math id="m346">
<mml:mrow>
<mml:mn>1.1246</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.0130</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf228">
<mml:math id="m347">
<mml:mrow>
<mml:mn>1.0769</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.0053</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf229">
<mml:math id="m348">
<mml:mrow>
<mml:mn mathvariant="bold">0.9696</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn mathvariant="bold">0.0037</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf230">
<mml:math id="m349">
<mml:mrow>
<mml:mtext>RMS</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x2006; [m/s <inline-formula id="inf231">
<mml:math id="m350">
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>]</td>
<td align="left">
<inline-formula id="inf232">
<mml:math id="m351">
<mml:mrow>
<mml:mn>3.5789</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.8168</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf233">
<mml:math id="m352">
<mml:mrow>
<mml:mn>0.3750</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.1170</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf234">
<mml:math id="m353">
<mml:mrow>
<mml:mn mathvariant="bold">0.1720</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn mathvariant="bold">0.0071</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf235">
<mml:math id="m354">
<mml:mrow>
<mml:mtext>RMSE</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x2006; [m]</td>
<td align="left">
<inline-formula id="inf236">
<mml:math id="m355">
<mml:mrow>
<mml:mn>0.4993</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.0526</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf237">
<mml:math id="m356">
<mml:mrow>
<mml:mn>0.5728</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.0467</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf238">
<mml:math id="m357">
<mml:mrow>
<mml:mn mathvariant="bold">0.4094</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn mathvariant="bold">0.0252</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf239">
<mml:math id="m358">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x2006; [m/s]</td>
<td align="left">
<inline-formula id="inf240">
<mml:math id="m359">
<mml:mrow>
<mml:mn>24.1495</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.0273</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf241">
<mml:math id="m360">
<mml:mrow>
<mml:mn>24.1819</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.0118</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf242">
<mml:math id="m361">
<mml:mrow>
<mml:mn mathvariant="bold">24.0909</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn mathvariant="bold">0.0207</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf243">
<mml:math id="m362">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf244">
<mml:math id="m363">
<mml:mrow>
<mml:mn>1.0595</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>9</mml:mn>
</mml:msup>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>7.6869</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>7</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf245">
<mml:math id="m364">
<mml:mrow>
<mml:mn mathvariant="bold">9.8821</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn mathvariant="bold">10</mml:mn>
<mml:mn mathvariant="bold">8</mml:mn>
</mml:msup>
<mml:mo>&#xb1;</mml:mo>
<mml:mn mathvariant="bold">6.5735</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn mathvariant="bold">10</mml:mn>
<mml:mn mathvariant="bold">7</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf246">
<mml:math id="m365">
<mml:mrow>
<mml:mn>1.0460</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>9</mml:mn>
</mml:msup>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>5.3674</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>7</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Boldface denotes the best-performing value among the three TD3 variants for each metric.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>Compared with absolute-action TD3, TD3-incremental reduces <inline-formula id="inf247">
<mml:math id="m366">
<mml:mrow>
<mml:mtext>RMS</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf248">
<mml:math id="m367">
<mml:mrow>
<mml:mn>22.2302</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>deg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf249">
<mml:math id="m368">
<mml:mrow>
<mml:mn>2.9804</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>deg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and reduces <inline-formula id="inf250">
<mml:math id="m369">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf251">
<mml:math id="m370">
<mml:mrow>
<mml:mn>100.2860</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>deg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf252">
<mml:math id="m371">
<mml:mrow>
<mml:mn>4.9256</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>deg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Compared with TD3 &#x2b; penalty, it further reduces the maximum nacelle-rate demand from <inline-formula id="inf253">
<mml:math id="m372">
<mml:mrow>
<mml:mn>29.8180</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>deg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf254">
<mml:math id="m373">
<mml:mrow>
<mml:mn>4.9256</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>deg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The standard deviations of both nacelle-rate metrics are also smaller for TD3-incremental, indicating that the smoother command behavior is less sensitive to the tested random variations.</p>
<p>The same trend appears in the longitudinal smoothness metrics. TD3-incremental reduces <inline-formula id="inf255">
<mml:math id="m374">
<mml:mrow>
<mml:mtext>RMS</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf256">
<mml:math id="m375">
<mml:mrow>
<mml:mn>3.5789</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for absolute-action TD3 and <inline-formula id="inf257">
<mml:math id="m376">
<mml:mrow>
<mml:mn>0.3750</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for TD3 &#x2b; penalty to <inline-formula id="inf258">
<mml:math id="m377">
<mml:mrow>
<mml:mn>0.1720</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. Meanwhile, all three TD3 variants maintain terminal forward speeds close to the target value. Thus, the smoother response of TD3-incremental is not obtained by failing to complete the transition, but by changing the nacelle command evolution mechanism.</p>
<p>These Monte Carlo results do not constitute a global robustness guarantee. They show that, under the tested randomized scenarios, the proposed incremental action structure provides more consistent nacelle-rate and jerk reduction than absolute-action TD3 and reward-penalized absolute-action TD3.</p>
</sec>
<sec id="s4-6">
<title>Closed-loop transition performance and observation-noise evaluation</title>
<p>This subsection compares the overall closed-loop transition performance of representative strategies and further evaluates the sensitivity of TD3-incremental to observation noise.</p>
<sec id="s4-6-1">
<title>Closed-loop transition performance</title>
<p>The compared strategies include the linear baseline, the BS-optimized baseline, TD3 &#x2b; penalty, and TD3-incremental. They represent a simple predefined schedule, an offline optimized schedule, a reward-smoothed absolute-action RL policy, and the proposed incremental-action RL scheduler, respectively.</p>
<p>
<xref ref-type="fig" rid="F7">Figure 7</xref> shows the height-error, forward-velocity, longitudinal-acceleration, and total-rotor-speed responses. All compared strategies complete the level-flight transition without low-level instability. The linear baseline provides a simple reference response, whereas the BS-optimized baseline achieves a strong nominal profile through offline optimization. TD3 &#x2b; penalty improves the smoothness of absolute-action RL, but still inherits the limitations of absolute command generation. TD3-incremental produces a smoother nacelle-driven transition while maintaining bounded height response and terminal forward-speed buildup.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Closed-loop transition responses of representative strategies: <bold>(A)</bold> height error, <bold>(B)</bold> forward velocity, <bold>(C)</bold> longitudinal acceleration, and <bold>(D)</bold> total rotor speed.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="arc-04-17000-g007.tif">
<alt-text content-type="machine-generated">Four-panel figure showing time series plots labeled A through D comparing four flight control methods: linear baseline (black dashed), optimized baseline (orange dashed), TD3+penalty (red), and proposed TD3-incremental (blue). Panel A presents height error in meters over time, Panel B shows forward velocity in meters per second, Panel C displays longitudinal acceleration in meters per second squared, and Panel D shows total rotor speed in RPM. All plots share a time axis from zero to thirty-two seconds and legend is present in Panel D.</alt-text>
</graphic>
</fig>
<p>The quantitative indices are summarized in <xref ref-type="table" rid="T5">Table 5</xref>. TD3-incremental reduces the RMS jerk from <inline-formula id="inf259">
<mml:math id="m378">
<mml:mrow>
<mml:mn>0.3150</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for TD3 &#x2b; penalty to <inline-formula id="inf260">
<mml:math id="m379">
<mml:mrow>
<mml:mn>0.1774</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and lowers the maximum height error from <inline-formula id="inf261">
<mml:math id="m380">
<mml:mrow>
<mml:mn>1.4060</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf262">
<mml:math id="m381">
<mml:mrow>
<mml:mn>0.7738</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Its terminal forward speed remains close to the target value, indicating that the transition is completed. The main trade-off is a longer completion time, which reflects the more conservative nacelle evolution induced by the incremental action structure.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Closed-loop transition performance.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Strategy</th>
<th align="left">RMSE <inline-formula id="inf263">
<mml:math id="m382">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> [m]</th>
<th align="left">Max <inline-formula id="inf264">
<mml:math id="m383">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> [m]</th>
<th align="left">
<inline-formula id="inf265">
<mml:math id="m384">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> [m/s]</th>
<th align="left">RMS <inline-formula id="inf266">
<mml:math id="m385">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> [m/s <inline-formula id="inf267">
<mml:math id="m386">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>]</th>
<th align="left">RMS <inline-formula id="inf268">
<mml:math id="m387">
<mml:mrow>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> [m/s <inline-formula id="inf269">
<mml:math id="m388">
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>]</th>
<th align="left">
<inline-formula id="inf270">
<mml:math id="m389">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">Completion time [s]</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Linear baseline</td>
<td align="left">0.1682</td>
<td align="left">0.3908</td>
<td align="left">24.165</td>
<td align="left">1.1168</td>
<td align="left">2.0975</td>
<td align="left">
<inline-formula id="inf271">
<mml:math id="m390">
<mml:mrow>
<mml:mn>8.8493</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>8</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">26.90</td>
</tr>
<tr>
<td align="left">Optimized baseline</td>
<td align="left">0.1363</td>
<td align="left">0.3479</td>
<td align="left">24.344</td>
<td align="left">0.9637</td>
<td align="left">2.4089</td>
<td align="left">
<inline-formula id="inf272">
<mml:math id="m391">
<mml:mrow>
<mml:mn>1.0869</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>9</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">22.35</td>
</tr>
<tr>
<td align="left">TD3 &#x2b; penalty</td>
<td align="left">0.5425</td>
<td align="left">1.4060</td>
<td align="left">24.173</td>
<td align="left">1.0729</td>
<td align="left">0.3150</td>
<td align="left">
<inline-formula id="inf273">
<mml:math id="m392">
<mml:mrow>
<mml:mn>1.0234</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>9</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">23.10</td>
</tr>
<tr>
<td align="left">TD3-incremental</td>
<td align="left">0.3881</td>
<td align="left">0.7738</td>
<td align="left">24.052</td>
<td align="left">0.9685</td>
<td align="left">0.1774</td>
<td align="left">
<inline-formula id="inf274">
<mml:math id="m393">
<mml:mrow>
<mml:mn>1.0827</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>9</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">28.35</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>These results show that TD3-incremental should not be interpreted as minimizing every scalar metric independently. Its advantage lies in producing a rate-compatible and low-jerk nacelle command while maintaining bounded altitude response, corridor feasibility, terminal speed buildup, and comparable rotor-speed-based effort. The BS-optimized baseline remains a high-quality offline reference, but it is not a feedback policy. In contrast, TD3-incremental generates the nacelle increment from measured transition states and therefore provides a feedback-capable implementation of corridor-aware nacelle scheduling.</p>
</sec>
<sec id="s4-6-2">
<title>Observation-noise evaluation</title>
<p>Observation noise is injected into the policy inputs to examine whether perturbed high-level measurements induce undesirable nacelle-command oscillations. The noise is added to altitude error, forward speed, and total rotor-speed index before normalization, while the low-level control architecture and evaluation protocol are kept unchanged. This test evaluates input-side sensitivity of the learned scheduler rather than observer or sensor-fusion design.</p>
<p>
<xref ref-type="fig" rid="F8">Figure 8</xref> compares the noise-free and noisy responses of TD3-incremental. The observation noise is modeled as zero-mean Gaussian perturbations with variances of <inline-formula id="inf275">
<mml:math id="m394">
<mml:mrow>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf276">
<mml:math id="m395">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf277">
<mml:math id="m396">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf278">
<mml:math id="m397">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf279">
<mml:math id="m398">
<mml:mrow>
<mml:mn>2.0</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>6</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf280">
<mml:math id="m399">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The generated nacelle command remains smooth under noisy inputs. The height-error response remains bounded, the forward-speed buildup is preserved, and the total rotor-speed response remains comparable to the noise-free case.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Observation-noise evaluation of the TD3-incremental scheduler: noise-free and noisy responses. <bold>(A)</bold> height error; <bold>(B)</bold> forward velocity; <bold>(C)</bold> total rotor speed. Noise-free and noisy responses are compared in each panel.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="arc-04-17000-g008.tif">
<alt-text content-type="machine-generated">Three-panel figure shows: Panel A, height error versus time with red dashed line for noisy observation and blue solid line for clean observation, values fluctuate near zero but gradually increase. Panel B, forward velocity versus time, both lines rise from zero to about twenty-five meters per second, with the noisy observation deviating slightly from the clean trend. Panel C, rotor speed versus time, both lines start high then decrease smoothly to near zero, again with greater fluctuation in the noisy observation. Legend and axis labels are included for clarity.</alt-text>
</graphic>
</fig>
<p>The bounded response under observation noise is consistent with the incremental command-generation mechanism. Since the actor output is interpreted as a bounded increment and then processed by rate saturation and corridor projection, measurement perturbations cannot directly produce arbitrarily large changes in the executable nacelle command. The low-level tracking statistics in <xref ref-type="table" rid="T3">Table 3</xref> further show that the maximum height error increases only moderately under observation noise, while the RMS pitch angle remains almost unchanged.</p>
</sec>
</sec>
<sec id="s4-7">
<title>Discussion</title>
<p>The simulation results support the main mechanism of the proposed ESIT framework. The baseline comparison confirms that nacelle timing is a dominant high-level factor affecting altitude response, speed buildup, rotor-speed demand, and longitudinal smoothness. The TD3 ablation shows that the incremental action representation provides a structural mechanism for smooth command generation beyond reward-level oscillation penalties. The corridor evaluation verifies that this smoothness improvement is achieved inside the prescribed speed--nacelle-angle corridor. The Monte Carlo and observation-noise evaluations further show that the smoothness advantage remains consistent under the tested randomized scenarios and perturbed policy inputs.</p>
<p>These findings are consistent with the command-generation mechanism developed in Section <italic>Proposed corridor-constrained incremental TD3 tilt strategy</italic>. By learning a bounded nacelle-angle increment instead of an absolute nacelle command, the scheduler limits inter-sample command variation before the command reaches the low-level controller. The feasibility layer then enforces rate compatibility and sampled-command corridor admissibility. As a result, the learned scheduler improves nacelle-command smoothness without requiring changes to the scheduled low-level attitude/altitude control architecture.</p>
<p>The results should nevertheless be interpreted within the simulation scope of this paper. The rotor-speed-based index <inline-formula id="inf281">
<mml:math id="m400">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">J</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is used as an effort proxy rather than as a calibrated propulsion-power or battery-energy model. The transition corridor is constructed from the considered vehicle model and offline envelope analysis, so the feasibility conclusion depends on the fidelity of the corridor table. In addition, the Monte Carlo and observation-noise tests evaluate representative variations in wind parameters, initial conditions, and policy inputs, but they do not constitute a global robustness guarantee.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>Conclusion</title>
<p>This paper investigated high-level nacelle tilt scheduling for level-flight transition of a quad-tiltrotor UAV. The main conclusion is that the smoothness and feasibility of reinforcement-learning-based transition scheduling depend not only on reward design, but also on the physical structure of the action representation. By treating the nacelle angle as a rate-limited transition variable rather than as an independently generated absolute setpoint, the proposed ESIT framework reformulated the TD3 action as a bounded nacelle-angle increment. The executable command was then generated through bounded integration, rate saturation, and projection onto a tightened speed-dependent transition corridor.</p>
<p>The proposed framework provides a mechanism for combining feedback learning with physical transition constraints. The incremental action representation embeds nacelle-command continuity and actuator-rate compatibility into the command-generation process, while the feasibility layer enforces sampled-command corridor admissibility. A BS-optimized reference schedule was used to provide a physically feasible warm-start and a non-learning benchmark, rather than as a globally optimal trajectory. After training, the learned actor was interpreted as a bounded nonlinear scheduler, and the post-training analysis characterized corridor feasibility and conditional closed-loop boundedness under bounded disturbances and local scheduled low-level stability assumptions. These results clarify the implemented scheduler&#x2019;s feasibility and boundedness properties without relying on a convergence or global-optimality claim for the TD3 learning process.</p>
<p>The simulation results support the proposed mechanism. Compared with absolute-action TD3 and penalty-based absolute-action TD3, the TD3-incremental scheduler generated smoother nacelle trajectories, reduced nacelle-rate demand and longitudinal jerk, and maintained bounded altitude response, terminal forward-speed buildup, and comparable rotor-speed-based effort. The corridor evaluation verified that the smoothness improvement was obtained inside the admissible speed--nacelle-angle region. The Monte Carlo and observation-noise tests further showed that the generated nacelle commands remained smooth under the tested randomized transition scenarios and perturbed policy inputs. These results indicate that physically structured action parameterization can improve the implementation compatibility of learning-based nacelle scheduling.</p>
<p>The proposed framework is useful for transition tasks in which a nominal corridor or reference schedule is available, but the final nacelle command must remain feedback-capable, smooth, rate-compatible, and corridor-feasible. Its current scope is nevertheless limited to monotonic forward level-flight transition under the considered vehicle model, corridor table, and scheduled low-level control architecture. In addition, the energy-related objective is represented by a rotor-speed-based effort proxy rather than by a calibrated propulsion-power or battery-energy model. Future work will therefore focus on incorporating calibrated propulsion-energy models, updating the transition corridor using higher-fidelity aerodynamic or experimental data, and extending the incremental action-generation framework to reconversion, three-dimensional transition, and coupled tilt-scheduling/control-allocation problems.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>RY contributed to the conceptualization, methodology, investigation, formal analysis, and writing of the original draft. JY, TF, and ZD contributed to investigation, validation, data curation, and visualization. CD provided overall supervision, project administration, resources, and guidance for the research group. All authors contributed to the article and approved the submitted version.</p>
</sec>
<ack>
<title>Acknowledgements</title>
<p>The authors would like to acknowledge the support provided by their research group throughout the development of this work.</p>
</ack>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>The author(s) declared that this work 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="ai-statement" id="s10">
<title>Generative AI statement</title>
<p>The author(s) declared that generative AI was not used in the creation of this manuscript.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Xi</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>A review of research on fight control and transition strategies fortilt-rotor unmanned aerial vehicles</article-title>. In: <source>2025 2nd International Conference on Electrical Technology Andautomation Engineering (ETAE) (IEEE)</source> (<year>2025</year>). p. <fpage>382</fpage>&#x2013;<lpage>90</lpage>.</mixed-citation>
</ref>
<ref id="B2">
<label>2.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Su</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>FY</given-names>
</name>
</person-group>. <article-title>Evtol performance analysis: a review from control perspectives</article-title>. <source>IEEE Trans Intell Vehicles</source> (<year>2024</year>) <volume>9</volume>:<fpage>4877</fpage>&#x2013;<lpage>89</lpage>. <pub-id pub-id-type="doi">10.1109/tiv.2024.3387405</pub-id>
</mixed-citation>
</ref>
<ref id="B3">
<label>3.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Hernandez-Garcia</surname>
<given-names>RG</given-names>
</name>
<name>
<surname>Rodriguez-Cortes</surname>
<given-names>H</given-names>
</name>
</person-group>. <article-title>Transition flight control of a cyclic tiltrotor uav based on the gain-scheduling strategy</article-title>. In: <source>2015 International Conference on Unmanned Aircraft Systems (ICUAS)</source>. <publisher-name>IEEE</publisher-name> (<year>2015</year>). p. <fpage>951</fpage>&#x2013;<lpage>6</lpage>.</mixed-citation>
</ref>
<ref id="B4">
<label>4.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Numerical simulation of rotor-wing transient interaction for a tiltrotor in the transition mode</article-title>. <source>Mathematics</source> (<year>2019</year>) <volume>7</volume>:<fpage>116</fpage>. <pub-id pub-id-type="doi">10.3390/math7020116</pub-id>
</mixed-citation>
</ref>
<ref id="B5">
<label>5.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>X</given-names>
</name>
<name>
<surname>He</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>K</given-names>
</name>
</person-group>. <article-title>A new inclining flight mode and oblique takeoff technique for a tiltrotor aircraft</article-title>. <source>Aerospace Sci Technology</source> (<year>2023</year>) <volume>139</volume>:<fpage>108370</fpage>. <pub-id pub-id-type="doi">10.1016/j.ast.2023.108370</pub-id>
</mixed-citation>
</ref>
<ref id="B6">
<label>6.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yuksek</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Vuruskan</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Ozdemir</surname>
<given-names>U</given-names>
</name>
<name>
<surname>Yukselen</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Inalhan</surname>
<given-names>G</given-names>
</name>
</person-group>. <article-title>Transition flight modeling of a fixed-wing vtol uav</article-title>. <source>J Intell and Robotic Syst</source> (<year>2016</year>) <volume>84</volume>:<fpage>83</fpage>&#x2013;<lpage>105</lpage>. <pub-id pub-id-type="doi">10.1007/s10846-015-0325-9</pub-id>
</mixed-citation>
</ref>
<ref id="B7">
<label>7.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Cui</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Q</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Investigations on trimming strategy and unsteady aerodynamic characteristics of tiltrotor in conversion procedure</article-title>. <source>Aerospace</source> (<year>2024</year>) <volume>11</volume>:<fpage>632</fpage>. <pub-id pub-id-type="doi">10.3390/aerospace11080632</pub-id>
</mixed-citation>
</ref>
<ref id="B8">
<label>8.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Flores</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Lugo</surname>
<given-names>I</given-names>
</name>
<name>
<surname>Lozano</surname>
<given-names>R</given-names>
</name>
</person-group>. <article-title>6-dof hovering controller design of the quad tiltrotor aircraft: simulations and experiments</article-title>. In: <source>53rd IEEE Conference on Decision and Control (IEEE)</source> (<year>2014</year>). p. <fpage>6123</fpage>&#x2013;<lpage>8</lpage>.</mixed-citation>
</ref>
<ref id="B9">
<label>9.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Three-dimensional flight envelope for V/stol aircraft with multiple flight modes</article-title>. <source>Aerospace</source> (<year>2022</year>) <volume>9</volume>:<fpage>691</fpage>. <pub-id pub-id-type="doi">10.3390/aerospace9110691</pub-id>
</mixed-citation>
</ref>
<ref id="B10">
<label>10.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Appleton</surname>
<given-names>W. A</given-names>
</name>
<name>
<surname>Filippone</surname>
</name>
<name>
<surname>Bojdo</surname>
<given-names>N.</given-names>
</name>
</person-group> <article-title>&#x201C;Interaction effects on the conversion corridor of tiltrotor aircraft.&#x201D; The Aeronautical Journal</article-title>. <volume>125.1294</volume> (<issue>2021</issue>):<fpage>2065</fpage>&#x2013;<lpage>2086</lpage>. <pub-id pub-id-type="doi">10.1017/aer.2021.33</pub-id>
</mixed-citation>
</ref>
<ref id="B11">
<label>11.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Fan</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>K</given-names>
</name>
</person-group>. <article-title>Nonlinear modeling and transition corridor calculation of a tiltrotor without cyclic pitch</article-title>. <source>MATEC Web Conf., MATEC Web of Conferences</source> (<publisher-loc>Les Ulis, France</publisher-loc>: E<publisher-name>DP Sciences</publisher-name>) (<year>2022</year>) <volume>355</volume>, <fpage>01022</fpage>. <pub-id pub-id-type="doi">10.1051/matecconf/202235501022</pub-id>
</mixed-citation>
</ref>
<ref id="B12">
<label>12.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Tian</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Sheng</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Optimal transition trajectory search for tilt-rotor aircraft based on ant colony algorithm</article-title>. In: <source>2023 2nd International Conference on Artificial Intelligence and Computer Information Technology (AICIT) (IEEE)</source> (<year>2023</year>). p. <fpage>1</fpage>&#x2013;<lpage>8</lpage>.</mixed-citation>
</ref>
<ref id="B13">
<label>13.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Xue</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Q</given-names>
</name>
</person-group>. <source>Optimization Method for Tilting Transition Trajectory of Tiltrotor International Conference on Guidance, Navigation and Control</source>. <publisher-name>Springer</publisher-name> (<year>2024</year>). p. <fpage>465</fpage>&#x2013;<lpage>73</lpage>.</mixed-citation>
</ref>
<ref id="B14">
<label>14.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Development of multimode flight transition strategy for tilt-rotor vtol uavs</article-title>. <source>Drones</source> (<year>2023</year>) <volume>7</volume>:<fpage>580</fpage>. <pub-id pub-id-type="doi">10.3390/drones7090580</pub-id>
</mixed-citation>
</ref>
<ref id="B15">
<label>15.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Eskandarpour</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Mehrandezh</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Gupta</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Ramirez-Serrano</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Soltanshah</surname>
<given-names>M</given-names>
</name>
</person-group>. <article-title>A constrained robust switching mpc structure for tilt-rotor uav trajectory tracking problem</article-title>. <source>Nonlinear Dyn</source> (<year>2023</year>) <volume>111</volume>:<fpage>17247</fpage>&#x2013;<lpage>75</lpage>. <pub-id pub-id-type="doi">10.1007/s11071-023-08787-y</pub-id>
</mixed-citation>
</ref>
<ref id="B16">
<label>16.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kang</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Whidborne</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Energy optimization strategies for automatic tiltrotor electric vertical takeoff and landing aircraft</article-title>. <source>J Guidance, Control Dyn</source> (<year>2025</year>) <volume>48</volume>:<fpage>1196</fpage>&#x2013;<lpage>200</lpage>. <pub-id pub-id-type="doi">10.2514/1.g008466</pub-id>
</mixed-citation>
</ref>
<ref id="B17">
<label>17.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Bohn</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Coates</surname>
<given-names>EM</given-names>
</name>
<name>
<surname>Moe</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Johansen</surname>
<given-names>TA</given-names>
</name>
</person-group>. <article-title>Deep reinforcement learning attitude control of fixed-wing uavs using proximal policy optimization</article-title>. In: <source>2019 International Conference on Unmanned Aircraft Systems (ICUAS)</source>. <publisher-name>IEEE</publisher-name> (<year>2019</year>). p. <fpage>523</fpage>&#x2013;<lpage>33</lpage>.</mixed-citation>
</ref>
<ref id="B18">
<label>18.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Romero</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Aljalbout</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Scaramuzza</surname>
<given-names>D</given-names>
</name>
</person-group>. <article-title>Actor-critic model predictive control: differentiable optimization meets reinforcement learning for agile flight</article-title>. <source>IEEE Trans Robotics</source> (<year>2025</year>) <volume>42</volume>:<fpage>673</fpage>&#x2013;<lpage>92</lpage>. <pub-id pub-id-type="doi">10.1109/tro.2025.3644945</pub-id>
</mixed-citation>
</ref>
<ref id="B19">
<label>19.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Eliker</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Le</surname>
<given-names>TN</given-names>
</name>
<name>
<surname>Bessaad</surname>
<given-names>N</given-names>
</name>
</person-group>. <article-title>Reinforcement learning-based optimal pitch-angle generation for energy-efficient tilt-rotor quadrotors</article-title>. <source>Control Eng Pract</source> (<year>2026</year>) <volume>171</volume>:<fpage>106853</fpage>. <pub-id pub-id-type="doi">10.1016/j.conengprac.2026.106853</pub-id>
</mixed-citation>
</ref>
<ref id="B20">
<label>20.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Fujimoto</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Hoof</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Meger</surname>
<given-names>D</given-names>
</name>
</person-group>. <article-title>Addressing function approximation error in actor-critic methods</article-title>. In: <source>International Conference on Machine Learning (PMLR)</source> (<year>2018</year>). p. <fpage>1587</fpage>&#x2013;<lpage>96</lpage>.</mixed-citation>
</ref>
<ref id="B21">
<label>21.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hausknecht</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Stone</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Deep reinforcement learning in parameterized action space</article-title>. <source>arXiv Preprint arXiv:1511.04143</source> (<year>2015</year>).</mixed-citation>
</ref>
<ref id="B22">
<label>22.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Kanervisto</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Scheller</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Hautamaki</surname>
<given-names>V</given-names>
</name>
</person-group>. <article-title>Action space shaping in deep reinforcement learning</article-title>. In: <source>2020 IEEE Conference on Games (CoG) (IEEE)</source> (<year>2020</year>). p. <fpage>479</fpage>&#x2013;<lpage>86</lpage>.</mixed-citation>
</ref>
<ref id="B23">
<label>23.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>An overview of the action space for deep reinforcement learning</article-title>. In: <source>Proceedings of the 2021 4th International Conference on Algorithms, Computing and Artificial Intelligence</source> (<year>2021</year>). p. <fpage>1</fpage>&#x2013;<lpage>10</lpage>.</mixed-citation>
</ref>
<ref id="B24">
<label>24.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>E&#xDF;er</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Margolis</surname>
<given-names>GB</given-names>
</name>
<name>
<surname>Urbann</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Kerner</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Agrawal</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Action space design in reinforcement learning for robot motor skills</article-title>. In: <source>8th Annual Conference on Robot Learning</source> (<year>2024</year>).</mixed-citation>
</ref>
<ref id="B25">
<label>25.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Chisari</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Liniger</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Rupenyan</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Van Gool</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Lygeros</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Learning from simulation, racing in reality</article-title>. In: <source>2021 IEEE International Conference on Robotics and Automation (ICRA) (IEEE)</source> (<year>2021</year>). p. <fpage>8046</fpage>&#x2013;<lpage>52</lpage>.</mixed-citation>
</ref>
<ref id="B26">
<label>26.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>He</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>YJ</given-names>
</name>
<name>
<surname>Liao</surname>
<given-names>Q</given-names>
</name>
<name>
<surname>Ze</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z</given-names>
</name>
<etal/>
</person-group> <article-title>Learning smooth humanoid locomotion through Lipschitz-constrained policies</article-title>. In: <source>IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</source>. <publisher-name>IEEE</publisher-name> (<year>2025</year>). p. <fpage>4743</fpage>&#x2013;<lpage>50</lpage>.</mixed-citation>
</ref>
<ref id="B27">
<label>27.</label>
<mixed-citation publication-type="other">
<person-group person-group-type="author">
<name>
<surname>Wabersich</surname>
<given-names>KP</given-names>
</name>
<name>
<surname>Zeilinger</surname>
<given-names>MN</given-names>
</name>
</person-group>. <article-title>Safe exploration of nonlinear dynamical systems: a predictive safety filter for reinforcement learning</article-title>. <source>arXiv preprint arXiv:1812.05506</source>. (<year>2018</year>)</mixed-citation>
</ref>
<ref id="B28">
<label>28.</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zanon</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Gros</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Safe reinforcement learning using robust MPC</article-title>. <source>IEEE Transactions on Automatic Control</source> (<year>2020</year>) <volume>66</volume>.<issue>8</issue>: <fpage>3638</fpage>-<lpage>3652</lpage>.</mixed-citation>
</ref>
<ref id="B29">
<label>29.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Pham</surname>
<given-names>TH</given-names>
</name>
<name>
<surname>De Magistris</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Tachibana</surname>
<given-names>R</given-names>
</name>
</person-group>. <article-title>Optlayer-practical constrained optimization for deep reinforcement learning in the real world</article-title>. In: <source>2018 IEEE International Conference on Robotics and Automation (ICRA) (IEEE)</source> (<year>2018</year>). p. <fpage>6236</fpage>&#x2013;<lpage>43</lpage>.</mixed-citation>
</ref>
<ref id="B30">
<label>30.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Lin</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Kan</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Projection-based fast and safe policy optimization for reinforcement learning</article-title>. In: <source>2024 IEEE International Conference on Robotics and Automation (ICRA)</source>. <publisher-name>IEEE</publisher-name> (<year>2024</year>). p. <fpage>7426</fpage>&#x2013;<lpage>32</lpage>.</mixed-citation>
</ref>
<ref id="B31">
<label>31.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Papachristos</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Alexis</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Tzes</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Model predictive hovering-translation control of an unmanned tri-tiltrotor</article-title>. In: <source>2013 IEEE International Conference on Robotics and Automation </source>
<comment>(EEE)</comment> (<year>2013</year>). p. <fpage>5425</fpage>&#x2013;<lpage>32</lpage>.</mixed-citation>
</ref>
<ref id="B32">
<label>32.</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Papachristos</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Alexis</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Tzes</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Hybrid model predictive flight mode conversion control of unmanned quad-tiltrotors</article-title>. In: <source>2013 European Control Conference (ECC)</source>. <publisher-name>IEEE</publisher-name> (<year>2013</year>). p. <fpage>1793</fpage>&#x2013;<lpage>8</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>