Patent Description:
The present disclosure provides systems and methods useful for drilling a well, such as an oil and gas well. The systems and methods can be computer-implemented using processor executable instructions for execution on a processor and can accordingly be executed with a programmed computer system.

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. Conventional technologies and methods may not adequately address the complicated nature of drilling, and may not be capable of gathering and processing various information from downhole sensors and surface control systems in a timely manner, in order to improve drilling operations and minimize drilling errors.

In the oil and gas industry, extraction of hydrocarbon natural resources is done by physically drilling a hole to a reservoir where the hydrocarbon natural resources are trapped. The hydrocarbon natural resources can be up to <NUM>,<NUM> feet or more below the ground surface and be buried under various layers of geological formations. Drilling operations can be conducted by having a rotating drill bit mounted on a bottom hole assembly (BHA) that gives direction to the drill bit for cutting through geological formations and enabled steerable drilling. <CIT> discloses a system and method for subterranean excavation for adjusting weight on bit based on monitoring wellbore fluid density changes.

For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:.

In the following description, details are set forth by way of example to facilitate discussion of the disclosed subject matter. It is noted, however, that the disclosed embodiments are exemplary and not exhaustive of all possible embodiments.

Throughout this disclosure, a hyphenated form of a reference numeral refers to a specific instance of an element and the un-hyphenated form of the reference numeral refers to the element generically or collectively. Thus, as an example (not shown in the drawings), device "<NUM>- <NUM>" refers to an instance of a device class, which may be referred to collectively as devices "<NUM>" and any one of which may be referred to generically as a device "<NUM>". In the figures and the description, like numerals are intended to represent like elements.

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 drilling 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 human driller performing the drilling may have drilled other boreholes in the same region and so may have some similar experience. However, during drilling operations, a multitude of input information and other factors may affect a drilling decision being made by a human operator or specialist, such that the amount of information may overwhelm the cognitive ability of the human to properly consider and factor into the drilling decision. Furthermore, the quality or the error involved with the drilling decision may improve with larger amounts of input data being considered, for example, such as formation data from a large number of offset wells. For these reasons, human specialists may be unable to achieve desirable drilling decisions, particularly when such drilling decisions are made under time constraints, such as during drilling operations when continuation of drilling is dependent on the drilling decision and, thus, the entire drilling rig waits idly for the next drilling decision. Furthermore, human decision-making for drilling decisions can result in expensive mistakes, because drilling errors can add significant cost to drilling operations. In some cases, drilling errors may permanently lower the output of a well, resulting in substantial long term economic losses due to the lost output of the well.

Therefore, the well plan may be updated based on new stratigraphic information from the wellbore, as it is being drilled. This stratigraphic information can be gained on one hand from measurement while drilling (MWD) and logging while drilling (LWD) sensor data, but could also include other reference well data, such as drilling dynamics data or sensor data giving information, for example, on the hardness of the rock in individual strata layers being drilled through.

Referring now to the drawings, Referring to <FIG>, a drilling system <NUM> is illustrated in one embodiment as a top drive system. As shown, the drilling system <NUM> includes a derrick <NUM> on the surface <NUM> of the earth and is used to drill a borehole <NUM> into the earth. Typically, drilling system <NUM> is used at a location corresponding to a geographic formation <NUM> in the earth that is known.

In <FIG>, derrick <NUM> includes a crown block <NUM> to which a travelling block <NUM> is coupled via a drilling line <NUM>. In drilling system <NUM>, a top drive <NUM> is coupled to travelling block <NUM> and may provide rotational force for drilling. A saver sub <NUM> may sit between the top drive <NUM> and a drill pipe <NUM> that is part of a drill string <NUM>. Top drive <NUM> may rotate drill string <NUM> via the saver sub <NUM>, which in turn may rotate a drill bit <NUM> of a bottom hole assembly (BHA) <NUM> in borehole <NUM> passing through formation <NUM>. Also visible in drilling system <NUM> is a rotary table <NUM> that may be fitted with a master bushing <NUM> to hold drill string <NUM> when not rotating.

A mud pump <NUM> may direct a fluid mixture <NUM> (e.g., a mud mixture) from a mud pit <NUM> into drill string <NUM>. Mud pit <NUM> is shown schematically as a container, but it is noted that various receptacles, tanks, pits, or other containers may be used. Mud <NUM> may flow from mud pump <NUM> into a discharge line <NUM> that is coupled to a rotary hose <NUM> by a standpipe <NUM>. Rotary hose <NUM> may then be coupled to top drive <NUM>, which includes a passage for mud <NUM> to flow into borehole <NUM> via drill string <NUM> from where mud <NUM> may emerge at drill bit <NUM>. Mud <NUM> may lubricate drill bit <NUM> during drilling and, due to the pressure supplied by mud pump <NUM>, mud <NUM> may return via borehole <NUM> to surface <NUM>.

In drilling system <NUM>, drilling equipment (see also <FIG>) is used to perform the drilling of borehole <NUM>, such as top drive <NUM> (or rotary drive equipment) that couples to drill string <NUM> and BHA <NUM> and is configured to rotate drill string <NUM> and apply pressure to drill bit <NUM>. Drilling system <NUM> may include control systems such as a WOB/differential pressure control system <NUM>, a positional/rotary control system <NUM>, a fluid circulation control system <NUM>, and a sensor system <NUM>, as further described below with respect to <FIG>. The control systems may be used to monitor and change drilling rig settings, such as the WOB 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. Sensor system <NUM> may be for obtaining sensor data about the drilling operation and drilling system <NUM>, including the downhole equipment. For example, sensor system <NUM> may include MWD or logging while drilling (LWD) tools for acquiring information, such as toolface and formation logging information, that may be saved for later retrieval, transmitted with or without a delay using any of various communication means (e.g., wireless, wireline, or mud pulse telemetry), or otherwise transferred to steering control system <NUM>. As used herein, an MWD tool is enabled to communicate downhole measurements without substantial delay to the surface <NUM>, such as using mud pulse telemetry, while a LWD tool is equipped with an internal memory that stores measurements when downhole and can be used to download a stored log of measurements when the LWD tool is at the surface <NUM>. The internal memory in the LWD tool may be a removable memory, such as a universal serial bus (USB) memory device or another removable memory device. It is noted that certain downhole tools may have both MWD and LWD capabilities. Such information acquired by sensor system <NUM> may include information related to hole depth, bit depth, inclination angle, azimuth angle, true vertical depth, gamma count, standpipe pressure, mud flow rate, rotary rotations per minute (RPM), bit speed, ROP, WOB, among other information. It is noted that all or part of sensor system <NUM> may be incorporated into a control system, or in another component of the drilling equipment. As drilling system <NUM> can be configured in many different implementations, it is noted that different control systems and subsystems may be used.

Sensing, detection, measurement, evaluation, storage, alarm, and other functionality may be incorporated into a downhole tool <NUM> or BHA <NUM> or elsewhere along drill string <NUM> to provide downhole surveys of borehole <NUM>. Accordingly, downhole tool <NUM> may be an MWD tool or a LWD tool or both, and may accordingly utilize connectivity to the surface <NUM>, local storage, or both. In different implementations, gamma radiation sensors, magnetometers, accelerometers, and other types of sensors may be used for the downhole surveys. Although downhole tool <NUM> is shown in singular in drilling system <NUM>, it is noted that multiple instances (not shown) of downhole tool <NUM> may be located at one or more locations along drill string <NUM>.

In some embodiments, formation detection and evaluation functionality may be provided via a steering control system <NUM> on the surface <NUM>. Steering control system <NUM> may be located in proximity to derrick <NUM> or may be included with drilling system <NUM>. In other embodiments, steering control system <NUM> may be remote from the actual location of borehole <NUM> (see also <FIG>). For example, steering control system <NUM> may be a stand-alone system or may be incorporated into other systems included with drilling system <NUM>.

In operation, steering control system <NUM> may be accessible via a communication network (see also <FIG>), and may accordingly receive formation information via the communication network. In some embodiments, steering control system <NUM> may use the evaluation functionality to provide corrective measures, such as a convergence plan to overcome an error in the well trajectory of borehole <NUM> with respect to a reference, or a planned well trajectory. The convergence plans or other corrective measures may depend on a determination of the well trajectory, and therefore, may be improved in accuracy using surface steering, as disclosed herein.

In particular embodiments, at least a portion of steering control system <NUM> may be located in downhole tool <NUM> (not shown). In some embodiments, steering control system <NUM> may communicate with a separate controller (not shown) located in downhole tool <NUM>. In particular, steering control system <NUM> may receive and process measurements received from downhole surveys, and may perform the calculations described herein for surface steering using the downhole surveys and other information referenced herein.

