Hydraulic winch control

Information

  • Patent Grant
  • 12134547
  • Patent Number
    12,134,547
  • Date Filed
    Thursday, December 17, 2020
    4 years ago
  • Date Issued
    Tuesday, November 5, 2024
    a month ago
Abstract
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.
Description
BACKGROUND

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.


SUMMARY

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.





BRIEF DESCRIPTION OF THE DRAWINGS

For a detailed description of various examples, reference will now be made to the accompanying drawings in which:



FIG. 1 shows an example wireline logging system in accordance with the present disclosure;



FIG. 2 shows an example hydraulic winch in accordance with the present disclosure;



FIG. 3 shows results of open loop ramp testing to determine system dynamics;



FIG. 4 shows a comparison between simulated and measured drum speed;



FIG. 5 shows nonlinearity in displacement of a variable displacement motor versus throttle command;



FIG. 6 shows a flow diagram for a method for controlling a hydraulic winch in accordance with the present disclosure; and



FIG. 7 shows a block diagram for an example computing system suitable for implementing a winch controller in accordance with the present disclosure.





DETAILED DESCRIPTION

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.



FIG. 1 shows an example wireline logging system 100 suitable for use in the oil and gas operations. The wireline logging system 100 includes a drum 102, sheaves 104 and 106, a cable 108, and a tool sting 110. The cable 108 is coupled the tool string 110, passes over the sheaves 104 and 106, and is wound about the drum 102. The drum 102 is driven by a hydraulic winch. The tool string 110 may include various tools for performing downhole operations. For example, the tool string 110 may include formation measurement sensors. Drum rotation driven by the hydraulic winch moves the tool string 110 up and down within the wellbore 112. Sensors included in the tool string 110 conduct sensing measurement while moving within the wellbore 112 and send measurement results to a system on the surface through the cable 108.


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.



FIG. 2 shows a schematic representation of a hydraulic winch 200 in accordance with this description. The hydraulic winch 200 drives the drum 102 through a geared transmission. As shown in FIG. 2, the hydraulic winch 200 includes a hydrostatic transmission system 201 that includes a variable displacement pump 202, a variable displacement motor 204, and a charge pump 206. The pumps 202, 206 may be driven by an engine, such as an internal combustion engine, an electric motor, etc. through gears or other power transmission arrangement. The drum 102 is driven by the variable displacement motor 204 through transmission gears. The hydrostatic transmission system 201 has a number of advantages such as: high power density, continuously-variable transmissions, and the ability to deliver high torque at low speed. Therefore, hydrostatic transmission is used in a variety of applications including mining, construction and farming equipment. However, hydrostatic transmission systems are subject to various nonlinearities and uncertainties. In addition to the typical nonlinearities and uncertainties seen in a hydrostatic transmission application, in oil and gas applications the large force applied, and the changing effective drum radius and mass/inertia due to reeling in or releasing cable further complicate controller design. Thus, the winch control systems disclosed herein apply a nonlinear model-based controller to deliver the high performance of a closed loop controller in the system shown in FIGS. 1 and 2.


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)
QpovpQpi  (2)

    • where:
    • Qpi is the input flow to the pump;
    • Dp is the displacement of the pump;
    • ωp is the pump shaft rotation speed;
    • Qpo represents the pump output flow rate; and
    • ηvp is the pump volumetric efficiency.


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=Qmovm  (3)

    • where:
    • Qmo is the output flow of the motor; and
    • ωm is the motor speed.


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−Pltm  (4)

    • where:
    • Tm is the motor torque;
    • Ph and Pl represent pressures on high side and low side; and
    • ηtm is the motor mechanical efficiency.


The output flow of charge pump 206 is represented by:

Qc=Dcωp  (5)

    • where Dc is the displacement of the charge pump 206.


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:












V
h


β
e





P
.

h


=


Q
po

-

Q

m

i


-

Q
lh






(
6
)















V
l


β
e





P
.

l


=


Q

m

o


+

Q
c

-

Q

p

i


-

Q
ll






(
7
)









    • where:

    • Vh and Vl represent total fluid volumes on high-pressure side and low-pressure side;

    • Qlh and Qll represents leakage flow on high-pressure side and low-pressure side; and

    • βe is the effective bulk modulus of hydraulic fluid.





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:

ωdrm/n Tdr=nTm  (8)

    • where n is the transmission gear ratio.


The drum motion is governed by:

(Jdr+Jc){umlaut over (ω)}dr=Tdr−Fcr  (9)

    • where:
    • Jdr represents drum inertia;
    • Jc represents inertia due to cables on the drum; and
    • r is the effective drum radius; and
    • Fc is the cable force.
    • Both Jc and r can change during operation when cable is reeled in or released from the drum especially for deep wells.


The tool movement is governed by:

h+mT){umlaut over (h)}=(ρh+mT)g−Fc+Fd  (10)

    • where ρ is cable line mass density;
    • mT is the tool mass;
    • h is the tool displacement toward underground well; and
    • Fd is the disturbance force acting on the tool and cable during operation.


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:












x
.

1

=

x
2







m
s




x
.

2


=



A
m



x
3


+


(


ρ


x
1


+

m
T


)


g

+

F
d










x

.


3

=



β
e


V
T


[



C
p



ω
p


α

-


C
m



x
2


-


D
c



ω
p


+

Q
L


]






(
12
)









    • where:

    • QL=Qll−Qlh represents the leakage flow;











effective


mass



m
s


=




J
d

+

J
c



r
2


+

ρ


x
1


+

m
T



;








A
m

=


n
r



D
m



η

t

m




;








C
p

=


(

1
+

η
vp


)



G
p



;








C
m

=


(

1
+

1

η

t

m




)



D
m


n
/
r


;






    • and

    • α=ƒ(v) with v as the actual control input command.





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. FIG. 3 shows open loop ramp testing where the throttle command v is ramped from 0 to +/−100 percent. The response of drum rotating speed ωdr shows significant dead band and nonlinearities. Since the actuator dynamics are ignored, the nonlinear mapping ƒ is modelled as a dead band and a nonlinear gain function fitted with a polynomial. A system model is applied for control design, model-in-loop and software-in-loop testing. FIG. 4 shows comparison between simulation and testing data.


The system of equations (12) has nonlinearities represented by nonlinear mapping function ƒ shown in FIG. 5, changing effective drum radius r entering system dynamics in different places and changing effective mass ms due to reeling in or releasing cable. The system is also subjected to large uncertainties represented by large disturbance force Fd in oil and gas operations and leakage flow QL. Both Fd and QL can also be treated as the modelling errors in the torque/force equations and hydraulic loop. To better compensate their effects, both Fd and QL can be separated into two parts: a slow varying part which can be captured and compensated by parameter adaptation and a fast-changing part can be attenuated by robust feedback. To utilize parameter adaptation, the system dynamics equation needs to be linearly parametrized by unknown parameters. Defining the unknown parameter set as:







θ
=



[


θ
1

,

θ
2


]

T

=


[



F
dn


m
s


,




Q

L

n




β
e



V
T



]

T



,





where Fdn and QLn are nominal part (or low frequency part) of Fd and QL, the system of equations (12) can be written as:












x
.

1

=

x
2









x

.


2

=




A
m


m
s




x
3


+



(


ρ


x
1


+

m
T


)


m
s



g

+

θ
1

+


F
~

d










x

.


3

=




β
e


V
T




(



C
p



ω
p


α

-


C
m



x
2


-


D
c



ω
p



)


+

θ
2

+


Q
~

L







(
13
)








where








F
˜

d

=





F
d

-

F
dn



m
s




and




Q
~

L


=



β
e


V
T




(


Q
L

-

Q

L

n



)








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:

θ∈ωθcustom charactermin<θ<θ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:

    • 1) the system is nonlinear as represented by nonlinear actuator mapping, changing effective drum radius and effective mass;
    • 2) the system has large parametric uncertainties including large load changes Fdn and hydraulic modelling error QLn; and
    • 3) the model uncertainties are mismatched, i.e. both parameter uncertainties and uncertain nonlinearities appear in the equation which is not directly related to control input u=v.


To address these challenges, the following strategies are adopted:

    • 1) physical model based nonlinear analysis and synthesis is employed to address nonlinearities in the system dynamics;
    • 2) ARC is used to handle both parametric uncertainties and uncertain nonlinearities; and
    • 3) backstepping design via ARC Lyapunov function is used to overcome the design difficulties introduced by unmatched model uncertainties.


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:











Proj

θ
j


(


j

)

=

