Patent application title:

DRILLING OPTIMIZATION USING ACOUSTIC SIGNALS

Publication number:

US20250290399A1

Publication date:
Application number:

18/606,763

Filed date:

2024-03-15

Smart Summary: A system uses sensors on a drill bit to collect data while drilling. This data is sent to machine learning models that have been trained with information about different geological formations and sensor patterns. The models analyze the data and provide recommendations for optimal drilling parameters. Based on these recommendations, adjustments can be made to how the drill operates. This process helps improve drilling efficiency and effectiveness. 🚀 TL;DR

Abstract:

Disclosed are methods, systems, and computer-readable medium to perform operations including: obtaining sensor data from at least one sensor attached to a surface of a drill bit; providing the sensor data from the at least one sensor to one or more machine learning models, wherein the one or more machine learning models are trained using a library of (i) sensor signatures and (ii) geological formations to output one or more drilling parameters; and adjusting one or more parameters of an operation performed by a drill controlling the drill bit based on the one or more drilling parameters output by one or more machine learning models.

Inventors:

Applicant:

Interested in similar patents?

Get notified when new applications in this technology area are published.

Classification:

E21B44/00 »  CPC main

Automatic control, surveying or testing

E21B44/00 »  CPC main

Automatic control systems specially adapted for drilling operations, i.e. self-operating systems which function to carry out or modify a drilling operation without intervention of a human operator, e.g. computer-controlled drilling systems ; Systems specially adapted for monitoring a plurality of drilling variables or conditions

E21B47/06 »  CPC further

Survey of boreholes or wells Measuring temperature or pressure

E21B2200/20 »  CPC further

Special features related to earth drilling for obtaining oil, gas or water Computer models or simulations, e.g. for reservoirs under production, drill bits

Description

TECHNICAL FIELD

This disclosure relates to hydrocarbon exploration, drilling, and production, and more particularly, to identifying rock types and rock properties in order to improve or enhance drilling operations.

BACKGROUND

Hydrocarbon exploration and drilling is the process of searching for and extracting hydrocarbons, such as petroleum and natural gas, from the Earth's crust. The exploration process can include detecting and determining an extent of hydrocarbon deposits using exploration geophysics. This can include detecting large-scale features of the sub-surface geology. When a prospect has been identified, evaluated, and passes selection criteria, an exploration well can be drilled to determine the presence or absence of oil or gas.

SUMMARY

Techniques described include using a machine learning model within a control loop for controlling a drill. Feedback for controlling the drill can be generated by sensors—e.g., a microphone, or other sensors, attached to an element of the drill, such as a bottomhole assembly (BHA). Sensor data from the sensors can be processed by the machine learning model to inform drill controls.

In general, one aspect of the subject matter described in this specification can be embodied in methods that include the actions of obtaining sensor data from at least one sensor attached to a surface of a drill bit; providing the sensor data from the at least one sensor to one or more machine learning models, wherein the one or more machine learning models are trained using a library of (i) sensor signatures and (ii) geological formations to output one or more drilling parameters; and adjusting one or more parameters of an operation performed by a drill controlling the drill bit based on the one or more drilling parameters output by one or more machine learning models.

Other implementations of this aspect include corresponding computer systems, apparatus, computer program products, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods. A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.

The foregoing and other implementations can each optionally include one or more of the following features, alone or in combination. Feature 1: Adjusting the one or more parameters of the operation performed by the drill can include adjusting parameters that control one or more of: drill steering, casing, or coring. Feature 2: Obtaining the sensor data from the at least one sensor attached to the surface of the drill bit can include obtaining the sensor data from (i) an acoustic sensor and (ii) a pressure sensor. Feature 3: Obtaining the sensor data from the at least one sensor attached to the surface of the drill bit can include obtaining the sensor data from an accelerometer. Feature 4: Providing the sensor data from the at least one sensor to the one or more machine learning models can include: generating a transformed version of the sensor data; and providing the transformed version of the sensor data to the one or more machine learning models. Feature 5: Generating the transformed version of the sensor data can include performing a fast Fourier transform (FFT) on the sensor data from the at least one sensor. Feature 6: Generating the transformed version of the sensor data can include: extracting attributes from the sensor data; and generating, using the extracted attributes, the transformed version of the sensor data. Feature 7: The attributes can include one or more of energy, amplitude, or phase. Feature 8: Adjusting the one or more parameters of the operation performed by the drill can include: obtaining the output from the one or more machine learning models; and adjusting, using one or more updated parameters included in the output from the one or more machine learning models, the one or more parameters of the operation performed by the drill. Feature 9: Obtaining the sensor data from the at least one sensor attached to the surface of the drill bit can include: obtaining, during operation of the drill, the sensor data from the at least one sensor attached to the surface of the drill bit. Feature 10: The one or more machine learning models can be trained to predict one or more geological formations. Feature 11: Actions can include generating the library of sensor signatures and geological formations as an electronic database using records from known geological formations.

This specification uses the term “configured to” in connection with systems, apparatus, and computer program components. That a system of one or more computers is configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform those operations or actions. That one or more computer programs is configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform those operations or actions. That special-purpose logic circuitry is configured to perform particular operations or actions means that the circuitry has electronic logic that performs those operations or actions.

The details of one or more embodiments of these systems and methods are set forth in the accompanying drawings and description below. Other features, objects, and advantages of these systems and methods will be apparent from the description, drawings, and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example system for drilling optimization using a machine learning model.

FIG. 2 illustrates an example method, according to some implementations.

FIG. 3 is a partial schematic perspective view of an example rig system for drilling and producing a well, according to some implementations.

FIG. 4 illustrates example hydrocarbon production operations.

FIG. 5 is a block diagram of an example computer system, according to some implementations.

Like reference numbers and designations in the various drawings indicate like elements.

DETAILED DESCRIPTION

The following detailed description describes systems and methods for drilling optimization using acoustic signals. Various modifications, alterations, and permutations of the disclosed implementations can be made and will be readily apparent to those skilled in the art, and the general principles defined may be applied to other implementations and applications without departing from the scope of the disclosure. Thus, the present disclosure is not intended to be limited to the described or illustrated implementations, but is to be accorded the widest scope consistent with the principles and features disclosed.

