Wireline operations, such as logging or intervention, are widely used in oil and gas industry to perform operation in a wellbore. The various operation performed using wireline tools include measurement of the properties of a formation using electronic instruments, repositioning of downhole flow control devices, etc. In wireline operations, a tool string is lowered into the wellbore by means of cable and winch.
Apparatus and methods for controlling a hydraulic winch are disclosed herein. In one example, a method for controlling a hydraulic winch includes acquiring measurements from sensors coupled to the hydraulic winch. A first control function is computed based on the measurements. The first control function sets pressure across a variable displacement motor that produces motion of the tool string following a desired motion trajectory. A second control function is computed. The second control function sets displacement of a variable displacement pump that causes the pressure across the variable displacement motor to track the first control function. A pump command is selected based on the second control function. The pump command is transmitted to the variable displacement pump. The tool string moves responsive to the pump command.
For a detailed description of various examples, reference will now be made to the accompanying drawings in which:
Certain terms have been used throughout this description and claims to refer to particular system components. As one skilled in the art will appreciate, different parties may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In this disclosure and claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect or direct connection. Thus, if a first device couples to a second device, that connection may be through a direct connection or through an indirect connection via other devices and connections. The recitation “based on” is intended to mean “based at least in part on.” Therefore, if X is based on Y, X may be a function of Y and any number of other factors.
In conventional wireline operations, a human operator manually controls the hydraulic winch to provide tool string movement that follows a desired motion profile. The winch control system disclosed herein controls hydraulic winch or tool string motion following a desired motion profile automatically without operator intervention.
Adaptive robust control (ARC) addresses control of nonlinear systems with both parametric and nonlinear uncertainties, and has been applied to application areas such as linear motors, electro-hydraulic systems, vehicle control, and drilling control. ARC utilizes fast nonlinear robust feedback to attenuate overall system uncertainties for a guaranteed baseline performance. Parameter adaptation is applied to further improve system performance by reducing parametric uncertainties. Backstepping via Lyapunov functions may be used to design the control law systematically.
The hydraulic winch 200 can be separated into two parts: winch hydraulics and winch mechanics. Winch hydraulics includes a variable displacement pump 202 driven by an engine through fixed gears. The hydraulic fluid flow going in and out the variable displacement pump 202 is modelled by following equations:
Qpi=DpωpDp=Gpαα=ƒ(v) (1)
Qpo=ηvpQpi (2)
The variable displacement pump 202 is coupled to a controller 208, and the displacement of the variable displacement pump 202 can be changed with an electrical throttle command v∈[−1,1] generated by the controller 208 and transmitted to the variable displacement pump 202. The controller 208 utilizes sensor measurements such as engine speed (driving the variable displacement pump 202 through gear transmission), pressures on high side Ph and low side Pl, drum speed ωdr, cable tension at the surface, tool displacement h and speed {dot over (h)}. The controller 208 estimates effective drum radius r using a recursive least squares method. Jc, the inertia due to the cable on the drum, is calculated using the estimated effective drum radius r. When the controller 208 issues a command v, the actual pump displacement is related to the command through a nonlinear mapping (including both deadband and nonlinear flow curve). Hydraulic fluid flows into hydraulic circuit with flow rate determined by actual pump displacement. Hydraulic fluid flow generates load pressure across the variable displacement motor 204 (or torque on a shaft of the variable displacement motor 204). Through a mechanical transmission, motor torque moves the drum 102 with the cable 108 and the tool string 110 at the end of cable 108.
The controller 208 applies a backstepping control methodology that works back through system dynamics from tool desired motion to the pump displacement command. In the first operation, the controller 208 determines a desired load pressure such that tool motion will follow a desired motion profile. In a second operation, the actual pump displacement is set such that actual load pressure will follow desired load pressure synthesized in the first operation. The command v is determined through the inverse of nonlinear flow mapping. To compensate the large disturbance force acting on the tool string 110 during downhole operations and the uncertainties in the hydraulic loop modeling, a gradient decent learning algorithm may be used to estimate disturbance force and hydraulic loop modeling errors. The estimated parameter values may be used to improve control performance.
An electro-hydraulic actuator, of the variable displacement pump 202, with displacement feedback control is used to tilt a cradle swashplate such that the normalized pump displacement α∈[−1,1] will always follow the command v. Gp is a positive flow gain. Because actuator dynamics are sufficiently fast for wireline operations, actuator dynamics may be ignored in the modelling and controller design. A nonlinear mapping function ƒ is used to characterize the relationship between the command v and actual displacement α including deadband and nonlinear gain.
The hydraulic flow going into and out of the hydraulic motor is modelled by following equation:
Qmo=DmωmQmi=Qmo/ηvm (3)
In some implementations of the variable displacement motor 204, two fixed values of displacement are used. The motor displacement Dm is modelled as a positive constant. Qmi is input flow rate of the variable displacement motor 204 and ηvm is the motor volumetric efficiency. The torque generated by the variable displacement motor 204 is described by
Tm=Dm(Ph−Pl)ηtm (4)
The output flow of charge pump 206 is represented by:
Qc=Dcωp (5)
The charge pump 206 and variable displacement pump 202 may be driven by a same shaft from the engine. The pressure dynamics is represented by following equations:
An output shaft of the variable displacement motor 204 drives the drum 102 through a gear transmission. The rotating speed ωdr and the torque Tdr acting on the drum 102 are given by:
ωdr=ωm/n Tdr=nTm (8)
The drum motion is governed by:
(Jdr+Jc){umlaut over (ω)}dr=Tdr−Fcr (9)
The tool movement is governed by:
(ρh+mT){umlaut over (h)}=(ρh+mT)g−Fc+Fd (10)
When cable 108 is long enough, force and displacement will propagate according to a wave equation. The cable 108 may be modelled as a rigid body and its dynamics ignored. The relationship between drum speed and tool speed is given by:
{dot over (h)}=ωdrr (11)
In some implementations, symmetry in the hydraulic loop is assumed, which means VT=Vh=Vl. The effective radius r changes slowly compared with system dynamics. It is assumed {dot over (r)}=0. Defining load pressure PL=Ph−Pl and state vector x=[x1, x2, x3]T=[h, {dot over (h)}, PL]T, the system dynamics equation (1)-(10) can be written as:
In some implementations of the hydraulic winch 200, engine speed which is related to pump shaft speed ωp by a transmission ratio, drum speed ωdr, pressures on high side Ph and low side Pl, and tool displacement h and speed {dot over (h)} are measured. The effective drum radius r can be estimated from equation (11) using a recursive least square method. Jc, inertia due to cable on the drum, can be calculated with estimated effective drum radius r. System dynamics are identified via experimentation.
The system of equations (12) has nonlinearities represented by nonlinear mapping function ƒ shown in
where Fdn and QLn are nominal part (or low frequency part) of Fd and QL, the system of equations (12) can be written as:
where
represent uncertain nonlinearities, and the real control input, electronic pump throttle v, is related to the actual pump displacement α with nonlinear function α=ƒ(v). The control problem is formulated as: given a desired motion trajectory x1d, design a control law u for system control input v such that the tool motion output x1 will track desired trajectory x1d as closely as possible.
Since the extent of parametric uncertainties and uncertain nonlinearities is known, the following practical assumptions may be made:
θ∈ωθ{θmin<θ<θmax}
|{tilde over (F)}d(t,x1,x2)|≤δF(t,x1,x2)
|{tilde over (Q)}L(t,x)|≤δQ(t,x). (14)
Difficulties in implementing a controller for the system of equations (13) are:
To address these challenges, the following strategies are adopted:
The following notations are used herein. Let {circumflex over (θ)} denote the estimation of θ and {tilde over (θ)} the estimation error ({tilde over (θ)}={circumflex over (θ)}−θ). From equations (14), a simple discontinuous projection can be defined as:
where ▪j is the jth element of vector ▪.
By using an adaptation law given by:
{dot over ({circumflex over (θ)})}=Proj{circumflex over (θ)}(Γτ) (16)
where Γ>0 is a diagonal adaptive gain matrix, and τ is the adaptation function to be synthesized later, it can be shown that:
{circumflex over (θ)}∈Ωθ (17)
{tilde over (θ)}T(Γ−1Proj{circumflex over (θ)}(Γτ)−τ)≤0
In a first operation, the controller 208 determines a desired load pressure α2 for system load pressure x3 such that tool motion x1 will follow the desired motion trajectory x1d. An output tracking error z1=x1−x1d and a virtual speed command x2eq={dot over (x)}1d−k1z1 are defined, the speed tracking error can be written as z2=x2−x2eq. The derivative of the speed tracking error is given by:
In equation (18), load pressure x3 can be treated as a virtual control input function. A virtual control law α2 is synthesized for load pressure x3 such that output tracking error z1 converges to a small value with guaranteed transient performance. The resulting control function α2 is given by:
In equations (19), α2a functions as the adaptive control part used to improve model compensation through online parameter adaptation. α2s is the feedback control part where α2s1 is a regular linear feedback part and α2s2 is a robust feedback part satisfying the following conditions:
where ε2>0 is a design parameter and φ2=[1 0]T. α2S2 can be synthesized using known methods. z3=x3−α2 denotes input discrepancy. For the positive-semidefinite function
its derivative is given by:
In a second operation, the controller 208 synthesizes a control law α3 for the actual pump displacement α such that the load pressure x3 will track the virtual control function α2 determined in the first operation. The actual control input u for the electrical throttle input v can be calculated from the inverse nonlinear mapping ƒ−1. The derivative of input discrepancy of the first operation can be written as:
where
is the calculable part of {dot over (α)}2 and can be used in control function design.
is the uncertain part of {dot over (α)}2 which needs to be addressed with robust feedback.
is the calculable part of {dot over (x)}2. Defining a positive-semidefinite function
its derivative can be written as:
Let control function α=α3:
α3s2 satisfies the following conditions:
where
From equations (23) and (24):
The control command v can be calculated from inversed nonlinear mapping v=ƒ−1(α3).
Parameter estimation may be updated according to the adaptation law of equation (16) in which τ=Σj=23ωjφjzj, and the control law of equation (23) will guarantee that:
where λV=2 min {k2, k3} and εV=ω2ε2+ω3ε3; and
In block 602, the controller 208 acquires sensor measurements for use in controlling the hydraulic winch 200. The sensor measurements include shaft speed (ωp) of the variable displacement pump 202, speed (ωdr) of the drum 102, high-side pressure (Ph), low-side pressure (Pl), depth or position (h) of the tool string 110, and speed ({dot over (h)}) of the tool string 110. The pump shaft speed may be measured by measuring speed of the engine driving the variable displacement pump 202 through a transmission having a known transmission ratio.
In block 604, the controller 208 computes load pressure, drum radius, and inertia due to the cable 108. Load pressure may be computed as: PL=Ph−Pl. Drum radius r may be estimated from the relationship shown in equation (11) using recursive least square estimation. Drum radius r will be used as a known value in the inertia computation. Inertia due to the cable Jc is computed from estimated drum radius and cable properties such as line mass and diameter.
In block 606, the controller 208 determines a desired movement profile for the tool string 110. The desired movement profile includes: desired tool depth as function of time xd(t), desired tool speed {dot over (x)}d(t), and desired tool acceleration {umlaut over (x)}d(t).
A variety of constants are known to the controller 208 from the physical configuration of the hydraulic winch 200. The constants include:
The relationship pump displace to the control command is defined as identification α=ƒ(v) where α is actual pump displacement and v as the actual control input command.
In blocks 608-614, the controller 208 computes a desired load pressure α2 for system load pressure x3 such that tool motion x1 will follow the desired motion trajectory x1d.
In block 608, the controller 208 computes an output tracking error z1=x1−x1d.
In block 610, the controller 208 computes a virtual speed command x2eq={dot over (x)}1d−k1z1 where k1 is a positive control gain.
In block 612, the controller 208 computes tracking error for the virtual speed command z2=x2−x2eq.
In block 614, the controller 208 computes a control function α2 according to equations (19) and (20).
In block 616-626, the controller 208 computes a control law α3 for the actual pump displacement α such that the load pressure x3 will track the virtual control function α2 computed in blocks 608-614.
In block 616, the controller 208, computes {circumflex over ({dot over (x)})}2, the calculable part of {dot over (x)}2, using
In block 618, the controller 208 computes {dot over (α)}2c, the calculable part of {dot over (α)}2, using
In block 620, the controller 208 computes tracking error for load pressure z3=x3−α2.
In block 622, the controller 208 computes control function α3 from equations (24) and (25).
In block 624, the controller 208 computes adaptive function τ=Σj=23 ωjφjzj where
and ωj of are positive weights.
In block 626, the controller 208 updates unknown parameters estimation {circumflex over (θ)} using gradient updating law in equation (16) where Γ is a 2*2 diagonal adaptive gain matrix.
In block 628, the controller 208 computes the actual control command v from the inverse of known relationship between α and v which is v=ƒ−1(α)=ƒ−1(α3).
In block 630, the controller 208 transmits the control command v to the variable displacement pump 202 to control the movement of the tool string 110.
The memory 706 may include a non-transitory, computer-readable storage medium configured to store program instructions 708 and/or data 710 accessible by processor(s) 704. The memory 706 may be implemented using any suitable memory technology, such as static random-access memory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type of memory. Program instructions 708 and data 710 implementing the functionality disclosed herein are stored within memory 706. For example, program instructions 708 may include instructions that when executed by processor(s) 704 implement the functionality of the controller 208 as disclosed herein.
The computing system 700 may also include secondary storage, which may be implemented using volatile or non-volatile storage and storage devices for storing information such as program instructions and/or data as described herein for implementing the controller 208. The secondary storage may include various types of computer-readable media accessible by the computing node 702. A computer-readable medium may include storage media or memory media such as semiconductor storage, magnetic or optical media, e.g., disk or CD/DVD-ROM, or other storage technologies.
The network interface 712 includes circuitry configured to allow data to be exchanged between computing node 702 and/or other devices coupled to a network. For example, the network interface 712 may be configured to allow data to be exchanged between a first instance of the computing system 700 and a second instance of the computing system 700. The network interface 712 may support communication via wired or wireless data networks.
The I/O devices 714 allow the computing node 702 to communicate with devices external to the computing node 702. Such external devices may include sensors for measuring operational parameters of the hydraulic winch 200 and/or the variable displacement pump 202. Examples of sensors coupled to the computing node 702 include a speed sensor measuring the speed of the engine driving the variable displacement pump 202, pressure sensors coupled to an inlet and an outlet of the variable displacement motor 204 for measuring high and low side hydraulic pressures, a sensor measuring tension of the cable 108, sensors measuring displacement or speed of the tool string 110, and other sensors. Various input/output devices such as one or more display terminals, keyboards, keypads, touchpads, scanning devices, voice or optical recognition devices, or any other devices suitable for entering or retrieving data by the computing node 702 may also be coupled to the I/O devices 714. Multiple input/output devices may be present in a computing system 700.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
The present document is the National Stage Entry of International Application No. PCT/US2020/065771, filed Dec. 17, 2020, is based on and claims priority to U.S. Provisional Application Ser. No. 62/949,473, filed Dec. 18, 2019, which is incorporated herein by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2020/065771 | 12/17/2020 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2021/127288 | 6/24/2021 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
20060192188 | Sanders et al. | Aug 2006 | A1 |
20140166271 | Khvoshchev et al. | Jun 2014 | A1 |
20160229672 | Breard et al. | Aug 2016 | A1 |
20170107074 | Georget et al. | Apr 2017 | A1 |
Number | Date | Country |
---|---|---|
3293351 | Mar 2018 | EP |
2515453 | Dec 2014 | GB |
Entry |
---|
International Search Report and Written Opinion issued in International Patent application PCT/US2020/065771 on Apr. 13, 2021, 10 pages. |
Aschemann et al., Decentralised flatness-based control of a hydrostatic drive train subject to actuator uncertainty and disturbances. 2013 18th International Conference on Methods Models in Automation Robotics (MMAR). 6 pages. |
Bender et al., A Flexible System Architecture for Acquisition and Storage of Naturalistic Driving Data, IEEE Transactions on Intelligent Transportation Systems 17(6), pp. 748-1761, 2016. |
Bu et al., Indirect Adaptive Robust Controller Design for Drilling Rotary Motion Control. ASME Dynamic Systems and Control Conference. San Antonio, TX, 7 pages, 2014. |
Bu et al., Pneumatic brake control for precision stopping of heavy-duty vehicles, IEEE Transactions on Control Systems Technology 15(1), pp. 53-64, 2007. |
Manring et al., Modeling and Designing a Hydrostatic Transmission With a Fixed-Displacement Motor, Journal of Dynamic Systems, Measurement, and Control 120(1): pp. 45-49, 1998. |
Sun et al., Sliding-mode control of a hydrostatic drive train with uncertain actuator dynamics. 2013 European Control Conference (ECC), pp. 3216-3221, 2013. |
Sun et al., A Backstepping Sliding Mode Control for a Hydrostatic Transmission with Unknown Disturbances, IFAC—PapersOnLine 49(18), pp. 879-884, 2016. |
Xu et al., Output feedback adaptive robust precision motion control of linear motors, Automatica 37(7), pp. 1029-1039, 2001. |
Yao et al., Adaptive robust motion control of single-rod hydraulic actuators: Theory and experiments, IEEE/ASME Transactions on Mechatronics 5(1), pp. 79-91, Mar. 2000. |
Yao et al., Smooth robust adaptive sliding mode control of manipulators with guaranteed transient performance. Proceedings of 1994 American Control Conference, pp. 1176-1180, Jun. 1994. |
Yao et al., Adaptive robust control of SISO nonlinear systems in a semi-strict feedback form, Automatica 33(5), pp. 893-900, 1997. |
International Preliminary Report on Patentability issued in International Patent application PCT/US2020/065771, mailed Jun. 30, 2022, 7 pages. |
Aarenstrup, Roger, Managing Model-Based Design. The MathWorks, Inc., Natik, MA, USA, 2015, Chapter 1, pp. 4-12, 19 pages. |
Krisric et al., Nonlinear and Adaptive Control Design, Chapter 3, pp. 87-121, Wiley-Interscience, 1995. |
Newman, Sam, Building Microservices, Designing Fine-Grained Systems, OReilly Media, Inc., 2015, Chapter 1, 31 pages. |
Sastry et al., Adaptive Control: Stability, Convergence, and Robustness. Prentice-Hall Advanced Reference Series (Engineering), 1989, pp. 250-251. |
Turnbull, J., The Docker Book: Containerization is the new virtualization, 2019, Chapter 1, 83 pages. |
Number | Date | Country | |
---|---|---|---|
20230014275 A1 | Jan 2023 | US |
Number | Date | Country | |
---|---|---|---|
62949473 | Dec 2019 | US |