{



0




if




θ
^

j


=



θ
jmax



and




j


>
0






0





if




θ
^

j


=



θ
jmin



and




j


<
0







j



otherwise










(
15
)








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:











z
.

2

=




A
m


m
s




x
3


+




ρ


x
1


+

m
T



m
s



g

+

θ
1

+


F
˜

d

-


x
.


2

e

q







(
18
)







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:














α
2

=


α

2

a


+

α

2

s








α

2

s


=


α

2

s

1


+

α

2

s

2











α

2

a


=


-


m
s


A
m





(



-



ρ


x
1


+

m
T



m
s




g

-


θ
^

1

+


x
.


2

eq



)







α

2

s

1


=


-


m
s


A
m





k
2



z
2







(
19
)







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:












z
2

(




A
m


m
s




α

2

s

2



-



θ
~

T



φ
2


+


F
~

d


)



ε
2







z
2



α

2

s

2




0





(
20
)








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








V
2

=


1
2



ω
2



z
2
2



,





its derivative is given by:











V
.

2

=



ω
2




A
m


m
s




z
2



z
3


+


ω
2




z
2

(




A
m


m
s




α

2

s

2



-



θ
~

T



φ
2


+


F
~

d


)


-


ω
2



k
2



z
2
2







(
21
)







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:











z
.

2

=




β
e


V
T




(



C
p



ω
p


α

-


C
m



x
2


-


D
c



ω
p



)


+

θ
2

+


Q
~

L

-


α
.


2

c


-


α
.


2

u







(
22
)








where








α
.


2

c


=






α
2





x
1





x
2


+





α
2





x
2







x
.

^

2


+





α
2






θ
^





θ

^
.



+




α
2





t








is the calculable part of {dot over (α)}2 and can be used in control function design.








α
.


2

u


=





α
2





x
2





(


-


θ
~

1


+


F
~

d


)







is the uncertain part of {dot over (α)}2 which needs to be addressed with robust feedback.









x
.

^

2

=




A
m


m
s




x
3


+



(


ρ



x


1


+

m
T


)


m
s



g

+


θ
^

1







is the calculable part of {dot over (x)}2. Defining a positive-semidefinite function








V
3

=


V
2

+


1
2



ω
3



z
3
2




,





its derivative can be written as:











V
.

3

=




V
.

2




"\[LeftBracketingBar]"



x
3

=

α
3




+


ω
3




z
3

[




β
e


V
T




(



C
p



ω
p


α

-


C
m



x
2


-


D
c



ω
p



)


+

θ
2

+


Q
~

L

-


α
.


2

c


-


α
.


2

u


+



ω
2


ω
3





A
m


m
s




z
2



]







(
23
)







Let control function α=α3:














α
3

=


α

3

a



+

α

3

s








α

3

s


=


α

3

s

1


+

α

3

s

2











α

3

a


=


1


C
p



ω
p



[



C
m



x
2


+


D
c



ω
p


+



V
T


β
3




(


-


θ
^

2


+


α
.


2

c


-



ω
2


ω
3





A
m


m
s




z
2



)



]






α

3

s

1


=


-

1


C

p





ω
p







V
T


β
3




k
3



z
3







(
24
)







α3s2 satisfies the following conditions:












z
3

(




β
e


V
T




C
p



ω
p



α

3

s

2



-



θ
~

T



φ
3


+


Q
~

L

-





α
2





x
2






F
~

d



)



ε
3







z
3



u

s

2




0





(
25
)








where







φ
3

=



[


-




α
2





x
2




,
1

]

T

.






From equations (23) and (24):











V
.

3

=




V
.

2




"\[LeftBracketingBar]"



x
2

=

α
2




-


ω
3



k
3



z
3
2


+


ω
3




z
3

(




β
e


V
T




C
p



ω
p



α

3

s

2



-



θ
~

T



φ

3




+


Q
~

L

-





α
2





x
2






F
~

d



)







(
26
)







The control command v can be calculated from inversed nonlinear mapping v=ƒ−13).


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:

    • 1) the output tracking error z=[z1, z2, z3]T are bounded and transient performance satisfies











V
3

(
t
)





exp

(


-

λ
V



t

)




V
3

(
0
)


+



ε
V


λ
V


[

1
-

exp

(


-

λ
V



t

)


]






(
27
)