Limited information, e.g., due to a lack of downhole sensing technologies, can cause issues during drilling. The techniques, including systems and methods, described in this document include artificial intelligence (AI) based technology that provides input for real-time drilling optimization. In some cases, data at different frequencies, such as acoustic frequencies, can be generated by drilling bits while drilling through different formations. A trained machine learning model can learn different frequencies corresponding to different formations and output optimized drilling parameters. The optimized drilling parameters are used as input for controlling a drilling operation or directly control a drilling operation. By using a trained machine learning model, drilling performance can be improved. Specific improved metrics can include drilling time, which can be reduced. Data indicating formation tops or drilling parameters can be updated. An accuracy of formation tops can be improved using techniques described in this document. Drilling parameters can be improved, e.g., to reduce drilling time, reduce likelihood of damaging a drilling rig, or increase a likelihood of successful navigation around one or more hazards to obtain items drilled for, such as chemicals within soil.

In some cases, techniques can include building a frequency library, e.g., for a wide spectrum of frequencies associated with different formations. Building the library can include using known data from identifying or imaging a particular formation to store electronic records in a database. Training a machine learning model to identify formations or control drilling can include providing elements of the frequency library as training data. Adjustments to the machine learning model can be performed in response to output data generated by the machine learning model. In some cases, each type of formation can be associated with a particular sensor signature within a frequency library used for training. Other sensor data can be included with data entries in the library to aid in training—e.g., to include pressure data values. By including additional data, the one or more trained models can improve accuracy of predictions or optimization of parameters used for drilling. In some cases, obtaining data during normal operation of a drill, instead of, e.g., as a separate sensor data gathering process, can increase available data sources to increase an accuracy of one or more trained models.

In some implementations, a machine learning model is used to determine well placement or reservoir contact zone penetration. For example, a machine learning model can be provided information of known well placement or reservoir contact zone penetration that satisfy one or more criteria. In some cases, a machine learning model used to determine well placement or reservoir contact zone penetration can be a second machine learning model. The second machine learning model can be integrated with a first model, e.g., with a first model that optimizes one or more drilling parameters.

In some implementations, a machine learning model is used to enable automatic drilling parameter optimization or analysis in real-time. For example, a machine learning model can generate a set of parameters for drilling in a region. In some cases, a model can be configured to directly control a drill, e.g., by transmitting generated parameters for drilling to a drill over a communication channel.

In some implementations, an acoustic signal is captured by an acoustic sensor attached to a drill bit. In examples, the acoustic sensor may be a hydrophone, accelerometer, microphone, or any combinations thereof. In the example of FIG. 1, the acoustic sensor is a microphone attached to a drill bit. Example locations of effective sensor placement can include locations within a threshold distance from a drill bit or a bottomhole assembly (BHA), e.g., offset from a BHA by a specified distance. In some cases, sensors can be placed on a top drive, e.g., of a drilling rig. In general, other locations can be used for sensor placement.

In some implementations, a machine learning model is trained as a deep learning model. For example, a machine learning model can be a deep learning model trained on one or more acoustic signals to guide a drilling operation.

In some implementations, a machine learning model is used to detect drilling hazards. For example, wave propagation can be analyzed, e.g., using a trained model, to detect potential near-surface hazards. In some cases, hazards detected can include karsts or gas leaks. Hazards can be detected, e.g., using techniques described in this document, by their distinct frequency signatures captured using one or more sensors. The frequency signatures can differ from known drilling formations and be detected by one or more machine learning models. Inputs of a model, e.g., one or more machine learning models operated by the sensor processing engine 106 of FIG. 1, can include time series and frequency libraries. The frequency libraries can include data indicating specific features, such as frequency signatures, for one or more formations that are to be detected—e.g., hazards, hydrocarbon volumes, or a combination of these, among others. A library can include data that distinguishes whether drilling through a formation is expected or abnormal—e.g., whether a formation within a path of drilling would be an abnormality, such that steering directions or other mechanical actions are to be taken. Output of a model, such as one or more machine learning models operated by the sensor processing engine 106 of FIG. 1, can include frequency spectra or actions to be taken, e.g., by the drilling control unit 112.

In some implementations, spirally-oriented distributed acoustic sensing (DAS) cables are used to record seismic signal. In some cases, a spiral orientation of cables can be used to obtain azimuthal velocity information which can help improve a machine learning model by providing additional data. For example, known polarization associated with the spirally-oriented DAS cables is used to calculate azimuthal velocity information. In some cases, DAS can help improve techniques described in this document as it can help obtain data for building an effective library by obtaining sensor measurements near, or within a threshold distance, from a formation.

In some implementations, energy emitted by drilling equipment is used to generate surface waves. For example, a drill bit can be powered by a drill machine. Elements of the drill machine can emit waves through vibration into the ground. By detecting propagation of the waves generated from the drill during operation, separate generation of sonic signals can be reduced or eliminated, thereby reducing energy usage and improving efficiency of the system.

In some implementations, techniques include using an AI guided drilling bit tool framework. For example, the AI guided drilling bit tool framework can be used to determine an interference or coherence in sound signal between drilling bits and downhole formations that are actively drilled as shown in FIG. 1.

FIG. 1 shows an example system 100 for optimizing drilling using a machine learning model processing one or more sensor signals. The system 100 includes a drill bit 102, sensor 104, sensor processing engine 106, and drilling control unit 112. In some implementations, the sensor processing engine 106 includes one or more machine learning models for processing signals generated by the sensor 104. For example, the sensor 104 can include an acoustic sensor and the sensor processing engine 106 can include a machine learning model configured to process sensor data 108, which can include acoustic data from the sensor 104. In some cases, the sensor 104 includes a pressure sensor—e.g., an integrated pressure sensor. In some cases, the sensor 104 includes both a pressure sensor and an acoustic sensor.

In some implementations, the sensor 104 includes one or more acoustic sensors. For example, microphones can be attached to the drill bit 102. In some cases, microphones are attached to one or more sides of the drill bit 102. The sensor 104 can be activated to capture data or record data—e.g., by remote signal or in response to rotations occurring at the drill bit that cause penetration of a formation (e.g., colloquially, the drill starting). In examples, rotations of the drill bit cause penetration of a formation and the generation of acoustic signals. Characteristics of the formation are associated with varying frequencies of the generated acoustic signals. The sensor 104 captures the acoustic signals and generates sensor data. For example, the sensor 104 can generate the sensor data 108. The sensor 104 can provide the sensor data 108 to the sensor processing engine 106.