In drilling system <NUM>, to aid in the drilling process, data is collected from borehole <NUM>, such as from sensors in BHA <NUM>, downhole tool <NUM>, or both. The collected data may include the geological characteristics of formation <NUM> in which borehole <NUM> was formed, the attributes of drilling system <NUM>, including BHA <NUM>, and drilling information such as weight-on-bit (WOB), drilling speed, and other information pertinent to the formation of borehole <NUM>. The drilling information may be associated with a particular depth or another identifiable marker to index collected data. For example, the collected data for borehole <NUM> may capture drilling information indicating that drilling of the well from <NUM>,<NUM> feet to <NUM>,<NUM> feet occurred at a first rate of penetration (ROP) through a first rock layer with a first WOB, while drilling from <NUM>,<NUM> feet to <NUM>,<NUM> feet occurred at a second ROP through a second rock layer with a second WOB (see also <FIG>). In some applications, the collected data may be used to virtually recreate the drilling process that created borehole <NUM> in formation <NUM>, such as by displaying a computer simulation of the drilling process. The accuracy with which the drilling process can be recreated depends on a level of detail and accuracy of the collected data, including collected data from a downhole survey of the well trajectory.

The collected data may be stored in a database that is accessible via a communication network for example. In some embodiments, the database storing the collected data for borehole <NUM> may be located locally at drilling system <NUM>, at a drilling hub that supports a plurality of drilling systems <NUM> in a region, or at a database server accessible over the communication network that provides access to the database (see also <FIG>). At drilling system <NUM>, the collected data may be stored at the surface <NUM> or downhole in drill string <NUM>, such as in a memory device included with BHA <NUM> (see also <FIG>). Alternatively, at least a portion of the collected data may be stored on a removable storage medium, such as using steering control system <NUM> or BHA <NUM>, that is later coupled to the database in order to transfer the collected data to the database, which may be manually performed at certain intervals, for example.

In <FIG>, steering control system <NUM> is located at or near the surface <NUM> where borehole <NUM> is being drilled. Steering control system <NUM> may be coupled to equipment used in drilling system <NUM> and may also be coupled to the database, whether the database is physically located locally, regionally, or centrally (see also <FIG> and <FIG>). Accordingly, steering control system <NUM> may collect and record various inputs, such as measurement data from a magnetometer and an accelerometer that may also be included with BHA <NUM>.

Steering control system <NUM> may further be used as a surface steerable system, along with the database, as described above. The surface steerable system may enable an operator to plan and control drilling operations while drilling is being performed. The surface steerable system may itself also be used to perform certain drilling operations, such as controlling certain control systems that, in turn, control the actual equipment in drilling system <NUM> (see also <FIG>). The control of drilling equipment and drilling operations by steering control system <NUM> may be manual, manual-assisted, semi-automatic, or automatic, in different embodiments.

Manual control may involve direct control of the drilling rig equipment, albeit with certain safety limits to prevent unsafe or undesired actions or collisions of different equipment. To enable manual-assisted control, steering control system <NUM> may present various information, such as using a graphical user interface (GUI) displayed on a display device (see <FIG>), to a human operator, and may provide controls that enable the human operator to perform a control operation. The information presented to the user may include live measurements and feedback from the drilling rig and steering control system <NUM>, or the drilling rig itself, and may further include limits and safety-related elements to prevent unwanted actions or equipment states, in response to a manual control command entered by the user using the GUI.

To implement semi-automatic control, steering control system <NUM> may itself propose or indicate to the user, such as via the GUI, that a certain control operation, or a sequence of control operations, should be performed at a given time. Then, steering control system <NUM> may enable the user to imitate the indicated control operation or sequence of control operations, such that once manually started, the indicated control operation or sequence of control operations is automatically completed. The limits and safety features mentioned above for manual control would still apply for semi-automatic control. It is noted that steering control system <NUM> may execute semi- automatic control using a secondary processor, such as an embedded controller that executes under a real-time operating system (RTOS), that is under the control and command of steering control system <NUM>. To implement automatic control, the step of manual starting the indicated control operation or sequence of operations is eliminated, and steering control system <NUM> may proceed with a passive notification to the user of the actions taken.

In order to implement various control operations, steering control system <NUM> may perform (or may cause to be performed) various input operations, processing operations, and output operations. The input operations performed by steering control system <NUM> may result in measurements or other input information being made available for use in any subsequent operations, such as processing or output operations. The input operations may accordingly provide the input information, including feedback from the drilling process itself, to steering control system <NUM>. The processing operations performed by steering control system <NUM> may be any processing operation associated with surface steering, as disclosed herein. The output operations performed by steering control system <NUM> may involve generating output information for use by external entities, or for output to a user, such as in the form of updated elements in the GUI, for example. The output information may include at least some of the input information, enabling steering control system <NUM> to distribute information among various entities and processors.

In particular, the operations performed by steering control system <NUM> may include operations such as receiving drilling data representing a drill path, receiving 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, monitoring the drilling process to gauge whether the drilling process is within a defined margin of error of the drill path, and calculating corrections for the drilling process if the drilling process is outside of the margin of error.

Accordingly, steering control system <NUM> may receive input information either before drilling, during drilling, or after drilling of borehole <NUM>. The input information may comprise measurements from one or more sensors, as well as survey information collected while drilling borehole <NUM>. The input information may also include a well plan, a regional formation history, drilling engineer parameters, downhole tool face/inclination information, downhole tool gamma/resistivity information, economic parameters, reliability parameters, among various other parameters. Some of the input information, such as the regional formation history, may be available from a drilling hub <NUM>, which may have respective access to a regional drilling database (DB) <NUM> (see <FIG>). Other input information may be accessed or uploaded from other sources to steering control system <NUM>. For example, a web interface may be used to interact directly with steering control system <NUM> to upload the well plan or drilling parameters.

As noted, the input information may be provided to steering control system <NUM>. After processing by steering control system <NUM>, steering control system <NUM> may generate control information that may be output to drilling rig <NUM> (e.g., to rig controls <NUM> that control drilling equipment <NUM>, see also <FIG> and <FIG>). Drilling rig <NUM> may provide feedback information using rig controls <NUM> to steering control system <NUM>. The feedback information may then serve as input information to steering control system <NUM>, thereby enabling steering control system <NUM> to perform feedback loop control and validation. Accordingly, steering control system <NUM> may be configured to modify its output information to drilling rig <NUM>, in order to achieve the desired results, which are indicated in the feedback information. The output information generated by steering control system <NUM> may include indications to modify one or more drilling parameters, the direction of drilling, the drilling mode, among others. In certain operational modes, such as semi-automatic or automatic, steering control system <NUM> may generate output information indicative of instructions to rig controls <NUM> to enable automatic drilling using the latest location of BHA <NUM>. Therefore, an improved accuracy in the determination of the location of BHA <NUM> may be provided using steering control system <NUM>, along with the methods and operations for surface steering disclosed herein.

Referring now to <FIG>, a drilling environment <NUM> is depicted schematically and is not drawn to scale or perspective. In particular, drilling environment <NUM> may illustrate additional details with respect to formation <NUM> below the surface <NUM> in drilling system <NUM> shown in <FIG>. In <FIG>, drilling rig <NUM> may represent various equipment discussed above with respect to drilling system <NUM> in <FIG> that is located at the surface <NUM>.

In drilling environment <NUM>, it may be assumed that a drilling plan (also referred to as a well plan) has been formulated to drill borehole <NUM> extending into the ground to a true vertical depth (TVD) <NUM> and penetrating several subterranean strata layers. Borehole <NUM> is shown in <FIG> extending through strata layers <NUM>-<NUM> and <NUM>-<NUM>, while terminating in strata layer <NUM>-<NUM>. Accordingly, as shown, borehole <NUM> does not extend or reach underlying strata layers <NUM>-<NUM> and <NUM>-<NUM>. A target area <NUM> specified in the drilling plan may be located in strata layer <NUM>-<NUM> as shown in <FIG>. Target area <NUM> may represent a desired endpoint of borehole <NUM>, such as a hydrocarbon producing area indicated by strata layer <NUM>-<NUM>. It is noted that target area <NUM> may be of any shape and size, and may be defined using various different methods and information in different embodiments. In some instances, target area <NUM> may be specified in the drilling plan using subsurface coordinates, or references to certain markers, that indicate where borehole <NUM> is to be terminated. In other instances, target area may be specified in the drilling plan using a depth range within which borehole <NUM> is to remain. For example, the depth range may correspond to strata layer <NUM>-<NUM>. In other examples, target area <NUM> may extend as far as can be realistically drilled. For example, when borehole <NUM> is specified to have a horizontal section with a goal to extend into strata layer <NUM> as far as possible, target area <NUM> may be defined as strata layer <NUM>-<NUM> itself and drilling may continue until some other physical limit is reached, such as a property boundary or a physical limitation to the length of drill string <NUM>.

Also visible in <FIG> is a fault line <NUM> that has resulted in a subterranean discontinuity in the fault structure. Specifically, strata layers <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> have portions on either side of fault line <NUM>. On one side of fault line <NUM>, where borehole <NUM> is located, strata layers <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> are unshifted by fault line <NUM>. On the other side of fault line <NUM>, strata layers <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> are shifted downwards by fault line <NUM>.

