# Patent

## Title
Keyboard calculator system

## Abstract

An automatic vehicle warning and control program is provided for determining if safety enhancing actions are appropriate. The on-line determination of an action that results in a preferred outcome (e.g., aircraft ejection) is made using a neural network controller. The neural network controller is trained off-line using appropriate preferred outcome data obtained via computer simulation or experimentation. Appropriate actions are established for all conceivable sets of vehicle conditions. On-line, the neural network controller uses actual sensed vehicle conditions to determine the appropriate action. Various actions can be performed based on the preferred outcome determination. Appropriate actions can include commanding audible and visual warnings, guidance cues, automatic vehicle control, and aircraft automatic ejection.

## Background
This invention relates generally to vehicle warning systems and, more particularly, to methods and systems for determining when vehicle emergency action based on current conditions should take place, and performing the appropriate action, for example warning enunciation, automatic control of the vehicle, or emergency egress of the vehicle occupants.

Ejection seats for aircraft are known in the art. Minimum altitudes are established for controlled aircraft ejections (e.g., 2,000 feet). Technology has dramatically improved aircraft ejection seat performance. However, human factors continue to adversely affect aircraft ejection safety. Several human factors affect safe ejection from an aircraft, for example, reaction times, distractions, task management, and altitude assessment. Thus, a method for minimizing the effect of human factors on aircraft ejection is desirable. The present invention is directed to achieving this result. More specifically, the present invention is directed to providing a method and system for determining if ejection of an occupant from a vehicle is appropriate, and if so, performing automatic ejection and/or providing a warning that ejection is appropriate, all without operator intervention.

The present invention is directed to a method and system for determining whether occupant emergency egress based on current conditions of a vehicle is acceptable and warranted. A neural network is created off-line. The neural network is implemented in a controller that is used on-line to make a vehicle status determination.

In accordance with other aspects of this invention, an action is performed based on the vehicle status determination, which is either that: the aircraft can be saved; ejection is acceptable; or ejection is not acceptable. If ejection is acceptable, the action performed can be the automatic ejection of the occupant from the aircraft. Alternatively, the action can be a warning. Warnings or instructions can also serve as the function performed when the aircraft can be saved or when ejection is not acceptable.

In accordance with further aspects of the present invention, the off-line process of creating a neural network includes: obtaining a set of conditions; performing an ejection seat simulation for the set of conditions; making a preferred outcome determination; and storing the preferred outcome determination. This process is repeated for all conceivable sets of conditions.

The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a pictorial representation of an aircraft ejection with a safe outcome;

FIG. 2 is a block diagram of an aircraft with a control computer for controlling aircraft systems according to the present invention;

FIG. 3 is a flow diagram illustrating the logic of defining acceptable ejection seat trajectory conditions, and creating a neural network controller based on the acceptable trajectory ejection seat conditions to be used in the control computer of the present invention;

FIG. 4 is a flow diagram illustrating in detail the logic of simulating an emergency egress system consisting of an ejection seat;

FIGS. 5A-5C are diagrams illustrating neural model network structures used in the present invention;

FIG. 6 is a diagram of a single neuron model of the present invention; and

FIG. 7 is a flow diagram of the on-line logic used to determine if an automatic ejection should be performed.

While the present invention is ideally suited for an aircraft, and is described in the context of an aircraft, it will be appreciated that the invention can also be implemented in other types of vehicles, such as automobiles and space launch vehicles.

FIG. 1 illustrates minimum conditions under which the ejection seat(s) of an aircraft can be operated to safely eject the occupants of an aircraft 18. The input parameters, are the aircraft conditions 20 which include factors such as: altitude, pitch, roll, flight path angle, angular rates, and velocity of the aircraft. Based on these conditions, a determination is made as to whether ejection from the aircraft is safe.

FIG. 2 illustrates in block form the components of a neurocomputing control system formed in accordance with the present invention for an aircraft 40. The aircraft 40 includes an ejection seat system 42, crew displays 44, flight systems 46, sensors and controls 48 for sensing ejection seat system and aircraft operation and receiving control commands, and a control computer 50 for determining desired vehicle system actions and generating appropriate control signals. The control computer 50 includes a neural network controller 56 and memory 60. Prior to implementation of the neural network controller 56, the neural network controller 56 is trained off-line, using a simulation of the aircraft 40 and its ejection seat system 42 to acquire knowledge for actual controller operation. The type of neural network and training process used is described in more detail below with respect to FIGS. 3-4.

FIG. 3 illustrates the overall logic of the neural network controller 56 creation process. First, at block 70, an output file is opened. Next, at block 72, a new set of aircraft conditions is loaded. An ejection seat simulation is then performed at block 74. The ejection seat simulation is illustrated in detail in FIG. 4, and described later. Escape decision logic is then used to determine if an ejection results in the preferred outcome for the set of aircraft conditions loaded. See block 76. Next, at block 78, the preferred outcome determined in block 76 is written to the output file. As noted, the preferred outcome data is used to determine whether or not for the given set of aircraft conditions, an ejection is appropriate. The process of loading a new set of aircraft conditions 72, performing an ejection seat simulation 74, using the preferred outcome decision logic 76 to determine if ejection is appropriate, and writing the data to the output file 78 is repeated for sets of aircraft conditions that span its entire operating envelope. After sufficient sets of aircraft conditions have been considered, the output file is closed in block 79.

Still referring to FIG. 3, at block 80, the neural network structure is established. The neural network structure includes inputs for all sensor and control signals (48 of FIG. 2), and outputs for all the corresponding command signals that are supplied to the ejection seat, crew displays , or flight systems (42, 44, and 46 of FIG. 2, respectively). As shown in FIGS. 5B and 5C and described more fully below, the neural network structure used in the present invention is either a unified or decoupled multi-layer perceptron artificial neural network. Next at block 82, the neural network structure teaching algorithm generates nodal weight values for the established neural network structure based on preferred outcome data determined in block 76. Back-propagation algorithms, node decoupled extended Kalman filter methods, or other neural network training techniques can be used to perform this nodal weight value generation. Proper setting of weight values increases the chance that all on-line generated data will be accurate. Once all the weight values have been generated for the neural network structure, the neural network is implemented as a controller in the control computer 50 of the aircraft 40, as shown in FIG. 2. See block 84. Neural network operation in a vehicle is shown in FIG. 7, and described later. The neural network can be implemented as an analog electric circuit, a computer program, an application specific integrated circuit or any other structure that allows the neural network to function properly. The control computer on which the neural network is implemented can be located at various areas within the aircraft, for example, in an avionics bay, in an ejection seat controller, in a vehicle management system, etc.

FIG. 4 is an illustrative example of an emergency egress system simulation (block 74 of FIG. 3) consisting of an ejection seat. It will be appreciated that any high fidelity ejection seat simulation can be used. The logic of FIG. 4 moves from a start block to block 90 where an initiation signal is detected. Next, in block 92, sensed positions and motions are calculated. The types of positions and motions sensed are based on the nature of the aircraft (40 in FIG. 2). Examples of positions are seat location and roll, pitch, and yaw angles. Examples of motions include linear and angular velocity, and acceleration. Maneuver commands are then determined in block 94. Next, in block 96, control signals are calculated from compensation and control laws. The predefined compensation and control laws are determined by the nature of the ejection seat and the type of sensors employed. The logic then moves to block 98 where propulsion system and control effector forces and moments are calculated. Next, in block 100, external environment forces and moments are calculated. Then, in block 102, recovery system forces and moments are calculated. Next, in block 104, accelerations using mass properties are calculated. The logic then moves to block 106 where position and velocity are calculated. The logic of FIG. 4 of simulating an ejection seat is recursive and ends when the ejection is completely determined. Thus, the logic of blocks 90-106 is repeated until ejection is completely determined, at which point processing returns to FIG. 3. It will be appreciated that the ordering of the functions illustrated in FIG. 4 can be rearranged. For example, several of the functions, such as calculating external environment forces and moments 100, calculating recovery system forces and moments 102 can be performed at the same time as calculating propulsion system and control effector forces and moments 98.