In general, sensors can be attached to the drill bit 102 in locations suitable for operation. For example, sensors can be attached an optimized distance away from the drill bit—e.g., to maximize a clean signal related to formation properties or to minimize operational effects or damage from the drilling process. In some cases, sensors can be placed on a bottomhole assembly (BHA). In some cases, an optimal location can be greater than 1 meter from a point of the drill bit 102.

In some implementations, the system 100 transforms the sensor data 108. For example, the system 100—as part of the sensor 104, the sensor processing engine 106, or an intermediary process—can transform the sensor data 108 obtained from the sensor 104 before processing by the sensor processing engine 106. Example transformations can include performing a fast Fourier transform (FFT) or extracting one or more attributes from the data. Attributes extracted can include energy, amplitude, phase of recorded traces, or a combination of these among others. In some cases, FFT can be used to extract features, e.g., an amplitude or phase of a sensed signal. Processing can be performed by the sensor processing engine 106.

In some implementations, the system 100 uses the sensor processing engine 106 to adjust drilling parameters based on real-time data while drilling using a first trained machine learning model. For example, the drill bit 102 can be powered on and drilling into ground. The signals produced by the drill bit 102 or other elements can propagate through the ground and cause reflections that are detected by the sensor 104. The sensor 104 can provide data indicating detected signals as the sensor data 108 to be processed by the sensor processing engine 106. The sensor processing engine 106 can generate the processing output 110 to control the current drilling operation using the drilling control unit 112.

In some implementations, drilling is optimized using the sensor processing engine 106. For example, the system can use real-time acquisition and analysis of the sensor data 108 to automatically control drilling parameters in order to reduce costs of drilling or increase safety, among other metrics. In some cases, the sensor processing engine 106 generates prediction of downhole formation types. For example, the sensor processing engine 106 can predict layers or strata of formations as one type or combination of types, multiple formations that form groups, or subdivisions of known formations using a second trained machine learning model. The predictions of downhole formations can help prevent unwanted events, such as stuck pipes, karst, faults, or a combination of these among others. In some cases, the a prediction of a particular geological formation in the path of a drill can be generated by the sensor processing engine 106. The processing output 110 can include a prediction such as a prediction of a particular geological formation. By predicting geological formations, the system 100 can help avoid costly, or even deadly, events caused by unknown formations within a region of drilling.

In some implementations, the processing output 110 includes a proposed adjustment to one or more drilling parameters. For example, the sensor processing engine 106 can predict one or more geological formations. The sensor processing engine 106 can generate one or more parameter adjustments for controlling a drilling operation using one or more predictions, e.g., of geological formations, such as downhole formations or interwall formations. In some cases, the sensor processing engine 106 can include a separate trained model to adjust one or more parameters based on prediction of formations as input. Adjusting one or more parameters can include guiding the drill bit 102 in a particular direction.

In some implementations, the sensor processing engine 106 generates the processing output 110 to control one or more elements of drilling. For example, the sensor processing engine 106 can provide one or more instructions—e.g., within the processing output 110—to the drilling control unit 112. Controlled elements of drilling can include drill steering, updating formation tops, automatic casing or coring point setting, or a combination of these among others. In some cases, a drilling program can be pre-set with one or more parameters. Techniques described can adjust pre-determined tops or parameters of a program to control the drilling actively being performed by a drilling rig.

In some implementations, the sensor processing engine 106 processes the sensor data 108 using AI trained tools. For example, the sensor processing engine 106 can generate the processing output 110 that includes information for parameter adjustment or downhole formations to help optimize drilling. The sensor processing engine 106 can provide the processing output 110 as input to the drilling control unit 112 to control, at least in part, a drilling operation. AI tools can include one or more machine learning models that are cross-correlated with drilling parameters. In some cases, cross validating a model with a drilling parameter can be configured to specific drilling parameters. For example, FK Spectrum can be closely tied to drilling RPM and weight on bit or other drilling parameters. One or more models of the sensor processing engine 106 can be configured to generate information of downhole formations—e.g., as part of the processing output 110.

In some implementations, the sensor processing engine 106 processes data from one or more sensors. For example, the sensor processing engine 106 can process data from one or more of: an acoustic sensor, a pressure sensor, or an accelerometer. Each sensor can be separate from the other types of sensors. The sensor processing engine 106 can use data from multiple sensors to enrich a training dataset or runtime data set. By combining, e.g., pressure data with acoustic data, the sensor processing engine 106 can extend the space of real-time data which can be obtained while drilling.

In some implementations, the sensor processing engine 106 predicts sound fingerprints or signatures. For example, the sensor processing engine 106 can obtain the sensor data 108 and determine a signature, such as an acoustic signature included within the sensor data 108. The sensor processing engine 106 can include one or more machine learning models that are trained using clear samples of signatures. The signatures can, e.g., be indicative of particular downhole formations or geological elements relevant for drilling, such as elements to avoid or elements to direct drilling towards. In some cases, the sensor processing engine 106 can identify lithological signature or interfaces which can be used to generate the processing output 110 for controlling a drill using the drilling control unit 112.

Advantageous techniques can include collecting sensor data during normal drilling operation. In this way, additional data can be gathered thereby increasing accuracy of a trained model. In some cases, techniques described enable real-time monitoring of formation during a drilling process. Real-time monitoring can improve decisions made in view of downhole formation or improve automated optimizations generated by, e.g., the system 100.

Techniques described can enable the update of formation tops or calibration of subsurface geological models. Techniques include creating a library that ties a specific signature to one or more specific formations. In some cases, an acoustic contrast between the signatures can indicate a formation top. As a drill is actively operated, the drill can pass through one formation into another. When doing so, the system 100 can update the formation top in the library—e.g., to correct the ground truth value associated with the formation top location. By updating these locations, the library can be improved to further improve a machine learning model trained using data that the library includes.

FIG. 2 illustrates a flowchart of an example method 200, according to some implementations. For clarity of presentation, the description that follows generally describes method 200 in the context of the other figures in this description. For example, method 200 can be performed by the system 100 of FIG. 1. It will be understood that method 200 can be performed, for example, by any suitable system, environment, software, hardware, or a combination of systems, environments, software, and hardware, as appropriate. In some implementations, various steps of method 200 can be run in parallel, in combination, in loops, or in any order.

The method 200 includes obtaining sensor data from at least one sensor attached to a surface of a drill bit (202). For example, the system 100 of FIG. 1 can obtain the sensor data 108 from the sensor 104.

The method 200 includes providing the sensor data from the at least one sensor to one or more machine learning models (204). For example, the system 100 can provide the sensor data 108 to the sensor processing engine 106. In some implementations, the sensor 104 communicates directly to one or more computers implementing the sensor processing engine 106 to provide the sensor data 108. In some implementations, the one or more machine learning models are trained using a library of (i) sensor signatures and (ii) geological formations to output one or more drilling parameters.

The method 200 includes adjusting one or more parameters of an operation performed by a drill controlling the drill bit based on the one or more drilling parameters output by one or more machine learning models (206). For example, the sensor processing engine 106 can generate the processing output 110. The sensor processing engine 106 can provide the processing output 110 to the drilling control unit 112. The drilling control unit 112 can use the processing output 110 to control operation of the drill bit 102. In some implementations, operations performed by the sensor processing engine 106 and the drilling control unit 112 are performed on separate computers, respectively, that can be communicably connected. In some implementations, operations performed by the sensor processing engine 106 and the drilling control unit 112 are performed on a set of one or more computers.

FIG. 3 is a partial schematic perspective view of an example rig system 300 for drilling and producing a well. In some cases, the system 100 can optimize drilling by a rig system similar to the rig system 300, including adjustments of parameters of the rig system 300. The well can extend from the surface through the Earth to one or more subterranean zones of interest. The example rig system 300 includes a drill floor 302 positioned above the surface, a wellhead 304, a drill string assembly 306 supported by the rig structure, a fluid circulation system 308 to filter used drilling fluid from the wellbore and provide clean drilling fluid to the drill string assembly 306. For example, the example rig system 300 of FIG. 3 is shown as a drill rig capable of performing a drilling operation with the rig system 300 supporting the drill string assembly 306 over a wellbore. The wellhead 304 can be used to support casing or other well components or equipment into the wellbore of the well.

The derrick or mast is a support framework mounted on the drill floor 302 and positioned over the wellbore to support the components of the drill string assembly 306 during drilling operations. A crown block 312 forms a longitudinally-fixed top of the derrick, and connects to a travelling block 314 with a drilling line including a set of wire ropes or cables. The crown block 312 and the travelling block 314 support the drill string assembly 306 via a swivel 316, a kelly 318, or a top drive system (not shown). Longitudinal movement of the travelling block 314 relative to the crown block 312 of the drill string assembly 306 acts to move the drill string assembly 306 longitudinally upward and downward. The swivel 316, connected to and hung by the travelling block 314 and a rotary hook, allows free rotation of the drill string assembly 306 and provides a connection to a kelly hose 320, which is a hose that flows drilling fluid from a drilling fluid supply of the circulation system 308 to the drill string assembly 306. A standpipe 322 mounted on the drill floor 302 guides at least a portion of the kelly hose 320 to a location proximate to the drill string assembly 306. The kelly 318 is a hexagonal device suspended from the swivel 316 and connected to a longitudinal top of the drill string assembly 306, and the kelly 318 turns with the drill string assembly 306 as the rotary table 342 of the drill string assembly turns.

In the example rig system 300 of FIG. 3, the drill string assembly 306 is made up of drill pipes with a drill bit (not shown) at a longitudinally bottom end of the drill string. The drill pipe can include hollow steel piping, and the drill bit can include cutting tools, such as blades, discs, rollers, cutters, or a combination of these, to cut into the formation and form the wellbore. The drill bit rotates and penetrates through rock formations below the surface under the combined effect of axial load and rotation of the drill string assembly 306. In some implementations, the kelly 318 and swivel 316 can be replaced by a top drive that allows the drill string assembly 306 to spin and drill. The wellhead assembly 304 can also include a drawworks 324 and a deadline anchor 326, where the drawworks 324 includes a winch that acts as a hoisting system to reel the drilling line in and out to raise and lower the drill string assembly 306 by a fast line 325. The deadline anchor 326 fixes the drilling line opposite the drawworks 324 by a deadline 327, and can measure the suspended load (or hook load) on the rotary hook. The weight on bit (WOB) can be measured when the drill bit is at the bottom the wellbore. The wellhead assembly 304 also includes a blowout preventer 350 positioned at the surface of the well and below (but often connected to) the drill floor 302. The blowout preventer 350 acts to prevent well blowouts caused by formation fluid entering the wellbore, displacing drilling fluid, and flowing to the surface at a pressure greater than atmospheric pressure. The blowout preventer 350 can close around (and in some instances, through) the drill string assembly 306 and seal off the space between the drill string and the wellbore wall.

During a drilling operation of the well, the circulation system 308 circulates drilling fluid from the wellbore to the drill string assembly 306, filters used drilling fluid from the wellbore, and provides clean drilling fluid to the drill string assembly 306. The example circulation system 308 includes a fluid pump 330 that fluidly connects to and provides drilling fluid to drill string assembly 306 via the kelly hose 320 and the standpipe 322. The circulation system 308 also includes a flow-out line 332, a shale shaker 334, a settling pit 336, and a suction pit 338. In a drilling operation, the circulation system 308 pumps drilling fluid from the surface, through the drill string assembly 306, out the drill bit and back up the annulus of the wellbore, where the annulus is the space between the drill pipe and the formation or casing. The density of the drilling fluid is intended to be greater than the formation pressures to prevent formation fluids from entering the annulus and flowing to the surface and less than the mechanical strength of the formation, as a greater density may fracture the formation, thereby creating a path for the drilling fluids to go into the formation. Apart from well control, drilling fluids can also cool the drill bit and lift rock cuttings from the drilled formation up the annulus and to the surface to be filtered out and treated before it is pumped down the drill string assembly 306 again. The drilling fluid returns in the annulus with rock cuttings and flows out to the flow-out line 332, which connects to and provides the fluid to the shale shaker 334. The flow line is an inclined pipe that directs the drilling fluid from the annulus to the shale shaker 334. The shale shaker 334 includes a mesh-like surface to separate the coarse rock cuttings from the drilling fluid, and finer rock cuttings and drilling fluid then go through the settling pit 336 to the suction pit 336. The circulation system 308 includes a mud hopper 340 into which materials (for example, to provide dispersion, rapid hydration, and uniform mixing) can be introduced to the circulation system 308. The fluid pump 330 cycles the drilling fluid up the standpipe 322 through the swivel 316 and back into the drill string assembly 306 to go back into the well.

