2-Input-2-Output Fuzzy Logic Based Hemodynamic Controller Applied to a Non-Linear Canine Circulatory System Model Non-Linear Circulatory Model developed by Clement Yu Fuzzy Logic Controller by Claudio M. Held Pascal-to-C Translation by Johnnie W. Huang Last Revised on Feb. 8, 1995 Please address all correspondences to: Dr. Howard Kaufman Department of Electrical, Computer, and System Engineering Rensselaer Polytechnic Institute Troy, NY 12180 USA kaufmh@rpi.edu Dr. Rob J. Roy Department of Biomedical Engineering Rensselaer Polytechnic Institute Troy, NY 12180 USA royr@rpi.edu This text file contains information on customizing the enclosed program for testing other prototype hemodynamic controllers. Please refer to the attached README.TXT file for the specifications and descriptions on compiling and executing this program. Remarks: - Line numbers indicated by a set of parenthesis refers to the location of a particular function or a variable within the program, i.e. (L#235) refers to line 235 in the program where it may be modified according to the user's customized specification. ---------------- Following proper compilation and execution of the codes, the system will first initiate (L#472-516) itself with the default parameters. The user has the option to re-define the initial states of the subject (e.g. cardiac contractility) by loading a replacement set of circulatory parameters (L#2793). These are the files which have the extensions *.nlm (L#518) As the simulation proceeds, the pressure and the blood flow in each compartments will be calculated using the Euler algorithm having 180 integration steps (L#150) per heart beat which will compute the new volume in each compartments (L#2939). The embedded fuzzy logic controller intervenes (L#701) every 30 seconds (L#152) to monitor the mean arterial pressure (MAP) and cardiac output (CO) of the subject. It currently has two modes: supervisory and fuzzy logic mode. The supervisory mode (L#1890) is activated when either MAP or CO falls outside of the fuzzy ranges, typically when the patient is in critical situation. The fuzzy logic mode (L#2060) is used to lead the hemodynamic variables to the target zone pre-defined in the control parameter set (L#1802). Fuzzification of the values are carried out in FUZZIF (L#2497). A fuzzy rule table (L#832-1388) is used to evaluate for fuzzified drug dosages based on the current fuzzified hemodynamic states. Defuzzification process in done in DEFUZZ (L#2561). A new controller may be substituted in place of FUZ_SUPERV_CONTROL (L#1848). The output of the controller should be the infusion rates of sodium nitroprusside (SNP) and dopamine (DPM). Other drugs may also be added or substituted. The concentration of the drugs are updated in DRUG_UPDATE (L#3254) called from the simulation process (L#650) and the function UPDATE_ALL_CONC (L#2845) will be used to determine the corresponding concentration in each compartments. The effects of the drugs are incorporated in the model in the function UPDATE_BEAT_PARAMS (#L2864). Subject sensitivity to a given drug may be modified by tagging an extra parameter to the computation of drug effects (#L499-510) during the iteration of the concentration-effect differential equation. (#L2888-2892) ---------------- REFERENCES on the Non-Linear Model and/or the Fuzzy Logic Controller: Gopinath R, Bequette BW, Kaufman H, Held CM, Huang JW, Roy RJ. "Drug Delivery Control System Challenge", Proc. of IEEE Conf. on Decision and Control, 1995. Held CM, Roy RJ, "Multiple Drug Hemodynamic Control by Means of a S upervisory-Fuzzy Rule Based Adaptive Control System: Validation on a Model," IEEE Trans. Biomed. Eng., April 1995, pp371-385 Yu C, Roy RJ, Kaufman H. "A Circulatory Model for Combined Nitroprusside- Dopamine Therapy", Medical Progress Through Technology, 16:77-88, Kluwer Academic Publishing,1990