WO2006078345A2 - Method for analysis of control systems - Google Patents

Method for analysis of control systems Download PDF

Info

Publication number
WO2006078345A2
WO2006078345A2 PCT/US2005/041694 US2005041694W WO2006078345A2 WO 2006078345 A2 WO2006078345 A2 WO 2006078345A2 US 2005041694 W US2005041694 W US 2005041694W WO 2006078345 A2 WO2006078345 A2 WO 2006078345A2
Authority
WO
WIPO (PCT)
Prior art keywords
model
block diagram
tool
controller
updating
Prior art date
Application number
PCT/US2005/041694
Other languages
French (fr)
Other versions
WO2006078345A3 (en
Inventor
John Glass
Pascal Gahinet
Original Assignee
The Mathworks, Inc.
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 Mathworks, Inc. filed Critical The Mathworks, Inc.
Priority to EP05856968A priority Critical patent/EP1817646A2/en
Priority to JP2007543240A priority patent/JP5028268B2/en
Publication of WO2006078345A2 publication Critical patent/WO2006078345A2/en
Publication of WO2006078345A3 publication Critical patent/WO2006078345A3/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview

Definitions

  • the present invention relates to a method for analysis of control systems in a block diagram environment. Specifically, a linear model can be extracted to enable the use of design methodologies to design and tune control systems.
  • a dynamic system is a system whose response at any given time is a function of its input stimuli, its current state, and the current time. Such systems range from simple to highly complex systems.
  • Physical dynamic systems include a falling body, the rotation of the earth, bio-mechanical systems (muscles, joints, etc.), bio-chemical systems (gene expression, protein pathways), weather and climate pattern systems, etc.
  • man-made or engineered dynamic systems include: a bouncing ball, a spring with a mass tied on an end, automobiles, airplanes, control systems in major appliances, communication networks, audio signal processing, nuclear reactors, a stock market, etc.
  • model-based design is used to refer to the use of graphical models in the development, analysis, and validation of dynamic systems.
  • Dynamic systems are typically modeled in simulation environments as sets of differential, difference, and/or algebraic equations. At any given instant of time, these equations may be viewed as relationships between the system's output response ("outputs"), the system's input stimuli (" inputs") at that time, the current state of the system, the system parameters, and time.
  • the state of the system may be thought of as a numerical representation of the dynamically changing configuration of the system. For instance, in a physical system modeling a simple pendulum, the state may be viewed as the current position and velocity of the pendulum. Similarly, a signal-processing system that filters a signal would maintain a set of previous inputs as the state.
  • the system parameters are the numerical representation of the static (unchanging) configuration of the system and may be viewed as constant coefficients in the system's equations.
  • a parameter is the length of pendulum and for the filter example; a parameter is the values of the filter taps.
  • Math Works, Inc. of Natick, Massachusetts state-based and flow diagrams, such as those found within STATEFLOW from The Math Works, Inc. of Natick, Massachusetts, dataflow diagrams, circuit diagrams, and software diagrams, such as those found in the Unified Modeling Language.
  • a common characteristic among these various forms of graphical models is that they define semantics on how to execute the model.
  • Block diagrams are a set of graphical connections between blocks to model a system.
  • the individual blocks in a block diagram represent mathematical operations and output a result.
  • MATLAB provided by The Math Works, Inc. of Natick, Massachusetts, is an interactive programming and interpretive application that can implement a variety of computing tasks in engineering and science, while also having the ability to execute other executable programs. Some of the tasks that MATLAB can perform range from data acquisition and analysis to application development.
  • the MATLAB environment integrates mathematical computing, visualization, and technical programming language.
  • MATLAB includes built-in interfaces that provide access and import data from instruments, files, and external databases and programs.
  • MATLAB can integrate external routines written in C, C++, Fortran, and Java with MATLAB applications.
  • MATLAB provides an example of interactive programming and interpretive environments that can work in conjunction with C routines provided external to MATLAB including those provided by third party providers.
  • Control systems can be designed and modeled based on conventional graphical model methodology.
  • Figure 1 illustrates a basic controller sequence modeled using a graphical model format.
  • u a reference “u” provided to a controller 500 that controls an operation in a plant 502.
  • a "plant” refers to a physical subsystem or process being controlled. This results in an output of the plant “y”, which is both output and communicated back to a Sum operation 504 for input to the controller 500.
  • the control system is the interconnection between the controller and a plant.
  • FIG. 5 is an illustration of a model of plant operations, and the various controllers and variables that may be encountered in a simulation.
  • a nonlinear plant 510 has a first controller 512, a second controller 514, up to "n" controllers 516. There are multiple inputs to the first, second, and n controllers 512, 514, and 516 in the form of a first reference 518, a second reference 520, operating points 522, a first disturbance 524, and a second disturbance 526.
  • the controllers 512, 514, and 516 control the plant 510 and produce a first output 528 and a second output 530.
  • the behavior of the control system is dependent upon multiple inputs, complex operating points, multiple control elements, and multiple output signals. This desired behavior is expressed in many different ways by engineers as "performance constraints". These "performance constraints” are usually based on characteristics of the output and internal signals of the control system under normal operating conditions when the system is subject to changes in reference and disturbance signals. In addition there may be requirements or "design specifications" that the dynamics of the control system meet certain stability specifications such as gain and phase margins. The design specifications are defined to be based on some combination of the controllers and the plant of the control system.
  • the stability margins of a control system can be based on the frequency response of a interconnection between controller and the plant.
  • controllers There are a plurality of controllers, feedback loops, or compensators, that must be designed and subsequently tuned in complex control systems.
  • engineers typically design control systems and portions of control systems without taking into account dynamics that result from a change in inputs across the entire plant 510 or changes to other portions of the control system.
  • the focus of a control system design is to transform the performance constraints and design specifications required of the feedback control system to the analysis used in control design.
  • a method in a different embodiment in an electronic device, includes the step of providing a graphical view of a block diagram model which includes a control system. The method also selects a subset of blocks representative of a controller for a plant from the block diagram model. A performance constraint for a first signal relating to the controller or a design specification for the dynamics of the controller are also specified by the method. The method further includes the step of programmatically extracting a linear model from the block diagram relative to the controller. The method also programmatically updates the block diagram model by importing at least one characteristic of the controller into the block diagram model and importing the linear model into a design tool.
  • Figure 2 is a diagrammatic illustration of an example complex control system
  • Figure 3 is a diagrammatic illustration of a further example of a complex control system
  • Figure 4 is a diagrammatic illustration of the complex control system of Figure 3;
  • FIG. 5 is a simplified diagrammatic illustration of the complex control system of Figures 3 and 4;
  • Figure 6 is a method according to an embodiment of the present invention
  • Figures 7 depicts a GUI of a system being modeled by the illustrative embodiment of the present invention
  • Figures 8 is a GUI of controller design parameters in a control and estimation tools manager in the illustrative embodiment of the present invention.
  • Figures 9 is a GUI of analysis signal configuration parameters in a control and estimation tools manager in the illustrative embodiment of the present invention.
  • Figures 10 is a GUI of operating points parameters in a control and estimation tools manager in the illustrative embodiment of the present invention.
  • Figure 1 1 is an example of a design tool that may be used with the invention
  • Figure 12 is an example of a viewer that may be used with the invention
  • Figure 13 is an illustration of a GUI according to an embodiment of the invention
  • Figure 14 is an illustration of a scope that may be used with the invention.
  • This generalized model structure can be used for batch simulation, gain scheduling, and Monte Carlo techniques. Also, the user can move back and forth seamlessly between the linear and non-linear models. The ability to switch between linear and non-linear models allows for the rapid prototyping of linear controllers for non-linear systems. Further, mapping a MIMO non-linear physical model to the generalized LFT representation allows users to model non-linear controllers, Smith and model-predictive controllers, and other specialized control design techniques.
  • An embodiment of the invention can be used with MIMO systems.
  • the invention can provide the ability to design MIMO control systems by designing each element and viewing the response of the closed loop system automatically.
  • I/O Input/Output
  • closed-loop responses that are used by designers to verify that they have met the performance constraints on the signals and the design specifications of the control system individually.
  • visual results can be immediately viewable in a graphical environment.
  • the present invention may be useful in the use of design tools that lend to the design of any type of linear time-invariant (LTI) model, including but not limited to continuous, discrete, hybrid, and multi-rate models, models with time delays, and models specified by measured frequency response data.
  • LTI linear time-invariant
  • Embodiments of the present invention can provide insight into time responses (time-domain behavior) of control systems, as well as frequency-domain characteristics, and poles and zero dynamics.
  • a number of different linear analysis techniques can be employed within this framework.
  • the framework of the present invention supports the deployment of systematic, automated tuning techniques, such as direct search, genetic algorithms, gradient-based optimization. These techniques can optimize a variety of time and frequency-domain criteria.
  • design constraints could include design specifications on the control system such as stability margins and also could include more specific performance constraints such as settling time, overshoot constraints, and maximum deviation of a control variable due to a disturbance.
  • Exact small scale linearization uses a first order Taylor series approximation of (3) to give
  • Jacobian matrices are known as the Jacobian matrices. It is the task of a block diagram programming language tools to find the matrices A, B, C, and D.
  • describing function analysis involves the selection of a linear filter, denoted as w(t), that approximates a non-linear operator n[u(t)] for a particular wave form u( ⁇ that minimizes the integral square error over a time interval, T
  • a final method for the linearization of a non-linear system is through the use of black box modeling methodologies. This is an approach that is taken when the exact small scale or large scale linearizations are not applicable to a problem. Typically, when a system is described by both event and time based dynamics, small and large scale linearization approaches are not applicable.
  • Internal combustion engine control problems are applications that are usually described as both event (combustion events) and time (manifold filling dynamics) based dynamics.
  • the fundamental idea behind these methodologies is to use simulation to generate a set of data that is used to fit a black box model. The details of the model fitting are specific to each approach that is taken.
  • Black box modeling methodologies are well known as engineering tools and are implemented in add-on products to MATLAB such as the System Identification Toolbox or the spectral estimation tools in the Signal Processing Toolbox. Once linearization is complete, users can have a generalized linear fractional representation of their model that is automatically loaded into a design tool.
  • the operating points of a physical model define its total "state" at any given time.
  • the operating points are typically described by variables such as engine speed, throttle angle, engine temperature, and the surrounding atmospheric condition.
  • the behavior or what it typically known as the "dynamics" of the model are generally affected by the levels of the operating points.
  • block diagram programming languages such as SIMULINK
  • the user can specify the operating points through settings in each block in the model.
  • the operating points may be specified in the provided plant model (step 810) or as a specified design constraint (step 830) in the sequence of steps discussed in Figure 6. Trim or equilibrium operating points are a special type of operating point that engineers find very useful. A basic description of equilibrium conditions is that, over time, the operating point remains steady and constant.
  • Trim analysis works well for small models, but for large models, initial guesses of the values x(t), xi(ki), ..., X 1 (Ic 1 ) and u(t) must be chosen very close to an equilibrium operating point. This can be a problem since there are a large number of unknown variables that must be specified.
  • Another approach is to utilize simulation to recover a set of equilibrium conditions.
  • Simulation based operating points can be generated with SIMULINK CONTROL DESIGN using the time-based and trigger-based operating point snapshot feature.
  • the time-based operating point snapshot creates a snapshot of the operating point when the simulation clock reaches the time specified by the user.
  • the trigger-based operating point snapshot generates an operating point when triggered.
  • controllers Once controllers are tuned and/or analyzed, the block diagram in which they belong, can be updated, step 860.
  • the controller can be uploaded to a SIMULINK model which can validate the controller against a full scale non-linear model.
  • the operating point can also be updated.
  • a user may specify a steady state operating point before the controller is updated.
  • control design in SIMULINK can be an integrated environment. Tools and GUIs can interact to develop models, set operating points, linearize as needed, launch design tools, step 850, and export completed compensator designs back to SIMULINK.
  • a user using a graphical user interface, can systematically design and tune controllers in real time.
  • the GUI will allow users to see the results of their tuning in real-time.
  • Cross-coupling and other parasitic effects are immediately viewable.
  • a user may simultaneously tune multiple controllers and immediately view responses.
  • GUI GUI
  • Figures 7-14 A further example of a GUI according to an embodiment of the invention will be discussed in relation to Figures 7-14 and use with SIMULINK.
  • SIMULINK One of ordinary skill in the art will appreciate that the illustrated graphical user interfaces and discussion of SIMULINK are provided for purposes of example only and the invention is not limited to the illustrated example.
  • a GUI 1000 is illustrated having a block diagram model 1010 of an idle speed controller for a spark ignition engine.
  • the block diagram model 1010 can be used to control the engine speed based on changes in the speed references and torque disturbances. Therefore, in the present example, three closed loop signals are selected to be designed: the reference speed step 1020, the torque disturbance 1040 and the vehicle dynamics 1060.
  • the engine speed 1080 output can be displayed on a scope 1100.
  • Figure 8 illustrates a GUI 1200 that can provide access to various displays according to an embodiment of the invention.
  • the workspace navigation window 1210 enables navigation to the compensator design selection 1212, prompting the details window 1240.
  • a series of tabs is provided to select the view of the details window 1240, including a controller design tab 1250, an analysis signal configuration tab 1270 and an operating points selection tab 1290.
  • the idle speed controller entry 1252 selects the idle speed controller of Figure 7.
  • Figure 10 illustrates an example view of the details window 1240 upon selection of the operating points selection tab 1290.
  • a single default operating point selection 1292 for use in linearizing the model is shown, although many operating point configurations may be illustrated and available to be selected.
  • a design tool may be launched by a button 1310.
  • An example of a SISO (single input, single output) design tool 1300 is illustrated in Figure 11.
  • the SISO design tool 1300 includes a displayed transfer function 1305.
  • a Root Locus Editor for Transfer Function window 1310, a Nichols Plot Editor for Transfer Function window 1320, and an Open Loop Bode Editor for Transfer Function window 1330 are also included.
  • the SISO design tool allows for many performance constraints and design specifications to be specified on a feedback control system and its signals to be employed directly in a design.
  • the tool allows for design specification on a control system such as stability margin characteristics to be mapped to the Root Locus, Open-Loop Bode and Nichols Plot editors.
  • Figure 12 provides an example of a closed loop response viewer 1400 available by selecting another button 1410.
  • a third button 1510, shown in Figure 8 can trigger an update to the block diagram model.
  • An example dialog GUI 1500 is illustrated in Figure 13.
  • Figure 13 illustrates various options for updating a block diagram model, such as a SIMULINK block diagram model.
  • Tabs 1520 are provided to select the desired compensator.
  • the GUI 1500 allows a selection from the following options: write coefficients to a block dialog, 1540, parameterize the controller in a block dialog 1560 and create a controller variable in a block dialog 1580.
  • updating the block diagram model may include updating an operating point of the block diagram model 1590.
  • Figure 14 illustrates the scope 1100 displaying the engine speed output signal 11 10.
  • FIG. 14 illustrates the scope 1100 displaying the engine speed output signal 11 10.
  • FIG. 14 illustrates the scope 1100 displaying the engine speed output signal 11 10.
  • FIG. 14 illustrates the scope 1100 displaying the engine speed output signal 11 10.
  • FIG. 14 illustrates the scope 1100 displaying the engine speed output signal 11 10.
  • FIG. 14 illustrates the scope 1100 displaying the engine speed output signal 11 10.
  • Step two involves SIMULINK CONTROL DESIGN.
  • SIMULINK CONTROL DESIGN has algorithms that analyze the block diagram to determine which blocks must be involved to correctly linearize the subsystem you have selected. Therefore, the user specifies closed loop signals, sets SIMULINK model operating points and establishes control system design specifications and performance constraints for specific signals in the block diagram.
  • design specifications and performance constraints can include many standard engineering requirements for a control system. These include 2 nd order system specifications such as rise and settle time, overshoot constraints, reference tracking performance constraints along with control system design specifications such as gain, phase, and delay margin of a feedback loop. Performance constraints on the norm properties of signals in the system. These include H 00 , L2, and Loo constraints.
  • the model is then linearized, enabling the use of a design tool.
  • Step three occurs in one or more analysis and/or design tools.
  • the details of the linear model are loaded into the design tool.
  • the user designs the compensator, optionally utilizing rapid prototyping.
  • many Math Works design tools may be used. Examples of possible design techniques include classical and modern control approaches, stochastic control, Kalman filtering, and model predictive control.
  • the rapid prototyping techniques refer to synthesis routines such as H 00 , H 2 , ⁇ -Synthesis, LQG, LQR, and LTR.
  • FIG. 15 illustrates one example embodiment of an electronic device 700 suitable for practicing the illustrative embodiments of the present invention.
  • the electronic device 700 is representative of a number of different technologies, such as personal computers (PCs), laptop computers, workstations, personal digital assistants (PDAs), Internet appliances, cellular telephones, wireless devices, and the like.
  • the electronic device 700 includes a central processing unit (CPU) 702 and a display device 704.
  • the display device 704 enables the electronic device 700 to communicate directly with a user through a visual display.
  • the electronic device 700 further includes a keyboard 706 and a mouse 708.
  • Other potential input devices not depicted include a stylus, trackball, joystick, touch pad, touch screen, and the like.
  • control systems examples include, but are not limited to, Aerospace, Automotive, Chemical, Biochemical/Pharmaceutical, Process (e.g., paper mills). Embodiments of the present invention may have broad applications to all these industries.

Abstract

The present invention provides a framework to let users systematically analyze, and design controllers for, complex non-linear dynamic systems modeled in a block diagram environment. By extracting linearized models from non-linear plant models (block diagrams), users can use one or more control design and tuning methodologies available for linear systems. Complex side effects, such as cross-coupling and exogenous disturbances, are viewable and can be dealt with in real-time during a design. The results of a design are automatically implemented in a block diagram.

Description

METHOD FOR ANALYSIS OF CONTROL SYSTEMS
RELATED APPLICATIONS This application is related to U.S. Application Serial No. 10/869163 , entitled
"Tool For Design Of Multiple Single-Input-Single-Output Control Loops", Attorney Docket No. MWS-094, filed on June 15, 2004, and claims priority to U.S. Application Serial No. 10/991899 , entitled "Method for Analysis of Control Systems", Attorney Docket No. MWS-098, filed on November 17, 2004, the contents of which are hereby incorporated by reference.
FIELD OF THE INVENTION
The present invention relates to a method for analysis of control systems in a block diagram environment. Specifically, a linear model can be extracted to enable the use of design methodologies to design and tune control systems.
BACKGROUND OF THE INVENTION
A dynamic system (either natural or man-made) is a system whose response at any given time is a function of its input stimuli, its current state, and the current time. Such systems range from simple to highly complex systems. Physical dynamic systems include a falling body, the rotation of the earth, bio-mechanical systems (muscles, joints, etc.), bio-chemical systems (gene expression, protein pathways), weather and climate pattern systems, etc. Examples of man-made or engineered dynamic systems include: a bouncing ball, a spring with a mass tied on an end, automobiles, airplanes, control systems in major appliances, communication networks, audio signal processing, nuclear reactors, a stock market, etc.
Professionals from diverse areas such as engineering, science, education, and economics build mathematical models of dynamic systems in order to better understand system behavior as it changes with the progression of time. The mathematical models aid in building "better" systems, where "better" may be defined in terms of a variety of performance measures such as quality, time-to-market, cost, speed, size, power consumption, robustness, etc. The mathematical models also aid in analyzing, debugging and repairing existing systems (be it the human body or the anti-lock braking system in a car). The models may also serve an educational purpose of educating others on the basic principles governing physical systems. The models and results are often used as a scientific communication medium between humans. The term "model-based design" is used to refer to the use of graphical models in the development, analysis, and validation of dynamic systems.
Dynamic systems are typically modeled in simulation environments as sets of differential, difference, and/or algebraic equations. At any given instant of time, these equations may be viewed as relationships between the system's output response ("outputs"), the system's input stimuli (" inputs") at that time, the current state of the system, the system parameters, and time. The state of the system may be thought of as a numerical representation of the dynamically changing configuration of the system. For instance, in a physical system modeling a simple pendulum, the state may be viewed as the current position and velocity of the pendulum. Similarly, a signal-processing system that filters a signal would maintain a set of previous inputs as the state. The system parameters are the numerical representation of the static (unchanging) configuration of the system and may be viewed as constant coefficients in the system's equations. For the pendulum example, a parameter is the length of pendulum and for the filter example; a parameter is the values of the filter taps.
In practice, except for the most basic systems, mathematical models for dynamic systems involve a complex set of mathematical transformations applied in some prescribed manner with the outputs of some transformations forming the inputs of others. Each elemental transformation may be viewed in isolation as a simple dynamic system falling into one of the categories listed above. Therefore, a complex dynamic system may be modeled as an interconnection of various simple dynamic systems.
A schematic representation of such an interconnection that has evolved over the years is the graphical model. Such graphical models have now become a standard means in textbooks, design papers, journal articles, and specifications to communicate the details of a dynamic system's behavior. Various classes of graphical models describe computations that can be performed on computational hardware, such as a computer, microcontroller, FPGA, and custom hardware. Classes of such graphical models include time-based block diagrams, such as those found within SIMULINK from The
Math Works, Inc. of Natick, Massachusetts, state-based and flow diagrams, such as those found within STATEFLOW from The Math Works, Inc. of Natick, Massachusetts, dataflow diagrams, circuit diagrams, and software diagrams, such as those found in the Unified Modeling Language. A common characteristic among these various forms of graphical models is that they define semantics on how to execute the model.
Generally, graphical analysis and simulation methods, such as the block diagram method, are used in modeling for design, analysis, and synthesis of engineered systems. The visual representation allows for a convenient interpretation of model components and structure and provides a quick intuitive notion of system behavior. Block diagrams are a set of graphical connections between blocks to model a system. The individual blocks in a block diagram represent mathematical operations and output a result.
Conventional simulation models become more complex as models are developed that model more complex systems. Hundreds of thousands of blocks that represent primitive and aggregate mathematical operations may be present. To manage the complexity of such models, principles of partitioning, abstraction, and hierarchy are applied.
In addition to graphical based modeling or simulation, other applications can be utilized to model a system, such as a control system or dynamic system. For example, MATLAB provided by The Math Works, Inc. of Natick, Massachusetts, is an interactive programming and interpretive application that can implement a variety of computing tasks in engineering and science, while also having the ability to execute other executable programs. Some of the tasks that MATLAB can perform range from data acquisition and analysis to application development. The MATLAB environment integrates mathematical computing, visualization, and technical programming language. MATLAB includes built-in interfaces that provide access and import data from instruments, files, and external databases and programs.
In addition, MATLAB can integrate external routines written in C, C++, Fortran, and Java with MATLAB applications. As such, MATLAB provides an example of interactive programming and interpretive environments that can work in conjunction with C routines provided external to MATLAB including those provided by third party providers.
Control systems, specifically feedback control systems, can be designed and modeled based on conventional graphical model methodology. For example, Figure 1 illustrates a basic controller sequence modeled using a graphical model format. There is a reference "u" provided to a controller 500 that controls an operation in a plant 502. A "plant" refers to a physical subsystem or process being controlled. This results in an output of the plant "y", which is both output and communicated back to a Sum operation 504 for input to the controller 500. The control system is the interconnection between the controller and a plant.
However, in real world applications a model of a plant and corresponding controller(s) is far more complex. Most control systems are MIMO (multi-input multi- output) in nature. Figure 2 is an illustration of a model of plant operations, and the various controllers and variables that may be encountered in a simulation. A nonlinear plant 510 has a first controller 512, a second controller 514, up to "n" controllers 516. There are multiple inputs to the first, second, and n controllers 512, 514, and 516 in the form of a first reference 518, a second reference 520, operating points 522, a first disturbance 524, and a second disturbance 526. The controllers 512, 514, and 516 control the plant 510 and produce a first output 528 and a second output 530. The behavior of the control system is dependent upon multiple inputs, complex operating points, multiple control elements, and multiple output signals. This desired behavior is expressed in many different ways by engineers as "performance constraints". These "performance constraints" are usually based on characteristics of the output and internal signals of the control system under normal operating conditions when the system is subject to changes in reference and disturbance signals. In addition there may be requirements or "design specifications" that the dynamics of the control system meet certain stability specifications such as gain and phase margins. The design specifications are defined to be based on some combination of the controllers and the plant of the control system. For example, the stability margins of a control system can be based on the frequency response of a interconnection between controller and the plant. There are a plurality of controllers, feedback loops, or compensators, that must be designed and subsequently tuned in complex control systems. In such a situation, engineers typically design control systems and portions of control systems without taking into account dynamics that result from a change in inputs across the entire plant 510 or changes to other portions of the control system. The focus of a control system design is to transform the performance constraints and design specifications required of the feedback control system to the analysis used in control design.
SUMMARY OF THE INVENTION There is a need for an ability to analyze the behavior a controller within a control system to enable the controller to be designed or tuned. There is a further need for a graphical environment for interactively tuning design parameters and receiving feedback on how the tuning process effects a larger control system or dynamic system model. The present invention is directed toward further solutions to address these needs.
In accordance with one aspect of the present invention, in an electronic device, a method includes the step of providing a graphical view of a block diagram model which includes a control system. The method also selects a subset of blocks representative of a controller for a plant from the block diagram model. The method further includes the step of programmatically extracting a linear model from the block diagram relative to the controller. The method also programmatically imports the linear model into a design tool.
In another embodiment of the invention a method includes the steps of selecting a block representative of a controller in a block diagram model. The method also selects a first signal relating to the controller. The method further specifies a performance constraint of the first signal or a design specification for the dynamics of the controller. A linear model of the block diagram model relative to the signal is also extracted programmatically. The method additionally programmatically maps the performance constraint for the first signal or the design specification for the dynamics of the controller, to a design tool. In an embodiment in an electronic device, a method includes the step of providing a graphical view of a block diagram model which includes a control system. The method also selects a subset of blocks representative of a controller for a plant from the block diagram model. The method further includes the step of programmatically extracting a linear model from the block diagram relative to the controller. The method also programmatically updates the block diagram model by importing at least one characteristic of the controller into the block diagram model.
In a different embodiment in an electronic device, a method includes the step of providing a graphical view of a block diagram model which includes a control system. The method also selects a subset of blocks representative of a controller for a plant from the block diagram model. A performance constraint for a first signal relating to the controller or a design specification for the dynamics of the controller are also specified by the method. The method further includes the step of programmatically extracting a linear model from the block diagram relative to the controller. The method also programmatically updates the block diagram model by importing at least one characteristic of the controller into the block diagram model and importing the linear model into a design tool.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will become better understood with reference to the following description and accompanying drawings, wherein: Figure 1 is a diagrammatic illustration of an example conventional graphical model representation of a control system;
Figure 2 is a diagrammatic illustration of an example complex control system;
Figure 3 is a diagrammatic illustration of a further example of a complex control system;
Figure 4 is a diagrammatic illustration of the complex control system of Figure 3;
Figure 5 is a simplified diagrammatic illustration of the complex control system of Figures 3 and 4;
Figure 6 is a method according to an embodiment of the present invention; Figures 7 depicts a GUI of a system being modeled by the illustrative embodiment of the present invention;
Figures 8 is a GUI of controller design parameters in a control and estimation tools manager in the illustrative embodiment of the present invention;
Figures 9 is a GUI of analysis signal configuration parameters in a control and estimation tools manager in the illustrative embodiment of the present invention;
Figures 10 is a GUI of operating points parameters in a control and estimation tools manager in the illustrative embodiment of the present invention;
Figure 1 1 is an example of a design tool that may be used with the invention;
Figure 12 is an example of a viewer that may be used with the invention; Figure 13 is an illustration of a GUI according to an embodiment of the invention;
Figure 14 is an illustration of a scope that may be used with the invention; and
Figure 15 is a diagrammatic illustration of an electronic device for use in implementing the present invention. DETAILED DESCRIPTION
The design of control systems using full non-linear/hybrid models can be mathematically intractable given the complexity of many industrial high fidelity models. A common approach to the analysis of these complex models is to develop an approximation to the non-linear behavior through a process known as linearization. The illustrative embodiment of the present invention provides a framework to let users systematically analyze, and design controllers for, complex non-linear dynamic systems modeled in a simulation based block diagram environment. The elements controllers refer to gains or dynamic systems whose structure and parameterizations are the subject of the design of the control system. In graphical block diagram languages, controllers refer to individual elements or elements grouped in individual subsystems or submodels. By systematically extracting linearized models from non-linear plant models (block diagrams), users can leverage the vast array of control design and tuning methodologies available for linear systems.
The present invention can provide a link between non-linear modeling in graphical environments and the development of controllers for linearizations of these models around user-specified operating points. The invention automatically imports linearizations into an existing GUI that has highly developed analysis and design procedures. The present invention also allows for users to mark relevant signals for specifying and assessing the performance of the control system. These signals include reference, disturbance, feedback, and measured outputs. The marking of the signals allows for complex side effects, such as cross-coupling and exogenous disturbances, to be viewable and can be handled in real-time during a design. In addition to marking signals, users also may specify constraints on the dynamics of the system.
This generalized model structure can be used for batch simulation, gain scheduling, and Monte Carlo techniques. Also, the user can move back and forth seamlessly between the linear and non-linear models. The ability to switch between linear and non-linear models allows for the rapid prototyping of linear controllers for non-linear systems. Further, mapping a MIMO non-linear physical model to the generalized LFT representation allows users to model non-linear controllers, Smith and model-predictive controllers, and other specialized control design techniques.
An embodiment of the invention can be used with MIMO systems. The invention can provide the ability to design MIMO control systems by designing each element and viewing the response of the closed loop system automatically. Input/Output (I/O) channels and closed-loop responses that are used by designers to verify that they have met the performance constraints on the signals and the design specifications of the control system individually. In one implementation, visual results can be immediately viewable in a graphical environment.
Accordingly, the present invention may be useful in the use of design tools that lend to the design of any type of linear time-invariant (LTI) model, including but not limited to continuous, discrete, hybrid, and multi-rate models, models with time delays, and models specified by measured frequency response data. Embodiments of the present invention can provide insight into time responses (time-domain behavior) of control systems, as well as frequency-domain characteristics, and poles and zero dynamics. A number of different linear analysis techniques can be employed within this framework.
In addition to analytical design techniques such as root locus and Bode or Nichols loop shaping, the framework of the present invention supports the deployment of systematic, automated tuning techniques, such as direct search, genetic algorithms, gradient-based optimization. These techniques can optimize a variety of time and frequency-domain criteria.
An example of the ability to isolate individual elements in a plant system may be seen in Figures 3-5. With reference to Figure 3, an example block diagram 600 is provided with a first controller 620 and a second controller 640. In this example, the user would like to design or analyze the first controller 620 and the second controller 640. As shown in Figure 4, a user may use tools of the block diagram environment to illustrate the block diagram 600 with a new plant 660 that excludes the first controller 620 and the second controller 640 and defines the remainder of the block diagram. A reference input 605 and a reference output 610 have been defined to represent the input and output of the plant 660, respectively. Figure 5 then illustrates the simplified block diagram 600, showing the first controller 620 and the second controller 640 relative to the plant 660. The reference input 605 and reference output 610 are also illustrated. The controllers in Figure 5 may thus be analyzed separately from the remainder of the plant model initially seen in Figure 3. The example of Figures 3-5 illustrate the graphical selection of controllers for design or analysis in a block diagram.
According to an embodiment of the invention, a method 800 is illustrated in Figure 6. The method 800 includes optionally providing, step 810, a plant model and a control structure. For example, the user may use a block diagram simulation environment such as SIMULINK from The Math Works of Natick, Massachusetts to build a plant model and a control system architecture. An example of a plant model includes a power plant model with multiple generators, turbines and other components. Depending on the intended goal of the design or analysis, the user can select, step 820, signals that contribute to performance constraints and control system dynamics to apply design specifications and select, step 830 the performance constraints and design specifications. For example, the user would like to constrain the response between a disturbance and a controlled output. The signals may be, for example, closed loop signals. A wide variety of performance constraints and design specifications may be used. For example, design constraints could include design specifications on the control system such as stability margins and also could include more specific performance constraints such as settling time, overshoot constraints, and maximum deviation of a control variable due to a disturbance.
With the selection of the signals, step 820, the method 800 can use linearization tools available in SIMULINK and other simulation environments to extract, step 840, a linear model of the model relative to the signals. The linearization tool uses exact small signal linearization or large signal linearization tools such as black box models and describing functions to automatically extract a linear model at specified operating points. These linear models relate the effect of reference and disturbance input changes on the response of the control system. The linearization tool is known to those of ordinary skill in the art, and can have many different forms.
The process of exact small scale linearization is the approximation of complex physical models that yields a sufficiently simple model for engineering analysis tools. Exact small scale linearization is a well-known commonly used analysis tool that has been documented in many control textbooks. A fundamental principle of exact small scale linearization analysis is that the approximation of a complex physical model is accurate for regions near a baseline or operating point.
A large class of physical systems is typically modeled using sets of non-linear differential equations of motion. The differential equations are written in the form:
Figure imgf000016_0001
Where: t - time x(t) - A vector of model states of length n x(t) - A vector of the state derivatives of length n u(t) - A vector of model inputs of length/* y(f) - A vector of model outputs of length q f(x(t),u(t)) -A non-linear function which maps x(ή and «(/) to the state derivatives x(t). g{x{t), "(0) " A non-linear function which maps x(t) and u(t) to the model outputs y(i). Exact small scale linearization approximates a set of non-linear differential equations: The approximation is about an operating point where the states are at a nominal value x(ή = X0 and the model inputs are at a nominal value w(t) = M0. Exact small scale linearization uses a first order Taylor series approximation of (3) to give
Figure imgf000017_0001
Defining variables about the operating point:
Figure imgf000017_0002
Au(t) = u(t)- u0 (5)
gives
Figure imgf000017_0003
or more commonly described as
Figure imgf000017_0004
where the matrices
Figure imgf000017_0005
are known as the Jacobian matrices. It is the task of a block diagram programming language tools to find the matrices A, B, C, and D.
In many block diagram programming tools, physical models can be described by both continuous differential equations and discrete equations of motion. These systems are known as multi-rate systems. This more general description of a multi-rate system is described by
x(ή /(x(4*,(*, ),- ■ -, xm (km
Figure imgf000018_0001
Figure imgf000018_0002
(9)
/,(x(/), x, (Ic1 ), ... , xm (kn,), u{t
At) g(x(ή, x, (£, ),..., x,H {km
Figure imgf000018_0003
where
/ - time x(t) - A vector of model continuous model states of length n m x{t) - A vector of the state derivatives of length n x,(k,) - A vector of model discrete model states of length n, at a sample time k, u(i) - A vector of model inputs of length p y(t) - A vector of model outputs of length q f(x(t), X1 (kx ),..., xm (km ), u(t)) - A non-linear function which maps x(t), x/(ki), ..., x,(k,) and u(t) to the state derivatives x(t) .
/ (x(t), x, (k{ ),..., xm (km ), u(t)) - A non-linear function which maps x(t), Xi{k,), ..., x,(k,) and u(i) to the update of the discrete state x, (kt ) . g(x(t), X| (A;, ),..., x,,, (km ), u(t)) - A non-linear function which maps which maps x(t), xi(k/), ..., x,{k) and u{i) to the model output y(t).
The typical approach for this type of problem is to approximate this multi-rate system by a single rate discrete system:
Ax(k + \) ~ AAx(k)+BAu(k) Ay{k) « CΔx{k)+ DAu{k) ( 10) It is the task of a block diagram programming language tools to find the matrices A, B, C, and D. This is a well known and understood problem and has been implemented in many block diagram programming languages.
In addition to exact small scale linearization another methodology for extracting linear models is to use large scale linearization analysis known as describing function analysis. The describing function problem (see figure below) involves the selection of a linear filter, denoted as w(t), that approximates a non-linear operator n[u(t)] for a particular wave form u(ή that minimizes the integral square error over a time interval, T
JWtf dt
The class of input wave forms applicable to the describing function approximation includes sinusoidal, random noise, and exponential inputs along with various input combinations.
Figure imgf000019_0001
Describing
Function
Filter
The benefit of the describing function approach is that the approximation is a function of both the input signal and its amplitude. This method is used in many applications including aerospace applications to capture the effects of non-linearities on a feedback system.
A final method for the linearization of a non-linear system is through the use of black box modeling methodologies. This is an approach that is taken when the exact small scale or large scale linearizations are not applicable to a problem. Typically, when a system is described by both event and time based dynamics, small and large scale linearization approaches are not applicable. Internal combustion engine control problems are applications that are usually described as both event (combustion events) and time (manifold filling dynamics) based dynamics. The fundamental idea behind these methodologies is to use simulation to generate a set of data that is used to fit a black box model. The details of the model fitting are specific to each approach that is taken. Black box modeling methodologies are well known as engineering tools and are implemented in add-on products to MATLAB such as the System Identification Toolbox or the spectral estimation tools in the Signal Processing Toolbox. Once linearization is complete, users can have a generalized linear fractional representation of their model that is automatically loaded into a design tool.
The operating points of a physical model define its total "state" at any given time. For example, for a model of a car engine, the operating points are typically described by variables such as engine speed, throttle angle, engine temperature, and the surrounding atmospheric condition. The behavior or what it typically known as the "dynamics" of the model are generally affected by the levels of the operating points. In block diagram programming languages, such as SIMULINK, the user can specify the operating points through settings in each block in the model. The operating points may be specified in the provided plant model (step 810) or as a specified design constraint (step 830) in the sequence of steps discussed in Figure 6. Trim or equilibrium operating points are a special type of operating point that engineers find very useful. A basic description of equilibrium conditions is that, over time, the operating point remains steady and constant.
In SIMULINK and all other block diagram simulation tools there are two commonly used approaches to specifying equilibrium conditions of a physical model. The first method is that the users employ their intuitive knowledge about the system to pick an equilibrium condition. This can be a very time consuming and difficult process due to the large number of operating points that must be specified in a complicated physical model. The second option is to employ an approach known as trim analysis. The approach is to use optimization to solve for a set of operating points that satisfy the equilibrium conditions.
Trim analysis works well for small models, but for large models, initial guesses of the values x(t), xi(ki), ..., X1(Ic1) and u(t) must be chosen very close to an equilibrium operating point. This can be a problem since there are a large number of unknown variables that must be specified. Another approach is to utilize simulation to recover a set of equilibrium conditions. Simulation based operating points can be generated with SIMULINK CONTROL DESIGN using the time-based and trigger-based operating point snapshot feature. The time-based operating point snapshot creates a snapshot of the operating point when the simulation clock reaches the time specified by the user. The trigger-based operating point snapshot generates an operating point when triggered.
The user can select a design methodology to tune or design the control elements in the system. An important aspect of this framework is that many well-known methodologies can be leveraged to seamlessly assist in the design of the feedback controllers. For example since linear models can be extracted from the non-linear block diagram, classical methodologies such as Bode plots and root locus can be employed. Additionally, more advanced control techniques, including H-infinity, optimal control, etc., can be used. The tool can then automatically map user-defined performance constraints and design specifications on the control system to problem specific requirements on these advanced control techniques. For example, in the case of a second order performance constraint such as a step response, or overshoot is mapped to restricted pole locations on a root locus or closed magnitude response curves on a Nichols plot.
Once controllers are tuned and/or analyzed, the block diagram in which they belong, can be updated, step 860. For example, the controller can be uploaded to a SIMULINK model which can validate the controller against a full scale non-linear model. In addition to updating the controller elements in a model, the operating point can also be updated. For example, a user may specify a steady state operating point before the controller is updated. When the controller has been updated the user can be given tools to ensure that the equivalent steady state operating point is maintained. According to embodiments of the invention, control design in SIMULINK can be an integrated environment. Tools and GUIs can interact to develop models, set operating points, linearize as needed, launch design tools, step 850, and export completed compensator designs back to SIMULINK. According to embodiments of the invention, using a graphical user interface, a user can systematically design and tune controllers in real time. The GUI will allow users to see the results of their tuning in real-time. Cross-coupling and other parasitic effects are immediately viewable. For MIMO systems, a user may simultaneously tune multiple controllers and immediately view responses.
A further example of a GUI according to an embodiment of the invention will be discussed in relation to Figures 7-14 and use with SIMULINK. One of ordinary skill in the art will appreciate that the illustrated graphical user interfaces and discussion of SIMULINK are provided for purposes of example only and the invention is not limited to the illustrated example.
A GUI 1000 is illustrated having a block diagram model 1010 of an idle speed controller for a spark ignition engine. The block diagram model 1010 can be used to control the engine speed based on changes in the speed references and torque disturbances. Therefore, in the present example, three closed loop signals are selected to be designed: the reference speed step 1020, the torque disturbance 1040 and the vehicle dynamics 1060. The engine speed 1080 output can be displayed on a scope 1100.
Figure 8 illustrates a GUI 1200 that can provide access to various displays according to an embodiment of the invention. The workspace navigation window 1210 enables navigation to the compensator design selection 1212, prompting the details window 1240. A series of tabs is provided to select the view of the details window 1240, including a controller design tab 1250, an analysis signal configuration tab 1270 and an operating points selection tab 1290. The idle speed controller entry 1252 selects the idle speed controller of Figure 7.
Figure 9 illustrates an example view of the details window 1240 upon selection of the analysis signal configuration tab 1270. In the example, the three closed loop signals in the model are illustrated and selected as active, including the reference speed step 1020, the torque disturbance 1040 and the vehicle dynamics 1060. Various settings may be configured including the setting of performance constraints for each of the signals and design specifications on the control system.
Figure 10 illustrates an example view of the details window 1240 upon selection of the operating points selection tab 1290. A single default operating point selection 1292 for use in linearizing the model is shown, although many operating point configurations may be illustrated and available to be selected.
With reference to Figure 8, a series of buttons is also provided to provide access to additional functions. For example, a design tool may be launched by a button 1310. An example of a SISO (single input, single output) design tool 1300 is illustrated in Figure 11. The SISO design tool 1300 includes a displayed transfer function 1305. A Root Locus Editor for Transfer Function window 1310, a Nichols Plot Editor for Transfer Function window 1320, and an Open Loop Bode Editor for Transfer Function window 1330 are also included. The SISO design tool allows for many performance constraints and design specifications to be specified on a feedback control system and its signals to be employed directly in a design. The tool allows for design specification on a control system such as stability margin characteristics to be mapped to the Root Locus, Open-Loop Bode and Nichols Plot editors.
Figure 12 provides an example of a closed loop response viewer 1400 available by selecting another button 1410. A third button 1510, shown in Figure 8 can trigger an update to the block diagram model. An example dialog GUI 1500 is illustrated in Figure 13.
Figure 13 illustrates various options for updating a block diagram model, such as a SIMULINK block diagram model. Tabs 1520 are provided to select the desired compensator. For each compensator, the GUI 1500 allows a selection from the following options: write coefficients to a block dialog, 1540, parameterize the controller in a block dialog 1560 and create a controller variable in a block dialog 1580. Also, updating the block diagram model may include updating an operating point of the block diagram model 1590.
Figure 14 illustrates the scope 1100 displaying the engine speed output signal 11 10. When the compensator parameters have been updated in the block diagram model, non-linear simulations can be completed to verify the performance of the controller design. A further example of implementing the invention with SIMULINK can be summarized in a four-step, model-based design process. The first step occurs in SIMULINK. A plant model is developed and a control structure is defined. Any block diagram based Math Works tools for modeling may be used, including, for example, the SIGNAL PROCESSING BLOCKSET, STATEFLOW, and SIMULINK FIXED POINT.
Step two involves SIMULINK CONTROL DESIGN. In this step, a user can specify which parts of the block diagram model to be linearized. SIMULINK CONTROL DESIGN has algorithms that analyze the block diagram to determine which blocks must be involved to correctly linearize the subsystem you have selected. Therefore, the user specifies closed loop signals, sets SIMULINK model operating points and establishes control system design specifications and performance constraints for specific signals in the block diagram. These design specifications and performance constraints can include many standard engineering requirements for a control system. These include 2nd order system specifications such as rise and settle time, overshoot constraints, reference tracking performance constraints along with control system design specifications such as gain, phase, and delay margin of a feedback loop. Performance constraints on the norm properties of signals in the system. These include H00, L2, and Loo constraints. The model is then linearized, enabling the use of a design tool.
Step three occurs in one or more analysis and/or design tools. The details of the linear model are loaded into the design tool. The user designs the compensator, optionally utilizing rapid prototyping. In this step, many Math Works design tools may be used. Examples of possible design techniques include classical and modern control approaches, stochastic control, Kalman filtering, and model predictive control. The rapid prototyping techniques refer to synthesis routines such as H00 , H 2, μ-Synthesis, LQG, LQR, and LTR. When a linear model is loaded into a design tool the performance constraints that a user imposes on a signal or design specifications on a feedback loop will mapped to specific design criterion. An example of this would be the mapping of 2n order performance constraints like overshoot and settle time to the closed loop pole location on a root locus. Additionally gain, phase, and delay margins can be mapped to required constraints on Bode, Nyquist, and Nichols plots. The performance constraints and design specifications additionally can also be applied to the synthesis routines that are mentioned above. For example, the trade off between performance and stability is a well understood application in synthesis methods using weights on the resulting optimization problem. In this case the constraints and specifications from step two are mapped to this trade off. During the design process the response of the linear closed loop system can always be viewed in any linear response type plot. These response plots include step, impulse, Bode, Nyquist, Nichols, singular value, and pole zero plots. Included in the plots will be the performance constraints and design specifications that the user has employed. The closed and open loop linear responses of the control system can be examined and the results of the design can be exported back to SIMULINK.
In step four, once a candidate compensator design is established, SIMULINK can be used to fully evaluate how well that design meets specifications. For example, a user can validate the design with the newly- designed compensator functioning in the block diagram model. The validation can be automated by comparing the user-defined design specifications to the resulting non-linear simulation. Simulations on the full non-linear physical model plus the compensator can be run. The Real Time Workshop can be used to speed up simulation or generate embeddable C-code.
The present invention can be implemented on an electronic device. Figure 15 illustrates one example embodiment of an electronic device 700 suitable for practicing the illustrative embodiments of the present invention. The electronic device 700 is representative of a number of different technologies, such as personal computers (PCs), laptop computers, workstations, personal digital assistants (PDAs), Internet appliances, cellular telephones, wireless devices, and the like. In the illustrated embodiment, the electronic device 700 includes a central processing unit (CPU) 702 and a display device 704. The display device 704 enables the electronic device 700 to communicate directly with a user through a visual display. The electronic device 700 further includes a keyboard 706 and a mouse 708. Other potential input devices not depicted include a stylus, trackball, joystick, touch pad, touch screen, and the like. The electronic device 700 includes primary storage device 710 and secondary storage device 712 for storing data and instructions. The primary and secondary storage devices 710 and 712 can include, but are not limited to, such technologies as a floppy drive, hard drive, tape drive, optical drive, read only memory (ROM), random access memory (RAM), and the like. Applications such as browsers, JAVA virtual machines, C compilers, and other utilities and applications can be resident on one or both of the primary and secondary storage devices 710 and 712. The electronic device 700 can also include a network interface 714 for communicating with one or more electronic devices external to the electronic device 700 depicted. Modems and Ethernet cards, are examples of network interfaces 714 for establishing a connection with an external electronic device or network. The CPU 712 has either internally, or externally, attached thereto one or more of the aforementioned components. In addition to applications previously mentioned, simulation and/or modeling applications 716, such as MATLAB, or SIMULINK, can be installed and operated on the electronic device 700.
It should be noted that the electronic device 700 is merely representative of a structure for implementing the present invention. However, one of ordinary skill in the art will appreciate that the present invention is not limited to implementation on only the described device 700. Other implementations can be utilized, including an implementation based partially or entirely in embedded code, where no user inputs or display devices are necessary. In such an instance, a processor can communicate directly with another processor, or other device.
Examples of industries in which control systems are used include, but are not limited to, Aerospace, Automotive, Chemical, Biochemical/Pharmaceutical, Process (e.g., paper mills). Embodiments of the present invention may have broad applications to all these industries.
The present invention has been described by way of example, and modifications and variations of the described embodiments will suggest themselves to skilled artisans in this field without departing from the spirit of the invention. Aspects and characteristics of the above-described embodiments may be used in combination. The described embodiments are merely illustrative and should not be considered restrictive in any way. The scope of the invention is to be measured by the appended claims, rather than the preceding description, and all variations and equivalents that fall within the range of the claims are intended to be embraced therein.

Claims

CLAIMSWhat is claimed is:
1. A medium holding electronic device executable steps for a method, said method comprising the steps of: providing a graphical view of a block diagram model which includes a control system; selecting a subset of blocks representing a controller for a plant; programmatically extracting a linear model from said block diagram model relative to said controller; and programmatically importing said linear model into a design tool.
2. The medium of claim 1, wherein said design tool comprises at least one of the group of an open loop tool, a closed loop tool, a Bode plot tool, a Nichols plot tool, a root/locus tool, a discretization tool, and a tuning tool.
3. The medium of claim 1, wherein said method further comprises: updating programmatically said block diagram model based on the results of an analysis performed on said linear model.
4. The medium of claim 3, comprising the further step of: updating said block diagram model by programmatically updating an operating point used to linearize said model
5. The medium of claim 3, wherein said method comprises the further step of; updating said block diagram model by programmatically updating the block data.
6. The medium of claim 1, wherein said method comprises the further step of: specifying one of a performance constraint for said first signal and a design specification for the dynamics of the control system;
7. The medium of claim 1 wherein said one of a performance constraint for said first signal and a design specification for the dynamics of the control system are programmatically mapped to the design tool.
8. In an electronic device, a medium holding executable steps for a method, said method comprising the steps of: selecting a block representative of a controller in a block diagram model; selecting a first signal relating to said controller; specifying one of a performance constraint for said first signal and design specification for the dynamics of the control system; extracting programmatically a linear model of said block diagram model based on said controller; and mapping programmatically said one of a performance constraint for said first signal and design specification for the dynamics of the control system to a design tool.
9. The medium of claim 8, said method further comprising the step of: updating programmatically said block diagram model based on the results of an analysis performed on said linear model.
10. The medium of claim 9, comprising the further step of : updating said block diagram model by programmatically updating an operating point used to linearize said model
11. The medium of claim 8, comprising the further step of; updating said block diagram model by programmatically updating the block data.
12. The medium of claim 8, wherein said design tool comprises at least one of the group of an open loop tool, a closed loop tool, a Bode plot tool, a Nichols plot tool, a root/locus tool, a discretization tool, and a tuning tool.
13. The medium of claim 12 wherein said method further comprises the step of: initiating execution of a closed loop response viewer.
14. The medium of claim 8, said method further comprising, before said selecting a block step, the step of: providing a plant model and control structure.
15. The medium of claim 8, said method further comprising, the step of: selecting an operating point to linearize the model.
16. The medium of claim 8, wherein selecting a block step is performed in a graphical environment.
17. The medium of claim 8, wherein said linear model is programmatically extracted using one of exact small scale linearization, black box linearization and large scale linearization.
18. A medium holding electronic device executable steps for a method, said method comprising the steps of: providing a graphical view of a block diagram model which includes a control system; selecting a subset of blocks representing a controller for a plant; programmatically extracting a linear model from said block diagram model relative to said control system; and updating programmatically said block diagram model by importing at least one characteristic of said at least one controller into said block diagram model.
19. The medium of claim 18 wherein said method further comprises, before said extracting step, the step of: estimating an operating point in said model.
20. The medium of claim 19 wherein said model is updated by updating programmatically said operating point.
21. The medium of claim 19 wherein said model is updated by updating a data value for a block in said model.
22. The medium of claim 21, wherein said updating step includes writing coefficients to a block dialog.
23. The medium of claim 22, wherein said updating step includes parametrizing the controller in a block dialog.
24. The medium of claim 22, wherein said updating step includes creating a controller variable in a block dialog.
25. The medium of claim 18, said method further comprising, before said extracting step, the step of: entering a design criteria.
26. The medium of claim 18 wherein said method further comprises the steps of: applying a design tool to said linear model; designing said at least one controller and at least one of a performance constraint on a signal and a design specification on the dynamics of the control system, the performance constraint and design specification being transformed to be used directly in the design tool.
27. A medium holding electronic device executable steps for a method, said method comprising the steps of: providing a graphical view of a block diagram model which includes a control system; selecting a subset of blocks representing a controller for a plant; specifying one of a performance constraint for a first signal relating to the controller and design specification for the dynamics of the control system; programmatically extracting a linear model from said block diagram model relative to said controller; and updating programmatically said block diagram model by importing at least one characteristic of said at least one controller into said block diagram model, and importing said linear model into a design tool.
28. In an electronic device, a method of extracting a linear model from a block diagram model, said method comprising the steps of: providing a graphical view of a block diagram model which includes a control system; selecting a subset of blocks representing a controller for a plant; programmatically extracting a linear model from said block diagram model relative to said controller; and programmatically importing said linear model into a design tool.
29. The method of claim 28, wherein said design tool comprises at least one of the group of an open loop tool, a closed loop tool, a Bode plot tool, a Nichols plot tool, a root/locus tool, a discretization tool, and a tuning tool.
30. The method of claim 28, comprising the further step of:: updating programmatically said block diagram model based on the results of an analysis performed on said linear model.
31. The method of claim 30, comprising the further step of: updating said block diagram model by programmatically updating an operating point used to linearize said model
32. The method of claim 30, comprising the further step of: updating said block diagram model by programmatically updating the block data.
33. The method of claim 28, comprising the further step of: specifying one of a performance constraint for said first signal and a design specification for the dynamics of the controller;
34. The method of claim 28 wherein said one of a performance constraint for said first signal and a design specification for the dynamics of the control system are programmatically mapped to the design tool.
35. In an electronic device, a method of extracting a linear model from a block diagram model, said method comprising the steps of: selecting a block representative of a controller in a block diagram model; selecting a first signal relating to said controller; specifying one of a performance constraint for said first signal and design specification for the dynamics of the control system; extracting programmatically a linear model of said block diagram model based on said controller; and mapping programmatically said one of a performance constraint for said first signal and design specification for the dynamics of the control system to a design tool.
36. The method of claim 35, comprising the further step of: updating programmatically said block diagram model based on the results of an analysis performed on said linear model.
37. The method of claim 36, comprising the further step of: updating said block diagram model by programmatically updating an operating point used to linearize said model
38. The method of claim 35, comprising the further step of; updating said block diagram model by programmatically updating the block data.
39. The method of claim 35, wherein said design tool comprises at least one of the group of an open loop tool, a closed loop tool, a Bode plot tool, a Nichols plot tool, a root/locus tool, a discretization tool, and a tuning tool.
40. The method of claim 39, comprising the further step of: initiating execution of a closed loop response viewer.
41. The method of claim 35, said method further comprising, before said selecting a block step, the step of: providing a plant model and control structure.
42. The method of claim 35, said method further comprising, the step of: selecting an operating point to linearize the model.
43. The method of claim 35, wherein selecting a block step is performed in a graphical environment.
44. The method of claim 35, wherein said linear model is programmatically extracted using one of exact small scale linearization, black box linearization and large scale linearization.
45. A method of extracting a linear model from a block diagram, said method comprising the steps of: providing a graphical view of a block diagram model which includes a control system; selecting a subset of blocks representing a controller for a plant; extracting a linear model from said block diagram model relative to said controller; and updating programmatically said block diagram model by importing at least one characteristic of said at least one controller into said block diagram model.
46. The method of claim 45 wherein said method further comprises, before said extracting step, the step of: estimating an operating point in said model.
47. The method of claim 46 wherein said model is updated by updating programmatically said operating point.
48. The method of claim 46 wherein said model is updated by updating a data value for a block in said model.
49. The method of claim 48, wherein said updating step includes writing coefficients to a block dialog.
50. The method of claim 49, wherein said updating step includes parameterizing the controller in a block dialog.
51. The method of claim 49, wherein said updating step includes creating a controller variable in a block dialog.
52. The method of claim 45, said method further comprising, before said extracting step, the step of: entering a design criteria.
53. The method of claim 45 comprising the further step of: applying a design tool to said linear model; designing said at least one controller and at least one of a performance constraint on a signal and a design specification on the dynamics of the control system, the performance constraint and design specification being transformed to be used directly in the design tool.
54. A method of extracting a linear model from a block diagram model, said method comprising the steps of: providing a graphical view of a block diagram model which includes a control system; selecting a subset of blocks representing a controller for a plant; specifying one of a performance constraint for a first signal relating to the controller and design specification for the dynamics of the control system; extracting a linear model from said block diagram model relative to said controller; updating programmatically said block diagram model by importing at least one characteristic of said at least one controller into said block diagram model, and importing said linear model into a design tool.
PCT/US2005/041694 2004-11-17 2005-11-16 Method for analysis of control systems WO2006078345A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP05856968A EP1817646A2 (en) 2004-11-17 2005-11-16 Method for analysis of control systems
JP2007543240A JP5028268B2 (en) 2004-11-17 2005-11-16 Method for analysis of control systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/991,899 US7890310B2 (en) 2004-11-17 2004-11-17 Method for analysis of control systems
US10/991,899 2004-11-17

Publications (2)

Publication Number Publication Date
WO2006078345A2 true WO2006078345A2 (en) 2006-07-27
WO2006078345A3 WO2006078345A3 (en) 2006-09-21

Family

ID=36462327

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/041694 WO2006078345A2 (en) 2004-11-17 2005-11-16 Method for analysis of control systems

Country Status (4)

Country Link
US (2) US7890310B2 (en)
EP (1) EP1817646A2 (en)
JP (1) JP5028268B2 (en)
WO (1) WO2006078345A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549328B (en) * 2018-03-22 2020-05-26 汇川技术(东莞)有限公司 Self-adaptive speed planning method and system

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1343061A1 (en) * 2002-03-08 2003-09-10 Siemens Aktiengesellschaft Method for simulating a technical system and simulator
US7890198B1 (en) * 2004-06-15 2011-02-15 The Mathworks, Inc. Tool for design of multiple single-input-single-output control loops
US7496895B1 (en) * 2004-12-29 2009-02-24 The Mathworks, Inc. Multi-domain unified debugger
US7539604B1 (en) * 2005-10-17 2009-05-26 The Mathworks, Inc. Automatic modification of the behavior of system from a graphical representation of the behavior
US7865254B2 (en) * 2007-01-11 2011-01-04 The Mathworks, Inc. Modeling of control systems with open-loop representations and factorization of components
US8761975B2 (en) 2007-05-23 2014-06-24 The Boeing Company Method and apparatus for real-time polars
US8913000B2 (en) 2007-06-15 2014-12-16 Ricoh Co., Ltd. Video playback on electronic paper displays
US8319766B2 (en) * 2007-06-15 2012-11-27 Ricoh Co., Ltd. Spatially masked update for electronic paper displays
US8203547B2 (en) 2007-06-15 2012-06-19 Ricoh Co. Ltd Video playback on electronic paper displays
US8279232B2 (en) * 2007-06-15 2012-10-02 Ricoh Co., Ltd. Full framebuffer for electronic paper displays
US8355018B2 (en) * 2007-06-15 2013-01-15 Ricoh Co., Ltd. Independent pixel waveforms for updating electronic paper displays
US8416197B2 (en) * 2007-06-15 2013-04-09 Ricoh Co., Ltd Pen tracking and low latency display updates on electronic paper displays
US7962317B1 (en) * 2007-07-16 2011-06-14 The Math Works, Inc. Analytic linearization for system design
US8661983B1 (en) 2007-07-26 2014-03-04 Kimball Rustin Scarr Ring airfoil glider with augmented stability
US7970482B2 (en) * 2007-08-09 2011-06-28 Honeywell International Inc. Method and system for process control
WO2009046726A1 (en) * 2007-09-25 2009-04-16 Siemens Aktiengesellschaft System and method for modeling signal flows in automation technology equipment
EP2110722A1 (en) * 2008-04-17 2009-10-21 Siemens Aktiengesellschaft System for simulating automation systems
US8538899B1 (en) * 2010-03-09 2013-09-17 The Mathworks, Inc. Model-to-data and data-to-model traceability
US8606375B2 (en) * 2010-06-04 2013-12-10 The Mathworks, Inc. Interactive control of multiple input multiple output control structures
US8682453B2 (en) * 2010-06-04 2014-03-25 The Mathworks, Inc. Interactive system for controlling multiple input multiple output control (MIMO) structures
US9280146B2 (en) * 2011-02-14 2016-03-08 The Mathworks, Inc. Multi-model, multi-objective tuning of control systems
US20140214373A1 (en) * 2013-01-30 2014-07-31 The Mathworks, Inc. Framework for solving trajectory optimization problems
US9157741B2 (en) * 2013-03-14 2015-10-13 Raytheon Company Simulator for simulating the operation of a fiber optic gyroscope
TWI492009B (en) * 2013-06-20 2015-07-11 中國鋼鐵股份有限公司 Tuning method of a cascade control system
WO2015144207A1 (en) * 2014-03-25 2015-10-01 Siemens Aktiengesellschaft Automated verification of devices
US9606092B2 (en) 2014-08-07 2017-03-28 Cummins Emission Solutions, Inc. NOx sensor diagnosis system and method
EP3107212B1 (en) * 2015-06-16 2018-04-25 Framatome Field programmable gate array comprising plurality of functional blocks and control device for a power plant
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
US10532767B2 (en) * 2017-12-13 2020-01-14 GM Global Technology Operations LLC Systems and methods for determining steering performance
US10768585B2 (en) 2018-06-13 2020-09-08 Mitsubishi Electric Research Laboratories, Inc. System and method for data-driven control with partially unknown feedback
CN110083059B (en) * 2019-04-01 2022-04-22 河海大学常州校区 Discrete time sliding mode incomplete robot stabilization control method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004001575A1 (en) * 2002-06-24 2003-12-31 National Instruments Corporation Task based polymorphic graphical program function nodes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2031765C (en) * 1989-12-08 1996-02-20 Masahide Nomura Method and system for performing control conforming with characteristics of controlled system
JPH05150803A (en) * 1991-11-26 1993-06-18 Yokogawa Electric Corp Process identifying device
US6285972B1 (en) * 1998-10-21 2001-09-04 Mts Systems Corporation Generating a nonlinear model and generating drive signals for simulation testing using the same
US6718533B1 (en) * 1999-02-26 2004-04-06 Real-Time Innovations, Inc. Method for building a real-time control system with mode and logical rate
US6330483B1 (en) * 1999-05-07 2001-12-11 The Boeing Company Optimal control system
US20030046045A1 (en) * 2001-09-06 2003-03-06 Lawrence Pileggi Method and apparatus for analysing and modeling of analog systems
US7072808B2 (en) * 2002-02-04 2006-07-04 Tuszynski Steve W Manufacturing design and process analysis system
KR100507835B1 (en) * 2003-02-03 2005-08-17 한국과학기술원 A Being Most Suitable Gain Selection Method of PID Controller
US7412366B1 (en) * 2003-07-18 2008-08-12 The Mathworks, Inc. Rate grouping during code generation for multi-rate models
WO2005013070A2 (en) * 2003-07-30 2005-02-10 Tuszynski Steve W Manufacturing design and process analysis and simulation system
US7444604B2 (en) * 2003-09-26 2008-10-28 Nascentric, Inc. Apparatus and methods for simulation of electronic circuitry
US20050193739A1 (en) * 2004-03-02 2005-09-08 General Electric Company Model-based control systems and methods for gas turbine engines
US7363094B2 (en) * 2006-01-09 2008-04-22 General Electric Company Multivariable controller design method for multiple input/outputs systems with multiple input/output constraints
US7437691B2 (en) * 2006-04-11 2008-10-14 International Business Machines Corporation VLSI artwork legalization for hierarchical designs with multiple grid constraints

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004001575A1 (en) * 2002-06-24 2003-12-31 National Instruments Corporation Task based polymorphic graphical program function nodes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"LabView, Control Design Toolkit User Manual" April 2004 (2004-04), NATIONAL INSTRUMENTS , AUSTIN, TEXAS , XP002386352 the whole document *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549328B (en) * 2018-03-22 2020-05-26 汇川技术(东莞)有限公司 Self-adaptive speed planning method and system

Also Published As

Publication number Publication date
US20090012773A1 (en) 2009-01-08
JP5028268B2 (en) 2012-09-19
US7890310B2 (en) 2011-02-15
EP1817646A2 (en) 2007-08-15
JP2008521138A (en) 2008-06-19
US20060112382A1 (en) 2006-05-25
WO2006078345A3 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
US7890310B2 (en) Method for analysis of control systems
Ledin Hardware-in-the-loop simulation
EP1917582B1 (en) Virtual testing in a development environment
US7865254B2 (en) Modeling of control systems with open-loop representations and factorization of components
EP1966687A2 (en) Digital effects analysis in modeling environments
US8656345B2 (en) Managing hardware implementation and deployment of a graphical program
US7890198B1 (en) Tool for design of multiple single-input-single-output control loops
Miller et al. 23 Real-Time Simulation of Physical Systems Using Simscape™
US9158291B1 (en) Automatic H-infinity optimization for multivariable control systems
Maute et al. An interactive method for the selection of design criteria and the formulation of optimization problems in computer aided optimal design
Gumussoy et al. Computation of extremum singular values and the strong H-infinity norm of SISO time-delay systems
US20130247019A1 (en) Specifying Memory Resource Implementations for Deployment of a Graphical Program to Programmable Hardware
US8676551B1 (en) Multi-solver simulation of dynamic systems in a modeling environment
Leros et al. Matlab-Octave science and engineering benchmarking and comparison
Walker et al. Computer-aided engineering (CAE) for system analysis
Halvorsen Control and simulation in LabView
Hensel et al. Generator for modular virtual sensors
Margolis A Sweeping Gradient Method for Ordinary Differential Equations with Events
Saxena et al. User-friendly MATLAB based graphical user interface for performance analysis of control system
Said et al. Modeling and control of mechanical systems in simulink of matlab
Bursi Computational techniques for simulation of monolithic and heterogeneous structural dynamic systems
Gumussoy et al. Working with Time-Delay Systems in MATLAB®
Maghami et al. PLATSIM: An efficient linear simulation and analysis package for large-order flexible systems
Soini Modeling and Simulation Practices in Control System Software Development
Andersen et al. Integrated Models

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2007543240

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005856968

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005856968

Country of ref document: EP