The example wellhead assembly 304 can take a variety of forms and include a number of different components. For example, the wellhead assembly 304 can include additional or different components than the example shown in FIG. 3. Similarly, the circulation system 308 can include additional or different components than the example shown in FIG. 3.

FIG. 4 illustrates hydrocarbon production operations 400 that include both one or more field operations 410 and one or more computational operations 412, which exchange information and control exploration for the production of hydrocarbons. In some implementations, outputs of techniques of the present disclosure can be performed before, during, or in combination with the hydrocarbon production operations 400, specifically, for example, either as field operations 410 or computational operations 412, or both.

Examples of field operations 410 include forming/drilling a wellbore, hydraulic fracturing, producing through the wellbore, injecting fluids (such as water) through the wellbore, to name a few. In some implementations, methods of the present disclosure can trigger or control the field operations 410. For example, the methods of the present disclosure can generate data from hardware/software including sensors and physical data gathering equipment (e.g., seismic sensors, well logging tools, flow meters, and temperature and pressure sensors). The methods of the present disclosure can include transmitting the data from the hardware/software to the field operations 410 and responsively triggering the field operations 410 including, for example, generating plans and signals that provide feedback to and control physical components of the field operations 410. Alternatively or in addition, the field operations 410 can trigger the methods of the present disclosure. For example, implementing physical components (including, for example, hardware, such as sensors) deployed in the field operations 410 can generate plans and signals that can be provided as input or feedback (or both) to the methods of the present disclosure.

Examples of computational operations 412 include one or more computer systems 420 that include one or more processors and computer-readable media (e.g., non-transitory computer-readable media) operatively coupled to the one or more processors to execute computer operations to perform the methods of the present disclosure. The computational operations 412 can be implemented using one or more databases 418, which store data received from the field operations 410 and/or generated internally within the computational operations 412 (e.g., by implementing the methods of the present disclosure) or both. For example, the one or more computer systems 420 process inputs from the field operations 410 to assess conditions in the physical world, the outputs of which are stored in the databases 418. For example, seismic sensors of the field operations 410 can be used to perform a seismic survey to map subterranean features, such as facies and faults. In performing a seismic survey, seismic sources (e.g., seismic vibrators or explosions) generate seismic waves that propagate in the earth and seismic receivers (e.g., geophones) measure reflections generated as the seismic waves interact with boundaries between layers of a subsurface formation. The source and received signals are provided to the computational operations 412 where they are stored in the databases 418 and analyzed by the one or more computer systems 420.

In some implementations, one or more outputs 422 generated by the one or more computer systems 420 can be provided as feedback/input to the field operations 410 (either as direct input or stored in the databases 418). The field operations 410 can use the feedback/input to control physical components used to perform the field operations 410 in the real world.

For example, the computational operations 412 can process the seismic data to generate three-dimensional (3D) maps of the subsurface formation. The computational operations 412 can use these 3D maps to provide plans for locating and drilling exploratory wells. In some operations, the exploratory wells are drilled using logging-while-drilling (LWD) techniques which incorporate logging tools into the drill string. LWD techniques can enable the computational operations 412 to process new information about the formation and control the drilling to adjust to the observed conditions in real-time.

The one or more computer systems 420 can update the 3D maps of the subsurface formation as information from one exploration well is received and the computational operations 412 can adjust the location of the next exploration well based on the updated 3D maps. Similarly, the data received from production operations can be used by the computational operations 412 to control components of the production operations. For example, production well and pipeline data can be analyzed to predict slugging in pipelines leading to a refinery and the computational operations 412 can control machine operated valves upstream of the refinery to reduce the likelihood of plant disruptions that run the risk of taking the plant offline.

In some implementations of the computational operations 412, customized user interfaces can present intermediate or final results of the above-described processes to a user. Information can be presented in one or more textual, tabular, or graphical formats, such as through a dashboard. The information can be presented at one or more on-site locations (such as at an oil well or other facility), on the Internet (such as on a webpage), on a mobile application (or app), or at a central processing facility.

The presented information can include feedback, such as changes in parameters or processing inputs, that the user can select to improve a production environment, such as in the exploration, production, and/or testing of petrochemical processes or facilities. For example, the feedback can include parameters that, when selected by the user, can cause a change to, or an improvement in, drilling parameters (including drill bit speed and direction) or overall production of a gas or oil well. The feedback, when implemented by the user, can improve the speed and accuracy of calculations, streamline processes, improve models, and solve problems related to efficiency, performance, safety, reliability, costs, downtime, and the need for human interaction.

In some implementations, the feedback can be implemented in real-time, such as to provide an immediate or near-immediate change in operations or in a model. The term real-time (or similar terms as understood by one of ordinary skill in the art) means that an action and a response are temporally proximate such that an individual perceives the action and the response occurring substantially simultaneously. For example, the time difference for a response to display (or for an initiation of a display) of data following the individual's action to access the data can be less than 1 millisecond (ms), less than 1 second(s), or less than 5 s. While the requested data need not be displayed (or initiated for display) instantaneously, it is displayed (or initiated for display) without any intentional delay, taking into account processing limitations of a described computing system and time required to, for example, gather, accurately measure, analyze, process, store, or transmit the data.