Referring to FIGS. 5A, 5B, and 5C, the neural network includes an input layer, one or more hidden layers, and an output layer. The elements that make up each layer of a neural network are referred to as neurons or nodes 120. Inputs are fed forward from the input layer to the hidden layers and then to the output layer. Recursive neural network structures may also have outputs from the layers fed back to preceding layers. The number of neurons 120 in each layer is determined before the network is finally trained. Typically, there is one input node for each input variable and one output node for each output. The hidden and output layers need not be completely connected (FIG. 5C). In a unified neural network (FIG. 5B), every input node is connected to every node in the following hidden layer and every node in a hidden layer is connected to every node in the following adjacent hidden layer or output layer, depending on the number of hidden layers. Each connection to a particular node is weighted.

The number of nodes in the input and output layers is determined before the network is trained and corresponds to the number of sensor inputs (48 in FIG. 2) and output signals to the ejection seat, displays, or flight systems (42, 44, and 46 in FIG. 2 respectively). The number of neurons in the one or more hidden layers is selected based on accuracy achievable during training. FIG. 6 illustrates a single neuron model of a multi-layer perceptron neural network. Equation 1 describes the product of the summation 108 performed within the single neuron model 110 shown in FIG. 6: ##EQU1## where: j=node number

When k=0, weight value is the bias weight. y.sup.i.sub.j (t)=f(y.sub.-- in.sup.i.sub.j (t)) is the product of neuron 110 or nodal activation function 112. The nodal activation function 112 is a sigmoidal, radial basis, linear or other function. The nodal activation function sets a value produced by the neuron or activates or deactivates the neuron 110.

Derivatives used in the training process of the invention are based on expressions for dynamic derivatives of recurrent multi-layer perceptrons. Equation 2 which is used in the training process is written as: ##EQU2## where: .delta..sub.i,j =the Kronecker delta.

If i=j, .delta..sub.i,j =1 and otherwise, .delta..sub.i,j =0. f'(y.sub.-- in.sup.i.sub.j) is the derivative of the neuron's activation function 112 with respect to y.sub.-- in.sup.i.sub.j.

Equation 3 describes how the weight values are iteratively adjusted using derivatives, a learning rate parameter, and error values until the neural network outputs closely match the output values contained in the training data. ##EQU3## where: ##EQU4##

n=learning rate parameter.

At the beginning of neural network training, the connection weights in the network are set to initial values that may be randomized. The training data is then presented to the network one set at a time. In accordance with the present invention, the training data includes multiple sets of aircraft conditions (20 in FIG. 1) and the corresponding values of the command signals sent to the ejection seat, crew displays, and flight systems for a wide range of vehicle operations. The training process continues through all sets of the training data adjusting the weight values as necessary. Each set provides its own distinct neural network input and output. Accuracy between the values of training data is enhanced by applying random components to the training data as is appreciated by those of ordinary skill in the art of neural network design.

Once the neural network structure has been trained, i.e. all the weight values have been generated for the neural network structure, the neural network structure is implemented as a controller 56 in the control computer 50 of the aircraft 40, as shown in FIG. 2. The neural network structure can be implemented as an analog electric circuit, a computer program, an application specific integrated circuit or any other structure that allows the neural network structure to function properly. FIG. 7 illustrates the on-line process of determining whether an automatic aircraft ejection should be performed, using a fully trained neural network structure implemented as the controller 56. First, at block 130, current conditions of the aircraft are obtained. Next, at block 132, a test is made to determine if the aircraft is approaching the ejection envelope i.e., aircraft conditions envelope where an ejection is no longer permissible. See FIG. 1 for a pictorial representation of a safe ejection scenario. The determination is made based on the current and/or predicted conditions of the aircraft. The preferred outcome (i.e. escape)decision determined in FIG. 3 at block 76 that corresponds to the current conditions is produced. Further processing, is based on the retrieved decision. If the aircraft is approaching an acceptable ejection envelope, a test is made in decision block 136 to determine if the aircraft can be saved. If so, an ejection avoidance function is performed. See block 138. An example of an ejection avoidance function would be to provide a warning (either audio and/or visual) indicating that the state of the aircraft is such that the aircraft is about to enter or has entered into a state where ejection is unacceptable. Alternatively, instructions for eliminating or minimizing the unacceptable ejection state of the aircraft can be provided to the operator, or automatically to the flight systems.