Current drilling operations frequently include directional drilling to reach a target, such as target area <NUM>. The use of directional drilling has been found to generally increase an overall amount of production volume per well, but also may lead to significantly higher production rates per well, which are both economically desirable. As shown in <FIG>, directional drilling may be used to drill the horizontal portion of borehole <NUM>, which increases an exposed length of borehole <NUM> within strata layer <NUM>-<NUM>, and which may accordingly be beneficial for hydrocarbon extraction from strata layer <NUM>-<NUM>. Directional drilling may also be used to alter an angle of borehole <NUM> to accommodate subterranean faults, such as indicated by fault line <NUM> in <FIG>. Other benefits that may be achieved using 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., underpopulated 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 limited to a straight horizontal borehole <NUM>, but may involve staying within a strata layer that varies in depth and thickness as illustrated by strata layer <NUM>. As such, directional drilling may involve multiple vertical adjustments that complicate the trajectory of borehole <NUM>.

Referring now to <FIG>, one embodiment of a portion of borehole <NUM> is shown in further detail. Using directional drilling for horizontal drilling may introduce certain challenges or difficulties that may not be observed during vertical drilling of borehole <NUM>. For example, a horizontal portion <NUM> of borehole <NUM> may be started from a vertical portion <NUM>. In order to make the transition from vertical to horizontal, a curve may be defined that specifies a so-called "build up" section <NUM>. Build up section <NUM> may begin at a kick off point <NUM> in vertical portion <NUM> and may end at a begin point <NUM> of horizontal portion <NUM>. The change in inclination angle in build up section <NUM> per measured length drilled is referred to herein as a "build rate" and may be defined in degrees per one hundred feet drilled. For example, the build rate may have a value of <NUM>°/<NUM> ft. , indicating that there is a six degree change in inclination angle for every one hundred feet drilled. The build rate for a particular build up section may remain relatively constant or may vary.

The build rate used for any given build up section may depend on various factors, such as properties of the formation (i.e., strata layers) through which borehole <NUM> is to be drilled, the trajectory of borehole <NUM>, 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 specified horizontal displacement, stabilization, and inclination angle, among other factors. 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 operations in borehole <NUM>. Depending on the severity of any mistakes made during directional drilling, borehole <NUM> may be enlarged or drill bit <NUM> may be backed out of a portion of borehole <NUM> and redrilled along a different path. Such mistakes may be undesirable due to the additional time and expense involved. However, if the built rate is too cautious, additional overall time may be added to the drilling process, because directional drilling generally involves a lower ROP than straight drilling. Furthermore, directional drilling for a curve is more complicated than vertical drilling and the possibility of drilling errors increases with directional drilling (e.g., overshoot and undershoot that may occur while trying to keep drill bit <NUM> on the planned trajectory).

Two modes of drilling, referred to herein as "rotating" and "sliding", are commonly used to form borehole <NUM>. Rotating, also called "rotary drilling", uses top drive <NUM> or rotary table <NUM> to rotate drill string <NUM>. Rotating may be used when drilling occurs along a straight trajectory, such as for vertical portion <NUM> of borehole <NUM>. Sliding, also called "steering" or "directional drilling" as noted above, typically uses a mud motor located downhole at BHA <NUM>. The mud motor may have an adjustable bent housing and is not powered by rotation of drill string <NUM>. Instead, the mud motor uses hydraulic power derived from the pressurized drilling mud that circulates along borehole <NUM> to and from the surface <NUM> to directionally drill borehole <NUM> in build up section <NUM>.

Thus, sliding is used in order to control the direction of the well trajectory during directional drilling. A method to perform a slide may include the following operations. First, during vertical or straight drilling, the rotation of drill string <NUM> is stopped. Based on feedback from measuring equipment, such as from downhole tool <NUM>, adjustments may be made to drill string <NUM>, such as using top drive <NUM> to apply various combinations of torque, WOB, and vibration, among other adjustments. The adjustments may continue until a tool face is confirmed that indicates a direction of the bend of the mud motor is oriented to a direction of a desired deviation (i.e., build rate) of borehole <NUM>. Once the desired orientation of the mud motor is attained, WOB to the drill bit is increased, which causes the drill bit to move in the desired direction of deviation. Once sufficient distance and angle have been built up in the curved trajectory, a transition back to rotating mode can be accomplished by rotating drill string <NUM> again. The rotation of drill string <NUM> after sliding may neutralize the directional deviation caused by the bend in the mud motor due to the continuous rotation around a centerline of borehole <NUM>.

Referring now to <FIG>, a drilling architecture <NUM> is illustrated in diagram form. As shown, drilling architecture <NUM> depicts a hierarchical arrangement of drilling hubs <NUM> and a central command <NUM>, to support the operation of a plurality of drilling rigs <NUM> in different regions <NUM>. Specifically, as described above with respect to <FIG> and <FIG>, drilling rig <NUM> includes steering control system <NUM> that is enabled to perform various drilling control operations locally to drilling rig <NUM>. When steering control system <NUM> is enabled with network connectivity, certain control operations or processing may be requested or queried by steering control system <NUM> from a remote processing resource. As shown in <FIG>, drilling hubs <NUM> represent a remote processing resource for steering control system <NUM> located at respective regions <NUM>, while central command <NUM> may represent a remote processing resource for both drilling hub <NUM> and steering control system <NUM>.

Specifically, in a region <NUM>-<NUM>, a drilling hub <NUM>-<NUM> may serve as a remote processing resource for drilling rigs <NUM> located in region <NUM>-<NUM>, which may vary in number and are not limited to the exemplary schematic illustration of <FIG>. Additionally, drilling hub <NUM>-<NUM> may have access to a regional drilling DB <NUM>-<NUM>, which may be local to drilling hub <NUM>-<NUM>. Additionally, in a region <NUM>-<NUM>, a drilling hub <NUM>-<NUM> may serve as a remote processing resource for drilling rigs <NUM> located in region <NUM>-<NUM>, which may vary in number and are not limited to the exemplary schematic illustration of <FIG>. Additionally, drilling hub <NUM>-<NUM> may have access to a regional drilling DB <NUM>-<NUM>, which may be local to drilling hub <NUM>-<NUM>.

In <FIG>, respective regions <NUM> may exhibit the same or similar geological formations. Thus, reference wells, or offset wells, may exist in a vicinity of a given drilling rig <NUM> in region <NUM>, or where a new well is planned in region <NUM>. Furthermore, multiple drilling rigs <NUM> may be actively drilling concurrently in region <NUM>, and may be in different stages of drilling through the depths of formation strata layers at region <NUM>. Thus, for any given well being drilled by drilling rig <NUM> in a region <NUM>, survey data from the reference wells or offset wells may be used to create the well plan, and may be used for surface steering, as disclosed herein. In some implementations, survey data or reference data from a plurality of reference wells may be used to improve drilling performance, such as by reducing an error in estimating TVD or a position of BHA <NUM> relative to one or more strata layers, as will be described in further detail herein. Additionally, survey data from recently drilled wells, or wells still currently being drilled, including the same well, may be used for reducing an error in estimating TVD or a position of BHA <NUM> relative to one or more strata layers.

Also shown in <FIG> is central command <NUM>, which has access to central drilling DB <NUM>, and may be located at a centralized command center that is in communication with drilling hubs <NUM> and drilling rigs <NUM> in various regions <NUM>. The centralized command center may have the ability to monitor drilling and equipment activity at any one or more drilling rigs <NUM>. In some embodiments, central command <NUM> and drilling hubs <NUM> may be operated by a commercial operator of drilling rigs <NUM> as a service to customers who have hired the commercial operator to drill wells and provide other drilling-related services.

In <FIG>, it is particularly noted that central drilling DB <NUM> may be a central repository that is accessible to drilling hubs <NUM> and drilling rigs <NUM>. Accordingly, central drilling DB <NUM> may store information for various drilling rigs <NUM> in different regions <NUM>. In some embodiments, central drilling DB <NUM> may serve as a backup for at least one regional drilling DB <NUM>, or may otherwise redundantly store information that is also stored on at least one regional drilling DB <NUM>. In turn, regional drilling DB <NUM> may serve as a backup or redundant storage for at least one drilling rig <NUM> in region <NUM>. For example, regional drilling DB <NUM> may store information collected by steering control system <NUM> from drilling rig <NUM>.

In some embodiments, the formulation of a drilling plan for drilling rig <NUM> may include processing and analyzing the collected data in regional drilling DB <NUM> 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 drilling rig <NUM> to improve drilling decisions. As noted, the functionality of steering control system <NUM> may be provided at drilling rig <NUM>, or may be provided, at least in part, at a remote processing resource, such as drilling hub <NUM> or central command <NUM>.