Events can include readings or measurements captured by downhole equipment such as sensors, pumps, bottom hole assemblies, or other equipment. The readings or measurements can be analyzed at the surface, such as by using applications that can include modeling applications and machine learning. The analysis can be used to generate changes to settings of downhole equipment, such as drilling equipment. In some implementations, values of parameters or other variables that are determined can be used automatically (such as through using rules) to implement changes in oil or gas well exploration, production/drilling, or testing. For example, outputs of the present disclosure can be used as inputs to other equipment and/or systems at a facility. This can be especially useful for systems or various pieces of equipment that are located several meters or several miles apart, or are located in different countries or other jurisdictions.

FIG. 5 is a block diagram of an example computer system 500 that can be used to provide computational functionalities associated with described algorithms, methods, functions, processes, flows, and procedures, according to some implementations of the present disclosure. In some implementations, the system 100 can include the computer system 500 or the system 100 can communicate with the computer system 500.

The illustrated computer 502 is intended to encompass any computing device such as a server, a desktop computer, an embedded computer, a laptop/notebook computer, a wireless data port, a smart phone, a personal data assistant (PDA), a tablet computing device, or one or more processors within these devices, including physical instances, virtual instances, or both. The computer 502 can include input devices such as keypads, keyboards, and touch screens that can accept user information. Also, the computer 502 can include output devices that can convey information associated with the operation of the computer 502. The information can include digital data, visual data, audio information, or a combination of information. The information can be presented in a graphical user interface (UI) (or GUI). In some implementations, the inputs and outputs include display ports (such as DVI-I+2x display ports), USB 3.0, GbE ports, isolated DI/O, SATA-III (6.0 Gb/s) ports, mPCIe slots, a combination of these, or other ports. In instances of an edge gateway, the computer 502 can include a Smart Embedded Management Agent (SEMA), such as a built-in ADLINK SEMA 2.2, and a video sync technology, such as Quick Sync Video technology supported by ADLINK MSDK+. In some examples, the computer 502 can include the MXE-5400 Series processor-based fanless embedded computer by ADLINK, though the computer 502 can take other forms or include other components.

The computer 502 can serve in a role as a client, a network component, a server, a database, a persistency, or components of a computer system for performing the subject matter described in the present disclosure. The illustrated computer 502 is communicably coupled with a network 530. In some implementations, one or more components of the computer 502 can be configured to operate within different environments, including cloud-computing-based environments, local environments, global environments, and combinations of environments.

At a high level, the computer 502 is an electronic computing device operable to receive, transmit, process, store, and manage data and information associated with the described subject matter. According to some implementations, the computer 502 can also include, or be communicably coupled with, an application server, an email server, a web server, a caching server, a streaming data server, or a combination of servers.

The computer 502 can receive requests over network 530 from a client application (for example, executing on another computer 502). The computer 502 can respond to the received requests by processing the received requests using software applications. Requests can also be sent to the computer 502 from internal users (for example, from a command console), external (or third) parties, automated applications, entities, individuals, systems, and computers.

Each of the components of the computer 502 can communicate using a system bus 503. In some implementations, any or all of the components of the computer 502, including hardware or software components, can interface with each other or the interface 504 (or a combination of both), over the system bus. Interfaces can use an application programming interface (API) 512, a service layer 513, or a combination of the API 512 and service layer 513. The API 512 can include specifications for routines, data structures, and object classes. The API 512 can be either computer-language independent or dependent. The API 512 can refer to a complete interface, a single function, or a set of APIs 512.

The service layer 513 can provide software services to the computer 502 and other components (whether illustrated or not) that are communicably coupled to the computer 502. The functionality of the computer 502 can be accessible for all service consumers using this service layer 513. Software services, such as those provided by the service layer 513, can provide reusable, defined functionalities through a defined interface. For example, the interface can be software written in JAVA, C++, or a language providing data in extensible markup language (XML) format. While illustrated as an integrated component of the computer 502, in alternative implementations, the API 512 or the service layer 513 can be stand-alone components in relation to other components of the computer 502 and other components communicably coupled to the computer 502. Moreover, any or all parts of the API 512 or the service layer 513 can be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of the present disclosure.

The computer 502 can include an interface 504. Although illustrated as a single interface 504 in FIG. 5, two or more interfaces 504 can be used according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. The interface 504 can be used by the computer 502 for communicating with other systems that are connected to the network 530 (whether illustrated or not) in a distributed environment. Generally, the interface 504 can include, or be implemented using, logic encoded in software or hardware (or a combination of software and hardware) operable to communicate with the network 530. More specifically, the interface 504 can include software supporting one or more communication protocols associated with communications. As such, the network 530 or the interface's hardware can be operable to communicate physical signals within and outside of the illustrated computer 502.

The computer 502 includes a processor 505. Although illustrated as a single processor 505 in FIG. 5, two or more processors 505 can be used according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. Generally, the processor 505 can execute instructions and manipulate data to perform the operations of the computer 502, including operations using algorithms, methods, functions, processes, flows, and procedures as described in the present disclosure.