where λV=2 min {k2, k3} and εV2ε23ε3; and

    • 2) If after a finite time t0, {tilde over (F)}d={tilde over (Q)}L=0, which means only parametric uncertainties are presented, asymptotic tracking can be achieved.



FIG. 6 shows a flow diagram for a method 600 for controlling a hydraulic winch in accordance with the present disclosure. Though depicted sequentially as a matter of convenience, at least some of the actions shown can be performed in a different order and/or performed in parallel. Additionally, some implementations may perform only some of the actions shown. Operations of the method 600 may be performed by an implementation of the hydraulic winch 200.


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:

    • ηvp: pump volumetric efficiency
    • ηvm: motor volumetric efficiency
    • ηtm: motor mechanical efficiency
    • Dm: motor displacement
    • Dc: charge pump displacement
    • βe: effective bulk modulus of hydraulic fluid
    • VT: total fluid volume in high pressure side and low pressure side (e.g., VT=Vh=Vl)
    • n: transmission gear ratio between motor and drum
    • Jdr: drum inertia without cable
    • ρ: cable line mass
    • mT: tool mass


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









x
.

^

2

=




A
m


m
s




x
3


+



(


ρ



x


1


+

m
T


)


m
s



g

+



θ
^

1

.






In block 618, the controller 208 computes {dot over (α)}2c, the calculable part of {dot over (α)}2, using








α
.


2

c


=






α
2





x
1





x
2


+





α
2





x
2







x
.

^

2


+





α
2






θ
^





θ

^
.



+





α
2





t


.






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








φ
2

=


[

1


0

]

T


,


φ
3

=


[


-




α
2





x
2




,
1

]

T







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(α)=ƒ−13).


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.



FIG. 7 shows a block diagram for a computing system 700 suitable for implementing the controller 208. The computing system 700 includes one or more computing nodes 702. Each computing node 702 includes one or more processors 704 coupled to memory 706, a network interface 712, and one or more I/O devices 714. In various embodiments, a computing node 702 may be a uniprocessor system including one processor 704, or a multiprocessor system including several processors 704 (e.g., two, four, eight, or another suitable number). Processors 704 may be any suitable processor capable of executing instructions. For example, in various embodiments, processors 604 may be general-purpose or embedded microprocessors, graphics processing units (GPUs), digital signal processors (DSPs) implementing any of a variety of instruction set architectures (ISAs). In multiprocessor systems, each of the processors 704 may commonly, but not necessarily, implement the same ISA.


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.