As noted, steering control system <NUM> may provide functionality as a surface steerable system for controlling drilling rig <NUM>. Steering control system <NUM> may have access to regional drilling DB <NUM> and central drilling DB <NUM> to provide the surface steerable system functionality. As will be described in greater detail below, steering control system <NUM> may be used to plan and control drilling operations based on input information, including feedback from the drilling process itself. Steering control system <NUM> may be used to perform operations such as receiving drilling data representing a drill trajectory and other drilling parameters, calculating a drilling solution for the drill trajectory based on the received data and other available data (e.g., rig characteristics), implementing the drilling solution at drilling rig <NUM>, monitoring the drilling process to gauge whether the drilling process is within a margin of error that is defined for the drill trajectory, or calculating corrections for the drilling process if the drilling process is outside of the margin of error.

Referring now to <FIG>, an example of rig control systems <NUM> is illustrated in schematic form. It is noted that rig control systems <NUM> may include fewer or more elements than shown in <FIG> in different embodiments. As shown, rig control systems <NUM> includes steering control system <NUM> and drilling rig <NUM>. Specifically, steering control system <NUM> is shown with logical functionality including an autodriller <NUM>, a bit guidance <NUM>, and an autoslide <NUM>. Drilling rig <NUM> is hierarchically shown including rig controls <NUM>, which provide secure control logic and processing capability, along with drilling equipment <NUM>, which represents the physical equipment used for drilling at drilling rig <NUM>. As shown , rig controls <NUM> include WOB/differential pressure control system <NUM>, positional/rotary control system <NUM>, fluid circulation control system <NUM>, and sensor system <NUM>, while drilling equipment <NUM> includes a draw works/snub <NUM>, top drive <NUM>, a mud pumping <NUM>, and an MWD/wireline <NUM>.

Steering control system <NUM> represent an instance of a processor having an accessible memory storing instructions executable by the processor, such as an instance of controller <NUM> shown in <FIG>. Also, WOB/differential pressure control system <NUM>, positional/rotary control system <NUM>, and fluid circulation control system <NUM> may each represent an instance of a processor having an accessible memory storing instructions executable by the processor, such as an instance of controller <NUM> shown in <FIG>, but for example, in a configuration as a programmable logic controller (PLC) that may not include a user interface but may be used as an embedded controller. Accordingly, it is noted that each of the systems included in rig controls <NUM> may be a separate controller, such as a PLC, and may autonomously operate, at least to a degree. Steering control system <NUM> may represent hardware that executes instructions to implement a surface steerable system that provides feedback and automation capability to an operator, such as a driller. For example, steering control system <NUM> may cause autodriller <NUM>, bit guidance <NUM> (also referred to as a bit guidance system (BGS)), and autoslide <NUM> (among others, not shown) to be activated and executed at an appropriate time during drilling. In particular implementations, steering control system <NUM> may be enabled to provide a user interface during drilling, such as the user interface <NUM> depicted and described below with respect to <FIG>. Accordingly, steering control system <NUM> may interface with rig controls <NUM> to facilitate manual, assisted manual, semi-automatic, and automatic operation of drilling equipment <NUM> included in drilling rig <NUM>. It is noted that rig controls <NUM> may also accordingly be enabled for manual or user-controlled operation of drilling, and may include certain levels of automation with respect to drilling equipment <NUM>.

In rig control systems <NUM> of <FIG>, WOB/differential pressure control system <NUM> may be interfaced with draw works/snubbing unit <NUM> to control WOB of drill string <NUM>. Positional/rotary control system <NUM> may be interfaced with top drive <NUM> to control rotation of drill string <NUM>. Fluid circulation control system <NUM> may be interfaced with mud pumping <NUM> to control mud flow and may also receive and decode mud telemetry signals. Sensor system <NUM> may be interfaced with MWD/wireline <NUM>, which may represent various BHA sensors and instrumentation equipment, among other sensors that may be downhole or at the surface.

In rig control systems <NUM>, autodriller <NUM> may represent an automated rotary drilling system and may be used for controlling rotary drilling. Accordingly, autodriller <NUM> may enable automate operation of rig controls <NUM> during rotary drilling, as indicated in the well plan. Bit guidance <NUM> may represent an automated control system to monitor and control performance and operation drilling bit <NUM>.

In rig control systems <NUM>, autoslide <NUM> may represent an automated slide drilling system and may be used for controlling slide drilling. Accordingly, autoslide <NUM> may enable automate operation of rig controls <NUM> during a slide, and may return control to steering control system <NUM> for rotary drilling at an appropriate time, as indicated in the well plan. In particular implementations, autoslide <NUM> may be enabled to provide a user interface during slide drilling to specifically monitor and control the slide. For example, autoslide <NUM> may rely on bit guidance <NUM> for orienting a tool face and on autodriller <NUM> to set WOB or control rotation or vibration of drill string <NUM>.

<FIG> illustrates one embodiment of control algorithm modules <NUM> used with steering control system <NUM>. The control algorithm modules <NUM> of <FIG> include: a slide control executor <NUM> that is responsible for managing the execution of the slide control algorithms; a slide control configuration provider <NUM> that is responsible for validating, maintaining, and providing configuration parameters for the other software modules; a BHA & pipe specification provider <NUM> that is responsible for managing and providing details of BHA <NUM> and drill string <NUM> characteristics; a borehole geometry model <NUM> that is responsible for keeping track of the borehole geometry and providing a representation to other software modules; a top drive orientation impact model <NUM> that is responsible for modeling the impact that changes to the angular orientation of top drive <NUM> have had on the tool face control; a top drive oscillator impact model <NUM> that is responsible for modeling the impact that oscillations of top drive <NUM> has had on the tool face control; an ROP impact model <NUM> that is responsible for modeling the effect on the tool face control of a change in ROP or a corresponding ROP set point; a WOB impact model <NUM> that is responsible for modeling the effect on the tool face control of a change in WOB or a corresponding WOB set point; a differential pressure impact model <NUM> that is responsible for modeling the effect on the tool face control of a change in differential pressure (DP) or a corresponding DP set point; a torque model <NUM> that is responsible for modeling the comprehensive representation of torque for surface, downhole, break over, and reactive torque, modeling impact of those torque values on tool face control, and determining torque operational thresholds; a tool face control evaluator <NUM> that is responsible for evaluating factors impacting tool face control and whether adjustments need to be projected, determining whether re-alignment off-bottom is indicated, and determining off-bottom tool face operational threshold windows; a tool face projection <NUM> that is responsible for projecting tool face behavior for top drive <NUM>, the top drive oscillator, and auto driller adjustments; a top drive adjustment calculator <NUM> that is responsible for calculating top drive adjustments resultant to tool face projections; an oscillator adjustment calculator <NUM> that is responsible for calculating oscillator adjustments resultant to tool face projections; and an autodriller adjustment calculator <NUM> that is responsible for calculating adjustments to autodriller <NUM> resultant to tool face projections.

<FIG> illustrates one embodiment of a steering control process <NUM> for determining a corrective action for drilling. Steering control process <NUM> may be used for rotary drilling or slide drilling in different embodiments.

Steering control process <NUM> in <FIG> illustrates a variety of inputs that can be used to determine an optimum corrective action. As shown in <FIG>, the inputs include formation hardness/unconfined compressive strength (UCS) <NUM>, formation structure <NUM>, inclination/azimuth <NUM>, current zone <NUM>, measured depth <NUM>, desired tool face <NUM>, vertical section <NUM>, bit factor <NUM>, mud motor torque <NUM>, reference trajectory <NUM>, vertical section <NUM>, bit factor <NUM>, torque <NUM> and angular velocity <NUM>. In <FIG>, reference trajectory <NUM> of borehole <NUM> is determined to calculate a trajectory misfit in a step <NUM>. Step <NUM> may output the trajectory misfit to determine a corrective action to minimize the misfit at step <NUM>, which may be performed using the other inputs described above. Then, at step <NUM>, the drilling rig is caused to perform the corrective action.

It is noted that in some implementations, at least certain portions of steering control process <NUM> may be automated or performed without user intervention, such as using rig control systems <NUM> (see <FIG>). In other implementations, the corrective action in step <NUM> may be provided or communicated (by display, SMS message, email, or otherwise) to one or more human operators, who may then take appropriate action. The human operators may be members of a rig crew, which may be located at or near drilling rig <NUM>, or may be located remotely from drilling rig <NUM>.

Referring to <FIG>, one embodiment of a user interface <NUM> that may be generated by steering control system <NUM> for monitoring and operation by a human operator is illustrated. User interface <NUM> may provide many different types of information in an easily accessible format. For example, user interface <NUM> may be shown on a computer monitor, a television, a viewing screen (e.g., a display device) associated with steering control system <NUM>.

