The present disclosure relates to methods, systems, and computer-readable media for detecting a mud motor stall.
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 rotational power directly at the drill bit. As drilling mud is pumped down the drill pipe, it encounters the power section near the drill bit. In the power section, the drilling mud is forced through a progressive cavity displacement pump where the drilling fluid imparts torque on a rotor, thereby rotating the drill bit at the distal end of the rotor. Alternatively, turbine motors can be used in place of a progressive cavity displacement pump.
A mud motor is used to increase the bit rotational speed above what is achievable through rotation at the surface alone, in addition to whenever it is necessary to rotate the drill bit without rotating the drill string (as in during directional or slide drilling). The amount of rotational power developed at the drill bit depends on the torque and rotational speed developed by the mud motor.
A mud motor stall can occur when the drilling motor is not capable of providing enough torque to keep the drill bit rotating. Various combinations of factors, including excessive weight on bit, bit damage, and changes in lithology, can lead to mud motor stalls. When a stall occurs, the build-up of reactive torque can cause damage to the motor components and other downhole equipment. In cases where significant damage has occurred, motor seals may fail which may lead to the loss of hydraulic power. In some cases, the entire downhole assembly must be brought to the surface for repair or replacement.
Motor stalls can occur without warning as isolated events, in rapid succession, or intermittently throughout the drilling of an entire wellbore. Furthermore, the severity of a stall event, and the resulting impact on the drilling process, may be unpredictable.
Mud motors may also experience minor stalls (“microstalls”) that generally are stalls that do not develop into full-blown, major stalls. Microstalls have a shorter duration than full stalls, may generate a maximum pressure spike that is less than that of a full stall, and have the potential to develop into full motor stalls. Microstalls may be more difficult to detect than full motor stalls, and multiple microstalls can slowly degrade the mud motor over time.
Generally, detecting the potential onset of a mud motor stall relies on the past experience of the driller. As a result, current methods of detecting and preventing mud motor stalls are fairly unreliable.
There therefore remains a need in the art for improved methods and systems for detecting mud motor stalls.
According to a first aspect of the disclosure, there is provided a method of detecting a mud motor stall, comprising: obtaining drilling parameter data; using one or more stall detectors to perform a first stall detection operation comprising: determining, based on the drilling parameter data, that a potential mud motor stall has occurred; and using the one or more stall detectors to perform a second stall detection operation comprising: in response to determining that the potential mud motor stall has occurred, comparing potential mud motor stall data to stored mud motor stall data associated with one or more mud motor stalls, wherein the potential mud motor stall data is based on the drilling parameter data; and based on the comparison, determining whether the potential mud motor stall is a mud motor stall.
Obtaining the drilling parameter data may comprise: measuring one or more drilling parameters; and generating the drilling parameter data from the measured one or more drilling parameters.
Determining that the potential mud motor stall has occurred may comprise: determining, based on the drilling parameter data, a rate of change of one or more drilling parameters; comparing the rate of change of the one or more drilling parameters to a threshold rate of change; and based on the comparison of the rate of change of the one or more drilling parameters to the threshold rate of change, determining that the potential mud motor stall has occurred.
Generating the drilling parameter data may comprise processing measurements of the one or more drilling parameters. Determining that the potential mud motor stall has occurred may be further based on the processed measurements of the one or more drilling parameters.
Performing the second stall detection operation may further comprise, before comparing the potential mud motor stall data to the stored mud motor stall data, generating the potential mud motor stall data using the drilling parameter data.
Generating the potential mud motor stall data may comprise: filtering processed measurements of one or more drilling parameters by: identifying change points in the processed measurements; and eliminating the processed measurements lying outside of a range defined by the change points; and using the filtered processed measurements to generate the potential mud motor stall data. For example, generating the potential mud motor stall data may comprise filtering processed measurements of one or more drilling parameters by identifying change points in the processed measurements, and using only the filtered processed measurements (i.e. only the processed measurements lying between the change points) to generate the potential mud motor stall data.
Generating the potential mud motor stall data may comprise generating, using the drilling parameter data, one or more signatures of the potential mud motor stall.
Generating the one or more signatures of the potential mud motor stall may comprise applying piecewise aggregate approximation analysis to the drilling parameter data.
Comparing the potential mud motor stall data to the stored mud motor stall data may comprise comparing the one or more signatures of the potential mud motor stall to one or more stored signatures of the one or more mud motor stalls, wherein the one or more stored signatures are generated from the stored mud motor stall data.
Comparing the one or more signatures of the potential mud motor stall to the one or more stored signatures of the one or more mud motor stalls may comprise using dynamic time warping analysis to determine one or more distances between the one or more signatures of the potential mud motor stall and the one or more stored signatures of the one or more mud motor stalls.
Comparing the one or more signatures of the potential mud motor stall to the one or more stored signatures of the one or more mud motor stalls may comprise using symbolic aggregate approximation analysis to determine one or more distances between the one or more signatures of the potential mud motor stall and the one or more stored signatures of the one or more mud motor stalls.
The one or more stored signatures may comprise multiple stored signatures, and the method may further comprise: grouping the multiple stored signatures into one or more groups of stored signatures, according to one or more similarities between the multiple stored signatures, wherein comparing the one or more signatures of the potential mud motor stall to the one or more stored signatures may comprise comparing the one or more signatures of the potential mud motor stall to each group of stored signatures.
The one or more drilling parameters may comprise one or more of: weight on bit; differential pressure; standpipe pressure; pump pressure; rotary torque; bit torque; rotary revolutions per minute; bit revolutions per minute; mechanical specific energy; and rate of penetration.
The method may further comprise, prior to performing the first stall detection operation: generating one or more signatures of the one or more mud motor stalls using drilling parameter data generated from drilling parameter measurements obtained during the one or more mud motor stalls; and storing the one or more signatures in a database.
The method may further comprise, if the potential mud motor stall is determined to be a mud motor stall, further storing in the database one or more signatures of the potential mud motor stall.
The one or more mud motor stalls associated with the stored mud motor stall data may be one or more historic mud motor stalls.
The method may further comprise, if the potential mud motor stall is determined to be a mud motor stall, adjusting one or more drilling parameter setpoints associated with one or more drilling parameters.
The method may further comprise, before adjusting the one or more drilling parameter setpoints, determining a severity of the mud motor stall based on one or more of: one or more of minimum and maximum values of one or more drilling parameters during the mud motor stall; a rate of change of one or more drilling parameters during the mud motor stall; and an amount by which one or more operational thresholds of a mud motor were exceeded during the mud motor stall, wherein the adjusting may be based on the determined severity of the mud motor stall.
The method may further comprise generating a notification or initiating an alarm in response to one or more of: determining that the potential mud motor stall has occurred; and determining that the potential mud motor stall is a mud motor stall.
According to a further aspect of the disclosure, there is provided a system for detecting a mud motor stall, comprising: one or more stall detectors comprising one or more processors configured to receive as inputs measurements of one or more drilling parameters, wherein the one or more stall detectors are configured to: perform a first stall detection operation comprising: generating drilling parameter data from the measurements of the one or more drilling parameters; and determining, based on the drilling parameter data, that a potential mud motor stall has occurred; perform a second stall detection operation comprising: in response to determining that the potential mud motor stall has occurred, comparing potential mud motor stall data to stored mud motor stall data associated with one or more mud motor stalls, wherein the potential mud motor stall data is based on the drilling parameter data; and based on the comparison, determining whether the potential mud motor stall is a mud motor stall.
The method performed by the one or more stall detectors may comprise any of the features described above in connection with the first aspect of the disclosure.
According to a further aspect of the disclosure, there is provided a computer-readable medium having stored thereon computer program code configured when executed by one or more processors to cause the one or more processors to perform a method comprising: performing a first stall detection operation comprising: obtaining drilling parameter data; determining, based on the drilling parameter data, that a potential mud motor stall has occurred; and performing a second stall detection operation comprising: in response to determining that the potential mud motor stall has occurred, comparing potential mud motor stall data to stored mud motor stall data associated with one or more mud motor stalls, wherein the potential mud motor stall data is based on the drilling parameter data; and based on the comparison, determining whether the potential mud motor stall is a mud motor stall.
The method performed by the one or more processors may comprise any of the features described above in connection with the first aspect of the disclosure.
According to a further aspect of the disclosure, there is provided a drilling rig comprising: a drill string having a mud motor at an end of the drill string; sensors for measuring drilling parameters; and one or more stall detectors comprising one or more processors configured to receive as inputs measurements of the one or more drillings parameters obtained by the sensors, and configured to: perform a first stall detection operation comprising: generating drilling parameter data from the measurements of the one or more drilling parameters; determining, based on the drilling parameter data, that a potential mud motor stall has occurred at the mud motor; and perform a second stall detection operation comprising: in response to determining that the potential mud motor stall has occurred, generating potential mud motor stall data based on the drilling parameter data; generating one or more signatures of the potential mud motor stall, based on the potential mud motor stall data; comparing the one or more signatures of the potential mud motor stall to one or more stored signatures of one or more mud motor stalls; and based on the comparison, determining whether the potential mud motor stall is a mud motor stall.
The method performed by the one or more stall detectors may comprise any of the features described above in connection with the first aspect of the disclosure.
Embodiments of the disclosure will now be described in detail in conjunction with the accompanying drawings of which:
The present disclosure seeks to provide methods, systems, and computer-readable media for detecting a mud motor stall. While various embodiments of the disclosure are described below, the disclosure is not limited to these embodiments, and variations of these embodiments may fall within the scope of the disclosure which is to be limited only by the appended claims.
The word “a” or “an” when used in conjunction with the term “comprising” or “including” in the claims and/or the specification may mean “one”, but it is also consistent with the meaning of “one or more”, “at least one”, and “one or more than one” unless the content clearly dictates otherwise. Similarly, the word “another” may mean at least a second or more unless the content clearly dictates otherwise.
The terms “coupled”, “coupling” or “connected” as used herein can have several different meanings depending on the context in which these terms are used. For example, the terms coupled, coupling, or connected can have a mechanical or electrical connotation. For example, as used herein, the terms coupled, coupling, or connected can indicate that two elements or devices are directly connected to one another or connected to one another through one or more intermediate elements or devices via an electrical element, electrical signal or a mechanical element depending on the particular context. The term “and/or” herein when used in association with a list of items means any one or more of the items comprising that list.
As used herein, a reference to “about” or “approximately” a number or to being “substantially” equal to a number means being within +/−10% of that number.
Abnormal changes to sets of drilling parameters measured at the surface can sometimes indicate the onset of a mud motor stall. For example, sudden increases followed by decreases in pump pressure, standpipe pressure, rotary torque, or weight on bit, together with abnormal fluctuations in the rate of penetration of the drill bit, may be each or in combination indicative of a mud motor stalling.
If a mud motor has stalled, the drilling process may sometimes continue normally without any human intervention. In other cases, changes to drilling parameter setpoints must be made in order to resume normal operation. In severe cases, a return to drilling may not be at all possible due to critical damage to components of the mud motor. Finally, if a mud motor stall has occurred, appropriate procedures should be followed to mitigate the risk of potentially damaging effects. The course of action may be dependent, for example, on the severity of the stall, the frequency of stall events, and/or the number of successive stall events that are detected.
Generally, embodiments of the disclosure are aimed at identifying early warning signs of a mud motor stall, by analyzing real-time changes in measured drilling parameters. Frequently, a major stall leading to a failure of the mud motor is precipitated by several smaller stalls (e.g. microstalls) that may be more difficult in practice to detect and/or identify. The cumulative damage to the mud motor caused by multiple microstalls may lead to eventual failure of the mud motor. Generally, embodiments of the disclosure are aimed at detecting such microstalls (e.g. potential mud motor stalls) as well as microstalls that have developed into full mud motor stalls.
Embodiments of the disclosure are further directed at detecting and validating a stall occurrence by recognizing one or more patterns in the stall event that are consistent with those of stall events in measured drilling parameters. Personnel may be alerted to the onset and occurrence of a mud motor stall, the severity of the stall may be assessed, and one or more drilling parameter setpoints may be adjusted in response to the stall.
Generally, according to embodiments of the disclosure, herein are described methods and systems for the improved detection of mud motor stalls during a drilling operation. During the drilling operation, a stall detector is used to perform a first stall detection operation. During the first stall detection operation, a potential mud motor stall is identified. The potential mud motor stall may be a microstall (e.g. an event having one or more characteristics that may develop into characteristics indicative of a mud motor stall). The potential mud motor stall may be identified, for example, by monitoring drilling parameters and determining when a rate of change of one or more of the drilling parameters exceeds an upper limit, or drops below a lower limit.
In response to detecting a potential mud motor stall, the stall detector is then used to perform a second stall detection operation during which the potential mud motor stall is either confirmed as relating to an actual mud motor stall (e.g. a microstall developed into a full mud motor stall), or discarded as relating to some other non-stall event. In response to determining that the potential mud motor stall has occurred, the stall detector compares data obtained during first stall detection operation, and in connection with the potential mud motor stall, to stored data. For example, the stall detector may generate a signature of the potential mud motor stall and compare the signature to a set of stored signatures. The stored signatures may relate to signatures of historic or otherwise actual mud motor stalls. Based on the comparison, a determination may be made as to whether or not the potential mud motor stall is a mud motor stall. In response to confirming that the potential mud motor stall is a mud motor stall, an alert may be issued, and metrics of the mud motor stall may be collected. The metrics may be used, for example, to control future adjustment of drilling parameter setpoints, to mitigate against further mud motor stalls occurring.
Turning to
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 mud 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 (e.g., an automatic driller), 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 rate of penetration (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 automated drilling of the wellbore 116 by providing inputs to top drive controller 206 and automated drilling unit 208. The processor 212 receives readings from the RPM sensor 110b, drawworks encoder 114b, and the rig sensors 202, and sends an RPM target and a WOB target to the top drive controller 206 and automated drilling unit 208, respectively. The top drive controller 206 and automated drilling unit 208 relay these targets to the top drive PLC 110a and drawworks PLC 114a, respectively, where they are used for automated drilling. More generally, the RPM target is an example of a rotation rate target.
The memory 214 further stores computer program code that is executable by the processor 212 and that, when executed, causes the processor 212 to perform a method for detecting mud motor stalls, 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
During the stall detection process, stall detector 320 may generate one or more alerts. For example, stall detector 320 may generate an alert in response to identifying a potential mud motor stall, and may generate a further alert in response to confirming the potential mud motor stall as a mud motor stall. Such alerts may be sent to HMI 330 which may be embodied on a rig display, doghouse computer 210, a workstation, or on a mobile/remote device. HMI 330 displays the alerts to an operator who may choose to act upon them.
In certain cases, stall detector 320 may adjust one or more drilling parameter setpoints (such as the ROP setpoint and the WOB setpoint). Adjusted drilling parameter setpoints are communicated to doghouse computer 210 and are sent from doghouse computer 210 to automated drilling unit 208. The setpoints may be updated in response to detecting a mud motor stall, in order to mitigate future mud motor stall occurrences, as described in further detail below. 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).
Turning to
At block 405, stall detector 320 measures a number of drilling parameters. For example, stall detector 320 receives sensor data from doghouse computer 210 that obtained readings of drilling parameters from rig sensors 202. Based on the readings of the drilling parameters obtained at doghouse computer 210, stall detector 320 may measure one or more of: weight on bit (WOB); differential pressure (DIFFP); standpipe pressure (SPP); pump pressure; rotary torque; bit torque; rotary revolutions per minute (RPM); bit revolutions per minute; and rate of penetration (ROP). Certain drilling parameters may be derived from the readings of other drilling parameters.
At block 410, stall detector 320 processes the drilling parameter measurements obtained at block 405. For example, stall detector 320 processes the drilling parameter measurements to filter noise and to deal with non-stationarity of the signals. The processed drilling parameter measurements may be referred to as drilling parameter data.
At block 415, stall detector 320 determines whether a rate of change of any of processed drilling parameters has exceeded an upper limit or dropped below a lower limit, by comparing the rate of change to a threshold rate of change. If the rate of change of any of the processed drilling parameters exceeded an upper limit or dropped below a lower limit, then, at block 420, stall detector 320 determines that a potential mud motor stall has occurred. If the rate of change of any of the processed drilling parameters has not exceeded an upper limit or dropped below a lower limit, then the process returns to block 410.
At block 425, stall detector 320 filters the drilling parameter data. For example, stall detector 320 may determine change points, such as inflection points, of the drilling parameter data during the potential mud motor stall, and eliminate drilling parameter data that lies outside of a range defined by the change points.
At block 430, stall detector 320 generates a signature of the potential mud motor stall. For example, stall detector 320 may apply piecewise aggregate approximation (PAA) to the filtered drilling parameter data, to standardize, normalize, and transform the filtered drilling parameter data.
At block 435, stall detector 320 compares the signature of the potential mud motor stall to stored signatures of mud motor stalls. The stored signatures may be signatures of historic (i.e. real) or virtual mud motor stalls. The stored signatures may be generated based on drilling parameter data associated with the mud motor stalls. The comparison may be performed using any one of various suitable techniques. For example, according to some embodiments, dynamic time warping (DTVV) or symbolic aggregate approximation (SAX) may be used to determine a distance between the signature of the potential mud motor stall and the stored signatures. At block 440, stall detector 320 determines, based on the comparison, whether the distance is greater than a threshold distance.
If the distance is greater than the threshold distance, then stall detector 320 determines that the potential mud motor stall is not a mud motor stall, in which case the process returns to block 410. If on the other hand the distance is less than the threshold distance, then stall detector 320 determines that the potential mud motor stall is a mud motor stall (block 445).
If stall detector 320 determines that the potential mud motor stall is a mud motor stall, then stall detector 320 may trigger one or more alarms to alert a user (not shown in shown in FIG. 4). In addition, at block 450, stall detector 320 may store the signature of the mud motor stall in the library of stored signatures. Therefore, future mud motor stalls that are similar to the just-detected mud motor stall are more likely to be detected as mud motor stalls.
At block 455, stall detector 320 determines stall metrics (such, for example, a severity of the stall). The severity of the stall may be based, for example, on maximum/minimum readings of drilling parameters during the mud motor stall. Stall detector 320 may furthermore initiate remedial action in view of the severity of the stall. For example, stall detector 320 may adjust one or more drilling parameter setpoints based on the severity of the stall (not shown in
Further example embodiments of detecting a mud motor stall will now be described in conjunction with
An example of a stall occurrence is depicted in
According to embodiments of the disclosure, several steps may be used to provide a generalized way of identifying, validating, and classifying mud motor stalls with significantly different characteristics.
The stall detection process is triggered by an event detection procedure in which time series data of a set of drilling parameters is automatically processed in real-time. This event detection procedure may be referred to as a first stall detection operation.
During the first stall detection operation, the streaming data is analyzed for significant changes from nominal levels. Such significant deviations may indicate the onset of a stall event.
The raw, original readings of drilling parameters may suffer from non-stationarity and noise. One way to deal with non-stationarity is by differencing the signal such that the differenced signal is given by:
x
t
′=x
t
−x
t−1 (1)
Differencing removes drift and centers the signal around zero. For each drilling parameter, the sampling rate should be sufficiently high in order to capture the shape of a stall event. In practice, a sampling rate of at least 1 Hz is used.
A trade-off in using differencing is the amplification of process and sensor noise at higher sampling rates. Filtering and smoothing techniques may therefore be used to reduce the noise. One approach is to average the signal over a time window of length L. Let xt be a value of a drilling parameter at time t and {circumflex over (x)}t be the weighted moving average of the differenced signal such that:
where wk is an assigned weight associated to each x′t−k. The weights can be independently adjusted to change the relative importance to particular values of x′t−k with the constraint:
Examples of an original signal and the differenced and averaged signal are shown in
A set of fixed thresholds Cp can then be chosen for each drilling parameter to trigger the detection of a stall event. In other words, a stall event is detected if:
{circumflex over (x)}
p,t
>C
p (5)
where {circumflex over (x)}p,t indicates the differenced and averaged signal for drilling parameter p. An example of the differencing, averaging, and use of a threshold to detect a rate of change in a drilling parameter is shown in
After the initial detection of the stall event (which may be referred to as a “potential mud motor stall”), a second detection method is used to calculate scaling coefficients for a scaling and normalization process (described in further detail below). The second detection method identifies the inflection points in the differenced and averaged time series data where
{{circumflex over (x)}p,t>{circumflex over (x)}p,t−1}∧{{circumflex over (x)}p,t<0} (6)
for at least one drilling parameter p. The time between the conditions in equations (5) and (6) is calculated and is used in the following scaling and normalization process.
The scaling, normalization, and transformation process occurs during what may be referred to as a second stall detection operation. The goal of the second stall detection operation is to determine whether the potential mud motor stall detected during the first stall detection operation is in fact a mud motor stall.
Scaling and normalization are applied to standardize the signal length and magnitude for subsequent pattern matching routines. The time between the initial detection in equation (5) and the subsequent detection in equation (6) provides a discretization interval that sufficiently captures the shape of the patterns in each of the drilling parameters. A robust method that may be used for standardizing the signal is piecewise aggregate approximation (PAA), and provides a low-dimensional representation of the signal. The procedure for a single drilling parameter is described below.
The time between the initial detection in equation (5) and the subsequent detection in equation (6) is determined:
{circumflex over (t)}=┌α(tb−ta)┐ (7)
where α>0 is a configurable parameter used to scale the reference time interval window.
A subsequence of the parameter time series data is then generated, having a length
n=ω{circumflex over (t)} (8)
where ω∈N is a configurable parameter to adjust the length of the subsequence. A subsequence y(t) of x(t) from time t=tb−n to time tb is obtained as:
The subsequence y(t) is then normalized using the standard normal transform:
where μ denotes the mean and a the standard deviation of the subsequence y(t).
The normalized subsequence z(t) of length n can be represented in an w-dimensional space by a vector of real numbers:
The values of the sequence g(k) for k=1, . . . , ω are the averages of z(t) over the intervals of t with length {circumflex over (t)}=n/ω from equation (8).
The discretized series gp,k are the piecewise aggregate approximations of the differenced and averaged signal {circumflex over (x)}p,t for each drilling parameter p. For example, where {circumflex over (x)}t is as shown in
The event detection and subsequent PAA representation described above enable the use of robust methods of times series pattern recognition of stall events. In order to confirm a potential mud motor stall as an actual mud motor stall, the PAA representation of a set of drilling parameters is attempted to be matched to a corresponding set of archetype representations or patterns that are extracted from historical drilling data. While any suitable method of matching the signature of the potential mud motor stall with stored signatures of actual mud motor stalls may be used, two particular methods are described in more detail below. These are dynamic time warping (DTVV) and symbolic aggregate approximation (SAX).
As described below, it will now be determined whether patterns of potential mud motor stalls obtained from the real-time drilling process sufficiently match known patterns consistent with mud motor stalls.
The pattern, or “signature”, of a potential mud motor stall is recognized as corresponding to the signature of an actual mud motor stall when the scaled, normalized, and transformed representation of a set of drilling parameters {gp}p=1N
D(g,g*)<λ* (12)
where D is the distance measure between gp and an archetype pattern g*, and A* is an archetype distance.
A set of archetype patterns in drilling parameters can be obtained from historical drilling data.
The steps of training and validating the historical drilling data are as follows:
1. Obtain a representative set of n examples for each of the Np number of drilling parameter time series corresponding to stall events, {xp,t}i=1n where p=1, . . . , Np.
2. Divide the data set into training and validation data sets containing nT and nV examples, respectively.
3. For each series in the training data set, perform the scaling, normalization, and transformation procedure described above,
4. For each drilling parameter set, calculate the distance D(•,•) between each of the representations. For example:
D(gp,k(i),gp,k(j)), for i,j=1, . . . ,nT (13)
5. Determine the archetype pattern and archetype distance for each drilling parameter:
D(gp,k(i),gp,k(j))<λp ∀i,j=1, . . . ,n, i≠j
This is the pattern, or set of patterns, that is the most similar to all others.
In this case, a potential mud motor stall is verified as a mud motor stall if the patterns obtained from the event detection and PAA representation process described above, for example in
In some cases, the patterns in drilling parameters consistent with mud motor stall can vary significantly such that the use of a single set of archetype patterns and distances may not be sufficient to differentiate a potential mud motor stall from other types of events or operations in the drilling process. For example, mud motor stall events can appear as several different sets of patterns in the drilling parameter data, and therefore may correspond to multiple different archetypes. Furthermore, mud motor stall patterns can appear in subsets of the drilling parameter data or in combinations of each of drilling parameters in the drilling parameter data, including in the case of appearing in several different sets of patterns as discussed above.
Accordingly, one approach for improving the accuracy of the stall event detection methods described herein is to use multiple archetype patterns and distances. Thus, a library of reference patterns or archetypes may be created. If a potential mud motor stall is detected, its associated patterns, for example as represented in
g
p
∈{S
p}r=1N
where g(r)p is the archetype pattern, and λ(r) is the archetype distance for the parameter in a clustering group r=1, . . . , Nc, and Nc is the number of clusters. In order to build the library, clustering methods may be added to the training and validation procedures.
For example, for each drilling parameter set, the distance D(•,•) between each of the representations is calculated. For instance,
D(gp,k(i),gp,k(j)), for i,j=1, . . . ,nT (16)
In this case, a potential mud motor stall is verified as a mud motor stall if the patterns obtained from the event detection and PAA representation process described above, for example in
If a potential mud motor stall has been verified as a mud motor stall, the pattern or signature of the mud motor stall may be added as an additional reference pattern to the existing archetype pattern or archetype pattern library. One reason for doing this is that consecutive stall patterns may appear more similar to each other. Thus, if another stall occurs, that stall's pattern is compared to the augmented archetype pattern set, and a stall is recognized if:
D(gp,gp*)<λp*, where gp*∈Sp*∪Sp** and λp*∈Λp*∪Λp* (17)
where S*p is the set of original archetype patterns, and S**p is the set of new archetype patterns for each parameter p. Similarly, Λ*p is the set of original archetype distances, and Λ**p is the set of new archetype distances. Adding the previous stall patterns to the archetype pattern or archetype pattern library may improve the accuracy of the detection procedure.
As noted previously, the detection of a mud motor stall relies on comparing the patterns in p parameters to corresponding archetype patterns. The similarity of the patterns is determined by calculating a measure of distance between each parameter to its respective archetype pattern. The patterns are considered similar if the calculated distance is less than an archetype distance. As described above, two particular methods are described in more detail below.
Dynamic Time Warping (DTW)
DTW, for example as described in Dynamic Programming Algorithm Optimization for Spoken Word Recognition, by Sakoe et al, IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol. ASSP-26, No. 1, February 2978 (incorporated by reference in its entirety), is a class of algorithm that may be used for measuring the distance between two signals, and for sequence alignment (including time series and other ordered data).
In the case of two sequences P and Q:
P=p
1
,p
2
, . . . ,p
i
, . . . ,p
I (18)
Q=q
1
,q
2
, . . . ,q
j
, . . . ,q
J (19)
DTW aims to map one sequence onto the other. An example of series P and Q is depicted in
S=W(1), . . . ,W(k), . . . ,W(K) (20)
is a sequence representing a function that maps a series P onto a series Q in terms of time. The function W(k) is called a warping function which deviates from the diagonal line i=j as the difference between the two series grows. For P and Q as shown in
The difference between P and Q can be quantified as a distance:
d(W)=∥pi−qj∥ (22)
The weighted summation of the distances on the warping function W is given by:
where w(k)>=0 is a weighting coefficient that allows for tuning the warping function W. The function J reaches its minimum when W minimizes the distance between the patterns P and Q. Given two series, for example in
The warping function may be bounded by a maximum deviation. In
The alignment of the signals in
Symbolic Aggregate Approximation (SAX)
SAX, for example as described in Experiencing SAX: a novel symbolic representation of time series, by LIN, Jessica, et al., Springer Science+Business Media, LLC, 2007 (incorporated by reference in its entirety), is an efficient similarity search technique used for sequence matching and pattern detection providing a balance between accuracy, flexibility, robustness, and low computational complexity. Using SAX, the PAA data sequence is first converted into a string of symbols (e.g. letters) with word length w consisting of letters from an alphabet with cardinality γ∈N. The symbol (letter) s(k)∈Γ assigned to each data point of p(k) is determined according to its value relative to a set of breakpoints b=(b1, . . . , by−1). The breakpoints provide approximate equiprobability of letters within a word if they are assigned to correspond to areas under a Gaussian curve (with mean 0 and standard deviation 1) such that the area from bi to bi+1 is 1/ω, and b0=−∞ and bω=∞.
For two time series x1(t) and x2(t) and their respective SAX representations, S1={s1(k)}k=1k=ω and S2={s2 (k)}k=1k=ω, where si(k)∈Γ are the symbolic representations with symbols (letters) in alphabet Γ with cardinality γ and word length ω, the minimum distance function between S1 and S2 is given by:
where d(a,b) is the distance between two SAX symbols a and b. The distance d(•,•) can be obtained from a look-up table which is based on the breakpoints described above. The value v for each (i,j) entry in the table is given by:
The recognition of a stall is reduced to comparing the distances di∈R between the SAX representations si(k) of each drilling parameter xi(t) and to their respective archetype patterns ai(k). If all distance thresholds A are satisfied, then the set of patterns in the drilling parameters are recognized as a stall (i.e. the potential mud motor stall is validated as a mud motor stall). That is:
This section is based on the SAX representation of the time series discussed above. Specifically, in terms of identifying mud motor stalls from drilling parameter time series data, a set of patterns is compared to archetype patterns corresponding to mud motor stall events. The similarity between the sequences and the archetype patterns is measured by the distance between the candidate sequences and their respective archetypes.
A set of 100 examples of stall events and their time series for DIFFP, torque, WOB, and ROP were collected and divided into a set of 50 training examples and 50 validation examples. The PAA representation of the training data set is shown in
Using the SAX transform, the distance between each of the series in
The collection of SAX distances shown in
A dynamic programming routine can be implemented to search for the distances for each variable. For example,
To verify the archetype pattern and threshold for each variable xi, the validation data set is used. Once again, performing the scaling, normalization, and transform procedure, the SAX representation of each set of parameters in the validation data set is determined, and the distance between these and the archetype pattern for each variable is calculated and compared to the archetype threshold. The comparison is shown in
The same procedure for determining the archetype patterns and distances can be applied, without loss of generality, using the DTW distance measure (see
Multiple alerts may be generated throughout the stall detection process. For example, an alert may be triggered in response to detecting a potential mud motor stall, i.e. the rate of change of a drilling parameter exceeds a threshold prescribed in equation (5). A further alert may be triggered if the potential mud motor stall is confirmed to be a mud motor stall, i.e. pattern recognition is confirmed.
Furthermore, stall severity metrics may calculated throughout the stall detection process. Metrics are intended to enable the user to decide if the stall is severe enough to interrupt normal operation of the rig and initiate restart procedures where manual intervention is required to manage drilling parameters, e.g. pump rate, outside control of the computer system.
If a motor stall has occurred, appropriate action should be taken to mitigate potential damaging effects. For example, shutting down pumps will stop circulation through the stalled motor and may prevent excessive wear to the elastomer in the motor power section. A general procedure for managing a mud motor stall is:
The metrics are calculated to assess the severity of the stall by checking relevant drilling parameters against equipment tolerances, for example differential pressure vs. a maximum differential pressure of the mud motor, and relative changes throughout the stall process. The metrics may be displayed to the user in the alerts, and may be stored by stall detector 320 for analysis.
Motor stalls can cause damage to downhole equipment, causing temporary impairment of the drilling process and, in severe cases, requiring complete stoppage, tripping out of the hole, and replacement of the damaged motor. Recurring stalls can be symptomatic of damage, for example to the motor stator materials, which may result in loss of power and lower drilling rates. In other cases, changes in drilling parameters may be made in order to resume normal operation. The process of identifying, quantifying, and taking corrective action when a stall or series of stalls occurs can be challenging because it may require immediate action followed by prolonged and continual monitoring and diagnostic of the drilling process, and finally corrective action to mitigate the onset of subsequent stalls.
Stall detector 320 may implement one or more of the following functions in order to automatically mitigate potential future stalls. In particular, stall detector 320 may identify abnormal fluctuations in drilling parameters, including differential pressure, standpipe pressure, rotary torque, bit torque, rotary RPM, bit RPM, weight on bit, and rate of penetration. Stall detector 320 may furthermore determine maximum and minimum readings of the drilling parameters, differences between the maximum and minimum readings of the drilling parameters, and rates of change of the drilling parameters, during the stall. These values may be compared to various operational thresholds, such as for example a maximum motor differential pressure, a maximum motor torque, and a maximum standpipe pressure. Such comparisons may enable stall detector 320 to determine the relative severity of a given stall event. Stall detector 320 may compare and identify relationships between severity estimates with specific drilling parameter settings before and after a stall, compare and identify relationships between severity estimates with trends in drilling parameter settings for sequential stall events, and may compare and identify relationships between trends in severity estimates and drilling parameter settings for sequential stall events
Based on the above comparisons, stall detector 320 may provide recommendations (e.g. on a display and/or via an audio output) for adjustments to drilling parameter setpoints. Alternatively, or in addition, stall detector 320 may actively adjust drilling parameter setpoints, for example by setting drilling parameter setpoints based on drilling parameter values that are associated with, or predicted to be associated with, the absence of stall events.
The automated management process may continue to change the drilling parameter setpoints until motor stalls are no longer detected. The changes may be temporary such that the drilling parameter setpoints are returned (instantly or gradually) to their original values after a fixed amount of time. In other cases, the changes in drilling parameter settings may be permanent until returned to their original or other prescribed settings, based on the discretion of the drilling process operator.
In addition to the stall detector being operable to detect stalls during a drilling operation, historical drilling parameter data may be inputted to the stall detector for performing post-well analysis.
While stall detector 320 has been described in the context of
While the disclosure has been described in connection with specific embodiments, it is to be understood that the disclosure is not limited to these embodiments, and that alterations, modifications, and variations of these embodiments may be carried out by the skilled person without departing from the scope of the disclosure.
It is furthermore contemplated that any part of any aspect or embodiment discussed in this specification can be implemented or combined with any part of any other aspect or embodiment discussed in this specification.
Number | Date | Country | Kind |
---|---|---|---|
3074312 | Mar 2020 | CA | national |