Content uploaded by Umberto Saetti

Author content

All content in this area was uploaded by Umberto Saetti on Oct 08, 2020

Content may be subject to copyright.

A Motion Primitive Perspective on Rotorcraft Regime Recognition

Umberto Saetti

Postdoctoral Fellow

School of Aerospace Engineering

Georgia Institute of Technology

Atlanta, GA 30313

Jonathan Rogers

Associate Professor

School of Aerospace Engineering

Georgia Institute of Technology

Atlanta, GA 30313

ABSTRACT

An alternative approach to regime recognition that is based on the notion of motion primitives is developed. The algo-

rithm developed is non-causal and leverages the ideas of maneuvers and trims as deﬁned in a motion primitive context.

The algorithm functions in three major steps. Given a state and control input time history obtained from ﬂight data,

the ﬁrst step consists of classifying the state and control time history into trim and maneuver segments. The second

step leverages the information in the trim state and control vectors to classify each trim segment into a particular trim

condition based on conditional (if-else-if) logic. The third step entails the classiﬁcation of each maneuver segment

(ﬂown between two trim segments) as a particular maneuver condition. Importantly, maneuver classiﬁcation lever-

ages dynamic time warping in order to compensate for rate and time duration variations. Accuracy of the proposed

algorithm is evaluated using SH-60B simulated ﬂight data. Operation of the algorithm is also demonstrated using

real-world piloted ﬂight test data from a generic utility helicopter.

INTRODUCTION

Regime recognition has seen increasing interest from both

the military and civil aviation sectors. Regime recognition

consists of analyzing and categorizing ﬂight data into certain

ﬂight regimes. This enables determination of usage spectra

for a given aircraft model, as well as fatigue life calculation

since component fatigue rates for each life-limited part are

characterized for each maneuver category by the manufac-

turer. Typically, regime recognition is carried out post-ﬂight,

at which point fatigue life on various vehicle components can

be updated and assessed.

To date, two major types of regime recognition algorithms

have been developed: rule-based algorithms (Refs. 1–6), and

Hidden Markov model-based algorithms (HMMs) (Refs. 7,8).

The former are deterministic algorithms that perform classiﬁ-

cation at each time step using a set of logical rules that are

based on thresholds. The latter are probabilistic algorithms

that perform classiﬁcation using a Gaussian mixture model,

where the mixture coefﬁcients are computed based on the cur-

rent and past observations. The use of past observations to

condition the current classiﬁcations introduces an element of

memory, improving the robustness of the recognition algo-

rithm to high-frequency noise and short-term perturbations.

Although rule-based algorithms are relatively easy to con-

struct, they suffer two major limitations. First, they lack a

general recursion scheme (i.e. memory), making them sus-

ceptible to high frequency switching when the aircraft is ﬂy-

ing along the boundary between maneuvers. Second, they per-

Presented at the VFS International 76th Annual Forum &

Technology Display, Virginia Beach, VA, October 6–8, 2020. Copy-

right c

2020 by the Vertical Flight Society. All rights reserved.

form classiﬁcation in a binary way: either the ﬂight data at a

certain point in time belongs to a particular regime or it does

not. It follows that this approach may suffer from the inherent

uncertainty of the regime recognition process. In contrast, the

probabilistic approach taken by HMM algorithms generally

leads to smoother recognition results, at the price of complex-

ity and the need for a large amount of training data.

The regime recognition problem is made more difﬁcult by

the lack of a single standard deﬁning the state boundaries of

each maneuver. Instead, current algorithms classify regimes

based on state boundaries deﬁned empirically through time

histories recorded in piloted ﬂight tests. Such maneuver time

histories may vary signiﬁcantly from pilot to pilot and air-

craft to aircraft. Thus, regime recognition may beneﬁt from

a more rigorous mathematical deﬁnition of the maneuver cat-

egories. The work described here, in which motion primi-

tives (Refs. 9,10) are used to develop a mathematical frame-

work that clearly deﬁnes and classiﬁes ﬂight regimes, repre-

sents a ﬁrst step in this direction.

It is also important to note that because regime recognition

is a post-processing step, there is no requirement that the al-

gorithm be causal or capable of real-time operation. For this

reason, classiﬁcation of the current data point should not only

use information from past data points, but also from future

data points. Such a non-causal approach should improve clas-

siﬁcation results by allowing the algorithm access to more in-

formation at each classiﬁcation timestep.

The objective of this paper is to develop an alternative ap-

proach to regime recognition that is based on the notion of

motion primitives, which is a common path planning tech-

nique that captures path segments as a discrete set of possi-

ble motions. The algorithm developed here is intended to be

1

non-causal, and leverages the ideas of maneuvers and trims as

deﬁned in a motion primitive context.

The paper begins with an explanation of the mathematical

methodology behind the motion primitive approach to regime

recognition. The second section presents a detailed discussion

of the three-step approach to the regime recognition problem.

The discussion of each step includes a mathematical expla-

nation and an illustration through an example involving sim-

ulated SH-60B ﬂight data. Further, the accuracy of the algo-

rithm is evaluated. The third section demonstrates the applica-

tion of the proposed methodology to real-world piloted ﬂight

test data from a generic utility helicopter. Final remarks sum-

marize the overall ﬁndings of the study and identify areas for

future work.

METHODOLOGY

Consider a time-invariant non-linear system representing the

ﬂight dynamics of a rotorcraft:

˙

x=f(x,˙

x,u)(1)

where x∈X⊆Rnis the state vector, belonging to an n-

dimensional manifold X, and u∈U⊆Rmis the control in-

put vector, belonging to a m-dimensional manifold U. Pre-

vious research (Ref. 9) has shown that the state space X

can be decomposed into the product C×Y, where Care

the so-called cyclic coordinates and Yare the non-cyclic

coordinates. The system dynamics are invariant with re-

spect to group actions (e.g. translations or rotations) on C

