Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SURFACE STEERABLE DRILLING SYSTEM FOR USE WITH ROTARY STEERABLE SYSTEM
Document Type and Number:
WIPO Patent Application WO/2016/054586
Kind Code:
A1
Abstract:
A method for rotary steerable drilling, comprising calculating a first plurality of convergence plans if an estimated position of a drill bit is not within a defined margin of error of a desired point along a planned path for a borehole, calculating a second plurality of convergence plans if the estimated position of the drill bit is not within the margin of error, selecting a convergence plan that best satisfies a set of target parameters from the first and second plurality of convergence plans, producing a set of control parameters representing the selected convergence plan, transmitting one or more commands to one or more rotary steering components to actuate the one or more rotary steering components, in order to alter the planned path for the borehole in accordance with the set of control parameters, and drilling at least a portion of the borehole based on the set of control parameters.

Inventors:
BENSON, Todd, W. (1900 McKinney Avenue, #1411Dallas, TX, 75201, US)
CHEN, Teddy (6010 Mount Bonnell Road, Austin, TX, 78731, US)
WILMES, Joel (19 Larks Aire Pl, Spring, TX, 77381, US)
Application Number:
US2015/053846
Publication Date:
April 07, 2016
Filing Date:
October 02, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUNT ADVANCED DRILLING TECHNOLOGIES, LLC (1900 North Akard Street, Dallas, TX, 75201, US)
International Classes:
E21B44/00; E21B7/06; E21B47/02; G05B19/02
Domestic Patent References:
WO2013095974A22013-06-27
Foreign References:
US20070227775A12007-10-04
US20140151121A12014-06-05
US20010042642A12001-11-22
US20040245017A12004-12-09
Attorney, Agent or Firm:
WALKER, Brian, D. (Howison & Arnott, L.L.P.P.O. Box 74171, Dallas TX, 75374-1715, US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A rotary steerable system for use with a drilling rig, comprising:

a network interface;

a processor coupled to the network interface;

a memory coupled to the processor, the memory storing a plurality of instructions for execution by the processor, the plurality of instructions including:

instructions for calculating a plurality of convergence plans if an estimated position of a drill bit does not match a desired point along a planned path for a borehole, within a defined margin of error, wherein each of the plurality of convergence plans defines a solution vector to realign the drill bit with the planned path based on drilling operation information that includes a set of financial cost parameters;

instructions for selecting one of the plurality of convergence plans based on a set of target parameters;

instructions for producing a set of control parameters representing the convergence plan; and

wherein the processor is configured, upon execution of one of the plurality of instructions, to transmit one or more commands to one or more rotary steering components to actuate the one or more rotary steering components, in order to alter the planned path for the borehole in accordance with the set of control parameters.

2. The rotary steerable system of claim 1, wherein the set of control parameters include data on the planned path for the borehole, the set of financial cost parameters, formation information for the borehole, drilling rig equipment information for the drilling rig, bottom hole assembly (BHA) equipment information for a BHA coupled to the drilling rig, and a set of reliability parameters.

3. The rotary steerable system of claim 1, further comprising instructions for a guidance control loop and an autonomous control loop, wherein the guidance control loop calculates the plurality of convergence plans and the autonomous control loop outputs the set of control parameters for the drilling rig.

4. The rotary steerable system of claim 1 , further comprising instructions for optimizing the set of control parameters.

5. The rotary steerable system of claim 4, wherein the instructions for optimizing the set of control parameters include instructions for iteratively modifying the set of control parameters while maintaining a target parameter.

6. The rotary steerable system of claim 1, wherein the one or more rotary steering components include a rotary steering pad.

7. The rotary steerable system of claim 1, wherein the one or more rotary steering components include a main shaft configured to bend in a plurality of directions.

8. The rotary steerable system of claim 1, wherein the network interface, the processor, and the memory are located within a bottom hole assembly coupled to the drilling rig.

9. A method for rotary steerable drilling, comprising:

calculating, by a rotary steerable system, a first plurality of convergence plans if an estimated position of a drill bit is not within a defined margin of error of a desired point along a planned path for a borehole, wherein each of the first plurality of convergence plans defines a first solution vector to realign the drill bit with the planned path from the estimated position based on drilling operation information including feedback information, formation information, and a set of financial cost parameters;

calculating, by the rotary steerable system, a second plurality of convergence plans if the estimated position of the drill bit is not within the margin of error, wherein each of the second plurality of convergence plans defines a second solution vector to realign the drill bit with the planned path from a projected position based on the drilling operation information, wherein the projected position is determined by extending a current trajectory of the bit from the estimated position;

selecting, by the rotary steerable system, a convergence plan that best satisfies a set of target parameters from the first and second plurality of convergence plans; producing, by the rotary steerable system, a set of control parameters representing the selected convergence plan; transmitting, by the rotary steerable system, one or more commands to one or more rotary steering components to actuate the one or more rotary steering components, in order to alter the planned path for the borehole in accordance with the set of control parameters; and

drilling, by the drilling rig, at least a portion of the borehole based on the set of control parameters.

10. The method of claim 9, wherein calculating each of the first plurality of convergence plans includes calculating a drift of the drill bit based on the drilling operation information.

11. The method of claim 9, wherein the set of financial cost parameters includes a financial cost parameter range and a time parameter range, and wherein calculating each of the first and second plurality of convergence plans includes identifying an optimal value of financial cost versus time.

12. The method of claim 11, wherein one of the financial cost and the time is weighted more heavily than the other.

13. The method of claim 1 1, wherein the optimal value has an upper bound defined by a maximum convergence delay.

14. The method of claim 13, wherein the optimal value has a lower bound defined by a most aggressive possible correction.

15. The method of claim 14, wherein the most aggressive possible correction is limited by a maximum radius of curvature possible in a path to realign the drill bit with the planned path defined by one of the first or second solution vectors representing the most aggressive correction.

16. The method of claim 9, wherein the set of target parameters includes a maximum radius of curvature possible in a path defined by a solution vector.

17. The method of claim 9, wherein the set of target parameters includes a financial cost bounded by the set of financial cost parameters, and a reliability cost bounded by the set of reliability parameters.

18. The method of claim 9, wherein calculating the second plurality of convergence plans includes calculating a delay that defines a period of time during which the drill bit is allowed to continue along the current trajectory from the estimated position prior to the trajectory being altered by the convergence plan.

19. The method of claim 9, wherein calculating the second plurality of convergence plans includes calculating a delay that defines a period of time during which the drill bit is allowed to continue along a straight line path after the trajectory is altered by the convergence plan.

20. The method of claim 9, wherein the one or more rotary steering components include a rotary steering pad.

21. The method of claim 9, wherein the one or more rotary steering components include a main shaft configured to bend in a plurality of directions.

22. The method of claim 9, wherein the rotary steerable system is located within a bottom hole assembly coupled to the drilling rig.

23. A method for drilling a borehole comprising:

receiving, by a rotary steerable system, feedback information from a drilling rig engaged in using a drill bit to drill a borehole in a formation;

calculating, by the rotary steerable system, an estimated position of the drill bit in the formation based on the feedback information;

comparing, by the rotary steerable system, the estimated position of the drill bit to a desired position of the drill bit along a planned path of the borehole;

calculating, by the rotary steerable system, a plurality of solutions if the comparison indicates that the estimated position is outside a defined margin of error relative to the desired position, wherein each of the plurality of solutions defines a path from the estimated position to the planned path; calculating, by the rotary steerable system, a cost of each of the plurality of solutions;

selecting, by the rotary steerable system, a first solution from the plurality of solutions based at least partly on the cost of the first solution;

producing, by the rotary steerable system, control information representing the first solution;

outputting, by the rotary steerable system, the control information for the drilling rig;

transmitting, by the rotary steerable system, one or more commands to one or more rotary steering components to actuate the one or more rotary steering components, in order to alter the planned path for the borehole in accordance with the control information; and

drilling, by the drilling rig, at least a portion of the borehole based on the control information.

24. The method of claim 23, wherein calculating the cost of each of the plurality of solutions includes identifying a plurality of cost elements applicable to each solution, and applying a weight factor to at least one of the cost elements.

25. The method of claim 24, wherein selecting the first solution includes identifying the cost of the first solution as a minimum of the costs of the plurality of solutions.

26. The method of claim 24, wherein one of the plurality of cost elements is time and another of the plurality of cost elements is a financial cost.

27. The method of claim 23, further comprising calculating, by the rotary steerable system, a second plurality of solutions if the comparison indicates that the estimated position is outside a defined margin of error relative to the desired position, wherein each of the plurality of solutions defines a path from a projected position to the planned path, and wherein each projected position is determined by extending a current trajectory of the bit from the estimated position.

28. The method of claim 23, wherein the one or more rotary steering components include a rotary steering pad.

29. The method of claim 23, wherein the one or more rotary steering components include a main shaft configured to bend in a plurality of directions.

30. The method of claim 23, wherein the rotary steerable system is located within a bottom hole assembly coupled to the drilling rig.

Description:
IN THE UNITED STATES PATENT AND TRADEMARK OFFICE

SURFACE STEERABLE DRILLING SYSTEM FOR USE WITH ROTARY STEERABLE SYSTEM

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a Patent Cooperation Treaty Application of U.S. Patent Application Serial No. 14/874, 169, filed October 2, 2015, and entitled SURFACE STEERABLE DRILLING SYSTEM FOR USE WITH ROTARY STEERABLE SYSTEM

(Atty. Dkt. No. HADT-32820), which is a continuation-in-part of U.S. Patent Application No. 14/314,697, filed June 25, 2014, entitled SYSTEM AND METHOD FOR SURFACE STEERABLE DRILLING (Atty. Dkt. No. HADT-32218), and claims benefit of U.S. Provisional Application No. 62/058,950, filed October 2, 2014, entitled SURFACE STEERABLE DRILLING SYSTEM FOR USE WITH ROTARY STEERABLE SYSTEM

(Atty. Dkt. No. HADT-32365), the specifications of which are incorporated by reference herein in their entirety.

TECHNICAL FIELD [0002] This application is directed to the creation of wells, such as oil wells, and more particularly to the planning and drilling of such wells.

BACKGROUND

[0003] Drilling a borehole for the extraction of minerals has become an increasingly complicated operation due to the increased depth and complexity of many boreholes, including the complexity added by directional drilling. Drilling is an expensive operation and errors in drilling add to the cost and, in some cases, drilling errors may permanently lower the output of a well for years into the future. Current technologies and methods do not adequately address the complicated nature of drilling. Accordingly, what is needed are a system and method to improve drilling operations and minimize drilling errors.

[0004] For a more complete understanding, reference is now made to the following description taken in conjunction with the accompanying drawings in which:

[0005] Fig. 1A illustrates one embodiment of a drilling environment in which a surface steerable system may operate; [0006] Fig. IB illustrates one embodiment of a more detailed portion of the drilling environment of Fig. 1A;

[0007] Fig. 1C illustrates one embodiment of a more detailed portion of the drilling environment of Fig. IB;

[0008] Fig. 2A illustrates one embodiment of the surface steerable system of Fig. 1A and how information may flow to and from the system;

[0009] Fig. 2B illustrates one embodiment of a display that may be used with the surface steerable system of Fig. 2A;

[0010] Fig. 3 illustrates one embodiment of a drilling environment that does not have the benefit of the surface steerable system of Fig. 2A and possible communication channels within the environment;

[0011] Fig. 4 illustrates one embodiment of a drilling environment that has the benefit of the surface steerable system of Fig. 2A and possible communication channels within the environment;

[0012] Fig. 5 illustrates one embodiment of data flow that may be supported by the surface steerable system of Fig. 2A;

[0013] Fig. 6 illustrates one embodiment of a method that may be executed by the surface steerable system of Fig. 2A;

[0014] Fig. 7A illustrates a more detailed embodiment of the method of Fig. 6;

[0015] Fig. 7B illustrates a more detailed embodiment of the method of Fig. 6; [0016] Fig. 7C illustrates one embodiment of a convergence plan diagram with multiple convergence paths;

[0017] Fig. 8A illustrates a more detailed embodiment of a portion of the method of Fig. 7B;

[0018] Fig. 8B illustrates a more detailed embodiment of a portion of the method of Fig. 6;

[0019] Fig. 8C illustrates a more detailed embodiment of a portion of the method of Fig. 6;

[0020] Fig. 8D illustrates a more detailed embodiment of a portion of the method of Fig. 6;

[0021] Fig. 9 illustrates one embodiment of a system architecture that may be used for the surface steerable system of Fig. 2A;

[0022] Fig. 10 illustrates one embodiment of a more detailed portion of the system architecture of Fig. 9;

[0023] Fig. 11 illustrates one embodiment of a guidance control loop that may be used within the system architecture of Fig. 9;

[0024] Fig. 12 illustrates one embodiment of an autonomous control loop that may be used within the system architecture of Fig. 9;

[0025] Fig. 13 illustrates one embodiment of a computer system that may be used within the surface steerable system of Fig. 2A;

[0026] Fig. 14 illustrates the use of a surface steerable system with a rotary steerable system; and

[0027] FIG. 15 illustrates one embodiment of a rotary steerable drilling rig. DETAILED DESCRIPTION

[0028] Referring now to the drawings, wherein like reference numbers are used herein to designate like elements throughout, the various views and embodiments of a system and method for surface steerable drilling are illustrated and described, and other possible embodiments are described. The figures are not necessarily drawn to scale, and in some instances the drawings have been exaggerated and/or simplified in places for illustrative purposes only. One of ordinary skill in the art will appreciate the many possible applications and variations based on the following examples of possible embodiments.

[0029] Referring to Fig. 1A, one embodiment of an environment 100 is illustrated with multiple wells 102, 104, 106, 108, and a drilling rig 110. In the present example, the wells 102 and 104 are located in a region 112, the well 106 is located in a region 1 14, the well 108 is located in a region 1 16, and the drilling rig 1 10 is located in a region 118. Each region 112, 114, 1 16, and 118 may represent a geographic area having similar geological formation characteristics. For example, region 112 may include particular formation characteristics identified by rock type, porosity, thickness, and other geological information. These formation characteristics affect drilling of the wells 102 and 104. Region 1 14 may have formation characteristics that are different enough to be classified as a different region for drilling purposes, and the different formation characteristics affect the drilling of the well 106. Likewise, formation characteristics in the regions 116 and 1 18 affect the well 108 and drilling rig 1 10, respectively.

[0030] It is understood the regions 112, 1 14, 116, and 118 may vary in size and shape depending on the characteristics by which they are identified. Furthermore, the regions 112, 114, 116, and 1 18 may be sub-regions of a larger region. Accordingly, the criteria by which the regions 1 12, 114, 1 16, and 118 are identified is less important for purposes of the present disclosure than the understanding that each region 112, 1 14, 116, and 1 18 includes geological characteristics that can be used to distinguish each region from the other regions from a drilling perspective. Such characteristics may be relatively major (e.g., the presence or absence of an entire rock layer in a given region) or may be relatively minor (e.g., variations in the thickness of a rock layer that extends through multiple regions). [0031] Accordingly, drilling a well located in the same region as other wells, such as drilling a new well in the region 1 12 with already existing wells 102 and 104, means the drilling process is likely to face similar drilling issues as those faced when drilling the existing wells in the same region. For similar reasons, a drilling process performed in one region is likely to face issues different from a drilling process performed in another region. However, even the drilling processes that created the wells 102 and 104 may face different issues during actual drilling as variations in the formation are likely to occur even in a single region.

[0032] Drilling a well typically involves a substantial amount of human decision making during the drilling process. For example, geologists and drilling engineers use their knowledge, experience, and the available information to make decisions on how to plan the drilling operation, how to accomplish the plan, and how to handle issues that arise during drilling. However, even the best geologists and drilling engineers perform some guesswork due to the unique nature of each borehole. Furthermore, a directional driller directly responsible for the drilling may have drilled other boreholes in the same region and so may have some similar experience, but it is impossible for a human to mentally track all the possible inputs and factor those inputs into a decision. This can result in expensive mistakes, as errors in drilling can add hundreds of thousands or even millions of dollars to the drilling cost and, in some cases, drilling errors may permanently lower the output of a well, resulting in substantial long term losses.

[0033] In the present example, to aid in the drilling process, each well 102, 104, 106, and 108 has corresponding collected data 120, 122, 124, and 126, respectively. The collected data may include the geological characteristics of a particular formation in which the corresponding well was formed, the attributes of a particular drilling rig, including the bottom hole assembly (BHA), and drilling information such as weight-on-bit (WOB), drilling speed, and/or other information pertinent to the formation of that particular borehole. The drilling information may be associated with a particular depth or other identifiable marker so that, for example, it is recorded that drilling of the well 102 from 1000 feet to 1200 feet occurred at a first ROP through a first rock layer with a first WOB, while drilling from 1200 feet to 1500 feet occurred at a second ROP through a second rock layer with a second WOB. The collected data may be used to recreate the drilling process used to create the corresponding well 102, 104, 106, or 108 in the particular formation. It is understood that the accuracy with which the drilling process can be recreated depends on the level of detail and accuracy of the collected data.

[0034] The collected data 120, 122, 124, and 126 may be stored in a centralized database 128 as indicated by lines 130, 132, 134, and 136, respectively, which may represent any wired and/or wireless communication channel(s). The database 128 may be located at a drilling hub (not shown) or elsewhere. Alternatively, the data may be stored on a removable storage medium that is later coupled to the database 128 in order to store the data. The collected data 120, 122, 124, and 126 may be stored in the database 128 as formation data 138, equipment data 140, and drilling data 142 for example. Formation data 138 may include any formation information, such as rock type, layer thickness, layer location (e.g., depth), porosity, gamma readings, etc. Equipment data 140 may include any equipment information, such as drilling rig configuration (e.g., rotary table or top drive), bit type, mud composition, etc. Drilling data 142 may include any drilling information, such as drilling speed, WOB, differential pressure, toolface orientation, etc. The collected data may also be identified by well, region, and other criteria, and may be sortable to enable the data to be searched and analyzed. It is understood that many different storage mechanisms may be used to store the collected data in the database 128.

[0035] With additional reference to Fig. IB, an environment 160 (not to scale) illustrates a more detailed embodiment of a portion of the region 1 18 with the drilling rig 1 10 located at the surface 162. A drilling plan has been formulated to drill a borehole 164 extending into the ground to a true vertical depth (TVD) 166. The borehole 164 extends through strata layers 168 and 170, stopping in layer 172, and not reaching underlying layers 174 and 176. The borehole 164 may be directed to a target area 180 positioned in the layer 172. The target 180 may be a subsurface point or points defined by coordinates or other markers that indicate where the borehole 164 is to end or may simply define a depth range within which the borehole 164 is to remain (e.g., the layer 172 itself). It is understood that the target 180 may be any shape and size, and may be defined in any way. Accordingly, the target 180 may represent an endpoint of the borehole 164 or may extend as far as can be realistically drilled. For example, if the drilling includes a horizontal component and the goal is to follow the layer 172 as far as possible, the target may simply be the layer 172 itself and drilling may continue until a limit is reached, such as a property boundary or a physical limitation to the length of the drillstring. A fault 178 has shifted a portion of each layer downwards. Accordingly, the borehole 164 is located in non-shifted layer portions 168A-176A, while portions 168B-176B represent the shifted layer portions.

[0036] Current drilling techniques frequently involve directional drilling to reach a target, such as the target 180. The use of directional drilling generally increases the amount of reserves that can be obtained and also increases production rate, sometimes significantly. For example, the directional drilling used to provide the horizontal portion shown in Fig. IB increases the length of the borehole in the layer 172, which is the target layer in the present example. Directional drilling may also be used alter the angle of the borehole to address faults, such as the fault 178 that has shifted the layer portion 172B. Other uses for directional drilling include sidetracking off of an existing well to reach a different target area or a missed target area, drilling around abandoned drilling equipment, drilling into otherwise inaccessible or difficult to reach locations (e.g., under populated areas or bodies of water), providing a relief well for an existing well, and increasing the capacity of a well by branching off and having multiple boreholes extending in different directions or at different vertical positions for the same well. Directional drilling is often not confined to a straight horizontal borehole, but may involve staying within a rock layer that varies in depth and thickness as illustrated by the layer 172. As such, directional drilling may involve multiple vertical adjustments that complicate the path of the borehole.

[0037] With additional reference to Fig. 1C, which illustrates one embodiment of a portion of the borehole 164 of Fig. IB, the drilling of horizontal wells clearly introduces significant challenges to drilling that do not exist in vertical wells. For example, a substantially horizontal portion 192 of the well may be started off of a vertical borehole 190 and one drilling consideration is the transition from the vertical portion of the well to the horizontal portion. This transition is generally a curve that defines a build up section 194 beginning at the vertical portion (called the kick off point and represented by line 196) and ending at the horizontal portion (represented by line 198). The change in inclination per measured length drilled is typically referred to as the build rate and is often defined in degrees per one hundred feet drilled. For example, the build rate may be 6°/100ft, indicating that there is a six degree change in inclination for every one hundred feet drilled. The build rate for a particular build up section may remain relatively constant or may vary. [0038] The build rate depends on factors such as the formation through which the borehole 164 is to be drilled, the trajectory of the borehole 164, the particular pipe and drill collars/BHA components used (e.g., length, diameter, flexibility, strength, mud motor bend setting, and drill bit), the mud type and flow rate, the required horizontal displacement, stabilization, and inclination. An overly aggressive built rate can cause problems such as severe doglegs (e.g., sharp changes in direction in the borehole) that may make it difficult or impossible to run casing or perform other needed tasks in the borehole 164. Depending on the severity of the mistake, the borehole 164 may require enlarging or the bit may need to be backed out and a new passage formed. Such mistakes cost time and money. However, if the build rate is too cautious, significant additional time may be added to the drilling process as it is generally slower to drill a curve than to drill straight. Furthermore, drilling a curve is more complicated and the possibility of drilling errors increases (e.g., overshoot and undershoot that may occur trying to keep the bit on the planned path).

[0039] Two modes of drilling, known as rotating and sliding, are commonly used to form the borehole 164. Rotating, also called rotary drilling, uses a topdrive or rotary table to rotate the drillstring. Rotating is typically used when drilling is to occur along a straight path. However, directional drilling can also be accomplished with rotary steerable drilling, as described hereinbelow. Sliding, also called steering, uses a downhole mud motor with an adjustable bent housing and does not rotate the drillstring. Instead, sliding uses hydraulic power to drive the downhole motor and bit. Sliding is used in order to control well direction.

[0040] To accomplish a slide, the rotation of the drill string is stopped. Based on feedback from measuring equipment such as a MWD tool, adjustments are made to the drill string. These adjustments continue until the downhole toolface that indicates the direction of the bend of the motor is oriented to the direction of the desired deviation of the borehole. Once the desired orientation is accomplished, pressure is applied to the drill bit, which causes the drill bit to move in the direction of deviation. Once sufficient distance and angle have been built, a transition back to rotating mode is accomplished by rotating the drill string. This rotation of the drill string neutralizes the directional deviation caused by the bend in the motor as it continuously rotates around the centerline of the borehole. [0041] Referring again to Fig. 1A, the formulation of a drilling plan for the drilling rig 1 10 may include processing and analyzing the collected data in the database 128 to create a more effective drilling plan. Furthermore, once the drilling has begun, the collected data may be used in conjunction with current data from the drilling rig 110 to improve drilling decisions. Accordingly, an on-site controller 144 is coupled to the drilling rig 1 10 and may also be coupled to the database 128 via one or more wired and/or wireless communication channel(s) 146. Other inputs 148 may also be provided to the on-site controller 144. In some embodiments, the on-site controller 144 may operate as a stand-alone device with the drilling rig 1 10. For example, the on-site controller 144 may not be communicatively coupled to the database 128. Although shown as being positioned near or at the drilling rig 1 10 in the present example, it is understood that some or all components of the on-site controller 144 may be distributed and located elsewhere in other embodiments.

[0042] The on-site controller 144 may form all or part of a surface steerable system. The database 128 may also form part of the surface steerable system. As will be described in greater detail below, the surface steerable system may be used to plan and control drilling operations based on input information, including feedback from the drilling process itself. The surface steerable system may be used to perform such operations as receiving drilling data representing a drill path and other drilling parameters, calculating a drilling solution for the drill path based on the received data and other available data (e.g., rig characteristics), implementing the drilling solution at the drilling rig 1 10, monitoring the drilling process to gauge whether the drilling process is within a defined margin of error of the drill path, and/or calculating corrections for the drilling process if the drilling process is outside of the margin of error.

[0043] Referring to Fig. 2A, a diagram 200 illustrates one embodiment of information flow for a surface steerable system 201 from the perspective of the on-site controller 144 of Fig. 1A. The surface steerable system 201 may be used in directional drilling operations employing either rotary steerable drilling or slide drilling. In the present example, the drilling rig 1 10 of Fig. 1A includes drilling equipment 216 used to perform the drilling of a borehole, such as top drive or rotary drive equipment that couples to the drill string and BHA and is configured to rotate the drill string and apply pressure to the drill bit. The drilling rig 1 10 may include control systems such as a WOB/differential pressure control system 208, a positional/rotary control system 210, and a fluid circulation control system 212. The control systems 208, 210, and 212 may be used to monitor and change drilling rig settings, such as the WOB and/or differential pressure to alter the ROP or the radial orientation of the toolface, change the flow rate of drilling mud, and perform other operations.

[0044] The drilling rig 1 10 may also include a sensor system 214 for obtaining sensor data about the drilling operation and the drilling rig 1 10, including the downhole equipment. For example, the sensor system 214 may include measuring while drilling (MWD) and/or logging while drilling (LWD) components for obtaining information, such as toolface and/or formation logging information, that may be saved for later retrieval, transmitted with a delay or in real time using any of various communication means (e.g., wireless, wireline, or mud pulse telemetry), or otherwise transferred to the on-site controller 144. Such information may include information related to hole depth, bit depth, inclination, azimuth, true vertical depth, gamma count, standpipe pressure, mud flow rate, rotary rotations per minute (RPM), bit speed, ROP, WOB, and/or other information. It is understood that all or part of the sensor system 214 may be incorporated into one or more of the control systems 208, 210, and 212, and/or in the drilling equipment 216. As the drilling rig 110 may be configured in many different ways, it is understood that these control systems may be different in some embodiments, and may be combined or further divided into various subsystems.

[0045] The on-site controller 144 receives input information 202. The input information 202 may include information that is pre-loaded, received, and/or updated in real time. The input information 202 may include a well plan, regional formation history, one or more drilling engineer parameters, MWD tool face/inclination information, LWD gamma/resistivity information, economic parameters, reliability parameters, and/or other decision guiding parameters. Some of the inputs, such as the regional formation history, may be available from a drilling hub 216, which may include the database 128 of Fig. 1A and one or more processors (not shown), while other inputs may be accessed or uploaded from other sources. For example, a web interface may be used to interact directly with the on-site controller 144 to upload the well plan and/or drilling engineer parameters. The input information 202 feeds into the on-site controller 144 and, after processing by the on-site controller 144, results in control information 204 that is output to the drilling rig 1 10 (e.g., to the control systems 208, 210, and 212). The drilling rig 110 (e.g., via the systems 208, 210, 212, and 214) provides feedback information 206 to the on-site controller 144. The feedback information 206 then serves as input to the on-site controller 144, enabling the on-site controller 144 to verify that the current control information is producing the desired results or to produce new control information for the drilling rig 1 10.

[0046] The on-site controller 144 also provides output information 203. As will be described later in greater detail, the output information 203 may be stored in the on-site controller 144 and/or sent offsite (e.g., to the database 128). The output information 203 may be used to provide updates to the database 128, as well as provide alerts, request decisions, and convey other data related to the drilling process.

[0047] Referring to Fig. 2B, one embodiment of a display 250 that may be provided by the on-site controller 144 is illustrated. The display 250 provides many different types of information applicable to rotary steerable drilling or slide drilling in an easily accessible format. For example, the display 250 may be a viewing screen (e.g., a monitor) that is coupled to or forms part of the on-site controller 144.

[0048] The display 250 provides visual indicators such as a hole depth indicator 252, a bit depth indicator 254, a GAMMA indicator 256, an inclination indicator 258, an azimuth indicator 260, and a TVD indicator 262. Other indicators may also be provided, including a ROP indicator 264, a mechanical specific energy (MSE) indicator 266, a differential pressure indicator 268, a standpipe pressure indicator 270, a flow rate indicator 272, a rotary RPM indicator 274, a bit speed indicator 276, and a WOB indicator 278.

[0049] Some or all of the indicators 264, 266, 268, 270, 272, 274, 276, and/or 278 may include a marker representing a target value. For purposes of example, markers are set as the following values, but it is understood that any desired target value may be representing. For example, the ROP indicator 264 may include a marker 265 indicating that the target value is fifty ft/hr. The MSE indicator 266 may include a marker 267 indicating that the target value is thirty-seven ksi. The differential pressure indicator 268 may include a marker 269 indicating that the target value is two hundred psi. The ROP indicator 264 may include a marker 265 indicating that the target value is fifty ft/hr. The standpipe pressure indicator 270 may have no marker in the present example. The flow rate indicator 272 may include a marker 273 indicating that the target value is five hundred gpm. The rotary RPM indicator 274 may include a marker 275 indicating that the target value is zero RPM (due to sliding). The bit speed indicator 276 may include a marker 277 indicating that the target value is one hundred and fifty RPM. The WOB indicator 278 may include a marker 279 indicating that the target value is ten klbs. Although only labeled with respect to the indicator 264, each indicator may include a colored band 263 or another marking to indicate, for example, whether the respective gauge value is within a safe range (e.g., indicated by a green color), within a caution range (e.g., indicated by a yellow color), or within a danger range (e.g., indicated by a red color). Although not shown, in some embodiments, multiple markers may be present on a single indicator. The markers may vary in color and/or size.

[0050] A log chart 280 may visually indicate depth versus one or more measurements (e.g., may represent log inputs relative to a progressing depth chart). For example, the log chart 280 may have a y-axis representing depth and an x-axis representing a measurement such as GAMMA count 281 (as shown), ROP 283 (e.g., empirical ROP and normalized ROP), or resistivity. An autopilot button 282 and an oscillate button 284 may be used to control activity. For example, the autopilot button 282 may be used to engage or disengage an autopilot, while the oscillate button 284 may be used to directly control oscillation of the drill string or engage/disengage an external hardware device or controller via software and/or hardware.

[0051] A circular chart 286 may provide current and historical toolface orientation information (e.g., which way the bend is pointed). For purposes of illustration, the circular chart 286 represents three hundred and sixty degrees. A series of circles within the circular chart 286 may represent a timeline of toolface orientations, with the sizes of the circles indicating the temporal position of each circle. For example, larger circles may be more recent than smaller circles, so the largest circle 288 may be the newest reading and the smallest circle 289 may be the oldest reading. In other embodiments, the circles may represent the energy and/or progress made via size, color, shape, a number within a circle, etc. For example, the size of a particular circle may represent an accumulation of orientation and progress for the period of time represented by the circle. In other embodiments, concentric circles representing time (e.g., with the outside of the circular chart 286 being the most recent time and the center point being the oldest time) may be used to indicate the energy and/or progress (e.g., via color and/or patterning such as dashes or dots rather than a solid line). [0052] The circular chart 286 may also be color coded, with the color coding existing in a band 290 around the circular chart 286 or positioned or represented in other ways. The color coding may use colors to indicate activity in a certain direction. For example, the color red may indicate the highest level of activity, while the color blue may indicate the lowest level of activity. Furthermore, the arc range in degrees of a color may indicate the amount of deviation. Accordingly, a relatively narrow (e.g., thirty degrees) arc of red with a relatively broad (e.g., three hundred degrees) arc of blue may indicate that most activity is occurring in a particular toolface orientation with little deviation. For purposes of illustration, the color blue extends from approximately 22-337 degrees, the color green extends from approximately 15-22 degrees and 337-345 degrees, the color yellow extends a few degrees around the 13 and 345 degree marks, and the color red extends from approximately 347-10 degrees. Transition colors or shades may be used with, for example, the color orange marking the transition between red and yellow and/or a light blue marking the transition between blue and green. [0053] This color coding enables the display 250 to provide an intuitive summary of how narrow the standard deviation is and how much of the energy intensity is being expended in the proper direction. Furthermore, the center of energy may be viewed relative to the target. For example, the display 250 may clearly show that the target is at ninety degrees but the center of energy is at forty- five degrees. [0054] Other indicators may be present, such as a slide indicator 292 to indicate how much time remains until a slide occurs and/or how much time remains for a current slide. For example, the slide indicator may represent a time, a percentage (e.g., current slide is fifty-six percent complete), a distance completed, and/or a distance remaining. The slide indicator 292 may graphically display information using, for example, a colored bar 293 that increases or decreases with the slide's progress. In some embodiments, the slide indicator may be built into the circular chart 286 (e.g., around the outer edge with an increasing/decreasing band), while in other embodiments the slide indicator may be a separate indicator such as a meter, a bar, a gauge, or another indicator type.

[0055] In another embodiment, the slide indicator 292 is not an indicator that slide drilling is being utilized to accomplish the directional drilling operation. Rather, the drilling rig might be set up to undertake directional drilling operations employing rotary steerable drilling. In such an embodiment, the slide indicator 292 would still function in a similar manner, i.e., to detail the time remaining until a directional change occurs and/or how much time remains for a direction currently being drilled. The slide indicator 292 could also indicate a vector direction for the drilling direction change and a force vector indicating the amount of force to be applied in the vector direction. Thus, the slide indicator 292 may represent a time, a percentage, a distance completed, and/or distance remaining for a particular drilling direction. For example, if the slide indicator 292 displays a percentage, and the percentage is intended in the particular embodiment to display the percent complete for the current drilling direction, once the percentage reaches 100% there may then occur a directional change performed by the rotary steerable system wherein the direction of the current drilling operation is altered according to methods specific to rotary steerable drilling operations, as described hereinbelow. Additionally, the slide indicator 292 may display a different tag for the parameter other than that of "slide" as shown in FIG. 2B, such as "directional" or other tags. [0056] An error indicator 294 may be present to indicate a magnitude and/or a direction of error. For example, the error indicator 294 may indicate that the estimated drill bit position is a certain distance from the planned path, with a location of the error indicator 294 around the circular chart 286 representing the heading. For example, Fig. 2B illustrates an error magnitude of fifteen feet and an error direction of fifteen degrees. The error indicator 294 may be any color but is red for purposes of example. It is understood that the error indicator 294 may present a zero if there is no error and/or may represent that the bit is on the path in other ways, such as being a green color. Transition colors, such as yellow, may be used to indicate varying amounts of error. In some embodiments, the error indicator 294 may not appear unless there is an error in magnitude and/or direction. A marker 296 may indicate an ideal slide direction. Although not shown, other indicators may be present, such as a bit life indicator to indicate an estimated lifetime for the current bit based on a value such as time and/or distance.

[0057] It is understood that the display 250 may be arranged in many different ways. For example, colors may be used to indicate normal operation, warnings, and problems. In such cases, the numerical indicators may display numbers in one color (e.g., green) for normal operation, may use another color (e.g., yellow) for warnings, and may use yet another color (e.g., red) if a serious problem occurs. The indicators may also flash or otherwise indicate an alert. The gauge indicators may include colors (e.g., green, yellow, and red) to indicate operational conditions and may also indicate the target value (e.g., an ROP of 100 ft/hr). For example, the ROP indicator 264 may have a green bar to indicate a normal level of operation (e.g., from 10-300 ft/hr), a yellow bar to indicate a warning level of operation (e.g., from 300- 360 ft/hr), and a red bar to indicate a dangerous or otherwise out of parameter level of operation (e.g., from 360-390 ft/hr). The ROP indicator 264 may also display a marker at 100 ft/hr to indicate the desired target ROP.

[0058] Furthermore, the use of numeric indicators, gauges, and similar visual display indicators may be varied based on factors such as the information to be conveyed and the personal preference of the viewer. Accordingly, the display 250 may provide a customizable view of various drilling processes and information for a particular individual involved in the drilling process. For example, the surface steerable system 201 may enable a user to customize the display 250 as desired, although certain features (e.g., standpipe pressure) may be locked to prevent removal. This locking may prevent a user from intentionally or accidentally removing important drilling information from the display. Other features may be set by preference. Accordingly, the level of customization and the information shown by the display 250 may be controlled based on who is viewing the display and their role in the drilling process.

[0059] Referring again to Fig. 2A, it is understood that the level of integration between the on-site controller 144 and the drilling rig 110 may depend on such factors as the configuration of the drilling rig 1 10 and whether the on-site controller 144 is able to fully support that configuration. One or more of the control systems 208, 210, and 212 may be part of the on-site controller 144, may be third-party systems, and/or may be part of the drilling rig 110. For example, an older drilling rig 110 may have relatively few interfaces with which the on-site controller 144 is able to interact. For purposes of illustration, if a knob must be physically turned to adjust the WOB on the drilling rig 1 10, the on-site controller 144 will not be able to directly manipulate the knob without a mechanical actuator. If such an actuator is not present, the on-site controller 144 may output the setting for the knob to a screen, and an operator may then turn the knob based on the setting. Alternatively, the on- site controller 144 may be directly coupled to the knob's electrical wiring. [0060] However, a newer or more sophisticated drilling rig 1 10, such as a rig that has electronic control systems, may have interfaces with which the on-site controller 144 can interact for direct control. For example, an electronic control system may have a defined interface and the on-site controller 144 may be configured to interact with that defined interface. It is understood that, in some embodiments, direct control may not be allowed even if possible. For example, the on-site controller 144 may be configured to display the setting on a screen for approval, and may then send the setting to the appropriate control system only when the setting has been approved.

[0061] Referring to Fig. 3, one embodiment of an environment 300 illustrates multiple communication channels (indicated by arrows) that are commonly used in existing directional drilling operations that do not have the benefit of the surface steerable system 201 of Fig. 2 A. The communication channels couple various individuals involved in the drilling process. The communication channels may support telephone calls, emails, text messages, faxes, data transfers (e.g., file transfers over networks), and other types of communications. [0062] The individuals involved in the drilling process may include a drilling engineer 302, a geologist 304, a directional driller 306, a tool pusher 308, a driller 310, and a rig floor crew 312. One or more company representatives (e.g., company men) 314 may also be involved. The individuals may be employed by different organizations, which can further complicate the communication process. For example, the drilling engineer 302, geologist 304, and company man 314 may work for an operator, the directional driller 306 may work for a directional drilling service provider, and the tool pusher 308, driller 310, and rig floor crew 312 may work for a rig service provider.

[0063] The drilling engineer 302 and geologist 304 are often located at a location remote from the drilling rig (e.g., in a home office/drilling hub). The drilling engineer 302 may develop a well plan 318 and may make drilling decisions based on drilling rig information. The geologist 304 may perform such tasks as formation analysis based on seismic, gamma, and other data. The directional driller 306 is generally located at the drilling rig and provides instructions to the driller 310 based on the current well plan and feedback from the drilling engineer 302. The driller 310 handles the actual drilling operations and may rely on the rig floor crew 312 for certain tasks. The tool pusher 308 may be in charge of managing the entire drilling rig and its operation. [0064] The following is one possible example of a communication process within the environment 300, although it is understood that many communication processes may be used. The use of a particular communication process may depend on such factors as the level of control maintained by various groups within the process, how strictly communication channels are enforced, and similar factors. In the present example, the directional driller 306 uses the well plan 318 to provide drilling instructions to the driller 310. The driller 310 controls the drilling using control systems such as the control systems 208, 210, and 212 of Fig. 2A. During drilling, information from sensor equipment such as downhole MWD equipment 316 and/or rig sensors 320 may indicate that a formation layer has been reached twenty feet higher than expected by the geologist 304. This information is passed back to the drilling engineer 302 and/or geologist 304 through the company man 314, and may pass through the directional driller 306 before reaching the company man 314.

[0065] The drilling engineer 302/well planner (not shown), either alone or in conjunction with the geologist 306, may modify the well plan 318 or make other decisions based on the received information. The modified well plan and/or other decisions may or may not be passed through the company man 314 to the directional driller 306, who then tells the driller 310 how to drill. The driller 310 may modify equipment settings (e.g., toolface orientation) and, if needed, pass orders on to the rig floor crew 312. For example, a change in WOB may be performed by the driller 310 changing a setting, while a bit trip may require the involvement of the rig floor crew 312. Accordingly, the level of involvement of different individuals may vary depending on the nature of the decision to be made and the task to be performed. The proceeding example may be more complex than described. Multiple intermediate individuals may be involved and, depending on the communication chain, some instructions may be passed through the tool pusher 308. [0066] The environment 300 presents many opportunities for communication breakdowns as information is passed through the various communication channels, particularly given the varying types of communication that may be used. For example, verbal communications via phone may be misunderstood and, unless recorded, provide no record of what was said. Furthermore, accountability may be difficult or impossible to enforce as someone may provide an authorization but deny it or claim that they meant something else. Without a record of the information passing through the various channels and the authorizations used to approve changes in the drilling process, communication breakdowns can be difficult to trace and address. As many of the communication channels illustrated in Fig. 3 pass information through an individual to other individuals (e.g., an individual may serve as an information conduit between two or more other individuals), the risk of breakdown increases due to the possibility that errors may be introduced in the information. [0067] Even if everyone involved does their part, drilling mistakes may be amplified while waiting for an answer. For example, a message may be sent to the geologist 306 that a formation layer seems to be higher than expected, but the geologist 306 may be asleep. Drilling may continue while waiting for the geologist 306 and the continued drilling may amplify the error. Such errors can cost hundreds of thousands or millions of dollars. However, the environment 300 provides no way to determine if the geologist 304 has received the message and no way to easily notify the geologist 304 or to contact someone else when there is no response within a defined period of time. Even if alternate contacts are available, such communications may be cumbersome and there may be difficulty in providing all the information that the alternate would need for a decision. [0068] Referring to Fig. 4, one embodiment of an environment 400 illustrates communication channels that may exist in a directional drilling operation having the benefit of the surface steerable system 201 of Fig. 2A. In the present example, the surface steerable system 201 includes the drilling hub 216, which includes the regional database 128 of Fig. 1A and processing unit(s) 404 (e.g., computers). The drilling hub 216 also includes communication interfaces (e.g., web portals) 406 that may be accessed by computing devices capable of wireless and/or wireline communications, including desktop computers, laptops, tablets, smart phones, and personal digital assistants (PDAs). The on-site controller 144 includes one or more local databases 410 (where "local" is from the perspective of the on-site controller 144) and processing unit(s) 412. [0069] The drilling hub 216 is remote from the on-site controller 144, and various individuals associated with the drilling operation interact either through the drilling hub 216 or through the on-site controller 144. In some embodiments, an individual may access the drilling project through both the drilling hub 216 and on-site controller 144. For example, the directional driller 306 may use the drilling hub 216 when not at the drilling site and may use the on-site controller 144 when at the drilling site. [0070] The drilling engineer 302 and geologist 304 may access the surface steerable system 201 remotely via the portal 406 and set various parameters such as rig limit controls. Other actions may also be supported, such as granting approval to a request by the directional driller 306 to deviate from the well plan and evaluating the performance of the drilling operation. The directional driller 306 may be located either at the drilling rig 110 or off-site. Being off-site (e.g., at the drilling hub 216 or elsewhere) enables a single directional driller to monitor multiple drilling rigs. When off-site, the directional driller 306 may access the surface steerable system 201 via the portal 406. When on-site, the directional driller 306 may access the surface steerable system via the on-site controller 144. [0071] The driller 310 may get instructions via the on-site controller 144, thereby lessening the possibly of miscommunication and ensuring that the instructions were received. Although the tool pusher 308, rig floor crew 312, and company man 314 are shown communicating via the driller 310, it is understood that they may also have access to the on- site controller 144. Other individuals, such as a MWD hand 408, may access the surface steerable system 201 via the drilling hub 216, the on-site controller 144, and/or an individual such as the driller 310.

[0072] As illustrated in Fig. 4, many of the individuals involved in a drilling operation may interact through the surface steerable system 201. This enables information to be tracked as it is handled by the various individuals involved in a particular decision. For example, the surface steerable system 201 may track which individual submitted information (or whether information was submitted automatically), who viewed the information, who made decisions, when such events occurred, and similar information-based issues. This provides a complete record of how particular information propagated through the surface steerable system 201 and resulted in a particular drilling decision. This also provides revision tracking as changes in the well plan occur, which in turn enables entire decision chains to be reviewed. Such reviews may lead to improved decision making processes and more efficient responses to problems as they occur.

[0073] In some embodiments, documentation produced using the surface steerable system 201 may be synchronized and/or merged with other documentation, such as that produced by third party systems such as the WellView product produced by Peloton Computer Enterprises Ltd. of Calgary, Canada. In such embodiments, the documents, database files, and other information produced by the surface steerable system 201 is synchronized to avoid such issues as redundancy, mismatched file versions, and other complications that may occur in projects where large numbers of documents are produced, edited, and transmitted by a relatively large number of people. [0074] The surface steerable system 201 may also impose mandatory information formats and other constraints to ensure that predefined criteria are met. For example, an electronic form provided by the surface steerable system 201 in response to a request for authorization may require that some fields are filled out prior to submission. This ensures that the decision maker has the relevant information prior to making the decision. If the information for a required field is not available, the surface steerable system 201 may require an explanation to be entered for why the information is not available (e.g., sensor failure). Accordingly, a level of uniformity may be imposed by the surface steerable system 201, while exceptions may be defined to enable the surface steerable system 201 to handle various scenarios.

[0075] The surface steerable system 201 may also send alerts (e.g., email or text alerts) to notify one or more individuals of a particular problem, and the recipient list may be customized based on the problem. Furthermore, contact information may be time-based, so the surface steerable system 201 may know when a particular individual is available. In such situations, the surface steerable system 201 may automatically attempt to communicate with an available contact rather than waiting for a response from a contact that is likely not available.

[0076] As described previously, the surface steerable system 201 may present a customizable display of various drilling processes and information for a particular individual involved in the drilling process. For example, the drilling engineer 302 may see a display that presents information relevant to the drilling engineer's tasks, and the geologist 304 may see a different display that includes additional and/or more detailed formation information. This customization enables each individual to receive information needed for their particular role in the drilling process while minimizing or eliminating unnecessary information.

[0077] Referring to Fig. 5, one embodiment of an environment 500 illustrates data flow that may be supported by the surface steerable system 201 of Fig. 2A. The data flow 500 begins at block 502 and may move through two branches, although some blocks in a branch may not occur before other blocks in the other branch. One branch involves the drilling hub 216 and the other branch involves the on-site controller 144 at the drilling rig 1 10.

[0078] In block 504, a geological survey is performed. The survey results are reviewed by the geologist 304 and a formation report 506 is produced. The formation report 506 details formation layers, rock type, layer thickness, layer depth, and similar information that may be used to develop a well plan. In block 508, a well plan is developed by a well planner 524 and/or the drilling engineer 302 based on the formation report and information from the regional database 128 at the drilling hub 216. Block 508 may include selection of a BHA and the setting of control limits. The well plan is stored in the database 128. The drilling engineer 302 may also set drilling operation parameters in step 510 that are also stored in the database 128.

[0079] In the other branch, the drilling rig 110 is constructed in block 512. At this point, as illustrated by block 526, the well plan, BHA information, control limits, historical drilling data, and control commands may be sent from the database 128 to the local database 410. Using the receiving information, the directional driller 306 inputs actual BHA parameters in block 514. The company man 314 and/or the directional driller 306 may verify performance control limits in block 516, and the control limits are stored in the local database 410 of the on-site controller 144. The performance control limits may include multiple levels such as a warning level and a critical level corresponding to no action taken within feet/minutes. [0080] Once drilling begins, a diagnostic logger (described later in greater detail) 520 that is part of the on-site controller 144 logs information related to the drilling such as sensor information and maneuvers and stores the information in the local database 410 in block 526. The information is sent to the database 128. Alerts are also sent from the on-site controller 144 to the drilling hub 216. When an alert is received by the drilling hub 216, an alert notification 522 is sent to defined individuals, such as the drilling engineer 302, geologist 304, and company man 314. The actual recipient may vary based on the content of the alert message or other criteria. The alert notification 522 may result in the well plan and the BHA information and control limits being modified in block 508 and parameters being modified in block 510. These modifications are saved to the database 128 and transferred to the local database 410. The BHA may be modified by the directional driller 306 in block 518, and the changes propagated through blocks 514 and 516 with possible updated control limits. Accordingly, the surface steerable system 201 may provide a more controlled flow of information than may occur in an environment without such a system.

[0081] The flow charts described herein illustrate various exemplary functions and operations that may occur within various environments. Accordingly, these flow charts are not exhaustive and that various steps may be excluded to clarify the aspect being described. For example, it is understood that some actions, such as network authentication processes, notifications, and handshakes, may have been performed prior to the first step of a flow chart. Such actions may depend on the particular type and configuration of communications engaged in by the on-site controller 144 and/or drilling hub 216. Furthermore, other communication actions may occur between illustrated steps or simultaneously with illustrated steps.

[0082] The surface steerable system 201 includes large amounts of data specifically related to various drilling operations as stored in databases such as the databases 128 and 410. As described with respect to Fig. 1A, this data may include data collected from many different locations and may correspond to many different drilling operations. The data stored in the database 128 and other databases may be used for a variety of purposes, including data mining and analytics, which may aid in such processes as equipment comparisons, drilling plan formulation, convergence planning, recalibration forecasting, and self-tuning (e.g., drilling performance optimization). Some processes, such as equipment comparisons, may not be performed in real time using incoming data, while others, such as self-tuning, may be performed in real time or near real time. Accordingly, some processes may be executed at the drilling hub 216, other processes may be executed at the on-site controller 144, and still other processes may be executed by both the drilling hub 216 and the on-site controller 144 with communications occurring before, during, and/or after the processes are executed. As described below in various examples, some processes may be triggered by events (e.g., recalibration forecasting) while others may be ongoing (e.g., self-tuning).

[0083] For example, in equipment comparison, data from different drilling operations (e.g., from drilling the wells 102, 104, 106, and 108) may be normalized and used to compare equipment wear, performance, and similar factors. For example, the same bit may have been used to drill the wells 102 and 106, but the drilling may have been accomplished using different parameters (e.g., rotation speed and WOB). By normalizing the data, the two bits can be compared more effectively. The normalized data may be further processed to improve drilling efficiency by identifying which bits are most effective for particular rock layers, which drilling parameters resulted in the best ROP for a particular formation, ROP versus reliability tradeoffs for various bits in various rock layers, and similar factors. Such comparisons may be used to select a bit for another drilling operation based on formation characteristics or other criteria. Accordingly, by mining and analyzing the data available via the surface steerable system 201, an optimal equipment profile may be developed for different drilling operations. The equipment profile may then be used when planning future wells or to increase the efficiency of a well currently being drilled. This type of drilling optimization may become increasingly accurate as more data is compiled and analyzed.

[0084] In drilling plan formulation, the data available via the surface steerable system 201 may be used to identify likely formation characteristics and to select an appropriate equipment profile. For example, the geologist 304 may use local data obtained from the planned location of the drilling rig 1 10 in conjunction with regional data from the database 128 to identify likely locations of the layers 168A-176A (Fig. IB). Based on that information, the drilling engineer 302 can create a well plan that will include the build curve of Fig. 1C.

[0085] Referring to Fig. 6, a method 600 illustrates one embodiment of an event-based process that may be executed by the on-site controller 144 of Fig. 2A. For example, software instructions needed to execute the method 600 may be stored on a computer readable storage medium of the on-site controller 144 and then executed by the processor 412 that is coupled to the storage medium and is also part of the on-site controller 144.

[0086] In step 602, the on-site controller 144 receives inputs, such as a planned path for a borehole, formation information for the borehole, equipment information for the drilling rig, and a set of cost parameters. The cost parameters may be used to guide decisions made by the on-site controller 144 as will be explained in greater detail below. The inputs may be received in many different ways, including receiving document (e.g., spreadsheet) uploads, accessing a database (e.g., the database 128 of Fig. 1A), and/or receiving manually entered data. [0087] In step 604, the planned path, the formation information, the equipment information, and the set of cost parameters are processed to produce control parameters (e.g., the control information 204 of Fig. 2A) for the drilling rig 110. The control parameters may define the settings for various drilling operations that are to be executed by the drilling rig 110 to form the borehole, such as WOB, flow rate of mud, toolface orientation, and similar settings. In some embodiments, the control parameters may also define particular equipment selections, such as a particular bit. In the present example, step 604 is directed to defining initial control parameters for the drilling rig 1 10 prior to the beginning of drilling, but it is understood that step 604 may be used to define control parameters for the drilling rig 1 10 even after drilling has begun. For example, the on-site controller 144 may be put in place prior to drilling or may be put in place after drilling has commenced, in which case the method 600 may also receive current borehole information in step 602.

[0088] In step 606, the control parameters are output for use by the drilling rig 110. In embodiments where the on-site controller 144 is directly coupled to the drilling rig 110, outputting the control parameters may include sending the control parameters directly to one or more of the control systems of the drilling rig 1 10 (e.g., the control systems 210, 212, and 214). In other embodiments, outputting the control parameters may include displaying the control parameters on a screen, printing the control parameters, and/or copying them to a storage medium (e.g., a Universal Serial Bus (USB) drive) to be transferred manually. [0089] In step 608, feedback information received from the drilling rig 1 10 (e.g., from one or more of the control systems 210, 212, and 214 and/or sensor system 216) is processed. The feedback information may provide the on-site controller 144 with the current state of the borehole (e.g., depth and inclination), the drilling rig equipment, and the drilling process, including an estimated position of the bit in the borehole. The processing may include extracting desired data from the feedback information, normalizing the data, comparing the data to desired or ideal parameters, determining whether the data is within a defined margin of error, and/or any other processing steps needed to make use of the feedback information.

[0090] In step 610, the on-site controller 144 may take action based on the occurrence of one or more defined events. For example, an event may trigger a decision on how to proceed with drilling in the most cost effective manner. Events may be triggered by equipment malfunctions, path differences between the measured borehole and the planned borehole, upcoming maintenance periods, unexpected geological readings, and any other activity or non-activity that may affect drilling the borehole. It is understood that events may also be defined for occurrences that have a less direct impact on drilling, such as actual or predicted labor shortages, actual or potential licensing issues for mineral rights, actual or predicted political issues that may impact drilling, and similar actual or predicted occurrences. Step 610 may also result in no action being taken if, for example, drilling is occurring without any issues and the current control parameters are satisfactory.

[0091] An event may be defined in the received inputs of step 602 or defined later. Events may also be defined on site using the on-site controller 144. For example, if the drilling rig 110 has a particular mechanical issue, one or more events may be defined to monitor that issue in more detail than might ordinarily occur. In some embodiments, an event chain may be implemented where the occurrence of one event triggers the monitoring of another related event. For example, a first event may trigger a notification about a potential problem with a piece of equipment and may also activate monitoring of a second event. In addition to activating the monitoring of the second event, the triggering of the first event may result in the activation of additional oversight that involves, for example, checking the piece of equipment more frequently or at a higher level of detail. If the second event occurs, the equipment may be shut down and an alarm sounded, or other actions may be taken. This enables different levels of monitoring and different levels of responses to be assigned independently if needed.

[0092] Referring to Fig. 7A, a method 700 illustrates a more detailed embodiment of the method 600 of Fig. 6, particularly of step 610. As steps 702, 704, 706, and 708 are similar or identical to steps 602, 604, 606, and 608, respectively, of Fig. 6, they are not described in detail in the present embodiment. In the present example, the action of step 610 of Fig. 6 is based on whether an event has occurred and the action needed if the event has occurred.

[0093] Accordingly, in step 710, a determination is made as to whether an event has occurred based on the inputs of steps 702 and 708. If no event has occurred, the method 700 returns to step 708. If an event has occurred, the method 700 moves to step 712, where calculations are performed based on the information relating to the event and at least one cost parameter. It is understood that additional information may be obtained and/or processed prior to or as part of step 712 if needed. For example, certain information may be used to determine whether an event has occurred, and additional information may then be retrieved and processed to determine the particulars of the event.

[0094] In step 714, new control parameters may be produced based on the calculations of step 712. In step 716, a determination may be made as to whether changes are needed in the current control parameters. For example, the calculations of step 712 may result in a decision that the current control parameters are satisfactory (e.g., the event may not affect the control parameters). If no changes are needed, the method 700 returns to step 708. If changes are needed, the on-site controller 144 outputs the new parameters in step 718. The method 700 may then return to step 708. In some embodiments, the determination of step 716 may occur before step 714. In such embodiments, step 714 may not be executed if the current control parameters are satisfactory.

[0095] In a more detailed example of the method 700, assume that the on-site controller 144 is involved in drilling a borehole and that approximately six hundred feet remain to be drilled. An event has been defined that warns the on-site controller 144 when the drill bit is predicted to reach a minimum level of efficiency due to wear and this event is triggered in step 710 at the six hundred foot mark. The event may be triggered because the drill bit is within a certain number of revolutions before reaching the minimum level of efficiency, within a certain distance remaining (based on strata type, thickness, etc.) that can be drilled before reaching the minimum level of efficiency, or may be based on some other factor or factors. Although the event of the current example is triggered prior to the predicted minimum level of efficiency being reached in order to proactively schedule drilling changes if needed, it is understood that the event may be triggered when the minimum level is actually reached.

[0096] The on-site controller 144 may perform calculations in step 712 that account for various factors that may be analyzed to determine how the last six hundred feet is drilled. These factors may include the rock type and thickness of the remaining six hundred feet, the predicted wear of the drill bit based on similar drilling conditions, location of the bit (e.g., depth), how long it will take to change the bit, and a cost versus time analysis. Generally, faster drilling is more cost effective, but there are many tradeoffs. For example, increasing the WOB or differential pressure to increase the rate of penetration may reduce the time it takes to finish the borehole, but may also wear out the drill bit faster, which will decrease the drilling effectiveness and slow the drilling down. If this slowdown occurs too early, it may be less efficient than drilling more slowly. Therefore, there is a tradeoff that must be calculated. Too much WOB or differential pressure may also cause other problems, such as damaging downhole tools. Should one of these problems occur, taking the time to trip the bit or drill a sidetrack may result in more total time to finish the borehole than simply drilling more slowly, so faster may not be better. The tradeoffs may be relatively complex, with many factors to be considered.

[0097] In step 714, the on-site controller 144 produces new control parameters based on the solution calculated in step 712. In step 716, a determination is made as to whether the current parameters should be replaced by the new parameters. For example, the new parameters may be compared to the current parameters. If the two sets of parameters are substantially similar (e.g., as calculated based on a percentage change or margin of error of the current path with a path that would be created using the new control parameters) or identical to the current parameters, no changes would be needed. However, if the new control parameters call for changes greater than the tolerated percentage change or outside of the margin of error, they are output in step 718. For example, the new control parameters may increase the WOB and also include the rate of mud flow significantly enough to override the previous control parameters. In other embodiments, the new control parameters may be output regardless of any differences, in which case step 716 may be omitted. In still other embodiments, the current path and the predicted path may be compared before the new parameters are produced, in which case step 714 may occur after step 716.

[0098] Referring to Fig. 7B and with additional reference to Fig. 7C, a method 720 (Fig. 7B) and diagram 740 (Fig. 7C) illustrate a more detailed embodiment of the method 600 of Fig. 6, particularly of step 610. As steps 722, 724, 726, and 728 are similar or identical to steps 602, 604, 606, and 608, respectively, of Fig. 6, they are not described in detail in the present embodiment. In the present example, the action of step 610 of Fig. 6 is based on whether the drilling has deviated from the planned path.

[0099] In step 730, a comparison may be made to compare the estimated bit position and trajectory with a desired point (e.g., a desired bit position) along the planned path. The estimated bit position may be calculated based on information such as a survey reference point and/or represented as an output calculated by a borehole estimator (as will be described later) and may include a bit projection path and/or point that represents a predicted position of the bit if it continues its current trajectory from the estimated bit position. Such information may be included in the inputs of step 722 and feedback information of step 728 or may be obtained in other ways. It is understood that the estimated bit position and trajectory may not be calculated exactly, but may represent an estimate the current location of the drill bit based on the feedback information. As illustrated in Fig. 7C, the estimated bit position is indicated by arrow 743 relative to the desired bit position 741 along the planned path 742.

[00100] In step 732, a determination may be made as to whether the estimated bit position 743 is within a defined margin of error of the desired bit position. If the estimated bit position is within the margin of error, the method 720 returns to step 728. If the estimated bit position is not within the margin of error, the on-site controller 144 calculates a convergence plan in step 734. With reference to Fig. 7C, for purposes of the present example, the estimated bit position 743 is outside of the margin of error. [00101] In some embodiments, a projected bit position (not shown) may also be used. For example, the estimated bit position 743 may be extended via calculations to determine where the bit is projected to be after a certain amount of drilling (e.g., time and/or distance). This information may be used in several ways. If the estimated bit position 743 is outside the margin of error, the projected bit position 743 may indicate that the current bit path will bring the bit within the margin of error without any action being taken. In such a scenario, action may be taken only if it will take too long to reach the projected bit position when a more optimal path is available. If the estimated bit position is inside the margin of error, the projected bit position may be used to determine if the current path is directing the bit away from the planned path. In other words, the projected bit position may be used to proactively detect that the bit is off course before the margin of error is reached. In such a scenario, action may be taken to correct the current path before the margin of error is reached.

[00102] The convergence plan identifies a plan by which the bit can be moved from the estimated bit position 743 to the planned path 742. It is noted that the convergence plan may bypass the desired bit position 741 entirely, as the objective is to get the actual drilling path back to the planned path 742 in the most optimal manner. The most optimal manner may be defined by cost, which may represent a financial value, a reliability value, a time value, and/or other values that may be defined for a convergence path.

[0100] As illustrated in Fig. 7C, an infinite number of paths may be selected to return the bit to the planned path 742. The paths may begin at the estimated bit position 743 or may begin at other points along a projected path 752 that may be determined by calculating future bit positions based on the current trajectory of the bit from the estimated bit position 752. In the present example, a first path 744 results in locating the bit at a position 745 (e.g., a convergence point). The convergence point 745 is outside of a lower limit 753 defined by a most aggressive possible correction (e.g., a lower limit on a window of correction). This correction represents the most aggressive possible convergence path, which may be limited by such factors as a maximum directional change possible in the convergence path, where any greater directional change creates a dogleg that makes it difficult or impossible to run casing or perform other needed tasks. A second path 746 results in a convergence point 747, which is right at the lower limit 753. A third path 748 results in a convergence point 749, which represents a mid-range convergence point. A third path 750 results in a convergence point 751, which occurs at an upper limit 754 defined by a maximum convergence delay (e.g., an upper limit on the window of correction).

[0101] A fourth path 756 may begin at a projected point or bit position 755 that lies along the projected path 752 and result in a convergence point 757, which represents a mid-range convergence point. The path 756 may be used by, for example, delaying a trajectory change until the bit reaches the position 755. Many additional convergence options may be opened up by using projected points for the basis of convergence plans as well as the estimated bit position.

[0102] A fifth path 758 may begin at a projected point or bit position 760 that lies along the projected path 750 and result in a convergence point 759. In such an embodiment, different convergence paths may include similar or identical path segments, such as the similar or identical path shared by the convergence points 751 and 759 to the point 760. For example, the point 760 may mark a position on the path 750 where a slide segment begins (or continues from a previous slide segment) for the path 758 and a straight line path segment begins (or continues) for the path 750. The surface steerable system 144 may calculate the paths 750 and 758 as two entirely separate paths or may calculate one of the paths as deviating from (e.g., being a child of) the other path. Accordingly, any path may have multiple paths deviating from that path based on, for example, different slide points and slide times.

[0103] Each of these paths 744, 746, 748, 750, 756, and 758 may present advantages and disadvantages from a drilling standpoint. For example, one path may be longer and may require more sliding in a relatively soft rock layer, while another path may be shorter but may require more sliding through a much harder rock layer. Accordingly, tradeoffs may be evaluated when selecting one of the convergence plans rather than simply selecting the most direct path for convergence. The tradeoffs may, for example, consider a balance between ROP, total cost, dogleg severity, and reliability. While the number of convergence plans may vary, there may be hundreds or thousands of convergence plans in some embodiments and the tradeoffs may be used to select one of those hundreds or thousands for implementation. The convergence plans from which the final convergence plan is selected may include plans calculated from the estimated bit position 743 as well as plans calculated from one or more projected points along the projected path.

[0104] In some embodiments, straight line projections of the convergence point vectors, after correction to the well plan 742, may be evaluated to predict the time and/or distance to the next correction requirement. This evaluation may be used when selecting the lowest total cost option by avoiding multiple corrections where a single more forward thinking option might be optimal. As an example, one of the solutions provided by the convergence planning may result in the most cost effective path to return to the well plan 742, but may result in an almost immediate need for a second correction due to a pending deviation within the well plan. Accordingly, a convergence path that merges the pending deviation with the correction by selecting a convergence point beyond the pending deviation might be selected when considering total well costs.

[0105] It is understood that the diagram 740 of Fig. 7C is a two dimensional representation of a three dimensional environment. Accordingly, the illustrated convergence paths in the diagram 740 of Fig. 7C may be three dimensional. In addition, although the illustrated convergence paths all converge with the planned path 742, is it understood that some convergence paths may be calculated that move away from the planned path 742 (although such paths may be rejected). Still other convergence paths may overshoot the actual path 742 and then converge (e.g., if there isn't enough room to build the curve otherwise). Accordingly, many different convergence path structures may be calculated.

[0106] Referring again to Fig. 7B, in step 736, the on-site controller 144 produces revised control parameters based on the convergence plan calculated in step 734. In step 738, the revised control parameters may be output. It is understood that the revised control parameters may be provided to get the drill bit back to the planned path 742 and the original control parameters may then be used from that point on (starting at the convergence point). For example, if the convergence plan selected the path 748, the revised control parameters may be used until the bit reaches position 749. Once the bit reaches the position 749, the original control parameters may be used for further drilling. Alternatively, the revised control parameters may incorporate the original control parameters starting at the position 749 or may re-calculate control parameters for the planned path even beyond the point 749. Accordingly, the convergence plan may result in control parameters from the bit position 743 to the position 749, and further control parameters may be reused or calculated depending on the particular implementation of the on-site controller 144.

[0107] Referring to Fig. 8A, a method 800 illustrates a more detailed embodiment of step 734 of Fig. 7B. It is understood that the convergence plan of step 734 may be calculated in many different ways, and that 800 method provides one possible approach to such a calculation when the goal is to find the lowest cost solution vector. In the present example, cost may include both the financial cost of a solution and the reliability cost of a solution. Other costs, such as time costs, may also be included. For purposes of example, the diagram 740 of Fig. 7C is used.

[0108] In step 802, multiple solution vectors are calculated from the current position 743 to the planned path 742. These solution vectors may include the paths 744, 746, 748, and 750. Additional paths (not shown in Fig. 7C) may also be calculated. The number of solution vectors that are calculated may vary depending on various factors. For example, the distance available to build a needed curve to get back to the planned path 742 may vary depending on the current bit location and orientation relative to the planned path. A greater number of solution vectors may be available when there is a greater distance in which to build a curve than for a smaller distance since the smaller distance may require a much more aggressive build rate that excludes lesser build rates that may be used for the greater distance. In other words, the earlier an error is caught, the more possible solution vectors there will generally be due to the greater distance over which the error can be corrected. While the number of solution vectors that are calculated in this step may vary, there may be hundreds or thousands of solution vectors calculated in some embodiments. [0109] In step 804, any solution vectors that fall outside of defined limits are rejected, such as solution vectors that fall outside the lower limit 753 and the upper limit 754. For example, the path 744 would be rejected because the convergence point 745 falls outside of the lower limit 753. It is understood that the path 744 may be rejected for an engineering reason (e.g., the path would require a dogleg of greater than allowed severity) prior to cost considerations, or the engineering reason may be considered a cost.

[0110] In step 806, a cost is calculated for each remaining solution vector. As illustrated in Fig. 7C, the costs may be represented as a cost matrix (that may or may not be weighted) with each solution vector having corresponding costs in the cost matrix. In step 808, a minimum of the solution vectors may be taken to identify the lowest cost solution vector. It is understood that the minimum cost is one way of selecting the desired solution vector, and that other ways may be used. Accordingly, step 808 is concerned with selecting an optimal solution vector based on a set of target parameters, which may include one or more of a financial cost, a time cost, a reliability cost, and/or any other factors, such as an engineering cost like dogleg severity, that may be used to narrow the set of solution vectors to the optimal solution vector.

[0111] By weighting the costs, the cost matrix can be customized to handle many different cost scenarios and desired results. For example, if time is of primary importance, a time cost may be weighted over financial and reliability costs to ensure that a solution vector that is faster will be selected over other solution vectors that are substantially the same but somewhat slower, even though the other solution vectors may be more beneficial in terms of financial cost and reliability cost. In some embodiments, step 804 may be combined with step 808 and solution vectors falling outside of the limits may be given a cost that ensures they will not be selected. In step 810, the solution vector corresponding to the minimum cost is selected. [0112] Referring to Fig. 8B, a method 820 illustrates one embodiment of an event-based process that may be executed by the on-site controller 144 of Fig. 2A. It is understood that an event may represent many different scenarios in the surface steerable system 201. In the present example, in step 822, an event may occur that indicates that a prediction is not correct based on what has actually occurred. For example, a formation layer is not where it is expected (e.g., too high or low), a selected bit did not drill as expected, or a selected mud motor did not build curve as expected. The prediction error may be identified by comparing expected results with actual results or by using other detection methods.

[0113] In step 824, a reason for the error may be determined as the surface steerable system 201 and its data may provide an environment in which the prediction error can be evaluated. For example, if a bit did not drill as expected, the method 820 may examine many different factors, such as whether the rock formation was different than expected, whether the drilling parameters were correct, whether the drilling parameters were correctly entered by the driller, whether another error and/or failure occurred that caused the bit to drill poorly, and whether the bit simply failed to perform. By accessing and analyzing the available data, the reason for the failure may be determined.

[0114] In step 826, a solution may be determined for the error. For example, if the rock formation was different than expected, the database 128 may be updated with the correct rock information and new drilling parameters may be obtained for the drilling rig 110. Alternatively, the current bit may be tripped and replaced with another bit more suitable for the rock. In step 828, the current drilling predictions (e.g., well plan, build rate, slide estimates) may be updated based on the solution and the solution may be stored in the database 128 for use in future predictions. Accordingly, the method 820 may result in benefits for future wells as well as improving current well predictions. [0115] Referring to Fig. 8C, a method 830 illustrates one embodiment of an event-based process that may be executed by the on-site controller 144 of Fig. 2A. The method 830 is directed to recalibration forecasting that may be triggered by an event, such as an event detected in step 610 of Fig. 6. It is understood that the recalibration described in this embodiment may not be the same as calculating a convergence plan, although calculating a convergence plan may be part of the recalibration. As an example of a recalibration triggering event, a shift in ROP and/or GAMMA readings may indicate that a formation layer (e.g., the layer 170A of Fig. IB) is actually twenty feet higher than planned. This will likely impact the well plan, as build rate predictions and other drilling parameters may need to be changed. Accordingly, in step 832, this event is identified.

[0116] In step 834, a forecast may be made as to the impact of the event. For example, the surface steerable system 201 may determine whether the projected build rate needed to land the curve can be met based on the twenty foot difference. This determination may include examining the current location of the bit, the projected path, and similar information.

[0117] In step 836, modifications may be made based on the forecast. For example, if the projected build rate can be met, then modifications may be made to the drilling parameters to address the formation depth difference, but the modifications may be relatively minor. However, if the projected build rate cannot be met, the surface steerable system 201 may determine how to address the situation by, for example, planning a bit trip to replace the current BHA with a BHA capable of making a new and more aggressive curve.

[0118] Such decisions may be automated or may require input or approval by the drilling engineer 302, geologist 304, or other individuals. For example, depending on the distance to the kick off point, the surface steerable system 201 may first stop drilling and then send an alert to an authorized individual, such as the drilling engineer 302 and/or geologist 304. The drilling engineer 302 and geologist 304 may then become involved in planning a solution or may approve of a solution proposed by the surface steerable system 201. In some embodiments, the surface steerable system 201 may automatically implement its calculated solution. Parameters may be set for such automatic implementation measures to ensure that drastic deviations from the original well plan do not occur automatically while allowing the automatic implementation of more minor measures.

[0119] It is understood that such recalibration forecasts may be performed based on many different factors and may be triggered by many different events. The forecasting portion of the process is directed to anticipating what changes may be needed due to the recalibration and calculating how such changes may be implemented. Such forecasting provides cost advantages because more options may be available when a problem is detected earlier rather than later. Using the previous example, the earlier the difference in the depth of the layer is identified, the more likely it is that the build rate can be met without changing the BHA. [0120] Referring to Fig. 8D, a method 840 illustrates one embodiment of an event-based process that may be executed by the on-site controller 144 of Fig. 2A. The method 840 is directed to self-tuning that may be performed by the on-site controller 144 based on factors such as ROP, total cost, and reliability. By self-tuning, the on-site controller 144 may execute a learning process that enables it to optimize the drilling performance of the drilling rig 1 10. Furthermore, the self-tuning process enables a balance to be reached that provides reliability while also lowering costs. Reliability in drilling operations is often tied to vibration and the problems that vibration can cause, such as stick-slip and whirling. Such vibration issues can damage or destroy equipment and can also result in a very uneven surface in the borehole that can cause other problems such as friction loading of future drilling operations as pipe/casing passes through that area of the borehole. Accordingly, it is desirable to minimize vibration while optimizing performance, since over-correcting for vibration may result in slower drilling than necessary. It is understood that the present optimization may involve a change in any drilling parameter and is not limited to a particular piece of equipment or control system. In other words, parameters across the entire drilling rig 110 and BHA may be changed during the self-tuning process. Furthermore, the optimization process may be applied to production by optimizing well smoothness and other factors affecting production. For example, by minimizing dogleg severity, production may be increased for the lifetime of the well. [0121] Accordingly, in step 842, one or more target parameters are identified. For example, the target parameter may be an MSE of 50 ksi or an ROP of 100 ft/hr that the on- site controller 144 is to establish and maintain. In step 844, a plurality of control parameters are identified for use with the drilling operation. The control parameters are selected to meet the target MSE of 50 ksi or ROP of 100 ft/hr. The drilling operation is started with the control parameters, which may be used until the target MSE or ROP is reached. In step 846, feedback information is received from the drilling operation when the control parameters are being used, so the feedback represents the performance of the drilling operation as controlled by the control parameters. Historical information may also be used in step 846. In step 848, an operational baseline is established based on the feedback information. [0122] In step 850, at least one of the control parameters is changed to modify the drilling operation, although the target MSE or ROP should be maintained. For example, some or all of the control parameters may be associated with a range of values and the value of one or more of the control parameters may be changed. In step 852, more feedback information is received, but this time the feedback reflects the performance of the drilling operation with the changed control parameter. In step 854, a performance impact of the change is determined with respect to the operational baseline. The performance impact may occur in various ways, such as a change in MSE or ROP and/or a change in vibration. In step 856, a determination is made as to whether the control parameters are optimized. If the control parameters are not optimized, the method 840 returns to step 850. If the control parameters are optimized, the method 840 moves to step 858. In step 858, the optimized control parameters are used for the current drilling operation with the target MSE or ROP and stored (e.g., in the database 128) for use in later drilling operations and operational analyses. This may include linking formation information to the control parameters in the regional database 128.

[0123] Referring to Fig. 9, one embodiment of a system architecture 900 is illustrated that may be used for the on-site controller 144 of Fig. 1A. The system architecture 900 includes interfaces configured to interact with external components and internal modules configured to process information. The interfaces may include an input driver 902, a remote synchronization interface 904, and an output interface 918, which may include at least one of a graphical user interface (GUI) 906 and an output driver 908. The internal modules may include a database query and update engine/diagnostic logger 910, a local database 912 (which may be similar or identical to the database 410 of Fig. 4), a guidance control loop (GCL) module 914, and an autonomous control loop (ACL) module 916. It is understood that the system architecture 900 is merely one example of a system architecture that may be used for the on-site controller 144 and the functionality may be provided for the on-site controller 144 using many different architectures. Accordingly, the functionality described herein with respect to particular modules and architecture components may be combined, further separated, and organized in many different ways.

[0124] For instance, the on-site controller 144 may be configured to be placed downhole somewhere along the drill string in order to provide for the functions described hereinabove as part of an embedded downhole system, such as in the embodiment shown in FIG. 15, described hereinbelow. The on-site controller 144 may perform methods such as the methods 600 of Fig. 6, 700 of Fig. 7A, 720 of Fig. 7B, 800 of Fig. 8A, 820 of Fig. 8B, 830 of Fig. 8C, and 840 of Fig. 8D. Thus, the embedded downhole on-site controller 144 would execute downhole instead of at the surface to provide for rapid calculations concerning drilling path adjustments, economic cost analysis, and other calculations included in the methods described hereinabove.

[0125] It is understood that the computer steerable system 144 may perform certain computations to prevent errors or inaccuracies from accumulating and throwing off calculations. For example, as will be described later, the input driver 902 may receive Wellsite Information Transfer Specification (WITS) input representing absolute pressure, while the surface steerable system 144 needs differential pressure and needs an accurate zero point for the differential pressure. Generally, the driller will zero out the differential pressure when the drillstring is positioned with the bit off bottom and full pump flow is occurring. However, this may be a relatively sporadic event. Accordingly, the surface steerable system 144 may recognize when the bit is off bottom and target flow rate has been achieved and zero out the differential pressure.

[0126] Another computation may involve block height, which needs to be calibrated properly. For example, block height may oscillate over a wide range, including distances that may not even be possible for a particular drilling rig. Accordingly, if the reported range is sixty feet to one hundred and fifty feet and there should only be one hundred feet, the surface steerable system 144 may assign a zero value to the reported sixty feet and a one hundred foot value to the reported one hundred and fifty feet. Furthermore, during drilling, error gradually accumulates as the cable is shifted and other events occur. The surface steerable system 144 may compute its own block height to predict when the next connection occurs and other related events, and may also take into account any error that may be introduced by cable issues.

[0127] Referring specifically to Fig. 9, the input driver 902 provides output to the GUI 906, the database query and update engine/diagnostic logger 910, the GCL 914, and the ACL 916. The input driver 902 is configured to receive input for the on-site controller 144. It is understood that the input driver 902 may include the functionality needed to receive various file types, formats, and data streams. The input driver 902 may also be configured to convert formats if needed. Accordingly, the input driver 902 may be configured to provide flexibility to the on-site controller 144 by handling incoming data without the need to change the internal modules. In some embodiments, for purposes of abstraction, the protocol of the data stream can be arbitrary with an input event defined as a single change (e.g., a real time sensor change) of any of the given inputs.

[0128] The input driver 902 may receive various types of input, including rig sensor input (e.g., from the sensor system 214 of Fig. 2A), well plan data, and control data (e.g., engineering control parameters). For example, rig sensor input may include hole depth, bit depth, toolface, inclination, azimuth, true vertical depth, gamma count, standpipe pressure, mud flow rate, rotary RPMs, bit speed, ROP, and WOB. The well plan data may include information such as projected starting and ending locations of various geologic layers at vertical depth points along the well plan path, and a planned path of the borehole presented in a three dimensional space. The control data may be used to define maximum operating parameters and other limitations to control drilling speed, limit the amount of deviation permitted from the planned path, define levels of authority (e.g., can an on-site operator make a particular decision or should it be made by an off-site engineer), and similar limitations. The input driver 902 may also handle manual input, such as input entered via a keyboard, a mouse, or a touch screen. In some embodiments, the input driver 902 may also handle wireless signal input, such as from a cell phone, a smart phone, a PDA, a tablet, a laptop, or any other device capable of wirelessly communicating with the on-site controller 144 through a network locally and/or offsite.

[0129] The database query and update engine/diagnostic logger 910 receives input from the input driver 902, the GCL 914, and ACL 916, and provides output to the local database 912 and GUI 906. The database query and update engine/diagnostic logger 910 is configured to manage the archiving of data to the local database 912. The database query and update engine/diagnostic logger 910 may also manage some functional requirements of a remote synchronization server (RSS) via the remote synchronization interface 904 for archiving data that will be uploaded and synchronized with a remote database, such as the database 128 of Fig. 1A. The database query and update engine/diagnostic logger 910 may also be configured to serve as a diagnostic tool for evaluating algorithm behavior and performance against raw rig data and sensor feedback data.

[0130] The local database 912 receives input from the database query and update engine/diagnostic logger 910 and the remote synchronization interface 904, and provides output to the GCL 914, the ACL 916, and the remote synchronization interface 904. It is understood that the local database 912 may be configured in many different ways. As described in previous embodiments, the local database 912 may store both current and historic information representing both the current drilling operation with which the on-site controller 144 is engaged as well as regional information from the database 128. [0131] The GCL 914 receives input from the input driver 902 and the local database 912, and provides output to the database query and update engine/diagnostic logger 910, the GUI 906, and the ACL 916. Although not shown, in some embodiments, the GCL 906 may provide output to the output driver 908, which enables the GCL 914 to directly control third party systems and/or interface with the drilling rig alone or with the ACL 916. An embodiment of the GCL 914 is discussed below with respect to Fig. 1 1.

[0132] The ACL 916 receives input from the input driver 902, the local database 912, and the GCL 914, and provides output to the database query and update engine/diagnostic logger 910 and output driver 908. An embodiment of the ACL 916 is discussed below with respect to Fig. 12. [0133] The output interface 918 receives input from the input driver 902, the GCL 914, and the ACL 916. In the present example, the GUI 906 receives input from the input driver 902 and the GCL 914. The GUI 906 may display output on a monitor or other visual indicator. The output driver 908 receives input from the ACL 916 and is configured to provide an interface between the on-site controller 144 and external control systems, such as the control systems 208, 210, and 212 of Fig. 2A.

[0134] It is understood that the system architecture 900 of Fig. 9 may be configured in many different ways. For example, various interfaces and modules may be combined or further separated. Accordingly, the system architecture 900 provides one example of how functionality may be structured to provide the on-site controller 144, but the on-site controller 144 is not limited to the illustrated structure of Fig. 9.

[0135] Referring to Fig. 10, one embodiment of the input driver 902 of the system architecture 900 of Fig. 9 is illustrated in greater detail. In the present example, the input driver 902 may be configured to receive input via different input interfaces, such as a serial input driver 1002 and a Transmission Control Protocol (TCP) driver 1004. Both the serial input driver 1002 and the TCP input driver 1004 may feed into a parser 1006.

[0136] The parser 1006 in the present example may be configured in accordance with a specification such as WITS and/or using a standard such as Wellsite Information Transfer Standard Markup Language (WITSML). WITS is a specification for the transfer of drilling rig-related data and uses a binary file format. WITS may be replaced or supplemented in some embodiments by WITSML, which relies on extensible Markup Language (XML) for transferring such information. The parser 1006 may feed into the database query and update engine/diagnostic logger 910, and also to the GCL 914 and GUI 906 as illustrated by the example parameters of block 1010. The input driver 902 may also include a non-WITS input driver 1008 that provides input to the ACL 916 as illustrated by block 1012.

[0137] Referring to Fig. 1 1, one embodiment of the GCL 914 of Fig. 9 is illustrated in greater detail. In the present example, the GCL 914 may include various functional modules, including a build rate predictor 1 102, a geo modified well planner 1104, a borehole estimator 1106, a slide estimator 1108, an error vector calculator 11 10, a geological drift estimator 1112, a slide planner 11 14, a convergence planner 1 116, and a tactical solution planner 11 18. In the following description of the GCL 914, the term external input refers to input received from outside the GCL 914 (e.g., from the input driver 902 of Fig. 9), while internal input refers to input received by a GCL module from another GCL module. [0138] The build rate predictor 1 102 receives external input representing BHA and geological information, receives internal input from the borehole estimator 1106, and provides output to the geo modified well planner 1 104, slide estimator 1108, slide planner 11 14, and convergence planner 1 116. The build rate predictor 1 102 is configured to use the BHA and geological information to predict the drilling build rates of current and future sections of a well. For example, the build rate predictor 1102 may determine how aggressively the curve will be built for a given formation with given BHA and other equipment parameters. In a rotary steerable system, the slide estimator 1108 and the slide planner 1 114 may still be utilized in a similar fashion as that described hereinbelow in order to estimate and plan a directional drilling path. In a rotary steerable system, the slide estimator 1108 and the slide planner 11 14 may be referred to as "direction estimator," "direction planner," or something else that denotes that the components deal with rotary steerable directional drilling, but not slide drilling.

[0139] The build rate predictor 1 102 may use the orientation of the BHA to the formation to determine an angle of attack for formation transitions and build rates within a single layer of a formation. For example, if there is a layer of rock with a layer of sand above it, there is a formation transition from the sand layer to the rock layer. Approaching the rock layer at a ninety degree angle may provide a good face and a clean drill entry, while approaching the rock layer at a forty-five degree angle may build a curve relatively quickly. An angle of approach that is near parallel may cause the bit to skip off the upper surface of the rock layer. Accordingly, the build rate predictor 1 102 may calculate BHA orientation to account for formation transitions. Within a single layer, the build rate predictor 1102 may use BHA orientation to account for internal layer characteristics (e.g., grain) to determine build rates for different parts of a layer.

[0140] The BHA information may include bit characteristics, mud motor bend setting, stabilization and mud motor bit to bend distance. The geological information may include formation data such as compressive strength, thicknesses, and depths for formations encountered in the specific drilling location. Such information enables a calculation-based prediction of the build rates and ROP that may be compared to both real-time results (e.g., obtained while drilling the well) and regional historical results (e.g., from the database 128) to improve the accuracy of predictions as the drilling progresses. Future formation build rate predictions may be used to plan convergence adjustments and confirm that targets can be achieved with current variables in advance.

[0141] The geo modified well planner 1104 receives external input representing a well plan, internal input from the build rate predictor 1102 and the geo drift estimator 1 1 12, and provides output to the slide planner 11 14 and the error vector calculator 1 110. The geo modified well planner 1 104 uses the input to determine whether there is a more optimal path than that provided by the external well plan while staying within the original well plan error limits. More specifically, the geo modified well planner 1 104 takes geological information (e.g., drift) and calculates whether another solution to the target may be more efficient in terms of cost and/or reliability. The outputs of the geo modified well planner 1 104 to the slide planner 1 114 and the error vector calculator 11 10 may be used to calculate an error vector based on the current vector to the newly calculated path and to modify slide predictions.

[0142] In some embodiments, the geo modified well planner 1104 (or another module) may provide functionality needed to track a formation trend. For example, in horizontal wells, the geologist 304 may provide the surface steerable system 144 with a target inclination that the surface steerable system 144 is to attempt to hold. For example, the geologist 304 may provide a target to the directional driller 306 of 90.5-91 degrees of inclination for a section of the well. The geologist 304 may enter this information into the surface steerable system 144 and the directional driller 306 may retrieve the information from the surface steerable system 144. The geo modified well planner 1104 may then treat the target as a vector target, for example, either by processing the information provided by the geologist 304 to create the vector target or by using a vector target entered by the geologist 304. The geo modified well planner 1 104 may accomplish this while remaining within the error limits of the original well plan. [0143] In some embodiments, the geo modified well planner 1104 may be an optional module that is not used unless the well plan is to be modified. For example, if the well plan is marked in the surface steerable system 201 as non-modifiable, the geo modified well planner 1 104 may be bypassed altogether or the geo modified well planner 1 104 may be configured to pass the well plan through without any changes. [0144] The borehole estimator 1 106 receives external inputs representing BHA information, measured depth information, survey information (e.g., azimuth and inclination), and provides outputs to the build rate predictor 1102, the error vector calculator 11 10, and the convergence planner 1 116. The borehole estimator 1106 is configured to provide a real time or near real time estimate of the actual borehole and drill bit position and trajectory angle. This estimate may use both straight line projections and projections that incorporate sliding. The borehole estimator 1 106 may be used to compensate for the fact that a sensor is usually physically located some distance behind the bit (e.g., fifty feet), which makes sensor readings lag the actual bit location by fifty feet. The borehole estimator 1106 may also be used to compensate for the fact that sensor measurements may not be continuous (e.g., a sensor measurement may occur every one hundred feet). [0145] The borehole estimator 1106 may use two techniques to accomplish this. First, the borehole estimator 1 106 may provide the most accurate estimate from the surface to the last survey location based on the collection of all survey measurements. Second, the borehole estimator 1 106 may take the slide estimate from the slide estimator 1 108 (described below) and extend this estimation from the last survey point to the real time drill bit location. Using the combination of these two estimates, the borehole estimator 1106 may provide the on-site controller 144 with an estimate of the drill bit's location and trajectory angle from which guidance and steering solutions can be derived. An additional metric that can be derived from the borehole estimate is the effective build rate that is achieved throughout the drilling process. For example, the borehole estimator 1 106 may calculate the current bit position and trajectory 743 in Fig. 7C.

[0146] The slide estimator 1108 receives external inputs representing measured depth and differential pressure information, receives internal input from the build rate predictor 1102, and provides output to the borehole estimator 1106 and the geo modified well planner 1104. The slide estimator 1 108, which may operate in real time or near real time, is configured to sample toolface orientation, differential pressure, measured depth (MD) incremental movement, MSE, and other sensor feedback to quantify/estimate a deviation vector and progress while sliding.

[0147] Traditionally, deviation from the slide would be predicted by a human operator based on experience. The operator would, for example, use a long slide cycle to assess what likely was accomplished during the last slide. However, the results are generally not confirmed until the MWD survey sensor point passes the slide portion of the borehole, often resulting in a response lag defined by the distance of the sensor point from the drill bit tip (e.g., approximately fifty feet). This lag introduces inefficiencies in the slide cycles due to over/under correction of the actual path relative to the planned path.

[0148] With the slide estimator 1108, each toolface update is algorithmically merged with the average differential pressure of the period between the previous and current toolfaces, as well as the MD change during this period to predict the direction, angular deviation, and MD progress during that period. As an example, the periodic rate may be between ten and sixty seconds per cycle depending on the tool face update rate of the MWD tool. With a more accurate estimation of the slide effectiveness, the sliding efficiency can be improved. The output of the slide estimator 1108 is periodically provided to the borehole estimator 1 106 for accumulation of well deviation information, as well to the geo modified well planner 1 104. Some or all of the output of the slide estimator 1 108 may be output via a display such as the display 250 of Fig. 2B. [0149] The error vector calculator 11 10 receives internal input from the geo modified well planner 1104 and the borehole estimator 1 106. The error vector calculator 1 110 is configured to compare the planned well path to the actual borehole path and drill bit position estimate. The error vector calculator 1 110 may provide the metrics used to determine the error (e.g., how far off) the current drill bit position and trajectory are from the plan. For example, the error vector calculator 1 1 10 may calculate the error between the current position 743 of Fig. 7C to the planned path 742 and the desired bit position 741. The error vector calculator 11 10 may also calculate a projected bit position/projected path representing the future result of a current error as described previously with respect to Fig. 7B.

[0150] The geological drift estimator 11 12 receives external input representing geological information and provides outputs to the geo modified well planner 1104, slide planner 1 114, and tactical solution planner 11 18. During drilling, drift may occur as the particular characteristics of the formation affect the drilling direction. More specifically, there may be a trajectory bias that is contributed by the formation as a function of drilling rate and BHA. The geological drift estimator 1 112 is configured to provide a drift estimate as a vector. This vector can then be used to calculate drift compensation parameters that can be used to offset the drift in a control solution.

[0151] The slide planner 11 14 receives internal input from the build rate predictor 1 102, the geo modified well planner 1 104, the error vector calculator 11 10, and the geological drift estimator 11 12, and provides output to the convergence planner 11 16 as well as an estimated time to the next slide. The slide planner 11 14 is configured to evaluate a slide/drill ahead cost equation and plan for sliding activity, which may include factoring in BHA wear, expected build rates of current and expected formations, and the well plan path. During drill ahead, the slide planner 11 14 may attempt to forecast an estimated time of the next slide to aid with planning. For example, if additional lubricants (e.g., beads) are needed for the next slide and pumping the lubricants into the drill string needs to begin thirty minutes before the slide, the estimated time of the next slide may be calculated and then used to schedule when to start pumping the lubricants.

[0152] Functionality for a loss circulation material (LCM) planner may be provided as part of the slide planner 1 114 or elsewhere (e.g., as a stand-alone module or as part of another module described herein). The LCM planner functionality may be configured to determine whether additives need to be pumped into the borehole based on indications such as flow-in versus flow-back measurements. For example, if drilling through a porous rock formation, fluid being pumped into the borehole may get lost in the rock formation. To address this issue, the LCM planner may control pumping LCM into the borehole to clog up the holes in the porous rock surrounding the borehole to establish a more closed-loop control system for the fluid.

[0153] The slide planner 11 14 may also look at the current position relative to the next connection. A connection may happen every ninety to one hundred feet (or some other distance or distance range based on the particulars of the drilling operation) and the slide planner 11 14 may avoid planning a slide when close to a connection and/or when the slide would carry through the connection. For example, if the slide planner 11 14 is planning a fifty foot slide but only twenty feet remain until the next connection, the slide planner 1 114 may calculate the slide starting after the next connection and make any changes to the slide parameters that may be needed to accommodate waiting to slide until after the next connection. This avoids inefficiencies that may be caused by starting the slide, stopping for the connection, and then having to reorient the toolface before finishing the slide. During slides, the slide planner 11 14 may provide some feedback as to the progress of achieving the desired goal of the current slide.

[0154] In some embodiments, the slide planner 11 14 may account for reactive torque in the drillstring. More specifically, when rotating is occurring, there is a reactional torque wind up in the drillstring. When the rotating is stopped, the drillstring unwinds, which changes toolface orientation and other parameters. When rotating is started again, the drillstring starts to wind back up. The slide planner 1 114 may account for this reactional torque so that toolface references are maintained rather than stopping rotation and then trying to adjust to an optimal tool face orientation. While not all MWD tools may provide toolface orientation when rotating, using one that does supply such information for the GCL 914 may significantly reduce the transition time from rotating to sliding.

[0155] The convergence planner 1 116 receives internal inputs from the build rate predictor 1 102, the borehole estimator 1 106, and the slide planner 11 14, and provides output to the tactical solution planner 1 118. The convergence planner 1 116 is configured to provide a convergence plan when the current drill bit position is not within a defined margin of error of the planned well path. The convergence plan represents a path from the current drill bit position to an achievable and optimal convergence target point along the planned path. The convergence plan may take account the amount of sliding/drilling ahead that has been planned to take place by the slide planner 11 14. The convergence planner 1 116 may also use BHA orientation information for angle of attack calculations when determining convergence plans as described above with respect to the build rate predictor 1 102. The solution provided by the convergence planner 1 116 defines a new trajectory solution for the current position of the drill bit. The solution may be real time, near real time, or future (e.g., planned for implementation at a future time). For example, the convergence planner 11 16 may calculate a convergence plan as described previously with respect to Figs. 7C and 8.

[0156] The tactical solution planner 1 118 receives internal inputs from the geological drift estimator 11 12 and the convergence planner 1 116, and provides external outputs representing information such as toolface orientation, differential pressure, and mud flow rate. The tactical solution planner 1 1 18 is configured to take the trajectory solution provided by the convergence planner 11 16 and translate the solution into control parameters that can be used to control the drilling rig 1 10. For example, the tactical solution planner 11 18 may take the solution and convert the solution into settings for the control systems 208, 210, and 212 to accomplish the actual drilling based on the solution. The tactical solution planner 11 18 may also perform performance optimization as described previously. The performance optimization may apply to optimizing the overall drilling operation as well as optimizing the drilling itself (e.g., how to drill faster).

[0157] Other functionality may be provided by the GCL 914 in additional modules or added to an existing module. For example, there is a relationship between the rotational position of the drill pipe on the surface and the orientation of the downhole toolface. Accordingly, the GCL 914 may receive information corresponding to the rotational position of the drill pipe on the surface. The GCL 914 may use this surface positional information to calculate current and desired toolface orientations. These calculations may then be used to define control parameters for adjusting the top drive or Kelly drive to accomplish adjustments to the downhole toolface in order to steer the well. [0158] For purposes of example, an object-oriented software approach may be utilized to provide a class-based structure that may be used with the GCL 914 and/or other components of the on-site controller 144. In the present embodiment, a drilling model class is defined to capture and define the drilling state throughout the drilling process. The class may include real-time information. This class may be based on the following components and sub- models: a drill bit model, a borehole model, a rig surface gear model, a mud pump model, a WOB/differential pressure model, a positional/rotary model, an MSE model, an active well plan, and control limits. The class may produce a control output solution and may be executed via a main processing loop that rotates through the various modules of the GCL 914. [0159] The drill bit model may represent the current position and state of the drill bit. This model includes a three dimensional position, a drill bit trajectory, BHA information, bit speed, and toolface (e.g., orientation information). The three dimensional position may be specified in north-south (NS), east-west (EW), and true vertical depth (TVD). The drill bit trajectory may be specified as an inclination and an azimuth angle. The BHA information may be a set of dimensions defining the active BHA. The borehole model may represent the current path and size of the active borehole. This model includes hole depth information, an array of survey points collected along the borehole path, a gamma log, and borehole diameters. The hole depth information is for the current drilling job. The borehole diameters represent the diameters of the borehole as drilled over the current drill job. [0160] The rig surface gear model may represent pipe length, block height, and other models, such as the mud pump model, WOB/differential pressure model, positional/rotary model, and MSE model. The mud pump model represents mud pump equipment and includes flow rate, standpipe pressure, and differential pressure. The WOB/differential pressure model represents drawworks or other WOB/differential pressure controls and parameters, including WOB. The positional/rotary model represents top drive or other positional/rotary controls and parameters including rotary RPM and spindle position. The active well plan represents the target borehole path and may include an external well plan and a modified well plan. The control limits represent defined parameters that may be set as maximums and/or minimums. For example, control limits may be set for the rotary RPM in the top drive model to limit the maximum RPMs to the defined level. The control output solution represents the control parameters for the drilling rig 1 10.

[0161] The main processing loop can be handled in many different ways. For example, the main processing loop can run as a single thread in a fixed time loop to handle rig sensor event changes and time propagation. If no rig sensor updates occur between fixed time intervals, a time only propagation may occur. In other embodiments, the main processing loop may be multi-threaded.

[0162] Each functional module of the GCL 914 may have its behavior encapsulated within its own respective class definition. During its processing window, the individual units may have an exclusive portion in time to execute and update the drilling model. For purposes of example, the processing order for the modules may be in the sequence of geo modified well planner 1 104, build rate predictor 1102, slide estimator 1 108, borehole estimator 1 106, error vector calculator 11 10, slide planner 1 114, convergence planner 1 116, geological drift estimator 1 112, and tactical solution planner 1 118. It is understood that other sequences may be used.

[0163] In the present embodiment, the GCL 914 may rely on a programmable timer module that provides a timing mechanism to provide timer event signals to drive the main processing loop. While the on-site controller 144 may rely purely on timer and date calls driven by the programming environment (e.g., java), this would limit timing to be exclusively driven by system time. In situations where it may be advantageous to manipulate the clock (e.g., for evaluation and/or testing), the programmable timer module may be used to alter the time. For example, the programmable timer module may enable a default time set to the system time and a time scale of 1.0, may enable the system time of the on-site controller 144 to be manually set, may enable the time scale relative to the system time to be modified, and/or may enable periodic event time requests scaled to the time scale to be requested.

[0164] Referring to Fig. 12, one embodiment of the ACL 916 provides different functions to the on-site controller 144. The ACL 916 may be considered a second feedback control loop that operates in conjunction with a first feedback control loop provided by the GCL 914. The ACL 916 may also provide actual instructions to the drilling rig 1 10, either directly to the drilling equipment 216 or via the control systems 208, 210, and 212. The ACL 916 may include a positional/rotary control logic block 1202, WOB/differential pressure control logic block 1204, fluid circulation control logic block 1206, and a pattern recognition/error detection block 1208.

[0165] One function of the ACL 916 is to establish and maintain a target parameter (e.g., an ROP of a defined value of ft/hr) based on input from the GCL 914. This may be accomplished via control loops using the positional/rotary control logic block 1202, WOB/differential pressure control logic block 1204, and fluid circulation control logic block 1206. The positional/rotary control logic block 1202 may receive sensor feedback information from the input driver 902 and set point information from the GCL 914 (e.g., from the tactical solution planner 11 18). The differential pressure control logic block 1204 may receive sensor feedback information from the input driver 902 and set point information from the GCL 914 (e.g., from the tactical solution planner 1 118). The fluid circulation control logic block 1206 may receive sensor feedback information from the input driver 902 and set point information from the GCL 914 (e.g., from the tactical solution planner 1 118).

[0166] The ACL 916 may use the sensor feedback information and the set points from the GCL 914 to attempt to maintain the established target parameter. More specifically, the ACL 916 may have control over various parameters via the positional/rotary control logic block 1202, WOB/differential pressure control logic block 1204, and fluid circulation control logic block 1206, and may modulate the various parameters to achieve the target parameter. The ACL 916 may also modulate the parameters in light of cost-driven and reliability-driven drilling goals, which may include parameters such as a trajectory goal, a cost goal, and/or a performance goal. It is understood that the parameters may be limited (e.g., by control limits set by the drilling engineer 306) and the ACL 916 may vary the parameters to achieve the target parameter without exceeding the defined limits. If this is not possible, the ACL 916 may notify the on-site controller 144 or otherwise indicate that the target parameter is currently unachievable. [0167] In some embodiments, the ACL 916 may continue to modify the parameters to identify an optimal set of parameters with which to achieve the target parameter for the particular combination of drilling equipment and formation characteristics. In such embodiments, the on-site controller 144 may export the optimal set of parameters to the database 128 for use in formulating drilling plans for other drilling projects.

[0168] Another function of the ACL 916 is error detection. Error detection is directed to identifying problems in the current drilling process and may monitor for sudden failures and gradual failures. In this capacity, the pattern recognition/error detection block 1208 receives input from the input driver 902. The input may include the sensor feedback received by the positional/rotary control logic block 1202, WOB/differential pressure control logic block 1204, and fluid circulation control logic block 1206. The pattern recognition/error detection block 1208 monitors the input information for indications that a failure has occurred or for sudden changes that are illogical.

[0169] For example, a failure may be indicated by an ROP shift, a radical change in build rate, or any other significant changes. As an illustration, assume the drilling is occurring with an expected ROP of 100 ft/hr. If the ROP suddenly drops to 50 ft/hr with no change in parameters and remains there for some defined amount of time, an equipment failure, formation shift, or another event has occurred. Another error may be indicated when MWD sensor feedback has been steadily indicating that drilling has been heading north for hours and the sensor feedback suddenly indicates that drilling has reversed in a few feet and is heading south. This change clearly indicates that a failure has occurred. The changes may be defined and/or the pattern recognition/error detection block 1208 may be configured to watch for deviations of a certain magnitude. The pattern recognition/error detection block 1208 may also be configured to detect deviations that occur over a period of time in order to catch more gradual failures or safety concerns.

[0170] When an error is identified based on a significant shift in input values, the on-site controller 201 may send an alert. This enables an individual to review the error and determine whether action needs to be taken. For example, if an error indicates that there is a significant loss of ROP and an intermittent change/rise in pressure, the individual may determine that mud motor chunking has likely occurred with rubber tearing off and plugging the bit. In this case, the BHA may be tripped and the damage repaired before more serious damage is done. Accordingly, the error detection may be used to identify potential issues that are occurring before they become more serious and more costly to repair. [0171] Another function of the ACL 916 is pattern recognition. Pattern recognition is directed to identifying safety concerns for rig workers and to provide warnings (e.g., if a large increase in pressure is identified, personnel safety may be compromised) and also to identifying problems that are not necessarily related to the current drilling process, but may impact the drilling process if ignored. In this capacity, the pattern recognition/error detection block 1208 receives input from the input driver 902. The input may include the sensor feedback received by the positional/rotary control logic block 1202, WOB/differential pressure control logic block 1204, and fluid circulation control logic block 1206. The pattern recognition/error detection block 1208 monitors the input information for specific defined conditions. A condition may be relatively common (e.g., may occur multiple times in a single borehole) or may be relatively rare (e.g., may occur once every two years). Differential pressure, standpipe pressure, and any other desired conditions may be monitored. If a condition indicates a particular recognized pattern, the ACL 916 may determine how the condition is to be addressed. For example, if a pressure spike is detected, the ACL 916 may determine that the drilling needs to be stopped in a specific manner to enable a safe exit. Accordingly, while error detection may simply indicate that a problem has occurred, pattern recognition is directed to identifying future problems and attempting to provide a solution to the problem before the problem occurs or becomes more serious.

[0172] Referring to Fig. 13, one embodiment of a computer system 1300 is illustrated. The computer system 1300 is one possible example of a system component or device such as the on-site controller 144 of Fig. 1A. In scenarios where the computer system 1300 is on- site, such as at the location of the drilling rig 1 10 of Fig. 1A, the computer system may be contained in a relatively rugged, shock-resistant case that is hardened for industrial applications and harsh environments. [0173] The computer system 1300 may include a central processing unit ("CPU") 1302, a memory unit 1304, an input/output ("I/O") device 1306, and a network interface 1308. The components 1302, 1304, 1306, and 1308 are interconnected by a transport system (e.g., a bus) 1310. A power supply (PS) 1312 may provide power to components of the computer system 1300, such as the CPU 1302 and memory unit 1304. It is understood that the computer system 1300 may be differently configured and that each of the listed components may actually represent several different components. For example, the CPU 1302 may actually represent a multi-processor or a distributed processing system; the memory unit 1304 may include different levels of cache memory, main memory, hard disks, and remote storage locations; the I/O device 1306 may include monitors, keyboards, and the like; and the network interface 1308 may include one or more network cards providing one or more wired and/or wireless connections to a network 1314. Therefore, a wide range of flexibility is anticipated in the configuration of the computer system 1300.

[0174] For instance, if the computer system 1300 is the on-site controller 144, it may be configured to be placed downhole somewhere along the drill string in order to provide for the functions described hereinabove as part of an embedded downhole system, such as in the embodiment shown in FIG. 15, described hereinbelow. If the computer system is indeed the on-site controller 144, the computer system 1300 may perform methods such as the methods 600 of Fig. 6, 700 of Fig. 7A, 720 of Fig. 7B, 800 of Fig. 8A, 820 of Fig. 8B, 830 of Fig. 8C, and 840 of Fig. 8D. Thus, the embedded downhole computer system 1300 would be execute downhole instead of at the surface to provide for rapid calculations concerning drilling path adjustments, economic cost analysis, and other calculations included in the methods described hereinabove.

[0175] The computer system 1300 may use any operating system (or multiple operating systems), including various versions of operating systems provided by Microsoft (such as WINDOWS), Apple (such as Mac OS X), UNIX, and LINUX, and may include operating systems specifically developed for handheld devices, personal computers, and servers depending on the use of the computer system 1300. The operating system, as well as other instructions (e.g., software instructions for performing the functionality described in previous embodiments) may be stored in the memory unit 1304 and executed by the processor 1302. For example, if the computer system 1300 is the on-site controller 144, the memory unit 1304 may include instructions for performing methods such as the methods 600 of Fig. 6, 700 of Fig. 7A, 720 of Fig. 7B, 800 of Fig. 8A, 820 of Fig. 8B, 830 of Fig. 8C, and 840 of Fig. 8D.

[0176] Referring now to Fig. 14, there is illustrated a surface steerable system 1402 providing information to a drilling rig 1404 that implements a rotary steerable system 1406. The surface steerable system 1402 provides input 1408 to the rotary steerable system 1406 and receives feedback 1410 from the rotary steerable system 1406 in manners similar to that discussed hereinabove. In this manner, the surface steerable system 1402 may provide continuous control of the rotary steerable system 1406 in order to achieve desired directional steering results. The steerable system 1406 may comprise any number of configurations of rotary steerable systems and steerable system tools, one example of this is illustrated in US Patent No. 8,590,636, which is incorporated herein by reference in its entirety.

[0177] A rotary steerable system 1406 is a form of drilling technology used in directional drilling. A rotary steerable system 1406 employs the use of a specialized down-hole equipment to replace conventional directional tools such as mud motors. The rotary steerable tools are generally programmed by a directional driller which transmits commands to the rotary steerable system 1406 using, for example, pressure fluctuations within the mud column or variations within the drill string rotations to transmit the information. The rotary steerable system 1406 responds to these instructions and gradually steers into the desired direction. The rotary steerable system 1406 may continue drilling while rotating the drill string from the surface eliminating the need to slide a mud motor utilizing slide directional drilling techniques.

[0178] The surface steerable system 1402 and the drilling rig 1404 may communicate in a similar manner as shown in FIG. 2A concerning the communication between the surface steerable system 201 and the drilling rig 1 10. Additionally, the surface steerable system 1402 may have similar components to the surface steerable system 201, such as the on-site controller 144 and the drilling hub 216, with the input information 202 being sent from the drilling hub 216 to the on-site controller 144 and the output information 203 being sent from the on-site controller to the drilling hub 216. Further, the drilling rig 1404 may contain similar components as that of the drilling rig 1 10 shown in FIG 2A, such as the WOB/differential pressure control system 208, the positional/rotary control system 210, the fluid circulation control system 212, the sensor system 214, and the drilling equipment 216.

[0179] The methods used within rotary steerable systems fall into two broad categories. These include the "push the bit" and "point the bit" techniques. Push the bit tools use pads on the outside of the tool which press against the wellbore thereby causing the bit to press on the opposite side of the wellbore causing a directional change. The pads are typically installed on the outer portion of the drill string somewhere above the drill bit. The pads may be actuated using hydraulic pistons that push the pad against the wall of the wellbore. Point the bit techniques cause the direction of the bit to change relative to the rest of the tool by bending a main shaft running through the tool. The point the bit techniques require some type of non-rotating housing or reference housing in order to create this deflection within the shaft. In some cases, a down-hole rotary steerable system tool can be programmed to maintain an angle and utilize downhole sensors and actuators to maintain the drilling direction, while in other situations, a user on the surface must decide magnitude and direction of the tool bias while drilling. These instructions adjust forces exerted by the tool to turn the well or overcome geo drift. The surface steerable system 1402 can also pre-compensate for torsional and spatial influences caused by the actuator forces to point or push the bit. As an example, in many cases Rotary Steerable System 1406 induced forces to gain inclination or induce a build in angle may cause left walk due to the side forces on the bit combined with the clockwise rotation of the drill bit. By forecasting the influences of those forces a more ideal deviation vector can be programmed into the downhole tool by the Surface Steerable System 1402.

[0180] The advantage of rotary steerable system tools is that they may be continuously rotated while creating a bias. Continuous rotation of the drill string allows for improved transportation of drilling cuttings to the surface resulting in better hydraulic performance, better weight transfer and allows a more complex bore to be drilled while reducing bore tortuosity due to utilizing a more steady steering model. The well geometry is therefore less aggressive, and the wellbore is smoother than those drilled using a mud motor. The disadvantages of rotary system tools arise from the fact that they are much more expensive and generally less reliable due to their added complexity.

[0181] The surface steerable system 1402 enables the rotary steerable system 1406 downhole tools to be told when to rotate in line and when to deviate in a similar manner that a mud motor is controlled. The need to manage dog legs and prioritize economic decisions within the wellbore may be controlled through the surface steerable system 1402 controlling the rotary steerable system 1406. The surface steerable system 1402 can improve the decisions made at every reevaluation which happens on a survey path. The surface steerable system 1402 can also provide more accurate projections, and the position of the bit benefits control of the rotatable steerable system tools 1406. Existing configurations of rotary steerable system 1406 require directional drillers on location to make the 3D geometry decisions and operating parameter adjustments. The surface steerable system 1402 can optimize both decisions and simultaneously enable communication and collaboration on and offsite. [0182] All geo steering tools provided by the surface steerable system 1402 are applicable to both mud motors and rotary steerable system tools and if rotary steerable system tools provide additional sensors such as bit inclination, the surface steerable system 1404 can utilize the additional data points to further optimize its instructions. Control of the Rotary Steerable System 1406 can be by indirect recommendation to a directional driller or direct control by inducing mud pulse telemetry, pump cycling or other means to downlink to the Rotary Steerable System tool and change to the desired configuration.

[0183] By placing this complex control logic in a surface environment, failures due to temp, vibration and other challenges can be significantly reduced. Additionally, new forms of rotary steerable system targeting a lower cost of operation rely more heavily on surface decisions made by humans. These tools can be optimized by using the methodology of the surface steerable system by removing the variability of the human competency and simultaneously making all decision based on the best economic solution for the operator.

[0184] In some modes of operation, variation of forces is needed to accomplish deviation of the BHA using the rotary steerable activation mechanism (i.e. the push pads). The relative forces needed to accomplish the deviation provides information about the formation being drilled, the effectiveness or health of the BHA and drill bit as well as information about the relative position of the downhole tools to the formations bed dip. Interfaces to harder zones or stringers can be recognized with this approach as well. [0185] The potential deviation rate of the rotary steerable system can be evaluated while drilling to continuously calibrate the potential of the BHA and provide an accurate projection to the bit on a continuous basis from the last survey station to the location of the bit. This allows for an accurate starting point for future directional tasks but also allows early warning when a desired deviation is not possible. [0186] All value driven functions of the surface steerable system are applicable with use of rotary steerable systems. For example, the decision to deviate the well and the aggressiveness of that deviation can be balanced with the proximity to ideal pay zone defined by cost curves. Likewise planning to avoid hard limits, property lines or high risk zones in 3D space can be factored into all steering decisions being made. [0187] It is common amongst rotary steerable tools that a slower RPM or Rate Of Penetration is needed when deviation the well and so there is a drilling time tradeoff linked to the amount of deviation required of the rotary steerable tools. This manifests itself as a time impact to steering decisions similar to that when using a traditional mud motor assembly in a rotary vs slide mode.

[0188] Tortuosity driven costs/risks can also be factored in as deviation of a well using rotary steerable tools creates doglegs or tortuosity similar to a mud motor when sliding. Although the impacts are still generally less with a continuous arc on a rotary steerable tool, there is still a rate of change that can be set to be more or less aggressive. This tortuosity can be evaluated as a cost/risk for the operator and used to select an ideal convergence plan.

[0189] With these examples of key surface steerable cost components, Time Cost, Tortuosity Cost, and Proximity to Pay zone Cost, are all applicable when using high end and low cost rotary steerable system.

[0190] Referring now to FIG. 15, there is illustrated one embodiment of a rotary steerable drilling rig 1500. In the present embodiment, the rotary steerable drilling rig 1500 includes a derrick 1502 on a surface 1504. The derrick 1502 includes a crown block 1506. A top drive 1508 is coupled to the crown block 1506 via a drilling line 1510. The top drive 1508 provides the rotational force needed for drilling and rotates a drill string 1512. The rotating drill string 1512 in turn rotates a drill bit 1514 of a BHA 1516 in a borehole 1518 in a formation 1520. In this particular embodiment, the rotary steerable drilling rig 1500 further includes a plurality of hydraulic pads 1522. The plurality of hydraulic pads 1522 serves to provide a "push the bit" rotary steerable technique. To accomplish the technique, each of the plurality of hydraulic pads 1522 includes a plurality of pistons 1524 that actuate when needed in order to push the particular pad against the borehole 1518. For example, if a drilling operation was currently drilling straight down into the formation 1520, and a decision was made to begin drilling in a horizontal direction, one of the plurality of hydraulic pads 1522 would have its plurality of pistons 1524 actuated in order to push the hydraulic pad against the wall of the borehole 1518. This would angle the drill string 1512, and thus the drill bit 1514, in a direction away from the wall of the borehole 1518 that was pressed by the actuated hydraulic pad. It will be appreciated by those skilled in the art that other methods of performing rotary steerable drilling may be employed, such as "point the bit" techniques, without deviating from the present inventive concept. It will be further appreciated by those skilled in the art that other components may be included in the rotary steerable drilling rig 1500 in order to perform drilling operations and that the current described embodiment is for illustrative purposes. [0191] As described hereinabove, the computer system 1300, or the on-site controller 144, may be configured to be placed downhole as part of the BHA 1516 or somewhere else along the drill string in order to provide for the functions described hereinabove as part of an embedded downhole system. If the computer system is indeed the on-site controller 144, the computer system 1300 may perform methods such as the methods 600 of Fig. 6, 700 of Fig. 7A, 720 of Fig. 7B, 800 of Fig. 8A, 820 of Fig. 8B, 830 of Fig. 8C, and 840 of Fig. 8D. Thus, still referring to FIG. 15, a controller 1526 akin to the computer system 1300 or the on- site controller 144 may also be included as part of the BHA 1516 of the rotary steerable drilling rig 1500. Thus, the controller 1526 could execute various methods downhole instead of at the surface to provide for rapid calculations concerning drilling path adjustments, economic cost analysis, and other calculations included in the methods described hereinabove. The controller 1526 may control the plurality of hydraulic pads 1524 as well, actuating one or more of the plurality of hydraulic pads 1524 when methods performed by the controller 1526 call for a change in drilling direction. In other embodiments that do not utilize hydraulic pads for rotary steering, the controller 1526 may similarly control the particular steering component, such as a bendable main shaft in other rotary steering embodiments, or other steering methods. As the controller 1526 may be akin to the computer system 1300 or the on-site controller 144, the controller 1526 may further be configured to communicate, either by a wired or wireless connection, with the network 1314 and/or other components shown in the surface steerable system 201, and the drilling rig 110. It will be appreciated that such a configuration utilizing the controller 1526 is not limited to the embodiment shown in FIG. 15, and may also be incorporated into other embodiments described hereinabove.

[0192] It will be appreciated by those skilled in the art having the benefit of this disclosure that this system and method for surface steerable drilling provides a way to plan a drilling process and to correct the drilling process when either the process deviates from the plan or the plan is modified. It should be understood that the drawings and detailed description herein are to be regarded in an illustrative rather than a restrictive manner, and are not intended to be limiting to the particular forms and examples disclosed. On the contrary, included are any further modifications, changes, rearrangements, substitutions, alternatives, design choices, and embodiments apparent to those of ordinary skill in the art, without departing from the spirit and scope hereof, as defined by the following claims. Thus, it is intended that the following claims be interpreted to embrace all such further modifications, changes, rearrangements, substitutions, alternatives, design choices, and embodiments.