Claims
  • 1. A method for controlling a hydraulic winch to move a tool string within a wellbore, the method comprising: receiving, at a controller, measurements from sensors associated with a variable displacement pump of the hydraulic winch;estimating, by the controller, based on the received measurements: an effective drum radius of a drum of the hydraulic winch, wherein the effective drum radius includes a cable at least partially wound around the drum; andan effective mass of the drum, wherein the effective mass accounts for a portion of the cable that is at least partially wound around the drum;determining, by the controller, a desired movement profile for the tool string, wherein the desired movement profile includes at least a desired tool depth as a function of time;generating, by the controller, a control command based on the estimated effective drum radius, the estimated effective mass of the drum, and the desired movement profile; andproviding the control command to the variable displacement pump, wherein the variable displacement pump carries out the control command to cause the drum of the hydraulic winch to raise or lower the tool string according to the desired movement profile.
  • 2. The method of claim 1, wherein the desired movement profile for the tool string further comprises a desired tool speed as a function of time.
  • 3. The method of claim 1, wherein the desired movement profile for the tool string further comprises a desired tool acceleration as a function of time.
  • 4. The method of claim 1, wherein the control command accounts for hydraulic modeling errors.
  • 5. The method of claim 1, wherein the variable displacement pump is driven by an internal combustion engine.
  • 6. The method of claim 1, wherein the variable displacement pump causes the drum of the hydraulic winch to raise or lower the tool string by causing a variable displacement motor to drive the drum based on hydraulic pressure created by the variable displacement pump.
  • 7. The method of claim 6, wherein the variable displacement motor is also driven based on hydraulic pressure created by a charge pump.
  • 8. The method of claim 1, wherein the sensors include at least one of: a speed sensor measuring the speed of an engine driving the variable displacement pump, a pressure sensor coupled to an inlet of a variable displacement motor, a pressure sensor coupled to an outlet of the variable displacement motor, a sensor measuring displacement of the tool string, and a sensor measuring speed of the tool string.
  • 9. A hydraulic winch for moving a tool string within a wellbore, comprising: a drum for winding or unwinding a cable attached to the tool string;a variable displacement motor configured to drive the drum;a variable displacement pump configured to drive the variable displacement motor; anda controller configured to provide control commands to the variable displacement pump, wherein the controller is further configured to perform stages comprising: receiving measurements from sensors associated with the variable displacement pump;estimating based on the received measurements: an effective drum radius of the drum, wherein the effective drum radius includes a cable at least partially wound around the drum; andan effective mass of the drum, wherein the effective mass accounts for a portion of the cable that is at least partially wound around the drum;determining a desired movement profile for the tool string, wherein the desired movement profile includes at least a desired tool depth as a function of time;generating a control command based on the estimated effective drum radius, the estimated effective mass of the drum, and the desired movement profile; andproviding the control command to the variable displacement pump, wherein the variable displacement pump carries out the control command to cause the drum of the hydraulic winch to raise or lower the tool string according to the desired movement profile.
  • 10. The hydraulic winch of claim 9, wherein the desired movement profile for the tool string further comprises a desired tool speed as a function of time.
  • 11. The hydraulic winch of claim 9, wherein the desired movement profile for the tool string further comprises a desired tool acceleration as a function of time.
  • 12. The hydraulic winch of claim 9, wherein the control command accounts for hydraulic modeling errors.
  • 13. The hydraulic winch of claim 9, wherein the variable displacement pump is driven by an internal combustion engine.
  • 14. The hydraulic winch of claim 9, wherein the variable displacement pump causes the drum of the hydraulic winch to raise or lower the tool string by causing the variable displacement motor to drive the drum based on hydraulic pressure created by the variable displacement pump.
  • 15. The hydraulic winch of claim 14, wherein the variable displacement motor is also driven based on hydraulic pressure created by a charge pump.
  • 16. The hydraulic winch of claim 9, wherein the sensors include at least one of: a speed sensor measuring the speed of an engine driving the variable displacement pump, a pressure sensor coupled to an inlet of the variable displacement motor, a pressure sensor coupled to an outlet of the variable displacement motor, a sensor measuring displacement of the tool string, and a sensor measuring speed of the tool string.
  • 17. A controller for controlling a hydraulic winch to move a tool string within a wellbore, wherein the controller carries out instructions stored in a non-transitory, computer-readable medium to perform stages comprising: receiving measurements from sensors associated with a variable displacement pump of the hydraulic winch;estimating based on the received measurements: an effective drum radius of a drum of the hydraulic winch, wherein the effective drum radius includes a cable at least partially wound around the drum; andan effective mass of the drum, wherein the effective mass accounts for a portion of the cable that is at least partially wound around the drum;determining a desired movement profile for the tool string, wherein the desired movement profile includes at least a desired tool depth as a function of time;generating a control command based on the estimated effective drum radius, the estimated effective mass of the drum, and the desired movement profile; andproviding the control command to the variable displacement pump, wherein the variable displacement pump carries out the control command to cause the drum of the hydraulic winch to raise or lower the tool string according to the desired movement profile.
  • 18. The controller of claim 17, wherein the desired movement profile for the tool string further comprises at least one of a desired tool speed as a function of time and a desired tool acceleration as a function of time.
  • 19. The controller of claim 17, wherein the variable displacement pump causes the drum of the hydraulic winch to raise or lower the tool string by causing a variable displacement motor to drive the drum based on hydraulic pressure created by the variable displacement pump.
  • 20. The controller of claim 17, wherein the sensors include at least one of: a speed sensor measuring the speed of an engine driving the variable displacement pump, a pressure sensor coupled to an inlet of a variable displacement motor, a pressure sensor coupled to an outlet of the variable displacement motor, a sensor measuring displacement of the tool string, and a sensor measuring speed of the tool string.
CROSS-REFERENCE TO RELATED APPLICATION

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.

PCT Information
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
US Referenced Citations (4)
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
Foreign Referenced Citations (2)
Number Date Country
3293351 Mar 2018 EP
2515453 Dec 2014 GB
Non-Patent Literature Citations (18)
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.
Related Publications (1)
Number Date Country
20230014275 A1 Jan 2023 US
Provisional Applications (1)
Number Date Country
62949473 Dec 2019 US