Abstract:
A method for controlling a system having embedded message elements includes dynamically altering a predetermined meaning of an embedded message element as a function of a system state.

Description:
[0001]     This claims the benefit of U.S. Provisional Patent Application No. 60/840,623, filed on Aug. 28, 2006 and hereby incorporated by reference herein. 
     
    
     BACKGROUND  
       [0002]     K. S. Narendra and K. Parthasarathy disclose control of dynamical systems and optimization of dynamical system in, “Identification and control of dynamical systems using neural networks,” IEEE Trans. on neural networks, vol. 1, No. 1, March 1990; and K. S. Narendra and K. Parthasarathy, “Gradient methods for the optimization of dynamical systems containing neural networks,” IEEE Trans. on neural networks, vol. 2, No. 2, March 1991, both of which are incorporated by reference herein.  
         [0003]     U.S. Pat. Nos. 6,967,594 and 6,650,251 disclose sensory monitors, and are hereby incorporated by reference herein.  
       SUMMARY OF THE INVENTION  
       [0004]     An object of the present invention is to provide a control system based upon Model Reference Indirect Adaptive Neural Control, MRIANC for measuring human perception at the edges of awareness. The control system can include a message transmitter (VDU) providing embedded messages u(k) (and/or embedded pre-semantic messages having a predetermined meaning or a predetermined object representation for visual priming,) embedded in supraliminal information, a sensory monitor for measuring reaction (in terms of control error, ê c ) in an individual to the embedded messages (and/or to the predetermined meaning or predetermined object representation of the embedded pre-semantic messages), and a controller (NN Controller) connected to the message transmitter (VDU), receiving an input from the sensory monitor, including a real-time feedback control loop altering a perceptibility of the embedded messages with respect to the supraliminal messages as a function of the sensory monitor input. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0005]     An identifier network is used to approximate the input/output relations of the plant as shown in an embodiment described in  FIG. 1 .  
         [0006]     The architecture of a preferred embodiment of a control system is shown in  FIG. 2  and referred to as a Model Reference Indirect Adaptive Neural Control (MRIANC). 
     
    
     DETAILED DESCRIPTION  
       [0007]     From systems theory, an unknown non-linear discrete-time dynamic system with given input-output pairs can be modeled mathematically by one of the four well-known difference equations, with Model IV (as described in the BACKGROUND papers above), also known as NARMA (Nonlinear Auto Regressive Moving Average) model, being the most general.  
         [0008]     In the context of visual priming as described in U.S. Pat. Nos. 6,967,594 and 6,650,251, the human brain (and optionally together with a vehicle control system) can be modeled as an unknown non-linear dynamic plant.  
         [0009]     Because of complexity of human brain, the most general plant model, the Model IV, can be used, as follows:  
         [0010]     Model IV 
 
 y   p ( k+ 1)= f[y   p ( k ), . . . ,  y   p ( k−n+ 1);  u ( k ), . . . ,  u ( k−m+ 1)]
 
m≦n  (2.1) 
 
         [0011]     This model can be used for example to provide visual priming signals to alter the response of the plant, i.e. the human brain and optionally a vehicle.  
         [0012]     Adaptive control of a dynamic system can be defined as follows:  
         [0013]     Given a plant model, a reference model and an input r(k), the input to the plant u(k), which will be the output of the controller, can be determined so that the response of the plant follows the reference model.  
         [0014]     The problem can be divided into two parts: identification and control.  
         [0015]     The identification step derives the identifier model such that the model follows the plant dynamics. The identifier model can be described by a neural network identifier as follows:  
         [0016]     NN Identifier (Plant Emulator) 
 
 ŷ   p ( k+ 1)= N   f   [y   p ( k ), . . . ,  y   p ( k−n+ 1);  u ( k ), . . . ,  u ( k−m+ 1)]
 