As shown in <FIG>, user interface <NUM> provides visual indicators such as a hole depth indicator <NUM>, a bit depth indicator <NUM>, a GAMMA indicator <NUM>, an inclination indicator <NUM>, an azimuth indicator <NUM>, and a TVD indicator <NUM>. Other indicators may also be provided, including a ROP indicator <NUM>, a mechanical specific energy (MSE) indicator <NUM>, a differential pressure indicator <NUM>, a standpipe pressure indicator <NUM>, a flow rate indicator <NUM>, a rotary RPM (angular velocity) indicator <NUM>, a bit speed indicator <NUM>, and a WOB indicator <NUM>.

In <FIG>, at least some of indicators <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> may include a marker representing a target value. For example, markers may be set as certain given values, but it is noted that any desired target value may be used. Although not shown, in some embodiments, multiple markers may be present on a single indicator. The markers may vary in color or size. For example, ROP indicator <NUM> may include a marker <NUM> indicating that the target value is <NUM> feet/hour (or <NUM>/h). MSE indicator <NUM> may include a marker <NUM> indicating that the target value is <NUM> ksi (or <NUM> MPa). Differential pressure indicator <NUM> may include a marker <NUM> indicating that the target value is <NUM> psi (or <NUM> kPa). ROP indicator <NUM> may include a marker <NUM> indicating that the target value is <NUM> feet/hour (or <NUM>/h). Standpipe pressure indicator <NUM> may have no marker in the present example. Flow rate indicator <NUM> may include a marker <NUM> indicating that the target value is <NUM> gpm (or <NUM>/s). Rotary RPM indicator <NUM> may include a marker <NUM> indicating that the target value is <NUM> RPM (e.g., due to sliding). Bit speed indicator <NUM> may include a marker <NUM> indicating that the target value is <NUM> RPM. WOB indicator <NUM> may include a marker <NUM> indicating that the target value is <NUM> klbs (or <NUM>,<NUM>). Each indicator may also include a colored band, 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).

In <FIG>, a log chart <NUM> may visually indicate depth versus one or more measurements (e.g., may represent log inputs relative to a progressing depth chart). For example, log chart <NUM> may have a Y-axis representing depth and an X-axis representing a measurement such as GAMMA count <NUM> (as shown), ROP <NUM> (e.g., empirical ROP and normalized ROP), or resistivity. An autopilot button <NUM> and an oscillate button <NUM> may be used to control activity. For example, autopilot button <NUM> may be used to engage or disengage autodriller <NUM>, while oscillate button <NUM> may be used to directly control oscillation of drill string <NUM> or to engage/disengage an external hardware device or controller.

In <FIG>, a circular chart <NUM> may provide current and historical tool face orientation information (e.g., which way the bend is pointed). For purposes of illustration, circular chart <NUM> represents three hundred and sixty degrees. A series of circles within circular chart <NUM> may represent a timeline of tool face 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 a largest circle <NUM> may be the newest reading and a smallest circle <NUM> may be the oldest reading. In other embodiments, circles <NUM>, <NUM> may represent the energy or progress made via size, color, shape, a number within a circle, etc. For example, a 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 circular chart <NUM> being the most recent time and the center point being the oldest time) may be used to indicate the energy or progress (e.g., via color or patterning such as dashes or dots rather than a solid line).

In user interface <NUM>, circular chart <NUM> may also be color coded, with the color coding existing in a band <NUM> around circular chart <NUM> 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 tool face orientation with little deviation. As shown in user interface <NUM>, the color blue may extend from approximately <NUM>-<NUM> degrees, the color green may extend from approximately <NUM>-<NUM> degrees and <NUM>-<NUM> degrees, the color yellow may extend a few degrees around the <NUM> and <NUM> degree marks, while the color red may extend from approximately <NUM>-<NUM> degrees. Transition colors or shades may be used with, for example, the color orange marking the transition between red and yellow or a light blue marking the transition between blue and green. This color coding may enable user interface <NUM> 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, user interface <NUM> may clearly show that the target is at <NUM> degrees but the center of energy is at <NUM> degrees.

In user interface <NUM>, other indicators, such as a slide indicator <NUM>, may indicate how much time remains until a slide occurs or how much time remains for a current slide. For example, slide indicator <NUM> may represent a time, a percentage (e.g., as shown, a current slide may be <NUM>% complete), a distance completed, or a distance remaining. Slide indicator <NUM> may graphically display information using, for example, a colored bar <NUM> that increases or decreases with slide progress. In some embodiments, slide indicator <NUM> may be built into circular chart <NUM> (e.g., around the outer edge with an increasing/decreasing band), while in other embodiments slide indicator <NUM> may be a separate indicator such as a meter, a bar, a gauge, or another indicator type. In various implementations, slide indicator <NUM> may be refreshed by autoslide <NUM>.

In user interface <NUM>, an error indicator <NUM> may indicate a magnitude and a direction of error. For example, error indicator <NUM> may indicate that an estimated drill bit position is a certain distance from the planned trajectory, with a location of error indicator <NUM> around the circular chart <NUM> representing the heading. For example, <FIG> illustrates an error magnitude of <NUM> feet and an error direction of <NUM> degrees. Error indicator <NUM> may be any color but may be red for purposes of example. It is noted that error indicator <NUM> may present a zero if there is no error. Error indicator may represent that drill bit <NUM> is on the planned trajectory using other means, such as being a green color. Transition colors, such as yellow, may be used to indicate varying amounts of error. In some embodiments, error indicator <NUM> may not appear unless there is an error in magnitude or direction. A marker <NUM> 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 or distance.

It is noted that user interface <NUM> 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) when 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 <NUM> feet/hour). For example, ROP indicator <NUM> may have a green bar to indicate a normal level of operation (e.g., from <NUM>-<NUM> feet/hour), a yellow bar to indicate a warning level of operation (e.g., from <NUM>-<NUM> feet/hour), and a red bar to indicate a dangerous or otherwise out of parameter level of operation (e.g., from <NUM>-<NUM> feet/hour). ROP indicator <NUM> may also display a marker at <NUM> feet/hour to indicate the desired target ROP.

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, user interface <NUM> may provide a customizable view of various drilling processes and information for a particular individual involved in the drilling process. For example, steering control system <NUM> may enable a user to customize the user interface <NUM> as desired, although certain features (e.g., standpipe pressure) may be locked to prevent a user from intentionally or accidentally removing important drilling information from user interface <NUM>. Other features and attributes of user interface <NUM> may be set by user preference. Accordingly, the level of customization and the information shown by the user interface <NUM> may be controlled based on who is viewing user interface <NUM> and their role in the drilling process.

Referring to <FIG>, one embodiment of a guidance control loop (GCL) <NUM> is shown in further detail GCL <NUM> may represent one example of a control loop or control algorithm executed under the control of steering control system <NUM>. GCL <NUM> may include various functional modules, including a build rate predictor <NUM>, a geo modified well planner <NUM>, a borehole estimator <NUM>, a slide estimator <NUM>, an error vector calculator <NUM>, a geological drift estimator <NUM>, a slide planner <NUM>, a convergence planner <NUM>, and a tactical solution planner <NUM>. In the following description of GCL <NUM>, the term "external input" refers to input received from outside GCL <NUM>, while "internal input" refers to input exchanged between functional modules of GCL <NUM>.

In <FIG>, build rate predictor <NUM> receives external input representing BHA information and geological information, receives internal input from the borehole estimator <NUM>, and provides output to geo modified well planner <NUM>, slide estimator <NUM>, slide planner <NUM>, and convergence planner <NUM>. Build rate predictor <NUM> is configured to use the BHA information and geological information to predict drilling build rates of current and future sections of borehole <NUM>. For example, build rate predictor <NUM> may determine how aggressively a curve will be built for a given formation with BHA <NUM> and other equipment parameters.

In <FIG>, build rate predictor <NUM> may use the orientation of BHA <NUM> 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 a strata layer of rock is below a strata layer of sand, a formation transition exists between the strata layer of sand and the strata layer of rock. Approaching the strata layer of rock at a <NUM> degree angle may provide a good tool face and a clean drill entry, while approaching the rock layer at a <NUM> degree angle may build a curve relatively quickly. An angle of approach that is near parallel may cause drill bit <NUM> to skip off the upper surface of the strata layer of rock. Accordingly, build rate predictor <NUM> may calculate BHA orientation to account for formation transitions. Within a single strata layer, build rate predictor <NUM> may use the BHA orientation to account for internal layer characteristics (e.g., grain) to determine build rates for different parts of a strata layer. 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 may enable a calculation-based prediction of the build rates and ROP that may be compared to both results obtained while drilling borehole <NUM> and regional historical results (e.g., from the regional drilling DB <NUM>) to improve the accuracy of predictions as drilling progresses. Build rate predictor <NUM> may also be used to plan convergence adjustments and confirm in advance of drilling that targets can be achieved with current parameters.