The computer 502 can also include a database 506 that can hold data for the computer 502 and other components connected to the network 530 (whether illustrated or not). For example, database 506 can be an in-memory, conventional, or a database storing data consistent with the present disclosure. In some implementations, the database 506 can be a combination of two or more different database types (for example, hybrid in-memory and conventional databases) according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. Although illustrated as a single database 506 in FIG. 5, two or more databases (of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. While database 506 is illustrated as an internal component of the computer 502, in alternative implementations, database 506 can be external to the computer 502.

The computer 502 also includes a memory 507 that can hold data for the computer 502 or a combination of components connected to the network 530 (whether illustrated or not). Memory 507 can store any data consistent with the present disclosure. In some implementations, memory 507 can be a combination of two or more different types of memory (for example, a combination of semiconductor and magnetic storage) according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. Although illustrated as a single memory 507 in FIG. 5, two or more memories 507 (of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. While memory 507 is illustrated as an internal component of the computer 502, in alternative implementations, memory 507 can be external to the computer 502.

An application 508 can be an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. For example, an application 508 can serve as one or more components, modules, or applications 508. Multiple applications 508 can be implemented on the computer 502. Each application 508 can be internal or external to the computer 502.

The computer 502 can also include a power supply 514. The power supply 514 can include a rechargeable or non-rechargeable battery that can be configured to be either user- or non-user-replaceable. In some implementations, the power supply 514 can include power-conversion and management circuits, including recharging, standby, and power management functionalities. In some implementations, the power-supply 514 can include a power plug to allow the computer 502 to be plugged into a wall socket or a power source to, for example, power the computer 502 or recharge a rechargeable battery.

There can be any number of computers 502 associated with, or external to, a computer system including computer 502, with each computer 502 communicating over network 530. Further, the terms “client,” “user,” and other appropriate terminology can be used interchangeably without departing from the scope of the present disclosure. Moreover, the present disclosure contemplates that many users can use one computer 502 and one user can use multiple computers 502.

Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware; in computer hardware, including the structures disclosed in this specification and their structural equivalents; or in combinations of one or more of them. Software implementations of the described subject matter can be implemented as one or more computer programs. Each computer program can include one or more modules of computer program instructions encoded on a tangible, non-transitory, computer-readable computer-storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively, or additionally, the program instructions can be encoded in/on an artificially generated propagated signal. For example, the signal can be a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to a suitable receiver apparatus for execution by a data processing apparatus. The computer-storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of computer-storage mediums.

The terms “data processing apparatus,” “computer,” and “electronic computer device” (or equivalent as understood by one of ordinary skill in the art) refer to data processing hardware. For example, a data processing apparatus can encompass all kinds of apparatuses, devices, and machines for processing data, including by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can also include special purpose logic circuitry including, for example, a central processing unit (CPU), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). In some implementations, the data processing apparatus or special purpose logic circuitry (or a combination of the data processing apparatus and special purpose logic circuitry) can be hardware-or software-based (or a combination of both hardware-and software-based). The apparatus can optionally include code that creates an execution environment for computer programs, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of execution environments. The present disclosure contemplates the use of data processing apparatuses with or without conventional operating systems, for example, Linux, Unix, Windows, Mac OS, Android, or iOS.

A computer program, which can also be referred to or described as a program, software, a software application, a module, a software module, a script, or code can be written in any form of programming language. Programming languages can include, for example, compiled languages, interpreted languages, declarative languages, or procedural languages. Programs can be deployed in any form, including as stand-alone programs, modules, components, subroutines, or units for use in a computing environment. A computer program can, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, for example, one or more scripts stored in a markup language document; in a single file dedicated to the program in question; or in multiple coordinated files storing one or more modules, sub programs, or portions of code. A computer program can be deployed for execution on one computer or on multiple computers that are located, for example, at one site or distributed across multiple sites that are interconnected by a communication network. While portions of the programs illustrated in the various figures may be shown as individual modules that implement the various features and functionality through various objects, methods, or processes; the programs can instead include a number of sub-modules, third-party services, components, and libraries. Conversely, the features and functionality of various components can be combined into single components as appropriate. Thresholds used to make computational determinations can be statically, dynamically, or both statically and dynamically determined.

The methods, processes, or logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The methods, processes, or logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, for example, a CPU, an FPGA, or an ASIC.

Computers suitable for the execution of a computer program can be based on one or more of general and special purpose microprocessors and other kinds of CPUs. The elements of a computer are a CPU for performing or executing instructions and one or more memory devices for storing instructions and data. Generally, a CPU can receive instructions and data from (and write data to) a memory. A computer can also include, or be operatively coupled to, one or more mass storage devices for storing data. In some implementations, a computer can receive data from, and transfer data to, the mass storage devices including, for example, magnetic, magneto optical disks, or optical disks. Moreover, a computer can be embedded in another device, for example, a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device such as a universal serial bus (USB) flash drive.

Computer readable media (transitory or non-transitory, as appropriate) suitable for storing computer program instructions and data can include all forms of permanent/non-permanent and volatile/non-volatile memory, media, and memory devices. Computer readable media can include, for example, semiconductor memory devices such as random access memory (RAM), read only memory (ROM), phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices. Computer readable media can also include, for example, magnetic devices such as tape, cartridges, cassettes, and internal/removable disks. Computer readable media can also include magneto optical disks, optical memory devices, and technologies including, for example, digital video disc (DVD), CD ROM, DVD+/−R, DVD-RAM, DVD-ROM, HD-DVD, and BLURAY. The memory can store various objects or data, including caches, classes, frameworks, applications, modules, backup data, jobs, web pages, web page templates, data structures, database tables, repositories, and dynamic information. Types of objects and data stored in memory can include parameters, variables, algorithms, instructions, rules, constraints, and references. Additionally, the memory can include logs, policies, security or access data, and reporting files. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

Implementations of the subject matter described in the present disclosure can be implemented on a computer having a display device for providing interaction with a user, including displaying information to (and receiving input from) the user. Types of display devices can include, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), a light-emitting diode (LED), or a plasma monitor. Display devices can include a keyboard and pointing devices including, for example, a mouse, a trackball, or a trackpad. User input can also be provided to the computer using a touchscreen, such as a tablet computer surface with pressure sensitivity or a multi-touch screen using capacitive or electric sensing. Other kinds of devices can be used to provide for interaction with a user, including to receive user feedback, for example, sensory feedback including visual feedback, auditory feedback, or tactile feedback. Input from the user can be received in the form of acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to, and receiving documents from, a device that is used by the user. For example, the computer can send web pages to a web browser on a user's client device in response to requests received from the web browser.

The term “graphical user interface,” or “GUI,” can be used in the singular or the plural to describe one or more graphical user interfaces and each of the displays of a particular graphical user interface. Therefore, a GUI can represent any graphical user interface, including, but not limited to, a web browser, a touch screen, or a command line interface (CLI) that processes information and efficiently presents the information results to the user. In general, a GUI can include a plurality of user interface (UI) elements, some or all associated with a web browser, such as interactive fields, pull-down lists, and buttons. These and other UI elements can be related to or represent the functions of the web browser.

Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back end component, for example, as a data server, or that includes a middleware component, for example, an application server. Moreover, the computing system can include a front-end component, for example, a client computer having one or both of a graphical user interface or a Web browser through which a user can interact with the computer. The components of the system can be interconnected by any form or medium of wireline or wireless digital data communication (or a combination of data communication) in a communication network. Examples of communication networks include a local area network (LAN), a radio access network (RAN), a metropolitan area network (MAN), a wide area network (WAN), Worldwide Interoperability for Microwave Access (WIMAX), a wireless local area network (WLAN) (for example, using 802.11 a/b/g/n or 802.20 or a combination of protocols), all or a portion of the Internet, or any other communication system or systems at one or more locations (or a combination of communication networks). The network can communicate with, for example, Internet Protocol (IP) packets, frame relay frames, asynchronous transfer mode (ATM) cells, voice, video, data, or a combination of communication types between network addresses.

