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, ADP=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 method of performing automated drilling of a wellbore, comprising, during drilling of the wellbore: in a predicting state: monitoring a drilling parameter; and determining, based on the monitored drilling parameter, that the drilling parameter is likely to exceed a drilling parameter setpoint associated with the drilling parameter; in a mitigating state: in response to determining that the drilling parameter is likely to exceed the drilling parameter setpoint, reducing a rate of penetration (ROP) setpoint so as to mitigate a likelihood of the drilling parameter exceeding the drilling parameter setpoint; and drilling the wellbore according to the reduced ROP setpoint.
Reducing the ROP setpoint may comprise continuously reducing the ROP setpoint over a time window.
Reducing the ROP setpoint may comprise reducing the ROP setpoint by a step change.
Determining that the drilling parameter is likely to exceed the drilling parameter setpoint may comprise determining one or more of the following conditions: a current reading of the drilling parameter is less than the drilling parameter setpoint minus a threshold; a current reading of the drilling parameter is greater than a next most recent reading of the drilling parameter; a slope of a linear regression calculated based on a set of drilling parameter readings, including the current reading of the drilling parameter and one or more older readings of the drilling parameter, is positive; and a current reading of the drilling parameter and each of one or more previous readings of the drilling parameter are greater than the threshold.
Determining that the drilling parameter is likely to exceed the drilling parameter setpoint may comprise determining each of the above conditions.
After drilling the wellbore according to the reduced ROP setpoint, the method may return to the predicting state if any of the following conditions is true: a current reading of the drilling parameter is less than the drilling parameter setpoint minus a threshold; a current reading of the drilling parameter is greater than the drilling parameter setpoint; a slope of a linear regression calculated based on a set of drilling parameter readings, including the current reading of the drilling parameter and one or more older readings of the drilling parameter, is negative; and an elapsed time since the method has been in the mitigation state has increased above a threshold.
Reducing the ROP setpoint may comprise reducing the ROP setpoint by an amount based on one or more of: a rate of change of ROP; a rate of change of a weight on bit (WOB); a rate of change of torque; and a rate of change of differential pressure.
The drilling parameter may be differential pressure, and the drilling parameter setpoint may be a differential pressure setpoint.
The amount by which the ROP setpoint is reduced may be based on a score that is equal to: [(rop.dop.dp.slope.weight*dpSlopeScore)+(rop.dop.wob.slope.weight*wobSlopeScore)+(rop.dop.tq.slope.weight*tqSlopeScore)+(rop.dop.dp.prox.weight*dpProxScore)+(rop.dop.rop.slope.weight*ropSlopeScore)]/TotalParameters, wherein rop.dop.dp.slope.weight, rop.dop.wob.slope.weight, rop.dop.tq.slope.weight, rop.dop.dp.prox.weight, and rop.dop.rop.slope.weight are constants; dpSlopeScore is the rate of change of the differential pressure; wobSlopeScore is the rate of change of a WOB; tqSlopeScore is the rate of change of a torque; ropSlopeScore is the rate of change of ROP; dpProxScore is based on the differential pressure and the differential pressure setpoint; and TotalParameters is rop.dop.dp.prox.weight+rop.dop.dp.slope.weight+rop.dop.tq.slope.weight+rop.dop.rop.slope.weight+rop.dop.wob.slope.weight.dpProxScore may be equal to [Dp−(Dpsp−rop.dop.dp.prox.thresh)]/rop.dop.dp.prox.thresh, wherein: Dp is the differential pressure; Dpsp is the differential pressure setpoint; and rop.dop.dp.prox.thresh is a threshold.
The amount by which the ROP setpoint is reduced may be equal to: z*scaling factor, wherein: z is the score; and scaling factor is based on ROP and the ROP setpoint.
According to a further aspect of the disclosure, there is provided a system for performing automated drilling of a wellbore, the system comprising: a height control apparatus configured to adjust a height of a drill string comprising a drill bit used to drill the wellbore; a height sensor for monitoring a height of the drill string; a rotational drive unit comprising a rotational drive unit controller and a rotation rate sensor for monitoring a rotation rate of the drill bit; a depth sensor for monitoring a depth of the drill bit; a hookload sensor for measuring a weight applied to the drill bit; a pressure sensor for monitoring a differential pressure; a drilling controller communicatively coupled to the rotational drive unit controller, the rotation rate sensor, the height control apparatus, the height sensor, the depth sensor, the hookload sensor, and the pressure sensor, and the drilling controller being configured to perform a method comprising: in a predicting state: monitoring one or more drilling parameters; and determining, based on the monitored one or more drilling parameters, that at least one of the one or more drilling parameters is likely to exceed at least one drilling parameter setpoint associated with the at least one drilling parameter; in a mitigating state: in response to determining that the at least one drilling parameter is likely to exceed the at least one drilling parameter setpoint, reducing a rate of penetration (ROP) setpoint so as to mitigate a likelihood of the at least one drilling parameter exceeding the at least one drilling parameter setpoint; and drilling the wellbore according to the reduced ROP setpoint.
According to a further aspect of the disclosure, there is provided a non-transitory computer-readable medium having stored thereon program code executable by a processor and configured, when executed, to cause the processor to perform a method of performing automated drilling of a wellbore using a drill bit, comprising: in a predicting state: monitoring one or more drilling parameters; and determining, based on the monitored one or more drilling parameters, that the at least one of the one or more drilling parameters is likely to exceed at least one drilling parameter setpoint associated with the at least one drilling parameter; in a mitigating state: in response to determining that the at least one drilling parameter is likely to exceed the at least one drilling parameter setpoint, reducing a rate of penetration (ROP) setpoint so as to mitigate a likelihood of the at least one drilling parameter exceeding the at least one drilling parameter setpoint; and drilling the wellbore according to the reduced ROP setpoint.
According to a further aspect of the disclosure, there is provided a method of performing automated drilling of a wellbore, comprising, during drilling of the wellbore: receiving drilling parameter data; using a controller to generate, based on the drilling parameter data, one or more drilling parameter setpoint recommendations; selecting, from among multiple drilling parameter setpoint recommendations including the one or more drilling parameter setpoint recommendations generated by the controller, one or more drilling parameter setpoints; and providing the selected one or more drilling parameter setpoints to an automated drilling unit that is separate from the controller, wherein the automated drilling unit controls the drilling of the wellbore based on the selected one or more drilling parameter setpoints.
The controller may be a proportional-integral controller.
The controller may be a proportional-integral-derivative controller.
The one or more drilling parameter setpoint recommendations may comprise a rate of penetration (ROP) setpoint recommendation.
The multiple drilling parameter setpoint recommendations may comprise multiple ROP setpoint recommendations.
The one or more drilling parameter setpoint recommendations may comprise a first rate of penetration (ROP) setpoint recommendation; the multiple drilling parameter setpoint recommendations may further comprise a second ROP setpoint recommendation; the method may further comprise generating the second ROP setpoint recommendation by: determining, based on the drilling parameter data, that a differential pressure is likely to exceed a differential pressure setpoint; and in response to determining that the differential pressure is likely to exceed the differential pressure setpoint, generating the second ROP setpoint recommendation; and selecting the one or more drilling parameter setpoints may comprise selecting either the first or the second ROP setpoint recommendation.
Selecting either the first or the second ROP setpoint recommendation may comprise selecting the second ROP setpoint recommendation.
The one or more drilling parameter setpoint recommendations may comprise a first rate of penetration (ROP) setpoint recommendation; the multiple drilling parameter setpoint recommendations may further comprise one or more additional ROP setpoint recommendations; and selecting the one or more drilling parameter setpoints may comprise selecting a lowest ROP setpoint recommendation from among the first ROP setpoint recommendation and each of the one or more additional ROP setpoint recommendations.
According to a further aspect of the disclosure, there is provided a system for performing automated drilling of a wellbore, the system comprising: a height control apparatus configured to adjust a height of a drill string comprising a drill bit used to drill the wellbore; a height sensor for monitoring a height of the drill string; a rotational drive unit comprising a rotational drive unit controller and a rotation rate sensor for monitoring a rotation rate of the drill bit; a depth sensor for monitoring a depth of the drill bit; a hookload sensor for measuring a weight applied to the drill bit; a pressure sensor for monitoring a differential pressure; a first drilling controller communicatively coupled to the rotation rate sensor, the height sensor, the depth sensor, the hookload sensor, and the pressure sensor; and a second drilling controller, separate from the first drilling controller, and communicatively coupled to the rotational drive unit controller and the height control apparatus, wherein the first drilling controller is configured to: receive drilling parameter data; generate, based on the drilling parameter data, one or more drilling parameter setpoint recommendations; select, from among multiple drilling parameter setpoint recommendations including the one or more drilling parameter setpoint recommendations generated by the first controller, one or more drilling parameter setpoints; and provide the selected one or more drilling parameter setpoints to the second drilling controller, and wherein the second drilling controller is configured to control the drilling of the wellbore based on the selected one or more drilling parameter setpoints.
According to a further aspect of the disclosure, there is provided a non-transitory computer-readable medium having stored thereon program code executable by a processor and configured, when executed, to cause the processor to perform a method of performing automated drilling of a wellbore using a drill bit, comprising: receiving drilling parameter data; using a controller to generate, based on the drilling parameter data, one or more drilling parameter setpoint recommendations; selecting, from among multiple drilling parameter setpoint recommendations including the one or more drilling parameter setpoint recommendations generated by the controller, one or more drilling parameter setpoints; and providing the selected one or more drilling parameter setpoints to an automated drilling unit that is separate from the controller, wherein the automated drilling unit controls the drilling of the wellbore based on the selected one or more drilling parameter setpoints.
This summary does not necessarily describe the entire scope of all aspects. Other aspects, features, and advantages will be apparent to those of ordinary skill in the art upon review of the following description of specific embodiments.
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.
During a drilling operation, differential pressure can change rapidly and unexpectedly. Sudden changes in differential pressure may be hard to predict and even harder to deal with. While reactionary approaches to mitigating the consequences of sudden changes in differential pressure are useful, proactive measures may also be taken to anticipate potential spikes/sudden changes in differential pressure. Such proactive measures may increase the likelihood of differential pressure spikes (or spikes in other drilling parameters, such as torque or weight-on-bit) being avoided entirely, by taking action (e.g. by appropriately setting drilling parameter setpoints) before they occur.
Therefore, according to certain embodiments of the disclosure, there are described the following methods of performing automated drilling of a wellbore. During drilling of the wellbore, drilling parameter data (such as readings obtained by one or more drilling parameter sensors) are received. An automated drilling unit (i.e. “AutoDriller”) is used to control, based on the drilling parameter data, one or more drilling parameter setpoints so as to thereby control the drilling of the wellbore. According to some embodiments, and depending on the particular configuration of the AutoDriller, the AutoDriller may have difficulty in anticipating or responding to sudden changes in differential pressure. For example, when differential pressure approaches an associated differential pressure setpoint, the AutoDriller may begin to behave erratically. For instance, other drilling parameters, such as weight on bit (WOB) and rate of penetration (ROP), may begin to unintendedly experience large and sudden changes as a result of drilling parameters changing when the differential pressure setpoint is reached. This can create an unstable system, since the AutoDriller may seek to compensate by switching between controlling parameter loops. For example, the AutoDriller may switch from using WOB as a controlling parameter to ROP as a controlling parameter, or vice versa. If the drilling parameters are behaving erratically, then the AutoDriller may switch between control loops too rapidly, leading to system instability.
Therefore, in order to assist the AutoDriller in anticipating/dealing with sudden changes in differential pressure (or otherwise reducing the likelihood of the AutoDriller behaving erratically in such a way), a controller (such as a PID-proportional-integral-derivative-controller) that is separate from the AutoDriller may be used to generate, based on the drilling parameter data, one or more drilling parameter setpoint recommendations. For example, the controller may provide an ROP setpoint recommendation to the AutoDriller. The AutoDriller may therefore control the one or more drilling parameter setpoints based on any setpoint recommendations that are provided to it by the controller.
Providing setpoint recommendations to the AutoDriller in this manner may assist the AutoDriller in proactively anticipating potential sudden changes in different pressure. By adopting the setpoint recommendations provided to it (e.g. by setting the ROP setpoint to whatever recommendation was made to it by the controller), the AutoDriller may proactively reduce the risk of differential pressure suddenly spiking during the drilling operation.
In certain cases, even with appropriate selection of an ROP setpoint, differential pressure may still spike. In order to deal with sudden surges in differential pressure, one or more predictive mitigation strategies may be adopted.
For example, according to embodiments of the disclosure, there are described methods, systems, and computer-readable media for mitigating a likelihood of the differential pressure exceeding or overshooting the differential pressure setpoint. Initially, in a predicting state, readings of differential pressure are monitored. Based on the monitored differential pressure, the system may determine that the differential pressure is likely to exceed a differential pressure setpoint. For example, based on the slope of a preset number of differential pressure readings, the system may determine that the differential pressure is likely to exceed a differential pressure setpoint. In response to determining that the differential pressure is likely to exceed the differential pressure setpoint, the system transitions to a mitigating state, and reduces a rate of penetration (ROP) setpoint so as to mitigate a likelihood of the differential pressure exceeding the differential pressure setpoint. Limiting or decreasing ROP may assist in controlling differential pressure by preventing further increases in differential pressure, thereby decreasing the likelihood of the differential pressure exceeding the differential pressure setpoint and causing AutoDriller dysfunction as described above. Reducing ROP may also include setting the ROP setpoint to zero.
While the disclosure has generally been presented in the context of mitigating a likelihood of differential pressure exceeding or overshooting the differential pressure setpoint, embodiments of the disclosure may also be used to mitigate a likelihood of other drilling parameters (such as WOB and ROP) exceeding or overshooting associated drilling parameter setpoints.
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 (
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 “IO 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
As can be seen in
Automated drilling unit 208 is configured to control a drilling operation by controlling the ROP of the drill bit, for example by controlling a rate of rotation of a drum based on one or more drilling parameter setpoint recommendations that are provided to it by DAS 208 . . . . The drum spools a hookload drill line which holds traveling block 108 which holds drill string 118. The drilling parameter setpoint recommendations that are provided to automated drilling unit 208 may override any drilling parameter setpoints that are otherwise input to/generated by automated drilling unit 208.
As described above, based on the received ROP setpoint recommendations, DAS 508 selects a particular ROP setpoint recommendation that is then passed to automated drilling unit 208. In particular, DAS 508 includes an ROP setpoint calculator 507 configured to determine, from among a number of different ROP setpoint recommendations (such as the ROP setpoint recommendation output by ROP limiter 224 and the ROP setpoint recommendation output by overshoot detector and mitigator 226), which ROP setpoint recommendation to prioritize before passing the selected ROP setpoint recommendation to automated drilling unit 208.
As mentioned above, DAS 508 is further configured, using wave optimization module 509, to generate a WOB setpoint recommendation 510 that is provided to automated drilling unit 208. Details of how wave optimization module 509 may generate WOB setpoint recommendation 510 are provided in U.S. Pat. No. 10,202,837B2, herein incorporated by reference in its entirety.
ROP limiter 224 is configured to generate its own ROP setpoint recommendation 506 and provide it to DAS 508. ROP limiter 224 generates ROP setpoint recommendation 506 based on multiple PID controllers operating on a combination of drilling parameters. ROP limiter 224 selects the PID loop (WOB 501, differential pressure 502, or torque 503) with the minimum output (i.e. the loop with an actual parameter value closest to its setpoint) and then scales the PID output to an actual ROP by multiplying by a configured constant. The output of a minimum and scale module 505 is recommended ROP setpoint 506 that is then passed to DAS 508, as described above. Generally, the goal of ROP limiter 224 is to track changes in ROP and adjust ROP setpoint recommendation 506 accordingly by keeping ROP setpoint recommendation 506 bounded within a preset range of ROP. According to some embodiments, PI controllers may be used instead of PID controllers.
ROP limiter 224 may be used to proactively generate ROP setpoint recommendations to DAS 508 so as to avoid potential future swings in differential pressure. While such proactive measures are useful, it is also useful to attempt to predict potential overshoots of the differential pressure setpoint, since the ROP recommendations provided by ROP limiter 224 may not be sufficient to fully control variations in differential pressure.
As can be seen in
Generally, overshoot detector and mitigator 226 employs the outputs of a WOB detector 521, a differential pressure detector 523, and a torque detector 525 to generate, using a mitigator module 527, an ROP setpoint recommendation 529. WOB detector 521, differential pressure detector 523, and torque detector 525 can use any number of input parameters (sensor values) for predicting whether an overshoot for the parameter in question is likely to occur. Details of this process are described in further detail below in connection with
As mentioned above, DAS 508 provides ROP setpoint recommendations 511 to automated drilling unit 208. In particular, DAS 508 selects an ROP setpoint recommendation that is: (1) ROP setpoint recommendation 529 generated by overshoot detector and mitigator 226, if overshoot detector and mitigator 226 has predicted an overshoot of the differential pressure setpoint; or (2) PID ROP setpoint recommendation 506 generated by ROP limiter 224, if overshoot detector and mitigator 226 has not predicted an overshoot of the differential pressure setpoint. According to some embodiments, other ROP setpoints recommendations may be internally generated within DAS 508. In such a case, assuming that overshoot detector and mitigator 226 has not predicted an overshoot of the differential pressure setpoint, then DAS 508 selects an ROP setpoint recommendation that is the lower of PID ROP setpoint recommendation 506 generated by ROP limiter 224 and any other ROP setpoints recommendations generated internally by DAS 508. Automated drilling unit 208 then applies ROP setpoint recommendation 511 provided to it by DAS 508, and uses ROP setpoint recommendation 511 to control the drum rotation speed.
Although in
Turning to
At block 61, overshoot detector and mitigator 226 obtains readings of various drilling parameters, such as differential pressure (and its setpoint), torque (and its setpoint), raw/averaged ROP, the last ROP setpoint, and WOB. The readings may be obtained, for example, every second.
At block 62, overshoot detector and mitigator 226 determines whether the readings are valid. For example, it is possible that a sensor intermittently/totally fails to produce a value, in which case the value is determined to be invalid and is not used.
At block 63, overshoot detector and mitigator 226 determines that one or more of the readings are invalid, in which case the process returns to block 61.
At block 64, overshoot detector and mitigator 226 determines that the readings are valid, and the readings are added to a buffer of stored drilling parameter readings.
At block 65, overshoot detector and mitigator 226 determines whether the buffer is full. If the buffer is not full, then the process returns to block 64.
At block 66, overshoot detector and mitigator 226 determines that the buffer is full and enters a predicting state. In the predicting state, overshoot detector and mitigator 226 determines a likelihood of the differential pressure exceeding a differential pressure setpoint, as described in further detail below. Additionally, prior to entering the predicting state, overshoot detector and mitigator 226 may determine that the drill bit is on bottom (i.e. the bit depth is determined to be equal to the hole depth) and rotating.
At block 67, overshoot detector and mitigator 226 determines whether the differential pressure is likely to exceed or overshoot the differential pressure setpoint. If the differential pressure is not likely to exceed the differential pressure setpoint, then the process returns to block 66.
At block 68, if the differential pressure is likely to exceed the differential pressure setpoint, then overshoot detector and mitigator 226 leaves the predicting state and enters a mitigating state. In the mitigating step, overshoot detector and mitigator 226 controls the ROP setpoint in order to induce a change in the behaviour of the differential pressure and mitigate the likelihood of the differential pressure exceeding the differential pressure setpoint.
At block 69, overshoot detector and mitigator 226 determines whether the likelihood of the differential pressure exceeding the differential pressure setpoint has been mitigated. If the likelihood of the differential pressure exceeding the differential pressure setpoint has been mitigated, the process returns to block 66 at which overshoot detector and mitigator 226 leaves the mitigating state and re-enters the predicting state.
At block 69, overshoot detector and mitigator 226 determines that the likelihood of the differential pressure exceeding the differential pressure setpoint has not been mitigated, and the process moves to block 70.
At block 70, overshoot detector and mitigator 226 determines whether overshoot detector and mitigator 226 has been in the mitigating state for at least a predetermined amount of time. If overshoot detector and mitigator 226 has been in the mitigating state for at least the predetermined amount of time, then the process returns to block 66 at which overshoot detector and mitigator 226 leaves the mitigating state and re-enters the predicting state. If overshoot detector and mitigator 226 has not been in the mitigating state for at least the predetermined amount of time, then the process returns to block 69.
In the predicting state, in order to determine the likelihood of the differential pressure exceeding the differential pressure setpoint, overshoot detector and mitigator 226 continuously assesses changes in the differential pressure to identify potential overshooting of the differential pressure setpoint.
According to some embodiments, in order to identify a potential overshoot, the following conditions must be fulfilled:
Once all of the above conditions are met, overshoot detector and mitigator 226 transitions from the predicting state to the mitigating state.
In the mitigating state, overshoot detector and mitigator 226 recommends values for the ROP setpoint (ROP_SP) that are based on the current ROP, until one of the following conditions is met:
According to some embodiments, recommended values for ROP_SP are calculated as follows:
rop.dop.max.rop.roc is the maximum change in ROP_SP rop.dop.rop.max.roc. rop.dop.rop.max.roc is the ROP for maximum change in ROP_SP. These values are used to scale the current ROP based on the ROP setpoint recommendation. For example, if rop.dop.max.rop.roc is set to 3 m/hr and rop.dop.rop.max.roc is set to 150 m/hr, then ROP_SP is permitted to change at a maximum of 3 m/hr when the current ROP is 150 m/hr. Generally, for higher ROPs, a greater change in ROP_SP is required to have an impact on DP.
Depending on rop.dop.mit.scheme (which defines whether the current ROP setpoint or last ROP setpoint is used to calculate the recommended ROP setpoint), the recommended ROP_SP is calculated as follows:
The overshoot score is calculated as follows:
DP_ProxScore is based on a proximity of DP to its setpoint.
The overshoot score may be calculated on any combination of differential pressure, WOB, torque, and ROP. The optimum overshoot score may be calculated based on differential pressure, with calculations based on WOB, torque, and/or ROP being used to reduce false positives.
The getSlope function fits a linear regression model on the drilling parameter readings stored in the buffer, and returns the slope of the linear regression model.
All data in the buffer is cleared if any one of the following conditions is met:
Turning to
As can be seen in
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.