If the aircraft cannot be saved, a test is made in decision block 140 to determine if ejection is acceptable. If so, an emergency egress function is performed, in block 142. The emergency egress function can be automatic ejection. Alternatively, the emergency egress function can be the generation of an audio and/or visual message advising ejection. Or, a combination of the above can be used, whereby an advisory message will be used if the operator is responsive, and automatic ejection will be performed if the operator is non-responsive.

If ejection is not acceptable, an emergency egress not safe function is performed, in block 144. For example, a message may be provided indicating steps for altering current aircraft state so that an acceptable ejection may be possible. If the aircraft is not approaching the ejection envelope, or the appropriate function has been performed based on whether the aircraft can be saved or whether ejection is acceptable, the logic moves to decision block 146 where a test is made to determine if an exit condition has been received. If so, processing ends. If not, the logic of blocks 130-144 is repeated until an exit signal is received.

While the preferred embodiment of the invention has been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.

## Claims

privilege is claimed are defined as follows:

1. A method for performing vehicle emergency and control functions comprising: plurality of acceptable preferred outcome decisions based on the state of the vehicle; a preferred outcome determination based on current state of the vehicle.

2. The method of claim 1, further comprising performing a function based on the preferred outcome determination.

3. The method of claim 2, wherein an emergency egress function is performed if the preferred outcome determination is that emergency egress is acceptable.

4. The method of claim 3, wherein the emergency egress function is automatic ejection from the vehicle.

5. The method of claim 3, wherein the emergency egress function is the output of a warning.

6. The method of claim 2, wherein an emergency egress not acceptable function is performed if the preferred outcome determination is that emergency egress is not acceptable.

7. The method of claim 6, wherein the emergency egress not acceptable function is the output of a warning.

8. The method of claim 2, wherein a vehicle saving function is performed if the preferred outcome determination is that the vehicle can be saved.

9. The method of claim 8, wherein the vehicle saving function is the output of a warning, or instructions to an operator or to a flight system.

10. The method of claim 1, wherein using an off-line process to create a neural network comprises: conditions; and conditions.

11. The method of claim 10, further comprising performing (a)-(d) for a plurality of vehicle conditions.

12. A system for performing vehicle emergency and control functions, comprising: storing program code implemented by the processing unit for: plurality of preferred outcome decisions based on the state of the vehicle; make a preferred outcome determination based on current state of the vehicle.

13. The system of claim 12, wherein the program code implemented by the processing unit further performs a function based on the preferred outcome determination.

14. The system of claim 13, wherein an emergency egress function is performed if the preferred outcome determination is that emergency egress is acceptable.

15. The system of claim 14, wherein the emergency egress function is automatic ejection from the vehicle.

16. The system of claim 14, wherein the emergency egress function is the output of a warning.

17. The system of claim 13, wherein an emergency egress not acceptable function is performed if the preferred outcome determination is that emergency egress is not acceptable.

18. The system of claim 17, wherein the emergency egress not acceptable function is the output of a warning.

19. The system of claim 13, wherein a vehicle saving function is performed if the preferred outcome determination is that the vehicle can be saved.

20. The system of claim 19, wherein the vehicle saving function is the output of a warning, or instruction to an operator or to a flight system.

21. The system of claim 12, wherein using an off-line process to create a neural network comprises: conditions; and conditions.

22. The system of claim 21, further comprising performing (a)-(d) for a plurality of vehicle conditions.