m≦n  (2.2) 
 
         [0017]     This representation, known as Serial-Parallel model, is used as off-line identifier model. When visually priming a driver, for example, the plant thus is first modeled off-line to obtain an estimate of how the driver and vehicle may react to certain inputs, and to minimize the identifier output error:  
         [0018]     Identifier Output Error 
 
 e   i ( k+ 1)= ŷ   p ( k+ 1)− y   p ( k+ 1)  (2.3) 
 
         [0019]     Once the plant is identified with sufficient accuracy, the plant needs to be controlled by a neural network controller. In the visual priming example, this means that the controller will provide visual priming to the driver, which then should react according to the model.  
         [0020]     Control is to utilize an appropriate controller model to track the arbitrary reference output (or trajectory) generated from the reference model. A neural network controller can be constructed to approximate the control law as given below.  
         [0021]     Controller (NN) 
 
 u ( k )= N   c   [ŷ   p ( k ), . . . ,  ŷ   p ( k−n+ 1);  u ( k− 1), . . . ,  u ( k−m+ 1);  r ( k ); Σ]
 
m≦n  (2.4) 
 
 where Θ represents the set of controller parameters, with a control output error being: 
 
         [0022]     Control Output Error 
 
 ê   c ( k+ 1)= ŷ   p ( k+ 1)− y   m ( k+ 1)  (2.5) 
 
         [0023]     During on-line control, the plant then can continuously be further identified on-line. The on-line identifier model can use Parallel model as given below: 
 
 ŷ   p ( k+ 1)= N   f   [ŷ   p ( k ), . . . ,  ŷ   p ( k−n+ 1);  u ( k ), . . . ,  u ( k−m+ 1)]
 
