Method and system for detecting and classifying manoeuvres executed by an aircraft on the basis of measures acquired during a flight of the aircraft
12400551 ยท 2025-08-26
Assignee
Inventors
- Andrea Baldi (Samarate, IT)
- Ugo Mariani (Samarate, IT)
- Daniele Mezzanzanica (Samarate, IT)
- Mara Tanelli (Milan, IT)
- Francesco Zinnari (Milan, IT)
- Giovanni Coral (Milan, IT)
- Francesco Braghin (Milan, IT)
- Gabriele Cazzulani (Milan, IT)
Cpc classification
G05B23/0283
PHYSICS
G05B23/0221
PHYSICS
G05B23/024
PHYSICS
International classification
Abstract
Method implemented through a computer for detecting the execution, by an aircraft, of a manoeuvre belonging to a macrocategory among a plurality of macrocategories, including: receiving a data structure with a plurality of time series of values of quantities relating to a flight of the aircraft; for each time duration among a plurality of predetermined time durations, selecting a corresponding subset of the data structure and extracting a corresponding feature vector; on the basis of the feature vectors, generating a corresponding input macrovector and applying to the input macrovector an output classifier to generate estimates indicative of the probability that the aircraft was performing manoeuvres belonging to the macrocategories.
Claims
1. Method implemented through a computer (12) for detecting the execution, by an aircraft (3), of a manoeuvre belonging to a macrocategory among a plurality of macrocategories (MC), comprising the steps of: receiving a data structure (205) including a plurality of time series of values of quantities relating to a flight of the aircraft (3), said values having been acquired through a monitoring system (4) coupled to the aircraft (3); said method further comprising performing, for each time instant (t.sub.clkk) of a first succession of time instants (t.sub.clk), the steps of: for each time duration (TW.sub.p) among a plurality of predetermined time durations (TW), selecting (310) a corresponding subset of the data structure (205), which has a time extension equal to the time duration (TW.sub.p), the selected subsets of the data structure (205) having a same time distance from the time instant (t.sub.clkk); from each selected subset of the data structure (205), extracting (320) a corresponding feature vector (FVX.sub.kp); on the basis of the feature vectors (FVX.sub.kp), generating (330,335;500,510;720;820) a corresponding input macrovector (MPVX.sub.k; MPVX.sub.k, MPVX.sub.k; MFVX.sub.k), alternatively by aggregation (820) of the feature vectors (FVX.sub.kp) or by: executing classifications (330;500) of the feature vectors (FVX.sub.kp), said classifications being executed so as to generate a plurality of input prediction vectors (PVX.sub.kp;PVX.sub.kp), each of which is indicative, for each of said macrocategories (MC), of a corresponding probability that, in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), the aircraft (3) was executing a manoeuvre belonging to said macrocategory (MC); and subsequent aggregation (335;510;720) of said plurality of input prediction vectors (PVX.sub.kp;PVX.sub.kp); said method further comprising performing, for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), the steps of: applying (338;520;730;830) to the input macrovector (MPVX.sub.k; MPVX.sub.k, MPVX.sub.k; MFVX.sub.k) an output classifier (151;251;561;721), which is configured to generate a corresponding output vector (OUT_A.sub.k; OUT_B.sub.k; OUT_C.sub.k; OUT_D.sub.k) including, for each of said macrocategories (MC), a corresponding estimate of the probability that, in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), the aircraft (3) was executing a manoeuvre belonging to said macrocategory (MC); and on the basis of the output vector (OUT_A.sub.k; OUT_B.sub.k; OUT_C.sub.k; OUT_D.sub.k), detecting (940,950,951,990) the macrocategory (MC) to which the manoeuvre executed by the aircraft (3) in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk) belongs.
2. Method according to claim 1, wherein said output classifier (151;251;651;751) has been generated starting from a training data structure (10) including a plurality of time series of values of said quantities relating to aircraft flights (1) in which, during corresponding time intervals (T.sub.m), test manoeuvres (M.sub.m) belonging to said macrocategories (MC) have been executed, the values of the training data structure (10) relating to the time interval (T.sub.m) of each test manoeuvre (M.sub.m) being labelled with a label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs, said output classifier (151;251;651;751) having been generated by executing, for each time instant (t.sub.clkj) of a second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), of the steps of: selecting (220), for each time duration (TW.sub.p) among said predetermined time durations (TW), a corresponding subset of the training data structure (10) having a time extension equal to the time duration (TW.sub.p), the selected subsets of the training data structure (10) having a same time distance from the time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk); from each selected subset of the training data structure (10), extracting (230) a corresponding first training feature vector (FV.sub.mpj); on the basis of the first training feature vectors (FV.sub.mpj), generating (150,160; 360,370; 150,160,360,370,700; 800) a corresponding training macrovector (MPV.sub.mj; MPV.sub.mj; MPV.sub.mj; MFV.sub.mj), alternatively by aggregation (800) of the first training feature vectors (FV.sub.mpj) or by: execution of classifications (150; 360; 150,360) of the first training feature vectors (FV.sub.mpj), said classifications being executed so as to generate a plurality of training prediction vectors (PV.sub.mpj;PV.sub.mpj), each of which is indicative, for each of said macrocategories (MC), of a corresponding probability that the test manoeuvre (M.sub.m) belongs to said macrocategory (MC); and subsequent aggregation (160;370;700) of said plurality of training prediction vectors (PV.sub.mpj;PV.sub.mpj); said output classifier (151;251;651;751) having further been generated by performing, for each time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), the step of: training (170;380;710;810) the output classifier (151;251;651;751) in a supervised manner, on the basis of the corresponding training macrovector (MPV.sub.mj; MPV.sub.mj; MPV.sub.mj; MFV.sub.mj) and of the label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs.
3. Method according to claim 2, wherein said step of generating (330,335) a corresponding input macrovector (MPVX.sub.k) comprises, for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), the steps of: to each of the corresponding feature vectors (FVX.sub.kp), applying (330) a first classifier (131), which is configured to generate a corresponding first strategy input prediction vector (PVX.sub.kp), the first strategy input prediction vectors (PVX.sub.kp) forming said plurality of input prediction vectors (PVX.sub.kp); aggregating (335) the first strategy input prediction vectors (PVX.sub.kp) into a first strategy input macrovector (MPVX.sub.k), which forms said input macrovector (MPVX.sub.k); and wherein the output classifier is formed by a first output classifier (151); and wherein said step of applying (338), for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), an output classifier (151) to the corresponding input macrovector (MPVX.sub.k) comprises applying (338) the first output classifier (151) to the corresponding first strategy input macrovector (MPVX.sub.k).
4. Method according to claim 3, wherein said first classifier (131) has been generated by performing the steps of: for each of said test manoeuvres (M.sub.m), extracting (120) a corresponding entire manoeuvre feature vector (FV.sub.m), starting from the portions of the time series of the training data structure (10) that extend in the time interval (T.sub.m) of the test manoeuvre (M.sub.m); and training (130) the first classifier (131) in a supervised manner on the basis of the entire manoeuvre feature vectors (FV.sub.m) and of the labels indicative of the macrocategories (MC) to which the corresponding test manoeuvres (M.sub.m) belong; and wherein the first output classifier (151) has been generated by performing, for each time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), the steps of: applying (150) the first classifier (131) to the corresponding first training feature vectors (FV.sub.mpj), so as to obtain a number of first strategy training prediction vectors (PV.sub.mpj) equal to the number of time durations (TW), said first strategy training prediction vectors (PV.sub.mpj) forming said plurality of training prediction vectors (PV.sub.mpj); and aggregating (160) said number of first strategy training prediction vectors (PV.sub.mpj), so as to form a corresponding first training prediction macrovector (MPV.sub.mj), which forms said training macrovector (MPV.sub.mj); training (170) the first output classifier (151) in a supervised manner on the basis of the corresponding first training prediction macrovector (MPV.sub.mj) and of the label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs.
5. Method according to claim 2, wherein said step of generating (500,510) a corresponding input macrovector (MPVX.sub.k) comprises, for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), the steps of: for each time duration (TW.sub.p) among said predetermined time durations (TW), applying (500) to the feature vector (FVX.sub.kp) relating to said time instant (t.sub.clkk) and to said time duration (TW.sub.p) a corresponding second classifier (CLASS.sub.p) among a number of different second classifiers (CLASS) equal to said number of predetermined time durations (TW), said corresponding second classifier (CLASS.sub.p) being configured to generate a corresponding second strategy input prediction vector (PVX.sub.kp), the second strategy input prediction vectors (PVX.sub.kp) forming said plurality of input prediction vectors (PVX.sub.kp); aggregating (510) the second strategy input prediction vectors (PVX.sub.kp) into a second strategy input macrovector (MPVX.sub.k), which forms said input macrovector (MPVX.sub.k); and wherein the output classifier is formed by a second output classifier (251); and wherein said step of applying, for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), an output classifier (251) to the corresponding input macrovector (MPVX.sub.k) comprises applying (520) the second output classifier (251) to the corresponding second strategy input macrovector (MPVX.sub.k).
6. Method according to claim 5, wherein each second classifier (CLASS.sub.p) has been generated by performing, for each of said test manoeuvres (M.sub.m), the steps of: selecting (430,460) a number of corresponding subsets of the portion (DG.sub.m) of the training data structure (10) that extends in the time interval (T.sub.m) of the test manoeuvre (M.sub.m), each of the selected subsets having a time extension not higher than the time duration (TW.sub.p) corresponding to the second classifier (CLASS.sub.p); from each selected subset of the portion (DG.sub.m) of the training data structure (10) that extends in the time interval (T.sub.m) of the test manoeuvre (M.sub.m), extracting (440,470) a corresponding second training feature vector (FV.sub.mpu); and training (350) the second classifier (CLASS.sub.p) in a supervised manner on the basis of the extracted second training feature vectors (FV.sub.mpu) and of the label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs; and wherein the second output classifier (251) has been generated by performing, for each time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), the steps of: for each time duration (TW.sub.p), applying (360) the second classifier (CLASS.sub.p) that corresponds to the time duration (TW.sub.p) to the first training feature vector (FV.sub.mpj) that corresponds to said time instant (t.sub.clkj) and has been extracted from the selected subset of the training data structure (10) having a time extension equal to the time duration (TW.sub.p), so as to obtain a corresponding second strategy training prediction vector (PV.sub.mpj), the second strategy training prediction vectors (PV.sub.mpj) forming said plurality of training prediction vectors (PV.sub.mpj); aggregating (370) the second strategy training prediction vectors (PV.sub.mpj), so as to form a corresponding second training prediction macrovector (MPV.sub.mj), which forms said training macrovector (MPV.sub.mj); training (380) the second output classifier (251) in a supervised manner on the basis of the corresponding second training prediction macrovector (MPV.sub.mj) and of the label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs.
7. Method according to claim 2, wherein said step of generating (720) a corresponding input macrovector (MPVX.sub.k) comprises, for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), the steps of: to each of the corresponding feature vectors (FVX.sub.kp), applying (330) a first classifier (131), which is configured to generate a corresponding first strategy input prediction vector (PVX.sub.kp); for each time duration (TW.sub.p) among said predetermined time durations (TW), applying (500) to the feature vector (FVX.sub.kp) relating to said time instant (t.sub.clkk) and to said time duration (TW.sub.p) a corresponding second classifier (CLASS.sub.p) among a number of different second classifiers (CLASS) equal to said number of predetermined time durations (TW), said corresponding second classifier (CLASS.sub.p) being configured to generate a corresponding second strategy input prediction vector (PVX.sub.kp), the first and second strategy input prediction vectors (PVX.sub.kp, PVX.sub.kp) forming said plurality of input prediction vectors (PVX.sub.kp,PVX.sub.kp); aggregating (720) the first and second strategy input prediction vectors (PVX.sub.kp, PVX.sub.kp) into a third strategy input macrovector (MPVX.sub.k), which forms said input macrovector (MPVX.sub.k); and wherein the output classifier is formed by a third output classifier (651); and wherein said step of applying, for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), an output classifier (651) to the corresponding input macrovector (MPVX.sub.k) comprises applying (730) the third output classifier (651) to the corresponding third strategy input macrovector (MPVX.sub.k).
8. Method according to claim 7, wherein the first classifier (131) was generated by performing the steps of: for each of said test manoeuvres (M.sub.m), extracting (120) a corresponding entire manoeuvre feature vector (FV.sub.m), starting from the portions of the time series of the training data structure (10) that extend in the time interval (T.sub.m) of the test manoeuvre (M.sub.m); and training (130) the first classifier (131) in a supervised manner on the basis of the entire manoeuvre feature vectors (FV.sub.m) and of the labels indicative of the macrocategories (MC) to which the corresponding test manoeuvres (M.sub.m) belong; and wherein each second classifier (CLASS.sub.p) has been generated by performing, for each of said test manoeuvres (M.sub.m), the steps of: selecting (430,460) a number of corresponding subsets of the portion (DG.sub.m) of the training data structure (10) that extends in the time interval (T.sub.m) of the test manoeuvre (M.sub.m), each of the selected subsets having a time extension not higher than the time duration (TW.sub.p) corresponding to the second classifier (CLASS.sub.p); from each selected subset of the portion (DG.sub.m) of the training data structure (10) that extends in the time interval (T.sub.m) of the test manoeuvre (M.sub.m), extracting (440,470) a corresponding second training feature vector (FV.sub.mpu); and training (350) the second classifier (CLASS.sub.p) in a supervised manner on the basis of the extracted second training feature vectors (FV.sub.mpu) and of the label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs; and wherein the third output classifier (651) has been generated by performing, for each time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), the steps of: applying (150) the first classifier (131) to the corresponding first training feature vectors (FV.sub.mpj), so as to obtain a number of first strategy training prediction vectors (PV.sub.mpj) equal to the number of predetermined time durations (TW); for each time duration (TW.sub.p), applying (360) the second classifier (CLASS.sub.p) that corresponds at the time duration (TW.sub.p) to the first training feature vector (FV.sub.mpj) that corresponds to said time instant (t.sub.clkj) and has been extracted from the selected subset of the training data structure (10) having a time extension equal to the time duration (TW.sub.p), so as to obtain a corresponding second strategy training prediction vector (PV.sub.mpj), the first and second strategy training prediction vectors (PV.sub.mpj,PV.sub.mpj) forming said plurality of training prediction vectors (PV.sub.mpj,PV.sub.mpj); aggregating (700) said number of first and second strategy training prediction vectors (PV.sub.mpj, PV.sub.mpj), so as to form a corresponding third training prediction macrovector (MPV.sub.mj), which forms said training macrovector (MPV.sub.mj); training (710) the third output classifier (651) in a supervised manner on the basis of the corresponding third training prediction macrovector (MPV.sub.mj) and of the label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs.
9. Method according to claim 1, further comprising performing, for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), the steps of: for each time duration (TW.sub.p), applying (910) to the feature vector (FVX.sub.kp) that corresponds to said time duration (TW.sub.p) and to said time instant (t.sub.clkk) a number of single-class classifiers (SCC.sub.1) equal to the number of macrocategories (MC), each single-class classifier (SCC.sub.1) being configured to generate a corresponding probability value, which is indicative of the probability that in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk) the aircraft (3) was executing a manoeuvre belonging to a macrocategory (MC) corresponding to the single-class classifier (SCC.sub.1); for each single-class classifier (SCC.sub.1), calculating (920) a corresponding statistical quantity on the basis of the probability values generated by the single-class classifier (SCC.sub.1); on the basis of the calculated statistical quantities (OUT_UPDATE.sub.k), detecting (930) the execution of manoeuvres belonging to multiple macrocategories; and in case of non-detection of the execution of manoeuvres belonging to multiple macrocategories, performing said step of detecting (940,951) the macrocategory (MC) to which the manoeuvre executed by the aircraft (3) belongs on the basis of the output vector (OUT_A.sub.k; OUT_B.sub.k; OUT_C.sub.k; OUT_D.sub.k), otherwise executing a step of detecting (950,951) the macrocategory (MC) to which the manoeuvre executed by the aircraft (3) in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk) belongs on the basis of said calculated statistical quantities (OUT_UPDATE.sub.k).
10. Method according to claim 9, wherein said output classifier (151;251;651;751) has been generated starting from a training data structure (10) including a plurality of time series of values of said quantities relating to aircraft flights (1) in which, during corresponding time intervals (T.sub.m), test manoeuvres (M.sub.m) belonging to said macrocategories (MC) have been executed, the values of the training data structure (10) relating to the time interval (T.sub.m) of each test manoeuvre (M.sub.m) being labelled with a label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs, said output classifier (151;251;651;751) having been generated by executing, for each time instant (t.sub.clkj) of a second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), of the steps of: selecting (220), for each time duration (TW.sub.p) among said predetermined time durations (TW), a corresponding subset of the training data structure (10) having a time extension equal to the time duration (TW.sub.p), the selected subsets of the training data structure (10) having a same time distance from the time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk); from each selected subset of the training data structure (10), extracting (230) a corresponding first training feature vector (FVmpj); on the basis of the first training feature vectors (FVmpj), generating (150,160; 360,370; 150,160,360,370,700; 800) a corresponding training macrovector (MPV.sub.mj; MPV.sub.mj; MPV.sub.mj; MFV.sub.mj), alternatively by aggregation (800) of the first training feature vectors (FVmpj) or by: execution of classifications (150; 360; 150,360) of the first training feature vectors (FV.sub.mpj), said classifications being executed so as to generate a plurality of training prediction vectors (PV.sub.mpj;PV.sub.mpj), each of which is indicative, for each of said macrocategories (MC), of a corresponding probability that the test manoeuvre (M.sub.m) belongs to said macrocategory (MC); and subsequent aggregation (160;370;700) of said plurality of training prediction vectors (PV.sub.mpj;PV.sub.mpj); said output classifier (151;251;651;751) having further been generated by performing, for each time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), the step of: training (170;380;710;810) the output classifier (151;251;651;751) in a supervised manner, on the basis of the corresponding training macrovector (MPV.sub.mj; MPV.sub.mj; MPV.sub.mj; MFV.sub.mj) and of the label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs; and wherein each single-class classifier (SCC.sub.1) has been generated by performing, for each of said test manoeuvres (M.sub.m), the steps of: extracting (120) a corresponding entire manoeuvre feature vector (FV.sub.m), starting from the portions of the time series of the training data structure (10) that extend in the time interval (T.sub.m) of the test manoeuvre (M.sub.m); and training the single-class classifier (SCC.sub.1) in a supervised manner on the basis of the extracted entire manoeuvre feature vector (FV.sub.m) and of a label which is indicative of the match between the macrocategory (MC) of the test manoeuvre (M.sub.m) and the macrocategory (MC.sub.i) that corresponds to the single-class classifier (SCC.sub.1).
11. Method according to claim 1, further comprising performing, for each time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), the steps of: for each time duration (TW.sub.p), applying (910) to the feature vector (FVX.sub.kp) that corresponds to said time duration (TW.sub.p) and to said time instant (t.sub.clkk) a plurality of respective single-class classifiers (SCC.sub.pi) that correspond to said time duration (TW.sub.p), each of which is configured to generate a corresponding probability value indicative of the probability that in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk) the aircraft (3) was executing a manoeuvre belonging to a macrocategory (MC) corresponding to the single-class classifier (SCC.sub.pi); for each macrocategory (MC.sub.i), calculating (980) a corresponding statistical quantity on the basis of probability values generated by the single-class classifiers (SCC.sub.pi) that correspond to said macrocategory (MC.sub.i) and, respectively, to the time durations (TW.sub.p); on the basis of the calculated statistical quantities (OUT_UPDATE.sub.k), detecting (985) the execution of manoeuvres belonging to multiple macrocategories; and in case of non-detection of the execution of manoeuvres belonging to multiple macrocategories, performing said step of detecting (940,951) the macrocategory (MC) to which the manoeuvre executed by the aircraft (3) belongs on the basis of the output vector (OUT_A.sub.k; OUT_B.sub.k; OUT_C.sub.k; OUT_D.sub.k), otherwise performing a step of detecting (951,990) the macrocategory (MC) to which the manoeuvre executed by the aircraft (3) in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk) belongs on the basis of said calculated statistical quantities (OUT_UPDATE.sub.k).
12. Method according to claim 11, wherein said output classifier (151;251;651;751) has been generated starting from a training data structure (10) including a plurality of time series of values of said quantities relating to aircraft flights (1) in which, during corresponding time intervals (T.sub.m), test manoeuvres (M.sub.m) belonging to said macrocategories (MC) have been executed, the values of the training data structure (10) relating to the time interval (T.sub.m) of each test manoeuvre (M.sub.m) being labelled with a label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs, said output classifier (151;251;651;751) having been generated by executing, for each time instant (t.sub.clkj) of a second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), of the steps of: selecting (220), for each time duration (TW.sub.p) among said predetermined time durations (TW), a corresponding subset of the training data structure (10) having a time extension equal to the time duration (TW.sub.p), the selected subsets of the training data structure (10) having a same time distance from the time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk); from each selected subset of the training data structure (10), extracting (230) a corresponding first training feature vector (FV.sub.mpj); on the basis of the first training feature vectors (FV.sub.mpj), generating (150,160; 360,370; 150,160,360,370,700; 800) a corresponding training macrovector (MPV.sub.mj; MPV.sub.mj; MPV.sub.mj; MFV.sub.mj), alternatively by aggregation (800) of the first training feature vectors (FV.sub.mpj) or by: execution of classifications (150; 360; 150,360) of the first training feature vectors (FV.sub.mpj), said classifications being executed so as to generate a plurality of training prediction vectors (PV.sub.mpj;PV.sub.mpj), each of which is indicative, for each of said macrocategories (MC), of a corresponding probability that the test manoeuvre (M.sub.m) belongs to said macrocategory (MC); and subsequent aggregation (160;370;700) of said plurality of training prediction vectors (PV.sub.mpj;PV.sub.mpj); said output classifier (151;251;651;751) having further been generated by performing, for each time instant (t.sub.clkj) of the second succession of time instants (t.sub.clk) that falls within a time interval (T.sub.m) of a test manoeuvre (M.sub.m), the step of: training (170;380;710;810) the output classifier (151;251;651;751) in a supervised manner, on the basis of the corresponding training macrovector (MPV.sub.mj; MPV.sub.mj; MPV.sub.mj; MFV.sub.mj) and of the label indicative of the macrocategory (MC) to which the test manoeuvre (M.sub.m) belongs; and wherein each single-class classifier (SCC.sub.pi) has been generated by performing, for each of said test manoeuvres (M.sub.m), the steps of: selecting (430,460) a number of corresponding subsets of the portion (DG.sub.m) of the training data structure (10) that extends in the time interval (T.sub.m) of the test manoeuvre (M.sub.m), each of the selected subsets having a time extension not higher than the time duration (TW.sub.p) corresponding to the second single-class classifier (SC AC.sub.pi); from each selected subset of the portion (DG.sub.m) of the training data structure (10) that extends in the time interval (T.sub.m) of the test manoeuvre (M.sub.m), extracting (440,470) a corresponding second training feature vector (FV.sub.mpu); and training (960) in a supervised manner the single-class classifier (SCC.sub.pi), on the basis of the extracted second training feature vectors (FV.sub.mpu) and of a label indicative of the match between the macrocategory (MC) of the test manoeuvre (M.sub.m) and the macrocategory (MC.sub.i) corresponding to the single-class classifier (SCC.sub.pi).
13. Method according to claim 1, further comprising the step of: on the basis of the macrocategory (MC) detected, identifying (991) the manoeuvre executed by the aircraft (3) in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk), on the basis of at least a value of at least one among said quantities relating to the flight of the aircraft (3).
14. Method according to claim 9, further comprising the steps of: in case of non-detection of the execution of manoeuvres belonging to multiple macrocategories, identifying (991) the manoeuvre executed by the aircraft (3) in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk) on the basis of the macrocategory (MC) detected on the basis of the output vector (OUT_A.sub.k; OUT_B.sub.k; OUT_C.sub.k; OUT_D.sub.k) and of at least one value of at least one among said quantities relating to the flight of the aircraft (3); in case of detection of the execution of manoeuvres belonging to multiple macrocategories, identifying (991) the manoeuvre executed by the aircraft (3) in said time instant (t.sub.clkk) of the first succession of time instants (t.sub.clk) on the basis of the macrocategory (MC) detected on the basis of said calculated statistical quantities (OUT_UPDATE.sub.k; OUT_UPDATE.sub.k) and of at least one value of at least one among said quantities relating to the flight of the aircraft (3).
15. Computer-implemented method for determining the state of usage of an aircraft (3), comprising: storing information correlating load data to manoeuvres; carrying out the method according to claim 13- or 14; determining at least one quantity indicative of said state of usage on the basis of the identified manoeuvre.
16. Processing system comprising means configured to carry out the method according to claim 1.
17. Computer program comprising instructions which, when the program is executed by a computer (12), cause the execution of the method according to claim 1.
18. Computer medium readable by a computer (12), on which the computer program according to claim 17 is stored.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) For a better understanding of the present invention, embodiments thereof are now described, purely by way of non-limiting example, with reference to the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
BEST MODE FOR CARRYING OUT THE INVENTION
(28) The present method builds on the fact that it is currently possible to equip an aircraft (for example, a helicopter) with numerous sensors, which allow to determine the trends of corresponding quantities that characterize the flight of the aircraft, that is, during the execution of a succession of manoeuvres. In other words, it is possible to monitor the values that are assumed by said characteristic quantities during the flight. For example,
(29) Purely by way of example,
(30) Still by way of example,
(31) As shown in
(32) In the following it is assumed that the macrocategories MC are in a number equal to NUM_MC.
(33) In consideration of the foregoing, the present method provides, as shown in
(34) In detail, the training data structure 10 stores the time series (intended as successions of samples connected to corresponding time instants) formed by the values of the primary quantities detected by the monitoring system 2 of the helicopter 1 during test flights, as well as by monitoring systems (not shown) of other aircraft (not shown) during respective test flights. Moreover, as mentioned above with reference to the first and second test manoeuvres M1, M2 shown in
(35) For example, assuming that the first and second manoeuvre M1 and M2 belong to the same macrocategory MC1, the training data structure 10 shown in
(36) Again with reference to the first test flight, the training data structure 10 also stores the values assumed by the primary quantities 1-5 during the aforementioned non-labelled periods NMP1, NMP2, NMP3, which, as previously mentioned, represent periods in which the pilot has not specified the manoeuvre executed.
(37) Again with reference to the training data structure 10 shown in
(38) In practice, the training data structure 10 comprises a number of sub-blocks SB, which are referred to hereinafter as training sub-structures SB. Each training sub-structure SB stores the time series formed by the values assumed of the quantities during a corresponding test flight. Each cluster of data DG therefore belongs to a single corresponding training sub-structure SB.
(39) Again with reference to
(40) Subsequently, for each test manoeuvre, the computer 12 extracts (block 120) from the training data structure 10 a vector of statistical quantities, which is calculated as described below, in which for simplicity's sake reference is made as to a m-th test manoeuvre M.sub.m, which belongs to a macrocategory MC.sub.m and takes place during a time interval T.sub.m of a test flight connected to a m-th training sub-structure SB.sub.m. Moreover, it is assumed that the values assumed by the primary quantities during the time interval T.sub.m form a cluster of data DG.sub.m. In consideration of the foregoing, the computer 12 extracts, on the basis of the cluster of data DG.sub.m, a vector, to which reference is made hereinafter as to the feature vector of entire manoeuvre training FV.sub.m.
(41) In particular, the feature vector of entire manoeuvre training FV.sub.m is calculated as shown in
(42) In greater detail, the feature vector of entire manoeuvre training FV.sub.m is formed by a number of elements, each of which is equal to the value of a statistical quantity calculated on the basis of the values assumed in the time window TW.sub.m (and therefore, during the entire test manoeuvre M.sub.m) by a corresponding primary quantity. Purely by way of example, the feature vector of entire manoeuvre training FV.sub.m may be formed by NUM_Ftot=NUM_F*N elements (with integer NUM_F), in which case it occurs that, for example, the first N elements of the feature vector of entire manoeuvre training FV.sub.m are respectively equal to (for example) time averages of the values assumed, respectively, by the primary quantities during the time window TW.sub.m, while the second N elements of the feature vector of entire manoeuvre training FV.sub.m are equal to (for example) variances of the values assumed, respectively, by the primary quantities during time window TW.sub.m, and so on. For example, in addition to the means and the variances, other statistical quantities can be calculated, such as for example: maximum, minimum, median, mean of the first derivative, mean of the second derivative, angular coefficient of the trend line, etc. As explained, the statistical quantities are calculated over the entire duration of the manoeuvre M.sub.m. Moreover, the feature vector of entire manoeuvre training FV.sub.m is connected to the macrocategory MC.sub.m of the corresponding test manoeuvre M.sub.m to which the vector refers, as shown qualitatively in
(43) In practice, assuming for example that a number NUM_M of test manoeuvres has been executed, the operations of block 120 allow to generate a number equal to NUM_M of feature vectors of entire manoeuvre training FV, each of which is connected to the corresponding macrocategory MC to which the test manoeuvre refers.
(44) Then, the computer 12 trains (block 130) a classifier 131 (shown in
(45) Then, the computer 12 extracts (block 140), for each test manoeuvre, a number of further feature vectors, to which reference is made hereinafter as to the feature vectors of extended manoeuvre training FV.sub.mpj, in which the index m indexes the test manoeuvres, while the indexes p and j are explained below. Moreover, the computer 12 uses a number NUM_TW of time durations TW (for example, NUM_TW=4), which are shared among all the test manoeuvres, that is, they do not vary with the variation of the test manoeuvre considered.
(46) In detail, for each test manoeuvre, the computer 12 executes the operations mentioned in
(47) In greater detail, the computer 12 has its own time base (indicated by time_clk) with period .sub.clk, on the basis of which the computer 12 determines (block 200,
(48) Moreover, the computer 12 detects (block 210) the time instants t.sub.clkj falling in the time interval T.sub.m, and thus falling during the test manoeuvre M.sub.m. For example, in
(49) Subsequently, for each time duration TW.sub.p (with p=1, . . . NUM_TW, used to index the time duration TW), the computer 12 selects (block 220), for each intermediate time instant t.sub.clkj, the subset of the values of the m-th training sub-structure Sbm.sub.m falling into the time window between t.sub.clkj(TW.sub.p/2) and t.sub.clkj+(TW.sub.p/2). In other words, each time duration TW.sub.p identifies a corresponding time window of equal duration, which is translated and centred (i.e. aligned) in each of the intermediate time instants t.sub.clkj, so as to select the values of the training sub-structure SB relating to the test manoeuvre considered which fall into said translated time window. As can be noted in
(50) Subsequently, on the basis of each selected subset of the values of the training sub-structure SB.sub.m, the computer 12 extracts (block 230) a corresponding feature vector of extended manoeuvre training FV.sub.mpj. Consequently, for each test manoeuvre, NUM_TW*NUM_J feature vectors of extended manoeuvre training FV.sub.mpj are calculated, all of which are connected to the macrocategory MC.sub.m of the corresponding test manoeuvre M.sub.m.
(51) The feature vectors of extended manoeuvre training FV.sub.mpj have the same dimensions as the feature vectors of entire manoeuvre training FV.sub.m and are calculated in the same way, i.e. they refer to the same statistical quantities, however, these statistical quantities are calculated on the basis of subsets of the values assumed by the primary quantities during each test manoeuvre, instead of on the basis of the values assumed by the primary quantities during the entire test manoeuvre. In particular, each element of each feature vector of extended manoeuvre training FV.sub.mpj is equal to the value of a corresponding statistical quantity calculated on the basis of the values assumed by a corresponding primary quantity during the time window t.sub.clkj-(TW.sub.p/2) and t.sub.clkj+(TW.sub.p/2).
(52) By way of example,
(53) Again with reference to
(54) Each first strategy training prediction vector PV.sub.mpj has a number of elements equal to the number NUM_MC of macrocategories MC, each element being indicative of the probability that the corresponding feature vector of extended manoeuvre training FV.sub.mpj is connected to the macrocategory MC that corresponds to the element.
(55) Moreover, for each test manoeuvre, the computer 12 aggregates (block 160), for each of the intermediate time instants t.sub.clkj, the first strategy training prediction vectors PV.sub.mpj (in a number equal to NUM_TW), so as to form a corresponding macrovector, which is still connected to the macrocategory MC of the test manoeuvre, and to which reference is made hereinafter as to the corresponding first training prediction macrovector MPV.sub.mj.
(56) For example,
(57) In addition,
(58) Again with reference to
(59) In practice, the first second-level classifier 151 is trained in a supervised manner. Furthermore, purely by way of example, the first second-level classifier 151 may be a classifier of the logistic regression type.
(60) Once the first first-level classifier 131 and the first second-level classifier 151 have been trained, it is possible to determine the macrocategory to which an unknown manoeuvre (therefore, with unknown duration) belongs, executed, for example, by an unknown helicopter 3 (an example of which is shown in
(61) In detail, a new data structure (shown in
(62) Like in the case of the training data structure 10, also in the non-labelled data structure 205 the values of each primary quantity are connected to the corresponding sampling instants, i.e. they are distributed along the aforementioned flight_time, which has a discretization still equal to the sampling period .sub.c. In practice, by assuming that the unknown flight extends along a time interval W.sub.tot, to which reference is made hereinafter as to the total time interval W.sub.tot, each time series connected to a corresponding primary quantity includes a number of values equal to W.sub.tot*f.sub.c.
(63) The computer 12 still has the time base time_clk, with period .sub.clk, which generates the time instants t_clk. Furthermore, given a generic k-th time instant t.sub.clkk (shown in
(64) Then, for each selected subset of the values of the non-labelled data structure 205, the computer 12 extracts (block 320) a corresponding vector of features, which is referred to hereinafter as to the input feature vector FVX.sub.kp. Consequently, for the generic k-th time instant t.sub.clkk provided by the time base time_clk, a number equal to NUM_TW of input feature vectors FVX.sub.kp, without any connections to any macrocategory MC, are calculated.
(65) The input feature vectors FVX.sub.kp have the same dimensions as the feature vectors of extended manoeuvre training FV.sub.mpj and of the feature vectors of entire manoeuvre training FV.sub.m and are calculated in the same way, i.e. they refer to the same statistical quantities, however, these statistical quantities are calculated on the basis of subsets of the values assumed by the primary quantities during the unknown flight. In particular, each element of the input feature vector FVX.sub.kp is equal to the value of a corresponding statistical quantity calculated on the basis of the values assumed by a corresponding primary quantity in the time window t.sub.clkk(TW.sub.p/2) and t.sub.clkk+(TW.sub.p/2).
(66) Then, referring for example to the generic k-th time instant t.sub.clkk, the computer 12 applies (block 330) the first first-level classifier 131 to the corresponding input feature vectors FVX.sub.kp, so as to obtain a number equal to NUM_TW of first strategy input prediction vectors PVX.sub.kp, as qualitatively exemplified in
(67) Each first strategy input prediction vector PVX.sub.kp has a number of elements equal to the number NUM_MC of macrocategories MC, each element being indicative of the probability that the corresponding input feature vector FVX.sub.kp is connected to the macrocategory MC that corresponds to the element, and therefore of the probability that at the corresponding k-th time instant t.sub.clkk the unknown helicopter 3 was executing a manoeuvre belonging to such macrocategory MC.
(68) Again with reference to the k-th time instant t.sub.clkk, the computer 12 aggregates (block 335) the first strategy input prediction vectors PVX.sub.kp (in a number equal to NUM_TW), so as to form a corresponding macrovector, to which reference is made hereinafter as to the first strategy input macrovector MPVX.sub.k.
(69) Again with reference to the k-th time instant t.sub.clkk, the computer 12 then applies (block 338) the first second-level classifier 151 to the first strategy input macrovector MPVX.sub.k, so as to obtain a first output vector OUT_A.sub.k, which has a number of elements equal to the number NUM_MC of macrocategories, each element being indicative of the probability that the corresponding input feature vector FVX.sub.kp is connected to the macrocategory MC that corresponds to the element, and therefore the probability that, at the k-th time instant t.sub.clkk, the unknown helicopter 3 was executing a manoeuvre belonging to this macrocategory MC. In practice, the first output vector OUT_A.sub.k represents an improvement of the probabilities contained in the first strategy input prediction vectors PVX.sub.kp, as explained below with reference to all the mentioned second-level classifiers.
(70) Alternatively or in addition to what has been described so far, the computer 12 may implement a different strategy, which is now described with reference to
(71) Initially, for each test manoeuvre, the computer 12 extracts (block 340,
(72) In greater detail, the computer 12 makes use of a synchronized time base, to which reference is made hereinafter as to time_clk_sync, since it has a period equal to the period .sub.clk and is synchronized with respect to the instant t.sub.start, so as to have origin coinciding with the instant t.sub.start. In other words, the computer 12 determines (block 400,
(73) Moreover, the computer 12 detects (block 410,
(74) Subsequently, for each time duration TW.sub.p (with p=1, . . . NUM_TW, used to index the time duration TW), the computer 12 selects, for each test manoeuvre, a number of subsets (possibly also an entire subset, as explained hereinafter) of the cluster of data DG corresponding to the test manoeuvre, as described hereinafter, again with reference to the generic p-th time duration TW.sub.p and to the m-th test manoeuvre M.sub.m, and as shown in
(75) In detail, the computer 12 checks (block 420) whether the time interval T.sub.m in which the m-th test manoeuvre M.sub.m has taken place has a duration lower than or equal to the p-th time duration TW.sub.p, in which case (output YES of block 420) the computer 12 selects (block 430) the entire cluster of data DG.sub.m and then extracts (block 440) from the entire cluster of data DG.sub.m a single feature vector of partial manoeuvre FV.sub.mp0, which is equal to the aforementioned feature vector of entire manoeuvre FV.sub.m and is connected to the macrocategory MC.sub.m of the corresponding test manoeuvre M.sub.m.
(76) On the contrary, if the time interval T.sub.m in which the m-th test manoeuvre M.sub.m has taken place has a duration greater than the p-th time duration TW.sub.p (output NO of block 420), the computer 12 selects (block 450) each synchronized intermediate time instant t.sub.clk_sync_u such that the time window t.sub.clk_sync_u(TW.sub.p/2) and t.sub.clk__sync_u(TW.sub.p/2) falls entirely within the time interval T.sub.m. For example, with reference to
(77) Moreover, for each active synchronized intermediate time instant t.sub.clk_sync_u, the computer 12 selects (block 460) the subset of the values of the cluster of data DG.sub.m falling into the time window falling between t.sub.clk_sync_u(TW.sub.p/2) and t.sub.clk_sync_u+(TW.sub.p/2). In other words, for each active synchronized intermediate time instant t.sub.clk_sync_u, a time window of duration equal to the time duration TW.sub.p is centred thereon, this window being used to select the values of the cluster of data DG.sub.m.
(78) Subsequently, for each selected subset of the values of the cluster of data DG.sub.m, the computer 12 extracts (block 470) a corresponding feature vector of partial manoeuvre training FV.sub.mpu, which is connected to the macrocategory MC.sub.m of the corresponding test manoeuvre M.sub.m, has the same dimensions as the feature vectors of extended manoeuvre training FV.sub.mpj and is calculated in the same way, i.e. it refers to the same statistical quantities, which are calculated on the basis of a subset which includes the values assumed by the primary quantities during a subportion of the test manoeuvre. By way of example, the two feature vectors of partial manoeuvre training FV.sub.m12 and FV.sub.m13 are indicated in
(79) Again with reference to
(80) By way of example,
(81) In consideration of the foregoing and again with reference to
(82) The second first-level classifiers CLASS are of a type known per se, such as for example random forest classifiers. Moreover, as stated above, referring for example to the p-th second first-level classifier CLASS.sub.p, it has been trained on the basis of feature vectors calculated on portions of clusters of data DG relating to test manoeuvres, said portions having time extensions not higher than the p-th time duration TW.sub.p.
(83) Once the second first-level classifiers CLASS have been trained, the computer 12 applies (block 360) the second first-level classifiers CLASS to the aforementioned feature vectors of extended manoeuvre training FV.sub.mpj, in the following manner.
(84) In detail, for each test manoeuvre, and for each of the corresponding intermediate time instants t.sub.clkj, the computer 12 applies the p-th second first-level classifier CLASS.sub.p(with p=1, . . . , NUM_TW) to the corresponding feature vector of extended manoeuvre training FV.sub.mpj, that is, to the feature vector of extended manoeuvre training FV.sub.mpj obtained by applying a time window having a duration equal to the time duration TW.sub.p, that is equal to the duration of the time window used to train the same second first-level classifier CLASS.sub.p, and it obtains a corresponding second strategy training prediction vector PV.sub.mpj, which is connected to the macrocategory MC of the test manoeuvre.
(85) Following the operations of block 360, the computer 12 has, for each of the corresponding intermediate time instants t.sub.clkj of each test manoeuvre, a number equal to NUM_TW of second strategy training prediction vector PV.sub.mpj.
(86) By way of example,
(87) Then, for each test manoeuvre, the computer 12 aggregates (block 370,
(88) For example, with reference to
(89) Again with reference to
(90) In practice, the second second-level classifier 251 is trained in a supervised manner, on the basis of the second training prediction macrovectors MPV.sub.mj and of the macrocategories connected thereto. Furthermore, purely by way of example, the second second-level classifier 251 can be a classifier of the logistic regression type.
(91) Once the second first-level classifiers CLASS and the second second-level classifier 251 have been trained, it is possible to determine a second output vector OUT_B.sub.k, relative to the unknown flight indicative of the macrocategory to which an unknown manoeuvre belongs, which takes place in the k-th time instant t.sub.clkk. To this end, the computer 12 executes the operations shown in
(92) In detail, for each k-th time instant t.sub.clkk provided by the time base time_clk, the computer 12 applies (block 500,
(93) In detail, for each k-th time instant t.sub.clkk, the computer 12 applies the p-th second first-level classifier CLASS.sub.p to the p-th input feature vector FVX.sub.kp, so as to obtain a corresponding p-th second strategy input prediction vector PVX.sub.kp. In other words, each input feature vector FVX.sub.kp is classified through the second first-level classifier CLASS which has been trained on the basis of subsets of the clusters of data DG having a duration equal to or lower than the duration of the subset of the non-labelled data structure 205 to which the same input feature vector FVX.sub.kp refers.
(94) In greater detail, the second strategy input prediction vectors PVX.sub.kp have the same dimensions as the first strategy input prediction vectors PVX.sub.kp; moreover, each element of any second strategy input prediction vector PVX.sub.kp is indicative of the probability that the corresponding input feature vector FVX.sub.kp is connected to the macrocategory MC corresponding to the same element, and therefore that, at the k-th time instant t.sub.clkk, the unknown helicopter 3 was executing a manoeuvre belonging to said macrocategory MC.
(95) Again with reference to the generic k-th time instant t.sub.clkk, the computer 12 aggregates (block 510) the second strategy input prediction vectors PVX.sub.kp (in a number equal to NUM_TW), so as to form a corresponding macrovector, to which reference is made hereinafter as to the second strategy input macrovector MPVX.sub.k.
(96) Subsequently, the computer 12 applies (block 520) the second second-level classifier 151 to the second strategy input macrovector MPVX.sub.k, so as to obtain a second output vector OUT_B.sub.k, in which each element is indicative of the probability that the corresponding input feature vector FVX.sub.kp is connected to the macrocategory MC that corresponds to the element, and therefore that, at the k-th time instant t.sub.clkk, the unknown helicopter 3 was executing a manoeuvre belonging to said macrocategory MC. In practice, the second output vector OUT_B.sub.k represents an improvement of the probabilities contained in the second strategy input prediction vectors PVX.sub.kp.
(97) In general, the information contained in the first and second output vectors OUT_A.sub.k, OUT_B.sub.k can be used as an alternative, in order to identify the macrocategory of the unknown manoeuvre executed in the corresponding k-th time instant t.sub.clkk. Moreover, the Applicant has observed that the indications contained in the second output vector OUT_B.sub.k are generally more accurate than those contained in the first output vector OUT_A.sub.k, in particular in the case of manoeuvres characterized by trends of relatively constant primary quantities during manoeuvres. However, in some cases, and in particular in the presence of manoeuvres, each characterized by the presence of very characteristic initial and final portions (so-called entry and recovery steps), the opposite occurs. In fact, training based on portions of manoeuvres may be not very effective, compared to training based on entire manoeuvres, in the presence of manoeuvres with characteristic portions arranged at the beginning and at the end of the manoeuvre, if such characteristic portions have durations very different from the durations of the training windows. On the contrary, training based on portions of manoeuvres tends to be more effective in the case of manoeuvres in which there occurs, for example, a gradual variation of a quantity (for example, a speed) between an initial value and a final value; in fact, in this case, a classifier trained on the basis of entire manoeuvres tends to recognize only manoeuvres in which this quantity exactly assumes such initial and final values, while a classifier based on portions of manoeuvres has the possibility of suitably weighing the trend (variation) of the quantity in each portion of the manoeuvre.
(98) According to a further variant, the first and second strategy may be combined by using a third second-level classifier 651, which is trained as described in
(99) In detail, for each test manoeuvre, the computer 12 aggregates (block 700,
(100) For example,
(101) Subsequently, the computer 12 trains (block 710) the third second-level classifier 651, on the basis of the third training prediction macrovectors MPV.sub.mj relating to the intermediate time instants t.sub.clkj of the test manoeuvres and to the macrocategories MC connected to said third training prediction macrovectors MPV.sub.mj. The third second-level classifier 651 is then trained in a supervised manner and may be for example of the same type as the first and second second-level classifier 151, 251.
(102) Once the third second-level classifier 651 has been trained, the computer 12 can analyse the unknown flight. To this end, referring for example to the generic k-th time instant t.sub.clkk, the computer 12 aggregates (block 720) the corresponding first strategy input prediction vectors PVX.sub.kp with the second strategy input prediction vectors PVX.sub.kp, to form a corresponding third strategy input macrovector MPVX.sub.k, to which the computer 12 applies (block 730) the third second-level classifier 651, so as to obtain a third output vector OUT_C.sub.k.
(103) For example,
(104) In general, the first, second and third output vectors OUT_A.sub.k, OUT_B.sub.k, OUT_C.sub.k all benefit from the action of the corresponding second-level classifiers, which allow to improve the classification provided by the first-level classifiers, for the reasons explained below with reference, for brevity's sake, to the first strategy only, and therefore to the first output vector OUT_A.sub.k. In particular, hereinafter reference is made to
(105) In consideration of the foregoing, the first first-level classifier 131 generates the two first strategy training prediction vectors PV.sub.mii and PV.sub.m21, starting respectively from the feature vectors of extended manoeuvre training, FV.sub.m11 and FV.sub.m21. The element of the first strategy training prediction vector PV.sub.m11 relating to the macrocategory MC1 has, correctly, a high value (0.9), while the element relative to the macrocategory MC2 has, correctly, a low value (0.1). On the contrary, the element of the first strategy training prediction vector PV.sub.m21 relating to the macrocategory MC1 has, erroneously, a low value (0.1), while the element relative to the macrocategory MC2 has, erroneously, a high value (0.9). This is due to the fact that, while the feature vector of extended manoeuvre training FV.sub.m11 refers to a time window that has a duration similar to that of the time interval T.sub.m, a significant part of the time window to which the feature vector of extended manoeuvre training FV.sub.m21 refers falls outside the time interval T.sub.m. However, since both feature vectors of extended manoeuvre training FV.sub.m11 and FV.sub.m21 are connected to the macrocategory MC1, the training of the first second-level classifier 151 causes it to assign, for the macrocategory MC1, a greater weight to the corresponding element of the first strategy training prediction vector PV.sub.m11, instead of to the corresponding element of the first strategy training prediction vector PV.sub.m21. Consequently, as shown in
(106) In addition, the third output vector OUT_C.sub.k is typically more accurate than the first and second output vectors OUT_A.sub.k, OUT_B.sub.k, since the relative generation mechanism adapts to either the case of manoeuvres in which the primary quantities are relatively constant (i.e. stationary), or to the case of manoeuvres with rapidly variable primary quantities.
(107) According to a further variant, shown in
(108) In detail, for each test manoeuvre, the computer 12 aggregates (block 800), for each of the corresponding intermediate time instants t.sub.clkj, the corresponding feature vectors of extended manoeuvre training FV.sub.mpj, so as to obtain a training feature macrovector MFV.sub.mj, which is connected to the macrocategory MC of the test manoeuvre. For example,
(109) Subsequently, the computer 12 trains (block 810) the fourth second-level classifier 751, as a function of the training feature macrovectors MFV.sub.mj and of the macrocategories MC connected thereto. In practice, the fourth second-level classifier 751 is trained in a supervised manner and may be, for example, a random forest type classifier.
(110) With respect to the unknown flight, for each k-th time instant t.sub.clkk, the computer aggregates (block 820) the input feature vectors FVX.sub.kp, so as to obtain a corresponding input feature macrovector MFVX.sub.k, to which the computer 12 applies (block 830) the fourth second-level classifier 751, so as to obtain a fourth output vector OUT_D.sub.k.
(111) Also in this case, the presence of the fourth second-level classifier 751 allows to obtain the same benefits described with reference to the first, second and third second-level classifier 151, 251, 651. Moreover, this strategy is characterized by a lower complexity since it provides for a single level of classification.
(112) In general, the Applicant has noted that, thanks to the fact that the probability estimates contained in the output vectors OUT_A.sub.k, OUT_B.sub.k, OUT_C.sub.k and OUT_D.sub.k are generated by means of classification algorithms executed starting from feature vectors generated by selecting, through time windows having different dimensions, portions of the non-labelled data structure 205, these estimates are satisfactory substantially irrespective of the duration of the manoeuvres.
(113) In practice, the variants described above allow to identify with considerable accuracy the occurrence, during an unknown flight, of a manoeuvre belonging to one of the aforementioned macrocategories MC. However, the Applicant has observed that, if two or more manoeuvres are executed at the same time during the unknown flight, the accuracy of the identification may be reduced. To obviate this drawback, the Applicant observes that it is possible to implement the following.
(114) As shown in
(115) In detail, for each macrocategory MC, the computer 12 trains a corresponding single-class classifier SCC, on the basis of the vectors of entire manoeuvre features FV.sub.m. In particular, considering for example an i-th single-class classifier SCC.sub.1 (with i=1, . . . , NUM_MC), it is trained on the basis of the feature vectors of entire manoeuvre FV.sub.m connected to test manoeuvres, which, if they are related to manoeuvres belonging to the i-th macrocategory MC.sub.i, are connected for example to a first label (for example, unitary), otherwise they are connected to a second label (for example, invalid); in other words, the label is indicative of the match/mismatch between the macrocategory MC of the test manoeuvre and the macrocategory MC.sub.i which corresponds to the i-th single-class classifier SCC.sub.1.
(116) Subsequently, considering the unknown flight and the generic k-th time instant t.sub.clkk, the computer 12 applies (block 910) each input feature vector FVX.sub.kp (with p=1, . . . , NUM_TW) to the single-class classifiers SCC, so as to obtain, for each input feature vector FVX.sub.kp, a corresponding single-class probability vector SCV.sub.kp, wherein the i-th element represents the probability that the input feature vector FVX.sub.kp refers to the i-th macrocategory MC.sub.i, as calculated by the i-th single-class classifier SCC.sub.1.
(117) For example,
(118) Then, the computer 12 generates (block 920) an update vector OUT_UPDATE.sub.k, so that it has a number of elements equal to the number NUM_MC, the generic i-th element being equal to the maximum among the values of the i-th elements of the single-class probability vectors SCV.sub.kp, that is, to the maximum among the values provided by the i-th single-class classifier SCC.sub.1 when it is applied to the input feature vectors FVX.sub.kp of the k-th time instant t.sub.clkk (in a number equal to NUM_TW). Although not further described, it is however possible that, in order to generate the update vector OUT_UPDATE.sub.k, the i-th element of the latter is set equal to a statistical quantity (for example, the mean) calculated on the basis of the i-th elements of the single-class probability vectors SCV.sub.kp, instead of the aforementioned maximum.
(119) Subsequently, the computer 12 detects (block 930), on the basis of the update vector OUT_UPDATE.sub.k, whether in the k-th time instant t_.sub.clkk two or more manoeuvres belonging to different macrocategories MC are executed (that is, it detects a condition of multiple macrocategories), for example, by detecting whether two or more elements of the update vector OUT_UPDATE.sub.k exceed a predetermined threshold. For example, with reference to
(120) In the continuation reference is made to the multiclass strategy output vector OUT_Y.sub.k to indicate the vector alternately equal to the first, second, third or fourth output vector OUT_A.sub.k, OUT_B.sub.k, OUT_C.sub.k, OUT_D.sub.k, depending on the program implemented by the computer 12. In consideration of the foregoing, in the event that no manoeuvres belonging to different macrocategories MC are detected (output NO of block 930), the computer 12 sets (block 940) a final vector OUT_FIN.sub.k equal to the multiclass strategy output vector OUT_Y.sub.k, since, in the time instant t.sub.clkk, manoeuvres belonging to different macrocategories MC were not taking place, and therefore the probabilities of the multiclass strategy output vector OUT_Y.sub.k are reliable. In the opposite case, i.e. in the case where manoeuvres belonging to different macrocategories MC are detected (output YES of block 930), the computer 12 sets (block 950) the final vector OUT_FIN.sub.k equal to the update vector OUT_UPDATE.sub.k, since, in this particular circumstance (simultaneous execution of manoeuvres belonging to different macrocategories), the probabilities contained in the latter tend to be more accurate than those of the multiclass strategy output vector OUT_Y.sub.k.
(121) On the basis of the final vector OUT_FIN.sub.k, the computer 12 detects (block 951) the macrocategory MC of the manoeuvre executed in the time instant t.sub.clkk, for example by selecting, in case of non-detection of manoeuvres belonging to different macrocategories MC, the macrocategory MC connected to the highest value contained in the final vector OUT_FIN.sub.k, or by selecting, in the case of detection of manoeuvres belonging to different macrocategories MC, the macrocategory MC connected to the highest value contained in the final vector OUT_FIN.sub.k or by selecting, among the multiple macrocategories detected during the operations referred to in block 930, the macrocategory that is the most relevant from the point of view of fatigue of the components of the unknown helicopter 3.
(122) According to a further variant shown in
(123) In detail, considering the single-class single-window classifier SCC.sub.pi, it is trained on the basis of feature vectors of partial manoeuvre FV.sub.mpu relating to the p-th time duration TW.sub.p, which, if they are related to manoeuvres belonging to the i-th macrocategory MC.sub.i, are connected, for example, to a first label (for example, unitary), otherwise they are connected to a second label (for example, invalid), that is, they are connected to a label indicative of the match/mismatch between the macrocategory MC of the test manoeuvre and the macrocategory MC.sub.i which corresponds to the single-class single-window classifier SCC.sub.pi.
(124) The generic single-class single-window classifier SCC.sub.pi is therefore trained on the basis of feature vectors calculated on portions of clusters of data DG which have time extensions not higher than the corresponding time duration TW.sub.p.
(125) Subsequently, considering the unknown flight and the generic k-th time instant t.sub.clkk, the computer 12 applies (block 970) each input feature vector FVX.sub.kp (with p=1, . . . , NUM_TW), relating to the p-th time duration TW.sub.p, to the corresponding single-class single-window classifiers SCC.sub.pi (in a number equal to NUM_MC) relating to the same p-th time duration TW.sub.p, so as to obtain, for each input feature vector FVX.sub.kp, a corresponding single-class single-window probability vector SCV.sub.kp, in which the i-th element represents the probability that the input feature vector FVX.sub.kp refers to the i-th macrocategory MC.sub.i, as calculated by the single-class single-window classifier SCC.sub.pi.
(126) For example,
(127) Then, the computer 12 generates (block 980) a single-window update vector OUT_UPDATE.sub.k, so that it has a number of elements equal to the number NUM_MC, the generic i-th element being equal to the maximum among the values of the i-th elements of the single-class single-window probability vectors SCV.sub.kp, with p=1, . . . , NUM_TW. Although not described further, it is, however, possible that, in order to generate the single-window update vector OUT_UPDATE.sub.k, the i-th element of the latter is set equal to a statistical quantity (for example, the mean) calculated on the basis of the i-th elements of the single-class single-window probability vectors SCV.sub.kp, instead of at the aforementioned maximum.
(128) Subsequently, the computer 12 detects (block 985), on the basis of the single-window update vector OUT_UPDATE.sub.k, whether in the k-th time instant t.sub.clkk two or more manoeuvres belonging to different macrocategories MC are executed (that is, it detects a condition of multiple macrocategories), for example, by detecting whether two or more elements of the single-window update vector OUT_UPDATE.sub.k exceed a predetermined threshold. Furthermore, although not further described, the detection of multiple macrocategories may provide for further threshold controls/variation mechanisms, as described with reference to block 930.
(129) In the event that no manoeuvres belonging to different macrocategories MC are detected (output NO of block 985), the computer 12 executes the operations of block 940. Otherwise, that is if manoeuvres belonging to different macrocategories MC are detected (output YES of block 985), the computer 12 sets (block 990) the final vector OUT_FIN.sub.k equal to the single-window update vector OUT_UPDATE.sub.k and then performs the operations of block 951.
(130) The operations of blocks 960-990 are characterized by a greater computational burden and by the creation of a high number of classifiers compared to the operations of blocks 900-950, however, they can guarantee good performance, in particular in the case of manoeuvres with quantities having relatively constant trends.
(131) Regardless of the strategy adopted, the computer 12 may use the macrocategory detected through the operations indicated in block 951 to carry out also a detection (identification) of the corresponding manoeuvre carried out. This identification can take place in a deterministic way on the basis of the values of one or more primary quantities and is represented by block 991 shown either in
(132) In detail, given a macrocategory detected at block 951 and relating to a manoeuvre executed in the k-th time instant t.sub.clkk, the computer 12 can identify said manoeuvre on the basis of the detected macrocategory and of at least a value of at least one primary quantity of the non-labelled data structure 205, such as, for example, a value relating to a speed in the k-th time instant t.sub.clkk or in other time instants t.sub.clk.
(133) In general, the information on the detected macrocategories, as well as, if necessary, on the detected manoeuvres, can be used to determine the state of usage of the unknown helicopter 3, for example in order to plan efficiently the maintenance of the unknown helicopter 3.
(134) For example, as shown in
(135) Moreover, referring for brevity's and simplicity's sake to a single component of the unknown helicopter 3, and in the hypothesis in which the unknown helicopter 3 is equal to the helicopter 1, the computer 12 determines (block 993), for each manoeuvre identified through the operations of block 991, the load to which this component of the unknown helicopter 3 has been subjected during this manoeuvre, on the basis of the stored load corresponding to this manoeuvre. On the basis of the determined load, the computer 12 determines (block 994) the state of fatigue and therefore the residual fatigue life of the component.
(136) On the basis of the residual fatigue life of the components of the unknown helicopter 3 thus determined, it is also possible to plan any maintenance operations of the unknown helicopter 3.
(137) The advantages that the present method allows to obtain emerge clearly from the previous description.
(138) In particular, the present system allows to precisely detect the macrocategories of the manoeuvres executed by an aircraft, irrespective of the type, and therefore of the duration, of the macrocategories. Such measurements can therefore be used reliably to estimate the fatigue state and therefore the residual fatigue life of the components of an aircraft; consequently, such measurements can be used, for example, to optimise the maintenance operations of a fleet of aircrafts, respecting the safety requirements.
(139) Clearly, changes may be made to the method and system described and shown herein without, however, departing from the scope of the present invention, as defined in the accompanying claims.
(140) For example, the first- and second-level classifiers may be of a different type with respect to what has been described.
(141) The time windows may be aligned differently from the time instants, instead of being centred with respect thereto. For example, referring to the operations of block 220, relating to the selection, for each of the time durations TW.sub.p, of a subset of values of the non-labelled data structure 205, this subset may be formed by the values of the non-labelled data structure 205 that fall into the time window ranging between t.sub.clkk and t.sub.clkk+TW.sub.p.
(142) Finally, in general at least some of the macrocategories may include a limited number of manoeuvres (at the limit, only a corresponding manoeuvre).