CA2835505C - Method and apparatus for artificially intelligent model-based control of dynamic processes using probabilistic agents - Google Patents
Method and apparatus for artificially intelligent model-based control of dynamic processes using probabilistic agents Download PDFInfo
- Publication number
- CA2835505C CA2835505C CA2835505A CA2835505A CA2835505C CA 2835505 C CA2835505 C CA 2835505C CA 2835505 A CA2835505 A CA 2835505A CA 2835505 A CA2835505 A CA 2835505A CA 2835505 C CA2835505 C CA 2835505C
- Authority
- CA
- Canada
- Prior art keywords
- agent
- deviation
- model
- agents
- diagnostic
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
A system and method for controlling a process such as an oil production process is disclosed. The system comprises multiple intelligent agents for processing data received from a plurality sensors deployed in a job site of an oil well, and applies a probabilistic model for evaluating risk and recommending appropriate control action to the process.
Description
1 "METHOD AND APPARATUS FOR ARTIFICIALLY INTELLIGENT
2 MODEL-BASED CONTROL OF DYNAMIC PROCESSES USING
3 PROBABILISTIC AGENTS"
4 FIELD
6 Embodiments taught herein relate generally to methods and 7 apparatus for controlling complex equipment and dynamic processes and, more 8 particularly, to methods and apparatus for controlling said equipment and processes 9 with greater certainty for decision making during the controlling hereof.
12 Complex industrial equipment is often critical to production operations 13 with significant upstream and downstream effects in the event of performance 14 losses or equipment failure. Sensor and equipment failures, sensor calibration drift, varying process parameters and changes or disturbances in operating conditions or 16 environment can all contribute to production problems and losses.
17 The fusion of sensors, equipment and dynamic processes, some of 18 which cannot be measured cost effectively or at all, make it very difficult for 19 production operations to identify, let alone remediate equipment and production problems. As a consequence, many companies require skilled operators or 21 contractors to observe and identify problems and determine which actions or 22 solutions to implement. Often sufficient information is not available on a timely 23 basis, however decisions are still required.
1 Traditionally advanced control systems use defined models of 2 processes to correct for process variations or disturbances. It can often be difficult, 3 or not possible at all, to accurately determine, anticipate or identify the causality of 4 variations or disturbances. Determining the best possible course of action under these circumstances is even more difficult especially when control action based on 6 incorrect diagnosis can place the process or the product at risk.
7 As taught by Ken Schwaber and Mike Beedle in Agile Software 8 Development with Scrum, (2002) Upper Saddle River: Prentice Hall, p. 25, 9 13-067634-9, retrieved 2007-07-06:
The defined process control model requires that every piece of work be 11 completely understood. Given a well-defined set of inputs, the same 12 outputs are generated every time. A defined process can be started and 13 allowed to run until completion, with the same results every 14 tiMe."http://en.wikipedia.org/wiki/Defined process - cite note-1 Model predictive control techniques typically require the nature of 16 disturbances to be known in advance in order to provide control direction to bring 17 the process back within its normal operating envelope. Such techniques also 18 require the parameters of the model to be accurately tuned such that inputs to the 19 model generate accurate and relevant outputs. Such applications require significant upkeep by highly skilled and knowledgeable individuals unless they are highly 21 stable.
1 Such advanced control techniques are typically addressed with an 2 exhaustive set of logical or knowledge based rules to try and identify with certainty 3 what the cause is and the best course of action to implement. Multiple contributions 4 to an observable problem can create sufficient uncertainty that these systems cannot perform or there are simply too many variations to exhaustively catalog. In 6 addition, the computational requirements to diagnose and determine appropriate 7 corrective action can interfere with the performance of time sensitive process 8 monitoring and control.
9 Addressing these issues requires a hardware and software platform capable of identifying and prioritizing real time control actions while executing 11 advanced Artificial Intelligence (Al) methods that enable diagnostics and decision 12 making in uncertain conditions.
13 Pattern recognition is a common feature in artificial intelligence and 14 machine learning applications. In general it is used to assign a label or classification to a given input value by performing "most likely" matching of the inputs, taking into 16 account their statistical variation. It is often confused with pattern matching which 17 looks for exact matches in the data input with pre-existing pattern(s) such as is 18 taught in US Patent 7,818,276 Veillette.
19 Pattern recognition is a technique typically devoid of a true understanding of the physical data. Relying solely on pattern recognition to classify 21 a variation or a disturbance to a process for the basis of a control action is akin to 22 taking a blind risk.
1 There is a need for apparatus and methods for controlling dynamic 2 processes such that sufficient confidence and certainty in the process state exists 3 so that automated control action can be taken with acceptable levels of risk.
7 Figure 1 is a flowchart illustrating an embodiment of a hierarchical 8 structure of an Intelligent Agent (IA) network having several types of intelligent 9 agents for control and optimization of an apparatus and process, in the context of a sucker rod pump controller for oil wells;
11 Figure 2 is a functional diagram of a Status Agent illustrating the 12 interaction of a Status Agent (of Fig. 2-2) with the Data and Modelling Agent, 13 Diagnostic Agents (Fig. 2-1) and a Parameter Tuning Agent (Fig 2-2), in an 14 embodiment according to Fig. 1;
Figure 3 is a timing diagram for an implementation with a cyclic 16 pumping process wherein the supervisory agent is monitoring the streamed data 17 from the process at time increments (Fig 3-1) intermediate a cycle and performing 18 testing, probabilistic classification for recruiting appropriate Control Agents as 19 necessary, learning and updating agents (Fig. 3-2) and further monitoring the cycle as a whole (Fig. 3-2 and 3-3) classifying the results on a probabilistic basis to 21 intelligently control the cycle and manage deviations;
Figure 4 is a flowchart illustrating prioritization and triggering of 2 Diagnostic Agents by an Al Manager (Fig. 4-1) and based on real time observations 3 and triggers from a Data & Modeling Agent (Fig. 4-2), the Status Agent (Fig.
4-1) 4 conducting probabilistic analysis to determine the causality of deviation, prioritizing and selecting likely diagnostic agents based on process parameters, learning from 6 solutions, updating models and issuing control instructions based on acceptable risk 7 of process disruption or failure;
Figure 5 is a diagrammatic representation of an ideal pump cycle, a 9 known diagnostic for gas interference, and an observed pump cycle, the system conducting a determination, by PGM, of the state of the cycle of the pump and the 11 likelihood that the gas interference agent (Fig. 6, 6-3) should be invoked;
Figure 6 is a flow diagram of optional and possible Diagnostic Agents 13 that could be recruited upon the identification of any potential variation or deviation 14 from normal or predicted operation in a pump operation such as an external disturbance or a change in process conditions or parameters as determined by a 16 Status Agent of Fig. 1, Agents for well parameters (Fig. 6-1), rod fatigue monitoring 17 and gas interference (Fig .6-2) being shown, each Agent also able to select through 18 a probabilistic determination which tests and known actors might be at play;
Figures 7A and 7B illustrate three-dimensional (3D) plots of the forces on a rod string over the entire cycle, the surface shown in Fig. 7A being typically 21 colorized (Fig. 7B) to show the Goodman loading for each section of the rod string
6 Embodiments taught herein relate generally to methods and 7 apparatus for controlling complex equipment and dynamic processes and, more 8 particularly, to methods and apparatus for controlling said equipment and processes 9 with greater certainty for decision making during the controlling hereof.
12 Complex industrial equipment is often critical to production operations 13 with significant upstream and downstream effects in the event of performance 14 losses or equipment failure. Sensor and equipment failures, sensor calibration drift, varying process parameters and changes or disturbances in operating conditions or 16 environment can all contribute to production problems and losses.
17 The fusion of sensors, equipment and dynamic processes, some of 18 which cannot be measured cost effectively or at all, make it very difficult for 19 production operations to identify, let alone remediate equipment and production problems. As a consequence, many companies require skilled operators or 21 contractors to observe and identify problems and determine which actions or 22 solutions to implement. Often sufficient information is not available on a timely 23 basis, however decisions are still required.
1 Traditionally advanced control systems use defined models of 2 processes to correct for process variations or disturbances. It can often be difficult, 3 or not possible at all, to accurately determine, anticipate or identify the causality of 4 variations or disturbances. Determining the best possible course of action under these circumstances is even more difficult especially when control action based on 6 incorrect diagnosis can place the process or the product at risk.
7 As taught by Ken Schwaber and Mike Beedle in Agile Software 8 Development with Scrum, (2002) Upper Saddle River: Prentice Hall, p. 25, 9 13-067634-9, retrieved 2007-07-06:
The defined process control model requires that every piece of work be 11 completely understood. Given a well-defined set of inputs, the same 12 outputs are generated every time. A defined process can be started and 13 allowed to run until completion, with the same results every 14 tiMe."http://en.wikipedia.org/wiki/Defined process - cite note-1 Model predictive control techniques typically require the nature of 16 disturbances to be known in advance in order to provide control direction to bring 17 the process back within its normal operating envelope. Such techniques also 18 require the parameters of the model to be accurately tuned such that inputs to the 19 model generate accurate and relevant outputs. Such applications require significant upkeep by highly skilled and knowledgeable individuals unless they are highly 21 stable.
1 Such advanced control techniques are typically addressed with an 2 exhaustive set of logical or knowledge based rules to try and identify with certainty 3 what the cause is and the best course of action to implement. Multiple contributions 4 to an observable problem can create sufficient uncertainty that these systems cannot perform or there are simply too many variations to exhaustively catalog. In 6 addition, the computational requirements to diagnose and determine appropriate 7 corrective action can interfere with the performance of time sensitive process 8 monitoring and control.
9 Addressing these issues requires a hardware and software platform capable of identifying and prioritizing real time control actions while executing 11 advanced Artificial Intelligence (Al) methods that enable diagnostics and decision 12 making in uncertain conditions.
13 Pattern recognition is a common feature in artificial intelligence and 14 machine learning applications. In general it is used to assign a label or classification to a given input value by performing "most likely" matching of the inputs, taking into 16 account their statistical variation. It is often confused with pattern matching which 17 looks for exact matches in the data input with pre-existing pattern(s) such as is 18 taught in US Patent 7,818,276 Veillette.
19 Pattern recognition is a technique typically devoid of a true understanding of the physical data. Relying solely on pattern recognition to classify 21 a variation or a disturbance to a process for the basis of a control action is akin to 22 taking a blind risk.
1 There is a need for apparatus and methods for controlling dynamic 2 processes such that sufficient confidence and certainty in the process state exists 3 so that automated control action can be taken with acceptable levels of risk.
7 Figure 1 is a flowchart illustrating an embodiment of a hierarchical 8 structure of an Intelligent Agent (IA) network having several types of intelligent 9 agents for control and optimization of an apparatus and process, in the context of a sucker rod pump controller for oil wells;
11 Figure 2 is a functional diagram of a Status Agent illustrating the 12 interaction of a Status Agent (of Fig. 2-2) with the Data and Modelling Agent, 13 Diagnostic Agents (Fig. 2-1) and a Parameter Tuning Agent (Fig 2-2), in an 14 embodiment according to Fig. 1;
Figure 3 is a timing diagram for an implementation with a cyclic 16 pumping process wherein the supervisory agent is monitoring the streamed data 17 from the process at time increments (Fig 3-1) intermediate a cycle and performing 18 testing, probabilistic classification for recruiting appropriate Control Agents as 19 necessary, learning and updating agents (Fig. 3-2) and further monitoring the cycle as a whole (Fig. 3-2 and 3-3) classifying the results on a probabilistic basis to 21 intelligently control the cycle and manage deviations;
Figure 4 is a flowchart illustrating prioritization and triggering of 2 Diagnostic Agents by an Al Manager (Fig. 4-1) and based on real time observations 3 and triggers from a Data & Modeling Agent (Fig. 4-2), the Status Agent (Fig.
4-1) 4 conducting probabilistic analysis to determine the causality of deviation, prioritizing and selecting likely diagnostic agents based on process parameters, learning from 6 solutions, updating models and issuing control instructions based on acceptable risk 7 of process disruption or failure;
Figure 5 is a diagrammatic representation of an ideal pump cycle, a 9 known diagnostic for gas interference, and an observed pump cycle, the system conducting a determination, by PGM, of the state of the cycle of the pump and the 11 likelihood that the gas interference agent (Fig. 6, 6-3) should be invoked;
Figure 6 is a flow diagram of optional and possible Diagnostic Agents 13 that could be recruited upon the identification of any potential variation or deviation 14 from normal or predicted operation in a pump operation such as an external disturbance or a change in process conditions or parameters as determined by a 16 Status Agent of Fig. 1, Agents for well parameters (Fig. 6-1), rod fatigue monitoring 17 and gas interference (Fig .6-2) being shown, each Agent also able to select through 18 a probabilistic determination which tests and known actors might be at play;
Figures 7A and 7B illustrate three-dimensional (3D) plots of the forces on a rod string over the entire cycle, the surface shown in Fig. 7A being typically 21 colorized (Fig. 7B) to show the Goodman loading for each section of the rod string
5 1 throughout the cycle enabling a user to easily identify where in the stroke the rod 2 string is being overstressed;
3 Figure 8 is a diagrammatic representation of a grouping of a variety of 4 nodes that could be used to represent values in the process, model and metrics according to the pump embodiment of Fig. 1;
3 Figure 8 is a diagrammatic representation of a grouping of a variety of 4 nodes that could be used to represent values in the process, model and metrics according to the pump embodiment of Fig. 1;
6 Figure 9 illustrates the learning of a structure resulting from the
7 combining of first and second components to provide a causal Probabilistic
8 Graphical Model;
9 Figure 10 is a diagrammatic representation of a role of a Control Agent in evaluating, establishing risk of specified actions and recommending 11 appropriate control action based on diagnostic results (Fig .10-1) and further input 12 from Optimization and Diagnostic Agent(s) (Fig. 10-2) for possible optimization 13 opportunities prior to the precise control action to be taken;
14 Figure 11 is a diagrammatic representation of a possible configuration for a Probabilistic Graphical Network for the pump embodiment of Fig 1, namely 16 using probabilistic methods for determining causality and implementing control 17 actions given the means for control, risk and consequences of the actions including 18 objectives to optimize performance balanced with considerations to opposing 19 objectives; and Figure 12 is a hardware diagram illustrating an embodiment having 21 several components for establishing real time monitoring, network communications 22 and process control whether they be local, remote or a combination thereof.
There is provided an artificially intelligent model-based controller (AIMC) that undertakes an analytic validation of the results of a classification by an intelligent agent and to combine that with other observations of process variables to establish, as deterministically, as possible the diagnosis of the process state and its underlying causes such that sufficient confidence in the process state exists so that 7 automated control action can be taken with acceptable levels of risk.
8 In one aspect of the invention a system is provided controlling a 9 process in response to data collected from a plurality of sensors, said system comprising: a status agent for monitoring the status of the system based on data collected from the sensors; at least one diagnostic agent for diagnosing at least a portion of the system and collecting diagnostic data from the sensors to identify deviation from normal operation; a control agent for performing control actions to 14 the process; and a supervisory manager coupling to the status agent, the at least one diagnostic agent and the control agent. The supervisory manager receives real 16 time process data generated from the process; compares against a predictive objective function and/or a historical mean and/or a predicted operational envelope 18 and/or a predetermined static function for establishing any deviation from normal operation; applies probabilistic modeling at the status agent for classifying the source and likely cause of the deviation; prioritizes actuation of the at least one diagnostic agent related to causality of the deviation; modifies the probabilistic model of the status agent from the results from the at least one diagnostic agent;
1 and applies a probabilistic model at a control agent for evaluating risk and 2 recommending appropriate control action to the process.
3 In another aspect of the invention, a method for controlling a process 4 comprises: receiving real time process data generated from the process;
comparing against a predictive objective function and/or a historical mean and/or a predicted 6 operational envelope and/or a predetermined static function for establishing any 7 deviation from normal operation; applying probabilistic modeling at a status agent 8 for classifying the source and likely cause of the deviation;
prioritizing actuation of at 9 least one or more diagnostic agents related to causality of the deviation at a supervisory manager; communicating the results of the diagnostic agents to the 11 supervisory manager; modifying the probabilistic model of the status agent from the 12 results from the one or more diagnostic agents; and applying a probabilistic model 13 at a control agent for evaluating risk and recommending and initiating an 14 appropriate control action to the process.
17 Embodiments taught herein utilize an artificially intelligent model-18 based controller (AIMC) to undertake an analytic validation of the results of a 19 classification by an intelligent agent and combine that with other observations of process variables to establish as deterministically as possible the diagnosis of the 21 process state and its underlying causes such that sufficient confidence in the 1 process state exists so automated control action can be taken with acceptable 2 levels of risk.
3 A collection of probabilistic methods and pattern recognition 4 techniques are utilized to provide a hybrid monitoring and control system that incorporates stochastic understanding of the process with machine learning 6 techniques to make process control decisions under uncertainty as deterministically 7 as possible.
8 Embodiments of the system have incorporated Probabilistic Graphical 9 Networks (PGN), such as Bayesian networks, and time series pattern regonition techniques and the like, to structure and evaluate the classification and diagnosis of 11 the current state of the process by utilizing process variables, states and the 12 outcomes of tests including relevant analytical models of processes, process sub 13 systems or disturbances to validate the likelihood of the various classifications.
14 Applicant believes that the process model(s) should be accurately tuned to reflect current operating conditions for the embodiments described herein 16 to perform optimally . Thus, a similar methodology is applied to the process model 17 where normal process operation is observed and compared to past observations to 18 detect drift of process parameters. Process simulations or a statistical 19 representation of process outputs resulting from process parameter drifts are compared against current observations and used to identify, validate and update 21 changes to the process model(s).
Additionally, a process simulation can be utilized to map exhaustively, 2 or selectively, the process response to process variables, their range of operation 3 and potential deviations such that changes to a process can be determined probabilistically and represented as a PGN, potentially via machine learning techniques. When combined with historical observations of the process, parameter 6 tuning or process optimization is enabled that is highly deterministic in nature 7 without exhaustive simulations and/or numerical methods in real time.
8 Using machine learning techniques, process responses such as 9 energy consumption or production output could be represented in a PGN and used to provide guidance to a numerical optimization means. The guidance could encompass identifying a compact range for the numerical search to converge on an 12 optimal solution for the operating parameters or in the event of a process with high 13 levels of certainty, provide the optimal operating parameters directly to control. In an alternate embodiment, the process variables could be represented as Fourier series or other approximation means and a probabilistic mapping of the global responses 16 of the process could be generated as a function of these Fourier coefficients. This 17 provides a unique advantage over other optimization methods as it can greatly reduce the time required to determine a local or a global optimum for the process in 19 real time.
The probabilistic mapping of the process could be computed in the background of a processor controlling the process or on a separate processor which could also utilize parallel computing methods to reduce the elapsed time, and 2 generate the probability tables for the optimization PGN.
Furthermore, the determination of a control action is based on a decision analysis that incorporates the cost and risk associated with the possible decision choices including the risk of taking control action on an incorrect 6 classification or observation.
7 At the core of the AIMC system is a network of Intelligent Agents (lAs) 8 each performing a predetermined scope of analysis and managed by a central Al 9 Manager.
Embodiments described herein will be described generally and in the context of a sucker rod pump controller for oil wells for controlling and optimizing the operation thereof. Those of skill in the art will understand that AIMC
systems, based 13 upon the embodiments taught herein, are in no way limited only for controlling a sucker rod pump, but can be customized for use in any number of different types of dynamic processes in a wide variety of industries.
Having reference to Fig. 1, an embodiment of a hierarchical structure 17 of an IA network is shown having several types of agents in the context of control 18 and optimization of a sucker rod pump controller for oil wells.
19 One aspect of the AIMC system is the integration of single or multiple process models and model predictive control techniques in conjunction with multiple Intelligent Agents or agents (lAs). Each IA performs, directs and prioritizes specialized analysis, diagnosis and control direction utilizing probabilistic reasoning 1 methods such as probabilistic graphical models or Bayesian Networks. The Al 2 Manager initiates and prioritizes the various lAs to optimize processor utilization, 3 communicates the results of tests, diagnoses and control recommendations and 4 facilitates the learning capability via updates to the data and probability tables used by the PGNs or Bayesian Networks utilized by the various lAs.
6 Multiple applications of the system can be made to work 7 collaboratively, such as in the case of an oil field, where each well would have an 8 AIMC system which also shares knowledge and learning with other wells and with 9 higher level systems such as an intelligent field manager or Supervisory Control and Data Acquisition (SCADA) system. Even wells no on the same pad can benefit as 11 the sell data, pump dynacards and patterns can be normalized. The knowledge can 12 be shared by updating the probability tables within the PGNs; using the case 13 histories of other wells to train the PGNs at other wells using other machine learning 14 techniques, or through sharing of learned process parameters or patterns observed in process data. The SCADA may also provide control direction based on the data 16 and knowledge the SCADA receives collectively from the individual wells.
17 As previously noted, while the current implementation has been 18 initially applied to a sucker rod pump system and field of oil wells, it is recognized 19 that the technology could be applied to other processes where a process model can be utilized to ensure the optimal operation of the system from a production, 21 maintenance and economic viewpoint.
1 As computation capacity and programmability of most industrial controllers is typically too limited to implement modern Al techniques, a control 3 platform incorporates a run-to-completion, event driven operating system with a 4 non-blocking kernel that can prioritize the monitoring and control of time sensitive aspects of the control solution while running multiple algorithms or threads 6 incorporating artificial intelligence methods that may run synchronously or 7 asynchronously with a given process on a priority basis.
Embodiments implement a controller that is_scalable such that 9 computation can be distributed to addition processors, whether local or remote on embedded or PC computation platforms.
11 Such as controller can further connect to existing or proprietary controller networks to access and monitor process data and perform diagnostic and optimization tasks. This enables the technology described herein to be integrated 14 into existing or custom engineered systems and OEM products. Alternatively the AIMC system can incorporate digital or analog inputs (I/O) of its own in addition to accessing existing controllers or remote I/O modules. In one implementation, control direction is provided to industrial controllers that provide monitoring of I/O
18 and provide the basic control operation with independent safety interlocks and 19 permissives that are typical of that process.
The resulting technology enables diagnostic methods similar to that of automated medical diagnostic tools. While equipment is operating, the lAs run in the background identifying equipment and process issues, performing tests and 1 calculations to identify with acceptable certainty the operational state of the system 2 being monitored, the source(s) of any deviations from normal operation or 3 problems, the best course of action and implement the action and/or provide 4 operational guidance to operators, supervisors or other automated controllers.
The artificially intelligent model-based controller (AIMC) utilizes one or 6 more of a process model, historical process information and/or process-derived 7 state machines to monitor a process. The AIMC further uses a collection of 8 intelligent agents to identify process deviations and disturbances, classify, 9 determine and validate the nature or underlying causality for the disturbances utilizing PGN such as Bayesian Networks that operate synchronously or 11 asynchronously. The AIMC initiates optimization routines and determines control 12 direction utilizing risk assessment and decision analysis with PGN or Bayesian 13 Networks. Operations of the AIMC are coordinated via a central Al Manager that 14 initiates and prioritizes the various agents.
1 Overview of Intelligent Agents (lAs) 2 Embodiments taught herein utilize a variety of lAs, including but not 3 limited to, the Al Manager, the SCADA Manager, Data and Modeling Agents, Status 4 Agents, Diagnostic Agents, Model Tuning Agents, Optimization Agents and Control Strategy Agents.
6 The basic structure of an IA is a statistical or probabilistic causality 7 model with supporting algorithms and software methods to enable updates of the 8 IA's probability tables, entry of states for node values in a Probabilistic Graphical 9 Model (PGM) and execution of queries. These agents IA may include additional algorithms and methods such as such pattern recognition, numerical methods to 11 estimate process parameters or optimize process operation as well as those to 12 monitor, test and classify observations. In an embodiment, the AIMC
contains a 13 causality model which is a Probabilistic Graphical Model (PGM) in the form of a 14 Bayesian Net or undirected probabilistic network such as a Markov net, however there are other implementations of PGNs that could be used to perform these 16 functions and are known to those skilled in the art.
17 A typical operation of an intelligent agent includes the following:
18 = receiving incoming data;
19 = if required use algorithms to further analyze the data;
= update any probability tables;
21 = calculate or solve statistical or probabilistic causality model;
22 = determine whether a decision or direction has been reached;
1 = if not, identify additional tests or data required;
2 = report to Al Manager; and 3 = wait for further instructions or data from Al Manager until a 4 resolution has been reached.
Depending on the process and the different diagnostic complexities, 6 multiple lAs of each type of IA may be deployed. The activation and execution of 7 the Ms are controlled on a priority basis that is statistically or probabilistically determined. Alternately, lAs may be broken into separate or sub-agents to reduce 9 their complexity and/or enhance their capabilities. For example, a data and modeling agent may be split into a separate IA for managing and testing historical 11 data and a separate IA for managing and testing real-time or streaming data. A
12 Diagnostic Agent and its PGN may constructed in an object-oriented manner 13 wherein it comprised multiple sub-PGNs, each for a range of potential diagnoses, 14 that can be run individually as separate agents or as part of a larger more encompassing PGN in a single agent. One example of multiple sub-agents under 16 an encompassing agent is an object-oriented Bayesian Network (00BN). A PGN
17 may be represented as a single node in a larger PGN network. The PGN can be run 18 on its own or in conjunction with others.
Implementation 21 Having reference to Fig. 2, a functional diagram of a Status Agent 22 illustrates the interaction of the Status Agent with a Diagnostic Agent and a 1 Parameter Tuning Agent. Further, Fig. 3 illustrates a timing diagram for the 2 embodiment of Fig. 1, being set forth in the context of a cyclic pumping process.
3 A functional diagram of the Status Agent showing its interaction with 4 the Diagnostic and Parameter Tuning Agents is shown in Figure 2. A timing diagram for the implementation with a cyclic pumping process is shown in Figure 3.
6 In summary, general application of the roles of the agents is similar to 7 that set forth in the context of an oil well pumpjack.
8 The system comprises comparing real time data to statistical and/or 9 historical profiles of the process or a simulated profile of the process, taking into account operational variance and thereby identifying deviations. The Status Agent 11 tracks the progress and the specific states of the process. Pattern recognition, drift 12 from the operational envelope, and metrics of the deviation are in a classifier to 13 identify probable diagnostic agents to trigger including a parameter tuning agent.
14 The Al Manager triggers the appropriate diagnostic agents and receives the results.
Diagnostic Agents with causal process-specific PGNs identify probable causes for 16 the deviation and their likelihood.
17 The Al Manager compares the probabilities of the various Diagnostic 18 Agents and updates the Status Agent of the diagnosis of high certainty or initiates 19 additional tests if the level of uncertainty is too high to differentiate a likely cause.
The Al Manager may further initiate the Model Tuning agent based on the output of 21 the diagnostic agents. Control strategy agents assess opportunity and/or risk of 22 control action based on the probability of one or more diagnoses and recommends 1 a control action based on the opportunity /risk analysis. Further, Optimization 2 agents may be triggered prior to a control action being implemented to optimize or 3 determine the precise control action to be taken.
Detailed Agent Description 6 As previously noted, the lAs are described herein in the context of the 7 sucker rod pump application. Other contexts are discussed later for illustrating 8 variations in the context-specific behaviour of the specified agents.
9 Al Manager As shown in Fig. 4, the Al Manager handles priorities and triggers one 11 or more Diagnostic Agents, based upon observations and triggers which are 12 received from one or more Data & Modeling Agents and one or more Status Agents.
13 The process of the Al Manager is autonomous and asynchronous to coordinate execution and operation of the different intelligent agents (lAs).
The design and configuration of the Al can change depending upon the industrial application or context for which it is being used, the system possibly requiring a different number and design of functional agents, such as Diagnostic and Control 18 Agents. The responsibilities and of the Al Manager include:
receives outputs from the one or more Status Agents, activates the appropriate Agent(s), dynamically prioritizes the agents and monitors results 21 from the different agents.
1 - tracks the status of all active Diagnostic Agents, Optimization agents 2 and Control Agents.
3 - uses results received from the Diagnostic and Control Agents to 4 enable/disable/adjust the tests used by the Data & Modeling Agent and the Status Agent.
6 - oversees triggering and data transfer to different computational 7 threads, such as lAs, many of which may contain probabilistic graphical 8 models PGM, such as Bayesian Nets and/or other Ms .
9 - uses inter-process messaging (non-embedded) or event triggering (embedded).
11 - manages self-learning operations of Bayesian Nets and updating of 12 Process Parameters 13 Further, in applications with distributed, independent processes, such 14 an oil field, the Al Manager at each individual well may network or coordinate with other Al Managers at other wells to share learned diagnoses or control strategies 16 either directly or via a central SCADA manager.
18 Supervisory Control and Data Acquisition (SCADA) Manager 19 Systems according to embodiments taught herein having a SCADA
may incorporate Al functionality of each system within its domain or incorporate additional methods or agents to monitor field scale parameters and their effects at 22 the individual well.
1 The SCADA Manager may utilize the probability tables or historical 2 data from individual wells to update the probability tables of other wells or provide 3 these wells historical case information to enable the wells to utilize machine learning 4 techniques to update their own probability tables.
6 Data & Modeling Agent 7 One role of the Data & Modelling agent is to monitor and track process 8 information and to run process models based on the process information for use by 9 other agents.
The Data & Modelling agent operates synchronously in real time, 11 handling incoming data by running to completion each time data is received or after 12 each completion of a cycle in a periodic process or batch process, and/or over 13 longer periods/multiple cycles.
14 The Data & Modelling agent runs process model(s) and performs real time analysis and tests at each data sample and/or cycle as directed by Al Manager 16 which acts on the behalf of diagnostic or decision agents. Tests or algorithms that 17 require computational periods longer than time provided between data samples may 18 be initiated and run asynchronously.
19 The Data & Modelling agent also performs logging of historical data.
The Data & Modelling agent operates in real time, receiving and 21 conditioning incoming data and polling lower priority data as required.
It will run 22 kinematic and dynamic models of the equipment and processes utilizing the 1 received data to observe and estimate the actual performance of the process. To 2 this end, the Data & Modelling agent will generate and log performance references 3 for comparison against incoming data.
4 These references will include a static model of the performance of the process based on process parameters and established operating envelopes.
6 The references further includes a statistically generated mean 7 reference with standard deviations of key measured and derived process 8 parameters based on multiple process cycles which is intended in part to filter out 9 process noise and external disturbances. The statistically generated mean reference will be generated over multiple cycles, logged periodically, used for a 11 limited period of time for comparison against current process performance and then 12 replaced as newer references are generated as required or as process parameters 13 change. Each logged reference is stored for historical analysis.
14 The references also include a model-based predictive reference utilizing measured and derived process parameters which incorporates a dynamic 16 process mode and may or may not include ideal or projected outputs. This model 17 will be compared and validated against incoming process data and will also be 18 logged and updated periodically like the statistical reference.
19 In the case of reciprocating systems such as a pumpjack, the agent generates a surface and a downhole dynamometer card for each pump cycle using 21 the kinematic and dynamic models of the surface and downhole equipment with the 22 incoming process data. Dynamometer cards represent rod load as a function of rod 1 position during the course of a single pump cycle consisting of a complete upstroke 2 followed by a complete downstroke. The actual values and shape of the card are 3 then compared or correlated with the static, statistical and predictive models as 4 required.
Additional process parameters may be monitored including, but not 6 limited to, tubing and casing pressures, measured or derived forces and parameters 7 such as pump friction, pump fillage, fluid levels, rod stresses along the rod string or 8 applied to various process equipment components, surface or downhole.
9 The potential to use visual information such as pictures or videos to identify production and operational issues is also recognized. For example, video of 11 the motion of a sucker rod pump could be useful to identify mechanical issues such 12 as belt slippage, leaking chemicals or broken components that may not be as 13 evident from solely monitoring of process inputs. In other process such as boilers, 14 thermal images may be utilized to identify and located hot or cool spots in a boiler tube network. The agent will include algorithms for specific tests that maybe 16 requested by the Al Manager for use by other agents. These tests will be 17 performed as data streams in and may be performed for all or part of a cycle or 18 performed once a given cycle has completed. Calculations for the cyclic tests may 19 be distributed between streamed data and the completion of the cycle to optimize processor utilization. Tests may include comparisons of incoming data against 21 static, reference and model predictive surface and downhole cards, process /
22 equipment operating envelopes and safety limits.
1 The agent will primarily transmit measured / derived data and results 2 of tests to the Status Agent or, if required, directly to the Al Manager. The agent will internally manage the periodic logging of historical data and references.
Agent 4 specific tests and exception logging of data will occur at the request of the Al Manager.
6 Typical observable conditions and configured information for a sucker 7 rod application include: Pressure: Casing and Tubing, Fluid Level, Well parameters 8 and configuration: Measured and calculated, Rod String Completion Data, Fluid viscosity and makeup, Flow / No-Flow Detection, Vibration Sensing ¨ Level, Motor Voltage, Current, Torque, Speed, Rod Loading: static and dynamic, Stroke 11 Reference Position, Interlock Status.
13 Status Agent 14 The primary role of the Status agent is to identify any potential variation or deviation from normal or predicted operation occurring such as an 16 external disturbance or a change in process conditions or parameters.
17 = Consists of a mechanism to detect deviation from normal, ideal 18 or predicted operation, a PGM based state model of the process, an operational envelop analysis means and pattern recognition means and a classifier to triggers the appropriate diagnostic and Control Agents and a mechanism to update inherent PGMs via machine learning techniques if 22 required.
1 = Monitors and identifies between the real-time data and 2 historical data, model predictions.
3 = It identifies whether variations significantly deviate from normal operation and initiates tests to identify potential sources or categories of sources for the variation and sets the priorities for investigation. This 6 optimizes use of valuable and limited computation capacity.
7 = The Operational Envelope Analysis uses a statistical mean of 8 the process based on historical data that is periodically updated and/or a predicted / ideal model of the process. Deviations from the normal or ideal operations are identified and flagged as to their severity.
11 = The state of the process is tracked as it moves through its operational cycle using a PGM based state model that utilizes tests on real 13 time data to probabilistically identify the current operation state.
14 = For example, in the sucker rod pump application, the downhole pump cycles through a upstroke where the fluid load of the pump is lifted by 16 upward motion, the closing of a travelling valve and the opening of a standing 17 valve followed by the downward motion of the pump, the opening of the travelling vale and the closing of the standing valve. In addition to the states 19 of the valves, there are states of fluid and/or gas compression and decompression. As the process moves through the different states, the PGM
determines the likelihood of each stated based on observations and tests results. The PGM could be a hidden Markov model, Bayesian Net or like 2 probabilistic graphical model. See Figure 5.
3 = A
pattern recognition mechanism is included. The preferred implementation is a time series pattern recognition that provides a probabilistic match of incoming data stream to known patterns from a database to assist the process state tracking by PGM. Euclidean, dynamic 7 time warping and dynamic derivation time warping are the preferred matching criteria for implementation although many mechanisms exist. In addition, the pattern recognition includes a classification mechanism that can identify and classify recurrent patterns that are associated with process deviations, store these patterns and track their reoccurrence in conjunction 12 with process variables to assist with manual diagnosis or a diagnosis based 13 on machine learning techniques using the pattern and the data observations 14 associated with its occurrence.
= Finally a classifier is used to identify and prioritize the 16 appropriate diagnostic agents and/or Control Agents to trigger.
17 =
Probability tables of PGMs and classifiers are updated as 18 diagnoses are confirmed and validated to improve performance 19 The Status Agent utilizes a probabilistic graphical model(s) (PGM) as a classifier that compares process data against Process Model predictions and/or statistical historical data to identify a deviation(s) from predicted or normal 22 operation.
1 Based on the nature of deviation, diagnostics or evaluation of specific 2 process parameters may be triggered and prioritized in order to identify the source 3 and causality.
4 Notice of completion of tests and their results will be sent directly to the Al Manager which will trigger and prioritize the appropriate diagnostic, 6 optimization and Control Agents. For example, probable deviations in the process 7 model's parameters will trigger the activation of an intelligent tuning agent.
8 Results of the diagnostics test and confirmation of diagnoses by the 9 various agents will be communicated to the Status Agent via the Al Manager to further train the Status Agent. Priors for the Status Agent may be set manually or 11 derived from probabilities established by similar wells.
12 It is intended that hidden or latent variables/nodes will be incorporated 13 .. into the Status agent to facilitate the identification of modes, dependencies, 14 relationships or issues not contemplated in the original design of the graphical probability networks deployed.
16 Initially the Status Agent would need to be iterative in nature, 17 monitoring as process conditions persist or evolve from stroke to stroke. It would 18 generate status conditions and alarms to be relayed to the Al Manager which would 19 facilitate diagnosis and courses of action. Deviations that persist after several strokes may increase the probabilities of some conditions and thus a reallocation of 21 processor computational priorities.
1 The Status Agent would need to be capable of recognizing changes to 2 processes or well conditions that evolve on a gradual level over the course of hours, 3 days or months requiring access to historical trending of well conditions. It may be 4 determined that the Status Agent may be divided into two separate agents to address short and longer term process variations.
6 It is also recognized that this agent may be reduced in scope to 7 exclude generating alarm for some system statuses that are better left to 8 deterministic or logic type control.
9 The presence or absence of control action to remedy a known deviation may be incorporated into the Bayesian Net as resolving the condition 11 which may take several strokes or more and generate additional process variations.
13 Diagnostic Agents 14 A role of the Status agent is to identify any potential variation or deviation from normal or predicted operation occurring such as an external 16 disturbance or a change in process conditions or parameters. See Figure 6.
17 - Diagnoses causality of variation from normal operation or MPC.
18 Operates asynchronously after being triggered 19 - Employs a PGM that identifies the probable condition of the equipment and/or the causality for the deviation based on tests and known 21 data.
22 - May request test(s) by data & modeling agent via Al Manager.
Outcomes from the diagnostic agent may be used to trigger additional agents such as the model tuning agents that will identify and 3 quantify variations in process parameters.
4 In a preferred Diagnostic Agent implementation, a causal PGM model with three main levels or categories of nodes would be used that share features 6 found in clinical diagnoses.
7 Top level nodes are comprised of process parameters, independent or ambient conditions, states of the process that can be observed (directly measured 9 or applied to the process) or are known with relative certainty.
(Predispositions) Mid-level nodes are the conditions that are potential diagnoses for the underlying conditions that are contributing to the deviations in the process.
12 (Diseases) Bottom level nodes are results of tests, observables, symptoms or metrics which are dependent on the underlying conditions from which their inherent probabilities are used to identify the underlying conditions with an acceptable 16 degree of certainty. (Diagnostic Tests, Symptoms) 18 Diagnostic Agent Example:
19 Process deviations due to external disturbances: Gas Interference 21 As shown in Figs 5 and 6, a Diagnostic Agent is requisitioned or 22 initiated to apply a gas interference model, to validate and quantify the condition 23 and to facilitate updates or adjustments to the model predicative control.
1 Tests applied in the model will include pattern recognition of gas 2 interference in the downhole load position profile, whether or not sufficient load has 3 been dropped to account for fluid loads and friction, rate of change of loads with 4 respect to position and time, whether timing, positions and rate of change of loads are consistent with models of gas and fluid compression given the other observed 6 deviations in the downhole pump loads and potentially the rod loading at the 7 surface. In Fig. 5, the various dynamometer are shown, the various stages of the 8 operation being identifies by : PPRL ¨ Peak Polish Rod Load, MPRL ¨ Minimum 9 Polish Rod Load, CBE ¨ Counterbalance Effect, TV ¨ Travelling Valve, SV ¨
Standing Valve, and numerical process points identifying: 1 ¨ Start of DH
Upstroke, 11 2 ¨ Fluid Load Picked up, SV open, TV closed, 3 ¨ Top of DH Stroke /
Start of DH
12 Downstroke, 4 ¨ Fluid Load Being Dropped, TV & SV Closed, 5 ¨ Gas and Fluid 13 Compression complete, SV open, 6 ¨ Gas compression in progress, TV & SV
14 Closed, Pump Fillage identifiable, 7 ¨ Fluid Load Picked up, TV open, SV
Closed, 8 ¨ Pump plunger hitting top of pump, and 9 - Pump plunger hitting bottom of pump.
16 A sample deviation related to gas interference is shown in dotted lines.
17 Significant gas interference can result in fluid pound which stresses 18 the rod string and equipment or be indicative of a gas lock or pumpoff condition 19 necessitating a shutoff of the equipment to allow fluid levels in the well to rise sufficiently for pumping to resume. Diagnostic agent may trigger yet another 21 separate Diagnostic agent to assess the contributions to equipment fatigue.
1 The probability of the diagnosis will be compared by the Al Manager to 2 assess the likelihood of a correct diagnosis based on the results of independent 3 diagnoses for other conditions.
Diagnostic Agent Example: Fatigue Monitoring 6 Further, as required by the Al Manager, a further Diagnostic agent for 7 Fatigue monitoring can be recruited that monitors, assesses and tracks rod string 8 equipment fatigue.
9 Forces applied to the rod during operation are calculated by the downhole model and resolved to fixed segments of the rod string. The stress and 11 fatigue resulting from these forces is quantified and tracked. Goodman Analysis 12 methods are used to assess how the stresses applied in each stroke impacts the 13 fatigue and life cycle of the rod string. Figures 7A and 3B shows a three-14 dimensional plot of the stress and fatigue loads on the rod string over the entire cycle. The surface is typically colorized to show the Goodman loading for each 16 section of the rod string throughout the cycle enabling a user to easily identify where 17 in the stroke the rod string is being overstressed.
18 Likelihood of damage to the rod string in the short and long term is 19 assessed including its impact on the mean time between failures (MTBF) for the equipment.
1 Unacceptable levels of stress are flagged or alarmed and returned to 2 the Al and Alarm managers so that specific control action may be determined and 3 implemented.
Process Model Parameter Tuning Example:
6 Well Parameter Tuning Agent for Downhole Observer model of Sucker Rod Pump 8 The Process Model is "self-tuning" or learning. This is outside of the 9 failure of an equipment or external disturbance which are intended be addressed with specialized intelligent agent(s) (IA) of their own.
11 A role of the Process Model Parameter Tuning Agent is to ensure that 12 the process model(s) accurately reflect the actual process. Triggered by the Status 13 agent and Diagnostic Agents, the Tuning Agent identifies, evaluates and quantifies 14 potential variations in model parameters, process variables and equipment condition that contribute to deviations between the process and the process model.
16 As changes in well conditions persist from stroke to stroke or evolve 17 on a gradual level, there is a need to ensure that process model(s) remain accurate.
18 Probable deviations in the process model's parameters will trigger the activation of 19 the Tuning Agent.
1 The Tuning Agent:
2 Employs a PGM that identifies the probable variations of process 3 .. parameters and/or equipment condition that contribute to the process model based 4 on tests and known data.
Using the probabilities for process parameter variation, the model 6 tuning agent can initiate and prioritize numerical or iterative methods with the 7 process model to identify and quantify the possible contributions to the observed 8 deviations and validate them against current data observed from the process. Once 9 the potential sources are quantified, the probability of the variations required to correct the process model are probabilistically considered using a decision net that 11 takes into account the risk associated with incorrect diagnoses.
12 Specific metrics, tests or measurements that are outside of regular 13 operation may be necessary to assist in the diagnosis and tuning of the process 14 model(s) and would be performed on an as needed basis; however, once "tuned", the need for these tests should be minimized so as not to adversely affect 16 production or consume limited computing capacity.
1 Basic Concept of Operation 2 Using historical sequence of mean, average, or typical process cycles, 3 the Process Model Tuning Agent identifies the most likely causes for the observed 4 deviations in the historical sequence, and validates the cause and corrects the parameters in the model.
6 In the case of the sucker rod pump / oil well, many different parameter 7 changes or conditions can contribute to a process deviation.
8 Well conditions can change very quickly from one stroke to the next as 9 in the case of a failure of mechanical systems, pumpoff or gas lock, sticking of the rod string, etc. These may need to be identified and flagged for alarming, change of 11 control mode or action depending on the nature of the condition. Other conditions 12 can be measured such as gas pressure, temperature, pump speed, rod loading, etc.
13 Process Model parameters change more gradually but also can be 14 affected by well conditions as they change. For example, a leak in the tubing can affect fluid levels and pressure in the tubing.
16 Some of these well conditions can affect multiple parameters.
For 17 example, temperature can affect fluid viscosity and cause wax to precipitate 18 increasing friction. Fluid level can affect downhole pressure and buoyant rod weight 19 affecting friction, viscosity and other observed forces.
Some parameters change slowly over hours or days versus from 21 stroke to stroke. The agent would need to assess the rate of change of parameters 1 and targeting those most likely to influence the observed error over the time 2 observed for it to manifest.
3 The scope of operation of the agent would ideally be limited to the 4 tuning of the downhole model and but also capable of identifying a change that is beyond that scope (independent of the model) such as equipment failure or some 6 external disturbances. The IA would then direct other agents, algorithms, control 7 modes or alarm managers to engage to resolve the deviation in the process from 8 the model.
9 To tune the model, it may be advantageous to have an IA provide direction as to which parameters and the range of values for those parameters so 11 that an algorithm may more expeditiously search for corrective values rather than a 12 global search. It may also assist in identifying whether one or more parameters 13 need adjustment.
Agent Implementation 16 The Process Model Tuning agent would compare historical records of 17 the process with the current record, taking the current measured values of process 18 variables and derived process metrics to identify and validate which model 19 parameter(s) have varied and determine the corrected values.
In the case of the pumpjack, there are significant variations from one 21 dynamometer card to the next which may mask changes in Process Model 22 parameters. To overcome this, multiple dynamometer cards would be used to 1 generate a distribution of which the mean and variance/standard deviation would be 2 saved on a periodic basis in the form of a Fast Fourier Transform (FFT).
A historical 3 "mean" card be compared to the most recent mean or the current output of the 4 Process Model to identify shifts in the metrics.
In a preferred IA implementation, a causal PGM model with three main 6 levels or categories of nodes would be used in a manner similar to that used in a 7 diagnostic agent.
8 Top level nodes are comprised of process parameters, independent or 9 ambient conditions that can be observed (directly measured or applied to the process) or are known with relative certainty and can influence the likelihood a 11 parameter has changed. (Predispositions) 12 Mid-level nodes are the Process Model parameters that cannot be 13 directly measured with certainty and are subject to variation.
(Diseases) 14 Bottom level nodes are observables, symptoms or metrics which are dependent on the model and well conditions or the outcome of tests that can be 16 applied to further resolve the Process Model parameters and range of variations.
17 (Diagnostic Tests, Symptoms) 18 Fig. 8 shows a grouping of the various nodes that could be used to 19 represent the values in the process, model and metrics.
The probabilistic graphical model for the agent comprises two main 21 components: a mapping of the possible range of process metrics and probability 22 tables of the likelihood that the process model parameter has changed.
1 The first component is a mapping of the possible range of process 2 metrics that would result from the range of process variables and process model 3 parameters. This mapping may be of absolute values or deviations from nominal 4 values for variables or parameters as required. In essence for a given instance or range of process variables and a specific instance of the model parameters and the 6 metrics would be determined based on the model. It is possible that some or all of 7 the variables, parameters or metrics could be represented as discrete ranges or 8 continuous distributions and determined through an exhaustive iteration of the 9 model for all values. Alternatively, the mapping could be based on the causality between the various variables and process model as opposed to a dependencies 11 completely derived via machine learning and exhaustive simulation of the process 12 over the range of possible variables and parameters.
13 The second component includes probability table(s) or distribution(s) 14 of the likelihood that the process model parameter has changed since the last historical record was taken. This could be based on historical data but also include 16 calculations. One example of a calculation would be the likelihood of a fluid level 17 change based on the possible range of fluid volume produced given the time 18 between current and historical records.
19 With reference to Fig. 9 that illustrating a process model learned sensitivity with a learned structure, mapping and likelihood of change are combined 21 and learning the structure provides a causal Probabilistic Graphical Model (PGM).
1 For a given set of process variables and metrics, the PGM identifies 2 the most probable model parameter to have changed and trigger specific numerical methods to derive the exact values required to correctly tune the model. The PGM
4 and associated "tuning" algorithms are able to operate in situations where multiple model parameters may have changed. This may involve iterating the predictive 6 model with actual or historical results to converge on revised process parameters.
7 It is also possible that the agents would initiate or request 8 supplemental tests so that the source of the deviations can be diagnosed and 9 validated.
The goal is to efficiently and automatically tune the model as the process is running in the background. The IA may also utilize real time data as part 12 of the effort to validate the tuning before locking in the revised parameters.
The specific process parameter(s) that have changed would be quantified and validated using the process model(s) and real time data and referred to the Al Manager for updating process parameter and probability tables for all related lAs.
16 The agent described herein is not intended to be directly in the control loop. It may also act as resource manager to queue other agents to initiate an investigation into higher level well operations and conditions by determining the source of deviations is not likely to be related to variation in the process model parameters.
21 In the case of the pumpjack, operation, using a variable intra-stroke speed may require a different PGM than that of the fixed intra-stroke speed as the 1 variation of the speed adds significant complexity and can greatly affect the metrics 2 and learned structure to identify and correct process model parameters. This 3 increased complexity also greatly increases the degree to which the process can be 4 optimized and the value added of the overall method and apparatus.
6 Model Configuration 7 Certain data pertaining to the well "completion" is known. That being 8 said, in the course of operation, the initial model will be validated against the 9 configuration information provided. This would pertain to the type of equipment installed and its specific configuration. The configuration information is likely to 11 change during operation. Such information in the cyclic pump controller context 12 includes:
13 = Rod string types, lengths, properties and placements within 14 overall rod string = Pumpjack type, geometry, gear ratios, operating limits 16 = Downhole pump, type, dimensions, operating limits, other info 17 = Tubing type and anchors 18 = Orientation and deflections of well as drilled 19 = Other equipment downhole or on the surface that could impact dynamic model performance 21 = Rod scrappers, Spacers, and the like 22 = Process Variables 1 = Process variable can include but may not be limited to:
2 = Pump speed and position 3 = Gas pressure in the casing and in the tubing 4 = Temperature(s) at surface: ambient, flowline = Actual Production.
7 Process Model Parameters 8 There will be information on the fluid being produced. These values 9 may change gradually with time and production rates.
= Fluid Level in the casing and in the tubing 11 = Fluid Density, Viscosity (static and dynamic) 12 These values will change with depth/pressure, temperature, % of oil, 13 water gas or other fluids (i.e. water cut).
Process Metrics 16 There will be other information on the status of the well and downhole 17 conditions. Some of this information can be measured, calculated or 18 inferred/approximated based on the information on well configuration, direct 19 measurements or other conditions in if known.
- Surface and Downhole load measurements with respect to time and/or 21 position in the pump stroke 22 Temperature downhole and gradient to the surface 1 - Static rod loads downhole and gradient to the surface 2 - Relative and absolute contributions of Fluid weight, friction, etc to 3 surface and downhole card, and 4 - Operator input or manual tests may be requested.
6 Control Agents 7 The primary role of a Control Agent is to evaluate & recommends 8 appropriate control action based on diagnostic results and input from Optimization 9 and Diagnostic Agent(s). It typically uses using a probabilistic decision net that takes into account the risk associated with control action. See Figure 10.
12 Control Agent Example:
13 Pumpoff Agent for Downhole Observer model of Sucker Rod Pump The Control Agent monitors and identifies variations from normal 16 operation & recommends appropriate control action based on information from 17 Diagnostic Agents and and other Agent(s ). Actions may include Off/On direction or 18 adjustment of pumpoff cycle parameters such as the on and off durations.
19 For example, gas interference may result in some fluid pound that may or not be within allowable rod stress limits. The Fatigue Monitoring Agent will 21 quantify the fatigue being experienced by the rod string and its impact on the MTBF.
22 The persistence of the conditions, the severity and external conditions may dictate 23 singular or multiple courses of actions. In the event of multiple courses of action or 1 condition that have not been previously encountered, the Control Agent may trigger 2 an Optimization Agent to access and recommend the best strategy.
3 The severity of the fatigue, probability of failure, cost of repair, control 4 options to reduce fatigue and the opportunity cost of lost production or the value of increased production would factored into a PGN decision net based on risk and 6 opportunity to evaluate the course of action. A possible configuration for a PGN is 7 shown in Figure 11. This agent integrates the results of the various Diagnostic 8 Agents and make control direction decisions. It may also alert the operator to design 9 issues or potential mitigants such as reducing the pumping speed. The Control Agent is a learning agent for learning the best control action for various conditions 11 from the recommendation of Optimization Agents and the success of earlier 12 recommendations.
14 Optimization Agents A role of an Optimization agent is to use models and calculated 16 parameters to evaluate potential optimization strategies and provide guidance. The 17 Agent typically uses a probabilistic decision net that takes into account opportunity 18 or the risk associated with different optimization strategies action.
19 Additionally, a process simulation can be utilized to map exhaustively, or selectively, the process response to process variables, their range of operation 21 and potential deviations such that changes to a process can be determined 22 probabilistically and represented as PGN, potentially via machine learning 1 techniques. When combined with historical observations of the process, this 2 .. enables a means of process optimization that is highly deterministic in nature 3 .. without exhaustive simulations and/or numerical methods in real time.
4 Using machine learning techniques, process responses such as energy consumption or production output could be represented in a PGN and used 6 to provide guidance to a numerical optimization means. The guidance could 7 .. encompass identifying a compact range for the numerical search to converge on an 8 optimal solution for the operating parameters or in the event of a process with high 9 levels of certainty, provide the optimal operating parameters directly to control. In an .. alternate embodiment, the process variables could be represented as Fourier series 11 or other approximation means and a probabilistic mapping of the global responses 12 of the process could be generated as a function of these Fourier coefficients. This 13 provides a unique advantage over other optimization methods as it can greatly 14 reduce the time required to determine a local or a global optimum for the process in real time.
16 The probabilistic mapping of the process could be computed in the 17 .. background of a processor controlling the process or on a separate processor which 18 could also utilize parallel computing methods to reduce the elapsed time, and 19 generate the probability tables for the optimization PGN.
In the case of oil well pumping system, local or global optimizations of 21 complex intrastroke variations of pump prime mover speed to optimize the well such 22 .. as those of US 6,890,156 to Watson (pumpjack speed profiling) could be performed 1 with significantly reduced computation compared to other numerical optimization 2 means.
3 - Uses process models and calculated parameters in conjunction with 4 numerical or iterative methods to evaluate potential optimization strategies and provide guidance. Operates asynchronously after being triggered.
6 - For example, in the sucker rod pump application controlled by a fixed 7 speed motor, the agent may use statistical or cumulative pump fillage and 8 run time to establish well inflow rates and utilize these to determine optimal 9 pump on and off cycles to maximize production based on acceptable fatigue limits to the sucker rod string and/or provide guidance for setting the optimal 11 strokes per minute to operate the pump. It may identify situations where a 12 control strategy such as PumpOff may or may not be used based on multiple 13 conditions including but limited to production and energy requirements, 14 energy savings, fatigue, external temperatures that may impact performance such as freezing of lines during winter, etc.
16 - In a sucker rod pump application where the motor speed is variable 17 over multiple cycles via a variable speed or variable frequency drive it may 18 direct the Control Agent to vary the speed of the drive.
19 - In a sucker rod pump application where the motor speed is variable within the stroke such as that of (Watson patent US 6,890,156), different 21 speed profiles may be determined based on the process model, pre-determined speed profiles initiated or adjusted and provided to the Control 2 Agent for implementation.
4 Pumplack Controller ¨ Embodiment With reference to Fig. 12, an embodiment of a pumpjack controller is 6 shown.
Fig. 12 illustrates the hardware structure of the system 1200 disclosed 7 herein, according to one embodiment. As shown, the system 1200 comprises a controller 1202 installed on the jobsite of an oil well. The controller 1202 may be 9 implemented in a general purpose computer programmed with appropriate software, firmware, a microcontroller, a microprocessor or a plurality of microprocessors, a digital signal processor or other hardware or combination of 12 .. hardware and software known to those skilled in the art.
13 The controller 1202 communicates with a plurality of sensors 1204 installed on various devices such as the pumpjack, tubing string, casing, sucker rod and the like, on the ground or in the wellbore, for collecting data regarding the oil 16 well and devices, e.g., crank speed, rod stress, downhole temperature and pressure, fluid level and the like. Those skilled in the art appreciate that it is dependant on the system design and implementation to determine what sensors are 19 required in the system and what data to be collected.
The controller 1202 also communicates with a plurality of action 21 devices 1206 such as variable speed motors, AC or DC variable speed drive such 22 as an ABE ACS-601 (ABE Industry Oy, Helsinki, Finland) or Allen-Bradley 1 Impact drive (Rockwell Automation, Milwaukee, Wis., USA), dynamic brake, alarm, 2 and the like, for controlling the operation of devices of the oil well, in accordance 3 with predefined rules, e.g., a crank speed profile for controlling crank speed, and/or 4 in response to data collected from sensors 1204.
The system 1200 further comprises one or more computing devices 6 1210. As those skilled in the art appreciate, each computing device 1210 may 7 comprise a processor, a storage such as Read-Only Memory (ROM), volatile and/or 8 non-volatile Random Access Memory (RAM), solid state drive, hard drive, or the 9 like, a network module, and other components, all connected to the processor via one or more signal buses. Each computing device 1210 executes an operating 11 system, e.g., a real-time operating system, Unix , Linux , Microsoft Window NT, 12 Microsoft Windows 2000 Server, Microsoft Windows Server 2012 or the like.
13 Generally, an operating system is a set of computer readable code executed by the 14 processor for managing various hardware and software components, and for supporting the execution of application programs.
16 Some computing devices 1210 may be deployed in the jobsite of the 17 oil well and connect to the controller via proper wired or wireless means such as 18 direct cable connection, a local area network (LAN), Ethernet, WiFie, Bluetooth , 19 Zigbeee, or the like. Some computing devices 1210 may be deployed remote to the oil well, and are connected to the controller through a wide area network (WAN), the 21 Internet, a telephone network, a cable network or satellite, via proper wired or 22 wireless means. Those skilled in the art appreciate that, depending on the system 1 design and implementation, the one or more computing devices 1210 may be 2 desktop computers, laptops, server computers, tablets, smart phones, or the like.
3 As those skilled in the art appreciate, the software disclosed herein may be 4 deployed on one or more computing device 1210, and the processing load may also be dynamically distributed among at least some of the processors of the controller 6 1202 and/or computing devices 1210.
7 Other embodiments comprise: a system for controlling a process 8 comprising: at least one processor; at least one sensor coupled to the at least one 9 processor; and a storage coupled with and readable by the at least one processor and storing a set of instructions which, when executed by the at least one 11 processor, cause the processor to perform actions comprising: receiving, from the 12 at least one sensor, real time process data generated by the process;
comparing 13 against a predictive objective function and/or a historical mean and/or a predicted 14 operational envelope and/or a predetermined static function for establishing any deviation from normal operation; applying probabilistic modeling at a status agent 16 for classifying the source and likely cause of the deviation;
prioritizing actuation of at 17 least one or more diagnostic agents related to causality of the deviation at a 18 supervisory manager; communicating the results of the diagnostic agents to the 19 supervisory manager; modifying the probabilistic model of the status agent from the results from the one or more diagnostic agents; and applying a probabilistic model 21 at a control agent for evaluating risk and recommending appropriate control action 22 to the process.
1 In another embodiment, a computer-readable storage device is 2 provided comprising computer-executable instructions for controlling a process, 3 wherein the instructions, when executed, cause a processor to perform actions 4 comprising: receiving, from the at least one sensor, real time process data generated by the process; comparing against a predictive objective function and/or 6 a historical mean and/or a predicted operational envelope and/or a predetermined 7 static function for establishing any deviation from normal operation;
applying 8 probabilistic modeling at a status agent for classifying the source and likely cause of 9 the deviation; prioritizing actuation of at least one or more diagnostic agents related to causality of the deviation at a supervisory manager; communicating the results of 11 the diagnostic agents to the supervisory manager; modifying the probabilistic model 12 of the status agent from the results from the one or more diagnostic agents;
13 andapplying a probabilistic model at a control agent for evaluating risk and 14 recommending appropriate control action to the process.
16 Other Applications 17 The system and methodology described herein, both generally and in 18 the specific context of a pumpjack, are also applicable to a wide variety of other 19 processed including: Steam Methane Reformer, Boiler, Heat Treatment Furnace, Water Treatment, and Compressor Skid/ System.
21 In some additional detail for a couple of other scenarios, the nature of 22 such other processes and the role of the Agents is described as follows.
2 Model Predictive Controller 3 Model predictive control techniques typically require the nature of 4 disturbances to be known in advance in order to provide control direction to bring the process back within its normal operating envelope. They also require the 6 parameters of the model to be accurately tuned such that inputs to the model 7 generate accurate and relevant outputs. Such applications require significant 8 .. upkeep by highly skilled and knowledgeable individuals unless they are highly 9 stable. In a batch process application with a model predictive controller, the roles implemented for the agents is similar roles to that in the oil well pumpjack 11 application except that control action is more limited as it is relegated to the model 12 predictive controller. The roles of the Agents include The Data and Modeling Agent, 13 the Status Agent, Al Manager, various Diagnostic Agents wherein the Al Manager 14 will compares the probabilities of the various Diagnostic Agents and updates the Status Agent of the diagnosis of high certainty or initiated additional tests if the level 16 of uncertainty is too high to differentiate a likely cause. The Al Manager may also 17 .. initiate the Model Tuning agent based on the output of the diagnostic agents.
18 The Control Agent assesses opportunity and/or risk based on the 19 probability of one or more diagnosis and recommends a change of model or control action to the model predictive controller based on the opportunity /risk analysis.
1 Compressor Skid/ System 2 Compressor skids are representative of a typical packaged system 3 that is designed to perform a task of a narrow range, in this case the compression of 4 gases to feed into a process or the compression of gases taken from a process to maintain a vacuum. The later can be found on oil wells where the casing pressure is 6 reduced below atmospheric pressure to increase well inflow.
7 These applications are typical fluid and thermodynamic process where 8 the pumps, valves and process operation are sized for a specific operation and 9 readily modelled. Equipment failure, process disturbances and operational limits account for much of the variation in the process.
11 Again the roles are very similar to that of the oil well pumpjack 12 application, with the primary change being the process model, the operational 13 states tracked by the Status Agent and the nature of diagnostic Diagnostic Agents 14 Agents which are process specific. In this case, monitoring the commanded versus actual pressures, flow and temperature of the process to establish probabilities.
16 Depending on the risk and safety implications, the controller may be utilized to 17 conduct actual tests by making small changes to process setpoints and verifying the 18 disturbances and resulting control actions are indicative of proper operation to 19 further isolate the source of process disturbances.
The process the skid is controlling may also be modelled enabling a 21 broader range of scope for the AIMC.
1 Other Process Systems 2 The application into other processes, such as furnaces, or boilers, 3 compressors or a collection of processes which are combined into complex systems 4 such as steam reformers or refineries; do not fundamentally change how basic operation of the AIMC and its agents. As the system is designed to operate under 6 uncertain conditions, the scope of control action may be restricted based on the 7 safety and risk tolerance. Much of this can be handled by the preferred 8 implementation which is to have the AIMC make control recommendations to a 9 standard industrial controller which incorporates the necessary safety interlocks and permissives to ensure safe operation in all circumstances.
14 Figure 11 is a diagrammatic representation of a possible configuration for a Probabilistic Graphical Network for the pump embodiment of Fig 1, namely 16 using probabilistic methods for determining causality and implementing control 17 actions given the means for control, risk and consequences of the actions including 18 objectives to optimize performance balanced with considerations to opposing 19 objectives; and Figure 12 is a hardware diagram illustrating an embodiment having 21 several components for establishing real time monitoring, network communications 22 and process control whether they be local, remote or a combination thereof.
There is provided an artificially intelligent model-based controller (AIMC) that undertakes an analytic validation of the results of a classification by an intelligent agent and to combine that with other observations of process variables to establish, as deterministically, as possible the diagnosis of the process state and its underlying causes such that sufficient confidence in the process state exists so that 7 automated control action can be taken with acceptable levels of risk.
8 In one aspect of the invention a system is provided controlling a 9 process in response to data collected from a plurality of sensors, said system comprising: a status agent for monitoring the status of the system based on data collected from the sensors; at least one diagnostic agent for diagnosing at least a portion of the system and collecting diagnostic data from the sensors to identify deviation from normal operation; a control agent for performing control actions to 14 the process; and a supervisory manager coupling to the status agent, the at least one diagnostic agent and the control agent. The supervisory manager receives real 16 time process data generated from the process; compares against a predictive objective function and/or a historical mean and/or a predicted operational envelope 18 and/or a predetermined static function for establishing any deviation from normal operation; applies probabilistic modeling at the status agent for classifying the source and likely cause of the deviation; prioritizes actuation of the at least one diagnostic agent related to causality of the deviation; modifies the probabilistic model of the status agent from the results from the at least one diagnostic agent;
1 and applies a probabilistic model at a control agent for evaluating risk and 2 recommending appropriate control action to the process.
3 In another aspect of the invention, a method for controlling a process 4 comprises: receiving real time process data generated from the process;
comparing against a predictive objective function and/or a historical mean and/or a predicted 6 operational envelope and/or a predetermined static function for establishing any 7 deviation from normal operation; applying probabilistic modeling at a status agent 8 for classifying the source and likely cause of the deviation;
prioritizing actuation of at 9 least one or more diagnostic agents related to causality of the deviation at a supervisory manager; communicating the results of the diagnostic agents to the 11 supervisory manager; modifying the probabilistic model of the status agent from the 12 results from the one or more diagnostic agents; and applying a probabilistic model 13 at a control agent for evaluating risk and recommending and initiating an 14 appropriate control action to the process.
17 Embodiments taught herein utilize an artificially intelligent model-18 based controller (AIMC) to undertake an analytic validation of the results of a 19 classification by an intelligent agent and combine that with other observations of process variables to establish as deterministically as possible the diagnosis of the 21 process state and its underlying causes such that sufficient confidence in the 1 process state exists so automated control action can be taken with acceptable 2 levels of risk.
3 A collection of probabilistic methods and pattern recognition 4 techniques are utilized to provide a hybrid monitoring and control system that incorporates stochastic understanding of the process with machine learning 6 techniques to make process control decisions under uncertainty as deterministically 7 as possible.
8 Embodiments of the system have incorporated Probabilistic Graphical 9 Networks (PGN), such as Bayesian networks, and time series pattern regonition techniques and the like, to structure and evaluate the classification and diagnosis of 11 the current state of the process by utilizing process variables, states and the 12 outcomes of tests including relevant analytical models of processes, process sub 13 systems or disturbances to validate the likelihood of the various classifications.
14 Applicant believes that the process model(s) should be accurately tuned to reflect current operating conditions for the embodiments described herein 16 to perform optimally . Thus, a similar methodology is applied to the process model 17 where normal process operation is observed and compared to past observations to 18 detect drift of process parameters. Process simulations or a statistical 19 representation of process outputs resulting from process parameter drifts are compared against current observations and used to identify, validate and update 21 changes to the process model(s).
Additionally, a process simulation can be utilized to map exhaustively, 2 or selectively, the process response to process variables, their range of operation 3 and potential deviations such that changes to a process can be determined probabilistically and represented as a PGN, potentially via machine learning techniques. When combined with historical observations of the process, parameter 6 tuning or process optimization is enabled that is highly deterministic in nature 7 without exhaustive simulations and/or numerical methods in real time.
8 Using machine learning techniques, process responses such as 9 energy consumption or production output could be represented in a PGN and used to provide guidance to a numerical optimization means. The guidance could encompass identifying a compact range for the numerical search to converge on an 12 optimal solution for the operating parameters or in the event of a process with high 13 levels of certainty, provide the optimal operating parameters directly to control. In an alternate embodiment, the process variables could be represented as Fourier series or other approximation means and a probabilistic mapping of the global responses 16 of the process could be generated as a function of these Fourier coefficients. This 17 provides a unique advantage over other optimization methods as it can greatly reduce the time required to determine a local or a global optimum for the process in 19 real time.
The probabilistic mapping of the process could be computed in the background of a processor controlling the process or on a separate processor which could also utilize parallel computing methods to reduce the elapsed time, and 2 generate the probability tables for the optimization PGN.
Furthermore, the determination of a control action is based on a decision analysis that incorporates the cost and risk associated with the possible decision choices including the risk of taking control action on an incorrect 6 classification or observation.
7 At the core of the AIMC system is a network of Intelligent Agents (lAs) 8 each performing a predetermined scope of analysis and managed by a central Al 9 Manager.
Embodiments described herein will be described generally and in the context of a sucker rod pump controller for oil wells for controlling and optimizing the operation thereof. Those of skill in the art will understand that AIMC
systems, based 13 upon the embodiments taught herein, are in no way limited only for controlling a sucker rod pump, but can be customized for use in any number of different types of dynamic processes in a wide variety of industries.
Having reference to Fig. 1, an embodiment of a hierarchical structure 17 of an IA network is shown having several types of agents in the context of control 18 and optimization of a sucker rod pump controller for oil wells.
19 One aspect of the AIMC system is the integration of single or multiple process models and model predictive control techniques in conjunction with multiple Intelligent Agents or agents (lAs). Each IA performs, directs and prioritizes specialized analysis, diagnosis and control direction utilizing probabilistic reasoning 1 methods such as probabilistic graphical models or Bayesian Networks. The Al 2 Manager initiates and prioritizes the various lAs to optimize processor utilization, 3 communicates the results of tests, diagnoses and control recommendations and 4 facilitates the learning capability via updates to the data and probability tables used by the PGNs or Bayesian Networks utilized by the various lAs.
6 Multiple applications of the system can be made to work 7 collaboratively, such as in the case of an oil field, where each well would have an 8 AIMC system which also shares knowledge and learning with other wells and with 9 higher level systems such as an intelligent field manager or Supervisory Control and Data Acquisition (SCADA) system. Even wells no on the same pad can benefit as 11 the sell data, pump dynacards and patterns can be normalized. The knowledge can 12 be shared by updating the probability tables within the PGNs; using the case 13 histories of other wells to train the PGNs at other wells using other machine learning 14 techniques, or through sharing of learned process parameters or patterns observed in process data. The SCADA may also provide control direction based on the data 16 and knowledge the SCADA receives collectively from the individual wells.
17 As previously noted, while the current implementation has been 18 initially applied to a sucker rod pump system and field of oil wells, it is recognized 19 that the technology could be applied to other processes where a process model can be utilized to ensure the optimal operation of the system from a production, 21 maintenance and economic viewpoint.
1 As computation capacity and programmability of most industrial controllers is typically too limited to implement modern Al techniques, a control 3 platform incorporates a run-to-completion, event driven operating system with a 4 non-blocking kernel that can prioritize the monitoring and control of time sensitive aspects of the control solution while running multiple algorithms or threads 6 incorporating artificial intelligence methods that may run synchronously or 7 asynchronously with a given process on a priority basis.
Embodiments implement a controller that is_scalable such that 9 computation can be distributed to addition processors, whether local or remote on embedded or PC computation platforms.
11 Such as controller can further connect to existing or proprietary controller networks to access and monitor process data and perform diagnostic and optimization tasks. This enables the technology described herein to be integrated 14 into existing or custom engineered systems and OEM products. Alternatively the AIMC system can incorporate digital or analog inputs (I/O) of its own in addition to accessing existing controllers or remote I/O modules. In one implementation, control direction is provided to industrial controllers that provide monitoring of I/O
18 and provide the basic control operation with independent safety interlocks and 19 permissives that are typical of that process.
The resulting technology enables diagnostic methods similar to that of automated medical diagnostic tools. While equipment is operating, the lAs run in the background identifying equipment and process issues, performing tests and 1 calculations to identify with acceptable certainty the operational state of the system 2 being monitored, the source(s) of any deviations from normal operation or 3 problems, the best course of action and implement the action and/or provide 4 operational guidance to operators, supervisors or other automated controllers.
The artificially intelligent model-based controller (AIMC) utilizes one or 6 more of a process model, historical process information and/or process-derived 7 state machines to monitor a process. The AIMC further uses a collection of 8 intelligent agents to identify process deviations and disturbances, classify, 9 determine and validate the nature or underlying causality for the disturbances utilizing PGN such as Bayesian Networks that operate synchronously or 11 asynchronously. The AIMC initiates optimization routines and determines control 12 direction utilizing risk assessment and decision analysis with PGN or Bayesian 13 Networks. Operations of the AIMC are coordinated via a central Al Manager that 14 initiates and prioritizes the various agents.
1 Overview of Intelligent Agents (lAs) 2 Embodiments taught herein utilize a variety of lAs, including but not 3 limited to, the Al Manager, the SCADA Manager, Data and Modeling Agents, Status 4 Agents, Diagnostic Agents, Model Tuning Agents, Optimization Agents and Control Strategy Agents.
6 The basic structure of an IA is a statistical or probabilistic causality 7 model with supporting algorithms and software methods to enable updates of the 8 IA's probability tables, entry of states for node values in a Probabilistic Graphical 9 Model (PGM) and execution of queries. These agents IA may include additional algorithms and methods such as such pattern recognition, numerical methods to 11 estimate process parameters or optimize process operation as well as those to 12 monitor, test and classify observations. In an embodiment, the AIMC
contains a 13 causality model which is a Probabilistic Graphical Model (PGM) in the form of a 14 Bayesian Net or undirected probabilistic network such as a Markov net, however there are other implementations of PGNs that could be used to perform these 16 functions and are known to those skilled in the art.
17 A typical operation of an intelligent agent includes the following:
18 = receiving incoming data;
19 = if required use algorithms to further analyze the data;
= update any probability tables;
21 = calculate or solve statistical or probabilistic causality model;
22 = determine whether a decision or direction has been reached;
1 = if not, identify additional tests or data required;
2 = report to Al Manager; and 3 = wait for further instructions or data from Al Manager until a 4 resolution has been reached.
Depending on the process and the different diagnostic complexities, 6 multiple lAs of each type of IA may be deployed. The activation and execution of 7 the Ms are controlled on a priority basis that is statistically or probabilistically determined. Alternately, lAs may be broken into separate or sub-agents to reduce 9 their complexity and/or enhance their capabilities. For example, a data and modeling agent may be split into a separate IA for managing and testing historical 11 data and a separate IA for managing and testing real-time or streaming data. A
12 Diagnostic Agent and its PGN may constructed in an object-oriented manner 13 wherein it comprised multiple sub-PGNs, each for a range of potential diagnoses, 14 that can be run individually as separate agents or as part of a larger more encompassing PGN in a single agent. One example of multiple sub-agents under 16 an encompassing agent is an object-oriented Bayesian Network (00BN). A PGN
17 may be represented as a single node in a larger PGN network. The PGN can be run 18 on its own or in conjunction with others.
Implementation 21 Having reference to Fig. 2, a functional diagram of a Status Agent 22 illustrates the interaction of the Status Agent with a Diagnostic Agent and a 1 Parameter Tuning Agent. Further, Fig. 3 illustrates a timing diagram for the 2 embodiment of Fig. 1, being set forth in the context of a cyclic pumping process.
3 A functional diagram of the Status Agent showing its interaction with 4 the Diagnostic and Parameter Tuning Agents is shown in Figure 2. A timing diagram for the implementation with a cyclic pumping process is shown in Figure 3.
6 In summary, general application of the roles of the agents is similar to 7 that set forth in the context of an oil well pumpjack.
8 The system comprises comparing real time data to statistical and/or 9 historical profiles of the process or a simulated profile of the process, taking into account operational variance and thereby identifying deviations. The Status Agent 11 tracks the progress and the specific states of the process. Pattern recognition, drift 12 from the operational envelope, and metrics of the deviation are in a classifier to 13 identify probable diagnostic agents to trigger including a parameter tuning agent.
14 The Al Manager triggers the appropriate diagnostic agents and receives the results.
Diagnostic Agents with causal process-specific PGNs identify probable causes for 16 the deviation and their likelihood.
17 The Al Manager compares the probabilities of the various Diagnostic 18 Agents and updates the Status Agent of the diagnosis of high certainty or initiates 19 additional tests if the level of uncertainty is too high to differentiate a likely cause.
The Al Manager may further initiate the Model Tuning agent based on the output of 21 the diagnostic agents. Control strategy agents assess opportunity and/or risk of 22 control action based on the probability of one or more diagnoses and recommends 1 a control action based on the opportunity /risk analysis. Further, Optimization 2 agents may be triggered prior to a control action being implemented to optimize or 3 determine the precise control action to be taken.
Detailed Agent Description 6 As previously noted, the lAs are described herein in the context of the 7 sucker rod pump application. Other contexts are discussed later for illustrating 8 variations in the context-specific behaviour of the specified agents.
9 Al Manager As shown in Fig. 4, the Al Manager handles priorities and triggers one 11 or more Diagnostic Agents, based upon observations and triggers which are 12 received from one or more Data & Modeling Agents and one or more Status Agents.
13 The process of the Al Manager is autonomous and asynchronous to coordinate execution and operation of the different intelligent agents (lAs).
The design and configuration of the Al can change depending upon the industrial application or context for which it is being used, the system possibly requiring a different number and design of functional agents, such as Diagnostic and Control 18 Agents. The responsibilities and of the Al Manager include:
receives outputs from the one or more Status Agents, activates the appropriate Agent(s), dynamically prioritizes the agents and monitors results 21 from the different agents.
1 - tracks the status of all active Diagnostic Agents, Optimization agents 2 and Control Agents.
3 - uses results received from the Diagnostic and Control Agents to 4 enable/disable/adjust the tests used by the Data & Modeling Agent and the Status Agent.
6 - oversees triggering and data transfer to different computational 7 threads, such as lAs, many of which may contain probabilistic graphical 8 models PGM, such as Bayesian Nets and/or other Ms .
9 - uses inter-process messaging (non-embedded) or event triggering (embedded).
11 - manages self-learning operations of Bayesian Nets and updating of 12 Process Parameters 13 Further, in applications with distributed, independent processes, such 14 an oil field, the Al Manager at each individual well may network or coordinate with other Al Managers at other wells to share learned diagnoses or control strategies 16 either directly or via a central SCADA manager.
18 Supervisory Control and Data Acquisition (SCADA) Manager 19 Systems according to embodiments taught herein having a SCADA
may incorporate Al functionality of each system within its domain or incorporate additional methods or agents to monitor field scale parameters and their effects at 22 the individual well.
1 The SCADA Manager may utilize the probability tables or historical 2 data from individual wells to update the probability tables of other wells or provide 3 these wells historical case information to enable the wells to utilize machine learning 4 techniques to update their own probability tables.
6 Data & Modeling Agent 7 One role of the Data & Modelling agent is to monitor and track process 8 information and to run process models based on the process information for use by 9 other agents.
The Data & Modelling agent operates synchronously in real time, 11 handling incoming data by running to completion each time data is received or after 12 each completion of a cycle in a periodic process or batch process, and/or over 13 longer periods/multiple cycles.
14 The Data & Modelling agent runs process model(s) and performs real time analysis and tests at each data sample and/or cycle as directed by Al Manager 16 which acts on the behalf of diagnostic or decision agents. Tests or algorithms that 17 require computational periods longer than time provided between data samples may 18 be initiated and run asynchronously.
19 The Data & Modelling agent also performs logging of historical data.
The Data & Modelling agent operates in real time, receiving and 21 conditioning incoming data and polling lower priority data as required.
It will run 22 kinematic and dynamic models of the equipment and processes utilizing the 1 received data to observe and estimate the actual performance of the process. To 2 this end, the Data & Modelling agent will generate and log performance references 3 for comparison against incoming data.
4 These references will include a static model of the performance of the process based on process parameters and established operating envelopes.
6 The references further includes a statistically generated mean 7 reference with standard deviations of key measured and derived process 8 parameters based on multiple process cycles which is intended in part to filter out 9 process noise and external disturbances. The statistically generated mean reference will be generated over multiple cycles, logged periodically, used for a 11 limited period of time for comparison against current process performance and then 12 replaced as newer references are generated as required or as process parameters 13 change. Each logged reference is stored for historical analysis.
14 The references also include a model-based predictive reference utilizing measured and derived process parameters which incorporates a dynamic 16 process mode and may or may not include ideal or projected outputs. This model 17 will be compared and validated against incoming process data and will also be 18 logged and updated periodically like the statistical reference.
19 In the case of reciprocating systems such as a pumpjack, the agent generates a surface and a downhole dynamometer card for each pump cycle using 21 the kinematic and dynamic models of the surface and downhole equipment with the 22 incoming process data. Dynamometer cards represent rod load as a function of rod 1 position during the course of a single pump cycle consisting of a complete upstroke 2 followed by a complete downstroke. The actual values and shape of the card are 3 then compared or correlated with the static, statistical and predictive models as 4 required.
Additional process parameters may be monitored including, but not 6 limited to, tubing and casing pressures, measured or derived forces and parameters 7 such as pump friction, pump fillage, fluid levels, rod stresses along the rod string or 8 applied to various process equipment components, surface or downhole.
9 The potential to use visual information such as pictures or videos to identify production and operational issues is also recognized. For example, video of 11 the motion of a sucker rod pump could be useful to identify mechanical issues such 12 as belt slippage, leaking chemicals or broken components that may not be as 13 evident from solely monitoring of process inputs. In other process such as boilers, 14 thermal images may be utilized to identify and located hot or cool spots in a boiler tube network. The agent will include algorithms for specific tests that maybe 16 requested by the Al Manager for use by other agents. These tests will be 17 performed as data streams in and may be performed for all or part of a cycle or 18 performed once a given cycle has completed. Calculations for the cyclic tests may 19 be distributed between streamed data and the completion of the cycle to optimize processor utilization. Tests may include comparisons of incoming data against 21 static, reference and model predictive surface and downhole cards, process /
22 equipment operating envelopes and safety limits.
1 The agent will primarily transmit measured / derived data and results 2 of tests to the Status Agent or, if required, directly to the Al Manager. The agent will internally manage the periodic logging of historical data and references.
Agent 4 specific tests and exception logging of data will occur at the request of the Al Manager.
6 Typical observable conditions and configured information for a sucker 7 rod application include: Pressure: Casing and Tubing, Fluid Level, Well parameters 8 and configuration: Measured and calculated, Rod String Completion Data, Fluid viscosity and makeup, Flow / No-Flow Detection, Vibration Sensing ¨ Level, Motor Voltage, Current, Torque, Speed, Rod Loading: static and dynamic, Stroke 11 Reference Position, Interlock Status.
13 Status Agent 14 The primary role of the Status agent is to identify any potential variation or deviation from normal or predicted operation occurring such as an 16 external disturbance or a change in process conditions or parameters.
17 = Consists of a mechanism to detect deviation from normal, ideal 18 or predicted operation, a PGM based state model of the process, an operational envelop analysis means and pattern recognition means and a classifier to triggers the appropriate diagnostic and Control Agents and a mechanism to update inherent PGMs via machine learning techniques if 22 required.
1 = Monitors and identifies between the real-time data and 2 historical data, model predictions.
3 = It identifies whether variations significantly deviate from normal operation and initiates tests to identify potential sources or categories of sources for the variation and sets the priorities for investigation. This 6 optimizes use of valuable and limited computation capacity.
7 = The Operational Envelope Analysis uses a statistical mean of 8 the process based on historical data that is periodically updated and/or a predicted / ideal model of the process. Deviations from the normal or ideal operations are identified and flagged as to their severity.
11 = The state of the process is tracked as it moves through its operational cycle using a PGM based state model that utilizes tests on real 13 time data to probabilistically identify the current operation state.
14 = For example, in the sucker rod pump application, the downhole pump cycles through a upstroke where the fluid load of the pump is lifted by 16 upward motion, the closing of a travelling valve and the opening of a standing 17 valve followed by the downward motion of the pump, the opening of the travelling vale and the closing of the standing valve. In addition to the states 19 of the valves, there are states of fluid and/or gas compression and decompression. As the process moves through the different states, the PGM
determines the likelihood of each stated based on observations and tests results. The PGM could be a hidden Markov model, Bayesian Net or like 2 probabilistic graphical model. See Figure 5.
3 = A
pattern recognition mechanism is included. The preferred implementation is a time series pattern recognition that provides a probabilistic match of incoming data stream to known patterns from a database to assist the process state tracking by PGM. Euclidean, dynamic 7 time warping and dynamic derivation time warping are the preferred matching criteria for implementation although many mechanisms exist. In addition, the pattern recognition includes a classification mechanism that can identify and classify recurrent patterns that are associated with process deviations, store these patterns and track their reoccurrence in conjunction 12 with process variables to assist with manual diagnosis or a diagnosis based 13 on machine learning techniques using the pattern and the data observations 14 associated with its occurrence.
= Finally a classifier is used to identify and prioritize the 16 appropriate diagnostic agents and/or Control Agents to trigger.
17 =
Probability tables of PGMs and classifiers are updated as 18 diagnoses are confirmed and validated to improve performance 19 The Status Agent utilizes a probabilistic graphical model(s) (PGM) as a classifier that compares process data against Process Model predictions and/or statistical historical data to identify a deviation(s) from predicted or normal 22 operation.
1 Based on the nature of deviation, diagnostics or evaluation of specific 2 process parameters may be triggered and prioritized in order to identify the source 3 and causality.
4 Notice of completion of tests and their results will be sent directly to the Al Manager which will trigger and prioritize the appropriate diagnostic, 6 optimization and Control Agents. For example, probable deviations in the process 7 model's parameters will trigger the activation of an intelligent tuning agent.
8 Results of the diagnostics test and confirmation of diagnoses by the 9 various agents will be communicated to the Status Agent via the Al Manager to further train the Status Agent. Priors for the Status Agent may be set manually or 11 derived from probabilities established by similar wells.
12 It is intended that hidden or latent variables/nodes will be incorporated 13 .. into the Status agent to facilitate the identification of modes, dependencies, 14 relationships or issues not contemplated in the original design of the graphical probability networks deployed.
16 Initially the Status Agent would need to be iterative in nature, 17 monitoring as process conditions persist or evolve from stroke to stroke. It would 18 generate status conditions and alarms to be relayed to the Al Manager which would 19 facilitate diagnosis and courses of action. Deviations that persist after several strokes may increase the probabilities of some conditions and thus a reallocation of 21 processor computational priorities.
1 The Status Agent would need to be capable of recognizing changes to 2 processes or well conditions that evolve on a gradual level over the course of hours, 3 days or months requiring access to historical trending of well conditions. It may be 4 determined that the Status Agent may be divided into two separate agents to address short and longer term process variations.
6 It is also recognized that this agent may be reduced in scope to 7 exclude generating alarm for some system statuses that are better left to 8 deterministic or logic type control.
9 The presence or absence of control action to remedy a known deviation may be incorporated into the Bayesian Net as resolving the condition 11 which may take several strokes or more and generate additional process variations.
13 Diagnostic Agents 14 A role of the Status agent is to identify any potential variation or deviation from normal or predicted operation occurring such as an external 16 disturbance or a change in process conditions or parameters. See Figure 6.
17 - Diagnoses causality of variation from normal operation or MPC.
18 Operates asynchronously after being triggered 19 - Employs a PGM that identifies the probable condition of the equipment and/or the causality for the deviation based on tests and known 21 data.
22 - May request test(s) by data & modeling agent via Al Manager.
Outcomes from the diagnostic agent may be used to trigger additional agents such as the model tuning agents that will identify and 3 quantify variations in process parameters.
4 In a preferred Diagnostic Agent implementation, a causal PGM model with three main levels or categories of nodes would be used that share features 6 found in clinical diagnoses.
7 Top level nodes are comprised of process parameters, independent or ambient conditions, states of the process that can be observed (directly measured 9 or applied to the process) or are known with relative certainty.
(Predispositions) Mid-level nodes are the conditions that are potential diagnoses for the underlying conditions that are contributing to the deviations in the process.
12 (Diseases) Bottom level nodes are results of tests, observables, symptoms or metrics which are dependent on the underlying conditions from which their inherent probabilities are used to identify the underlying conditions with an acceptable 16 degree of certainty. (Diagnostic Tests, Symptoms) 18 Diagnostic Agent Example:
19 Process deviations due to external disturbances: Gas Interference 21 As shown in Figs 5 and 6, a Diagnostic Agent is requisitioned or 22 initiated to apply a gas interference model, to validate and quantify the condition 23 and to facilitate updates or adjustments to the model predicative control.
1 Tests applied in the model will include pattern recognition of gas 2 interference in the downhole load position profile, whether or not sufficient load has 3 been dropped to account for fluid loads and friction, rate of change of loads with 4 respect to position and time, whether timing, positions and rate of change of loads are consistent with models of gas and fluid compression given the other observed 6 deviations in the downhole pump loads and potentially the rod loading at the 7 surface. In Fig. 5, the various dynamometer are shown, the various stages of the 8 operation being identifies by : PPRL ¨ Peak Polish Rod Load, MPRL ¨ Minimum 9 Polish Rod Load, CBE ¨ Counterbalance Effect, TV ¨ Travelling Valve, SV ¨
Standing Valve, and numerical process points identifying: 1 ¨ Start of DH
Upstroke, 11 2 ¨ Fluid Load Picked up, SV open, TV closed, 3 ¨ Top of DH Stroke /
Start of DH
12 Downstroke, 4 ¨ Fluid Load Being Dropped, TV & SV Closed, 5 ¨ Gas and Fluid 13 Compression complete, SV open, 6 ¨ Gas compression in progress, TV & SV
14 Closed, Pump Fillage identifiable, 7 ¨ Fluid Load Picked up, TV open, SV
Closed, 8 ¨ Pump plunger hitting top of pump, and 9 - Pump plunger hitting bottom of pump.
16 A sample deviation related to gas interference is shown in dotted lines.
17 Significant gas interference can result in fluid pound which stresses 18 the rod string and equipment or be indicative of a gas lock or pumpoff condition 19 necessitating a shutoff of the equipment to allow fluid levels in the well to rise sufficiently for pumping to resume. Diagnostic agent may trigger yet another 21 separate Diagnostic agent to assess the contributions to equipment fatigue.
1 The probability of the diagnosis will be compared by the Al Manager to 2 assess the likelihood of a correct diagnosis based on the results of independent 3 diagnoses for other conditions.
Diagnostic Agent Example: Fatigue Monitoring 6 Further, as required by the Al Manager, a further Diagnostic agent for 7 Fatigue monitoring can be recruited that monitors, assesses and tracks rod string 8 equipment fatigue.
9 Forces applied to the rod during operation are calculated by the downhole model and resolved to fixed segments of the rod string. The stress and 11 fatigue resulting from these forces is quantified and tracked. Goodman Analysis 12 methods are used to assess how the stresses applied in each stroke impacts the 13 fatigue and life cycle of the rod string. Figures 7A and 3B shows a three-14 dimensional plot of the stress and fatigue loads on the rod string over the entire cycle. The surface is typically colorized to show the Goodman loading for each 16 section of the rod string throughout the cycle enabling a user to easily identify where 17 in the stroke the rod string is being overstressed.
18 Likelihood of damage to the rod string in the short and long term is 19 assessed including its impact on the mean time between failures (MTBF) for the equipment.
1 Unacceptable levels of stress are flagged or alarmed and returned to 2 the Al and Alarm managers so that specific control action may be determined and 3 implemented.
Process Model Parameter Tuning Example:
6 Well Parameter Tuning Agent for Downhole Observer model of Sucker Rod Pump 8 The Process Model is "self-tuning" or learning. This is outside of the 9 failure of an equipment or external disturbance which are intended be addressed with specialized intelligent agent(s) (IA) of their own.
11 A role of the Process Model Parameter Tuning Agent is to ensure that 12 the process model(s) accurately reflect the actual process. Triggered by the Status 13 agent and Diagnostic Agents, the Tuning Agent identifies, evaluates and quantifies 14 potential variations in model parameters, process variables and equipment condition that contribute to deviations between the process and the process model.
16 As changes in well conditions persist from stroke to stroke or evolve 17 on a gradual level, there is a need to ensure that process model(s) remain accurate.
18 Probable deviations in the process model's parameters will trigger the activation of 19 the Tuning Agent.
1 The Tuning Agent:
2 Employs a PGM that identifies the probable variations of process 3 .. parameters and/or equipment condition that contribute to the process model based 4 on tests and known data.
Using the probabilities for process parameter variation, the model 6 tuning agent can initiate and prioritize numerical or iterative methods with the 7 process model to identify and quantify the possible contributions to the observed 8 deviations and validate them against current data observed from the process. Once 9 the potential sources are quantified, the probability of the variations required to correct the process model are probabilistically considered using a decision net that 11 takes into account the risk associated with incorrect diagnoses.
12 Specific metrics, tests or measurements that are outside of regular 13 operation may be necessary to assist in the diagnosis and tuning of the process 14 model(s) and would be performed on an as needed basis; however, once "tuned", the need for these tests should be minimized so as not to adversely affect 16 production or consume limited computing capacity.
1 Basic Concept of Operation 2 Using historical sequence of mean, average, or typical process cycles, 3 the Process Model Tuning Agent identifies the most likely causes for the observed 4 deviations in the historical sequence, and validates the cause and corrects the parameters in the model.
6 In the case of the sucker rod pump / oil well, many different parameter 7 changes or conditions can contribute to a process deviation.
8 Well conditions can change very quickly from one stroke to the next as 9 in the case of a failure of mechanical systems, pumpoff or gas lock, sticking of the rod string, etc. These may need to be identified and flagged for alarming, change of 11 control mode or action depending on the nature of the condition. Other conditions 12 can be measured such as gas pressure, temperature, pump speed, rod loading, etc.
13 Process Model parameters change more gradually but also can be 14 affected by well conditions as they change. For example, a leak in the tubing can affect fluid levels and pressure in the tubing.
16 Some of these well conditions can affect multiple parameters.
For 17 example, temperature can affect fluid viscosity and cause wax to precipitate 18 increasing friction. Fluid level can affect downhole pressure and buoyant rod weight 19 affecting friction, viscosity and other observed forces.
Some parameters change slowly over hours or days versus from 21 stroke to stroke. The agent would need to assess the rate of change of parameters 1 and targeting those most likely to influence the observed error over the time 2 observed for it to manifest.
3 The scope of operation of the agent would ideally be limited to the 4 tuning of the downhole model and but also capable of identifying a change that is beyond that scope (independent of the model) such as equipment failure or some 6 external disturbances. The IA would then direct other agents, algorithms, control 7 modes or alarm managers to engage to resolve the deviation in the process from 8 the model.
9 To tune the model, it may be advantageous to have an IA provide direction as to which parameters and the range of values for those parameters so 11 that an algorithm may more expeditiously search for corrective values rather than a 12 global search. It may also assist in identifying whether one or more parameters 13 need adjustment.
Agent Implementation 16 The Process Model Tuning agent would compare historical records of 17 the process with the current record, taking the current measured values of process 18 variables and derived process metrics to identify and validate which model 19 parameter(s) have varied and determine the corrected values.
In the case of the pumpjack, there are significant variations from one 21 dynamometer card to the next which may mask changes in Process Model 22 parameters. To overcome this, multiple dynamometer cards would be used to 1 generate a distribution of which the mean and variance/standard deviation would be 2 saved on a periodic basis in the form of a Fast Fourier Transform (FFT).
A historical 3 "mean" card be compared to the most recent mean or the current output of the 4 Process Model to identify shifts in the metrics.
In a preferred IA implementation, a causal PGM model with three main 6 levels or categories of nodes would be used in a manner similar to that used in a 7 diagnostic agent.
8 Top level nodes are comprised of process parameters, independent or 9 ambient conditions that can be observed (directly measured or applied to the process) or are known with relative certainty and can influence the likelihood a 11 parameter has changed. (Predispositions) 12 Mid-level nodes are the Process Model parameters that cannot be 13 directly measured with certainty and are subject to variation.
(Diseases) 14 Bottom level nodes are observables, symptoms or metrics which are dependent on the model and well conditions or the outcome of tests that can be 16 applied to further resolve the Process Model parameters and range of variations.
17 (Diagnostic Tests, Symptoms) 18 Fig. 8 shows a grouping of the various nodes that could be used to 19 represent the values in the process, model and metrics.
The probabilistic graphical model for the agent comprises two main 21 components: a mapping of the possible range of process metrics and probability 22 tables of the likelihood that the process model parameter has changed.
1 The first component is a mapping of the possible range of process 2 metrics that would result from the range of process variables and process model 3 parameters. This mapping may be of absolute values or deviations from nominal 4 values for variables or parameters as required. In essence for a given instance or range of process variables and a specific instance of the model parameters and the 6 metrics would be determined based on the model. It is possible that some or all of 7 the variables, parameters or metrics could be represented as discrete ranges or 8 continuous distributions and determined through an exhaustive iteration of the 9 model for all values. Alternatively, the mapping could be based on the causality between the various variables and process model as opposed to a dependencies 11 completely derived via machine learning and exhaustive simulation of the process 12 over the range of possible variables and parameters.
13 The second component includes probability table(s) or distribution(s) 14 of the likelihood that the process model parameter has changed since the last historical record was taken. This could be based on historical data but also include 16 calculations. One example of a calculation would be the likelihood of a fluid level 17 change based on the possible range of fluid volume produced given the time 18 between current and historical records.
19 With reference to Fig. 9 that illustrating a process model learned sensitivity with a learned structure, mapping and likelihood of change are combined 21 and learning the structure provides a causal Probabilistic Graphical Model (PGM).
1 For a given set of process variables and metrics, the PGM identifies 2 the most probable model parameter to have changed and trigger specific numerical methods to derive the exact values required to correctly tune the model. The PGM
4 and associated "tuning" algorithms are able to operate in situations where multiple model parameters may have changed. This may involve iterating the predictive 6 model with actual or historical results to converge on revised process parameters.
7 It is also possible that the agents would initiate or request 8 supplemental tests so that the source of the deviations can be diagnosed and 9 validated.
The goal is to efficiently and automatically tune the model as the process is running in the background. The IA may also utilize real time data as part 12 of the effort to validate the tuning before locking in the revised parameters.
The specific process parameter(s) that have changed would be quantified and validated using the process model(s) and real time data and referred to the Al Manager for updating process parameter and probability tables for all related lAs.
16 The agent described herein is not intended to be directly in the control loop. It may also act as resource manager to queue other agents to initiate an investigation into higher level well operations and conditions by determining the source of deviations is not likely to be related to variation in the process model parameters.
21 In the case of the pumpjack, operation, using a variable intra-stroke speed may require a different PGM than that of the fixed intra-stroke speed as the 1 variation of the speed adds significant complexity and can greatly affect the metrics 2 and learned structure to identify and correct process model parameters. This 3 increased complexity also greatly increases the degree to which the process can be 4 optimized and the value added of the overall method and apparatus.
6 Model Configuration 7 Certain data pertaining to the well "completion" is known. That being 8 said, in the course of operation, the initial model will be validated against the 9 configuration information provided. This would pertain to the type of equipment installed and its specific configuration. The configuration information is likely to 11 change during operation. Such information in the cyclic pump controller context 12 includes:
13 = Rod string types, lengths, properties and placements within 14 overall rod string = Pumpjack type, geometry, gear ratios, operating limits 16 = Downhole pump, type, dimensions, operating limits, other info 17 = Tubing type and anchors 18 = Orientation and deflections of well as drilled 19 = Other equipment downhole or on the surface that could impact dynamic model performance 21 = Rod scrappers, Spacers, and the like 22 = Process Variables 1 = Process variable can include but may not be limited to:
2 = Pump speed and position 3 = Gas pressure in the casing and in the tubing 4 = Temperature(s) at surface: ambient, flowline = Actual Production.
7 Process Model Parameters 8 There will be information on the fluid being produced. These values 9 may change gradually with time and production rates.
= Fluid Level in the casing and in the tubing 11 = Fluid Density, Viscosity (static and dynamic) 12 These values will change with depth/pressure, temperature, % of oil, 13 water gas or other fluids (i.e. water cut).
Process Metrics 16 There will be other information on the status of the well and downhole 17 conditions. Some of this information can be measured, calculated or 18 inferred/approximated based on the information on well configuration, direct 19 measurements or other conditions in if known.
- Surface and Downhole load measurements with respect to time and/or 21 position in the pump stroke 22 Temperature downhole and gradient to the surface 1 - Static rod loads downhole and gradient to the surface 2 - Relative and absolute contributions of Fluid weight, friction, etc to 3 surface and downhole card, and 4 - Operator input or manual tests may be requested.
6 Control Agents 7 The primary role of a Control Agent is to evaluate & recommends 8 appropriate control action based on diagnostic results and input from Optimization 9 and Diagnostic Agent(s). It typically uses using a probabilistic decision net that takes into account the risk associated with control action. See Figure 10.
12 Control Agent Example:
13 Pumpoff Agent for Downhole Observer model of Sucker Rod Pump The Control Agent monitors and identifies variations from normal 16 operation & recommends appropriate control action based on information from 17 Diagnostic Agents and and other Agent(s ). Actions may include Off/On direction or 18 adjustment of pumpoff cycle parameters such as the on and off durations.
19 For example, gas interference may result in some fluid pound that may or not be within allowable rod stress limits. The Fatigue Monitoring Agent will 21 quantify the fatigue being experienced by the rod string and its impact on the MTBF.
22 The persistence of the conditions, the severity and external conditions may dictate 23 singular or multiple courses of actions. In the event of multiple courses of action or 1 condition that have not been previously encountered, the Control Agent may trigger 2 an Optimization Agent to access and recommend the best strategy.
3 The severity of the fatigue, probability of failure, cost of repair, control 4 options to reduce fatigue and the opportunity cost of lost production or the value of increased production would factored into a PGN decision net based on risk and 6 opportunity to evaluate the course of action. A possible configuration for a PGN is 7 shown in Figure 11. This agent integrates the results of the various Diagnostic 8 Agents and make control direction decisions. It may also alert the operator to design 9 issues or potential mitigants such as reducing the pumping speed. The Control Agent is a learning agent for learning the best control action for various conditions 11 from the recommendation of Optimization Agents and the success of earlier 12 recommendations.
14 Optimization Agents A role of an Optimization agent is to use models and calculated 16 parameters to evaluate potential optimization strategies and provide guidance. The 17 Agent typically uses a probabilistic decision net that takes into account opportunity 18 or the risk associated with different optimization strategies action.
19 Additionally, a process simulation can be utilized to map exhaustively, or selectively, the process response to process variables, their range of operation 21 and potential deviations such that changes to a process can be determined 22 probabilistically and represented as PGN, potentially via machine learning 1 techniques. When combined with historical observations of the process, this 2 .. enables a means of process optimization that is highly deterministic in nature 3 .. without exhaustive simulations and/or numerical methods in real time.
4 Using machine learning techniques, process responses such as energy consumption or production output could be represented in a PGN and used 6 to provide guidance to a numerical optimization means. The guidance could 7 .. encompass identifying a compact range for the numerical search to converge on an 8 optimal solution for the operating parameters or in the event of a process with high 9 levels of certainty, provide the optimal operating parameters directly to control. In an .. alternate embodiment, the process variables could be represented as Fourier series 11 or other approximation means and a probabilistic mapping of the global responses 12 of the process could be generated as a function of these Fourier coefficients. This 13 provides a unique advantage over other optimization methods as it can greatly 14 reduce the time required to determine a local or a global optimum for the process in real time.
16 The probabilistic mapping of the process could be computed in the 17 .. background of a processor controlling the process or on a separate processor which 18 could also utilize parallel computing methods to reduce the elapsed time, and 19 generate the probability tables for the optimization PGN.
In the case of oil well pumping system, local or global optimizations of 21 complex intrastroke variations of pump prime mover speed to optimize the well such 22 .. as those of US 6,890,156 to Watson (pumpjack speed profiling) could be performed 1 with significantly reduced computation compared to other numerical optimization 2 means.
3 - Uses process models and calculated parameters in conjunction with 4 numerical or iterative methods to evaluate potential optimization strategies and provide guidance. Operates asynchronously after being triggered.
6 - For example, in the sucker rod pump application controlled by a fixed 7 speed motor, the agent may use statistical or cumulative pump fillage and 8 run time to establish well inflow rates and utilize these to determine optimal 9 pump on and off cycles to maximize production based on acceptable fatigue limits to the sucker rod string and/or provide guidance for setting the optimal 11 strokes per minute to operate the pump. It may identify situations where a 12 control strategy such as PumpOff may or may not be used based on multiple 13 conditions including but limited to production and energy requirements, 14 energy savings, fatigue, external temperatures that may impact performance such as freezing of lines during winter, etc.
16 - In a sucker rod pump application where the motor speed is variable 17 over multiple cycles via a variable speed or variable frequency drive it may 18 direct the Control Agent to vary the speed of the drive.
19 - In a sucker rod pump application where the motor speed is variable within the stroke such as that of (Watson patent US 6,890,156), different 21 speed profiles may be determined based on the process model, pre-determined speed profiles initiated or adjusted and provided to the Control 2 Agent for implementation.
4 Pumplack Controller ¨ Embodiment With reference to Fig. 12, an embodiment of a pumpjack controller is 6 shown.
Fig. 12 illustrates the hardware structure of the system 1200 disclosed 7 herein, according to one embodiment. As shown, the system 1200 comprises a controller 1202 installed on the jobsite of an oil well. The controller 1202 may be 9 implemented in a general purpose computer programmed with appropriate software, firmware, a microcontroller, a microprocessor or a plurality of microprocessors, a digital signal processor or other hardware or combination of 12 .. hardware and software known to those skilled in the art.
13 The controller 1202 communicates with a plurality of sensors 1204 installed on various devices such as the pumpjack, tubing string, casing, sucker rod and the like, on the ground or in the wellbore, for collecting data regarding the oil 16 well and devices, e.g., crank speed, rod stress, downhole temperature and pressure, fluid level and the like. Those skilled in the art appreciate that it is dependant on the system design and implementation to determine what sensors are 19 required in the system and what data to be collected.
The controller 1202 also communicates with a plurality of action 21 devices 1206 such as variable speed motors, AC or DC variable speed drive such 22 as an ABE ACS-601 (ABE Industry Oy, Helsinki, Finland) or Allen-Bradley 1 Impact drive (Rockwell Automation, Milwaukee, Wis., USA), dynamic brake, alarm, 2 and the like, for controlling the operation of devices of the oil well, in accordance 3 with predefined rules, e.g., a crank speed profile for controlling crank speed, and/or 4 in response to data collected from sensors 1204.
The system 1200 further comprises one or more computing devices 6 1210. As those skilled in the art appreciate, each computing device 1210 may 7 comprise a processor, a storage such as Read-Only Memory (ROM), volatile and/or 8 non-volatile Random Access Memory (RAM), solid state drive, hard drive, or the 9 like, a network module, and other components, all connected to the processor via one or more signal buses. Each computing device 1210 executes an operating 11 system, e.g., a real-time operating system, Unix , Linux , Microsoft Window NT, 12 Microsoft Windows 2000 Server, Microsoft Windows Server 2012 or the like.
13 Generally, an operating system is a set of computer readable code executed by the 14 processor for managing various hardware and software components, and for supporting the execution of application programs.
16 Some computing devices 1210 may be deployed in the jobsite of the 17 oil well and connect to the controller via proper wired or wireless means such as 18 direct cable connection, a local area network (LAN), Ethernet, WiFie, Bluetooth , 19 Zigbeee, or the like. Some computing devices 1210 may be deployed remote to the oil well, and are connected to the controller through a wide area network (WAN), the 21 Internet, a telephone network, a cable network or satellite, via proper wired or 22 wireless means. Those skilled in the art appreciate that, depending on the system 1 design and implementation, the one or more computing devices 1210 may be 2 desktop computers, laptops, server computers, tablets, smart phones, or the like.
3 As those skilled in the art appreciate, the software disclosed herein may be 4 deployed on one or more computing device 1210, and the processing load may also be dynamically distributed among at least some of the processors of the controller 6 1202 and/or computing devices 1210.
7 Other embodiments comprise: a system for controlling a process 8 comprising: at least one processor; at least one sensor coupled to the at least one 9 processor; and a storage coupled with and readable by the at least one processor and storing a set of instructions which, when executed by the at least one 11 processor, cause the processor to perform actions comprising: receiving, from the 12 at least one sensor, real time process data generated by the process;
comparing 13 against a predictive objective function and/or a historical mean and/or a predicted 14 operational envelope and/or a predetermined static function for establishing any deviation from normal operation; applying probabilistic modeling at a status agent 16 for classifying the source and likely cause of the deviation;
prioritizing actuation of at 17 least one or more diagnostic agents related to causality of the deviation at a 18 supervisory manager; communicating the results of the diagnostic agents to the 19 supervisory manager; modifying the probabilistic model of the status agent from the results from the one or more diagnostic agents; and applying a probabilistic model 21 at a control agent for evaluating risk and recommending appropriate control action 22 to the process.
1 In another embodiment, a computer-readable storage device is 2 provided comprising computer-executable instructions for controlling a process, 3 wherein the instructions, when executed, cause a processor to perform actions 4 comprising: receiving, from the at least one sensor, real time process data generated by the process; comparing against a predictive objective function and/or 6 a historical mean and/or a predicted operational envelope and/or a predetermined 7 static function for establishing any deviation from normal operation;
applying 8 probabilistic modeling at a status agent for classifying the source and likely cause of 9 the deviation; prioritizing actuation of at least one or more diagnostic agents related to causality of the deviation at a supervisory manager; communicating the results of 11 the diagnostic agents to the supervisory manager; modifying the probabilistic model 12 of the status agent from the results from the one or more diagnostic agents;
13 andapplying a probabilistic model at a control agent for evaluating risk and 14 recommending appropriate control action to the process.
16 Other Applications 17 The system and methodology described herein, both generally and in 18 the specific context of a pumpjack, are also applicable to a wide variety of other 19 processed including: Steam Methane Reformer, Boiler, Heat Treatment Furnace, Water Treatment, and Compressor Skid/ System.
21 In some additional detail for a couple of other scenarios, the nature of 22 such other processes and the role of the Agents is described as follows.
2 Model Predictive Controller 3 Model predictive control techniques typically require the nature of 4 disturbances to be known in advance in order to provide control direction to bring the process back within its normal operating envelope. They also require the 6 parameters of the model to be accurately tuned such that inputs to the model 7 generate accurate and relevant outputs. Such applications require significant 8 .. upkeep by highly skilled and knowledgeable individuals unless they are highly 9 stable. In a batch process application with a model predictive controller, the roles implemented for the agents is similar roles to that in the oil well pumpjack 11 application except that control action is more limited as it is relegated to the model 12 predictive controller. The roles of the Agents include The Data and Modeling Agent, 13 the Status Agent, Al Manager, various Diagnostic Agents wherein the Al Manager 14 will compares the probabilities of the various Diagnostic Agents and updates the Status Agent of the diagnosis of high certainty or initiated additional tests if the level 16 of uncertainty is too high to differentiate a likely cause. The Al Manager may also 17 .. initiate the Model Tuning agent based on the output of the diagnostic agents.
18 The Control Agent assesses opportunity and/or risk based on the 19 probability of one or more diagnosis and recommends a change of model or control action to the model predictive controller based on the opportunity /risk analysis.
1 Compressor Skid/ System 2 Compressor skids are representative of a typical packaged system 3 that is designed to perform a task of a narrow range, in this case the compression of 4 gases to feed into a process or the compression of gases taken from a process to maintain a vacuum. The later can be found on oil wells where the casing pressure is 6 reduced below atmospheric pressure to increase well inflow.
7 These applications are typical fluid and thermodynamic process where 8 the pumps, valves and process operation are sized for a specific operation and 9 readily modelled. Equipment failure, process disturbances and operational limits account for much of the variation in the process.
11 Again the roles are very similar to that of the oil well pumpjack 12 application, with the primary change being the process model, the operational 13 states tracked by the Status Agent and the nature of diagnostic Diagnostic Agents 14 Agents which are process specific. In this case, monitoring the commanded versus actual pressures, flow and temperature of the process to establish probabilities.
16 Depending on the risk and safety implications, the controller may be utilized to 17 conduct actual tests by making small changes to process setpoints and verifying the 18 disturbances and resulting control actions are indicative of proper operation to 19 further isolate the source of process disturbances.
The process the skid is controlling may also be modelled enabling a 21 broader range of scope for the AIMC.
1 Other Process Systems 2 The application into other processes, such as furnaces, or boilers, 3 compressors or a collection of processes which are combined into complex systems 4 such as steam reformers or refineries; do not fundamentally change how basic operation of the AIMC and its agents. As the system is designed to operate under 6 uncertain conditions, the scope of control action may be restricted based on the 7 safety and risk tolerance. Much of this can be handled by the preferred 8 implementation which is to have the AIMC make control recommendations to a 9 standard industrial controller which incorporates the necessary safety interlocks and permissives to ensure safe operation in all circumstances.
Claims (27)
EXCLUSIVE PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS
FOLLOWS:
1. A method for controlling a process of at least one device, the method comprising:
receiving real time process data generated from the process;
processing the real time process data, and comparing the processed data against at least one reference of a process model of the process for establishing any deviation from normal operation;
classifying, at a status agent, a source of the deviation and a likely cause of the deviation;
prioritizing actuation of one or more diagnostic agents related to the causality of the deviation at a supervisory manager;
actuating the one or more diagnostic agents;
communicating the results of the diagnostic agents to the supervisory manager;
modifying, under the instruction of the supervisory manager, the process model based on the results of the one or more diagnostic agents, if the source of the deviation is the process model; and applying, under the instruction of the supervisory manager, the process model at a control agent for evaluating risk and recommending and initiating at least one control action to control the process of the at least one device.
receiving real time process data generated from the process;
processing the real time process data, and comparing the processed data against at least one reference of a process model of the process for establishing any deviation from normal operation;
classifying, at a status agent, a source of the deviation and a likely cause of the deviation;
prioritizing actuation of one or more diagnostic agents related to the causality of the deviation at a supervisory manager;
actuating the one or more diagnostic agents;
communicating the results of the diagnostic agents to the supervisory manager;
modifying, under the instruction of the supervisory manager, the process model based on the results of the one or more diagnostic agents, if the source of the deviation is the process model; and applying, under the instruction of the supervisory manager, the process model at a control agent for evaluating risk and recommending and initiating at least one control action to control the process of the at least one device.
2. The method of claim 1 wherein the prioritizing actuation of one or more diagnostic agents further comprises:
pattern matching to perform a probabilistic match to known patterns;
and classifying which of the one or more diagnostic agents are initially activated.
pattern matching to perform a probabilistic match to known patterns;
and classifying which of the one or more diagnostic agents are initially activated.
3. The method of claim 1 or 2 wherein the supervisory manager initiates a model tuning agent based on the output of the diagnostic agents.
4. The method of claim 1, 2 or 3 further comprising: prior to initiating the at least one control action, optimizing the at least one control action.
5. The method of any one of claims 1 to 4 wherein the one or more diagnostic agents are sub-agents of an encompassing diagnostic agent.
6. The method of any one of claims 1 to 5 wherein each of the agents can operate individually as separate agents, or as a sub-agent of an encompassing agent.
7. The method of claim 6 wherein the encompassing agent comprises an object-oriented Bayesian Network.
8. The method of any one of claims 1 to 7 further comprising, after modifying the process model:
re-processing the real time process data, and comparing the re-processed data against at least one reference of the modified process model for establishing any deviation from normal operation;
classifying, at a status agent, a source of the deviation and a likely cause of the deviation;
prioritizing actuation of one or more additional diagnostic agents related to the causality of the deviation at the supervisory manager;
actuating the one or more additional diagnostic agents;
communicating the results of the additional diagnostic agents to the supervisory manager; and modifying, under the instruction of the supervisory manager, the process model based on the results of the one or more additional diagnostic agents, if the source of the deviation is the process model.
re-processing the real time process data, and comparing the re-processed data against at least one reference of the modified process model for establishing any deviation from normal operation;
classifying, at a status agent, a source of the deviation and a likely cause of the deviation;
prioritizing actuation of one or more additional diagnostic agents related to the causality of the deviation at the supervisory manager;
actuating the one or more additional diagnostic agents;
communicating the results of the additional diagnostic agents to the supervisory manager; and modifying, under the instruction of the supervisory manager, the process model based on the results of the one or more additional diagnostic agents, if the source of the deviation is the process model.
9. The method of any one of claims 1 to 8 further comprising:
prioritizing actuation of one or more additional diagnostic agents if the level of uncertainty is too high to be able to differentiate a likely cause of the deviation.
prioritizing actuation of one or more additional diagnostic agents if the level of uncertainty is too high to be able to differentiate a likely cause of the deviation.
10. The method of any one of claims 1 to 9 wherein said classifying a source and likely cause of the deviation comprises:
applying probabilistic modeling at the status agent for classifying a source and likely cause of the deviation.
applying probabilistic modeling at the status agent for classifying a source and likely cause of the deviation.
11. The method of claim 3 wherein the model tuning agent initiates and prioritizes numerical or iterative methods with the process model to identify and quantify the possible contributions to the deviations.
12. The method of any one of claims 1 to 11 wherein the at least one reference of the process model comprises at least one of a predictive objective function and/or a historical mean and/or a predicted operational envelope and/or a predetermined static function.
13. The method of any one of claims 1 to 12 wherein at least one agent employs a Probabilistic Graphical Network.
14. The method of any one of claims 1 to 13 wherein at least one agent employs a Bayesian Network.
15. A method of controlling a process comprising:
comparing real time data to at least one reference of a process model of the process, said comparing taking into account operational variance and thereby identifying deviations;
tracking the process and the specific states thereof;
monitoring and identifying variations of the process from normal operation, and generating outputs;
based on said outputs, classifying one or more diagnoses relevant to the deviations;
prioritizing the classified diagnoses for identifying probable causes for the deviation and the likelihood of each of the probable causes;
comparing the diagnoses with the process model and updating the process model based on a diagnosis of high certainty if the cause for the deviation is the process model, and initiating additional diagnoses if the level of uncertainty is too high to be able to differentiate a likely cause of the deviation;
assessing opportunity and/or risk of control action based on the identified probable causes for the deviation and their likelihood; and recommending at least one control action to control the process based on said assessment.
comparing real time data to at least one reference of a process model of the process, said comparing taking into account operational variance and thereby identifying deviations;
tracking the process and the specific states thereof;
monitoring and identifying variations of the process from normal operation, and generating outputs;
based on said outputs, classifying one or more diagnoses relevant to the deviations;
prioritizing the classified diagnoses for identifying probable causes for the deviation and the likelihood of each of the probable causes;
comparing the diagnoses with the process model and updating the process model based on a diagnosis of high certainty if the cause for the deviation is the process model, and initiating additional diagnoses if the level of uncertainty is too high to be able to differentiate a likely cause of the deviation;
assessing opportunity and/or risk of control action based on the identified probable causes for the deviation and their likelihood; and recommending at least one control action to control the process based on said assessment.
16. The method of claim 15 wherein the at least one reference of the process model of the process comprises at least one of a static model of the process, a statistically generated mean reference, a model-based predictive reference, statistical and/or historical profiles of the process and a simulated profile of the process.
17. The method of claim 15 or 16 wherein said monitoring and identifying variations of the process from normal operation comprises:
monitoring and identifying variations of the process from normal operation using probabilistic modeling.
monitoring and identifying variations of the process from normal operation using probabilistic modeling.
18. The method of claim 17 wherein said probabilistic modeling comprises at least one Probabilistic Graphical Model based state model.
19. The method of any one of claims 15 to 18 further comprising:
after updating the process model, repeating the monitoring, classifying, prioritizing and comparing steps.
after updating the process model, repeating the monitoring, classifying, prioritizing and comparing steps.
20. A system for controlling a process of at least one device in response to data collected from a plurality of sensors, said system comprising:
a status agent for monitoring the status of the system based on data collected from the sensors;
at least one diagnostic agent for diagnosing at least a portion of the system and collecting diagnostic data from the sensors to identify deviation from normal operation;
a control agent for performing control actions to the process; and a supervisory manager coupling to the status agent, the at least one diagnostic agent and the control agent for:
receiving real time process data generated from the process;
comparing against at least one of a predictive objective function, a historical mean, a predicted operational envelope and a predetermined static function of a process model of the process, for establishing any deviation from normal operation;
classifying, at the status agent, a source of the deviation and likely cause of the deviation;
prioritizing actuation of the at least one diagnostic agent related to causality of the deviation;
modifying the process model based on the results of the at least one diagnostic agent, if the source of the deviation is the process model; and applying the process model at a control agent for evaluating risk and recommending appropriate control action to control the process of the at least one device.
a status agent for monitoring the status of the system based on data collected from the sensors;
at least one diagnostic agent for diagnosing at least a portion of the system and collecting diagnostic data from the sensors to identify deviation from normal operation;
a control agent for performing control actions to the process; and a supervisory manager coupling to the status agent, the at least one diagnostic agent and the control agent for:
receiving real time process data generated from the process;
comparing against at least one of a predictive objective function, a historical mean, a predicted operational envelope and a predetermined static function of a process model of the process, for establishing any deviation from normal operation;
classifying, at the status agent, a source of the deviation and likely cause of the deviation;
prioritizing actuation of the at least one diagnostic agent related to causality of the deviation;
modifying the process model based on the results of the at least one diagnostic agent, if the source of the deviation is the process model; and applying the process model at a control agent for evaluating risk and recommending appropriate control action to control the process of the at least one device.
21. The system of claim 20 wherein the supervisory manager further couples to the status agent, the at least one diagnostic agent and the control agent for:
initiating at least one control action to the process.
initiating at least one control action to the process.
22. The system of claim 20 or 21 wherein each of the agents can operate individually as a separate agent, or as a sub-agent of an encompassing agent.
23. The system of claim 22 wherein the encompassing agent comprises an object-oriented Bayesian Network or an undirected probabilistic network.
24. The system of any one of claims 20 to 23 wherein the at least one device comprises at least one pumpjack.
25. The system of any one of claims 20 to 24 wherein the at least one device comprises at least one of steam methane reformer, boiler, heat treatment furnace, water treatment equipment, and compressor skid.
26. The system of any one of claims 20 to 25 wherein the system is distributed in a plurality of jobsites for controlling the devices thereon.
27. The system of any one of claims 20 to 26 wherein said classifying a source and likely cause of the deviation comprises:
applying probabilistic modeling at the status agent for classifying a source and likely cause of the deviation.
applying probabilistic modeling at the status agent for classifying a source and likely cause of the deviation.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2835505A CA2835505C (en) | 2013-11-27 | 2013-11-27 | Method and apparatus for artificially intelligent model-based control of dynamic processes using probabilistic agents |
EP14865286.0A EP3074824B8 (en) | 2013-11-27 | 2014-11-27 | Method and system for artificially intelligent model-based control of dynamic processes using probabilistic agents |
JP2016534115A JP6751021B2 (en) | 2013-11-27 | 2014-11-27 | Method and system for artificial intelligence model-based control of dynamic processes using stochastic factors |
PCT/CA2014/051139 WO2015077890A1 (en) | 2013-11-27 | 2014-11-27 | Method and system for artificially intelligent model-based control of dynamic processes using probabilistic agents |
MX2016006764A MX2016006764A (en) | 2013-11-27 | 2014-11-27 | Method and system for artificially intelligent model-based control of dynamic processes using probabilistic agents. |
CN201480072999.9A CN105900022A (en) | 2013-11-27 | 2014-11-27 | Method and system for artificially intelligent model-based control of dynamic processes using probabilistic agents |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2835505A CA2835505C (en) | 2013-11-27 | 2013-11-27 | Method and apparatus for artificially intelligent model-based control of dynamic processes using probabilistic agents |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2835505A1 CA2835505A1 (en) | 2015-05-27 |
CA2835505C true CA2835505C (en) | 2020-02-25 |
Family
ID=53269770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2835505A Active CA2835505C (en) | 2013-11-27 | 2013-11-27 | Method and apparatus for artificially intelligent model-based control of dynamic processes using probabilistic agents |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2835505C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240003242A1 (en) * | 2022-07-04 | 2024-01-04 | Schlumberger Technology Corporation | Field pump equipment system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018049316A (en) * | 2016-09-20 | 2018-03-29 | 株式会社東芝 | Sensor diagnostic device, sensor diagnostic method and program |
DE102018212097B4 (en) * | 2018-07-19 | 2022-04-07 | Vega Grieshaber Kg | Field device with several arithmetic units |
CN113191730B (en) * | 2021-04-30 | 2023-07-21 | 中国安全生产科学研究院 | Dangerous chemical full life cycle information supervision system based on big data |
CN117130869B (en) * | 2023-09-11 | 2024-08-27 | 江苏流枢阁科技有限公司 | Artificial intelligence online real-time analysis method and device based on event driving |
-
2013
- 2013-11-27 CA CA2835505A patent/CA2835505C/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240003242A1 (en) * | 2022-07-04 | 2024-01-04 | Schlumberger Technology Corporation | Field pump equipment system |
Also Published As
Publication number | Publication date |
---|---|
CA2835505A1 (en) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210356918A1 (en) | Method and apparatus for artifically intelligent model-based control of dynamic processes using probabilistic agents | |
EP3074824B1 (en) | Method and system for artificially intelligent model-based control of dynamic processes using probabilistic agents | |
US20210216852A1 (en) | Leak detection with artificial intelligence | |
CA2835505C (en) | Method and apparatus for artificially intelligent model-based control of dynamic processes using probabilistic agents | |
EP4004333B1 (en) | Well site machine learning based rod pump failure predictions | |
KR102618023B1 (en) | Failure prediction diagnosis system and method through pattern analysis according to failure type | |
US9280517B2 (en) | System and method for failure detection for artificial lift systems | |
US8988237B2 (en) | System and method for failure prediction for artificial lift systems | |
CN111385140B (en) | System and method for generating data for monitoring network physical system to determine abnormality early | |
US20100106458A1 (en) | Computer program and method for detecting and predicting valve failure in a reciprocating compressor | |
WO2019182894A1 (en) | Diagnosing and predicting electrical pump operation | |
NO343417B1 (en) | System and method for condition assessment of downhole tools | |
CN110757510B (en) | Method and system for predicting remaining life of robot | |
US20210062619A1 (en) | Adaptive probabilistic health management for rig equipment | |
Jin et al. | A comprehensive framework of factory-to-factory dynamic fleet-level prognostics and operation management for geographically distributed assets | |
Lv et al. | Quantitative diagnosis method of the sucker rod pump system based on the fault mechanism and inversion algorithm | |
Tancredi et al. | Integration of Digital Twin | |
Latrach | Application of Deep Learning for Predictive Maintenance of Oilfield Equipment | |
Borth et al. | Probabilistic health and mission readiness assessment at system-level | |
Greitzer et al. | Development of a framework for predicting life of mechanical systems: Life Extension Analysis and Prognostics (LEAP) | |
Wigren | A Study on Condition-Based Maintenance with Applications to Industrial Vehicles | |
Smida | Smart Sucker Rod Pump Failure Analysis with Machine Learning | |
Bayagub | Early Electric Submersible Pump Failure Detection Using Artificial Intelligence | |
Mercurio | Towards predictive maintenance using long short-term memory autoencoder and streaming explainability | |
WO2023076395A1 (en) | Artificial intelligence-driven classification workflow for diagnosis of sucker rod pump operating conditions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request |
Effective date: 20181126 |