(Refs. 9,10). The space Cis called a reduced conﬁgura-

tion space and is deﬁned by a subset of the state vector with

respect to which the system has certain symmetry proper-

ties (Ref. 10). Consider the following state and control input

vectors relative to the 6-DoF dynamics of the conventional

helicopter of Eq. 1:

xT= [uvwpqrφ θ ψ x y z](2a)

uT= [θ1cθ1sθ0θ0T](2b)

where:

u,v, and ware the body axes velocities,

p,q, and rare the body axes angular rates,

φ,θ, and ψare the Euler angles,

x,y, and zare the position coordinates in the earth-ﬁxed

North-East-Down (NED) frame,

θ1cand θ1sare the lateral and longitudinal cyclic angles,

θ0is the collective angle, and

θ0Tare the tail rotor collective angle.

Since the helicopter dynamics do not depend on its position or

on its heading angle ψ, the space Ccorresponds to the space

of translations in the position space and rotations about the

NED frame vertical axis. Speciﬁcally, the space Cis invariant

with respect to actions of the group G, deﬁned as the space of

4×4 matrices of the form:

g(ψ,x,y,z) =

cosψ−sin ψ0x

sinψcos ψ0y

0 0 1 z

0 0 0 1

(3)

where the air density change with respect to the vertical po-

sition zis assumed to be negligible. In light of this, it is

convenient to partition the state vector into invariant and non-

invariant parts with respect to the group action G, given re-

spectively by:

xT

c= [ψx y z](4a)

xT

y= [uvwpqrφ θ ](4b)

The invariance with respect to a group action leads to the deﬁ-

nition of a notion of equivalent trajectories, and to the con-

cept of motion primitives. Two state and control trajecto-

ries are said to be equivalent if they can be exactly superim-

posed through time translation and the action of the symmetry

group G. Consider a time-invariant system of Eq. 1, invariant

with respect to the group G, and a state and control trajec-

tory π:[0,T]→X×U. A motion primitive is the class of

trajectories equivalent to π.

Once motion primitives are deﬁned, it is convenient to classify

them in two groups: trim primitives and maneuver primitives.

Trim primitives correspond to steady-state motions, or trim

trajectories, where the controls and non-invariant part of the

state vector are constant (or trimmed). This means that their

time derivative is zero:

d

dt xT

yuTT=0 (5)

On the other hand, maneuver primitives are deﬁned as un-

steady trajectories that begin and end at a steady-state condi-

tion. This means that maneuver primitives are those trajecto-

ries that connect subsequent trim primitives.

In the context of regime recognition, these notions help deﬁne

the notions of trim ﬂight and maneuvering ﬂight for a heli-

copter in a mathematically rigorous way. Speciﬁcally, trim

primitives correspond to arcs of helices with a vertical axis,

including degenerate ones such as straight lines and horizontal

circles, ﬂown at constant speed, constant roll and pitch angles,

and constant control settings. In terms of typical helicopter

maneuvers, these trim trajectories correspond to hover, steady

level ﬂight, steady turns, steady climbs and descents, and their

combinations (i.e. steady climbing or descending turns, etc.).

Maneuvers are deﬁned as those trajectories that connect the

above trim conditions. An example may be pull-up or push-

over maneuvers that connect trim conditions including, but

not limited to, steady level ﬂight and steady climbing or de-

scending ﬂight. Another example may be roll-in or roll-out

maneuvers that connect trim conditions such as steady level

ﬂight and steady turns. This concept is illustrated in Fig. 1.

Based on the motion primitive approach presented above, the

regime recognition problem is divided into three major steps,

which are articulated as follows:

2

Figure 1: Classiﬁcation between trim and maneuver

primitives.

1. Classifying the state and control time history into trim

and maneuver segments.

2. Classifying each trim segment as a particular trim condi-

tion.

3. Classifying each maneuver segment (ﬂown between two

trim segments) as a particular maneuver condition.

Given a state and control input time history obtained from

ﬂight data, the ﬁrst step consists of evaluating when the time

derivatives of the controls and the invariant parts of the state

vector are approximately zero. The second step leverages the

information in the trim state and control vectors to classify

each trim segment into a particular trim condition based on

conditional (if-else-if) logic. The third step involves the use a

library of maneuvers (obtained either from simulation or ﬂight

test) that is compared to the maneuver segments of the ﬂight

data. Importantly, maneuver classiﬁcation uses dynamic time

warping (DTW), a methodology that has been used in other

recent work on ﬂight data processing (Refs. 11,12), to com-

pensate for rate and time duration variations.

A major difference between this approach and previous ap-

proaches to regime recognition (Ref. 13) lies in its non-causal

nature. Whereas past approaches have all been causal (i.e.,

using only previous data at a given classiﬁcation time), the ap-

proach proposed here uses the entire ﬂight history in a batch

formulation. This is an advantage in the sense that more infor-

mation can be used toward classiﬁcation of the ﬂight regime

at a particular time.

COMPUTATIONAL METHODS

This section presents a detailed discussion of the three-step

approach to regime recognition using the concept of motion

primitives. The discussion of each step includes a mathemati-

cal explanation and an illustration through an example involv-

ing simulated ﬂight data. The ﬂight data was obtained using

a 6-degree-of-freedom ﬂight dynamic simulation of the SH-

60B. The virtual pilot algorithm developed in Ref. 14 was

Table 1: Simulated ﬂight card.

Time [s] Flown Regime

0 Forward Flight 110 kts

30 Right Turn AOB 30 deg

60 Forward Flight 110 kts

80 Left Turn AOB 30 deg

110 Forward Flight 110 kts

130 Climb 900 ft/min

160 Forward Flight 110 kts

180 Descent 900 ft/min

210 Forward Flight 110 kts

240 Forward Flight 80 kts

270 Forward Flight 110 kts

310 Forward Flight 140 kts

