TECHNIQUE FOR ESTIMATING A STATE OF A DRILLING APPARATUS OR OPERATION
A method includes storing a first data structure associated with estimating a state of a drilling apparatus or operation based on data from a plurality of measurement devices. The method further includes receiving measurement data associated with a subset of the plurality of measurement devices. The method further includes, in response to determining that the subset does not include one or more measurement devices of the plurality of measurement devices, transforming the first data structure into a second data structure based on identities of the one or more measurement devices. The second data structure is associated with estimating the state of the drilling apparatus or operation based on data from the subset. The method further includes, based on the measurement data and the second data structure, generating an estimation of the state of the drilling apparatus or operation and a confidence value associated with the estimation.
Many devices function Embodiments described herein generally relate to estimating a drilling apparatus or operation state.
BACKGROUND ARTAn operator of a drilling apparatus may perform various actions based on a state of the drilling apparatus or an operation associated with the drilling apparatus as reported by a monitoring system. The monitoring system may receive sensor data from a plurality of sensors associated with the drilling apparatus and apply the sensor data to a model to determine the state of the drilling apparatus or operation. The model may be dependent on receiving data from each of the plurality of sensors. However, in some circumstances, the monitoring system may receive data from fewer than all of the plurality of sensors.
SUMMARYThe following presents a simplified summary of the disclosed subject matter in order to provide a basic understanding of some aspects of the subject matter disclosed herein. This summary is not an exhaustive overview of the technology disclosed herein. It is not intended to identify key or critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is discussed later.
According to one embodiment, a method includes storing a first data structure associated with estimating a state of a drilling apparatus or operation based on data from a plurality of measurement devices. The method further includes receiving measurement data associated with a subset of the plurality of measurement devices associated with the drilling apparatus or operation. The method further includes, in response to determining that the subset does not include one or more measurement devices of the plurality of measurement devices, transforming the first data structure into a second data structure based on identities of the one or more measurement devices. The second data structure is associated with estimating the state of the drilling apparatus or operation based on data from the subset. The method further includes, based on the measurement data and the second data structure, generating an estimation of the state of the drilling apparatus or operation and a confidence value associated with the estimation.
In another embodiment, a computer-readable storage device stores instructions, that when executed by one or more processors cause the one or more processors to perform operations including storing a first data structure associated with estimating a state of a drilling apparatus or operation based on data from a plurality of measurement devices. The operations further include receiving measurement data associated with a subset of the plurality of measurement devices. The operations further include, in response to determining that the subset does not include one or more of the plurality of measurement devices, transforming a first data structure into a second data structure based on identities of the one or more measurement devices. The second data structure is associated with estimating the state of the drilling apparatus or operation based on data from the subset. The operations further include, based on the measurement data and the second data structure, generating an estimation of the state of the drilling apparatus or operation and a confidence value associated with the estimation.
In another embodiment, an apparatus includes one or more processors and a storage device storing a first data structure associated with estimating a state of a drilling apparatus or operation based on data from a plurality of measurement devices. The apparatus further includes a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including receiving measurement data associated with a subset of the plurality of measurement devices. The operations further include, in response to determining that the subset does not include one or more of the plurality of measurement devices, transforming the first data structure into a second data structure based on identities of the one or more measurement devices. The second data structure is associated with estimating the state of the drilling apparatus or operation based on data from the subset. The operations further include, based on the measurement data and the second data structure, generating an estimation of the state of the drilling apparatus or operation and a confidence value associated with the estimation.
For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments disclosed herein. It will be apparent, however, to one skilled in the art that the disclosed embodiments may be practiced without these specific details. In other instances, structure and devices are shown in block diagram form in order to avoid obscuring the disclosed embodiments. References to numbers without subscripts or suffixes are understood to reference all instance of subscripts and suffixes corresponding to the referenced number. Moreover, the language used in this disclosure has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter. Reference in the specification to “one embodiment” or to “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment.
The terms “a,” “an,” and “the” are not intended to refer to a singular entity unless explicitly so defined, but include the general class of which a specific example may be used for illustration. The use of the terms “a” or “an” may therefore mean any number that is at least one, including “one,” “one or more,” “at least one,” and “one or more than one.” The term “or” means any of the alternatives and any combination of the alternatives, including all of the alternatives, unless the alternatives are explicitly indicated as mutually exclusive. The phrase “at least one of” when combined with a list of items, means a single item from the list or any combination of items in the list. The phrase does not require all of the listed items unless explicitly so defined.
As used herein, the term “computing device” may refer to a device that includes, but is not limited to a single computer, host, server, laptop, and/or mobile device.
As used herein, the term “network device” may refer to any device that is capable of communicating and transmitting data to another device across any type of network.
As used herein, the term “computing system” may refer to a single electronic computing device or network device that includes, but is not limited to a single computer, virtual machine, virtual container, host, server, laptop, and/or mobile device. The term “computing system may also refer to a plurality of electronic computing devices and/or network devices working together to perform the function described as being performed on or by the computing system.
As used herein, the term “medium” refers to one or more non-transitory physical media that together store the contents described as being stored thereon. Embodiments may include non-volatile secondary storage, read-only memory (ROM), and/or random-access memory (RAM).
As used herein, the term “application” refers to one or more computing modules, programs, processes, workloads, threads and/or a set of computing instructions executed by a computing system. Example embodiments of an application include software modules, software objects, software instances and/or other types of executable code.
Sequences of method steps presented herein are provided as examples and are not meant to be limiting. Thus, methods may be performed in an order alternative to that illustrated in the figures and described herein. To illustrate, a method described as including steps “A” and “B” may be performed with “A” either preceding or following “B,” unless a specific order is indicated. Further, “A” and “B” may be performed concurrently.
Systems and methods described herein enable estimating a state of a device or operation (e.g., a drilling apparatus or operation). In particular, the state may be estimated based on data received from an arbitrary number of measurement devices (e.g., sensors, measurement calculation devices, or a combination thereof). For example, the disclosed systems and methods enable estimation of a state of a drill or drilling operation based on measurement data corresponding to less than all of a set of measurement devices used to construct an estimation model. Accordingly, the disclosed systems and methods enable state estimation in cases where one or more of the plurality of measurement devices fails to provide usable data or in cases where the drill is equipped with fewer than all of the plurality of measurement devices. Further, the disclosed systems and methods enable calculation of a confidence value and/or a diminished confidence value associated with an estimation of a state. The diminished confidence value indicates a degree of uncertainty in the estimation due to lack of data from one or more measurement devices.
In operation, the systems and methods transform a first data structure (e.g., a matrix) into a second data structure in response to one or more measurement devices of a plurality of measurement devices failing to provide usable data. The first data structure is associated with estimating the state of the drill or drilling operation based on data from the plurality of measurement devices, and the second data structure is associated with estimating the state of the drill or drilling operation based on data from a subset of the plurality of measurement devices that provide usable data (e.g., less than all of the plurality). The transformation is based on identities of one or more measurement devices that fail to provide usable data. In a particular example, the first data structure includes values indicating counts of instances that various combinations of sensor values corresponded to various states. Transforming the data structure includes summing sensor values for combinations of sensor values that are equivalent when sensor values corresponding to the one or more measurement devices are ignored. The systems and methods further determine entropy (e.g., uncertainty) associated with the summed sensor values. Entropy is greater when the ignored sensor values are more highly indicative of different states than when the ignored sensor values are less indicative of different states.
The systems and methods use the second data structure to generate an estimation of the state of the drill or drilling operation based on the data from less than all of the plurality of measurement devices. Further, the systems and methods generate a confidence value and/or a diminished confidence value based on the entropy. In some implementations, the estimation includes probabilities associated with a plurality of states. For example, the estimation may indicate that there is a first probability that a drill or drilling operation state corresponds to a first state and a second probability that the drill or drilling operation state corresponds to a second state. Accordingly, the systems and methods may be used to estimate a state of a drilling device or operation without imputing missing measurement data or storing different models for different combinations of measurement devices
Referring to
Referring to the computing device 102, the computing device 102 includes a processor 104. While illustrated as a single component, the processor 104 may correspond to one or more processor devices. The processor 104 may correspond to a central processor unit. The computing device 102 further includes a memory device 106 and a storage device 109. The memory device 106 and the storage device 109 may include a computer readable storage device, such as a non-volatile random access memory (RAM), a static RAM, a dynamic RAM, a hard disk drive, a solid state drive, another type of storage media, or a combination thereof.
The computing device 102 further includes an input/output device, such as a display device 108. The display device 108 may correspond to a liquid crystal display (LCD), a light emitting diode (LED) display, or another type of display device or to a display controller, such as a graphics card. The computing device 102 further includes an audio device 110. The audio device 110 may correspond to a speaker or to an audio controller, such as a sound card. The computing device 112 further includes a network interface 112. While illustrated as a single component, the network interface 112 may correspond to one or more interface devices. The network interface 112 may include a wired interface, a wireless interface, or a combination thereof. It should be noted that the configuration of the computing device 102 illustrated in
Referring to the drilling device 114, the drilling device 114 includes a plurality of N measurement devices. In the illustrated example, the N measurement devices include a first measurement device 116, a second measurement device 118, and an Nth measurement device 120. Each of the plurality of measurement devices may be configured to monitor one or more conditions associated with the drilling device 114 and generate raw measurement data accordingly. While illustrated as three measurement devices, the plurality of measurement devices may include 2 or more measurement devices. As used herein a measurement device may correspond to a sensor or to a measurement calculation device. Measurement calculation devices include devices that derive measurements based on data (e.g., from a sensor, a clock, a counter, etc.). A measurement device may be a distinct module or may be a component of another device. In embodiments in which the drilling device 114 corresponds to a drilling device, the plurality of measurement devices may include a total depth calculation device, a bit depth calculation device, a torque sensor, a speed sensor, a flow sensor, a pressure sensor, a weight on bit sensor, a block position sensor, a hook load sensor, or a combination thereof.
The plurality of measurement devices may be configured to generate a dataset describing one or more conditions of the drilling device 114, an environment of the drilling device 114, or a combination thereof. For example, the first measurement device 116 may be configured to generate first raw measurement data 122, the second measurement device 118 may be configured to generate second raw measurement data 124, and the Nth measurement device 120 may be configured to generate Nth raw measurement data 126. In some examples, the plurality of measurement devices may generate the dataset by periodically recording measurements at sample times (e.g., every second). The measurements may correspond to a wide range of values. Accordingly, for each sample time, there may be relatively many different possible combinations of measurement values that may be included in the dataset.
The computing device 102 may be configured to determine a state of the drilling device 114 (or an operation associated with the drilling device 114) based on output of the plurality of measurement devices. For example, the storage device 109 may store a first data structure 134 usable by the processor 104 to estimate a state of the drilling device 114 (or the operation) based on data from the plurality of measurement devices. The first data structure 134 is described further below with respect to
The computing device 102 may be unable to use a portion of measurement data associated with the plurality of measurement devices. In the illustrated example of
In response to determining that a portion of the dataset received from the plurality of measurement devices is unusable (e.g., is unreliable or not received), the processor 104 transforms the first data structure 134 based on identities of one or more measurement devices corresponding to the unusable portion of the dataset. In the example of
In addition to generating the second data structure 136, the processor 104 may transform a usable (e.g., received and not indicated as unreliable) portion of the dataset received from the plurality of measurement devices. In the example illustrated in
The processor 104 may apply the measurement data 132 to the second data structure 136 to generate an estimation 138 of the state of the drilling device 114 (or the operation associated with the drilling device 114) and a confidence value 139, as described below with reference to
Based on the estimation 138, the processor 104 may initiate presentation of one or more messages. The one or more messages may include a visual message 142, an audio message 144, a network message 146 or a combination thereof. For example, the processor 104 may initiate presentation of the visual message 142 via the display device 108. The visual message 142 may include a graphic and/or a video indicating the estimation 138, indicating the confidence value 139 and/or a diminished confidence value associated with the estimation 138, indicating instructions for responding to the estimation 138, announcing a warning, or a combination thereof. As another example, the processor 104 may initiate presentation of the audio message 144 via the audio device 110. The audio message 144 may indicate the estimation 138, indicate instructions for responding to the estimation 138, announce a warning, or a combination thereof. As another example, the processor 104 may initiate transmission of the network message 146 via the network interface 112. The network message 146 may correspond to an electronic mail message, a social media message, a short message service message, an automated telephone call, another type of message, or a combination thereof. The network message 146 may include audio content, visual content, or a combination thereof. The network message 146 may indicate the estimation 138, indicate instructions for responding to the estimation 138, announce a warning, or a combination thereof. In some examples, the processor 104 may initiate presentation of the one or messages based further on the confidence value 139 associated with the estimation 138. For example, the processor 104 may initiate presentation of the one or more messages based on the estimation 138 in response to the confidence value 139 satisfying a confidence threshold. Generation of the confidence value is explained further below with reference to
In some implementations, the processor 104 may further initiate transmission of one or more control signals to the drilling device 114 based on the estimation 138, the confidence value 139, or a combination thereof. For example, the processor 104 may initiate transmission of one or more signals to deactivate the drilling device 114, to activate the drilling device 114, or to adjust operation of the drilling device 114. To illustrate, the processor 104 may initiate transmission of one or more signals to the drilling device 114 to control a drilling speed or a drill depth associated with the drilling device 114.
Thus, the system 100 may enable estimation of and reaction to a state of the drilling device 114 or an operation associated with the drilling device 114 even in cases where expected measurement data is not received or is not usable. By transforming the first data structure 134 into the second data structure 136, the processor 104 may generate the estimation 138 without imputing the missing Nth raw measurement data 126. Since the processor 104 may determine the estimation 138 without filling in the missing Nth raw measurement data 126, the processor 104 may determine a confidence value and/or a diminished confidence value associated with the estimation 138 associated with missing the Nth raw measurement data 126. Accordingly, the computing device 102 may represent an improvement to techniques for state estimation. Further, the processor 104 may generate the estimation 138 without accessing a model designed specifically for cases where the computing device 102 does not receive the Nth raw measurement data 126. Therefore, the computing device 102 may store fewer models in the storage device 109 in order to estimate the state of the drilling device 114 (or the operation associated with the drilling device 114). Accordingly, demand on the storage device 109 may be decreased and functioning of the computing device 102 may be improved.
Referring to
The top drive 184 is configured to rotate the bit 186 so that the bit 186 may bore into a material, such as earth. The top drive 184 and/or the bit 186 may be communicatively coupled to measurement devices. For example, the top drive 184 may be communicatively coupled to a rotations per minute (RPM) sensor 184 and a torque sensor 185. The bit 186 may be communicatively coupled to a weight on bit sensor 187. The RPM sensor 184 is configured to generate RPM data 192 indicating RPM of the top drive 184 over time. The RPM sensor 184 is configured to transmit (e.g., wirelessly transmit) the RPM data 192 to the computing device 102. The torque sensor 185 is configured to generate torque data 190 indicating torque force between the top drive 184 and the drill bit 186 over time. The torque sensor 185 is configured to transmit (e.g., wirelessly transmit) the torque data 190 to the computing device 102. The weight on bit sensor 187 is configured to generate weight data 194 indicating a weight force experienced by the bit 186 over time. The weight on bit sensor 187 is configured to transmit (e.g., wirelessly transmit) the weight data 194 to the computing device 102.
The RPM sensor 184, the torque sensor 185, and the weight on bit sensor 187 may correspond to the first measurement device 116, the second measurement device 118, and the Nth measurement device 120 of
Referring to
Each vector of measurement data values associated with each row i may be formatted [is1, . . . isn], where is1 is a value in the vector associated with row i that corresponds to a first measurement device (“s1”). In response to determining that data from one or more of the measurement devices is not usable (e.g., not received or unreliable), a processor (e.g., the processor 104) transforms the first data structure 202, based on identities of the one or more measurement devices. In the illustrated example, the processor transforms the first data structure 202 by collapsing rows (e.g., summing rows) that correspond to vectors of measurement data values that match when measurement data values corresponding to the one or more measurement devices are ignored. In the illustrated example, the processor receives measurement data 203 indicating a vector [1, −1, ?] indicating that measurement device s3 corresponds to unusable data. Accordingly, the processor determines whether any rows of the first data structure 202 are collapsible when is3 is ignored. As illustrated in
Once the second data structure 204 is generated, the processor may estimate a state of a device or an operation based on the measurement data 203 and the second data structure 204. In some implementations, the processor may use a k-nearest neighbors algorithm to estimate the state. As part of the k-nearest neighbors algorithm, the processor may identify a set R of vectors, where R is a subset of the set of measurement data value vectors corresponding to rows of the second data structure 204 and each vector in R is within a threshold distance (e.g., Euclidian distance) from the vector indicated by the measurement data 203 (e.g., [1, −1]). In some examples of the k-nearest neighbors algorithm, the processor may recalculate R using an increased threshold distance in response to a number of vectors included in R failing to satisfy a threshold number of vectors.
In an illustrative example, the threshold distance may be equal to 2. The processor may determine that a Euclidian distance between the vector indicated by the measurement data 203 and a vector corresponding to a first row of the second data structure 204 is equal to √{square root over ((1−0)2+(−1−1)2)}=√{square root over (5)}>2. Accordingly, the processor may determine that the vector corresponding to the first row of the second data structure 204 is not to be included in R. The processor may further determine that a Euclidian distance between the vector indicated by the measurement data 203 and a vector corresponding to a second row of the second data structure 204 is equal to √{square root over ((1−1)2+(−1−0)2)}=1<2. Accordingly, the processor may determine that the vector corresponding to the second row of the second data structure 204 is to be included in R. The processor may further determine that a Euclidian distance between the vector indicated by the measurement data 203 and a vector corresponding to a third row of the second data structure 204 is equal to √{square root over ((1−1)2+(−1−1)2)}=2=2. Accordingly, the processor may determine that the vector corresponding to the second row of the second data structure 204 is to be included in R.
Once the processor has calculated R, the processor may identify a collection of rows of the second data structure 204 that correspond to the vectors in R. For each state, the processor may calculate a probability (e.g., a confidence value) of the device (e.g., the drilling device 114) or operation being in the state by summing a column that corresponds to the state in the collection of rows and dividing by a sum of all of the values included in the collection of rows. The processor may generate an estimation (e.g., the estimation 138) based on which state is determined to have a highest probability.
To illustrate, the processor may identify the second row and the third row of the second data structure 204 as the collection of rows corresponding to the vectors in R. The processor may calculate a probability that the state of the device or operation is a first state by dividing a sum of a first column of the collection by a sum of a total of the collection. Accordingly, the probability that the state of the device or operation is the first state may be equal to
The processor may calculate a probability that the state of the device or operation is a second state by dividing a sum of a second column of the collection by the sum of a total of the collection. Accordingly, the probability that the state of the device or operation is the second state may be equal to
The processor may calculate a probability that the state of the device or operation is a third state by dividing a sum of a third column of the collection by a sum of a total of the collection. Accordingly, the probability that the state of the device or operation is the third state may be equal to
Since the third state has a highest probability (e.g., because 0.47>0.33>0.2), the processor may generate a estimation indicating that the device is in the third state. In some examples, the processor further determines a degree of diminished confidence in response to determining that R includes a vector that is a result of collapsing rows in the first data structure 202. The processor may determine the degree of diminished confidence based on entropy values associated with collapsing the rows of the first data structure 202. Entropy may increase relatively more when the rows that are collapsed to generate the vector strongly indicate different states (e.g., because data from an associated ignored measurement device is highly linked to distinguishing between states). Entropy may increase relatively less when the rows that are collapsed do not strongly indicate different states (e.g., because data from the associated ignored measurement device is not highly linked to distinguishing between states). The probability associated with a state (e.g., the confidence value) may be discounted by the diminished confidence value. In some implementations, the processor is configured to generate an error message (e.g., indicating an unidentifiable state) in response to determining that no confidence value satisfies a confidence threshold.
Therefore,
Referring to
The data conversion process 304 may include a plurality of sub-processes. In the illustrated example, the sub-processes include an outlier filter process 308, a smoothing process 310, a normalization process 312, a change point detection process 314, and a lag filter process 316. Alternative examples of the data conversion process 304 may include different combinations of sub-processes. The sub-processes are described in more detail below.
The outlier filter process 308 may receive the raw measurement data 302 (e.g., the first raw measurement data 122 and the second raw measurement data 124). The processor executing the outlier filter process 308 may generate processed measurement data by removing outlier values from the raw measurement data 308. In some examples, the outlier filter process 308 utilizes a median absolute deviation algorithm to remove outliers from the raw measurement data 124.
The smoothing process 310 may receive the processed data from the outlier filter process 308 and generate smoothed data by removing high frequency noise from the processed data. In some examples, the smoothing process 310 utilizes a Gaussian kernel based smoothing algorithm. The Gaussian kernel may, for example, be
The normalization process 312 may receive the smoothed data from the outlier filter process 308 and generate normalized data based on the smoothed data. In some examples, the normalization process 312 may utilize a max-min normalization algorithm so that the normalized data has a range of (0, 1). The max-min normalization algorithm may be based on the following equation:
where x are values in the smoothed data and z are values in the normalized data.
The change point detection process 314 may receive the normalized data from the normalization process 312 and identify change points in the normalized data. In some implementations, the change point detection process 314 may utilize a median shift detector algorithm to detect change points in the normalized data. Once change points are identified, the change point detection process 314 generates the measurement data 318 based on the change points. The measurement data 318 may correspond to a lower dimensional representation of the raw measurement data 302. For example, the measurement data 318 may use a ternary value to denote whether a trend between two consecutive change points is increasing, decreasing or staying constant rather than including each data point included in the raw measurement data 302. In addition or in the alternative, the measurement data 318 may include binary values indicating whether a particular component is on or off. Since values of the measurement data 318 are drawn from fewer dimensions (e.g., 3 or 2) than the raw measurement data 302, the measurement data 318 may have fewer possible combinations of values as compared to the raw measurement data 302. Thus,
Referring to
The process of
The process of
The process of
Thus, the process illustrated in
Referring to
The method 500 further includes receiving measurement data associated with a subset of the plurality of measurement devices associated with the drilling apparatus or operation, at 504. For example, the processor 104 may receive the measurement data 132 (or the first raw measurement data 122 and the second raw measurement data 124) associated with the first measurement device 116 and the second measurement device 118 (e.g., a subset of the first measurement device 116-the Nth measurement device 120).
In response to determining that the subset does not include one or more measurement devices of the plurality of measurement devices, the method 500 includes transforming the first data structure into a second data structure based on identities of the one or more measurement devices, at 506. The second data structure is associated with estimating the state of the drilling apparatus or operation based on data from the subset. For example, the subset of measurement devices from which the processor 104 receives data may not include the Nth measurement device 120 (e.g., because the Nth raw measurement data 126 was not received or because the Nth raw measurement data 126 was indicated as unreliable). In response to determining that the subset does not include the Nth measurement device 120, the processor 104 may transform the first data structure 134 into the second data structure 136, as described with reference to
The method 500 further includes, based on the measurement data and the second data structure, generating an estimation of the state of the drilling apparatus or operation and a confidence value associated with the estimation, at 508. For example, the processor 104 may generate the estimation 138 based on the measurement data 132 and the second data structure 136. Further, the processor 104 may generate the confidence value 139 associated with the estimation 138. Accordingly, the method 500 may enable estimation of a state of a device when measurement data associated with estimating the state is not received or is unreliable. The method 500 may consume fewer storage resources as compared to techniques involving storing unique estimation models for each combination of received measurement data. Further, the method 500 may enable determination of confidence values, as compared to techniques that rely on imputation of lost measurement data.
Referring now to
The computing system 600 includes a processing element 602 that contains one or more hardware processors, where each hardware processor may have a single or multiple processor cores. In one embodiment, the processing element 602 may include at least one shared cache that store data (e.g., computing instructions) that are utilized by one or more other components of processing element 602. For example, the shared cache may be locally cached data stored in a memory for faster access by components of the processing elements 602. In one or more embodiments, the shared cache may include one or more mid-level caches, such as level 2 (L2), level 3 (L3), level 4 (L4), or other levels of cache, a last level cache (LLC), or combinations thereof. Examples of processors include, but are not limited to a central processing unit (CPU) a microprocessor. Although not illustrated in
Persons of ordinary skill in the art are aware that software programs may be developed, encoded, and compiled in a variety computing languages for a variety software platforms and/or operating systems and subsequently loaded and executed by processing element 602. In one embodiment, the compiling process of the software program may transform program code written in a programming language to another computer language such that the processing element 602 is able to execute the programming code. For example, the compiling process of the software program may generate an executable program that provides encoded instructions (e.g., machine code instructions) for processor 602 to accomplish specific, non-generic, particular computing functions.
After the compiling process, the encoded instructions may then be loaded as computer executable instructions or process steps to processing element 602 from storage (e.g., memory 604) and/or embedded within the processing element 602 (e.g., cache). Processing element 602 can execute the stored instructions or process steps in order to perform instructions or process steps to transform the computing device into a non-generic, particular, specially programmed machine or apparatus. Stored data, e.g., data stored by a storage device, can be accessed by processing element 602 during the execution of computer executable instructions or process steps to instruct one or more components within the computing device 600.
A user interface 610 can include a display, positional input device (such as a mouse, touchpad, touchscreen, or the like), keyboard, or other forms of user input and output devices. The user interface 610 can be coupled to processor element 602. Other output devices that permit a user to program or otherwise use the computing device can be provided in addition to or as an alternative to network communication unit 608. When the output device is or includes a display, the display can be implemented in various ways, including by a liquid crystal display (LCD) or a cathode-ray tube (CRT) or light emitting diode (LED) display, such as an OLED display. Persons of ordinary skill in the art are aware that the computing device 600 may comprise other components well known in the art, such as measurement devices, powers sources, and/or analog-to-digital converters, not explicitly shown in
At least one embodiment is disclosed and variations, combinations, and/or modifications of the embodiment(s) and/or features of the embodiment(s) made by a person having ordinary skill in the art are within the scope of the disclosure. Alternative embodiments that result from combining, integrating, and/or omitting features of the embodiment(s) are also within the scope of the disclosure. Where numerical ranges or limitations are expressly stated, such express ranges or limitations may be understood to include iterative ranges or limitations of like magnitude falling within the expressly stated ranges or limitations (e.g., from about 1 to about 10 includes, 2, 3, 4, etc.; greater than 0.10 includes 0.11, 0.12, 0.13, etc.).
Use of the term “optionally” with respect to any element of a claim means that the element is required, or alternatively, the element is not required, both alternatives being within the scope of the claim. Use of broader terms such as comprises, includes, and having may be understood to provide support for narrower terms such as consisting of, consisting essentially of, and comprised substantially of. Accordingly, the scope of protection is not limited by the description set out above but is defined by the claims that follow, that scope including all equivalents of the subject matter of the claims. Each and every claim is incorporated as further disclosure into the specification and the claims are embodiment(s) of the present disclosure.
It is to be understood that the above description is intended to be illustrative, and not restrictive. For example, the above-described embodiments may be used in combination with each other. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention therefore should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It should be noted that the discussion of any reference is not an admission that it is prior art to the present invention, especially any reference that may have a publication date after the priority date of this application.
Claims
1. A method comprising:
- storing a first data structure associated with estimating a state of a drilling apparatus or operation based on data from a plurality of measurement devices;
- receiving measurement data associated with a subset of the plurality of measurement devices associated with the drilling apparatus or operation;
- in response to determining that the subset does not include one or more measurement devices of the plurality of measurement devices, transforming the first data structure into a second data structure based on identities of the one or more measurement devices, wherein the second data structure is associated with estimating the state of the drilling apparatus or operation based on data from the subset; and
- based on the measurement data and the second data structure, generating: an estimation of the state of the drilling apparatus or operation; and a confidence value associated with the estimation.
2. The method of claim 1, further comprising presenting, via an output device, a message based on the estimation, the message including an audible component, a visual component, or a combination thereof.
3. The method of claim 2, wherein the message includes a warning associated with the estimation of the state.
4. The method of claim 1, wherein the plurality of measurement devices includes a sensor, a measurement calculation device configured to calculate a measurement, or a combination thereof.
5. The method of claim 4, wherein the plurality of measurement devices includes a device configured to calculate total depth, a device configured to calculate bit depth, a torque sensor, a speed sensor, a flow sensor, a pressure sensor, a weight on bit sensor, a block position sensor, a hook load sensor, or a combination thereof.
6. The method of claim 4, wherein the state includes a drilling state, a drilling in cement state, a drilling while sliding state, a tripping in state, a tripping out state, an in slips state, a static state, a wash up state, a wash down state, a reaming in state, a remaining out state, or a circulating state.
7. The method of claim 1, wherein the first data structure indicates a first number of instances that a first combination of measurement values corresponded to the state and a second number of instances that a second combination of measurement values corresponded to the state, and wherein transforming the first data structure based on the identities of the one or more measurement devices includes summing the first number and the second number in response to determining that the first combination matches the second combination when measurement values associated with the one or more measurement devices are ignored.
8. The method of claim 1, further comprising generating the measurement data by calculating change point values based on raw data received from the subset.
9. The method of claim 1, wherein receiving the measurement data includes receiving a dataset associated with the plurality of measurement devices and, in response to determining that the one or more measurement devices are unreliable, generating the measurement data based on a portion of the dataset that is independent of the one or more measurement devices.
10. The method of claim 9, further comprising determining that the one or more measurement devices are unreliable based on user input.
11. The method of claim 1, further comprising constructing the first data structure by applying a deterministic model to historical measurement data to determine a number of occurrences of each of a plurality of states for each combination of values corresponding to the plurality of measurement devices.
12. The method of claim 11, wherein the first data structure corresponds to a p×n matrix, wherein p is a number of distinct measurement data value combinations present in the historical measurement data and n is a number of states included in the plurality of states.
13. The method of claim 1, wherein generating the estimation includes applying a k nearest neighbors algorithm to the second data structure.
14. The method of claim 1, further comprising calculating the confidence value based on an entropy value associated with transforming the first data structure into the second data structure.
15. A computer-readable storage device storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:
- storing a first data structure associated with estimating a state of a drilling apparatus or operation based on data from a plurality of measurement devices;
- receiving measurement data associated with a subset of the plurality of measurement devices associated with the drilling apparatus or operation;
- in response to determining that the subset does not include one or more measurement devices of the plurality of measurement devices, transforming the first data structure into a second data structure based on identities of the one or more measurement devices, wherein the second data structure is associated with estimating the state of the drilling apparatus or operation based on data from the subset; and
- based on the measurement data and the second data structure, generating: an estimation of the state of the drilling apparatus or operation; and a confidence value associated with the estimation.
16. The computer-readable storage device of claim 15, wherein the operations further include converting raw measurement data received from the subset to binary data, ternary data, or a combination thereof.
17. The computer-readable storage device of claim 16, wherein the operations further include initiating transmission of a message to another device, the message indicating the estimation.
18. The computer-readable storage device of claim 17, wherein the message corresponds to an electronic mail message, to a short message service message, a social networking service message, or a combination thereof.
19. The computer-readable storage device of claim 15, wherein the operations further comprise initiating transmission of control signals to the drilling apparatus or operation based on the estimation.
20. An apparatus comprising:
- one or more processors;
- a storage device storing a first data structure associated with estimating a state of a drilling apparatus or operation based on data from a plurality of measurement devices; and
- a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: receiving measurement data associated with a subset of the plurality of measurement devices associated with the drilling apparatus or operation; in response to determining that the subset does not include one or more measurement devices of the plurality of measurement devices, transforming the first data structure into a second data structure based on an identities of the one or more measurement devices, wherein the second data structure is associated with estimating the state of the drilling apparatus or operation based on data from the subset; and based on the measurement data and the second data structure, generating: an estimation of the state of the drilling apparatus or operation; and a confidence value associated with the estimation.
Type: Application
Filed: Aug 24, 2017
Publication Date: Feb 28, 2019
Inventors: Olivier LHOMMET (Houston, TX), Viswanath AVASARALA (Katy, TX)
Application Number: 15/685,089