m≦n  (2.6) 
 
         [0024]     This representation is needed to adjust the parameters of the controller.  
         [0025]     As described above, for the context of visual priming, the human brain together with the vehicle control system can be modeled as an unknown nonlinear dynamic plant.  
         [0026]     This unknown nonlinear dynamic plant can be identified and controlled using a Model Reference Indirect Adaptive Neural Control (MRIANC) system.  
         [0027]     The Model Reference in the MRIANC system makes sure that the plant has a reference model so that the response of a plant follows the reference model.  
         [0028]     Indirect Adaptive Neural Control in MRIANC is meant for estimating the parameters of the plant using an identifier network (NN Identifier or Plant Emulator) and adjusting the control parameters based on these estimates in the controller network (NN Controller).  
         [0029]      FIG. 1  describes in more detail a preferred embodiment of a system used for identification off-line. The numbers 1 to 12 follow steps described below.  
         [0030]     Image Classifier  
         [0031]     Image classifier  100  classifies the scanned image i a (k) that requires an operator&#39;s attention, for example a deer. Based upon the situation (plant state x(k) and object trajectory), classifier  100  extracts the reference object image r(k) (containing image itself and situation vector) from the scanned object.  
         [0032]     Simulator  
         [0033]     Simulator  102  generates an embedded message u(k) from the reference input along with simulated display features.  
         [0034]     Visual Display Unit (VDU)  
         [0035]     A message transmitter or VDU  104  displays an embedded message u(k) generated from Simulator, and this can be shown to the plant  106 .  
         [0036]     Plant  
         [0037]     The human brain together with the vehicle control system is represented as a plant  106 . Plant  106  is presented with an embedded message u(k) for visual priming. The operator&#39;s reaction in terms of vehicle control system is measured as plant&#39;s output. The operator&#39;s response time to recognize the actual object is reduced (due to less neurons fired for the object primed earlier) and operator&#39;s ability to discriminate or recognize object is improved (due to identification resulting not only from perception but also from the implicit memory formed by visual priming) that leads to less reaction time maneuvering the vehicle.  
         [0038]     NN (Neural Network) Identifier/Plant Emulator  
         [0039]     The emulator  106  models human sensory sensitivities (brain) and reaction (by way of vehicle control system state). Emulator  106  contains a neural network with adjustable parameters/weights. The identification error (e i ) between the plant output and emulator  106  updates the weight of the neural network so that the emulator  106  is sufficiently accurate before initiating the control action.  
         [0040]     Reference Model (to Find the Optimal Priming)  
         [0041]     A reference model  110  is used to establish a desired plant response in a given situation. For each simulated plant input u(k), the simulator error (e s ) between plant output and the reference output is calculated. This error is compared with that in the database for a situation vector and if the new error is less than the stored error, the new controlled display features (c df ) along with the new error is stored into database with the situation vector as the key.  
         [0042]     User Profile DB  
         [0043]     The user profile  120  thus stores the operator&#39;s preconscious sensitivity in terms of display features for the optimal priming, corresponding situation vector and the simulator error.  
         [0044]     TDL  
         [0045]     Tapped delay lines represent the past values of the input and output of the plant.  
         [0046]     Off-Line Process Flow as Described in  FIG. 1   
         [0047]     The following describes the generating of the user profile database, which occurs off-line, using the numbers shown with the arrows in  FIG. 1 , which do not necessarily occur in numerical order:  
         [0048]     In step 1, the image classifier classifies an acquired/scanned object image into a redacted or reference object image that requires an operator&#39;s attention based upon the plant state and object trajectory.  
         [0049]     In step 2, the reference object image r(k) and plant state are fed into the reference model  110  to establish a desired reference response. The reference object image r(k) also is fed into simulator  102  to generate simulated display features.  
         [0050]     In step 3, simulator  102  produces simulated display features u(k) to be used for presenting an embedded message in VDU  104  for visual priming and to serve as input (along with situation vector) to be passed into plant emulator  108 .  
         [0051]     In step 4, the object image displayed with the simulated display features constituting an embedded message is presented to the plant  106 .  
         [0052]     The operator&#39;s reaction in step 5 as a plant output in terms of reaction time (t p ) and action taken is measured as actual vehicle trajectory (such as acceleration a p (k+1) and driving angle α p (k+1)).  
         [0053]     NN Identifier  108  in step 6 generates an output that estimates the operator&#39;s reaction by way of vehicle trajectory.  
         [0054]     In step 7, the plant output is compared at comparator  114  with the NN Identifier output and the resulting error e i (k+1) updates the weights of the NN Identifier  108 .  
         [0055]     In step 8, the reference output is used for determining simulator error by comparing at comparator  116  the reference output with plant output.  
         [0056]     If the simulator error es between plant and reference model is less than the user profile threshold value and the stored simulator error, the user profile database in step 9 is updated with the new optimal embedded message parameters u(k) and the corresponding simulator error using the situation vector as the primary key.  
         [0057]     In step 10, which can occur before step 1, the plant (or system) state is fed into the reference model  110  and image classifier  100 .  
         [0058]     In step 11, which can occur before or with step 3, past inputs of the plant  106  are fed as inputs into NN Identifier  108  for aiding in learning the plant  106 .  
         [0059]     In step 12, which can also occur before or with step 3, past outputs of the plant  106  are fed as inputs into NN Identifier  108  for aiding in learning the plant  106 .  
         [0060]     The iteration cycle is repeated until the process has been identified completely or at least sufficiently accurately. The user profile database can then be used on-line.  
         [0061]     Control (On-line identification and control) of the plant  206 , i.e. to influence a driver to respond to messages, is described with respect to  FIG. 2   
         [0062]     The controller network is used to approximate the control law that forces the plant output to follow the reference model output accurately. Identification and control may proceed simultaneously in a stable fashion provided that the initial identification of the plant is sufficiently accurate. The architecture of control system shown in  FIG. 2  is Model Reference Indirect Adaptive Neural Control (MRIANC).  
         [0063]     Image Classifier  
         [0064]     Image classifier  200  can be the same as classifier  100  described in  FIG. 1 .  
         [0065]     NN Controller  
         [0066]     The control system includes a controller  202  having a real-time feed back control loop altering a perceptibility c df (k) of an embedded message u(k) in such a way that the control error ê c (k+1) measured between predetermined response y m (k+1) (desired operator response) and estimated operator response ŷ p (k+1) (estimated vehicle trajectory by NN identifier) updates the weight parameter, i.e., altering c df (k) in u(k) as a result of dynamic back propagation of ê c (k+1)=ŷ p (k+1)−y m (k+1).  
         [0067]     Visual Display Unit (VDU)  
         [0068]     A message transmitter  204 , which may be the same as  104  in  FIG. 1 , displays an embedded message u(k) generated from NN Controller  202 .  
         [0069]     Plant  
         [0070]     Plant  206  may be the same as described in with respect to plant  106 .  
         [0071]     NN Identifier/Plant Emulator  
         [0072]     The NN identifier  208  may be the same as described in offline identification until the control action is initiated. During online control, identifier  208  estimates the vehicle trajectory of the plant. This estimated operator response ŷ p (k+1) is compared with the reference model  210  output y m (k+1) resulting in the control error ê c (k+1) used as a monitor for measuring the reaction of an operator to an embedded message u(k).  
         [0073]     Reference Model  
         [0074]     Reference model  210  provides desired plant response as a function of reference input r(k) and system state x(k). Control error ê c (k+1) between the emulator  208  and the reference model  210  adjust the parameters/weights of the NN controller so that plant input u(k) from the controller  202  forces the plant output to follow the reference model output accurately.  
         [0075]     TDL  
         [0076]     Tapped delay lines  212 ,  213 ,  215 ,  218  represent the past values of the input and output of the plant emulator  208 .  
         [0077]     On-Line Process Flow as Described in  FIG. 2   
         [0078]     The steps for on-line control are as follows, although not necessarily occurring in numerical order:  
         [0079]     In step a, the image classifier  200  classifies acquired/scanned object image, for example that identified by vehicle radar, into a redacted (bandpass filtered) or reference object image that requires an operator&#39;s attention based upon the plant state and object trajectory.  
         [0080]     In step b. the reference object image classification along with plant state is fed into reference model  210  to establish a desired reference response. The reference object image also is fed into NN controller  202  to generate an embedded message.  
         [0081]     In step c, the NN controller  202  produces an embedded message in VDU  204  for visual priming and to serve as an input to be passed into plant emulator  208 .  
         [0082]     In step d, an embedded message is presented to the plant  206  (Visual priming).  
         [0083]     In step e, the operator&#39;s reaction as plant output in terms of reaction time (tp) and action taken is measured as actual vehicle trajectory (such as acceleration ap(k+1) and driving angle α p (k+1)).  
         [0084]     The NN Identifier  208  in step f generates an output that estimates plant output such as estimated reaction time and estimated vehicle trajectory.  
         [0085]     In step g, the identification error is determined: the plant output is compared in comparator  216  with the NN Identifier output and the resulting error ei(k+1) updates the weights of the NN identifier  208 .  
         [0086]     In step h, the reference output in terms of reference reaction time and reference vehicle trajectory is taken from reference model  210 .  
         [0087]     In step i, the control error êc(k+1) is measured between NN identifier  208  and reference model  210  so that the error can be backpropagated through NN identifier  208  to reach the NN controller  202 . As the plant  206  is assumed to be identified sufficiently accurate by NN identifier  208 , the control error êc(k+1) is used as a monitor for measuring the reaction of an operator to an embedded message u(k).  
         [0088]     In step j, which may occur before step a, the plant (or system) state is fed into Reference Model and Image classifier.  
         [0089]     In step k, past inputs of the plant  206  are fed as inputs into NN Identifier  208  for learning the plant as closely as possible and into NN Controller to generate an embedded message.  
         [0090]     In step l, past outputs of the plant emulator  208  are fed as inputs into NN Identifier  208  and NN Controller  202  to adjust the controller parameters.  
         [0091]     The NN Identifier  208  estimates the plant parameters via steps e and g NN controller  202  adjusts the controller parameters based on these estimates viasteps f and i to present an embedded message in step c for visual priming In step d. Overall, the control loop follows steps c, d, e, g, f, i.  
         [0092]     Variables and Notations  
         [0093]     i a (k), input to image classifier; scanned object image 
 
 r ( k )=( i   b ( k ), s   v )= I ( i   a ( k )), 
 
 reference input; redacted object image, 
 
 where I is image classifier operator, classifying whether an operator&#39;s response is required or not for i a (k), 
 
 i b (k) is band pass filtered object image and s v  is situation vector. 
 
 u ( k )= g ( r ( k ), . . . ,)=( s   v   , c   df ( k )) T , 
 
 controller output/plant input, embedded messaging elements, 
 
 where g is a control operator, 
 
 s v  is situation vector, and 
 
 c df =(l,c,f,d) T εR 4 , is controlled display features where l—luminosity, c—color (RGB value), f—frequency and d—duration 
 
