The present disclosure is directed at methods, systems, and computer-readable media for performing automated drilling of a wellbore.
Oil and gas wellbore drilling may be partially or entirely automated. For example, certain example automated drilling units (or “AutoDrillers”) may attempt to maximize rate of penetration by varying weight on bit in response to one or more measured drilling parameters. Examples of those drilling parameters may comprise any one or more of readings from hookload, depth, and drilling fluid pressure sensors. Those units are designed to increase drilling efficiency by, for example, extending drill bit life and reducing total drilling hours.
Differential pressure is a measurement of fluid force per unit area subtracted from a higher measurement of fluid force per unit area. This comparison can be made between pressures outside and inside a pipe. Differential pressure is commonly calculated as the current standpipe pressure relative to a reference point, ΔDP=SPP−Pref.
Differential pressure is used when mud motors are used. Mud motors are devices that convert hydraulic power, generated by the circulation of drilling fluid from the surface and down through the drill pipe, to mechanical (rotational) power directly at the drill bit. A mud motor is used to increase the bit rotational speed above that which is achievable through rotation at the surface alone, and also whenever it is necessary to rotate the drill bit without rotating the drill string. Drilling fluid is pumped with the bit off the bottom at the rate to be used while drilling. An initial standpipe pressure measurement is made and is used as a reference point (“zero pressure”, Pref). When the drill bit is lowered to the bottom and cuts into the rock, the pressure increases and the difference relative to the reference point is the differential pressure, DP. It is the pressure across the mud motor and is an indication of the torque applied to the drill bit.
Differential pressure is often used as a control parameter during drilling operations. Limits on differential pressure are typically prescribed to prevent excessive strain on downhole equipment, such as mud motors, which can lead to premature wear and failure, as well as events such as mud motor stalls. The prescribed limit is typically dependent on equipment manufacturer specifications, risk tolerances, and best practices. For example, a differential pressure setpoint may be set to 80% of the Maximum Differential Pressure, DPmax, rating of the mud motor. In other cases, the differential pressure setpoint may be lowered to account for variability in the differential pressure signal to prevent unexpected surges from exceeding a differential pressure limit. The limits are usually enforced by setting an AutoDriller setpoint, and/or other limits such as on standpipe pressure, as well as output levels on pump controllers.
During on-bottom rotary drilling operations, it is desirable to maintain drilling parameters at a prescribed level, or within a desired range. AutoDrillers are typically used to enforce constraints on drilling parameters, such as Rate of Penetration (ROP), Weight On Bit (WOB), Rotary RPM (RPM), Rotary Torque (TQ), and Differential Pressure (DP). The dependence of each drilling parameter on each other drilling parameter is not precisely known. AutoDrillers must simultaneously manage each of the drilling parameters such that all prescribed limits are enforced. This is typically accomplished by controlling a drawworks subsystem which in turn controls the rate at which the drill pipe is lowered into the borehole. Increasing the rate of release typically results in an increase in downhole weight on bit, and subsequently the measured surface weight on bit. A corresponding increase in differential pressure measured at the surface is expected as a proxy for the increase in torque on the drill bit due to the elevated downhole weight on bit.
Differential pressure may vary significantly and unexpectedly throughout the drilling process due to, for example, geologic heterogeneity, and it is often difficult to design and tune AutoDrillers to manage differential pressure in all situations.
According to a first aspect of the disclosure, there is provided a computer-implemented method of controlling a drilling operation, comprising: determining that a differential pressure is in an oscillating state, comprising determining that the differential pressure has exceeded a differential pressure limit at least a preset number of times during a preset time window; and in response to determining that the differential pressure is in the oscillating state, decreasing a weight on bit setpoint so as to decrease the differential pressure.
The computer-implemented method may further comprise: determining that at least a first time the differential pressure exceeded the differential pressure limit occurred outside the preset time window; and ignoring the at least the first time the differential pressure exceeded the differential pressure limit when determining whether the differential pressure is in the oscillating state.
The preset time window may be a rolling time window.
Determining that the differential pressure is in the oscillating state may further comprise determining whether an average magnitude of the differential pressure since a first time the differential pressure exceeded the differential pressure limit, or since a beginning of the preset time window, is greater than a threshold.
The computer-implemented method may further comprise: determining that the average magnitude of the differential pressure is not greater than the threshold; and in response to determining that the average magnitude of the differential pressure is not greater than the threshold, ignoring the first time the differential pressure exceeded the differential pressure limit when determining whether the differential pressure is in the oscillating state.
Determining that the differential pressure is in the oscillating state may further comprise determining whether an average magnitude of a weight on bit since a first time the differential pressure exceeded the differential pressure limit, or since a beginning of the preset time window, is greater than a threshold.
The computer-implemented method may further comprise: determining that the average magnitude of the weight on bit is not greater than the threshold; and in response to determining that the average magnitude of the weight on bit is not greater than the threshold, ignoring the first time the differential pressure exceeded the differential pressure limit when determining whether the differential pressure is in the oscillating state.
Determining that the differential pressure is in the oscillating state may further comprise: determining whether an average difference between a weight on bit and the weight on bit setpoint, since a first time the differential pressure exceeded the differential pressure limit, or since a beginning of the preset time window, is greater than a threshold.
The computer-implemented method may further comprise: determining that the average difference between the weight on bit and the weight on bit setpoint is greater than the threshold; and in response to determining that the average difference between the weight on bit and the weight on bit setpoint is greater than the threshold, ignoring the first time the differential pressure exceeded the differential pressure limit when determining whether the differential pressure is in the oscillating state.
Determining that the differential pressure is in the oscillating state may further comprise: determining that an average magnitude of the differential pressure, since a first time the differential pressure exceeded the differential pressure limit, or since a beginning of the preset time window, is greater than a first threshold; and determining that an average magnitude of a weight on bit, since the first time the differential pressure exceeded the differential pressure limit, or since the beginning of the preset time window, is greater than a second threshold; and determining that an average difference between the weight on bit and the weight on bit setpoint, since the first time the differential pressure exceeded the differential pressure limit, or since the beginning of the preset time window, is greater than a third threshold.
The preset number of times may be three times.
According to a further aspect of the disclosure, there is provided a computer-implemented method of controlling a drilling operation, comprising: determining a difference between a differential pressure and a target differential pressure, wherein the target differential pressure is less than a differential pressure limit; and adjusting a weight on bit setpoint as a function of the difference between the differential pressure and the target differential pressure so as to adjust the differential pressure and thereby reduce the difference between the differential pressure and the target differential pressure.
Adjusting the weight on bit setpoint may comprise: determining a relationship between a weight on bit and the differential pressure; and adjusting the weight on bit setpoint based on the relationship.
Determining the relationship may comprise: obtaining a dataset comprising weight on bit measurements as a function of differential pressure measurements; and performing statistical analysis on the dataset.
Performing the statistical analysis may comprise performing linear regression.
The computer-implemented may further comprise, prior to adjusting the weight on bit setpoint, determining whether a slope of the output of the linear regression is within a preset range of slopes.
The computer-implemented method may further comprise: determining a lag between the weight on bit measurements and the differential pressure measurements; and adjusting the dataset based on the lag.
Adjusting the weight on bit setpoint based on the relationship may comprise: determining a target weight on bit based on the relationship; determining an adjustment to be made to the weight on bit setpoint based on the target weight on bit; and adjusting the weight on bit setpoint based on the determined adjustment.
Determining the adjustment to be made to the weight on bit setpoint may comprise determining (target WOB−current WOB)*dpmax.gain, wherein target WOB is the target weight on bit setpoint, current WOB is the weight on bit setpoint, and dpmax.gain is a constant.
The computer-implemented method may further comprise, prior to adjusting the weight on bit setpoint, determining whether the differential pressure is greater than a differential pressure setpoint.
The target differential pressure may be based on one or more specifications of a mud motor.
The computer-implemented method may further comprise, prior to adjusting the weight on bit setpoint, determining whether adjusting the weight on bit setpoint is in compliance with one or more of: a stick slip protocol; a Rotating Control Device (RCD) handling protocol; a limiting protocol; and a stringer handling protocol. A limiting protocol may be a protocol that determines whether a drilling parameter such as differential pressure, torque, or rate of penetration is too close to or beyond an associated limit.
The target differential pressure may comprise a range of differential pressures.
The computer-implemented method may further comprise: determining, based on the range of differential pressures, one or more ranges of one or more drilling parameter setpoints, wherein the one or more drilling parameter setpoints are used as one or more inputs to a feedback control loop and are adjusted based on one or more outputs of the feedback control loop; and constraining adjustments to the one or more drilling parameter setpoints based on the determined one or more ranges of the one or more drilling parameter setpoints.
The one or more drilling parameter setpoints may comprise one or more of: the weight on bit setpoint, a rotary RPM setpoint; and a downhole RPM setpoint.
According to a further aspect of the disclosure, there is provided a computer-implemented method of controlling a drilling operation, comprising: determining a relationship between a weight on bit and a differential pressure; determining, based on the relationship and based on a target differential pressure range, a target weight on bit range, wherein the target differential pressure range is less than a differential pressure limit; and adjusting, based on the target weight on bit range, a weight on bit setpoint so as to adjust the differential pressure and thereby maintain the differential pressure within the target differential pressure range.
The computer-implemented method may further comprise determining whether the target weight on bit range is compliant with one or more existing weight on bit setpoint limits.
The computer-implemented method may further comprise: determining that the target weight on bit range is not compliant with the one or more existing weight on bit setpoint limits; and in response determining that the target weight on bit range is not compliant with the one or more existing weight on bit setpoint limits, adjusting the target weight on bit range so that the target weight on bit range is compliant with the one or more existing weight on bit setpoint limits.
Determining the relationship may comprise: obtaining a dataset comprising weight on bit measurements as a function of differential pressure measurements; and performing statistical analysis on the dataset.
Performing the statistical analysis may comprise performing linear regression.
Adjusting the weight on bit setpoint may comprise determining whether the weight on bit setpoint is outside of the target weight on bit range by at least a minimum threshold.
Adjusting the weight on bit setpoint may further comprise: determining that the weight on bit setpoint is outside of the target weight on bit range by at least the minimum threshold; determining a difference between the weight on bit setpoint and a further minimum threshold; and adjusting the weight on bit setpoint based on the difference.
The target differential pressure range may be based on one or more specifications of a mud motor.
The computer-implemented method may further comprise, prior to adjusting the weight on bit setpoint, determining whether adjusting the weight on bit setpoint would cause one or more of a torque limit, the differential pressure limit, a standpipe pressure limit, and a rate of penetration limit to be exceeded.
According to a further aspect of the disclosure, there is provided a computer-readable medium having computer program code stored thereon and configured when executed by one or more processors to cause the one or more processors to perform any of the above-described methods for controlling a drilling operation.
According to a further aspect of the disclosure, there is provided a system comprising: a drill string comprising a bottom hole assembly including a drill bit; a drawworks operable to control a weight applied to the drill bit; and an oscillation detector comprising computer-readable memory and one or more processors, wherein the compute-readable memory comprises computer program code stored thereon and configured, when executed by the one or more processors, to cause the one or more processors to perform any of the above-described methods of controlling a drilling operation.
In the accompanying drawings, which illustrate one or more example embodiments:
The present disclosure seeks to provide methods, systems, and computer-readable media for performing automated drilling of a wellbore. While various embodiments of the disclosure are described below, the disclosure is not limited to these embodiments, and variations of these embodiments may well fall within the scope of the disclosure which is to be limited only by the appended claims.
The embodiments described herein are generally directed at controlling differential pressure by controlling one or more setpoints of other drilling parameters. According to embodiments of the disclosure, there is described a method of detecting that differential pressure is in an oscillating state. For example, the method includes determining that differential pressure has exceeded a differential pressure limit at least a preset number of times during a preset time window. For example, the method may include determining that differential pressure has exceeded a differential pressure limit at least three times during a maximum time window, such as 370 seconds. Oscillations in differential pressure typically coincide with oscillations in other drilling parameters such as weight on bit, rate of penetration, and torque. Therefore, in addition to detecting oscillations in differential pressure, the method may include detecting that weight on bit oscillations have occurred, and may further include detecting that a loss in setpoint tracking has occurred (e.g. if a difference between weight on bit and a weight on bit setpoint is greater than a preset threshold). In response to these additional determinations, the method may include determining that differential pressure is in an oscillating state. In response to determining that differential pressure is in an oscillating state, a weight on bit setpoint is decreased. Generally, decreasing the WOB setpoint will result in the average differential pressure decreasing, will mitigate the oscillating state of differential pressure, and will reduce the likelihood of the differential pressure exceeding its upper limit and returning to an oscillating state.
In addition to adjusting weight on bit so as to avoid differential pressure entering an oscillating state, embodiments described herein are also directed at maintaining differential pressure at or close to a target differential pressure, or within a target differential pressure range. The target differential pressure and the target differential pressure range correspond respectively to an efficient operating target and an efficient operating target range of the mud motor being used, or respectively to a target and a target range that prevent or mitigate a risk of damage to equipment including the mud motor. Therefore, it is generally preferable for differential pressure to be maintained at or close to a target differential pressure, or within a target differential pressure range.
Therefore, according to embodiments of the disclosure, there is described a method of determining a difference between a differential pressure and a target differential pressure. The target differential pressure is less than a differential pressure limit, but for example may be optimum preferred differential pressure at which to drill based on one or more specifications of the mud motor. The method includes adjusting a weight on bit setpoint as a function of the difference between the differential pressure and the target differential pressure. For example, a linear regression of weight on bit data and differential pressure data may be performed to determine a target weight on bit. The weight on bit setpoint may then be adjusted based on the target weight on bit. This will result in the differential pressure being adjusted toward the target differential pressure. Thus, drilling may be made more efficient and/or a risk of damage to equipment, including the mud motor, may be mitigated.
In addition, according to the embodiments of the disclosure, there is a described a method comprising determining a relationship between a differential pressure and an associated weight on bit. For example, a regression of weight on bit data and differential pressure data may be performed to determine a model of the relationship between differential pressure and weight on bit. The model may then be used to estimate the target weight on bit range corresponding to the target differential pressure range. Based on the determined relationship, and based on a target differential pressure range, a corresponding weight on bit range may be estimated. An upper limit of the target differential pressure range may be less than a differential pressure limit. An upper limit of the weight on bit range may correspond to the upper limit of the target differential pressure range, and may be less than an upper limit on weight on bit. A lower limit of the weight on bit range may correspond to a lower limit of the target differential pressure range, and may be greater than a lower limit on the weight on bit. The method may include adjusting a weight on bit setpoint if the weight on bit setpoint is determined to be outside of the target weight on bit range. Thus, as a result of the adjustment to the weight on bit setpoint, the differential pressure may be maintained within the target differential pressure range.
A mud pump 122 rests on the floor 128 and is fluidly coupled to a shale shaker 124 and to a mud tank 126. The mud pump 122 pumps mud from the tank 126 into the drill string 118 at or near the top drive 110, and mud that has circulated through the drill string 118 and the wellbore 116 return to the surface via a blowout preventer (“BOP”) 112. The returned mud is routed to the shale shaker 124 for filtering and is subsequently returned to the tank 126.
The system 200 also comprises the drawworks 114 and top drive 110. The drawworks 114 comprises a programmable logic controller (“drawworks PLC”) 114a that controls the drawworks' 114 rotation and a drawworks encoder 114b that outputs a value corresponding to the current height of the traveling block 108. The top drive 110 comprises a top drive programmable logic controller (“top drive PLC”) 110a that controls the top drive's 114 rotation and an RPM sensor 110b that outputs the rotational rate of the drill string 118. More generally, the top drive PLC 110a is an example of a rotational drive unit controller and the RPM sensor 110b is an example of a rotation rate sensor.
A first junction box 204a houses a top drive controller 206, which is communicatively coupled to the top drive PLC 110a and the RPM sensor 110b. The top drive controller 206 controls the rotation rate of the drill string 118 by instructing the top drive PLC 110a and obtains the rotation rate of the drill string 118 from the RPM sensor 110b.
A second junction box 204b houses an automated drilling unit 208, which is communicatively coupled to the drawworks PLC 114a and the drawworks encoder 114b. The automated drilling unit 208 modulates WOB during drilling by instructing the drawworks PLC 114a and obtains the height of the traveling block 108 from the drawworks encoder 114b. In different embodiments, the height of the traveling block 108 can be obtained digitally from rig instrumentation, such as directly from the PLC 114a in digital form. In different embodiments (not depicted), the junction boxes 204a,204b may be combined in a single junction box, comprise part of the doghouse computer 210, or be connected indirectly to the doghouse computer 210 by an additional desktop or laptop computer.
The automated drilling unit 208 is also communicatively coupled to each of the sensors 202. In particular, the automated drilling unit 208 determines WOB from the hookload sensor 202c and determines the ROP of the drill bit 120 by monitoring the height of the traveling block 108 over time.
The system 200 also comprises a doghouse computer 210. The doghouse computer 210 comprises a processor 212 and memory 214 communicatively coupled to each other. The memory 214 stores on it computer program code that is executable by the processor 212 and that, when executed, causes the processor 212 to perform a method 500 for performing automated drilling of the wellbore 116, such as that depicted in
Each of the first and second junction boxes may comprise a Pason Universal Junction Box™ (UJB) manufactured by Pason Systems Corp. of Calgary, Alberta. The automated drilling unit 208 may be a Pason AutoDriller™ manufactured by Pason Systems Corp. of Calgary, Alberta.
The top drive controller 110, automated drilling unit 208, and doghouse computer 210 collectively comprise an example type of drilling controller. In different embodiments, however, the drilling controller may comprise different components connected in different configurations. For example, in the system 200 of
In the depicted embodiments, the top drive controller 110 and the automated drilling unit 208 acquire data from the sensors 202 discretely in time at a sampling frequency Fs, and this is also the rate at which the doghouse computer 210 acquires the sampled data. Accordingly, for a given period T, N samples are acquired with N=TFs. In different embodiments (not depicted), the doghouse computer 210 may receive the data at a different rate than that at which it is sampled from the sensors 202. Additionally or alternatively, the top drive controller 110 and the automated drilling unit 208 may sample data at different rates, and more generally in embodiments in which different equipment is used data may be sampled from different sensors 202 at different rates.
Turning to
Doghouse computer 210 collects sensor readings from UJB 204b (
Target differential pressure range manager 224, target differential pressure manager 226, and oscillation detector 228 may furthermore prevent further adjustment of one or more drilling parameters, such as the WOB setpoint, by restricting the one or more setpoints according to one or more objectives of target differential pressure range manager 224, target differential pressure manager 226, and oscillation detector 228. The setpoints prescribed by target differential pressure range manager 224, target differential pressure manager 226, and oscillation detector 228 may in turn be restricted by each other, or by additional functions such as optimization processes and routines that handle other aspects of the drilling process, such as the management of stick slip.
Adjusted drilling parameter setpoints are communicated to doghouse computer 210 and are sent from doghouse computer 210 to automated drilling unit 208. Automated drilling unit 208 may then control the drilling operation based on the updated drilling parameter setpoints, by controlling a rotary system (e.g., top drive 110) and a drawworks system (e.g., drawworks 114).
Referring now to
The microcontroller 302 communicates with the hookload and standpipe pressure sensors 202c,202d via the FPGA 320. More specifically, the FPGA 320 receives signals from these sensors 202c,202d as analog inputs 322; the FPGA 320 is also able to send analog signals using analog outputs 324. These inputs 322 and outputs 324 are routed through intrinsic safety (“IS”) barriers for safety purposes, and through wiring terminals 330. The microcontroller 302 communicates using the RS-422 ports 318 to the PLC 114a; accordingly, the microcontroller 302 receives signals from a block height sensor (not shown) and the torque sensor 202a and sends signals to a variable frequency drive (or, in some embodiments, a braking device) via the RS-422 ports 318. According to some embodiments, automated drilling unit 208 outputs a throttle signal to a PLC using an analog output. According to some embodiments, automated drilling unit 208 communicates with a band brake controller using an RS-422 port.
The FPGA 320 is also communicatively coupled to a non-incendive depth input 332 and a non-incendive encoder input 334. In different embodiments (not depicted), the automated drilling unit 208 may receive different sensor readings in addition to or as an alternative to the readings obtained using the depicted sensors 202a,202b,202c,202d.
First junction box 204a, comprising top drive controller 206, comprises an input/output architecture similar to that of second junction box 204b shown in
Referring now to
The data module 414 also communicates using an input/output multiplexer, labeled “10 Mux” in
As mentioned above, the relationships between measured surface weight on bit, actual downhole weight on bit, torque on the drill bit, and differential pressure can be variable throughout the drilling of a wellbore, and generally may not be directly measured. The variability arises from changes in, for example, geology which can result in small and large unexpected fluctuations in differential pressure. In some cases, the fluctuations in differential pressure can temporarily cause differential pressure to exceed the differential pressure limit assigned to the AutoDriller. In response, the AutoDriller will attempt to bring differential pressure back below the limit by decreasing the rate of release of the drill pipe to reduce weight on bit, and subsequently differential pressure.
This method of managing differential pressure to enforce the prescribed limits is challenging due to, for example, the aforementioned unexpected changes in drilling conditions, setpoint changes resulting in infeasible parameter levels, ill-prescribed limits resulting in conflicting control objectives, sub-optimal tuning of AutoDriller control loops, and also due to time delays between the responses of each drilling parameter and the AutoDriller inputs. Each of these factors can contribute to undesirable behavior of the AutoDriller control system, such as large swings and oscillatory behavior of the rate of release, which then can propagates to other drilling parameters and corresponding control loops, such as rate of penetration, weight on bit, torque, and differential pressure. For example, in AutoDrillers based on PID (Proportional Integral Derivative) control, over compensation due to aggressive tuning can result in integral windup, resulting in poor controller behavior. Large changes in any one of the control parameters can also lead to poor drilling performance, such as temporary or prolonged decreases in the rate of drilling, as well as potentially destructive drilling dysfunctions such as bit bounce, whirl, stick slip, motor stalls, and shocks which can cause premature wear and failure of equipment.
Turning to
The process begins at block 502 with oscillation detector 228 determining that differential pressure has exceeded a differential pressure limit (an event which may be referred to as a “peak”). For example, oscillation detector 228 may determine that differential pressure has exceeded a differential pressure limit using readings obtained from standpipe pressure sensor 202d, and comparing the readings to the differential pressure limit. When determining whether differential pressure has exceeded the differential pressure limit, oscillation detector 228 may detect both when differential pressure has exceeded the differential pressure limit, and when differential pressure drops back below the differential pressure limit, thereby recording a number instances, or peaks, that the differential pressure limit is exceeded. After a first peak is detected, oscillation detector 228 continues at block 502 to monitor differential pressure until a second peak is detected, i.e. until differential pressure is determined to have exceeded the differential pressure limit a second time. If a second peak is detected, the process proceeds to block 504.
At block 504, oscillation detector 228 determines the validly of a detected peak. A peak is determined to be valid if the peak occurs within a preset, configurable window of time since the immediately previous peak was detected. For example, a time interval of 5 seconds to 180 seconds may be used. If oscillation detector 228 determines that the detected peak is not valid (e.g. it was detected outside of the preset window of time since the immediately previous peak was detected), then oscillation detector 228 ignores the detected peak and the process returns to the initial state at block 502. If oscillation detector 228 determines that the detected peak is valid, then oscillation detector 228 increments the number of detected peaks by one and the process proceeds to block 506.
At block 506, oscillation detector 228 determines whether the total number of peaks detected within the time window exceeds a preset, configurable count threshold. For example, the threshold may be set to not less than a count of two peaks. If oscillation detector 228 determines that the number of counted peaks is less than the preset threshold, then the process returns to block 502. If oscillation detector 228 determines that the number of counted peaks is greater than or equal to the preset threshold, then the process proceeds to block 508.
At block 508, oscillation detector 228 determines the root mean square (RMS) of each of differential pressure, weight on bit, and the difference between weight on bit and a corresponding weight on bit setpoint, over the length of data collected since the detection of the first peak or since a period of time corresponding to the fixed time window, whichever is less. Oscillation detector 228 then compares the value of each RMS to a corresponding, configurable threshold value. The RMS of differential pressure is used to determine whether the oscillations in differential pressure are considered sufficiently significant. The RMS of weight on bit is used to determine whether the variations of weight on bit are considered sufficiently significant. The RMS of the difference between weight on bit and the weight on bit setpoint is used to determine whether setpoint tracking is lost. If oscillation detector 228 determines that one or more of the thresholds are not exceeded, then the process proceeds to block 510. If oscillation detector 228 determines that all thresholds are exceeded, then the process proceeds to block 512.
At block 510, oscillation detector 228 discards all data up to the second detected peak, and the process returns to block 502.
At block 512, oscillation detector 228 determines the average value of weight on bit over the length of data collected since the detection of the first peak or since a period of time corresponding to the fixed time window, whichever is less, to determine a target weight on bit. Oscillation detector 228 then decreases the weight on bit setpoint to the target weight on bit, by incrementing the weight on bit setpoint until the target weight on bit is reached.
Turning to
Now turning to
As discussed above, in addition to controlling weight on bit so as to avoid differential pressure entering an oscillating state, embodiments described herein are also directed at controlling differential pressure so as to maintain differential pressure at or close to a target differential pressure or a target range of differential pressure (“target differential pressure range”).
At the same time, drilling optimization systems, or subroutines that manage different objectives (e.g., stick-slip, mud motor stalls, rotating control device (RCD) events), typically require moderate control of one or more drilling parameters, such as WOB and RPM. Such drilling optimization systems and/or subroutines may be directly or indirectly integrated with an automated drilling unit. In the latter case, a drilling optimization system and/or subroutines may communicate with the automated drilling unit, providing drilling parameter setpoint commands, based on measurements of drilling parameters. It is desirable for the automated drilling unit to maintain stable control of the process, including a relatively smooth differential pressure. Examples of drilling optimization systems and/or subroutines are provided in U.S. Pat. No. 10,202,837, assigned to Pason Systems Corp., incorporated by reference in its entirety.
The methods now described, which may be included with or be separate to a drilling optimization system, are designed to assist the automated drilling unit in managing differential pressure. The primary objectives of the automated differential pressure management methods described herein include:
Maintaining differential pressure at or below a specified level is typically accomplished by setting a limit on the automated drilling unit. However, in some cases, tuning or control design may be suboptimal, leading to differential pressure exceeding the limit, or the inability to sustain differential pressure within acceptable tolerances of the prescribed limit. A secondary control algorithm may therefore be useful in assisting the automated drilling unit to enforce the differential pressure limit.
In the case where a subroutine is concurrently run such that an objective function is to be minimized or maximized, the generalized optimization problem for N drilling parameters x={x1, . . . , xN} can be represented as:
max J(x) subject to xiLB≤xi≤xiUB, i=1, . . . ,N (1)
where J is the objective function to be maximized (or minimized), and {xiLB, xiUB} are the lower and upper bounds for each parameter xi, respectively. In practice, the objective function typically consists of a combination of performance and efficiency metrics such as ROP and MSE (Mechanical Specific Energy), and the upper bounds correspond to automated drilling unit limits on drilling parameters such as WOB, torque, differential pressure, and SPP.
The optimization of J is realized through one or more inputs to the system. For example, WOB is typically used as an input. There exists a dependency between the drilling parameters and the inputs, for example WOB, governed by dynamics of the drilling process. In other words, xi=yi(u, t) where u={u1 . . . , uM} is the M inputs to the system, and t is time. The limits on each drilling parameter reduce the attainable combination of drilling parameters to a subset Y⊂N. Limits on the input restrict the input space to a subset U⊂M.
Additional limits on a particular drilling parameter, for example differential pressure, further reduce the attainable combination of drilling parameters to a subset Ŷ⊂Y. Subroutines that modify the input, for example an optimization routine, will look for a û∈Û that satisfies y∈Ŷ. Allowing subroutines, for example the optimization of J while maintaining differential pressure within a prescribed differential pressure range, requires the input space Û to be determined.
The restricted input space Û may be determined by either manually setting limits on the input u, or through online estimation of Û from the relationships between drilling parameters y and the input u. Online estimation of Û may be advantageous to manually prescribing limits because the relationships between drilling parameters y and input u can vary significantly throughout the drilling process. The relationships between the drilling parameters and inputs may be determined from physical modelling of the process, statistical modelling, or hybrid approaches. The relationship between an input u and the corresponding target drilling parameter x* is described by the model ĝ(θ,x*,x,t), where θ represents generalized parameters used in the model. The target range is prescribed and the workflow for determining Û becomes:
1. Set the target range for the parameter such that x*∈[xLB, xUB]
2. Estimate or update the model u=ĝ(θ,x*,x,t)
3. Calculate constraints ûLB=ĝ(θ,xLB,t) and ûUB=ĝ(θ,xUB,t)
4. Send the updated constraints on u to the subroutine.
Due to the changing relationships between the drilling parameters and inputs, the estimate of ĝ(θ,x,u,t) is updated while the target parameter range is active. The frequency of the updates may be periodic, at fixed intervals, or triggered by a change such as a large deviation in one or more of the drilling parameters, or when the error between the predicted output and actual values of the function ĝ(θ,x,u,t), exceed prescribed tolerances. The limits on lisp imposed by the subroutine such that ûSP∈[ũLB,ũUB] become:
The setpoint ûSP is restricted to the range Û=[ũLB, ũUB] while the value of lisp is determined by an optimization routine such that ûSP=fopt(θ,x,t). Three ways in which the input constraints may be incorporated into the optimization include the following.
max J(x,u) subject to xiLB≤xi≤xiUB, i=1, . . . ,N and ũLB≤U≤ũUB
Turning to
At block 1302, target differential pressure range manager 224 collects a preset window of weight on bit and differential pressure measurements. For example, target differential pressure range manager 224 may collect weight on bit and differential pressure measurements from readings obtained by hookload sensor 202c and standpipe pressure sensor 202d, respectively.
At block 1304, target differential pressure range manager 224 filters out outlier measurements by discarding measurements that fall outside of a preset range, and smooths weight on bit and differential pressure measurements by averaging the signals over a prescribed window length.
At block 1306, target differential pressure range manager 224 performs regression to fit a model between weight on bit and differential pressure. The model output is an estimated weight on bit dependent on a differential pressure input.
At block 1308, the target differential pressure range is obtained from one or more user inputs to HMI 230. The input values are a differential pressure offset and a differential pressure buffer. The target differential pressure range upper limit is calculated as the differential pressure setpoint minus the differential pressure offset. The target differential pressure range lower limit is calculated as the target differential pressure range upper limit minus the differential pressure buffer.
At block 1310, the target weight on bit range is obtained by using the regression model determined at block 1306. The target weight on bit range upper limit is calculated using the target differential pressure range upper limit at block 1308. The target weight on bit range lower limit is calculated using the target differential pressure lower limit at block 1308.
At block 1312, target differential pressure range manager 224 determines the feasibility of the target weight on bit range. For example, target differential pressure range manager 224 may compare the target weight on bit range upper and lower limits determined at block 1310 to prescribed upper and lower limits on weight on bit. If the target weight on bit range upper limit is greater than the prescribed upper limit, then the target weight on bit range upper limit may be set to the prescribed upper limit. Similarly, if the target weight on bit range lower limit is below the prescribed lower limit, then the target weight on bit range lower limit may be set to the prescribed lower limit. If the target weight on bit range is completely infeasible, for example if the target weight on bit range upper limit is below the prescribed weight on bit lower limit, then the process returns to block 1302. Otherwise, the process continues to block 1314.
At block 1314, the current weight on bit setpoint is determined. The current weight on bit setpoint may be a user-prescribed value, or a recommended value determined from another subroutine, for example a routine that optimizes ROP using weight on bit, or the differential pressure manager setpoint at block 1318 calculated in a previous iteration.
At block 1316, target differential pressure range manager 224 determines if the current weight on bit setpoint is within the target weight on bit range. If the current weight on bit setpoint is within the target weight on bit range, then the process returns to block 1302. If the current weight on bit setpoint is outside the target weight on bit range, then the process proceeds to block 1318.
At block 1318, target differential pressure range manager 224 adjusts the current weight on bit setpoint to a target weight on bit setpoint value within the target weight on range. The weight on bit setpoint is adjusted to a value within the target weight on bit range if the difference between the current weight on bit setpoint and the nearest target weight on bit range limit exceeds a configurable threshold. The target weight on bit setpoint value is equal to:
In this case, the current weight on bit setpoint may be changed over a period of time to avoid large instantaneous changes in the weight on bit setpoint. In practice, the threshold may be 2 kDaN, and the time interval no longer than 30 seconds.
The weight on bit setpoint is adjusted to the nearest weight on bit target range limit if the difference between the current weight on bit setpoint and the nearest weight on bit target range limit does not exceed a threshold. Once the change in the weight on bit setpoint is completed, the process returns to block 1302.
The above description in the context of
Turning to
At block 1402, target differential pressure manager 226 collects a preset window of weight on bit and differential pressure measurements. For example, target differential pressure manager 226 may collect weight on bit and differential pressure measurements from readings obtained by hookload sensor 202c and standpipe pressure sensor 202d, respectively. At block 1404, target differential pressure manager 226 adjusts the weight on bit measurements for lag relative to the differential pressure measurements. In particular, target differential pressure manager 226 assumes that differential pressure measurements lag weight on bit measurements by an amount ranging from 0 to a preset maximum. The lag is determined by cross correlation of the difference arrays between the weight on bit measurements and the differential pressure measurements.
At block 1406, target differential pressure manager 226 filters out outlier measurements by discarding measurements that fall outside of a preset percentile range. At block 1408, target differential pressure manager 226 performs linear regression on the filtered weight on bit and differential pressure measurements. At block 1410, target differential pressure manager 226 determines whether the slope of the output of the linear regression is between a preset minimum slope and a preset maximum slope. If not, then the slope is clamped so that the slope is restricted to being between the preset minimum slope and the preset maximum slope. If not, then no clamping occurs. The process then proceeds to block 1412.
Based on the output of the linear regression, at block 1412, target differential pressure manager 226 determines a target weight on bit that is estimated to correspond to the target differential pressure. Based on the target weight on bit, target differential pressure manager 226 then determines an updated weight on bit setpoint. In particular, target differential pressure manager 226 may determine the updated weight on bit setpoint based on (target weight on bit—current weight on bit setpoint)*dpmax.gain, wherein dpmax.gain is a constant. The change to the weight on bit setpoint is constrained to a maximum limit.
Furthermore, target differential pressure manager 226 will not increase the weight on bit setpoint if any of the following conditions holds true. In particular, at block 1414, target differential pressure manager 226 determines whether the current differential pressure is greater than the differential pressure setpoint. If it is, then target differential pressure manager 226 determines that the weight on bit setpoint cannot be increased, although it may be decreased. If the current differential pressure is not greater than the differential pressure setpoint, or if the current differential pressure is greater than the differential pressure setpoint but the weight on bit setpoint is to be decreased, then the method proceeds to block 1416. Otherwise, the process returns to block 1402.
At block 1416, target differential pressure manager 226 determines whether increasing the weight on bit setpoint would keep the system in compliance with one or more other protocols, such as a stick slip protocol and a limiting protocol. A limiting protocol may be a protocol that determines whether a drilling parameter such as differential pressure, torque, or rate of penetration is too close to or beyond an associated limit.
If the setpoint change results in a greater setpoint tracking error and is greater than a preset threshold, then no setpoint change is made. For instance, if the weight on bit is x and the weight on bit setpoint is y>x+threshold, then target differential pressure manager 226 will not increase the weight on bit setpoint because that would increase the distance between the weight on bit and the weight on bit setpoint.
If increasing the weight on bit setpoint would keep the system in compliance with the one or more other protocols, or if increasing the weight on bit setpoint would not keep the system in compliance with the one or more other protocols but the weight on bit setpoint is to be decreased, then the method proceeds to block 1418. Otherwise, the process returns to block 1402.
At block 1418, the weight on bit setpoint is adjusted based on the updated weight on bit setpoint determined at block 1412. An additional constraint that is imposed is that the weight on bit setpoint change over the past minute is not to exceed a preset maximum. Furthermore, target differential pressure manager 226 may determine a linear regression of the differential pressure over time over a preset window (in one non-limiting example, about 30 seconds). If the slope is positive and is above a threshold, then target differential pressure manager 226 may prevent the weight on bit setpoint from being increased. If the slope is negative and below a threshold, then target differential pressure manager 226 may prevent the weight on bit setpoint from being decreased. The purpose of this is to dampen the weight on bit setpoint changes to allow time to see the differential pressure response before making further changes. After block 1418, the process returns to block 1402.
Turning to
Turning to
Turning to
Turning to
Turning to
While particular embodiments have been described in the foregoing, it is to be understood that other embodiments are possible and are intended to be included herein. It will be clear to any person skilled in the art that modifications of and adjustments to the foregoing embodiments, not shown, are possible.
As an example, in the depicted embodiments the drawworks 114 is used to raise and lower the drill string 118. In different embodiments (not depicted), a different height control apparatus for raising or lowering the drill string 118 may be used. For example, hydraulics may be used for raising and lowering the drill string 118. In embodiments in which hydraulics are used, the traveling block 108 may be omitted and consequently the processor 212 does not use the height of the block 108 as a proxy for drill string height, as it does in the depicted embodiments. In those embodiments, the processor 212 may use output from a different type of height sensor to determine drill string position and ROP. For example, the motion of the traveling block 108 may be translated into rotary motion and rotary motion encoder may then be used to digitize readings of that motion. This may be done using a roller that runs along a rail or, if crown sheaves are present, the encoder may be installed on the sheaves' axel. Various gears may also be present as desired. As additional examples, laser based motion measurements may be taken, a machine vision based measurement system may be used, or both.
While a single processor 212 is depicted in
In different embodiments (not depicted), the computer 210 may also comprise other components for allowing computer programs or other instructions to be loaded. Those components may comprise, for example, a communications interface that allows software and data to be transferred between the computer 210 and external systems and networks. Examples of the communications interface comprise a modem, a network interface such as an Ethernet card, a wireless communication interface, or a serial or parallel communications port. Software and data transferred via the communications interface are in the form of signals which can be electronic, acoustic, electromagnetic, optical, or other signals capable of being received by the communications interface. The computer 210 may comprise multiple interfaces.
In certain embodiments (not depicted), input to and output from the computer 210 is administered by an input/output (I/O) interface. In these embodiments the computer 210 may further comprise a display and input devices in the form, for example, of a keyboard and mouse. The I/O interface administers control of the display, keyboard, and mouse. In certain additional embodiments (not depicted), the computer 210 also comprises a graphical processing unit. The graphical processing unit may also be used for computational purposes as an adjunct to, or instead of, the processor 210.
In all embodiments, the various components of the computer 210 may be communicatively coupled to one another either directly or indirectly by shared coupling to one or more suitable buses.
Directional terms such as “top”, “bottom”, “up”, “down”, “front”, and “back” are used in this disclosure for the purpose of providing relative reference only, and are not intended to suggest any limitations on how any article is to be positioned during use, or to be mounted in an assembly or relative to an environment. The term “couple” and similar terms, and variants of them, as used in this disclosure are intended to include indirect and direct coupling unless otherwise indicated. For example, if a first component is communicatively coupled to a second component, those components may communicate directly with each other or indirectly via another component. Additionally, the singular forms “a”, “an”, and “the” as used in this disclosure are intended to include the plural forms as well, unless the context clearly indicates otherwise.
The word “approximately” as used in this description in conjunction with a number or metric means within 5% of that number or metric.
It is contemplated that any feature of any aspect or embodiment discussed in this specification can be implemented or combined with any feature of any other aspect or embodiment discussed in this specification, except where those features have been explicitly described as mutually exclusive alternatives.
Number | Date | Country | Kind |
---|---|---|---|
3099282 | Nov 2020 | CA | national |
This application is a continuation of U.S. patent application Ser. No. 17/129,395 filed on Dec. 21, 2020, which claims priority to Canadian Patent Application No.: 3099282 filed on Nov. 13, 2020, the contents of which are incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
Parent | 17129395 | Dec 2020 | US |
Child | 17957568 | US |