In <FIG>, geo modified well planner <NUM> receives external input representing a well plan, internal input from build rate predictor <NUM> and geo drift estimator <NUM>, and provides output to slide planner <NUM> and error vector calculator <NUM>. Geo modified well planner <NUM> uses the input to determine whether there is a more desirable trajectory than that provided by the well plan, while staying within specified error limits. More specifically, geo modified well planner <NUM> takes geological information (e.g., drift) and calculates whether another trajectory solution to the target may be more efficient in terms of cost or reliability. The outputs of geo modified well planner <NUM> to slide planner <NUM> and error vector calculator <NUM> may be used to calculate an error vector based on the current vector to the newly calculated trajectory and to modify slide predictions. In some embodiments, geo modified well planner <NUM> (or another module) may provide functionality needed to track a formation trend. For example, in horizontal wells, a geologist may provide steering control system <NUM> with a target inclination angle as a set point for steering control system <NUM> to control. For example, the geologist may enter a target to steering control system <NUM> of <NUM> - <NUM> degrees of inclination angle for a section of borehole <NUM>. Geo modified well planner <NUM> may then treat the target as a vector target, while remaining within the error limits of the original well plan. In some embodiments, geo modified well planner <NUM> 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 steering control system <NUM> as non-modifiable, geo modified well planner <NUM> may be bypassed altogether or geo modified well planner <NUM> may be configured to pass the well plan through without any changes.

In <FIG>, borehole estimator <NUM> may receive external inputs representing BHA information, measured depth information, survey information (e.g., azimuth angle and inclination angle), and may provide outputs to build rate predictor <NUM>, error vector calculator <NUM>, and convergence planner <NUM>. Borehole estimator <NUM> may be configured to provide an estimate of the actual borehole and drill bit position and trajectory angle without delay, based on either straight line projections or projections that incorporate sliding. Borehole estimator <NUM> may be used to compensate for a sensor being physically located some distance behind drill bit <NUM> (e.g., <NUM> feet) in drill string <NUM>, which makes sensor readings lag the actual bit location by <NUM> feet. Borehole estimator <NUM> may also be used to compensate for sensor measurements that may not be continuous (e.g., a sensor measurement may occur every <NUM> feet). Borehole estimator <NUM> may provide the most accurate estimate from the surface to the last survey location based on the collection of survey measurements. Also, borehole estimator <NUM> may take the slide estimate from slide estimator <NUM> (described below) and extend the slide estimate from the last survey point to a current location of drill bit <NUM>. Using the combination of these two estimates, borehole estimator <NUM> may provide steering control system <NUM> 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.

In <FIG>, slide estimator <NUM> receives external inputs representing measured depth and differential pressure information, receives internal input from build rate predictor <NUM>, and provides output to borehole estimator <NUM> and geo modified well planner <NUM>. Slide estimator <NUM> may be configured to sample tool face orientation, differential pressure, measured depth (MD) incremental movement, MSE, and other sensor feedback to quantify/estimate a deviation vector and progress while sliding.

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 downhole survey sensor point passes the slide portion of the borehole, often resulting in a response lag defined by a distance of the sensor point from the drill bit tip (e.g., approximately <NUM> feet). Such a response lag may introduce inefficiencies in the slide cycles due to over/under correction of the actual trajectory relative to the planned trajectory.

In GCL <NUM>, using slide estimator <NUM>, each tool face update may be algorithmically merged with the average differential pressure of the period between the previous and current tool face readings, as well as the MD change during this period to predict the direction, angular deviation, and MD progress during the period. As an example, the periodic rate may be between <NUM> and <NUM> seconds per cycle depending on the tool face update rate of downhole tool <NUM>. With a more accurate estimation of the slide effectiveness, the sliding efficiency can be improved. The output of slide estimator <NUM> may accordingly be periodically provided to borehole estimator <NUM> for accumulation of well deviation information, as well to geo modified well planner <NUM>. Some or all of the output of the slide estimator <NUM> may be output to an operator, such as shown in the user interface <NUM> of <FIG>.

In <FIG>, error vector calculator <NUM> may receive internal input from geo modified well planner <NUM> and borehole estimator <NUM>. Error vector calculator <NUM> may be configured to compare the planned well trajectory to an actual borehole trajectory and drill bit position estimate. Error vector calculator <NUM> may provide the metrics used to determine the error (e.g., how far off) the current drill bit position and trajectory are from the well plan. For example, error vector calculator <NUM> may calculate the error between the current bit position and trajectory to the planned trajectory and the desired bit position. Error vector calculator <NUM> may also calculate a projected bit position/projected trajectory representing the future result of a current error.

In <FIG>, geological drift estimator <NUM> receives external input representing geological information and provides outputs to geo modified well planner <NUM>, slide planner <NUM>, and tactical solution planner <NUM>. 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 ROP and BHA <NUM>. Geological drift estimator <NUM> is configured to provide a drift estimate as a vector that can then be used to calculate drift compensation parameters that can be used to offset the drift in a control solution.

In <FIG>, slide planner <NUM> receives internal input from build rate predictor <NUM>, geo modified well planner <NUM>, error vector calculator <NUM>, and geological drift estimator <NUM>, and provides output to convergence planner <NUM> as well as an estimated time to the next slide. Slide planner <NUM> may be configured to evaluate a slide/drill ahead cost calculation and plan for sliding activity, which may include factoring in BHA wear, expected build rates of current and expected formations, and the well plan trajectory. During drill ahead, slide planner <NUM> may attempt to forecast an estimated time of the next slide to aid with planning. For example, if additional lubricants (e.g., fluorinated beads) are indicated for the next slide, and pumping the lubricants into drill string <NUM> has a lead time of <NUM> 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. Functionality for a loss circulation material (LCM) planner may be provided as part of slide planner <NUM> 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 should 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.

In <FIG>, slide planner <NUM> may also look at the current position relative to the next connection. A connection may happen every <NUM> to <NUM> feet (or some other distance or distance range based on the particulars of the drilling operation) and slide planner <NUM> may avoid planning a slide when close to a connection or when the slide would carry through the connection. For example, if the slide planner <NUM> is planning a <NUM> foot slide but only <NUM> feet remain until the next connection, slide planner <NUM> may calculate the slide starting after the next connection and make any changes to the slide parameters to accommodate waiting to slide until after the next connection. Such flexible implementation avoids inefficiencies that may be caused by starting the slide, stopping for the connection, and then having to reorient the tool face before finishing the slide. During slides, slide planner <NUM> may provide some feedback as to the progress of achieving the desired goal of the current slide. In some embodiments, slide planner <NUM> may account for reactive torque in drill string <NUM>. More specifically, when rotating is occurring, there is a reactional torque wind up in drill string <NUM>. When the rotating is stopped, drill string <NUM> unwinds, which changes tool face orientation and other parameters. When rotating is started again, drill string <NUM> starts to wind back up. Slide planner <NUM> may account for the reactional torque so that tool face references are maintained, rather than stopping rotation and then trying to adjust to a desired tool face orientation. While not all downhole tools may provide tool face orientation when rotating, using one that does supply such information for GCL <NUM> may significantly reduce the transition time from rotating to sliding.

In <FIG>, convergence planner <NUM> receives internal inputs from build rate predictor <NUM>, borehole estimator <NUM>, and slide planner <NUM>, and provides output to tactical solution planner <NUM>. Convergence planner <NUM> 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 trajectory. The convergence plan represents a path from the current drill bit position to an achievable and desired convergence target point along the planned trajectory. The convergence plan may take account the amount of sliding/drilling ahead that has been planned to take place by slide planner <NUM>. Convergence planner <NUM> may also use BHA orientation information for angle of attack calculations when determining convergence plans as described above with respect to build rate predictor <NUM>. The solution provided by convergence planner <NUM> defines a new trajectory solution for the current position of drill bit <NUM>. The solution may be immediate without delay, or planned for implementation at a future time that is specified in advance.

In <FIG>, tactical solution planner <NUM> receives internal inputs from geological drift estimator <NUM> and convergence planner <NUM>, and provides external outputs representing information such as tool face orientation, differential pressure, and mud flow rate. Tactical solution planner <NUM> is configured to take the trajectory solution provided by convergence planner <NUM> and translate the solution into control parameters that can be used to control drilling rig <NUM>. For example, tactical solution planner <NUM> may convert the solution into settings for control systems <NUM>, <NUM>, and <NUM> to accomplish the actual drilling based on the solution. Tactical solution planner <NUM> may also perform performance optimization to optimizing the overall drilling operation as well as optimizing the drilling itself (e.g., how to drill faster).

Other functionality may be provided by GCL <NUM> 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 tool face. Accordingly, GCL <NUM> may receive information corresponding to the rotational position of the drill pipe on the surface. GCL <NUM> may use this surface positional information to calculate current and desired tool face orientations. These calculations may then be used to define control parameters for adjusting the top drive <NUM> to accomplish adjustments to the downhole tool face in order to steer the trajectory of borehole <NUM>.

