Patent Publication Number: US-11643918-B2

Title: Real-time wellbore drilling with data quality control

Description:
TECHNICAL FIELD 
     The present disclosure relates generally to digital processing of data about a wellbore. More specifically, but not by way of limitation this disclosure relates to the processing of such data to improve its accuracy for use in controlling a drilling tool. 
     BACKGROUND 
     A well includes a wellbore drilled through a subterranean formation. The conditions inside the subterranean formation where the drill bit is passing when the wellbore is being drilled continuously change. For example, the formation through which a wellbore is drilled exerts a variable force on the drill bit. This variable force can be due to the rotary motion of the drill bit, the weight applied to the drill bit, and the friction characteristics of each stratum of the formation. A drill bit may pass through many different materials, rock, sand, shale, clay, etc., in the course of forming the wellbore. Data can be collected from the wellbore during the process and adjustments to various drilling parameters are sometimes made during the drilling process to account for observed changes in the data. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a cross-sectional view of an example of a drilling arrangement that includes a system for data quality improvement to provide accurate data for projecting parameters to control a drilling tool according to some aspects of the disclosure. 
         FIG.  2    is a block diagram of a system for data quality improvement according to some aspects of the disclosure. 
         FIG.  3    is a flowchart illustrating an example of a process of using data quality improvement to provide values for controllable parameters for a drilling tool according to some aspects of the disclosure. 
         FIG.  4    is an example of a neural network architecture that can be used to provide data quality improvement according to some aspects of the disclosure. 
         FIG.  5    is a flowchart of another example of a process of using data quality improvement to provide values for controllable parameters for a drilling tool according to some aspects of the disclosure. 
         FIG.  6    is an example of a training architecture for an autoencoder that can be used to provide data quality improvement according to some aspects of the disclosure. 
         FIG.  7    is an example of a data flow for a deep autoencoder that can be used to provide data quality improvement according to some aspects of the disclosure. 
         FIG.  8    is an example of a real-time data flow in a system for data quality improvement to provide accurate data for control of a drilling tool according to some aspects of the disclosure. 
         FIG.  9    is an example of a screen display showing sample results for projected drill depth vs. time using data quality improvement according to some aspects of the disclosure. 
         FIG.  10    is an example of a screen display showing sample results for projected hookload for drilling a wellbore using data quality improvement according to some aspects of the disclosure. 
         FIG.  11    is an example of a screen display showing sample results for projected hole depth vs. time for drilling a wellbore using data quality improvement according to some aspects of the disclosure. 
         FIG.  12    is an example of a screen display showing sample results for projected hole depth vs. time for drilling a wellbore using data quality improvement according to some aspects of the disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     Certain aspects and features of the present disclosure relate to eliminating statistical outliers and missing values from wellbore data efficiently to improve the accuracy of parameters provided to control a drilling tool in real-time. Multiple data samples can be used as input to a machine-learning model to enable the machine-learning model to condition the wellbore data. A feature-extraction model can project missing data, statistical outliers, or both, and impute missing values. The machine-learning model can be trained using real-time data to condition the data. Optimization can be used to maximize accuracy and minimize the computational resources required. 
     Improving or correcting wellbore data to be used real-time drilling has often included an extensive review of the wellbore data by a drilling engineer or other professional to spot and eliminate statistical outliers or missing values caused by noise, signal dropouts, or other perturbations of a sensor&#39;s environment or its connections. Aspects and features disclosed herein can dynamically determine and execute an optimized process for imputing missing values and eliminating statistical outliers in a real-time data feed using machine learning. A drilling professional can optionally review the corrected data for still greater accuracy. Even if such input is used, the entire solution response time can be improved since only the machine-corrected data may need to be reviewed. 
     In some examples, a system includes a drilling tool, sensors, and a real-time message bus such as one that operates using the message queueing telemetry transport (MQTT) protocol. A computing device can receive current data from the sensors and train a machine-learning model. The computing device can generate and use a feature-extraction model to provide revised data values. The system can produce controllable drilling parameters using highly accurate data to provide more optimal control of the drilling tool. The real-time message bus can be used to apply the controllable drilling parameters to the drilling tool. 
     These illustrative examples are given to introduce the reader to the general subject matter discussed here and are not intended to limit the scope of the disclosed concepts. The following sections describe various additional features and examples with reference to the drawings in which like numerals indicate like elements, and directional descriptions are used to describe the illustrative aspects but, like the illustrative aspects, should not be used to limit the present disclosure. 
       FIG.  1    is a cross-sectional view of an example of a drilling system  100  that may employ one or more principles of the present disclosure. A wellbore may be created by drilling into the earth  102  using the drilling system  100 . The drilling system  100  may be configured to drive a bottom hole assembly (BHA)  104  positioned or otherwise arranged at the bottom of a drillstring  106  extended into the earth  102  from a derrick  108  arranged at the surface  110 . The derrick  108  includes a kelly  112  used to lower and raise the drillstring  106 . The BHA  104  may include a drill bit  114  operatively coupled to a drillstring  116 , which includes a drilling tool and may be moved axially within a drilled wellbore  118  as attached to the drillstring  106 . Drillstring  116  may include one or more sensors  109  to determine conditions of the drill bit and wellbore and return data values for various parameters to the surface through cabling (not shown) or by wireless signal. The combination of any support structure (in this example, derrick  108 ), any motors, electrical connections, and support for the drillstring may be referred to herein as a drilling arrangement. 
     During operation, the drill bit  114  penetrates the earth  102  and thereby creates the wellbore  118 . The BHA  104  provides control of the drill bit  114  as it advances into the earth  102 . Fluid or “mud” from a mud tank  120  may be pumped downhole using a mud pump  122  powered by an adjacent power source, such as a prime mover or motor  124 . The mud may be pumped from the mud tank  120 , through a stand pipe  126 , which feeds the mud into the drillstring  106  and conveys the same to the drill bit  114 . The mud exits one or more nozzles (not shown) arranged in the drill bit  114  and in the process cools the drill bit  114 . After exiting the drill bit  114 , the mud circulates back to the surface  110  via the annulus defined between the wellbore  118  and the drillstring  106 , and in the process returns drill cuttings and debris to the surface. The cuttings and mud mixture are passed through a flow line  128  and are processed such that a cleaned mud is returned down hole through the stand pipe  126  once again. 
     The drilling arrangement of  FIG.  1    and any sensors  109  (through the drilling arrangement or directly) are connected to a computing device  140   a . In  FIG.  1   , the computing device  140   a  is illustrated as being stationary, however, a computing device to receive data from sensors  109  and control the drilling tool including drill bit  114  can be installed in a building such as a dog house, be hand-held, be located in a vehicle, or be remotely located. In some examples, the computing device  140   a  can process at least a portion of the data received and can transmit the processed or unprocessed data to another computing device  140   b  via a wired or wireless network  146 . The other computing device  140   b  can be offsite, such as at a data-processing center or be located near computing device  140   a . In this example, computing device  140   b  is connected to a console  141  for displaying data for a user such as a drill operator or drilling engineer and for receiving input from the user. Either or both computing devices can execute computer program code instructions that are executable by a processor to implement a data quality engine (DQE)  148 . The computing devices  140   a - b  can include a processor interfaced with other hardware via a bus and a memory, which can include any suitable tangible (and non-transitory) computer-readable medium or memory device, such as RAM, ROM, EEPROM, or the like, can embody program components that configure operation of the computing devices  140   a - b . In some aspects, the computing devices  140   a - b  can include input/output interface components (e.g., a display, printer, keyboard, touch-sensitive surface, and mouse) and additional storage. 
     The computing devices  140   a - b  can include communication devices  144   a - b . The communication devices  144   a - b  can represent one or more of any components that facilitate a network connection. In the example shown in  FIG.  1   , the communication devices  144   a - b  are wireless and can include wireless interfaces such as IEEE 802.11, Bluetooth, or radio interfaces for accessing cellular telephone networks (e.g., transceiver/antenna for accessing a CDMA, GSM, UMTS, or other mobile communications network). In some examples, the communication devices  144   a - b  can use acoustic waves, surface waves, vibrations, optical waves, or induction (e.g., magnetic induction) for engaging in wireless communications. In other examples, the communication devices  144   a - b  can be wired and can include interfaces such as Ethernet, USB, IEEE 1394, or a fiber optic interface. The computing devices  140   a - b  can receive wired or wireless communications from one another and perform one or more tasks based on the communications. These communications can include communications over a message queuing telemetry transport message bus  145 , which may be implemented virtually over any kind of physical communication layer. The computing resources shown as examples herein can be scaled to multiple equipment arrangements. Transmission between computing devices can be supported through data replication. 
       FIG.  2    is a block diagram of an example of a system  200  for implementing data quality improvement according to some aspects of the disclosure. In some examples, the components shown in  FIG.  2    (e.g., the computing device  140 , power source  220 , and communications device  144 ) can be integrated into a single structure. For example, the components can be within a single housing. MQTT message bus  145  can be included in the computing device as well, or alternatively can be separate. In other examples, most or all of the components shown in  FIG.  2    can be distributed (e.g., in separate housings) and in electrical communication with each other. 
     The system  200  includes the computing device  140 . The computing device  140  can include a processor  204 , a memory  207 , and an internal bus  206 . The memory  207  can be used to store drilling parameters  209  and wellbore data  210 . The processor  204  can execute one or more operations of computer program code instructions  211  for the DQE. The processor  204  can execute instructions  211  stored in the memory  207  to perform the operations. The processor  204  can include one processing device or multiple processing devices. Non-limiting examples of the processor  204  include a Field-Programmable Gate Array (“FPGA”), an application-specific integrated circuit (“ASIC”), a microprocessor, etc. 
     The processor  204  can be communicatively coupled to the memory  207  via the internal bus  206 . The non-volatile memory  207  may include any type of memory device that retains stored information when powered off. Non-limiting examples of the memory  207  include electrically erasable and programmable read-only memory (“EEPROM”), flash memory, or any other type of non-volatile memory. In some examples, at least part of the memory  207  can include a medium from which the processor  204  can read instructions. A computer-readable medium can include electronic, optical, magnetic, or other storage devices capable of providing the processor  204  with computer-readable instructions or other program code. Non-limiting examples of a computer-readable medium include (but are not limited to) magnetic disk(s), memory chip(s), ROM, random-access memory (“RAM”), an ASIC, a configured processor, optical storage, or any other medium from which a computer processor can read instructions. The instructions can include processor-specific instructions generated by a compiler or an interpreter from code written in any suitable computer-programming language, including, for example, C, C++, C#, etc. 
     The system  200  can include a power source  220 . The power source  220  can be in electrical communication with the computing device  140  and the communications device  144 . In some examples, the power source  220  can include a battery or an electrical cable (e.g., a wireline). In some examples, the power source  220  can include an AC signal generator. The computing device  140  can operate the power source  220  to apply a transmission signal to the antenna  228 . For example, the computing device  140  can cause the power source  220  to apply a voltage with a frequency within a specific frequency range to the antenna  228 . This can cause the antenna  228  to generate a wireless transmission. In other examples, the computing device  140 , rather than the power source  220 , can apply the transmission signal to the antenna  228  for generating the wireless transmission. 
     The system  200  can also include the communications device  144 . The communications device  144  can include or can be coupled to the antenna  228 . In some examples, part of the communications device  144  can be implemented in software. For example, the communications device  144  can include instructions stored in memory  207 . The communications device  144  can receive signals from remote devices and transmit data to remote devices (e.g., the computing device  140   b  of  FIG.  1   ). For example, the communications device  144  can transmit wireless communications that are modulated by data via the antenna  228 . In some examples, the communications device  144  can receive signals (e.g., associated with data to be transmitted) from the processor  204  and amplify, filter, modulate, frequency shift, and otherwise manipulate the signals. In some examples, the communications device  144  can transmit the manipulated signals to the antenna  228 . The antenna  228  can receive the manipulated signals and responsively generate wireless communications that carry the data. 
     The system  200  can receive input over MQTT message bus  145  from sensor(s)  109 , shown in  FIG.  1   . System  200  in this example also includes input/output interface  232 . Input/output interface  232  can connect to console  141  as well as other input/output devices. An operator may thus provide input using the input/output interface  232 . An operator may also view a display of data or other information. 
       FIG.  3    is a flowchart illustrating an example of a process  300  for providing values for controllable parameters for drilling tool according to some aspects of the disclosure. At block  302 , processor  204  reads and writes to the MQTT message bus  145  as needed to receive input and provide output. This data exchange includes reading current data from the wellbore at high resolution, for example, at a resolution of 50 values or more per second. At block  304 , processor  204  samples the data using Bayesian optimization and a machine-learning model to normalize the data. The machine-learning model can be based, as examples, on a deep neural network (DNN) or a gated recurrent unit. At block  308 , processor  204  rescales statistical features of the sampled data. Feature rescaling can be based on min-max normalization, z-scoring, or any other rescaling technique. At block  312 , processor  204  extracts the statistical features from the data. Feature extraction can be based on principal component analysis, independent component analysis, an autoencoder, or any other feature extraction technique. At block  314 , a physics-based model can be used to determine initial values for the spaces in the optimization range for process  300  in which the actual data is not covered at all. Examples of a physics-based model for projecting such values include linear, non-linear and neural network models. 
     In the example of  FIG.  3   , input variables sampled for wellbore drilling can include depth, hole depth, average hookload, average weight-on-bit (WOB), average RPM at the surface, average absolute torque, average flow out pump rate, average flow in pump rate, and instantaneous rate of penetration (ROP). At block  316  in  FIG.  3   , processor  204  selects and generates an autoencoder and time series extracted-feature model using the machine-learning model. This feature-extraction model can be configured initially using pre-existing data from another wellbore. System  200  can produce various types of extracted-feature models as appropriate, based on the input data. The extracted-feature model can include a principal component analysis model, and LSTM, a gated recurrent unit, or a singular value decomposition model. An additional example is discussed below with respect to  FIG.  5   . At block  318 , processor  204  projects missing values and corrected outlier values using the extracted-feature model to provide revised data values for use in projecting controllable drilling parameters. At block  320 , some or all of the revised values from block  318  can optionally be replaced by receiving corrected values. As an example, the revised data values may be presented to a drilling engineer or other experienced professional using console  141  and input of corrected values may be received through input/output interface  232 . These corrected values can be used to update the machine-learning model using reinforcement learning. 
     At block  324 , processor  204  determines whether optimum data values have been achieved for example, by checking to determine if optimization criteria have been met. Optimization criteria may include, as an example, convergence within a specified interval. If not, the machine-learning model is retrained at block  304 . Otherwise, processor  204  provides the controllable drilling parameters at block  326 . Current data is also updated at block  326 , by reading and writing to the and MQTT message bus at block  302  to provide updated current data, and process  300  repeats for each iteration as drilling progresses. For each iteration, Bayesian optimization can be used to sample new data and the machine-learning model is retrained to reduce computational time and improve accuracy. In the example shown in  FIG.  3   , DNN computation time is a function of the computation time for feature rescaling, feature extraction, the physics-based model process, and the autoencoder and time series modeling. The DNN accuracy is a function of the accuracy of the feature rescaling, feature extraction, and the physics-based model, as well as the autoencoder and time series modeling. 
       FIG.  4    is an example of a DNN architecture  400  that can be used as the machine-learning model in  FIG.  3    to provide data quality improvement according to some aspects of the disclosure. Architecture  400  includes network layer  402 , and network layer  404 . Input data  406  supplies layer  402 . Layer  404  feeds output layer  408 . Once output layer  408  receives input from the other layers, trained machine learning model  410  is ready to be used in making projections. 
       FIG.  5    is a flowchart of an example of a process  500  using a long short-term memory (LSTM) neural network architecture with an autoencoder for the extracted feature model to provide data quality improvement according to some aspects of the disclosure. At block  502 , processor  204  reads and writes to the MQTT message bus  145  as needed to both input and output data. At block  504 , processor  204  samples the data that has been collected using Bayesian optimization and a machine-learning model to normalize the data. At block  506  in  FIG.  5   , processor  204  selects and generates an autoencoder and deep long short-term memory (LSTM) extracted-feature model using the machine-learning model. An LSTM neural network can isolate patterns in data. At block  508 , processor  204  projects missing values and corrected outlier values using the extracted-feature model to provide revised data values for use in projecting controllable drilling parameters. At block  510 , some or all of the revised values from block  508  can optionally be replaced by receiving corrected values as described with respect to  FIG.  3   . At block  512 , processor  204  provides the controllable drilling parameters to the message bus. Current data is also updated, by reading from the MQTT message bus at block  502 , and process  300  repeats for each iteration as drilling progresses. 
       FIG.  6    and  FIG.  7    show examples of autoencoder architectures that can be used with the LSTM in process  500  of the example of  FIG.  5   . In this example, the encoding dimension is 500. A rectified linear activation function is used for the autoencoder.  128  nodes are used for the LSTM followed by a dense layer. Four historical data points from a pre-existing wellbore data can be used for initial training. An Adam optimizer with loss function based on mean-squared error can be used for ongoing training. 
     In the example of  FIG.  6   , the input data  602  for architecture  600  is collected at the edge from various sensors using Internet-of-things (IoT) streams. Initially, this data is used to develop and deploy the statistical models for the DQE  148 . Input data  602  is fed to encoded layers  604 , which in turn feed data to decoded layers  606  and the output layer  608 , which updates the trained model  610  for the encoder and decoder. 
       FIG.  7    illustrates an example of a data flow  700  for a deep autoencoder that can be used with an LSTM. Data  702  is input to a dense layer  704  that provides encoding. Dense layer  706  provides decoding to provide output data  710 . The DQE performs missing data imputation and outlier elimination to produces the projected data. The DQE can also generate the events. 
       FIG.  8    is an example of a real-time data quality improvement data flow  800  in a system to provide accurate data for control of a drilling tool according to some aspects of the disclosure.  FIG.  8    includes legends for the data flow indicators. The letter I indicates imputed data. S indicates streamed data and I/S indicates imputed, streamed data. P indicates projected data. L indicates learning data and R indicates raw data. Initially, data is used to train a DQE trainer  802  and develop and deploy the statistical models for the DQE  148 . All of this activity is brokered through the MQTT data broker  804 . The DQE receives the data from sensors via IoT streams  806  and uses the selected models to work on the raw data and perform missing data imputation, outlier elimination and regime shift identification and rectification. The DQE can also generate the events, which can be saved in event store  808 . The raw and projected data can be viewed using console  141 , which may be implemented through a Web-based graphical user interface (GUI) that connects with microservice  810  in the backend with functionality supplied via an interface such as a representational state transfer (REST) interface. The drill operator, engineer, or other expert can optionally use this interface to further correct the data. This corrected data can be sent back through the DQE trainer  802  for further improvement of the models and the improved models, including the trained autoencoder, are deployed into the DQE. 
       FIGS.  9 - 12    show examples of screen displays in a system using the autoencoder and LSTM projection for real-time drilling data.  FIG.  9    is a graph  900  showing projected data  902  and the raw data  904  for hole depth.  FIG.  10    is a graph  1000  showing the LSTM projection of an outlier  1002  in the raw data and the projected data  1004  for the hookload.  FIG.  11    is a graph  1100  illustrating the use of the LSTM model projection  1102  for the hole depth and the location of an outlier  1104 .  FIG.  12    is a graph  1200  showing the projected data  1202  for the missing hole depth data in raw data  1204 . 
     In some aspects, a system for wellbore drilling using data quality control according to one or more of the following examples. As used below, any reference to a series of examples is to be understood as a reference to each of those examples disjunctively (e.g., “Examples 1-4” is to be understood as “Examples 1, 2, 3, or 4”). 
     Example 1. A system includes a processor and a non-transitory memory device including instructions that are executable by the processor to cause the processor to perform operations. The operations include receiving current data from a wellbore, training a machine-learning model using Bayesian optimization sampling of the current data from the wellbore, generating an extracted-feature model based on the current data from the wellbore using the machine-learning model, projecting at least one of missing values or outlier values using the extracted-feature model to provide revised data values, and providing, using the revised values, at least one controllable drilling parameter for a drilling tool. 
     Example 2. The system of example 1 further includes a message queuing telemetry transport (MQTT) message bus communicatively coupled to the processor to receive the current data from the wellbore. The operations further include applying the at least one controllable drilling parameter to the drilling tool by publishing the at least one controllable drilling parameter to the MQTT message bus, generating updated current data, and publishing the updated current data to the MQTT message bus. 
     Example 3. The system of example(s) 1-2, wherein the machine-learning model includes at least one of a long short-term memory deep neural network or a gated recurrent unit. 
     Example 4. The system of example(s) 1-3, wherein the extracted-feature model includes at least one of an autoencoder and time series model, an autoencoder and a long short-term memory model, a principal component analysis model, gated recurrent unit, or a singular value decomposition model. 
     Example 5. The system of example(s) 1-4, wherein the operations further include comparing the at least one controllable drilling parameter to at least one optimization criteria and retraining the machine-learning model in response to the comparing. 
     Example 6. The system of example(s) 1-5, wherein the operations further include initially configuring the extracted-feature model using pre-existing wellbore data. 
     Example 7. The system of example(s) 1-6, wherein the operations further include receiving corrected values for at least some of the revised data values. 
     Example 8. A method includes receiving, by a processor, current data from a wellbore, training, by the processor, a machine-learning model using Bayesian optimization sampling of the current data from the wellbore, generating, by the processor, an extracted-feature model based on the current data from the wellbore using the machine-learning model, projecting, by the processor, at least one of missing values or outlier values using the extracted-feature model to provide revised data values, and providing, using the processor and the revised values, at least one controllable drilling parameter for a drilling tool. 
     Example 9. The method of example 8 further includes applying the at least one controllable drilling parameter to the drilling tool by publishing the at least one controllable drilling parameter to a message queuing telemetry transport (MQTT) message bus, generating updated current data, and publishing the updated current data to the MQTT message bus. 
     Example 10. The method of example(s) 8-9, wherein the machine-learning model includes at least one of a long short-term memory deep neural network or a gated recurrent unit. 
     Example 11. The method of example(s) 8-10, wherein the extracted-feature model includes at least one of an autoencoder and time series model, an autoencoder and a long short-term memory model, a principal component analysis model, gated recurrent unit, or a singular value decomposition model. 
     Example 12. The method of example(s) 8-11 further includes comparing the at least one controllable drilling parameter to at least one optimization criteria and retraining the machine-learning model in response to the comparing. 
     Example 13. The method of example(s) 8-12 further includes initially configuring the extracted-feature model using pre-existing wellbore data. 
     Example 14. The method of example(s) 8-13 further includes receiving corrected values for at least some of the revised data values. 
     Example 15. A non-transitory computer-readable medium includes instructions that are executable by a processor for causing the processor to perform operations to produce controllable drilling parameters. The operations include receiving current data from a wellbore, training a machine-learning model using Bayesian optimization sampling of the current data from the wellbore, generating an extracted-feature model based on the current data from the wellbore using the machine-learning model, projecting at least one of missing values or outlier values using the extracted-feature model to provide revised data values, and providing, using the revised values, at least one controllable drilling parameter for a drilling tool. 
     Example 16. The non-transitory computer-readable medium of example 15, wherein the operations further include applying the at least one controllable drilling parameter to the drilling tool by publishing the at least one controllable drilling parameter to a message queuing telemetry transport (MQTT) message bus, generating updated current data, and publishing the updated current data to the MQTT message bus. 
     Example 17. The non-transitory computer-readable medium of example 15-16, wherein the machine-learning model includes at least one of a long short-term memory deep neural network or a gated recurrent unit, and the extracted-feature model comprises at least one of an autoencoder and time series model, an autoencoder and a long short-term memory model, a principal component analysis model, gated recurrent unit, or a singular value decomposition model. 
     Example 18. The non-transitory computer-readable medium of example(s) 15-17, wherein the operations further include comparing the at least one controllable drilling parameter to at least one optimization criteria, and retraining the machine-learning model in response to the comparing. 
     Example 19. The non-transitory computer-readable medium of example(s) 15-18, wherein the operations further include initially configuring the extracted-feature model using pre-existing wellbore data. 
     Example 20. The non-transitory computer-readable medium of example(s) 15-19, wherein the operations further include receiving corrected values for at least some of the revised data values. 
     The foregoing description of the examples, including illustrated examples, has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the subject matter to the precise forms disclosed. Numerous modifications, combinations, adaptations, uses, and installations thereof can be apparent to those skilled in the art without departing from the scope of this disclosure. The illustrative examples described above are given to introduce the reader to the general subject matter discussed here and are not intended to limit the scope of the disclosed concepts.