340 Forward Flight 110 kts

370 End

Table 2: Properties of the zero-mean Gaussian noise by

which the measurement noise is corrupted.

State/Control Standard Deviation, σ

V1 ft/s

Vz1 ft/s

p1 deg/s

q1 deg/s

r1 deg/s

φ1 deg

θ1 deg

θ1c0.2 deg

θ1s0.2 deg

θ00.2 deg

θ0T0.2 deg

used to ﬂy the maneuver sequence listed in Table 1. The ﬂight

data was subsequently perturbed with zero-mean white Gaus-

sian noise to create more realistic simulated data. Table 2

shows the noise standard deviations for each state and con-

trol, which were derived from experience with real HUMS

measurement data.

Classiﬁcation of Flight Data into Trim and Maneuver Seg-

ments

A Kalman ﬁlter was implemented to both ﬁlter the measure-

ment noise on the state and control vector time histories, and

to estimate the state and control vectors time derivatives that

are used for classiﬁcation. Since in practice the body veloci-

ties u,v, and ware generally difﬁcult to measure or estimate,

they are not used in classiﬁcation. The total vehicle speed

Vand vertical speed in NED frame (positive downward) Vz

are adopted as states instead. This is because such variables

are typically readily available as measurements on military

rotorcraft. In light of this, a new non-invariant state vector is

deﬁned:

xT

y= [V Vzpqrφ θ ](6)

3

where:

V=pu2+v2+w2(7a)

Vz=−usinθ+vsin φcos θ+wcosφcos θ(7b)

The newly-deﬁned state vector is subsequently augmented

with the control vector:

sT=xT

yuT(8)

The dynamics of the continuous-time system to which the

Kalman ﬁlter is applied are:

˙

s

¨

s=0 I

0 0

| {z }

A

s

˙

s+w(9a)

y=I 0

0 0

| {z }

C

s

˙

s+v(9b)

where:

xT= [sT˙

sT]is the state vector,

yis the measurement vector,

wis the process noise vector,

vis the measurement noise vector,

Iis the 11 ×11 identity matrix, and

0is the 11 ×11 zero matrix.

Since the Kalman ﬁlter is implemented in discrete-time, the

system is converted to discrete time using a Zero-Order-Hold

(ZOH) approximation:

sk

˙

sk=exp 0 I

0 0 T

| {z }

Ad

sk−1

˙

sk−1+wk−1(10a)

yk=I 0

0 0

| {z }

C

sk

˙

sk+vk(10b)

where Tis the sampling time. The prediction step of the

Kalman ﬁlter involves calculating the a priori estimate of the

state vector and the covariance of the estimation error of the a

priori estimate at time k:

ˆ

x−

k=Adˆ

x+

k−1(11a)

P−

k=AdP+

k−1AT

d+Q(11b)

where Qis the process noise covariance matrix. For this par-

ticular case, the process noise covariance matrix is taken as

Q=1×10−4I, where Iis the 22 ×22 identity matrix. The

correction step of the Kalman ﬁlter involves calculating the

Kalman ﬁlter gain, the a posteriori estimate of the state vec-

tor, and the the covariance of the estimation error of the a

posteriori estimate at time k:

Kk=P−

kCTCP−

kCT+R−1(12a)

0 50 100 150 200 250 300 350

-0.2

0

0.2

p [rad/s]

Measured Filtered

0 50 100 150 200 250 300 350

-0.1

0

0.1

q [rad/s]

0 50 100 150 200 250 300 350

Time [s]

-0.1

0

0.1

r [rad/s]

Figure 2: Simulated ﬂight data ﬁltered angular rates.

ˆ

x+

k=ˆ

x−

k+Kkyk−Cˆ

x−

k(12b)

P+

k= (I−KkC)P−

k(12c)

where Iis the 22 ×22 identity matrix and Ris the measure-

ment noise covariance matrix. For this particular case, the

measurement noise covariance matrix is taken as 22×22 di-

agonal matrix with the standard deviations from Table 2on the

diagonal. Figure 2shows the measured (simulated) angular

rates and the ﬁltered angular rates obtained with the Kalman

ﬁlter. The Kalman ﬁlter is shown to adequately ﬁlter the raw

data to provide a reasonably smooth estimate for the state and

control vector time histories.

Other than ﬁltering the raw measurement data, the Kalman ﬁl-

ter serves the second major function of providing a reasonably

smooth estimate of the state and control time derivatives. The

vector of state and control time derivative estimates ˆ

˙

sis com-

pared at each time step kwith a vector of thresholds. If each

component of ˆ

˙

sat time step kfalls within the threshold, then

the time step kis classiﬁed as a trim instant; if not, the time

step kis classiﬁed as a maneuver instant. Formally:

trimk=(1,if ˆ

˙

sk,i<ai,i=1,...,11

0,otherwise (13)

where aiis the ith element of the vector of thresholds a,ˆ

˙

sk,i

denotes the ith element of the vector ˆ

˙

sat time k, and trim is

a Boolean vector. The vector of thresholds was tuned manu-

ally for the examples in this work, and its values are shown in

Table 3. This procedure is illustrated in Fig. 3. Speciﬁcally,

Fig. 3(a) shows the total velocity and vertical velocity deriva-

tives, Fig. 3(b) shows the angular rate derivatives, and Fig.

3(c) shows the roll and pitch attitude derivatives. The control

derivatives are omitted for brevity.

Since the trim classiﬁcation history can be noisy, a moving

average smoother is applied to ensure that trim segments have

a minimum duration of an arbitrary number of seconds. Such

minimum duration is chosen to be 4 seconds and is enforced

4

0 50 100 150 200 250 300 350

-4

-2

0

2

4

Filtered Data Trim Instants Threshold

0 50 100 150 200 250 300 350

Time [s]

-2

-1

0

1

2

(a)

0 50 100 150 200 250 300 350

-0.1

0

0.1

Filtered Data Trim Instants Threshold

0 50 100 150 200 250 300 350

-0.02

0

0.02

0 50 100 150 200 250 300 350

Time [s]

-0.02

0

0.02

(b)

0 50 100 150 200 250 300 350

-0.1

0

0.1

Filtered Data Trim Instants Threshold

0 50 100 150 200 250 300 350

Time [s]

-0.02

-0.01

0

0.01

0.02

(c)

Figure 3: Simulated ﬂight test data state derivatives: (a) Total

velocity and vertical velocity derivatives, (b) Angular rate

derivatives, and (c) Roll and pitch attitude derivatives.

Table 3: Thresholds for the trim classiﬁcation of simulated

ﬂight data.

State/Control Derivative Threshold

˙

V1.5 ft/s2

˙

Vz0.5 ft/s

˙p0.02 rad/s2

˙q0.02 rad/s2

˙r0.01 rad/s2

˙

φ0.03 rad/s

˙

θ0.01 rad/s

˙

θ1c0.005 rad/s

˙

θ1s0.005 rad/s

˙

θ00.005 rad/s

˙

θ0T0.005 rad/s

0 50 100 150 200 250 300 350

Time [s]

0

1

Trim

Raw Smoothened

Figure 4: Simulated ﬂight data classiﬁcation into trim and

maneuver segments: raw vs. smoothed predictions.

by selecting an appropriate sliding window (4 seconds) for

the smoother. A smoother was chosen rather than a ﬁlter so

as not to introduce delay in the trim classiﬁcation. Further,

smoothers are non-causal, whereas ﬁlters are causal. It fol-

lows that the smoother utilizes more data compared to the ﬁl-

ter, thus providing a better prediction of the trim and maneu-

vering segments. Figure 4shows how the raw classiﬁcation

of trim and maneuvering segments is smoothed. When com-

paring against the ﬂight card actually ﬂown in simulation in

Table 1, the algorithm correctly classiﬁes the ﬂight data into

trim and maneuvering segments. The identiﬁed trim and ma-

neuvering segments are illustrated for the simulated ﬂight data

state vector in Fig. 5. Speciﬁcally, Fig. 5(a) shows the mea-

sured total velocity, vertical velocity, and altitude, Fig. 5(b)

shows the measured angular rates, and Fig. 5(c) shows the

measured Euler angles. The measured control inputs are omit-

ted for brevity. In this ﬁgure, it is evident that the identiﬁed

trim segments largely correspond to the times between ma-

neuver transitions (blue dashed vertical lines), indicating fa-

vorable performance of the trim identiﬁcation portion of the

algorithm.

5

0 50 100 150 200 250 300 350

80

100

120

140

V [kts]

Flight Data Trim Instants

0 50 100 150 200 250 300 350

-1000

0

1000

Vz [ft/min]

0 50 100 150 200 250 300 350

Time [s]

5000

5200

5400

h [ft]

(a)

0 50 100 150 200 250 300 350

-0.2

0

0.2

p [deg/s]

Flight Data Trim Instants

0 50 100 150 200 250 300 350

-0.05

0

0.05

0.1

q [deg/s]

0 50 100 150 200 250 300 350

Time [s]

-0.1

0

0.1

r [deg/s]

(b)

0 50 100 150 200 250 300 350

-0.5

0

0.5

[deg]

Flight Data Trim Instants

0 50 100 150 200 250 300 350

-0.1

0

0.1

[deg]

0 50 100 150 200 250 300 350

Time [s]

0

50

100

[deg]

(c)

Figure 5: Simulated ﬂight data classiﬁcation into trim and

maneuver segments: (a) Total velocity, vertical velocity, and

altitude, (b) Angular rates, and (c) Euler angles.

Classiﬁcation of Each Trim Segment as a Particular Trim

Condition

Once the ﬂight data is classiﬁed into trim and maneuver seg-

ments, the state vector history relative to each trim segment is

averaged over the duration of the trim segment. The average

trim state vector is classiﬁed into a particular trim condition

based on conditional logic (if-else-if). The conditional logic

according to which each trim segment is classiﬁed is shown

in Table 4. Results showing the classiﬁcation of each trim as

a particular trim condition for the example ﬂight sequence are

shown in the next section.

Classiﬁcation of Each Maneuver Segment as a Particular

Maneuver Condition

The classiﬁcation of each maneuver segment as a particular

maneuver condition involves the use of a library of maneuvers

(obtained either from simulation or ﬂight test) that is com-

pared to the maneuver segments of the ﬂight data. Because

each type of maneuver (e.g. roll-in/roll-out, pull-up/push-

over) may be ﬂown with varying levels of aggressiveness

and with varying duration, it is convenient to compensate for

rate and time duration variations during the classiﬁcation pro-

cess. Recently, DTW has been used to compare maneuvers

while compensating for variations in rate and time duration

(Refs. 11,12). Although DTW has shown success in compar-

ing maneuvers when described by a single parameter or state

(e.g. bank angle for a turn), it has not yet been applied to ma-

neuvers described by more than one parameter or state. Fur-

ther, DTW has previously been used to compare maneuvers

that, according to the approach of the current study, consist of

three different ﬂight segments: maneuver-trim-maneuver. Be-

cause of these reasons, it is necessary to take additional steps

to compensate for varying initial conditions and magnitudes.

To compensate for the initial condition at which a pilot may

start a maneuver, the object of comparison is chosen to be the

perturbation from the state at which the maneuver is initiated:

∆ˆ

s(t) = ˆ

s(t)−ˆ

s(tstart),tstart ≤t<tstop (14)

where tstart and tstop are the start and stop times of the each

maneuver segment. To compensate for possible differences in

the magnitude of a maneuver (e.g. for a roll-in maneuver, dif-

ferences in the maximum bank angle excursion), each element

of the state and control perturbation vectors are normalized by

their maximum absolute values over the duration of the ma-

neuver:

¯

∆ˆ

si=∆ˆ

si

maxt|∆ˆ

si|,i=1,...,11 (15)

This way, each element of the state and control vectors lie

between ±1. It is worth noting that, because of the com-

pensation for time rate of change, time duration, magnitude,

and initial condition, only one maneuver sample per maneu-

ver type is needed in the maneuver library. This is generally

true for forward ﬂight conditions at sufﬁciently high speeds

(≥60 kts). However, in the case where one maneuver type

6

Table 4: Trim classiﬁcation thresholds.

Trim Condition V[kts] Vz[ft/min] r[deg/s] φ[deg]

Hover V≤5|Vz|<100 |r|<2 -

Left Hover Turn V≤5|Vz|<100 r<−2 -

Right Hover Turn V≤5|Vz|<100 r>2 -

Axial Climb V≤5Vz<−100 r>2 -

Axial Descent V≤5Vz>100 r>2 -

Level Flight 10 kts 5 <V≤10 |Vz|<100 |r|<2 -

Level Flight 20 kts 10 <V≤20 |Vz|<100 |r|<2 -

Level Flight 30 kts 20 <V≤30 |Vz|<100 |r|<2 -

Level Flight 40 kts 30 <V≤40 |Vz|<100 |r|<2 -

Level Flight 50 kts 40 <V≤50 |Vz|<100 |r|<2 -

Level Flight 60 kts 50 <V≤60 |Vz|<100 |r|<2 -

Level Flight 70 kts 60 <V≤70 |Vz|<100 |r|<2 -

Level Flight 80 kts 70 <V≤80 |Vz|<100 |r|<2 -

Level Flight 90 kts 80 <V≤90 |Vz|<100 |r|<2 -

Level Flight 100 kts 90 <V≤100 |Vz|<100 |r|<2 -

Level Flight 110 kts 100 <V≤110 |Vz|<100 |r|<2 -

Level Flight 120 kts 110 <V≤120 |Vz|<100 |r|<2 -

Level Flight 130 kts 120 <V≤130 |Vz|<100 |r|<2 -

Level Flight 140 kts 130 <V≤140 |Vz|<100 |r|<2 -

Level Flight 150 kts 140 <V≤150 |Vz|<100 |r|<2 -

Level Flight 160 kts 150 <V≤160 |Vz|<100 |r|<2 -

Left Turn AOB 45 deg V>5|Vz|<100 r<−2 30 <|φ|≤45

Left Turn AOB 30 deg V>5|Vz|<100 r<−2 0 <|φ|≤30

Right Turn AOB 45 deg V>5|Vz|<100 r>2 30 <|φ|≤45

Right Turn AOB 30 deg V>5|Vz|<100 r>2 0 <|φ|≤30

Climb V>5Vz<−100 r>2 -

Descent V>5Vz>100 r>2 -

7

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

-1

0

1

p/( p)max

Roll-in RT Roll-in LT Roll-out RT Roll-out LT

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

-1

0

1

q/( q)max

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Non-dimensional time

-1

0

1

r/( r)max

Figure 6: Library of roll-in/roll-out maneuvers.

exists for both hover and forward ﬂight, then the maneuver li-

brary will have to include two sample time histories: one for

hover and one for forward ﬂight. Since the present study only

considers forward ﬂight maneuvers, a total of eight type of

maneuvers are included in the maneuver library: roll-in right

turn, roll-out right turn, roll-in left turn, roll-out left turn, pull-

up, push-over, acceleration, and deceleration. Each maneuver

included in the library is compensated for magnitude and ini-

tial condition.

For this study, the maneuver library was obtained using simu-

lation data. Figure 6shows the normalized angular rates over

the course of standard roll-in/roll-out maneuvers. Figure 7

shows the normalized pitch rate, pitch attitude, and vertical

speed over the course of standard pull-up/push-over maneu-

vers. Figure 8shows the normalized pitch rate, pitch atti-

tude, and total speed over the course of standard accelera-

tion/deceleration maneuvers. The classiﬁcation of each ma-

neuver segment into a particular maneuver relies on the as-

sumption that a single maneuver is performed between two

trim segments. In other words, the algorithm does not contem-

plate maneuvers that are performed sequentially. This may

hinder the prediction accuracy of the algorithm under certain

ﬂight regimes. However, this limitation could be partially re-

laxed by augmenting the maneuver library with maneuvers

that are a combination of maneuvers (e.g. a roll reversal can

be seen as a sequential combination of roll-in/roll-out maneu-

vers).

This study uses the DTW algorithm built-in to MATLAB R

(i.e. the function dtw). Each maneuver segment is compared

to each maneuver in the library to ﬁnd the maneuver that gives

the smallest average Euclidean distance across all states and

controls. All states and controls contained in the augmented

state vector estimate ˆ

sare compared simultaneously. It fol-

lows that the the DTW algorithm solves for the warped time

vector that minimizes the average distance across all states

and controls. The error given by the DTW algorithm is di-

vided by the total number of states and controls being com-

pared (i.e. 11). Table 5shows the error resulting from com-

paring each maneuver segment to each maneuver stored in the

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

-1

0

1

q/( q)max

Pull-up Push-over

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

-1

0

1

/( )max

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Non-dimensional time

-1

0

1

Vz/( Vz)max

Figure 7: Library of pull-up/push-over maneuvers.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

-1

0

1

q/( q)max

Acceleration Deceleration

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

-1

0

1

/( )max

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Non-dimensional time

-1

0

1

V/( V)max

Figure 8: Library of acceleration/deceleration maneuvers.

library, with the maneuver yielding the minimum error shown

in red. The error associated with the maneuver that gives the

least error is contained between a minimum value of approx-

imately 6 and a maximum value of approximately 14. Table

6shows the classiﬁcation results for trim and maneuver seg-

ments as well as regime classiﬁcations. The identiﬁed regimes

closely match the ﬂown regimes shown in Table 1. In particu-

lar, the trim segments are correctly identiﬁed, and the maneu-

ver segments are appropriately classiﬁed as those that connect

the ﬂown trim regimes. It is worth noting that the initial ﬂight

segment, which is identiﬁed as a maneuver, is not included

in the classiﬁcation because it exhibits a transient perturba-

tion while the virtual pilot trims the aircraft due to an initial

condition which does not correspond to the trim value.

RESULTS

The three-step approach to regime recognition described in

the previous section is applied to piloted ﬂight-test data. The

helicopter used to gather the ﬂight data is a generic utility heli-

copter (the proprietary nature of the data requires that dimen-

sions from all plots be removed). It is worth noting that for

8

Table 5: Dynamic time warping error between for the simulated ﬂight data maneuver segments.

Maneuver Roll-in RT Roll-out RT Roll-in LT Roll-out LT Pull-up Push-over Accel. Decel.

16.6806 18.1308 15.1269 13.5641 14.1428 17.6705 44.2467 38.9646

2 14.4996 9.0229 12.0223 14.2895 16.6643 10.0534 37.6307 45.4418

3 19.5731 19.2885 13.7898 22.1338 20.4264 21.5460 52.3805 22.4221

4 12.4466 12.7415 15.4184 9.9821 13.8010 14.0255 23.9934 44.3009

5 21.1860 17.9873 21.0942 21.3706 9.3747 26.5638 47.4346 37.8997

6 21.6410 25.6598 22.2148 25.1831 26.0282 14.9030 43.1192 48.6393

7 21.4688 25.0701 22.7575 24.1515 26.5949 10.3865 43.6695 47.8158

8 20.1478 17.9954 19.7370 21.0398 12.4091 24.8477 47.4698 35.5876

9 35.0833 35.5595 35.7757 36.4195 38.0378 35.0446 15.8554 67.8899

10 34.2711 34.4262 28.8087 35.5498 33.5430 38.2089 69.2604 15.4121

11 34.2812 34.9089 29.5105 36.2244 34.2517 38.8870 70.0936 10.7342

12 36.5407 36.7175 37.3121 37.5451 39.3016 35.6313 13.0219 69.4547

this particular dataset, no “truth” data on the ﬂown regimes is

available. If follows that the objective of this example is not

to evaluate the accuracy of the proposed algorithm but rather

to demonstrate its operation using real-world data. Based on

subjective analysis, the ﬂight segment used for this example

consists of a series of level ﬂight segments, climbs, descents,

climbing turns, and descending turns. The thresholds used for

the classiﬁcation of the ﬂight data into trim and maneuver seg-

ments was tuned manually and can be found in Table 7. Such

values differ slightly from the thresholds used for the simu-

lated ﬂight test data but retain the same order of magnitude.

Figure 9shows how the raw classiﬁcation into trim and ma-

neuvering segments is smoothed. The classiﬁcation into trim

and maneuver segments is shown in Figure 10. Speciﬁcally,

Fig. 10(a) shows the measured total velocity, vertical veloc-

ity, and altitude, Fig. 10(b) shows the measured angular rates,

and Fig. 10(c) shows the measured Euler angles. Although

no “truth” data is available for comparison, the ﬂight data ap-

pears to be accurately classiﬁed between trim and maneuver

segments based on the subjective judgement of the authors.

The measured control inputs are omitted for brevity.

Table 8shows the error resulting from comparing each ma-

neuver segment to each maneuver stored in the library. The

error associated with the maneuver that gives the least error is

contained between a minimum value of approximately 9 and

and a maximum value of approximately 54. The upper bound-

ary of the error relative to the piloted ﬂight data is greater than

the upper boundary of the error obtained for simulated ﬂight

data. This may be due to discrepancies between the closed-

loop ﬂight dynamics model with which the maneuver library

is obtained and the dynamics of the piloted helicopter. Table

9shows the predicted trim and maneuver segments, as well as

the particular regime classiﬁcations. The algorithm appears

to correctly classify each maneuver segment as a maneuver

that can feasibly connect the trim segment of origin and the

trim segment of completion. It is worth noting that although

the ﬂight segment involves changes in altitude, the vertical

speed is often slower than that for a “Climb” or “Descent”

regime as deﬁned by the thresholds in Table 4. Thus, although

0 50 100 150 200 250 300 350 400 450

Time [s]

0

1

Trim

Raw Smoothened

Figure 9: Piloted ﬂight data classiﬁcation into trim and

maneuver segments: raw vs. smoothed prediction.

the ﬂight data segment involving slow changes in altitude are

effectively slow steady climbs or descents, the proposed al-

gorithm classiﬁes such segments in a deterministic fashion as

“Forward Flight” or other particular trim conditions as deﬁned

in Table 4.

Using a MATLAB R

implementation of the algorithm on a

computer equipped with an Intel R

CoreTM 8th Gen i7-8650U

processor, the algorithm takes on average 0.56 seconds to pro-

cess 490 seconds (approximately 8 minutes) of ﬂight data.

By extrapolating this result, it is concluded that the algorithm

takes approximately 4 seconds per 1 hour of ﬂight data pro-

cessed.

CONCLUSIONS

An alternative approach to regime recognition that is based

on the notion of motion primitives has been developed. The

algorithm is non-causal and leverages the notions of maneu-

vers and trims as deﬁned in a motion primitive context. The

algorithm consists of three major steps. Given a state and con-

trol input time history obtained from ﬂight data, the ﬁrst step

9

0 50 100 150 200 250 300 350 400 450 500

V

Flight Data Trim Instants

0 50 100 150 200 250 300 350 400 450 500

0

Vz

0 50 100 150 200 250 300 350 400 450 500

Time [s]

0

h

(a)

0 50 100 150 200 250 300 350 400 450 500

0

p

Flight Data Trim Instants

0 50 100 150 200 250 300 350 400 450 500

0

q

0 50 100 150 200 250 300 350 400 450 500

Time [s]

0

r

(b)

0 50 100 150 200 250 300 350 400 450 500

0

Flight Data Trim Instants

0 50 100 150 200 250 300 350 400 450 500

0

0 50 100 150 200 250 300 350 400 450 500

Time [s]

0

(c)

Figure 10: Piloted ﬂight data classiﬁcation into trim and

maneuver segments: (a) Total velocity, vertical velocity, and

altitude, (b) Angular rates, and (c) Euler angles.

Table 6: Identiﬁed regimes for the simulated ﬂight data.

Time [s] Segment Type Identiﬁed Regime

8.5-29.9 Trim Level Flight 110 kts

30.0-37.0 Maneuver Roll-in Right Turn

37.1-56.8 Trim Right Turn AOB 30 deg

56.9-63.1 Maneuver Roll-out Right Turn

63.2-79.9 Trim Level Flight 110 kts

80.0-90.3 Maneuver Roll-in Left Turn

90.4-106.9 Trim Left turn AOB 45 deg

107.0-113.1 Maneuver Roll-out Left Turn

113.2-130.8 Trim Level Flight 110 kts

130.9-142.4 Maneuver Pull-up

142.5-156.6 Trim Climb

156.7-168.2 Maneuver Push-over

168.3-180.6 Trim Level Flight 110 kts

180.7-191.9 Maneuver Push-over

192.0-206.7 Trim Descent

206.8-218.4 Maneuver Pull-up

218.5-244.3 Trim Level Flight 110 kts

244.4-265.2 Maneuver Deceleration

265.3-273.9 Trim Level Flight 80 kts

274.0-294.8 Maneuver Acceleration

294.9-314.9 Trim Level Flight 110 kts

315.0-334.6 Maneuver Acceleration

334.7-343.0 Trim Level Flight 140 kts

343.1-363.9 Maneuver Deceleration

364.0-369.9 Trim Level Flight 110 kts

consists of classifying the time history into trim and maneu-

ver segments. The second step leverages the information in

the trim state and control vectors to classify each trim seg-

ment into a particular trim condition based on conditional (if-

else-if) logic. The third step entails the classiﬁcation of each

maneuver segment (ﬂown between two trim segments) as a

particular maneuver condition. This step uses dynamic time

warping to compensate for rate and time duration variations.

Accuracy of the proposed algorithm was evaluated using sim-

ulated SH-60B ﬂight data. Algorithm performance was also

Table 7: Thresholds for the trim classiﬁcation of piloted

ﬂight data.

State/Control Derivative Threshold

˙

V2 ft/s2

˙

Vz0.1 ft/s

˙p0.03 rad/s2

˙q0.02 rad/s2

˙r0.02 rad/s2

˙

φ0.03 rad/s

˙

θ0.03 rad/s

˙

θ1c0.002 rad/s

˙

θ1s0.0015 rad/s

˙

θ00.0015 rad/s

˙

θ0T0.002 rad/s

10

Table 8: Dynamic time warping error for the piloted ﬂight data maneuver segments.

Maneuver Roll-in RT Roll-out RT Roll-in LT Roll-out LT Pull-up Push-over Accel. Decel.

119.6420 31.5744 30.7475 21.8756 24.3761 54.6124 110.1235 101.0895

2 16.6723 17.7836 27.0262 9.5621 20.4930 42.6204 85.1570 96.9769

3 38.3037 23.9743 14.4829 47.2742 33.6650 37.4496 91.7861 106.6232

4 62.9770 81.2827 61.6474 82.9144 88.8744 47.7847 89.0079 170.1424

5 25.0600 31.8885 22.2159 42.7498 41.7243 42.0397 97.1100 82.9244

628.6733 51.9813 47.5542 35.5854 50.5607 46.8405 77.0237 129.6071

7 63.8798 55.4416 54.6403 73.5310 61.3426 86.9263 166.7108 114.2292

828.6672 76.5414 49.6500 58.2752 58.4077 63.2039 105.4324 133.5490

9 57.6138 30.0795 53.2729 47.7430 44.8744 71.6386 106.4672 129.1644

Table 9: Identiﬁed regimes for the piloted ﬂight data.

Time [s] Segment Type Identiﬁed Regime

2.3-19.0 Trim Level Flight 110 kts

19.1-23.4 Maneuver Roll-in Right Turn

23.5-36.1 Trim Right Turn AOB 30 deg

36.2-39.3 Maneuver Roll-out Left Turn

39.4-113.0 Trim Right Turn AOB 30 deg

113.1-116.9 Maneuver Roll-in Left Turn

117.0-208.6 Trim Level Flight 70 kts

208.7-225.2 Maneuver Push-over

225.3-252.1 Trim Level Flight 90 kts

252.2-257.1 Maneuver Roll-in Left Turn

257.2-301.0 Trim Left Turn AOB 30 deg

301.1-307.8 Maneuver Roll-in Right Turn

307.9-339.8 Trim Right Turn AOB 30 deg

339.9-360.5 Maneuver Roll-in Left Turn

360.6-393.4 Trim Left Turn AOB 30 deg

393.5-406.2 Maneuver Roll-in Right Turn

406.3-449.6 Trim Right Turn AOB 45 deg

449.7-458.2 Maneuver Roll-out Right Turn

458.3-490.1 Trim Level Flight 70 kts

demonstrated using real-world piloted ﬂight test data from a

generic utility helicopter. This work results in the following

conclusions:

1. The classiﬁcation into trim and maneuver segments and

the classiﬁcation of each trim state into a particular

trim condition may be based on conditional logic that

relies on thresholds. Threshold-based algorithms are

known for high-frequency switching between the iden-

tiﬁed regimes. This issue is substantially mitigated in

this work by implementing a moving average smoother

with a sliding window of several seconds.

2. The classiﬁcation of each maneuver segment as a par-

ticular maneuver condition may be performed through a

comparison between each maneuver segment with a li-

brary of maneuvers. Dynamic time warping may be used

to compensate for variations in time rate of change, du-

ration, magnitude, and initial condition of the maneuver.

3. The classiﬁcation of each maneuver segment into a par-

ticular maneuver relies on the assumption that a single

maneuver is performed between two trim segments. This

may hinder the prediction accuracy of the algorithm un-

der certain ﬂight regimes. This shortcoming may be ad-

dressed by augmenting the maneuver library with ma-

neuvers that are a sequential combination of multiple ma-

neuvers.

4. When the algorithm is applied to simulated ﬂight data,

the identiﬁed regimes closely match the ﬂown regimes

indicating favorable accuracy. In particular, the trim seg-

ments are correctly identiﬁed and maneuver segments are

appropriately classiﬁed as those maneuvers that connect

the trim segments.

5. The algorithm is fairly computationally efﬁcient, requir-

ing on the order of several seconds to process 1 hour of

ﬂight data.

6. Although the methodology proposed was applied to ro-

torcraft ﬂight data, it is sufﬁciently general to be ex-

tended to ﬁxed-wing applications.

In upcoming work, the methodology proposed in this paper

will be extended to account for a greater number of maneu-

vers, including maneuvers starting or ending in a hover con-

dition. Limitations related to the assumption that a single ma-

neuver is performed between two trim segments will also be

addressed. Comparisons will be performed between the pro-

posed algorithm and other existing regime recognition strate-

gies to quantify the advantages and tradeoffs of the proposed

approach.

ACKNOWLEDGEMENTS

This work was sponsored by the Naval Air Systems Command

under SBIR contract N152-094. The authors gratefully ac-

knowledge this support.

REFERENCES

1. Barndt, G., and Moon, S., “Development of a Fatigue

Tracking Program for Navy Rotory Wing Aircraft,” Pro-

ceedings of the 50th Annual Forum of the American He-

licopter Society, Washington, D.C., May 11-13, 1994.

11

2. Barndt, G., Sarkar, S., and Miller, G., “Maneuver Regime

Recognition Development and Validation for H-60 Struc-

tural Monitoring,” Proceedings of the 63rd Annual Forum

of the American Helicopter Society, Virginia Beach, VA,

May 1–3, 2007.

3. Moon, S., and Phan, N., “Rotary Wing Aircraft Regime

Recognition Algorithms Development & Validation,”

Proceedings of the 64th Annual Forum of the American

Helicopter Society, Montreal, Canada, April 29 – May 1,

2008.

4. Hass, D., Walker, J., and Kough, L., “Using Flight Data to

Improve Operational Readiness in Naval Aviation,” Pro-

ceedings of the 64th Annual Forum of the American He-

licopter Society, Montreal, Canada, April 29 – May 1,

2008.

5. Teal, R., Evernham, J., Larchuck, T., Miller, G., Mar-

quith, D., White, F., and Deibler, D., “Regime Recog-

nition for MH-47E Structural Usage Monitoring,” Pro-

ceedings of the 53rd Annual Forum of the American He-

licopter Society, Virginia Beach, VA, April 29 – May 1,

1997.

6. Lu, Y., Chris, R., Puckett, T., Teal, R., and Thompson,

B., “AH-64 Apache Longbow Structural Usage Monitor-

ing System,” Proceedings of the 58th Annual Forum of

the American Helicopter Society, Montreal, Canada, June

11–13, 2002.

7. Wu, S., and Bechhoefer, E., “A Practical Regime Recog-

nition Approach for HUMS Applications,” Proceedings

of the 63rd Annual Forum of the American Helicopter So-

ciety, Virginia Beach, VA, May 1-3, 2007.

8. He, D., Wu, S., and Bechhoefer, E., “A Regime Recog-

nition Algorithm for Helicopter Usage Monitoring,”

Aerospace Technologies Advancements, Thawar T. Arif,

IntechOpen, January 2001, DOI: 10.5772/7165.

9. Frazzoli, E., Dahlel, M. A., and Feron, E., “Real-

Time Motion Planning for Agile Autonomous Vehi-

cles,” Journal of Guidance, Control, and Dynamics, Vol.

25, (1), Janurary–February 2002, pp. 116–129, DOI:

10.2514/2.4856.

10. Frazzoli, E., Dahlel, M. A., and Feron, E., “Maneuver-

Based Motion Planning for Nonlinear Systems With

Symmetries,” IEEE Transactions on Robotics, Vol.

21, (6), December 2005, pp. 1077–1091, DOI:

10.1109/TRO.2005.852260.

11. Statham, M., Wilson, A., and Wade, D., “Dynamic

Time Warping for pattern Detection in Time Series

Flight Data,” Proceedings of the American Helicopter

Society Airworthiness and HUMS Specialist Meeting,

Huntsville, AL, Feb 21–22, 2018.

12. Hull, J., Monaco, J., Glucksman, M., and Semidey, R.,

“Dynamic Time Warping to Quantify Structural Maneu-

ver Variability,” Proceedings of the 75th Annual Forum of

the Vertical Flight Society, Philadelphia, PA, May 13–16,

2019.

13. Musso, D., and Rogers, J., “Interacting Multiple Model

Algorithms for Rotorcraft Regime Recognition,” Pro-

ceedings of the 75th Annual Forum of the Vertical Flight

Society, Philadelphia, PA, May 13–16, 2019.

14. Fowler, L., Rogers, J., Sarkar, S., and Iyyer, N., “A Vir-

tual Pilot Algorithm for Synthetic HUMS Data Gener-

ation,” Journal of the American Helicopter Society,64,

042006 (2017), DOI: 10.4050/JAHS 62.042006.

12