For purposes of example, an object-oriented software approach may be utilized to provide a class-based structure that may be used with GCL <NUM> or other functionality provided by steering control system <NUM>. In GCL <NUM>, a drilling model class may be defined to capture and define the drilling state throughout the drilling process. The drilling model class may include information obtained without delay. The drilling model 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 drilling model class may produce a control output solution and may be executed via a main processing loop that rotates through the various modules of GCL <NUM>. The drill bit model may represent the current position and state of drill bit <NUM>. The drill bit model may include a three dimensional (3D) position, a drill bit trajectory, BHA information, bit speed, and tool face (e.g., orientation information). The 3D 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 angle 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. The borehole model may include 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 current drilling of borehole <NUM>. The borehole diameters may represent the diameters of borehole <NUM> as drilled over current drilling. 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 draw works 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 may represent the control parameters for drilling rig <NUM>.

Each functional module of GCL <NUM> may have behavior encapsulated within a respective class definition. During a processing window, the individual functional modules may have an exclusive portion in time to execute and update the drilling model. For purposes of example, the processing order for the functional modules may be in the sequence of geo modified well planner <NUM>, build rate predictor <NUM>, slide estimator <NUM>, borehole estimator <NUM>, error vector calculator <NUM>, slide planner <NUM>, convergence planner <NUM>, geological drift estimator <NUM>, and tactical solution planner <NUM>. It is noted that other sequences may be used in different implementations.

In <FIG>, GCL <NUM> may rely on a programmable timer module that provides a timing mechanism to provide timer event signals to drive the main processing loop. While steering control system <NUM> may rely on timer and date calls driven by the programming environment, timing may be obtained from other sources than system time. In situations where it may be advantageous to manipulate the clock (e.g., for evaluation and testing), a programmable timer module may be used to alter the system time. For example, the programmable timer module may enable a default time set to the system time and a time scale of <NUM>, may enable the system time of steering control system <NUM> to be manually set, may enable the time scale relative to the system time to be modified, or may enable periodic event time requests scaled to a requested time scale.

Referring now to <FIG>, a block diagram illustrating selected elements of an embodiment of a controller <NUM> for performing surface steering according to the present disclosure. In various embodiments, controller <NUM> may represent an implementation of steering control system <NUM>. In other embodiments, at least certain portions of controller <NUM> may be used for control systems <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> (see <FIG>).

In the embodiment depicted in <FIG>, controller <NUM> includes processor <NUM> coupled via shared bus <NUM> to storage media collectively identified as memory media <NUM>.

Controller <NUM>, as depicted in <FIG>, further includes network adapter <NUM> that interfaces controller <NUM> to a network (not shown in <FIG>). In embodiments suitable for use with user interfaces, controller <NUM>, as depicted in <FIG>, may include peripheral adapter <NUM>, which provides connectivity for the use of input device <NUM> and output device <NUM>. Input device <NUM> may represent a device for user input, such as a keyboard or a mouse, or even a video camera. Output device <NUM> may represent a device for providing signals or indications to a user, such as loudspeakers for generating audio signals.

Controller <NUM> is shown in <FIG> including display adapter <NUM> and further includes a display device <NUM>. Display adapter <NUM> may interface shared bus <NUM>, or another bus, with an output port for one or more display devices, such as display device <NUM>. Display device <NUM> may be implemented as a liquid crystal display screen, a computer monitor, a television or the like. Display device <NUM> may comply with a display standard for the corresponding type of display. Standards for computer monitors include analog standards such as video graphics array (VGA), extended graphics array (XGA), etc., or digital standards such as digital visual interface (DVI), definition multimedia interface (HDMI), among others. A television display may comply with standards such as NTSC (National Television System Committee), PAL (Phase Alternating Line), or another suitable standard. Display device <NUM> may include an output device <NUM>, such as one or more integrated speakers to play audio content, or may include an input device <NUM>, such as a microphone or video camera.

In <FIG>, memory media <NUM> encompasses persistent and volatile media, fixed and removable media, and magnetic and semiconductor media. Memory media <NUM> is operable to store instructions, data, or both. Memory media <NUM> as shown includes sets or sequences of instructions <NUM>-<NUM>, namely, an operating system <NUM> and surface steering control <NUM>. Operating system <NUM> may be a UNIX or UNIX-like operating system, a Windows® family operating system, or another suitable operating system. Instructions <NUM> may also reside, completely or at least partially, within processor <NUM> during execution thereof. It is further noted that processor <NUM> may be configured to receive instructions <NUM>-<NUM> from instructions <NUM>-<NUM> via shared bus <NUM>. In some embodiments, memory media <NUM> is configured to store and provide executable instructions for executing GCL <NUM>, as mentioned previously, among other methods and operations disclosed herein.

The following disclosure explains additional and improved methods and systems for drilling. In particular, the following systems and methods can be useful to reduce dogleg severity in the wellbore and also obtain more accurate placement of the wellbore. The following methods and systems can be used to drill with less friction, which helps optimize rate of penetration and thus results in less cost to drill the well. It should be noted that the following methods may be implemented by a computer system such as any of those described above. For example, the computer system used to perform the methods described below may be a part of the steering control system <NUM>, a part of the rig controls system <NUM>, a part of the drilling system <NUM>, included with the controller <NUM>, or may be a similar or different computer system and may be coupled to one or more of the foregoing systems. The computer system may be located at or near the rig site, or may be located at a remote location from the rig site, and may be configured to transmit and receive data to and from a rig site while a well is being drilled. Moreover, it should be noted that the computer system and/or the control system for controlling the variable weight or force may be located in the BHA or near the bit.

Accurate modelling of the drillstring and automation of the drilling process can be used to allow mud motor drilling to achieve any dogleg severity up to its maximum yield with minimal torque and drag. As used herein, "SWIFT" stands for Sliding With Indexing For Toolface and describes a method whereby the normal slide/rotate patterns of mud motor drilling can be replaced by frequent, regular changes of toolface to fixed values which on average produce the desired dogleg severity in the desired toolface plane. SWIFT drilling techniques can be used to drill the wellpath with less tortuosity than a conventional slide/rotate drilling pattern and can be used to disturb friction rotationally much of the time during drilling and thus help reduce updrag.

When a simple slide/rotate drilling pattern is used, it is common to determine a slide of the wellbore 'ratio' and then slide drill only for as much of a stand of pipe as is needed to achieve the desired wellbore curvature, and perform rotary drilling for the rest of the stand. The issues with this are twofold. Firstly, the slide ratio which can be defined as the Planned Dogleg Severity / Motor Yield can be only <NUM>% or even lower. For example, if the well plan requires a dogleg severity (DLS) of <NUM>°/100ft but the motor is capable of <NUM>°/100ft, the slide ratio is <NUM>% so the drilling only needs to slide 45ft of every 90ft stand of pipe to achieve <NUM>°/100ft on average. In practice, however, the geometry delivered will be a <NUM>°/100ft curve for 45ft and approximately a straight line for 45ft. This produces a peculiar result when the subsequent surveys are processed. Conventional minimum curvature techniques typically used to locate the wellbore will assume a single arc from A to B producing the solid curved line shown on <FIG> but in practice it is the dashed curve with short dashed and the straight long dashed line that were drilled and clearly the position at B in <FIG> is different for the two paths. This positional error is known as the Stockhausen Effect. The impact on the calculated wellpath position over an entire build from vertical to horizontal is to accumulate a total TVD Error of δTVD =. <NUM> * Md Interval * (<NUM> - Slide Ratio).

If surveys are taken every 90ft and the slide ratio is. <NUM> (<NUM>%), one would expect a final TVD error of. <NUM>*<NUM>*(<NUM>-<NUM>)= <NUM>. If the rotary drilling occurs before the slide drilling, the TVD error is -<NUM>. Notice that the TVD error is not dependent on the build rate. Larger radii produce smaller errors when going from curve to straight but the length over which the angle is generated is directly proportional to the radius so the net effect cancels out. This is not detectable in the surveys and yet can be a significant error affecting geological modelling and optimal positioning of the wellbore in the target reservoir.

The additional sharp curvature in the wellbore has to be navigated by both the drill pipe and casing in due course, and all downhole tools, including without limitation rotary steering systems, and can have significantly higher torque and drag effects than might be anticipated for a smoother curvature of the wellbore. This sharper curvature reduces the penetration rate, adding to the cost of drilling the well. Further, the penetration rate when sliding is typically two to three times slower than when rotary drilling. In short, if the wellpath is smoother and the drillstring is disturbed rotationally while drilling, the positioning is more accurate, the penetration rate is higher, and the wellbore's completion is easier, and the risk of equipment damage or sticking is greatly reduced.

SWIFT Example One: As a broad description, SWIFT drilling can be viewed as a repeated pattern of frequent toolface settings and spindle rotations to achieve the desired geometry of the wellbore. By sliding and rotating over very short lengths, the net effect is very similar to a smooth curve of a larger radius than the BHA would produce in purely slide mode. This can be illustrated by way of examples.