p df =(s v ,c df ,e s ), 
 
 operator&#39;s profile 
 
 y   m ( k+ 1)= f ( r ( k ), x ( k ))=( t   m ( k+ 1), a   m ( k+ 1),α m ( k+ 1)) T , 
 
 reference output; desired reaction time and vehicle trajectory with respect to acquired object, 
 
 where t m (k+1) is reference model reaction time in msec 
 
 a m (k+1) is reference model acceleration in m/s 2  
 
 α m (k+1) is reference model direction angle in degrees 
 
 y   p ( k+ 1)=( t   p ( k+ 1), a   p ( k+ 1),α p ( k+ 1)) T , 
 
 plant output; actual reaction time and vehicle trajectory with respect to acquired object, 
 
 where t p (k+1) is plant (vehicle) reaction time in msec 
 
 a p (k+1) is plant (vehicle) actual acceleration in m/s 2  
 
 α p (k+1) is plant (vehicle) actual direction angle in degrees 
 
 ŷ   p ( k+ 1)=( {circumflex over (t)}   p ( k+ 1), â   p ( k+ 1),{circumflex over (α)} p ( k+ 1)) T , 
 
 identifier output; emulator estimated reaction time and vehicle trajectory (resulting from NN Identifier) with respect to acquired object 
 
 where {circumflex over (t)} p (k+1) is emulator estimated reaction time in msec 
 
 â p (k+1) is emulator estimated acceleration in m/s 2  
 
 {circumflex over (α)} p (k+1) is emulator estimated direction angle in degrees  
                     e   ^     c     ⁡     (     k   +   1     )       =           y   ^     p     ⁡     (     k   +   1     )       -       y   m     ⁡     (     k   +   1     )           ,     Control   ⁢           ⁢   error                 =       [             (           t   ^     p     ⁡     (     k   +   1     )       ,         a   ^     p     ⁡     (     k   +   1     )       ,         α   ^     p     ⁡     (     k   +   1     )         )     -               (         t   m     ⁡     (     k   +   1     )       ,       a   m     ⁡     (     k   +   1     )       ,       α   m     ⁡     (     k   +   1     )         )           ]     T                 =       (                   t   ^     p     ⁡     (     k   +   1     )       -       t   m     ⁡     (     k   +   1     )         ,           a   ^     p     ⁡     (     k   +   1     )       -                     a   m     ⁡     (     k   +   1     )       ,           α   ^     p     ⁡     (     k   +   1     )       -       α   m     ⁡     (     k   +   1     )                 )     T               
  e   i ( k+ 1)= ŷ   p ( k+ 1)− y   p ( k+ 1), 
 
 Identification error; the emulator (NN) weights are adapted based on this error between the plant (vehicle) output and the neural network model (emulator) output 
 
=[( {circumflex over (t)}   p ( k+ 1), â   p ( k+ 1),{circumflex over (α)} p ( k+ 1))−( t   p ( k+ 1), a   p ( k+ 1),α p ( k+ 1))] T  
 
=( {circumflex over (t)}   p ( k+ 1)− t   p ( k+ 1), â   p ( k+ 1)− a   p ( k+ 1),{circumflex over (α)} p ( k+ 1)−α p ( k+ 1)) T  
 
 e   s ( k+ 1)= y   p ( k+ 1)− y   m ( k+ 1), 
 
 simulator error; If e s (k+1) is less than the user profile threshold value (δ pt ), then the corresponding u(k) is stored in to user profile database along with r(k). 
 
         [0094]     δ pt , User profile threshold value, updated with the new e s  if the e s  is less than δ pt  
 
 x ( k )=( v   p ( k ),α p ( k )) T , 
 
 internal state of the plant; vehicle trajectory at time (k) with respect to acquired object, 
 
 where v p (k) is plant (vehicle) velocity or speed in m/s, and 
 
 α p (k) is the steering angle of the vehicle.