The computing system can include clients and servers. A client and server can generally be remote from each other and can typically interact through a communication network. The relationship of client and server can arise by virtue of computer programs running on the respective computers and having a client-server relationship.

Cluster file systems can be any file system type accessible from multiple servers for read and update. Locking or consistency tracking may not be necessary since the locking of exchange file system can be done at application layer. Furthermore, Unicode data files can be different from non-Unicode data files.

While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented, in combination, or in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations, separately, or in any suitable sub-combination. Moreover, although previously described features may be described as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can, in some cases, be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

Particular implementations of the subject matter have been described. Other implementations, alterations, and permutations of the described implementations are within the scope of the following claims as will be apparent to those skilled in the art. While operations are depicted in the drawings or claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed (some operations may be considered optional), to achieve desirable results. In certain circumstances, multitasking or parallel processing (or a combination of multitasking and parallel processing) may be advantageous and performed as deemed appropriate.

Moreover, the separation or integration of various system modules and components in the previously described implementations should not be understood as requiring such separation or integration in all implementations; and the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

Accordingly, the previously described example implementations do not define or constrain the present disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of the present disclosure.

Furthermore, any claimed implementation is considered to be applicable to at least a computer-implemented method; a non-transitory, computer-readable medium storing computer-readable instructions to perform the computer-implemented method; and a computer system comprising a computer memory interoperably coupled with a hardware processor configured to perform the computer-implemented method or the instructions stored on the non-transitory, computer-readable medium.

Claims

What is claimed is:

1. A method comprising:

obtaining sensor data from at least one sensor attached to a surface of a drill bit;

providing the sensor data from the at least one sensor to one or more machine learning models, wherein the one or more machine learning models are trained using a library of (i) sensor signatures and (ii) geological formations to output one or more drilling parameters; and

adjusting one or more parameters of an operation performed by a drill controlling the drill bit based on the one or more drilling parameters output by the one or more machine learning models.

2. The method of claim 1, wherein adjusting the one or more parameters of the operation performed by the drill comprises:

adjusting parameters that control one or more of: drill steering, casing, or coring.

3. The method of claim 1, wherein obtaining the sensor data from the at least one sensor attached to the surface of the drill bit comprises:

obtaining the sensor data from (i) an acoustic sensor and (ii) a pressure sensor.

4. The method of claim 1, wherein obtaining the sensor data from the at least one sensor attached to the surface of the drill bit comprises:

obtaining the sensor data from an accelerometer.

5. The method of claim 1, wherein providing the sensor data from the at least one sensor to the one or more machine learning models comprises:

generating a transformed version of the sensor data; and

providing the transformed version of the sensor data to the one or more machine learning models.

6. The method of claim 5, wherein generating the transformed version of the sensor data comprises:

performing a fast Fourier transform (FFT) on the sensor data from the at least one sensor.

7. The method of claim 5, wherein generating the transformed version of the sensor data comprises:

extracting attributes from the sensor data; and

generating, using the extracted attributes, the transformed version of the sensor data.

8. The method of claim 7, wherein the attributes include one or more of energy, amplitude, or phase.

9. The method of claim 1, wherein adjusting the one or more parameters of the operation performed by the drill comprises:

obtaining the output from the one or more machine learning models; and

adjusting, using one or more updated parameters included in the output from the one or more machine learning models, the one or more parameters of the operation performed by the drill.

10. The method of claim 1, wherein obtaining the sensor data from the at least one sensor attached to the surface of the drill bit comprises:

obtaining, during operation of the drill, the sensor data from the at least one sensor attached to the surface of the drill bit.

11. The method of claim 1, wherein the one or more machine learning models are trained to predict one or more geological formations.

12. The method of claim 1, comprising:

generating the library of sensor signatures and geological formations as an electronic database using records from known geological formations.

13. A system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

obtaining sensor data from at least one sensor attached to a surface of a drill bit;

providing the sensor data from the at least one sensor to one or more machine learning models, wherein the one or more machine learning models are trained using a library of (i) sensor signatures and (ii) geological formations to output one or more drilling parameters; and

adjusting one or more parameters of an operation performed by a drill controlling the drill bit based on the one or more drilling parameters output by the one or more machine learning models.

14. The system of claim 13, wherein adjusting the one or more parameters of the operation performed by the drill comprises:

adjusting parameters that control one or more of: drill steering, casing, or coring.

15. The system of claim 13, wherein obtaining the sensor data from the at least one sensor attached to the surface of the drill bit comprises:

obtaining the sensor data from (i) an acoustic sensor and (ii) a pressure sensor.

16. The system of claim 13, wherein obtaining the sensor data from the at least one sensor attached to the surface of the drill bit comprises:

obtaining the sensor data from an accelerometer.

17. The system of claim 13, wherein providing the sensor data from the at least one sensor to the one or more machine learning models comprises:

generating a transformed version of the sensor data; and

providing the transformed version of the sensor data to the one or more machine learning models.

18. The system of claim 17, wherein generating the transformed version of the sensor data comprises:

performing a fast Fourier transform (FFT) on the sensor data from the at least one sensor.

19. The system of claim 17, wherein generating the transformed version of the sensor data comprises:

extracting attributes from the sensor data; and

generating, using the extracted attributes, the transformed version of the sensor data.

20. One or more computer storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

obtaining sensor data from at least one sensor attached to a surface of a drill bit;

providing the sensor data from the at least one sensor to one or more machine learning models, wherein the one or more machine learning models are trained using a library of (i) sensor signatures and (ii) geological formations to output one or more drilling parameters; and

adjusting one or more parameters of an operation performed by a drill controlling the drill bit based on the one or more drilling parameters output by the one or more machine learning models.