If one wished to build the wellbore curve at <NUM>°/100ft with a BHA capable of drilling <NUM>°/100ft, one could repeat a simple time-based pattern as follows.

Since we can predict the time required for a spindle change at the surface to arrive downhole at the bit, we can start to adjust the one wrap change after that time to maintain target toolface. For example, if the toolface requires a movement to be <NUM> degrees right of what has been delivered, the one wrap change would actually be <NUM> degrees instead of <NUM> degrees. The effect of this process is that the Stockhausen Effect takes place over much shorter intervals and accumulates to effectively zero. If the ROP value was 180ft/hour, the progress made in <NUM> seconds is only <NUM> inches and the curve offset created with a <NUM>°/100ft DLS is only 7inches * sin(<NUM>*. <NUM>) = <NUM>/<NUM>th of an inch.

SWIFT Example Two: Suppose one requires a <NUM>°/100ft dogleg severity from a <NUM>°/100ft motor. For simplicity, we will assume constant ROP whether rotating or sliding.

Only the first action is curving the wellbore on target. The first slide for <NUM> seconds is cancelled out by the second slide for <NUM> seconds, and in every <NUM> seconds only <NUM> seconds of drilling is on target creating a final yield of <NUM> (assuming constant ROP).

It can be seen therefore that any motor yield is possible by adjusting the amount of time spent on each toolface. However, in practice when changes are made they will not be at constant RPM and the changes take time to propagate downhole. The propagation predictions and reactive torque predictions will not be accurate, the rock hardness will vary, and the toolfaces will be pulsed with a time delay. However SWIFT drilling can provide additional benefits even when these uncertainties exist.

The variations in RPM, the time propagation down hole and the reactive torque, rock hardness, and pulsing delays are likely to be consistent for the duration of drilling a single slide in a single formation so the observed errors can be measured and adjusted accordingly. If the inclination change and azimuth change achieved in a stand indicate a delivered toolface left of target or the pulsed toolfaces indicate a left of target error, the primary stationary spindle position can be adjusted to the right accordingly. If the measured yield is too high, the timing on the offset toolfaces or the time spent rotating can be increased, if too low, they can be increased. In some examples, the following procedures can be automated in whole or in part by a computer system such as any of those described above to implement the SWIFT method of drilling. Initially the system can use the prediction model to estimate the starting parameters at the start of a stand of pipe. These include;.

Once a starting or initial set of parameters is input, received, or determined by the computer system, it can implement the SWIFT drilling technique and measure the total cycle time required to rotate from one index to the next and adjust the RPM or the slide time until the slide rotate balance matches the right values to produce the desired DLS. In some examples, the SWIFT drilling technique is implemented by performing the following steps:.

It should be noted that, with a good model of the drillstring, surface sensors can be used to provide data that in turn can be used to estimate other drilling parameters, which can be updated with data received from downhole while drilling. For example, a drillstring model can be used to predict or estimate a current toolface value based on surface torque and standpipe pressure values, with the estimated toolface value updated when a value for the toolface is received at the surface from downhole. The computer system can be programmed with the drillstring model so that initial parameters are updated based on measured values of various drilling parameters (e.g., WOB, ROP, RPM, surface torque, standpipe pressure, differential pressure, toolface, etc.) and are used to automatically estimate updated values as the drilling operations continue. In addition, the computer system can be programmed so that the drillstring model is updated as drilling progresses to more accurately reflect the relationships of one or more drilling parameters to each other. Although a few specific examples are provided here, it should be noted that any combination of these approaches can be used to create a drilling efficiency bias by either targeted drilling efficiency in a target toolface range or by dwelling in a target toolface range to create non-uniform directional progress while reducing overall tortuosity. Examples are also provided with processing and adjustments to parameters being controlled from the surface based on a combination of feedback from models, downhole sensors, and/or surface sensor measurements. It is also possible to implement such a system within a downhole tool system above, below, or embedded into a downhole mud motor system. For instance, a telescoping WOB control system could be used in a complete downhole control loop implementation or in combination with surface controls and sensors.

The computer system may also be programmed to apply a set of rules to prevent damage to the wellbore and/or the drilling rig. The rules may include upper or lower threshold limits for various drilling parameters, or may include target parameter ranges. The computer system can monitor the drilling parameters automatically while drilling progresses to check if any of the parameters exceeds an upper limit, falls below a lower limit, or falls outside a target range. If such an event occurs, the computer system can be programmed to take corrective action, such as by generating an audible or visual alert, sending a message such as an email or text message, and/or adjusting one or more drilling parameters or even shutting down drilling activity in circumstances in which a dangerous condition is determined to exist.

As used herein, "VWD" stands for Variable Weight Drilling which describes a method whereby the BHA and drillstring are in constant rotation but as the BHA passes the desired toolface, the weight on bit is increased such that reactive torque slows the BHA revolutions down and on approach to the target toolface, the weight on bit is reduced. This procedure is similar to the SWIFT drilling procedure above, but in this case the drillstring maintains rotational disturbance. This technique can take advantage of processing in the MWD to smooth and pulse the shape of the toolface curve observed downhole. Like the SWIFT drilling techniques described above, VWB techniques can be used to minimize tortuosity of the wellbore and can be used to minimize friction and updrag.

In the curve shown in <FIG>, it can be seen that the toolface observations when rotating are noisy with high frequency vibration, some outliers in the data, and some evidence of a slow frequency drillstring vibration. By smoothing the data, a fitted function can be derived over the period indicated by the bold line. The MWD data can be pulsed to surface, including the phase and the key function parameters for the best fit over the last several periods. The period itself will average at the spindle period. This can be in the form: Absolute time at <NUM> for last zero observation, with Polynormal parameters a, b and c describing the fit curve in the form Toolface=at<NUM> +bt<NUM> + ct<NUM>+ dt + e, where a, b, c, d, and e are the parameters and t is the time since the start of the period. One can assume the first observation is <NUM> and the last is <NUM>, so d and e can be derived and need not be pulsed to the surface.

The effective yield on a target toolface when drilling on any other toolface is the yield*cos(Toolface - Target Toolface).

The pulsed toolface values can be observed while rotating and fit a cos(Toolface-Target Toolface) versus time smoothed curve to best match the frequency (but not the phase) of the spindle RPM, such as shown in <FIG>.

Allowing for the anticipated time required for a block velocity change to propagate downhole to the bit if a variation in block velocity is applied, one can superimpose a weight on bit pattern which can be converted to an anticipated pattern of consequent reactive torque, such as shown in <FIG>.

In <FIG>, the thin line shows the weight on bit pattern over time. With weight on bit rising, the reactive torque has a negative effect on toolface. When the weight on bit is falling, this has a positive effect on toolface.

When these two effects on toolface are combined, a new waveform is generated for the toolface curve downhole and consequently for the cosine of the resultant toolface, such as shown in <FIG>.

<FIG> shows the effect of superimposing a weight on bit pattern on the original toolface curve. The BHA spends more time close to the target toolface and rapidly passes through the opposite quadrants. The function parameters will change with the consequent effect on the cosine curves.

<FIG> shows the cos(toolface + Reactive Torque) and is the curve drawn with a short dashed line with dot shading underneath, with the new average cos(toolface) shown by the long dashed line in <FIG>.

As indicated in <FIG>, the new average creates a yield bias in the direction of the target toolface. With careful balancing of the amplitude and phase of the imposed weight on bit pattern, it is possible to produce a symmetry that maximises yield in any desired direction or cancels it completely.

<FIG> shows the minimum yield when the weight on bit arrives <NUM> degrees from the spindle phase.

<FIG> shows the maximum yield when weight arrives <NUM> degrees from spindle phase, with the effect that when the toolface passes beyond the target, the weight on bit is increased to increase the reactive torque and keep the toolface closer to target, and on approach to target the weight on bit is decreased to speed up progress towards the target toolface. This approach maintains a rotary motion of the drillstring, thereby breaking friction and increasing ROP.

<FIG> shows a block diagram of the sequence of events for one embodiment of VWD.

Claim 1:
A computer system for controlling drilling operations, the computer system comprising:
a processor;
a memory coupled to the processor, wherein the memory comprises instructions executable by the processor for:
(a) determining values for a plurality of drilling parameters;
(b) responsive to the determined values of the plurality of drilling parameters, setting a plurality of operating parameters for slide drilling in a wellbore;
(c) determining an amount of change in weight on bit (WOB) during drilling;
(d) responsive to a desired amount of change in WOB, determining an effect on toolface;
(e) determining a time for WOB to be delivered to a bit;
(f) determining a spindle change required to modify the toolface to a toolface target;
(g) sending a signal to apply the determined spindle change;
(h) sending a signal to apply a traveling block velocity change to correct an anticipated toolface error value when the traveling block velocity change manifests at the bit; and
(i) repeating step (h) during a time period for the toolface to reach the toolface target.