WO1995012171A2 - Method and apparatus for adaptive control of human-machine systems employing disturbance response - Google Patents

Method and apparatus for adaptive control of human-machine systems employing disturbance response Download PDF

Info

Publication number
WO1995012171A2
WO1995012171A2 PCT/US1994/012179 US9412179W WO9512171A2 WO 1995012171 A2 WO1995012171 A2 WO 1995012171A2 US 9412179 W US9412179 W US 9412179W WO 9512171 A2 WO9512171 A2 WO 9512171A2
Authority
WO
WIPO (PCT)
Prior art keywords
disturbance
response
operator
control
human
Prior art date
Application number
PCT/US1994/012179
Other languages
French (fr)
Other versions
WO1995012171A3 (en
Inventor
David A. Bell
Lon E. Bell
Simon Levine
Yoram Koren
Original Assignee
The Regents Of The University Of Michigan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Regents Of The University Of Michigan filed Critical The Regents Of The University Of Michigan
Priority to AU80523/94A priority Critical patent/AU8052394A/en
Publication of WO1995012171A2 publication Critical patent/WO1995012171A2/en
Publication of WO1995012171A3 publication Critical patent/WO1995012171A3/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61GTRANSPORT, PERSONAL CONVEYANCES, OR ACCOMMODATION SPECIALLY ADAPTED FOR PATIENTS OR DISABLED PERSONS; OPERATING TABLES OR CHAIRS; CHAIRS FOR DENTISTRY; FUNERAL DEVICES
    • A61G2203/00General characteristics of devices
    • A61G2203/10General characteristics of devices characterised by specific control means, e.g. for adjustment or steering
    • A61G2203/14Joysticks
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61GTRANSPORT, PERSONAL CONVEYANCES, OR ACCOMMODATION SPECIALLY ADAPTED FOR PATIENTS OR DISABLED PERSONS; OPERATING TABLES OR CHAIRS; CHAIRS FOR DENTISTRY; FUNERAL DEVICES
    • A61G5/00Chairs or personal conveyances specially adapted for patients or disabled persons, e.g. wheelchairs
    • A61G5/04Chairs or personal conveyances specially adapted for patients or disabled persons, e.g. wheelchairs motor-driven
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S180/00Motor vehicles
    • Y10S180/907Motorized wheelchairs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S297/00Chairs and seats
    • Y10S297/04Wheelchair
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/903Control
    • Y10S706/905Vehicle or aerospace

Definitions

  • the present invention is drawn generally to the field of human-machine systems, wherein control of the system by a human operator is enhanced by adapting the control functions of the system to accommodate or identify changes in operator performance. More specifically, the present invention provides for measurement or application of disturbances in the control system which elicit operator response. Characterization of the response is then employed to adapt the control functions of the system for sensitivity or mode consistent with operator needs.
  • Prior Art The present approach to "man in the loop" control of systems relies on observance of the control inputs of a human operator to either obtain a direct control response, or to provide control through a transfer function, which is characterized by previously modeled human control behavior. The second approach is obviously desirable where significant changes may occur in the control requirements for operation of the system.
  • a power steering system of an automobile may require different sensitivities depending on the speed of the automobile. Sensitive steering at slow speeds to allow maneuvering into parking spaces and other precise maneuvering requirements is desirable. However, at highway speeds on straight stretches of highway, high sensitivity could create over control or require greater operator attention than is necessary.
  • Various means may be employed to obtain controlled ranges or functions in the machine system based on human input. As an example, switches, knobs and other interface devices may be employed to allow the operator to directly control adaptation of the system. Automobile manual transmissions are an example of this type of adaptation. The operator directly selects the gear of the transmission to allow a specific range of operating responses from the automobile. The second type of control system may be an automated response to an unambiguous signal from the operator.
  • the typical mechanism in automobiles which activates anti-lock braking systems for rapid stopping is initiated by a specific pressure level placed by the operator on the brake pedal consistent with a "hard stop. "
  • a second example of this type is "floor-boarding" of the accelerator to contact a microswitch to create a downshifting of an older style automatic transmission into passing gear.
  • the third type of adaptation relies on preprogrammed sequences which monitor direct parametric results of control by the operator.
  • An example of this type of system is an automobile automatic transmission, wherein the transmission determines the appropriate gear based on engine RPM or speed and transmission load, which is indirectly established by the operation of the accelerator pedal by the driver.
  • the first two methods are not autonomous and therefore are limited by attention, resources, speed, and accuracy of the human operator and can consume additional attention resource - of the operator by requiring direct cognition and action. Further, the adaptation of the system is limited to a range that can be learned and performed by a human operator.
  • Preprogrammed sequences of adaptations do not react to changes in behavior of the human operator, relying only on a prep- ⁇ grammed response to other system parameters.
  • Certain prior art systems have attemptui to model human behavior to obtain heuristic solutions to specific problems.
  • Creating a gear change in an automatic transmission when the accelerator pedal is floor boarded by an operator is a simple example of this approach. Action by the operator to pass a vehicle results in depressing the accelerator pedal to increase speed. If additional speed is necessary, the operator presses the accelerator pedal more firmly, ultimately depressing the pedal fully to the floor thereby achieving the downshift in the transmission to a passing gear.
  • This sequence is a natural control pattern for the operator.
  • tailoring of power steering systems for sensitivity based on speed employs modeling of human reactions to slow speed and high speed road conditions to create the control transfer function employed by the power steering unit at various speeds and then applying the model based only on speed of the vehicle.
  • the present invention allows characterizing of human control behavior in real time. Adaptation of control processes in the machine to reflect the current behavior of the human is then effected to provide a closed loop adaptive system. Sensing of human operator reactions to a disturbance in the system allows characterization of the operator response to the disturbance.
  • the operator response is characterized in one of several forms, including predicting the response based on a model, quantifying the response based on statistics or merely measuring the response for accumulation of the data to be employed by an artificial intelligence system. Predicting of the operator response is accomplished using standard modeling techniques and comparison of the predicted response to the actual sensed response to the disturbance allows control output signals in the system to be directly adapted to the human control behavior.
  • the resulting control adaptation by the system is accomplished by quantifying the results of the comparison to allow selection of a control mode by identifying one or more categories of reaction response to the disturbances or a graduated modification of the control law employed in the system.
  • the various modes or categories for control of the system incorporate different sensitivities on a macro scale or an entirely different control algorithm.
  • the graduated adaptation alters sensitivity or other parameters in the system at a micro level incrementally throughout given ranges of control.
  • the general human machine system incorporates a human operator and a machine control system.
  • the human operator provides control inputs to the machine control system, which are then interpreted to provide complete control for the system.
  • the human operator employs sensory perception, directly or via instrumentation, to monitor the operation of the operator system to create the control inputs desired.
  • the actual system performance is identified. This actual performance creates a feedback in the system.
  • the human operator through the use of neural processes compares the actual machine performance with a desired performance.
  • the human then generates a control response to the machine control system.
  • the present invention incorporates measurement of the human command response within the machine control system. A disturbance in the control loop affects the control response of the operator and the operator response is then monitored by the machine control system.
  • Standard system identification techniques are employed to characterize the human control process by providing a model of the portion of the human control action that corrects for the disturbance.
  • Applicable characterization methods include parametric and non-parametric system identification, as well as implicit and explicit neural network and Bayesian modeling techniques.
  • the disturbances present in the system can be applied by the system or naturally occurring disturbances imposed by external stimuli on the system or a combination of both.
  • the program routine for computerized control of the wheelchair is operated every 30 milliseconds in the present embodiment to allow real time adaptation and control of the system.
  • the output of the joystick is read and a steer command created.
  • the disturbance calculator computes a disturbance which is applied to the joystick by altering the zero offset.
  • the disturbance must be unpredictable for optimum system performance, consequently, a random number generator is employed in creating the disturbance.
  • the output of the joystick is received, which incorporates the operator's reaction to the disturbance and the desired steering information, and an ARX model of the user is computed.
  • a two-mode selection is the adaptation performed by the system.
  • a measure of model quality is calculated using actual versus predicted joystick positioning with RMS error as the output parameter.
  • a true/false test based on a threshold for RMS error is employed to test the quality measure. If the threshold is exceeded, the "open room” mode is selected and "open room” parameters are set for the control system. If the test quality measure block results in a false test wherein the RMS is less than the threshold alue, the mode for door passage is selected and door passage parameters are set in control system.
  • the parameters set by the mode are transmitted to the obstacle avoidance program which then performs obstacle avoidance based on the mode set. A return is then established awaiting the next 30 millisecond control period.
  • Annotated computer code in the C language performing the various functions identified in the basic flow chart is provided in Appendix 1.
  • the main loop for the system entitled “update_drive” performs the basic functions described.
  • the joystick position created by the human operator is read and, based on positioning of the joystick, the obstacle avoidance routine is performed with current parameters (obstacle_avoidance).
  • Selection of an operation mode is then accomplished using the present invention (mode_observe). Initially, a disturbance is calculated (disturbance_test) and the disturbance is added to the joystick command.
  • an autoregressive model relating applied disturbance D to joystick position J is identified to each data set where subscript 0 corresponds to the current data sample, 1 to the most recent sample and so on.
  • System identification evaluates the parameters a; and bj through least squares regression of observed data pairs D and J.
  • a refinement of the wheelchair embodiment of the present invention is employed to allow close approach to obstacles, such as a desk or other structure normally avoided by the obstacle avoidance system of the wheelchair.
  • Basic operation of the system is as described with regard to the "open room” and "door passage” control system modes, however, multiple ARX models (six in a tested embodiment) are maintained instead of a single model.
  • Each ARX model corresponds to a different delay between disturbance and response, which in turn corresponds to a different N ⁇ in Equation (1).
  • the six models span the range of normal human control to allow modeling of any operator using the system, as opposed to requiring individual modeling for the single ARX model of the prior system.
  • the six ARX models employ N ⁇ of values 4 to 10 in integer values corresponding to 120 millisecond to 400 millisecond delay times for the model.
  • the disturbance measured by the system is the difference between the joystick command and the output of the obstacle avoidance routine.
  • the disturbance is the modification to the joystick command made by the obstacle avoidance program. If the wheelchair is operating in the "open room" mode and begins to approach a desk, the obstacle avoidance routine would provide signal direction to the wheel motor control to steer around the desk. Operator input on the joystick attempting to correct the avoidance input in order to approach the desk is sensed as the response to the disturbance created by the obstacle avoidance code.
  • the speed of the chair is employed as a secondary control parameter to return to the obstacle avoidance mode. If the operator provides control inputs to the chair which increase the velocity of the chair, the obstacle avoidance mode is reinitiated.
  • Annotated computer code in the C-language performing the functions described for the close approach mode selection employing the present invention is provided Appendix 2.
  • the main loop for the system is entitled “update_drive” and performs the same basic functions.
  • the subroutine "mode_observe” is employed to determine a disturbance and observe the reaction for selecting an operating mode.
  • two mode observance functions “mode_observel “ and “mode_observe2”, are provided.
  • the “mode_observel” employs the difference between the change in joystick position based on the obstacle avoidance input as previously described and employs six ARX models for response of the human operator.
  • the second mode observance routine, "mode_observe2" employs a calculated random disturbance implemented by the subroutine “disturbance_test” and a single ARX model for determination of the "close approach” versus "open room” modes similar to that previously described for the "open room” versus “door passage” modes previously described.
  • a second exemplary embodiment of the invention is incorporated in an automotive control application. The driver of a car will correct for lateral vehicle accelerations or directional changes that are unintentional, such as those due to crosswinds, bumps or uneven road surfaces. These motions can be monitored with lateral accelerometers placed at the cowl, transmission tunnel, on the floor under the driver's seat or at the firewall, as examples.
  • a timed routine may be employed to accomplish the monitoring and control functions initiated by a start.
  • the system measures disturbances induced by external stimuli, such as the lateral accelerations due to wind gusts. Predicted behavior is modeled based on the measured disturbance.
  • the actual control reaction by the human operator is measured and a comparison of the predicted response to measured reaction is conducted by the system. The comparison of predicted response to measured reaction allows the determination whether the reaction was typical (as predicted) or abnormal. If the reaction was as predicted, the system returns to the next timed period.
  • system initiation for the comparison may be accomplished by signal interrupts created by a sensed disturbance or other appropriate control approach.
  • unacceptable or impaired response is identified by the system and the system response includes a warning or alert to a remote location, system shutdown, or initiation of an automatic control routine separate from the human operator.
  • the present invention is employed with additional parameters in the control system or with multiple disturbance response circuits for detail level control.
  • an automotive system employs a secondary parameter input of speed sensing to determine the assessment of proper control algorithm based on the disturbance, or alternatively, definition of the disturbance measurement itself.
  • slow speed operation e.g., five miles per hour to fifteen miles per hour
  • an imposed disturbance is employed on steering correction to determine the sensitivity required by the steering system, resulting in a proper control algorithm.
  • slow speed operation in rush hour stop-and-go traffic would employ a first control algorithm with minimal steering sensitivity, while parking operations would employ increased steering sensitivity.
  • inputting a disturbance to the steering system would have minimal safety impact.
  • the system employs external stimuli on the steering system which are measured as the comparison for operator's response. This avoids inputting a disturbance which could create a potential safety hazard at high speed.
  • the control on which the disturbance is inputted is changed at higher speed. For example, at low speeds, the input disturbance is applied to the steering control system, while at high speed, an input disturbance could be applied to the drive train of the vehicle, similar to the load imposed by engaging an air conditioning unit, to determine operator response with the accelerator pedal. This type of disturbance would create no safety impact beyond similar stimuli already present in an automotive system.
  • the capability of the invention to be used for multiple sensing points for disturbance and operator response such as combined steering and throttle control, are employed in embodiments of the invention for further modeling refinement wherein one disturbance input and operator response measurement circuit may not provide sufficient information.
  • the present invention is applicable to numerous control systems and approaches.
  • the invention may be employed for systems such as the motorized wheelchair or drunk driver sensing where volitional control of the operator is impaired.
  • the system may also be employed where operator incompetence is created due to environmental effects such as high vibration environments. High vibration may impose sensory difficulties, such as blurred vision in extreme cases at relatively high frequencies or loss of muscle coordination for control inputs at low frequency/high amplitude vibration.
  • the present invention may be employed to monitor human control response based on a debilitating stimuli to adapt the control system, whether the direct control input response is secondarily affected, such as in the blurred vision case, or primarily affected, such as in the loss of coordination case.
  • Routines that are used to perform mode selection in the NavChair using human disturbance modeling are used.
  • EJ_motor_prep() // smooth motor command return
  • I ⁇ _PTR new_data, cur_data; static int low_cnt 0; // count successive TRUEs float cur_error; static float cum_error 0.0; // cumulative RMS error disturbance_test () ; // calculate disturbance if( init) // initialize the first time
  • EJ_motor_prep() // smooth and interpolate to 10msec return

Abstract

Adaptive control of a system with a human in the loop is accomplished by sensing human operator reactions to a disturbance in the system and characterizing the operator response to the disturbance. The operator response is characterized in one of several forms by predicting a response based on a model quantifying a response based on statistics or merely measuring a response for accumulation of data to be employed by an artificial intelligent system. The disturbance which provides the human operator reaction, is applied or occurs naturally based on other stimulus and is measured by the system. Quantifying the results of the disturbance and the operator response comparison allows selection of a control mode by identifying one or more categories of reactions response or a graduated modification of the control law employed in the system. Various modes or categories for control of the system incorporate different sensitivities on a macro scale or an entirely different control algorithm. Graduated adaptation alters sensitivity or other perimeters in the system at a micro level incrementally throughout given ranges of control.

Description

METHOD AND APPARATUS FOR ADAPTIVE CONTROL OF HUMAN-MACHINE SYSTEMS EMPLOYING DISTURBANCE RESPONSE Background of the Invention
Field of the Invention
The present invention is drawn generally to the field of human-machine systems, wherein control of the system by a human operator is enhanced by adapting the control functions of the system to accommodate or identify changes in operator performance. More specifically, the present invention provides for measurement or application of disturbances in the control system which elicit operator response. Characterization of the response is then employed to adapt the control functions of the system for sensitivity or mode consistent with operator needs. Prior Art The present approach to "man in the loop" control of systems relies on observance of the control inputs of a human operator to either obtain a direct control response, or to provide control through a transfer function, which is characterized by previously modeled human control behavior. The second approach is obviously desirable where significant changes may occur in the control requirements for operation of the system. For example, a power steering system of an automobile may require different sensitivities depending on the speed of the automobile. Sensitive steering at slow speeds to allow maneuvering into parking spaces and other precise maneuvering requirements is desirable. However, at highway speeds on straight stretches of highway, high sensitivity could create over control or require greater operator attention than is necessary. Various means may be employed to obtain controlled ranges or functions in the machine system based on human input. As an example, switches, knobs and other interface devices may be employed to allow the operator to directly control adaptation of the system. Automobile manual transmissions are an example of this type of adaptation. The operator directly selects the gear of the transmission to allow a specific range of operating responses from the automobile. The second type of control system may be an automated response to an unambiguous signal from the operator. The typical mechanism in automobiles which activates anti-lock braking systems for rapid stopping is initiated by a specific pressure level placed by the operator on the brake pedal consistent with a "hard stop. " A second example of this type is "floor-boarding" of the accelerator to contact a microswitch to create a downshifting of an older style automatic transmission into passing gear. The third type of adaptation relies on preprogrammed sequences which monitor direct parametric results of control by the operator. An example of this type of system is an automobile automatic transmission, wherein the transmission determines the appropriate gear based on engine RPM or speed and transmission load, which is indirectly established by the operation of the accelerator pedal by the driver.
Each of these three prior art methods is appropriate under certain circumstances; however, each contains serious drawbacks. The first two methods are not autonomous and therefore are limited by attention, resources, speed, and accuracy of the human operator and can consume additional attention resource - of the operator by requiring direct cognition and action. Further, the adaptation of the system is limited to a range that can be learned and performed by a human operator.
Preprogrammed sequences of adaptations do not react to changes in behavior of the human operator, relying only on a prep-^grammed response to other system parameters. Certain prior art systems have attemptui to model human behavior to obtain heuristic solutions to specific problems. Creating a gear change in an automatic transmission when the accelerator pedal is floor boarded by an operator is a simple example of this approach. Action by the operator to pass a vehicle results in depressing the accelerator pedal to increase speed. If additional speed is necessary, the operator presses the accelerator pedal more firmly, ultimately depressing the pedal fully to the floor thereby achieving the downshift in the transmission to a passing gear. This sequence is a natural control pattern for the operator. Similarly, tailoring of power steering systems for sensitivity based on speed employs modeling of human reactions to slow speed and high speed road conditions to create the control transfer function employed by the power steering unit at various speeds and then applying the model based only on speed of the vehicle.
Creating a truly adaptable control for a human-machine system requires knowledge of the process of human control rather than merely the result. The prior systems monitor what the operator is doing, but not how the operator is accomplishing the control. While prior art modeling techniques may employ disturbance inputs to detect operator reaction for modeling purposes, directly employing the reaction of the human operator to such disturbance in an adaptive control system has not been accomplished. It is therefore desirable to create a method and apparatus for human-machine system adaptive control which is autonomous thereby not requiring the attention of the operator, allowing use in the system when the operator is too busy to perform manual adaptation well or at all, and to provide rapid and effect adaptation over a broad range of responses.
Summary of the Invention
The present invention allows characterizing of human control behavior in real time. Adaptation of control processes in the machine to reflect the current behavior of the human is then effected to provide a closed loop adaptive system. Sensing of human operator reactions to a disturbance in the system allows characterization of the operator response to the disturbance. The operator response is characterized in one of several forms, including predicting the response based on a model, quantifying the response based on statistics or merely measuring the response for accumulation of the data to be employed by an artificial intelligence system. Predicting of the operator response is accomplished using standard modeling techniques and comparison of the predicted response to the actual sensed response to the disturbance allows control output signals in the system to be directly adapted to the human control behavior. The disturbance, to which the human operator reacts, is either applied by the system or occurs naturally based on other stimulus and is measured by the system. An applied disturbance is calculated by the system to determine a response based on current system conditions, the calculated disturbance is applied and human operator reaction is sensed. Prediction of the operator response is modeled based on the calculated disturbances applied and the actual operator reaction is compared to the predicted operator response.
The alternative embodiment providing measurement of a disturbance caused by external inputs to the system requires calculation of the prediction based on the measured disturbance followed by comparison of the actual human reaction to the disturbance with the modeled behavior.
In either case, the resulting control adaptation by the system is accomplished by quantifying the results of the comparison to allow selection of a control mode by identifying one or more categories of reaction response to the disturbances or a graduated modification of the control law employed in the system. The various modes or categories for control of the system incorporate different sensitivities on a macro scale or an entirely different control algorithm. The graduated adaptation alters sensitivity or other parameters in the system at a micro level incrementally throughout given ranges of control.
A highly simplified embodiment of the system merely prompts the human operator to perform a manual adaptation of the control system based on an indicator resulting from the predicted an actual response comparison.
Detailed Description
The general human machine system incorporates a human operator and a machine control system. The human operator provides control inputs to the machine control system, which are then interpreted to provide complete control for the system. The human operator employs sensory perception, directly or via instrumentation, to monitor the operation of the operator system to create the control inputs desired. The actual system performance is identified. This actual performance creates a feedback in the system. The human operator through the use of neural processes compares the actual machine performance with a desired performance. The human then generates a control response to the machine control system. The present invention incorporates measurement of the human command response within the machine control system. A disturbance in the control loop affects the control response of the operator and the operator response is then monitored by the machine control system. This allows direct observation of the response of the user to disturbances or perturbations for information on how the user is currently performing the control task. Measurement of the combined response by the human operator to the disturbance is then used to adapt the machine control system. By observing disturbance correction behavior by the human operator, modeling can be accomplished for use in adapting the machine control system for various performance requirements, including inferring a system output desired by the operator. The disturbance in the invention is applied at any portion of the feedback loop downstream from the human operator. Measurement by the machine control system of the control output of the human operator is measured anywhere downstream from the human and upstream from the disturbance. The machine control system analyzes the disturbance/reaction data for information about the control behavior of the human operator. Standard system identification techniques are employed to characterize the human control process by providing a model of the portion of the human control action that corrects for the disturbance. Applicable characterization methods include parametric and non-parametric system identification, as well as implicit and explicit neural network and Bayesian modeling techniques. The disturbances present in the system can be applied by the system or naturally occurring disturbances imposed by external stimuli on the system or a combination of both.
Applied disturbances can be small enough not to be consciously perceived by the user.
This level of disturbance creates perception and reaction which are performed as parts of a learned motor skill. The adaptive process of the present invention is therefore autonomous due to continuous observation of the human operator without requiring conscious attention or action. Further, the process of the present invention does not rely on the user to remember that adaptation must take place or to consciously act, thereby allowing faster and more reliable adaptation than manual adaptation by the human operator through switch activation or other means. Disturbances applied by the system are designed or calculated to be informative for the monitoring system in the machine control system.
Naturally occurring disturbances created by external stimuli or stochastic perturbations in the system which can be measured are used in the same way as applied disturbances. The monitoring system of the machine control system separately measures the disturbance and the combined control reaction by the human operator to the disturbance.
Prediction of response by the human operator to the disturbance is then made and a comparison conducted to the actual combined control response. The machine control system is then adapted based on comparison of actual and predicted behavior. Adaptation of the system based on the characteristics of the response of the human operator and other system variables is accomplished by various methods, including neural networks, Bayesian techniques, artificial intelligence, expert systems and fuzzy logic. The use of disturbances that are naturally present in the system allows the monitoring system to involve fewer components and operate without changing the behavior of the human operator in any fashion. A cost trade off is made between measurement of the naturally occurring disturbance and prediction of operator response to the calculation of applied disturbances. In addition, in certain operation scenarios where operator workload is high, application of additional disturbances to the system, even those of a minimally perceivable nature, may not be appropriate.
A first exemplary embodiment of the present invention is a motorized wheelchair control system employing the applied disturbance approach. Motorized wheelchairs typically provide handicapped individuals with limited autonomy by making them mobile. Certain multiply handicapped individuals cannot adequately control existing wheelchair systems due to their limited voluntary muscle control. Incorporation of the present invention into the control system for the motorized wheelchair allows the handicapped user to share control with the control system in the chair allowing them to achieve desirable motion while the chair control overrides unsafe maneuvers. An important characteristic of a human operator is the ability to adapt their control behavior to changes in environmental conditions and functional requirements. With the wheelchair example, control acuity in the human operator changes between an "open room" with no obstacles to passage through a hallway or door opening requiring greater lateral directional control. The wheelchair in which the present invention is incorporated employs a sonar system with automatic obstacle avoidance routines in the control system of the chair for primary control. Generalized guidance is provided by the human operator.
The motorized chair incorporates a joystick which is operated by the human resulting in specific inputs to a joystick and control element. The joystick and control element provides a maneuvering signal to the wheel motors of the chair. Actual motion of the chair is implemented by the wheel motors. As previously described, the actual motion or path of the chair is represented by the output signal of the system. The human operator employs higher level cognition to compare the actual path of the chair to a desired path. This higher level cognition function creates a portion of the conscious control of the chair through voluntary motor reaction. To assess the current needs of the chair operator, the system employs a disturbance calculator to create a change in the joystick zero offset applied to the system as a disturbance. An autoregressive recursive (ARX) system identification method is used to find a model of the human operator in real time based on the positioning of the joystick by the human operator which is the control signal. The ARX model predicts joystick behavior as a result of current disturbances (zero offset position of the joystick) and the difference between predicted and actual behavior can be used as a parameter of human performance for adaptive control of the wheelchair. In particular, the joystick and control system adapts the sensitivity of the joystick to meet current needs of the user such as selecting a "open room" mode for operation of the wheelchair in an open area or a "door passage" mode of operation in narrower confines where more precise lateral control is required. The program routine for computerized control of the wheelchair is operated every 30 milliseconds in the present embodiment to allow real time adaptation and control of the system. After a start, at the beginning of the 30 millisecond window, the output of the joystick is read and a steer command created. The disturbance calculator computes a disturbance which is applied to the joystick by altering the zero offset. The disturbance must be unpredictable for optimum system performance, consequently, a random number generator is employed in creating the disturbance. The output of the joystick is received, which incorporates the operator's reaction to the disturbance and the desired steering information, and an ARX model of the user is computed.
For the present embodiment, a two-mode selection is the adaptation performed by the system. A measure of model quality is calculated using actual versus predicted joystick positioning with RMS error as the output parameter. A true/false test based on a threshold for RMS error is employed to test the quality measure. If the threshold is exceeded, the "open room" mode is selected and "open room" parameters are set for the control system. If the test quality measure block results in a false test wherein the RMS is less than the threshold alue, the mode for door passage is selected and door passage parameters are set in control system. The parameters set by the mode are transmitted to the obstacle avoidance program which then performs obstacle avoidance based on the mode set. A return is then established awaiting the next 30 millisecond control period.
Annotated computer code in the C language performing the various functions identified in the basic flow chart is provided in Appendix 1. The main loop for the system entitled "update_drive" performs the basic functions described. The joystick position created by the human operator is read and, based on positioning of the joystick, the obstacle avoidance routine is performed with current parameters (obstacle_avoidance). Selection of an operation mode is then accomplished using the present invention (mode_observe). Initially, a disturbance is calculated (disturbance_test) and the disturbance is added to the joystick command. An ARX model is then computed with u=disturbance and y=joystick steer. The model is then used to predict user behavior by employing an IIR filter. The RMS error of the model, with exponential forgetting, is computed as a measure of current model quality. The mode is then determined for the system by a simple test wherein RMS is greater than or less than the threshold value and the parameters are then set for the mode which has been determined. The parameters are then provided to the obstacle avoidance routine and commands are sent to the motor for actual steering of the system.
As exemplary of the model employed in the system, an autoregressive model relating applied disturbance D to joystick position J is identified to each data set where subscript 0 corresponds to the current data sample, 1 to the most recent sample and so on. System identification evaluates the parameters a; and bj through least squares regression of observed data pairs D and J.
Na Nb
Figure imgf000009_0001
Subsequent human control behavior is analyzed by comparing actual and predicted joystick positioning. Predicted joystick behavior is calculated by using recorded values of D and the identified values of a and b in Equation 1. The difference between these values is smoothed using a 1.5 Hz lowpass IIR filter and the results are rectified and compared to threshold parameters. The analysis approach identified herein has been previously used as a method of measuring visual fatigue in "A New Quantitative Indicator of Visual Fatigue" published by Goussard Y., Martin, B. , and Stark, L., IEEE Transactions on Biomedical Engineering. Vol. BME-34, No. 1, 1987.
A refinement of the wheelchair embodiment of the present invention is employed to allow close approach to obstacles, such as a desk or other structure normally avoided by the obstacle avoidance system of the wheelchair. Basic operation of the system is as described with regard to the "open room" and "door passage" control system modes, however, multiple ARX models (six in a tested embodiment) are maintained instead of a single model. Each ARX model corresponds to a different delay between disturbance and response, which in turn corresponds to a different Nκ in Equation (1). The six models span the range of normal human control to allow modeling of any operator using the system, as opposed to requiring individual modeling for the single ARX model of the prior system. The six ARX models employ Nκ of values 4 to 10 in integer values corresponding to 120 millisecond to 400 millisecond delay times for the model. The disturbance measured by the system is the difference between the joystick command and the output of the obstacle avoidance routine. In other words, the disturbance is the modification to the joystick command made by the obstacle avoidance program. If the wheelchair is operating in the "open room" mode and begins to approach a desk, the obstacle avoidance routine would provide signal direction to the wheel motor control to steer around the desk. Operator input on the joystick attempting to correct the avoidance input in order to approach the desk is sensed as the response to the disturbance created by the obstacle avoidance code.
In each control loop, all six models are updated and the quality of each model is calculated. The model having the best quality is used to perform the adaptation. A determination based on that model and a threshold value established for the "close approach" mode versus the "open room" mode provides a determination that the operator is making an effective and coherent attempt to override the obstacle avoidance system. The control system is then adapted to the close approach mode, allowing the operator to move close to the desk and the obstacle avoidance system of the chair is turned off.
In the present embodiment, the speed of the chair is employed as a secondary control parameter to return to the obstacle avoidance mode. If the operator provides control inputs to the chair which increase the velocity of the chair, the obstacle avoidance mode is reinitiated. Annotated computer code in the C-language performing the functions described for the close approach mode selection employing the present invention is provided Appendix 2.
As in the earlier-described embodiment, the main loop for the system is entitled "update_drive" and performs the same basic functions. The subroutine "mode_observe" is employed to determine a disturbance and observe the reaction for selecting an operating mode. In the code, two mode observance functions, "mode_observel " and "mode_observe2", are provided. The "mode_observel " employs the difference between the change in joystick position based on the obstacle avoidance input as previously described and employs six ARX models for response of the human operator. The second mode observance routine, "mode_observe2" , employs a calculated random disturbance implemented by the subroutine "disturbance_test" and a single ARX model for determination of the "close approach" versus "open room" modes similar to that previously described for the "open room" versus "door passage" modes previously described. A second exemplary embodiment of the invention is incorporated in an automotive control application. The driver of a car will correct for lateral vehicle accelerations or directional changes that are unintentional, such as those due to crosswinds, bumps or uneven road surfaces. These motions can be monitored with lateral accelerometers placed at the cowl, transmission tunnel, on the floor under the driver's seat or at the firewall, as examples. Typical signals received by the accelerometers will have various amplitudes and frequencies representing the disturbances applied to the vehicle from the external sources. The measurement and selection system in the vehicle incorporates the accelerometer or other measurement device which receives as an input the disturbance signal. The disturbance signal is transmitted in the vehicle by a change in the directional path which is, in turn, sensed by the human driver as a change from the desired path using higher level cognitive function. The driver's reaction to the disturbance is provided to the vehicle as a contro signal. In addition, the control signal is provided to the measurement and selection system. The measurement and selection system observes the data from the disturbances identifying the naturally occurring structure and comparing the human control signal for characterization of the response. After characterization of the response, the measurement and selection system provides one or more system outputs, for example, to modify the vehicle steering system, or provide secondary signaling.
Software implementation for the system is similar to that for the wheelchair system. As previously described with regard to the wheelchair system, a timed routine may be employed to accomplish the monitoring and control functions initiated by a start. The system measures disturbances induced by external stimuli, such as the lateral accelerations due to wind gusts. Predicted behavior is modeled based on the measured disturbance. The actual control reaction by the human operator is measured and a comparison of the predicted response to measured reaction is conducted by the system. The comparison of predicted response to measured reaction allows the determination whether the reaction was typical (as predicted) or abnormal. If the reaction was as predicted, the system returns to the next timed period. Those skilled in the art will recognize that system initiation for the comparison may be accomplished by signal interrupts created by a sensed disturbance or other appropriate control approach. If the measured reaction is not as predicted, the system provides a predetermined response. The system, as identified, is employed to determine the state or level of the human operator's function, e.g., is the human alert, drunk, asleep, distracted, or otherwise impaired. System response for inattention, whether the human is asleep, distracted, or otherwise nonreactive or shows subnormal response to disturbances to the system, is a light, verbal command or warning buzzer activated to alert the human operator. The present embodiment as described when implemented for a drunk driving alert system automatically engages the hazard warning lights or flashes the headlights in the vehicle to warn other drivers and attract police response. Currently available vehicle systems, such as radio/stereo systems or cellular phones are employed for generation of warning signals. Alternatively, for critical process systems such as ship steering, air traffic controllers, airline pilots, or plant process technicians, unacceptable or impaired response is identified by the system and the system response includes a warning or alert to a remote location, system shutdown, or initiation of an automatic control routine separate from the human operator.
Additional refinement of the present embodiment employs multiple cycle sensing wherein a first abnormal response is confirmed by identification of one or more subsequent disturbances to confirm the initial abnormal response prior to creating a system response, or alternatively, employing the initial abnormal response to induce a known disturbance in the system which is then employed for comparison to the operator response to confirm the abnormal behavior.
The present invention is employed with additional parameters in the control system or with multiple disturbance response circuits for detail level control. As exemplary of these multiple parameter embodiments, an automotive system employs a secondary parameter input of speed sensing to determine the assessment of proper control algorithm based on the disturbance, or alternatively, definition of the disturbance measurement itself. In slow speed operation, e.g., five miles per hour to fifteen miles per hour, an imposed disturbance is employed on steering correction to determine the sensitivity required by the steering system, resulting in a proper control algorithm. For example, slow speed operation in rush hour stop-and-go traffic would employ a first control algorithm with minimal steering sensitivity, while parking operations would employ increased steering sensitivity. At slow speeds, inputting a disturbance to the steering system would have minimal safety impact. At higher speeds, where inputting a disturbance to the steering wheel could impact safety, the system employs external stimuli on the steering system which are measured as the comparison for operator's response. This avoids inputting a disturbance which could create a potential safety hazard at high speed. Alternatively, the control on which the disturbance is inputted is changed at higher speed. For example, at low speeds, the input disturbance is applied to the steering control system, while at high speed, an input disturbance could be applied to the drive train of the vehicle, similar to the load imposed by engaging an air conditioning unit, to determine operator response with the accelerator pedal. This type of disturbance would create no safety impact beyond similar stimuli already present in an automotive system.
The capability of the invention to be used for multiple sensing points for disturbance and operator response, such as combined steering and throttle control, are employed in embodiments of the invention for further modeling refinement wherein one disturbance input and operator response measurement circuit may not provide sufficient information.
The present invention is applicable to numerous control systems and approaches. As identified for the embodiments presented herein, the invention may be employed for systems such as the motorized wheelchair or drunk driver sensing where volitional control of the operator is impaired. The system may also be employed where operator incompetence is created due to environmental effects such as high vibration environments. High vibration may impose sensory difficulties, such as blurred vision in extreme cases at relatively high frequencies or loss of muscle coordination for control inputs at low frequency/high amplitude vibration. In both cases, the present invention may be employed to monitor human control response based on a debilitating stimuli to adapt the control system, whether the direct control input response is secondarily affected, such as in the blurred vision case, or primarily affected, such as in the loss of coordination case.
Having now described the invention in detail, as required by the Patent Statutes, those skilled in the art will recognize modifications and substitutions to the embodiment disclosed for use of the invention in specific applications. Such modifications and substitutions are within the scope and intent of the invention as defined in the following claims.
David Bell: Sept 7, 1993.
This is copywrited material: NavChair Project, 1993
Routines that are used to perform mode selection in the NavChair using human disturbance modeling.
***************************************************************
// UPDATE_DRIVE
//
// This is the main drive command loop. It reads the joystick,
// applies transformations and sets the new motor command.
// / *************************************************************** void update_drive( void)
motor_flag = FALSE; // clear the trigger flag
EJ_joystick_prep() ; // read and prefilter joystick
/* Don't use motor_count == 0 here, since putgrid() fills that */ if( motor_count == 1) { // every 30msec: get_nav_pos() ; // update position of chair choose_input_command() ; // update joystick variables joy__targ_dir() ; // set target direction if( obs_mode I I hist_flag) // time out of obstacle time_func( &hist_time, // avoidance calc_hist) ; // .
else if( motor_count == 2) { if( obs_mode) // apply obstacle avoidance time_func( &oa_time, // and time it. obstacle_avoidance) ; // - mode_observe() ; // select a mode
EJ_command_prep() ; // every 30msec take_test_data() ; // observe data for testing )
EJ_motor_prep() ; // smooth motor command return;
/ ***************************************************************
// 0BSTACLE_AV0IDANCE
//
// This function calculates a motor command based upon the sonar
1 1 PENDIX .1 // readings to avoid obstacles.
// *************************************************************** void obstacle_avoidance( void)
{ static int trap = FALSE; // used to detect trap condition scale_maxspeed() ; // calculate new obs.maxspeed if( min_obs_mode && !min_calc_free_dir() ) // calculate free direction trap = TRUE; // detect trap condition else if( !min_obs_mode && !thresh_calc_free_dir() ) // calculate free direction trap = TRUE; // detect trap condition if( frcpls_flag) { // modify free direction based on time_func( &hist_time, // calc_force) ; // calculate force vector time_func( &hist_time, force_plus) ; // force information
} if( cls_mode) // Experimental close obstalce avoidance mode close_oa() ; steer_direction() ; // generate new motor command from free dir and reduce speed based on repulse if( trap) { // detect trap — currently trap = F.ALSE; // we don't do anything with jsound( 0); // this: it is handled elsewhere
} }
/ /***************************************************************
// DISTURBANCE_TEST — Mar 22, 1993 //
// Calculate and apply a "random" disturbance to the joystick.
// The disturbance has non-uniform distribution to increase
// the information content ,for system identificat.
Figure imgf000014_0001
it is
// restricted to jump between positive and negat: . values to
// insure that the difference between successive values is
// greater than a minimum.
//
/ *************************************************************** void -disturbance_test ( void) { static int cut = 0; static int cnt = 1; static float old_sign = 1.0; cnt++; if( !dist_flag) return; // if disturbance mode if( cnt > cut) // timer alarm: { // . disturbance = old_sign * obs.h_min // recalculate disturbance
* (0.6 + 0.4 * frand() ) ; // . old_sign = - old_sign; // - cnt = 0; // reset timer cut = (int) ( frand() * 12.0 + 4.0) * 2;
/***************************************************************
// MODE_OBSERVE -- DB —- Mar 25, 1993
//
// Applies a disturbance to the joystick, observes the reaction
// and selects an operating mode.
// //*************************************************************** typedef struct io_data_struct
{ int k; // time position from current float y; // output float fy; // filtered (predicted) output float u; // input struct io_data_struct *next; // pointer to next entry in linked list } IO TYPE; typedef I0 TYPE *I0_PTR; // define data type as a pointer to io data extern float *P, *T, *AB; extern float lam; extern int na, nb, nk, ns; extern float disturbance; float err_thresh = 300;
#define DOOR 1 #define OPEN 2
void mode_observe( void) { int init = TRUE; // initilization flag
Iθ_PTR new_data, cur_data; static int low_cnt = 0; // count successive TRUEs float cur_error; static float cum_error 0.0; // cumulative RMS error disturbance_test () ; // calculate disturbance if( init) // initialize the first time
{ // set the end of the linked cur_data = NULL; // to NULL init = FALSE; // . ) new_data = alloc_io(); // add new data to linked list new_data->u = disturbance; // input to human joy_steer += disturbance; // apply disturbance to joystick new_data->y = joy_steer; // output from human new_data->next = cur_data; // construct list cur_data = new_data; // . (the end is erased in rarx) rarx( cur_data, &P, &T, na, nb, nk, ns, lam) ; // calculate model iir_filt( cur_data, &AB, na, nb, nk, ns, FALSE) ; // predict data cur_error = cur_data->fy - cur_data->y; // calculate RMS predicted
(fy) cum_error = sqrt ( sqr( cur_error) // minus actual data (y) + sqr( cum_error) ) // if( cur_error < err_thresh) // mode selection test { // door passage condition: low_cnt++; // predicted and observed if( low_cnt > 10) // have a good fit for ten mode_flag = DOOR; // consecutive periods.
) else // condition for open room:
{ // bad fit for one period-. low_cnt = 0; // mode_flag = OPEN; // // cum_error *= 0.98; // exponential forgetting if( mode_flag = DOOR) // if 'in door-passage mode
{ // obs.w_max = 0.0; // turn force_plus off frcpls_flag = FALSE; // obs-d_weight2 = 20; // reduce wheelchair autonomy obs.lim_maxspeed = 1000; // reduce speed } else // if open room mode { // obs.w_max = 0.35; // turn force_plus on to frcpls_flag = 5; // five-point operation obs.d_weight2 = 5; // more wheelchair autonomy obs.lim_maxspeed = 1200; // increase max speed
return; /*********************************************************************** ****
Motor and steer control for chair.c */
..include "chair.h"
#include "\navchair\navchair.h"
#include "navproto.h"
#include "navext.h"
#include "math.h"
#include "bgi.h"
#pragma hdrstop
..include "grid.h" #include "limits.h" #include "stdlib.h"
#include "sonar.h" char *ddata; void mode_observel( void) ; void mode_observe2 ( void) ; void disturbance_test( void); float disturbance;
/ ***************************************************************
// Macro definitions /***************************************************************
/********************************************************************* Local and experimental variables. */
/* free_dir noise */ float old_free_dir, cum_free_noise, max_free_noise; float old_free2_dir, cum_free2_noise, max_free2_noise; float old_free3_dir, cum_free3_noise, max_free3_noise; float old_targ_dir, cum_targ_noise, max_targ_noise; float old_mag, cum_mag_noise, max_mag_noise; float old_mag2, cum_mag2_noise, max_mag2_noise; float test_teta;
/ ***************************************************************
// UPDATE_DRIVE
//
// This is the main drive command loop. It reads the joystick, applies
// all kinds of transformations and sets the new motor command.
//
//*************************************************************** void update_drive( void)
1 5 APPENDIX 2 motor_flag = FALSE; // clear the trigger flag
EJ_joystick_pre () ; // read and prefilter joystick if( motor_count == 1) { // every 30msec: get_nav_pos() ; // update position of chair choose_input_command() ; // update joystick variables for OA joy_targ_dir() ; // set target direction if( obs_mode I I hist_flag) // take this time out of obstacle time_func( &hist_time, // avcidance to calc_hist) ; // calc late polar histogram
else if( motor_count == 2) { if( obs_mode) // apply obstacle avoidance time_func( &oa_time, // and time it. This provides obstacle_avoidance) ; // an alternate joy_for -> for. if( rec_test_data) rec_test() // record test data mode_observe() ; // select a mode
EJ_command_prep() ; // every 30msec use new oa command take_test_data() ; // observe data for testing }
EJ_motor_prep() ; // smooth and interpolate to 10msec return;
/***************************************************************
// OBSTACLE_AVOIDANCE
//
// This function calculates a motor command based upon the sonar
// readings to avoid obstacles.
//
// *************************************************************** void obstacle_avoidance( void)
{ scalej-ixspeed() ; // calculate new obs.maxspeed if( min_obs_mode) // calculate free direction min_calc_free_dir() ; // using the min method else if( min_obs_mode == FALSE) // or the threshold method thresh_calc_free_dir() ; // else free_dir = targ_dir; // or just use the target direction if( frcpls_flag) { // perform force calculations time_func( &hist_time, // . calc_force) ; // calculate force vector time_func( &hist_time, // . force_plus) ; // modify free_dir using force vector } if( cls_mode) // perform collision avoidance close_oa() ; // . steer_direction() ; // generate new motor command from
// free dir and reduce speed based
// on repulse
//***************************************************************
// DISTURBANCE_TEST — Jan 22, 1993
//
// Calculate a "random" disturbance to the joystick.
// The disturbance has non-uniform distribution to increase
// the information content for system identification: it is
// restricted to jump between positive and negative values to
// insure that the difference between successive values is
// greater than a minimum.
//
// *************************************************************** void disturbance_test( void)
{ static int cut = 0; static int cnt = 1; static float old_sign = 1.0; cnt++; if( idist_flag) return; // if disturbance mode is on if( cnt > cut) // if the timer has expired:
{ // • disturbance = old_sign * obs.h_min // recalculate disturbance
* (0.6 + 0.4 * frandO); // • old_sign = - old_sign; // cnt = 0; // reset timer cut = (int) ( frandO * 12.0 + 4.0) * 2; }
/***************************************************************
// MODE_OBSERVE
//
// Applies a disturbance to the joystick, observes the reaction
// and selects an operating mode.
//
// observes variables relevant to mode selection and makes
// a guess at the desired mode.
// //*************************************************************** float highf[] = { 0.2569, -0.7707, 0.7707, -0.2569, -0.5772, 0.4218,
-0.0563); float highmf] = ( 0.5276, -1.5829, 1.5829, -0.5276, -1.7600, 1.1829,
-0.2781);
#define CLOSE_APP 1 #define OPEN_ROOM 2 void mode_observel( void)
{ int i; // loop variable int max_i; static float mode_ind2; // mode index static float maxd; static float dsu[ 15], dsy[15] ; static float jsu[ 15], jsy[15] ; static float jpy[ 15]; static int i_cnt[10]; static float m; float temp; static int cur_mode = CL0SE_APP; if( !auto_mode_flag) return; // if auto mode is not on — exit dsu[ 0] = steer - joy_steer; // disturbance is the change in iir_filt( highm, dsu, dsy, 3, 3, 0);// joystick command made by the jsu[ 0] = joy_steer; // obstacle avoidance code, high iir_filt( highm, jsu, jsy, 3, 3, 0);// pass filtered. max = 0; for(i=4; i<=10; i++)
{ rarx( &T+i*30, &dsy, &jsy, na, nb, i) ; // update ith model iirfilt( &T+i*30, &dsy, &jpy, na, nb, i) ; // predict temp = sqr(jpy[i] - dsy[0]) / 20000.0; // measure fit if( temp > m) { // find best fit m = temp; max_i = i; ) .) mode_ind2 = m * closect.ms2; // human mode index if( mode_ind2 > 10) mode_ind2 = 10; // motor_mag = sqrt( sqr( (float) forward)
+ sqr( (float) steer * TURN_CENTER / 10'O.O)); joy_mag = sqrt( sqr( (float) joy_forward)
+ sqr( (float) joy_steer * TURN_CENTER / 1000.0)); if( cur_mode == CLOSE_APP && motor_mag > obs.lim_maxspeed) cur_mode = OPEN_ROOM; else if (cur_mode == OPEN_room && mode_ind2 > 10) cur_mode = CLOSE_APP; if( cur_mode == CLOSE_APP) // if in close mode
{ setcolor( WHITE); obs. _max = 0.0; // turn force_plus off frcpls_flag = TRUE; // . obs.d_weight2 = 30; // decrease wheelchair autonomy obs.segs = 6; obs.1im_maxspeed = 800; // set speed low
) else
{ setcolor( YELLOW) ; obs.w_max = 0.35; // turn force_plus off frcpls_flag = TRUE; // . obs.d_weight2 = 5; // decrease wheelchair autonomy obs.segs = 14; obs.1im_maxspeed = 1000; // set speed high
return;
void mode_observe2 ( void) { int i; // loop variable int max_i; static float mode_ind; // mode index static float maxd; static float dsu[ 15], dsy[15]; static float jsu[ 15], .jsy[15]; static float jpy[ 15]; static int i_cnt[10]; static float m; float temp; static int cur_mode = CL0SE_APP; if( !auto_mode_flag) return; // if auto mode is not on — exit disturbance_test() ; dsy[ 0] = disturbance; // record disturbance jsy[ 0] = joy_steer; // record human response rarx( &T, &dsy, &jsy, 3, 3, 6);// update human model iirfilt( &T, tdsy, &jpy, 3, 3, 6); // predict jsu[ 0] = sqrt( 0.98 * sqr( jsu[l]) + sqr(jpy[6] - dsy[0])) // RMS iirfilt( &lowl, &jsu, &dsu,. 3, 3, 0); // low-pass filter mode_ind = fabs ( dsu[0]); // rectify if( cur_mode == CL0SE_APP ϋϋ motor_mag > obs.lim_maxspeed) cur_mode = OPEN_ROOM; else if (cur_mode == 0PEN_room && mode_ind2 > closect.ms2) . cur_mode = CLOSE_APP; if( cur_mode == CLOSE_APP) // if in close mode { setcolor( WHITE); obs.w_max = 0.0; // turn force_plus off frcpls_flag = TRUE; // . obs.d_weight2 = 30; // decrease wheelchair autonomy obs.segs = 6; obs.1im_maxspeed = 800; // set speed low
) else
{ setcolo ( YELLOW) ; obs.w_max = 0.35; // turn force_plus off frcpls_flag = TRUE; // . obs.d_weight2 = 5; // decrease wheelchair autonomy obs.segs = 14; obs.lim_maxspeed = 1000; // set speed high
return;
/*************************************************************** // IIR_FILT -- DB — Sept. 12, 1993 // // Perform iir filtering. // // iir[ ..] = (a[ na] , b[ nb] ) ; // in[ ..] = input values(zero equals most recent) // out[ ..] = output values (zero equals *past* most recent — '/ this routine will increment the contents and / put the *new* most recent in the first spot (0)) // nk = delay, in time steps //
// *************************************************************** void iir_filt( float *iir, float *in, float *out, int na, int nb, int nk)
{ int i; // loop variable float y = 0.0; // new output value for( i=0; i<=na; i++) // compute new output y += iir[ i] * in[ i+nk] ; // . for( i=l; i<=nb; i++) // . y -= iir[ na+i] * out[ i] ; // note sign here — standard
// definition of b in MATLAB out[ 0] = y; I I for(i=9; i>=l; i—) { // increment output values in [ i] = in [ i-1] ; // . out[ i] = out. i-1] ; // . ) // .
/ ****************** end of file: NAV-CA.c ********************

Claims

WHAT IS CLAIMED IS:
1. An adaptive control method for human in the loop systems comprising the steps of:
(a) sensing human operator reaction to a disturbance in a control system;
(b) characterizing an operator response to the disturbance;
(c) comparing the operator reaction and the characterized response to produce a result; and
(d) creating a control signal based on the result of the comparison.
2. A method as defined in claim 1, further comprising of the initial steps of:
(a) calculating a disturbance to be applied to the system; and
(b) applying the calculated disturbance wherein the disturbance of the sensing step comprises the calculated disturbance.
3. A method as defined in claim 1, further comprising the initial step of measuring a disturbance in the system created by external stimulus, and wherein the disturbance of the sensing step comprises the measured disturbance.
4. A method as defined in claim 1 , further comprising the initial step of measuring a disturbance in the system created by stochastic perturbation in the system, and wherein the disturbance of the sensing step comprises the measured disturbance.
5. A method as defined in claim 1, wherein the step of creating a control signal comprises the steps of:
(a) quantifying the comparison into at least two categories;
(b) identifying the category into which the result of the comparison falls;
(c) selecting a control law based on the category identified; and
(d) issuing control commands to the system using the selected control law.
6. A method as defined in claim 1, wherein characterizing an operator response to the disturbance comprises the steps of:
(a) measuring the response;
(b) storing the measurement in a database; (c) acting on the database with an artificial intelligence system; and
(d) providing an output from the artificial intelligence system which characterizes the response.
7. A method as defined in claim 1, wherein characterizing an operator response to the disturbance comprises:
(a) preparing a model of human response characteristics; (b) predicting human operator response to the disturbance; and wherein the characterized response comprises the predicted response.
8. A method as defined in claim 1 , wherein characterizing an operator response employs a neural network.
9. A method as defined in claim 1 , wherein the step of creating a control signal employs Bayesian modeling techniques.
10. An adaptive control method for a motorized wheelchair having a joystick control input and motorized wheel control comprising the steps of: (a) applying a disturbance to the joystick; f-') sensing human operator reaction to the disturbance applied; (c) characterizing operator response to the disturbance; (d) comparing the operator reaction and the characterized response to produce a result; and
(e) selecting a wheelchair operating mode based on the result of the comparison.
11. An adaptive control method for a motorized wheelchair having a joystick control input and motorized wheel control comprising the steps of:
(a) applying a disturbance to the motorized wheel control;
(b) sensing human operator reaction to the disturbance applied;
(c) characterizing operator response to the disturbance; (d) comparing the operator reaction and the characterized response to produce a result; and
(e) selecting a wheelchair operating mode based on the result of the comparison.
12. A operator impairment testing method comprising the steps of:
(a) measuring a disturbance to a control system operated by the operator in an vehicle;
(b) sensing operator reaction to the disturbance;
(c) characterizing an operator response to the dis. Dance; (d) comparing the operator's reaction and the characterized response to identify an abnormal reaction; and
(e) activating an output when an abnormal reaction is detected.
PCT/US1994/012179 1993-10-25 1994-10-24 Method and apparatus for adaptive control of human-machine systems employing disturbance response WO1995012171A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU80523/94A AU8052394A (en) 1993-10-25 1994-10-24 Method and apparatus for adaptive control of human-machine systems employing disturbance response

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/142,208 US5555495A (en) 1993-10-25 1993-10-25 Method for adaptive control of human-machine systems employing disturbance response
US08/142,208 1993-10-25

Publications (2)

Publication Number Publication Date
WO1995012171A2 true WO1995012171A2 (en) 1995-05-04
WO1995012171A3 WO1995012171A3 (en) 1995-05-18

Family

ID=22498987

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1994/012179 WO1995012171A2 (en) 1993-10-25 1994-10-24 Method and apparatus for adaptive control of human-machine systems employing disturbance response

Country Status (3)

Country Link
US (1) US5555495A (en)
AU (1) AU8052394A (en)
WO (1) WO1995012171A2 (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6418424B1 (en) 1991-12-23 2002-07-09 Steven M. Hoffberg Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US5903454A (en) 1991-12-23 1999-05-11 Hoffberg; Linda Irene Human-factored interface corporating adaptive pattern recognition based controller apparatus
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US6055524A (en) * 1997-10-06 2000-04-25 General Cybernation Group, Inc. Model-free adaptive process control
US6108592A (en) * 1998-05-07 2000-08-22 International Business Machines Corporation Voice-controlled motorized wheelchair with sensors and displays
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US6309031B1 (en) * 1999-12-14 2001-10-30 Ford Global Technology, Inc. Vehicle brake system with variable brake pedal feel
US6684112B1 (en) * 2000-04-11 2004-01-27 George Shu-Xing Cheng Robust model-free adaptive control
AU2003274939A1 (en) * 2002-08-29 2004-03-19 Dept. Of Veterans Affairs Variable compliance joystick with compensation algorithms
WO2006099318A1 (en) 2005-03-11 2006-09-21 Solomon Technologies, Inc. System and method for automating power generation and propulsion management
US20070106416A1 (en) * 2006-06-05 2007-05-10 Griffiths Joseph J Method and system for adaptively controlling a laser-based material processing process and method and system for qualifying same
US7962441B2 (en) * 2006-09-22 2011-06-14 Denso Corporation Air conditioner for vehicle and controlling method thereof
JP4360409B2 (en) * 2007-02-13 2009-11-11 株式会社デンソー VEHICLE AIR CONDITIONER, CONTROL METHOD AND CONTROL DEVICE FOR VEHICLE AIR CONDITIONER
US9449142B2 (en) * 2009-03-09 2016-09-20 Massachusetts Institute Of Technology System and method for modeling supervisory control of heterogeneous unmanned vehicles through discrete event simulation
US8682630B2 (en) * 2009-06-15 2014-03-25 International Business Machines Corporation Managing component coupling in an object-centric process implementation
US8594868B2 (en) * 2009-07-31 2013-11-26 Control Solutions LLC Controller and methods of controlling a personal electric motorized vehicle based on a weight of an operator
US8287055B2 (en) 2010-09-28 2012-10-16 Robert Bosch Gmbh Brake control of a vehicle based on driver behavior
US8496080B2 (en) 2010-09-30 2013-07-30 National Taiwan University Wheel driven mechanism
US9102333B2 (en) * 2013-06-13 2015-08-11 Ford Global Technologies, Llc Enhanced crosswind estimation
US9132835B2 (en) 2013-08-02 2015-09-15 Ford Global Technologies, Llc Enhanced crosswind compensation
EP3076906B1 (en) 2013-12-05 2018-07-11 Now Technologies Zrt. Personal vehicle, and control apparatus and control method therefore
US9944314B2 (en) * 2016-04-13 2018-04-17 Ford Global Technologies, Llc Steering assist system and related methods
CN109520501B (en) * 2018-11-01 2022-05-17 大连理工大学 Unmanned aerial vehicle visual navigation method for human-in-loop
US10732261B1 (en) * 2019-12-31 2020-08-04 Aurora Innovation, Inc. Generating data using radar observation model based on machine learning
KR102396163B1 (en) * 2020-07-06 2022-05-12 한국과학기술연구원 Method for controlling moving body based on collaboration between the moving body and human, and apparatus for controlling the moving body thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965741A (en) * 1988-10-17 1990-10-23 Ncr Corporation Method for providing an improved human user interface to a knowledge based system
US5046022A (en) * 1988-03-10 1991-09-03 The Regents Of The University Of Michigan Tele-autonomous system and method employing time/position synchrony/desynchrony
US5116180A (en) * 1988-07-18 1992-05-26 Spar Aerospace Limited Human-in-the-loop machine control loop
US5175795A (en) * 1988-07-29 1992-12-29 Hitachi, Ltd. Hybridized frame inference and fuzzy reasoning system and method
US5214715A (en) * 1991-01-31 1993-05-25 Trustees Of Boston University Predictive self-organizing neural network
US5278943A (en) * 1990-03-23 1994-01-11 Bright Star Technology, Inc. Speech animation and inflection system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2681930B2 (en) * 1987-06-27 1997-11-26 株式会社デンソー Servo control device
US5033000A (en) * 1988-06-09 1991-07-16 Natco Corporation Variable keyed power distribution and control system for motorized wheelchair
JP2553675B2 (en) * 1988-11-18 1996-11-13 日本電気硝子株式会社 Process control method
US5006988A (en) * 1989-04-28 1991-04-09 University Of Michigan Obstacle-avoiding navigation system
JP2639179B2 (en) * 1990-06-19 1997-08-06 日産自動車株式会社 Vehicle operation compensation device
US5197114A (en) * 1990-08-03 1993-03-23 E. I. Du Pont De Nemours & Co., Inc. Computer neural network regulatory process control system and method
JP3104249B2 (en) * 1990-10-17 2000-10-30 オムロン株式会社 Feedback control device
US5349541A (en) * 1992-01-23 1994-09-20 Electric Power Research Institute, Inc. Method and apparatus utilizing neural networks to predict a specified signal value within a multi-element system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046022A (en) * 1988-03-10 1991-09-03 The Regents Of The University Of Michigan Tele-autonomous system and method employing time/position synchrony/desynchrony
US5116180A (en) * 1988-07-18 1992-05-26 Spar Aerospace Limited Human-in-the-loop machine control loop
US5175795A (en) * 1988-07-29 1992-12-29 Hitachi, Ltd. Hybridized frame inference and fuzzy reasoning system and method
US4965741A (en) * 1988-10-17 1990-10-23 Ncr Corporation Method for providing an improved human user interface to a knowledge based system
US5278943A (en) * 1990-03-23 1994-01-11 Bright Star Technology, Inc. Speech animation and inflection system
US5214715A (en) * 1991-01-31 1993-05-25 Trustees Of Boston University Predictive self-organizing neural network

Also Published As

Publication number Publication date
AU8052394A (en) 1995-05-22
WO1995012171A3 (en) 1995-05-18
US5555495A (en) 1996-09-10

Similar Documents

Publication Publication Date Title
US5555495A (en) Method for adaptive control of human-machine systems employing disturbance response
US7912796B2 (en) System and method for real-time recognition of driving patterns
US7610121B2 (en) Vehicle operation support apparatus
CN102316805B (en) Physiological condition estimation device and vehicle control device
US4439824A (en) Device having one or more manually controlled functions
JP6287728B2 (en) In-vehicle system, vehicle control device, and program for vehicle control device
US8519853B2 (en) Unobtrusive driver drowsiness detection system and method
US20090322506A1 (en) Method and apparatus for driver state detection
US8918227B2 (en) Device and method for determining a vigilance state
CN108428343A (en) A kind of more vehicle driving behavior analysis and danger early warning method and system
JPH09301011A (en) Operating condition monitoring device for vehicle
US20030149545A1 (en) Operator distraction level
Patel et al. IDUTC: An intelligent decision-making system for urban traffic-control applications
Bolduc et al. Multimodel approach to personalized autonomous adaptive cruise control
CN106570560B (en) Driving style quantitative evaluation method based on standardization driving behavior and phase space reconfiguration
CZ2004770A3 (en) Method of detecting operator fatigue caused by muscle activity and apparatus for making the same
Filev et al. Real-time driving behavior identification based on driver-in-the-loop vehicle dynamics and control
CN111204348A (en) Method and device for adjusting vehicle running parameters, vehicle and storage medium
JP5041160B2 (en) Driving assistance device
US20190263419A1 (en) Autonomous vehicle control by comparative transition prediction
KR20190111318A (en) Automobile, server, method and system for estimating driving state
Fancher et al. Evolving model for studying driver-vehicle system performance in longitudinal control of headway
Andonovski et al. Detection of driver maneuvers using evolving fuzzy cloud-based system
Gillmeier et al. Combined driver distraction and intention algorithm for maneuver prediction and collision avoidance
CN115169477A (en) Method, device and equipment for evaluating safety sense of assistant driving system and storage medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AM AT AT AU BB BG BR BY CA CH CN CZ CZ DE DE DK DK EE ES FI FI GB GE HU JP KE KG KP KR KZ LK LR LT LU LV MD MG MN MW NL NO NZ PL PT RO RU SD SE SI SK SK TJ TT UA UZ VN

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): KE MW SD SZ AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

AK Designated states

Kind code of ref document: A3

Designated state(s): AM AT AT AU BB BG BR BY CA CH CN CZ CZ DE DE DK DK EE ES FI FI GB GE HU JP KE KG KP KR KZ LK LR LT LU LV MD MG MN MW NL NO NZ PL PT RO RU SD SE SI SK SK TJ TT UA UZ VN

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): KE MW SD SZ AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA