Loading web-font TeX/Math/BoldItalic
Force Tracking Using Actuated Winches With Position-Controlled Motors for Use in Hydrodynamical Model Testing | IEEE Journals & Magazine | IEEE Xplore

Force Tracking Using Actuated Winches With Position-Controlled Motors for Use in Hydrodynamical Model Testing


Force tracking performance using an actuated winch with position-controlled servomotors that connect to the cabled drum via a clockspring.

Abstract:

In this paper, we consider the problem of accurate force control using actuated winches, intended for use in real-time hybrid hydrodynamic model testing. The paper is als...Show More

Abstract:

In this paper, we consider the problem of accurate force control using actuated winches, intended for use in real-time hybrid hydrodynamic model testing. The paper is also relevant to other cable-driven parallel robot applications that use force control in an inner control loop. For this problem, conventional strategies typically use actuated winches with torque-controlled servomotors directly connected to the cabled drum. In contrast, we propose using actuated winches with position-controlled servomotors that connect to the cabled drum via a clockspring. The servomotors are position controlled at drive-level and are rapid, accurate, robust, and simple to install. We show how this, combined with an accurate estimate of the clockspring deflection and stiffness, can yield fast and precise force tracking on moving objects. This includes proposing associated feedforward force-controllers that compensates for damping, angle-dependent force variations, delays, and non-constant clockspring characteristics. Extensive experimental testing on a 1 degree of freedom actuated mass-spring system supports the work.
Force tracking performance using an actuated winch with position-controlled servomotors that connect to the cabled drum via a clockspring.
Published in: IEEE Access ( Volume: 9)
Page(s): 77938 - 77953
Date of Publication: 25 May 2021
Electronic ISSN: 2169-3536

Funding Agency:


CCBY - IEEE is not the copyright holder of this material. Please follow the instructions via https://creativecommons.org/licenses/by/4.0/ to obtain full-text articles and stipulations in the API documentation.
SECTION I.

Introduction

Accurate force control using actuated winches equipped with servomotors is a key problem for cable-driven parallel robots (CDPR) that use cable force control [1]–​[3]. The prime motivation of this paper is real-time hybrid model testing [4], [5], in which complex ocean structures are emulated by combining numerical models with traditional hydrodynamic model testing; see Figure 1. In such a setting, the structure under study is partitioned into a numerical substructure and a physical substructure that are coupled through real-time measurement and load control interfaces; see Figure 2. We refer to these as the kinematic interface (measurements and estimation of kinematic variables) and the kinetic interface (actuation of forces). The numerically calculated reference load vector is applied on the physical substructure through actuated winches, such that the resulting experimental platform becomes a type of CDPR. Significant platform motions are expected throughout a typical testing campaign. Precisely applying the reference loads onto the marine platform, despite significant end-effector motions, is important to achieve high fidelity and to accurately emulate the behaviour of the non-substructured ocean structure [6], [7]. See [8] for a discussion on CDPR used for real-time hydrodynamic model testing in relation to other typical CDPR applications.

FIGURE 1. - Real time hybrid model testing of a moored ship. Notice the four cables used to impose the numerically calculated mooring loads on the ship.
FIGURE 1.

Real time hybrid model testing of a moored ship. Notice the four cables used to impose the numerically calculated mooring loads on the ship.

FIGURE 2. - Real time hybrid model testing. 
$\boldsymbol {\omega }_{(\cdot)} $
 represents environmental forces acting on the structure. (a) Partitioning of a target structure. (b) The recoupled system emulating the target ocean structure.
FIGURE 2.

Real time hybrid model testing. \boldsymbol {\omega }_{(\cdot)} represents environmental forces acting on the structure. (a) Partitioning of a target structure. (b) The recoupled system emulating the target ocean structure.

For force control with actuated winches, the servomotor is typically controlled in torque mode [9, ch 6] by altering the motor current. In this paper, we consider the less studied strategy of force control using position-controlled servomotors [2], [10], [11]. Assuming compliance in the actuator transmission system, the resulting force will, in this case, be a function of the transmission system deflection and stiffness. This enables the use of industrial servomotors with integrated internal encoders, drive-level position-control, and associated electronics. These are easy to install, allow high bandwidth, are rapid and accurate, and have robust internal control software. With good knowledge of the deflection and stiffness of the actuator transmission system, this can yield robust and accurate force control properties. A challenge, however, is that the actuator needs to compensate for the dynamic motion of the end effector, to keep the transmission system deflection at the target values. To achieve this, an accurate real-time position estimate, delay compensation, and fast motor reaction are useful to limit the transient disturbances. In this paper, we handle delays using polynomial prediction, which is convenient due to the short delays, frequent sampling, and not relying on a dynamic model of the end-effector trajectories. An alternative approach would be to use model-based prediction methods as described in [12, Ch 5].

In earlier works considering force control using position-controlled servomotors [2], [11], the actuator transmission system has typically been defined between the two endpoints of the stretched cable, with stiffness being the specific cable stiffness over cable length. This causes challenges for feedforward control purposes because: 1) the elongation to force relationship in synthetic cables is nonlinear and hysteretic [2], and 2) the end effector position needs to be accurately measured or estimated. Reference [11] proposes to estimate the end effector position using a camera system, whereas [2] uses forward/inverse kinematics to estimate the pose (and thus end effector positions). In this paper, we apply a clockspring between the motor shaft and the drum, as well as rotational encoders for accurate angular position measurements, to overcome the two aforementioned challenges. The resulting actuators have been developed by the research team over time, where the works [4], [6], [13] use earlier iterations of the same type of actuators. Although the basic design idea behind the actuator is simple, we have not managed to find similar designs reported in the CDPR literature.

Good models of the actuators are advantageous for accurate force control. The cable is typically made of polymer with a high strength to weight characteristic [14]. This is modelled as a linear spring in [15] and by nonlinear cable models in [10]. The drum may be modelled using friction, damping, and inertia models [1], [16]. Effects such as ovalization, manufacturing accuracy, and uneven cable settling cause time, force, and angle-dependent variations in the drum effective radius [17]. Other effects often considered (which are not relevant in this paper) include effects associated with cable guides and motor gearboxes [3]. Several authors compensate for drum friction, damping, or drum-inertia in the cable force controller [1], [3], [16], [18]. In practice, compensation of inertia forces may be challenging due to inaccurate acceleration feedback [3].

The actuator and control designs depend on application-specific requirements, such as precision, expected bandwidth, force rates, accelerations, and expected tension levels. The latter can vary dramatically depending on the application [19]–​[21]. In this paper, we focus on lower tension levels of 2 N to 15 N, accuracies in the range of 0.2 N, and bandwidth up to 1.4 Hz, intended for use in high accuracy real-time hybrid model testing.

Force sensors can either be integrated as part of the winch/drum system [1], [22] or attached directly at or near the end effector [6], [20], [23], [24]. As discussed in [16], advantages with the former include stationary force sensors, whereas the latter has the highest precision since the force measurements intrinsically capture pulley and cable force-effects. The force measurements can be used in some combination of proportional-integral-derivative (PID) feedback [2], [3], [25].

In this paper, we design and demonstrate a force actuation system based on a position-controlled servomotor fitted with a clockspring, a drum, and a force sensor at the end effector. Moreover, we propose a feedforward force control term based on an online estimate of the clockspring characteristics to handle time-dependent changes of the spring parameters. Methods are further presented to compensate for damping, angle-dependent force variations, and time delays, which, unless compensated for, introduce force errors that correlate with end effector motions. Finally, extensive experimental results are presented to support the research. While the general purpose of the research is to improve force control in real-time hybrid model testing, the results should also be applicable to other CDPR setups that use force control.

SECTION II.

Force Tracking Problem Statement

A. Force Actuation System Design and Modelling

The actuators used in this paper are integrated servomotors controlled in position mode, where the motor shaft is connected to a cable drum via a clockspring, as illustrated in Figure 3. This has several advantages, such as: 1) it reduces the transmission stiffness such that the resulting force is less sensitive to end effector motions, 2) it increases compliance that hinders antagonistic actuator behaviour [26], 3) the rotational encoders measure the deflection of the actuator transmission system with high accuracy (which is useful for position feedforward purposes), and 4) the clockspring has close to linear force to deflection properties (which is useful for force feedforward purposes). We next describe each component of the system, including its modelling, in detail. This model is useful for the subsequent feedforward control design and as a reference for further studies employing similar setups and strategies.

FIGURE 3. - Schematic overview of actuator setup.
FIGURE 3.

Schematic overview of actuator setup.

1) Servomotor

Due to the internal dynamics of the motor, there is a transient phase between the commanded shaft angle \theta _{c} and the resulting shaft angle \theta _{s} . In the Laplace-domain this can conveniently be modelled as a combination of a pure time delay e^{-\tau _{cs} s} and a transfer function h(s) according to \begin{equation*} \frac {\theta _{s}(s)}{\theta _{c}(s)}=H(s):= h(s) e^{ -\tau _{cs} s }\tag{1}\end{equation*}

View SourceRight-click on figure for MathML and additional features.

For servomotors in closed-loop position-control, [27, Ch. 3.5] suggests using a second-order process to model h(s) .

In our setup, for the frequencies of interest, we consistently find the transient phase to be well approximated by a pure delay, as shown in Figure 4, so that h(s)=1 and H(s)= e^{-\tau _{cs} s} . An underlying assumption here is that the commanded motor-shaft trajectories are always within the servomotor’s capabilities such that the motor dynamics is well described by a pure delay. Due to the high-performance of the industrial servomotor used (see Figure 4), this is in practice not a very restrictive assumption for our use-cases.

FIGURE 4. - Harmonic sweep test. Commanded shaft angle 
$\theta _{c} $
 versus achieved shaft angle 
$\theta _{s} $
.
FIGURE 4.

Harmonic sweep test. Commanded shaft angle \theta _{c} versus achieved shaft angle \theta _{s} .

2) Cable Drum

The drum has cable wound in multiple layers with the cable being free to wind onto any part of the drum-track. A ball bearing is used between the drum and its axis of rotation. \theta _{w} denotes the drum’s angular position. \theta _{w}, \theta _{c} , and \theta _{s} are all defined positive in the direction that winds the cable onto the drum.

An important drum parameter is the effective radius r , which is the distance from the drum centre of rotation to the attack point of the tensioned cable, as illustrated in Figure 5. This is modelled as \begin{equation*} r=r_{0} + k_{r} \theta _{w}+ {\delta _{f} +\delta _{s}},\tag{2}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where r_{0} is the radius at initialization (\theta _{w}=0 ), and k_{r} \theta _{w} represents the change of cable-layer thickness due to spooling. Here, k_{r} = {d_{c}}\big /({2 \pi n_{w}}) , where d_{c} is the cable-layer thickness, and n_{w} is the average number of parallel cables per cable-layer. \delta _{s} is an unmodelled radius uncertainty, dependent on how the cable settled as it was wound in, and \delta _{f} is a force-dependent radius uncertainty. The latter is due to reshaping/tightening of the cable-layers and the fact that the cable tends to dig itself into the cable-layers under tension.

FIGURE 5. - Drum from the side, illustrating the effective radius.
FIGURE 5.

Drum from the side, illustrating the effective radius.

I_{wd} denotes the drum inertia. For simplicity, we lump all damping (mainly due to bearing, encoder, and cable friction) into two components: c_{w}\dot {\theta }_{w} + c_{s}\text {sgn}(\dot {\theta }_{w}) . A more detailed model could, for example, include force-dependent cable friction as well as the Dahl model [16] for bearing friction.

3) Clockspring

The clockspring is a flat spiral spring that has its inner end fixed to the motor shaft and the outer end fixed to the drum. We model the spring characteristics by the mapping m_{1} = k_{\theta }(\tilde {\theta }) , where m_{1} is the resulting moment, and \tilde {\theta }=\theta _{s}-\theta _{w}-\theta _{0} is the spring deflection. Here, \theta _{0} is the equilibrium offset such that k_{\theta }(\tilde {\theta })=0 when m_{1} =0 .

The coils of the clockspring are assumed not to touch under compression. By design, this results in low friction and close to linear deflection to moment characteristics: m_{1} \approx k_{\theta }\tilde {\theta } .

I_{s} denotes the clockspring inertia. We model a weight-induced moment m_{g}(\theta _{w},\theta _{s}) \approx m_{g}(\theta _{w}) due to the non-symmetric mass distribution of the clockspring.

Depending on the spring properties, the clockspring characteristics (\theta _{0} and k_{\theta } ) may be slowly varying with time and under stress due to factors such as material creep, material deformations, and material warm up.

4) Cable

The cable is a thin braided polymer line, mass-produced for high-performance fishing applications. We model the stretched cable length as: \begin{equation*} l_{w} =l_{0} +{ \Delta l_{w}+ \Delta l_{c} },\tag{3}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where l_{0} is the initial cable length, \Delta l_{w} is the unwound cable length, and \Delta l_{c} is the elongation of the cable due to stretching.

The change in cable length due to spooling is modelled as \Delta l_{w} = -r_{0} \theta _{w} - 0.5\,\,k_{r} \theta _{w} ^{2}+\zeta _{s} +\zeta _{f} where \zeta _{s} is an uncertainty due to uneven settling of the cable (dependent on the spooling-tension history of the cable) and \zeta _{f} is a force-dependent uncertainty (similarly to \delta _{f} , more cable length is pulled out under tension). The cable elongation is modelled as: \Delta l_{c}= \zeta _{k} + \zeta _{c} , where \zeta _{k} is a force-dependent elongation, often modelled by Hook’s law (\zeta _{k}= {f l_{w}}\big /{k_{0}} ), and \zeta _{c} is the cable creep [28].

We assume that both transverse and axial cable vibrations have a negligible effect on both the drum angle \theta _{w} and on the applied force. This assumption is consistent with experimental experience and is reasonable due to 1) the high cable stiffness relative to the drum mass (little axial vibrations), and 2) the low mass of the cable relative to its tension ensures that it tends to form a straight line and not vibrate transversely.

5) End Effector and Measurements

The end effector consists of the cable attached to an electrically wired strain gauge, itself attached to the platform. The resulting force measurements are, in general, subject to bias and noise, but not at a level that is significant for the present application.

B. Actuator Force Model

We assume that the stretched cable is mass-less, such that the force on the end effector is equal to the force in the drum-end of the stretched cable. This means that cable elongation effects (such as creep) do not affect the force model, and the end effector force can conveniently be modelled based on the motor-shaft, clockspring, and drum configuration. Combining the model for each component seen in Figure 6, we get the end effector force, \begin{align*} f =\tfrac {1}{r}\left({\underbrace {{ k_{\theta }}\tilde {\theta }}_{{\begin{matrix}m_{1} \end{matrix} }} + m_{2}(\theta _{w}) \underbrace {- ({ I_{w} \ddot {\theta }_{w}+ c_{w}\dot {\theta }_{w} + c_{s}\text {sgn}(\dot {\theta }_{w}) }}_{ {\begin{matrix}m_{3} \end{matrix} } }}\right)+ m_{4}\big) \\\tag{4}\end{align*}

View SourceRight-click on figure for MathML and additional features. where we have separated between: m_{1} - the dominating static restoring term, m_{2} - the angle-dependent moment variations (including m_{g} ), m_{3} - the transmission system damping and inertia, and m_{4} - the lumped unmodelled disturbances and uncertainties such as, clockspring dynamics, inertia, and nonlinear effects. The term I_{w} \ddot {\theta }_{w} is the effective moment induced by inertial effects, which in addition to the drum inertia I_{wd} and the clockspring inertia I_{s} includes inertia effects from the layered cable.

FIGURE 6. - Actuator transmission system modelling.
FIGURE 6.

Actuator transmission system modelling.

For simplicity, we transform moments to forces using the subscript (\cdot)_{r} to mean \tfrac {(\cdot)}{r} : \begin{align*} f \!=\!{ k_{\theta,r}} \tilde {\theta } \!-\!(I_{w,r}\ddot {\theta } _{w}+ c_{w,r} \dot {\theta }_{w} +c_{s,r} \text {sgn}(\dot {\theta }_{w})) \!+\! f_{2}(\theta _{w}) + f_{4}, \\\tag{5}\end{align*}

View SourceRight-click on figure for MathML and additional features. where f_{2}(\theta _{w})= {m_{2}(\theta _{w})}\big /{r} and f_{4}= {m_{4}}\big /{r} .

We emphasise that even small variations of r can have a significant effect on the force (in our case r_{0}=60 mm, such that a 0.6mm change in r corresponds to about 1 percent change in applied force).

C. Control Loops and Control Problem

CDPR control systems that use force control typically consists of a higher level outer loop and a lower level inner loop. This is illustrated for real-time hybrid model testing in Figure 7.

FIGURE 7. - Real-time hybrid model testing control loop. An outer loop outputs the commanded cable forces 
$\boldsymbol {f}_{c} $
, and an inner loop performs cable force tracking.
FIGURE 7.

Real-time hybrid model testing control loop. An outer loop outputs the commanded cable forces \boldsymbol {f}_{c} , and an inner loop performs cable force tracking.

Broadly, the outer loop control objective using CDPR setups is either pose control [1], [2] or load control [6], [29]. In the former, the objective real-time for the platform to track the target pose trajectories – despite external excitations. In the latter, the objective real-time to actuate the correct loads onto the platform – despite platform motions. Although the present study was performed with load-control in mind (e.g., real-time hybrid model testing), the paper results are relevant for both – since both might use cable-force control in the inner loop to achieve the outer loop control objective.

1) Outer Loop

Common for the frameworks considered in this work is that the outer loop continuously outputs a set of commanded cable forces \boldsymbol {f }_{c}= (f_{c1},f_{c2},\cdots,f_{cn}) . These are found by first determining the reference load vector \boldsymbol {w}_{\text {ref}} , according to the outer loop control objective. In real-time hybrid model testing, \boldsymbol {w}_{\text {ref}} is a numerically calculated load vector to be actuated onto the experimental platform. By solving the force allocation problem subject to actuator constraints, geometric mapping, and optimization criteria, the corresponding commanded cable forces \boldsymbol {f}_{c} are found [30]. Based on the results in [30], we find it reasonable to assume that \boldsymbol {f}_{c} is continuously differentiable and within the actuator constraints.

2) Inner Loop

In the inner control loop, the goal is for the actuators to track the forces { \boldsymbol {f}}_{c} , under the following assumption

  1. The servomotor bandwidth is at least 5-10 times higher than that of the outer loop. Moreover, cross-talk between the actuators are negligible.

  2. From the inner loop perspective, the cable drum angular positions \theta _{w} (and its derivatives \dot {\theta }_{w}, \ddot {\theta }_{w} ), target force \boldsymbol {f}_{c} , and effective radius r are considered external inputs.

A.1. is reasonable since we use fast, high-performing industrial servomotors, while the outer loop is significantly slower due to the relatively higher mass of the platform; see also [11], [20], [21]. Moreover, with compliance, the actuators only affect each other via movement of the slower platform (they are not antagonistic [26]).

We use the concept of successive loop closure [31, Ch 6], based on A.1. The inner loop is first closed. Assuming high inner loop performance, the outer loop can then be designed with the inner loop approximated as a unity gain. Correspondingly, we consider the inner loop and the outer loop control independently and treat the control of each actuator as an independent control problem.

It follows that the signals \theta _{w} , r , and f_{c} are external inputs to the inner loop (coming from the outer loop). That is, 1) \theta _{w} follows from the end-effector positions and non-controlled uncertainties related to spooling and cable-elongation, 2) r follow from \theta _{w} and non-controllable radius uncertainties, and 3) f_{c} follows from \boldsymbol {w}_{\text {ref}} and the force-allocation procedure.

3) Control Problem

We consider force control of a single actuator, assuming that the results are applicable for multiple cables in parallel topology. The problem under consideration is to control the actuated force {f}(t) applied by the end effector on a moving object such that it tracks the commanded force {f}_{c}(t) accurately. That is, we want to minimize the tracking error \tilde {f}(t) = f(t)-f_{c}(t) for an individual actuator despite significant end effector motions, whose frequencies are, for our applications, in the range of 0.1 Hz to 1.4 Hz.

The problem, including the associated controller and force model, is illustrated in a block diagram representation in Figure 8. Note how we treat the end effector and target force as external inputs to the inner loop force model in accordance with A.2. Since the clockspring is fixed at both ends (one part to the motor-shaft, and the other part to the cable-attached drum), there are no modeled dynamical states in the transmission system. That is, the force depends only on signals from the outer loop, uncertainties, disturbances, and the actuator transmission system mapping from control input to force (which vary slowly in time due to parameter uncertainties and drift/creep). The control problem under consideration is, therefore, in practice to: 1) identify the force transmission system mapping, and 2) use this mapping in feedforward control designs to ensure accurate force-tracking.

FIGURE 8. - Force model for one actuator in the inner loop. Trajectories and target force are given by the outer loop.
FIGURE 8.

Force model for one actuator in the inner loop. Trajectories and target force are given by the outer loop.

The system’s dynamical states (e.g. platform motions) are considered as part of the outer loop, which is not a focus in this paper. One should note, however, that for the case of real-time hybrid hydrodynamic testing, significant hydrodynamic damping typically ensures that unwanted oscillations do not occur and that the system as a whole (the outer loop) is stable. For other applications, and depending on the system design, other measures such as active vibration suppression [32] and dynamical system analysis [33], [34] might be needed in the outer loop control design to ensure overall stability and robustness.

D. Experimental Setup

Figure 9(a) shows the experimental setup developed for the present study, with installed sensors and corresponding measurements.1 It consists of a mass connected via linear springs to a suspension point. The cable forces are actuated onto the mass from below along the same vertical axis, effectively constituting a 1 degree of freedom system. The setup is chosen since it is simple to model, monitor, install, reconfigure, and perform tests with. Additionally, it can provide wide-ranging force and end effector trajectories.

FIGURE 9. - Experimental setup and configurations. (a) Sensors and measurements (b) Configuration 1 (c) Configuration 2 (d) Image from laboratory setup.
FIGURE 9.

Experimental setup and configurations. (a) Sensors and measurements (b) Configuration 1 (c) Configuration 2 (d) Image from laboratory setup.

The control system is implemented in MATLAB and LabView and compiled on high-performance National Instrument industrial hardware. An industrial data acquisition system from HBM provides high-performance sampling and routing of data in the loop. Communication between computers, sensors, and motors is configured using a combination of CanBus, Ethercat, and electrical wires.

We use the setup in two different actuator configurations:

  • Configuration 1, as illustrated in Figure 9(b). The end effector is attached directly to the fixed roof suspension point, allowing force control with a constant end effector position.

  • Configuration 2, as illustrated in Figure 9(c). The motions of the mass are excited by a second actuator (Actuator 2) controlled such as to track a predetermined shaft angle trajectory. The primary actuator (Actuator 1) is run in force control mode as before. This allows force tracking tests with dynamic end effector trajectories.

E. Performance Indicators

To assess performance, we use the bias-adjusted mean absolute force tracking error: \begin{align*} \text {MAE}_{\tilde {f}}^{*}:=&\tfrac {1}{M} {\sum _{k=1}^{M}} | f'(t_{k})-f_{c}(t_{k})-b_{0}|, \text {with } b_{0} \\=&\tfrac {1}{M}\sum _{k=1}^{M} (f'(t_{k})-f_{c}(t_{k}))\tag{6}\end{align*}

View SourceRight-click on figure for MathML and additional features. where f' is f filtered in post-processing using a lowpass filter of 10 Hz, M is the number of discrete sample points t_{k} in the considered time window, and b_{0} is the tracking error bias.

SECTION III.

Delays and Prediction

1) Measurements, Sampling, and Delay in the Control Loop

Figure 10 illustrates the flow of signals in the loop. We control the actuator using a discrete control system with cycle times T_{d} = 5 ms. At the start of each control cycle, measurements are input to the control system from the data acquisition system (DAQ), whereas at the end of each control cycle, the motor control command \theta _{c} is output. This means that there is a control cycle delay \tau _{cc} = T_{d} . A system for logging data is set up both in the DAQ and in the control system cycle. The force measurements are sampled at 1200 Hz and filtered by Butterworth anti-aliasing filter of cutoff frequency 200 Hz before the controller samples the signal. Although the sampled force signal still exhibits high-frequency noise, further filtering is not deemed necessary since the force measurements will not be used directly in feedback control.

FIGURE 10. - Flow of signals, sampling and delays in the control loop.
FIGURE 10.

Flow of signals, sampling and delays in the control loop.

Consider now the simple feedforward control \begin{equation*} \theta _{c}= \underbrace {\theta _{w} }_{{\begin{matrix}\theta _{c}^{fp} \end{matrix} }}+ \underbrace {\frac {f_{c} }{k_{\theta,r}}}_{{\begin{matrix}\theta _{c}^{ff} \end{matrix} }} +\theta _{0}\tag{7}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where the position and force-feedforward terms are labelled by \theta _{c}^{fp} and \theta _{c}^{ff} , respectively. Communication, sampling, motor dynamics, and cycle times delay the feedforward signals, as illustrated in Figure 10. The relative position feedforward delays are denoted by \tau _{wc} , \tau _{ws} , and \tau _{cs} such that \theta _{s}^{fp}(t)= \theta _{c}^{fp}(t-\tau _{cs})=\theta _{w} (t- \tau _{ws}) and \theta _{c}^{fp}(t)= \theta _{w}(t-\tau _{wc}-\tau _{w0}) . Here, \tau _{w0} represents the small unknown delay until the drum angle has been sampled. \tau _{fs} is the force-feedforward delay such that {\theta _{s}^{ff}(t) }= {f_{c}(t-\tau _{fs})} \big /{{k_{\theta,r}}} . In this paper, f_{c} is constructed at the end of the control cycle such that \tau _{fs}= \tau _{cs} . However, this is not always the case. For example, [35] calculates f_{c} using another control-loop with separate characteristic delays.

As illustrated in Figure 10, the different components in our control system have varying update frequency, and they were not further synchronised. Due to varying phase between measurement, we expect a varying time delay in the interval ±3 ms from test to test.

2) Effect of Time Delays

A delayed signal can be approximated through a Taylor series expansion of the delayed term \tau about zero [36]: \begin{equation*} x(t-\tau) = \sum _{q=0}^{Q}\frac { x^{(q)}(t)}{ q!}(-\tau)^{q} + \mathcal {O}(\tau ^{Q+1}),\tag{8}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where x^{(q)}(t) denotes the q th derivative, and \mathcal {O}(\tau ^{Q+1}) denotes higher-order terms. For sufficiently small delays, higher-order terms can be neglected to get \begin{equation*} x(t-\tau)\approx x(t) - \tau \dot {x}(t)\tag{9}\end{equation*}
View SourceRight-click on figure for MathML and additional features.

If \theta _{s} is delayed by \tau , we get from (9) that the first-order delay-dependent error of (5) is \begin{equation*} (\theta _{s}(t-\tau)-\theta _{s} (t)) k_{\theta,r} \approx -\tau \dot {\theta }_{s} k_{\theta,r},\tag{10}\end{equation*}

View SourceRight-click on figure for MathML and additional features.

Considering that the two have different delays, the first-order position feedforward delay-induced error is \begin{equation*} k_{\theta,r} ({\theta _{w}(t-\tau _{ws})}-\theta _{w}(t))\approx -k_{\theta,r} \tau _{ws} \dot {\theta }_{w},\tag{11}\end{equation*}

View SourceRight-click on figure for MathML and additional features. whereas the first-order force feedforward delay-induced error is \begin{equation*} f_{c}(t-\tau _{fs})- {f_{c}(t)}\approx -\tau _{fs} \dot {f}_{c}.\tag{12}\end{equation*}
View SourceRight-click on figure for MathML and additional features.

In our applications k_{\theta,r} \dot {\theta }_{w} \gg \dot {f}_{c} and \tau _{ws}>\tau _{fs} such that the effect of (11) is typically much greater than (12). We highlight this in the following remark.

Remark 1.

For force control using winched actuators with the servomotor in position mode, the position feedforward term is sensitive to time delays. Given a pure position feedforward time delay \tau , the first-order error is given by the damping term \tilde {f}= -k_{x} \dot {x}_{e} \tau , where x_{e} is the feedforwarded position (in the pull direction) and k_{x} is the transmission stiffness.

It is difficult to separate the effect of (11) from the damping force c_{w,r}\dot {\theta }_{w} . We therefore, hereafter, lump c_{w,r} into the effective time delay \tau _{ws} .

3) Least Squares Parameter Estimation

For identification and for prediction purposes, we will use least squares parameter estimation [37] to fit a set of state variables x_{1}, x_{2}, \cdots, x_{l} to a response variable y assumed described by the linear mapping \begin{equation*} {y}=\beta _{0}+\beta _{1} x_{1} + \beta _{2} x_{2} + \cdots +\beta _{l} x_{l}+ \epsilon,\tag{13}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where \epsilon is a zero-mean random error. We denote a dataset with m observations by \boldsymbol {y}= (y_{1},y_{2} \cdots y_{m})^{\top } and \boldsymbol {X} = (\boldsymbol {x}_{0}, \boldsymbol {x}_{1},\cdots, \boldsymbol {x}_{l}) where \boldsymbol {x}_{0}= \boldsymbol {1}_{m\times 1} and \boldsymbol {x}_{i}= (x_{i1},x_{i2} \cdots x_{im})^{\top } for i=\{1,2,\cdots, l\} .

Let \hat {y}_{k}: = [x_{1k}, x_{2k}, \cdots,x_{lk}] \boldsymbol {\beta } . The set of coefficients {\boldsymbol {\beta }} , minimising the weighted least square estimation error \sum _{k=1}^{k=m} w_{k} (\hat {y_{k}}- {y}_{k})^{2} is \begin{equation*} {\boldsymbol {\beta }} = \boldsymbol {\left ({(WX)^{\top } (WX)}\right)^{-1} WX^{\top } W {y}},\tag{14}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where {\boldsymbol {\beta } }= (\beta _{0},\beta _{1}, \beta _{2} \cdots, \beta _{l})^{\top } and \boldsymbol {W} =\text {diag} (w_{1},w_{2},\cdots, w_{m}) . Hereafter, when not specified, we use the non-weighted version of (14), that is, w_{k}=1 \text {for } i \in \{1,\cdots, m\} . Later, we continue to use bold notation to refer to sampled sets when referencing (14). For example, we write \boldsymbol {\theta }_{w} to mean ({\theta }_{w,1}, {\theta }_{w,2}, \cdots, {\theta }_{w,m})^{\top } and \text {sgn}(\dot {\boldsymbol {\theta }}_{w}) to mean (\text {sgn}(\dot {\theta }_{w,1}), \text {sgn}(\dot {\theta }_{w,2}), \cdots,\text {sgn}(\dot {\theta }_{w,m}))^{\top } .

4) Polynomial Prediction

We can predict the drum angle \theta _{w} an interval \tau _{\text {pred}} forward in time using polynomial prediction [38] as follows. At time t_{N} , let \boldsymbol {\theta }_{w} be a vector of the N past measured drum angles, sampled at the past N time instances: \{t_{1}, t_{2},\cdots, t _{N}\} . Expecting trajectories to be smooth, we assume that \theta _{w}(t_{k}) in the interval t=[t_{1},(t_{N}+\tau _{\text {pred}})] can be described by a p -th order polynomial model: \theta _{w}(t_{k})=\boldsymbol {x}_{t}(t-t_{N}) \boldsymbol {\beta }_{t} , where \begin{equation*} \boldsymbol {x}_{t}(\tau)= \left [{\begin{matrix} {1 }&{\tau }& {\tau }^{2}& \cdots & {\tau }^{p} \end{matrix} }\right].\tag{15}\end{equation*}

View SourceRight-click on figure for MathML and additional features.

Assuming values that are close to the query point provide more information, we now find \boldsymbol {\beta }_{t} using the weighted least square (14) with \boldsymbol { y}= \boldsymbol {\theta }_{w} and \boldsymbol {X} = \left [{\begin{matrix} \boldsymbol {1 }&{\boldsymbol {t}'^{\circ 1}}& \boldsymbol {t'}^{\circ 2}& \cdots & \boldsymbol {t'}^{\circ p} \end{matrix} }\right] , where \boldsymbol {t}'^{\circ i} = \left [{\begin{matrix} {(t_{1}-t_{N})^{i}}& {(t_{2}-t_{N})}^{i}& \cdots & {(t_{N}-t_{N})^{i}} \end{matrix} }\right]^{\top } for i=\{1,\cdots,p \} . Inspired by [39], we choose a Gaussian-like weighting, w_{k}=e^{-(0.015+(t_{N}-t_{k}))^{2}/ {0.02}} . We then express the predicted drum angle by2 \begin{equation*} \hat {\theta }_{w}(t+\tau _{\text {pred}}) = \boldsymbol {x}_{t}(\tau _{\text {pred}})\boldsymbol {\beta }_{t}\tag{16}\end{equation*}

View SourceRight-click on figure for MathML and additional features.

The frequency to magnitude response of polynomial predictive filters may be difficult to characterize, and extrapolation with polynomials may generally be hazardous and prone to errors [40]. In this paper, we assume that (16) gives satisfactory prediction performance. By this, we mean that the force errors due to inaccurate prediction \hat {\theta }_{w}(t+\tau _{\text {pred}})-\theta _{w}(t+\tau _{\text {pred}}) are small compared to the overall force tracking error. This assumption is reasonable due to a short prediction horizon, frequent sampling, smooth end-effector trajectories, and low cable vibrations. We verify this experimentally in Section V, where we use prediction parameters N=23 and p= 3 .

Similar methods for actuator position prediction have been applied with success in other fields. See, for example [38]. For more on polynomial prediction, we refer to [39]–​[41].

We estimate predicted derivatives using \hat {\dot {\theta }}_{w} (t+\tau _{\text {pred}}) = \dot {\boldsymbol {x}}_{t}(\tau _{\text {pred}})\boldsymbol {\beta }_{t} and \hat {\ddot {\theta }}(t+\tau _{\text {pred}}) = \ddot {\boldsymbol {x}}_{t}(\tau _{\text {pred}})\boldsymbol {\beta }_{t} , where \dot {\boldsymbol {x}}_{t} and \ddot {\boldsymbol {x}}_{t} are element-wise derivatives of (15). For each step of differentiation, noise and prediction errors are amplified.

SECTION IV.

Control Design

Consider now the feedforward control (7). We expect this to be associated with: 1) motion-induced errors associated with damping, inertia, and angle-dependent force variations modelled in (5), 2) force feedforward-induced errors associated with inaccuracies in the linear deflection-to-force model, and 3) delay-induced errors as outlined in Section III-2. In this section, we extend the feedforward control to overcome most of these errors.

A. Delay Compensation

We now introduce the predictive feedforward controller, which compensates for delays by predicting the drum angle \theta _{w} an interval \tau _{\text {pred}} forward in time: \begin{equation*} \theta _{c}(t)=\hat {\theta }_{w}(t+\tau _{\text {pred}}) + {\frac {f_{c} }{k_{\theta,r}}} +\theta _{0},\tag{17}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where \hat {\theta }_{w}(t+\tau _{\text {pred}}) is the predicted position, found using (16).

We should with this achieve the feedforward position term \theta _{s}^{fp}(t)=\hat {\theta }_{w}(t-\tau _{ws}+\tau _{\text {pred}}) , which for \tau _{\text {pred}}= \tau _{ws} should compensate for delay if the extrapolation procedure is accurate.

1) Delay Estimation

To use (17), we must estimate \tau _{ws } . We can use (9) as an efficient method to estimate the delays between \theta _{w}, \theta _{c} , and \theta _{s} as follows. Let the signals \theta _{1} and \theta _{2} be characterized by \theta _{1}(t-\tau) \approx b_{0}+b_{1} \theta _{2}(t) . Solving (14) with \boldsymbol {\beta } = \left [{\begin{matrix} \beta _{\theta, 0 } &\beta _{\theta, 1}& \beta _{\dot {\theta }, 1 } \end{matrix} }\right] , \boldsymbol {X} = \left [{\begin{matrix} \boldsymbol {1 }&{\boldsymbol {\theta }_{1}}&\dot {\boldsymbol {\theta }}_{1} \end{matrix} }\right] and \boldsymbol {y}= \boldsymbol {\theta }_{2} , the delay between the two signals is found using: \begin{equation*} \hat {\tau } \approx -\frac {\beta _{\dot {\theta }, 1 } }{\beta _{\theta,1}},\tag{18}\end{equation*}

View SourceRight-click on figure for MathML and additional features. which is used to determine \hat {\tau }_{ws} , \hat {\tau }_{wc} , and \hat {\tau }_{cs} .

Assuming that damping is dominated by the position feedforward delay-induced damping (11), a redundant and independent method to identify delays uses (14) with \boldsymbol {\beta }= \left [{\begin{matrix} \beta _{0} &\beta _{\dot {\theta }_{w}} \end{matrix} }\right] , \boldsymbol {X} = \left [{\begin{matrix} \boldsymbol {1 }&\dot {\boldsymbol {\theta }}_{w} \end{matrix} }\right] , and \boldsymbol { y}=\tilde {\boldsymbol {f}} . The delay between the two signals is then estimated by: \begin{equation*} \breve {\tau }_{ws} \approx -\frac {\beta _{\dot {\theta }_{w}}}{k_{\theta,r}},\tag{19}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where we have used the notation \breve {\tau }_{ws} to differentiate the estimates from that of (18).

Recall now the force model (5). We have already lumped the damping c_{w,r}\dot {\theta }_{w} into the effective time delay. However, c_{s,r} \text {sgn}(\dot {\theta }_{w}) also correlates with the angular speed. Therefore, if the estimate of c_{s,r} is available, then using \boldsymbol { y}=\tilde {\boldsymbol {f}}- c_{s,r}\text {sgn}(\dot {\boldsymbol {\theta }}) to find \beta _{\dot {\theta }} is expected to increase the accuracy of (19).

We expect \breve {\tau }_{ws} estimated from (19) to be less accurate and noisier than \hat {\tau }_{ws} estimated from (18) with \theta _{1}=\theta _{s} and \theta _{2}=\theta _{w} . However, it has the advantage of incorporating both \tau _{w0} and the effective delay from damping, as well as not being affected by delays associated with sampling.

2) Adaptive Delay Prediction

Whereas (18) and (19) find \tau _{\text {pred}}=\tau _{ws} offline, we next present a method that adaptively estimates \tau _{\text {pred}} online:

  1. We allow the predicted error to drift by: \begin{equation*} \dot {\tau }_{\text {pred},0}= {-} k _{\tau }\tilde {f} \text {sgn}^{*}(\dot {\theta }_{w}),\tag{20}\end{equation*}

    View SourceRight-click on figure for MathML and additional features. \text {where } \text {sgn}^{*}(\dot {\theta }_{w}):= \{0, \forall |\dot {\theta }_{w}| < \theta _{\text {trunc}}; \pm 1, \text {otherwise}\} , k _{\tau } is an integral gain, and \theta _{\text {trunc}}=0.05 rad/s truncates the signal for low velocities.

  2. \tau _{\text {pred},0} is saturated such it is always in the interval \{ 0, \tau _{\text {max}} \} , where \tau _{\text {max} } is the expected upper limit on the delay, imposed for robustness.

  3. We set \tau _{\text {pred}} = \text {LPF}(\tau _{\text {pred},0}) , where LPF is a lowpass filter applied to smoothen the variations of \tau _{\text {pred}} .

The procedure has the advantage of being able to capture time-dependent variations in delay as well as not depending on exact delay identification. It assumes that the components of \tilde {f} that correlate with angular velocity (e.g., c_{\text {s,r}} \text {sgn}(\dot {\theta }_{w}) and k_{\theta,r} \dot {\theta }_{w} (\tau _{ws}- \tau _{\text {pred}}) ) dominate the integrated term \int \big (\tilde { f}\text {sgn}^{*}\big (\dot {\theta }_{w}\big)\big) . The contribution from other components of \tilde {f} are expected to cancel out as \text {sgn}^{*}(\dot {\theta }_{w}) attains approximately equally many negative and positive values over time.

Since the integrated term correlates with both c_{s,r} \text {sgn}(\dot {\theta }_{w}) and k_{\theta,r} \dot {\theta }_{w} \tau _{ws} , increased accuracy is expected in the estimation of \tau _{ws} if one first corrects for c_{s,r} \text {sgn}(\dot {\theta }_{w}) in the feedforward controller.

Although used with success in this paper, caution must be taken if the procedure is combined with broad-banded trajectories with varying target forces. Concretely, when \tau _{\text {pred}} \not \approx \tau _{ws} the term \int \big (\tilde { f}\text {sgn}^{*}(\dot {\theta }_{w})\big) should be dominated by k_{\theta,r} \dot {\theta }_{w} (\tau _{ws}- \tau _{\text {pred}}) for the method to work effectively. Even so, one can also use the method to tune \tau _{\text {pred}} in the initialization phase, when motions and target forces are highly controlled.

B. Model Compensation

We now introduce the model correcting, predictive feedforward controller which includes a term { {\boldsymbol {x}_{m}} \boldsymbol {\beta }_{m}}\big /{k_{\theta,r}} that aims at compensating for actuator damping and angle-dependent force variations:\begin{equation*} \theta _{c}=\hat {\theta }_{w}(t+\tau _{\text {pred}}) + {\frac {f_{c} }{k_{\theta,r}}} +\theta _{0}- \frac { {\boldsymbol {x}_{m}} \boldsymbol {\beta }_{m}}{k_{\theta,r}},\tag{21}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where \boldsymbol {x}_{m}= \left [{\begin{matrix} 1 &\text {sin}(\theta) &\text {cos}(\theta) &\text {sat}({\dot {\theta }_{w}} \big / {\mu }) \end{matrix} }\right] and \boldsymbol {\beta }_{m} = \left [{\begin{matrix} \beta _{0} &\beta _{\text {sin}}& \beta _{\text {cos}}& \beta _{\text {sgn}} \end{matrix} }\right] . To avoid chattering, we have here replaced \text {sgn}({\dot {\theta }_{w}}) with \text {sat}({\dot {\theta }_{w}} \big / {\mu }):=\{{\dot {\theta }_{w}}\big /{\mu } , for -1 < ({\dot {\theta }_{w}}\big /{\mu }) < 1 ; \text {sgn}({\dot {\theta }_{w}}\big /{\mu }) , otherwise}. The choice of { {\boldsymbol {x}_{m}} \boldsymbol {\beta }_{m}} is explained as follows. We deduce experimentally in Section V-B that the mapping {k_{1} \text {sin}(\theta _{w}) + k_{2} \text {cos}(\theta _{w}}) fits the angle-dependent force variations f_{2} quite well (if needed, this could easily be extended to more complex mappings). For transmission system damping and inertia, we note that the damping term c_{w,r}\dot {\theta }_{w} is incorporated by the predictive feedforward delay compensation, whereas c_{s,r} \text {sgn}(\dot {\theta }_{w}) is compensated through (21). We would ideally like to compensate for I_{w,r}\ddot {\theta }_{w} . However, in Section V-B we show that the use of acceleration feedback is not feasible with our setup.

C. Adaptation of Parameters

In this section, we describe how we identify parameters for use in the feedforward controller. Generally, this can be performed adaptively online or through offline identification.

1) Estimation of Spring Characteristics

As discussed earlier, the clockspring characteristics may be slowly varying with time. To take this into account, we estimate k_{\theta,r} and \theta _{0} online during operation as follows3:

  1. Every time interval t_{0} , we sample \theta _{w}, \theta _{s} , and f to a buffer (\boldsymbol {\theta }_{w} , \boldsymbol {\theta }_{s} , \boldsymbol {f} ) containing the last K sampled data points.

  2. The buffered data are then used to solve (14) with \boldsymbol {\beta }= \boldsymbol {\beta }_{k} = \left [{\begin{matrix} \beta _{0} &\beta _{k,\theta } \end{matrix} }\right] , \boldsymbol {X}=\boldsymbol {X}_{k} = \left [{\begin{matrix} \boldsymbol {1 }&({\boldsymbol {\theta }_{s}}-{\boldsymbol {\theta }_{w}}) \end{matrix} }\right] and \boldsymbol {y}={\boldsymbol {f}} .

  3. \hat {\theta }_{0}=-\frac {\beta _{0}}{\beta _{k,\theta } } and \hat {k}_{r,\theta }= \beta _{k,\theta } are now the online estimated input parameters to the feedforward controller.

By allowing variations in k_{\theta,r} , note that one may also capture some of the effects of unmodelled slowly-varying changes of the effective radius r . For the procedure outlined above to be accurate, the buffered data must capture a dataset with sufficiently rich variation in deflection (it cannot be used if f_{c} is constant). Moreover, sampling should be done over a long enough time window such that local trends and spring characteristics that do not correlate with deflection average out.

2) Other Model Parameters

For estimating the other model parameters, (14) is solved with \boldsymbol {\beta }=\boldsymbol {\beta }_{m} = \left [{\begin{matrix} \beta _{0} &\beta _{\text {sin}}& &\beta _{\text {cos}}& \beta _{\text {sgn}} \end{matrix} }\right] , y=\tilde {\boldsymbol {f}} , and \boldsymbol {X}= \boldsymbol {X}_{m} = \left [{\begin{matrix} \boldsymbol {1 }&{\text {sin}(\boldsymbol {\theta }_{w}})&{\text {cos}(\boldsymbol {\theta }_{w}})& \text {sgn}({\dot {\boldsymbol {\theta }}}_{w}) \end{matrix} }\right] . To capture variations and for practical purposes, this identification can be performed by estimating the parameters offline or online by sampling data to a buffer similarly as above. For both cases, the data should be acquired during time-windows with significant actuator and end effector motions.

D. Control Summary and Discussion

We have now presented three feedforward controllers of increasing complexity. That is, (7), (17), and (21). Figure 11 features the implementation of (21). In the following, we elaborate on some practical implementation details and considerations.

  1. Sampling and buffering: For robustness, the measurements used for parameter estimation should cover a sufficiently rich test dataset. If a windowed least squares implementation is used, the buffer and sampling should be configured to cover a sufficiently large number of samples (we use K=1000 and t_{0}= {\mathrm {0.04\,\, \text {s}}} for buffer sampling). Similarly, for a recursive least squares implementation, the forgetting factor should be configured to sufficiently prioritizes earlier samples.

  2. Rate limitation and saturation: These are for robustness imposed on the estimated \boldsymbol {\beta } -values. The rate limiter matches the expectation of slowly varying changes, and the saturation block provides robustness by limiting the parameters to within expected bounds.

  3. Adaptive model estimation: The control system is set up such that it is simple to switch between: 1) updating \boldsymbol {\beta } -values based on estimation, 2) fixing the \boldsymbol {\beta } -values (while monitoring the estimated \boldsymbol {\beta } -values), and 3) switching to offline estimated values. If the \boldsymbol {\beta } -values are calculated online, we can find \boldsymbol {\beta }_{m} and \boldsymbol {\beta }_{k} individually as above or collectively using \boldsymbol {X}={\left [{\begin{matrix}\boldsymbol {X}_{m}& (\boldsymbol {\theta }_{s}- \boldsymbol {\theta }_{w}) \end{matrix} }\right]} , \boldsymbol {y}= \boldsymbol {f} , and \boldsymbol {\beta }= {\left [{\begin{matrix} \boldsymbol {\beta }_{m} &{\beta }_{k,\theta } \end{matrix} }\right]} . Due to frequent sampling, assumption of slow variations, saturations, and rate limitations, we expect to be able to adaptively handle the parameter variations effectively (this is later demonstrated experimentally). Although not implemented in this work, we note that there are least squares variants that further emphasise robustness [43], [44].

As described in Section II-C3, there are no internal states in the considered inner loop transmission system. Since the control input depends only on feedforward control terms (with rate-limited saturated adaptation), there are no variables that can become unstable. Since force errors are not used in direct feedback control and \theta _{w} follows from the slower platform dynamics, force errors and disturbances are generally not amplified by the controller. High-performance force tracking thus relies on the feedforward controller’s ability to accurately capture the force transmission system mapping. If the actual transmission system properties were perfectly known, the force tracking error could be expressed according to (5) and Remark 1. In the next chapter, we study the performance experimentally.
FIGURE 11. - Full control loop using (21) including prediction, estimation and controller terms.
FIGURE 11.

Full control loop using (21) including prediction, estimation and controller terms.

SECTION V.

Experimental Testing

Experimental testing has been performed for system identification purposes, method validation, and investigation of controller performance. In brief, we have separated the experimental study into three parts; 1) Section V-A covers the problem of tracking a variable cable force onto a fixed end effector (Test 1-2), 2) Section V-B covers the problem of regulating a fixed cable force onto a moving end effector (Test 3-11), and 3) Section V-C covers the coupled problem of tracking a variable target force onto a moving end effector (Test 12). A summary of the tests is presented in Table 1, together with their objectives and test characteristics. Table 2 details the corresponding test trajectories.

TABLE 1 Experimental Tests Overview
Table 1- 
Experimental Tests Overview
TABLE 2 End Effector and Target Force Trajectories
Table 2- 
End Effector and Target Force Trajectories

Unless specified otherwise, figures display experimental data that has been smoothed in post-processing using phase-free lowpass filters with a cutoff frequency of 5 Hz.

A. Variable Cable Force With Fixed End Effector Position

Test 1-2: Online Estimation of Spring Characteristics (\theta_{0} and k_{\theta,r} ) Using Controller (7)

Figure 12(a) shows the resulting force tracking performance and online estimated spring characteristics4 from Test 1. As illustrated, the spring characteristic alters significantly after about 300 seconds, which initially leads to increased force error. However, once the estimated spring characteristics settle at a new level, the adaptivity ensures that the feedforward errors again are small. Note the integral effect of the term \theta _{0} .

FIGURE 12. - (From Test 1) Force tracking with adaptive spring characteristics with fixed end effector (a) Full interval. (b) Sample interval.
FIGURE 12.

(From Test 1) Force tracking with adaptive spring characteristics with fixed end effector (a) Full interval. (b) Sample interval.

Figure 12(b) highlights force tracking and corresponding spring deflection on a specific time interval. It also shows the remaining error after subtracting the modelled force for the chosen linear mapping as well as when a second-order mapping f'= \beta _{0}'+ \beta _{1}' ({\theta _{s}-\theta _{w}}) + \beta _{2}' ({\theta _{s}-\theta _{w}}) ^{2} is used. The resulting estimation error is similar for the linear and the second-order model, indicating that the linear deflection-to-force model is sufficient. We believe the remaining error is due to damping, inertia, backlash, and weight induced forces. Although not detailed in this paper, we observe that the error is partly systematic (for example, there appears to be one term proportional to \text {sgn}(\dot { \tilde {\theta }}) ), and thus presumably could be modelled as part of the feedforward controller.

Figure 13(a) shows the resulting forces for Test 2, illustrating how the force-feedforward term behaves well. As indicated in the highlighted segment, high-performance force tracking is also achieved for higher frequencies. The increase of \tilde {f} at high frequencies is mostly due to the phase lag (from the feedforward time delay \tau _{fs} ).

FIGURE 13. - (From Test 2) Force tracking with adaptive spring characteristics and harmonic sweeping target force. (a) Force performance (
$\tilde {f} $
 filtered at 10 Hz). (b) Online spring characteristics estimation.
FIGURE 13.

(From Test 2) Force tracking with adaptive spring characteristics and harmonic sweeping target force. (a) Force performance (\tilde {f} filtered at 10 Hz). (b) Online spring characteristics estimation.

Test 1 serves as an example where the change in spring characteristics were greater than typical (see Figure 12(a)) and Test 2 serves as an example of a case where the spring characteristics were more stable (see Figure 13(b)). The online stiffness estimation handles both cases well.

B. Fixed Force With a Moving End Effector

In this section, we use actuator Configuration 2 with a fixed target force to assess the effects of end effector motions on the control performance.

1) Test 3: Identification of f_{2}(\theta_{w}) and c_{s,r} Using Controller (7)

Figure 14 shows the resulting force errors as a function of \theta _{w} for Test 3 for a set of different fixed target forces. The black arrows in the figure indicate the direction in time, with one full revolution corresponding to 600 seconds. Due to low velocities, we expect forces proportional to velocity and acceleration to be negligible.

FIGURE 14. - (From Test 3) Resulting forces with slow end effector trajectory and regression model. 
$\tilde {f} $
 filtered at 1 Hz.
FIGURE 14.

(From Test 3) Resulting forces with slow end effector trajectory and regression model. \tilde {f} filtered at 1 Hz.

We can roughly divide the force error in Figure 14 into a directional component and an angle-dependent component (e.g., c_{s,r}\text {sgn}(\dot {\theta }_{w}) and f_{2}(\theta _{w}) \approx f_{0}+{k_{1} \text {sin}(\theta _{w}) + k_{2} \text {cos}(\theta _{w}} )). We believe the majority of f_{2}(\theta _{w}) to be related to the unsymmetrical mass distribution of the spring. However, some may come from systematic errors in the servomotor’s internal position-controller, encoders, or cable-layering.

We now use (14) to fit a model for the slow-speed variations using\vphantom {_{\int }}\,\, \boldsymbol {\beta }_{m} = \left [{\begin{matrix} \beta _{0} &\beta _{\text {sin}}& &\beta _{\text {cos}}& \beta _{\text {sgn}} \end{matrix} }\right] and \boldsymbol {X}_{m} = \left [{\begin{matrix} \boldsymbol {1} &{\text {sin}(\boldsymbol {\theta }_{w}})&{\text {cos}(\boldsymbol {\theta }_{w}})& \text {sgn}(\dot {\boldsymbol {\theta }_{w}}) \end{matrix} }\right] . The resulting model is shown in grey in Figure 14 and appears to follow the trend quite well.

2) Test 4-5: Identification of Delays (\breve{\tau}_{ws},\hat{\tau}_{ws},\hat{\tau}_{wc},\hat{\tau}_{cs} ) and Their Effect on Force Tracking Performance Using Controller (7)

Figure 15 shows the resulting forces and the corresponding estimated delays of Test 4. In this test, we increased the control cycle times T_{d} in two steps. The effective delay from sample rate T_{d} , is expected to be T_{d} \big / 2 [45]. Since it captures both the effective sampling delay and the control cycle delay \tau _{cc} , we expect \tau _{wc}=\tfrac {3}{2} T_{d} , which holds experimentally as T_{d} increases.

FIGURE 15. - (From Test 4) Delay estimation with fast end effector trajectory and 
$f_{c}= {\mathrm {8\,\, \text {N}}}$
. Increasing control cycle times 
$T_{d} $
.
FIGURE 15.

(From Test 4) Delay estimation with fast end effector trajectory and f_{c}= {\mathrm {8\,\, \text {N}}} . Increasing control cycle times T_{d} .

In Test 5, we repeated the experiment (for T_{d}= {\mathrm {5\,\, \text {m} \text {s} }} only), but we now artificially increased the control cycle delay \tau _{cc} by one sample (e.g., \mathrm {5~ \text {m} \text {s} } ) every 10^{\text {th}} period, as shown in Figure 16. Noting that the velocity amplitude a_{ \dot { \theta }} , indicated in the figure is 1.36 rad/s, we expect per Remark 1, an increase in \tau _{ws} of \Delta \tau _{ws}= 5 ms to result in an increase in force amplitude of \Delta F = \Delta \tau _{ws} a_{ \dot {\theta }_{w}} k_{\theta,r} = {\mathrm {0.056\,\, \text {N}}} (also indicated in the figure). Further, the resulting estimated delays \breve {\tau }_{ws},\hat {\tau }_{ws},\hat {\tau }_{wc},\hat {\tau }_{cs} should all increase by 5 ms. As seen in the figure, this holds closely, thus experimentally verifying the results of Section III-2.

FIGURE 16. - (From Test 5) Delay estimation with fast end effector trajectory and 
$f_{c}= {\mathrm {8\,\, \text {N}}}$
. Artificial delay increases by 5 ms every 10th period. 
$f $
 is filtered at 1Hz.
FIGURE 16.

(From Test 5) Delay estimation with fast end effector trajectory and f_{c}= {\mathrm {8\,\, \text {N}}} . Artificial delay increases by 5 ms every 10th period. f is filtered at 1Hz.

The identified delays (for T_{d}= {\mathrm {5\,\, \text {m} \text {s} }} ) are presented in Table 3. To calculate \breve {\tau }_{ws} , we used (19) with \boldsymbol { y}=\tilde {\boldsymbol {f}}- c_{s,r}\text {sgn}(\dot {\boldsymbol {\theta }_{w}}) , where c_{s,r} =-\beta _{\text {sgn}} , as identified in Figure 14. Note how the estimates \hat {\tau }_{ws} and \breve {\tau }_{ws} differ due to the reasons previously discussed.

TABLE 3 Identified Delays in Loop (From Test 4-5)
Table 3- 
Identified Delays in Loop (From Test 4-5)

3) Test 6: Actuator Model Identification and Assessment of Predictor Performance Using Controller (7)

To investigate the underlying model, we now fit all datapoints from Test 6 using \boldsymbol {\beta } =[\beta _{0} \beta _{\text {sin}} \beta _{\text {cos}} \beta _{\text {sgn}} \beta _{\dot {\theta }_{w} } \beta _{\ddot {\theta }_{w} }] , y=\tilde {\boldsymbol {f}} , and \boldsymbol {X} =[\boldsymbol {1 } {\text {sin}(\boldsymbol {\theta }_{w}}) {\text {cos}(\boldsymbol {\theta }}_{w}) \text {sgn}(\dot {\boldsymbol {\theta }_{w}}) \dot {\boldsymbol {\theta }_{w}} \ddot {\boldsymbol {\theta }}_{w}] . Table 4 presents the resulting coefficients. Figure 17(a) shows the resulting force error components for three sample periods, illustrating how the force error exhibit similar trends for varying T_{2} . Figure 17(b) presents \text {MAE}_{\tilde {f}}^{*} as a function of the period, showing how the model explains most of the resulting error.

TABLE 4 Identified Model Parameters (From Test 6)
Table 4- 
Identified Model Parameters (From Test 6)
FIGURE 17. - (From Test 6) Force tracking with sweeping end effector trajectory and 
$f_{c}= {\mathrm {8\,\, \text {N}}}$
. 
$f $
 is filtered at 
$\mathrm {10~ \text {Hz}}$
. (a) Force error separated into components for three sample periods. (b) 
$\text {MAE}_{\tilde {f}}^{*}$
 as function of period 
$T_{2}$
. (c) Estimated delays over the trajectory.
FIGURE 17.

(From Test 6) Force tracking with sweeping end effector trajectory and f_{c}= {\mathrm {8\,\, \text {N}}} . f is filtered at \mathrm {10~ \text {Hz}} . (a) Force error separated into components for three sample periods. (b) \text {MAE}_{\tilde {f}}^{*} as function of period T_{2} . (c) Estimated delays over the trajectory.

The estimated delays (see Figure 17(c)) remains relatively stable, and \tau _{ws} is mostly independent of the period, which indicates that to model the effects of internal motor dynamics, delays, communication, and sampling as a pure time delay is an appropriate choice.

Figure 18 shows prediction performance for a sample from Test 6 where T_{2} =1 s, demonstrating how the predictor estimates \theta _{w} ~\mathrm {15~ \text {m} \text {s} } ms forward in time well (prediction was only monitored and not used in the control input in Test 6).

FIGURE 18. - (From Test 6) Prediction performance for 
$\theta _{w} $
 with 
$T_{2} =1 $
 s.
FIGURE 18.

(From Test 6) Prediction performance for \theta _{w} with T_{2} =1 s.

Figure 19 compares the predicted derivatives (\hat {\dot {\theta }}_{w} and \hat {\ddot {\theta }}_{w} ) to the benchmark estimates (that is {\dot {\theta }_{w}} and {\ddot {\theta }_{w}} obtained by lowpass smoothing in post-processing) for two values of T_{2} . As indicated in the figure, the relative proportion of noise increases with lower velocities and accelerations.

FIGURE 19. - (From Test 6) Prediction performance for 
$\dot {\theta }_{w} $
 and 
$\ddot {\theta }_{w} $
 for two sample periods.
FIGURE 19.

(From Test 6) Prediction performance for \dot {\theta }_{w} and \ddot {\theta }_{w} for two sample periods.

Whereas velocities are estimated quite well, the acceleration estimates from polynomial prediction are noisier. Conversely, traditional filtering techniques would yield non-acceptable delays. This explains why we do not compensate for the inertia effects in (21).

4) Test 7-8: Adaptive Delay Prediction Procedure Using the Predictive Feedforward Control (17)

In this section, we use (17) with the adaptive delay prediction procedure of Section IV-A2. In Test 7 we start the prediction procedure after 50 seconds with k _{\tau }=2 \cdot 10^{-3} . Figure 20 shows the resulting estimated delays, as well as the resulting forces and \text {MAE}_{\tilde {f}}^{*} for each period. While the estimated delay \tau _{\text {pred}} increases until it stabilises at around 15.5 ms, the estimations for \tau _{ws} behaves inversely, ending up close to zero. The position feedforward-induced errors are significantly reduced.

FIGURE 20. - (From Test 7) Force tracking performance and time delay estimation with adaptive 
$\tau _{\text {pred}} $
.
FIGURE 20.

(From Test 7) Force tracking performance and time delay estimation with adaptive \tau _{\text {pred}} .

In Test 8 (Figure 21) we have repeated the experiment, (with k _{\tau }=2 \cdot 10^{-2} ) and added an artificial delay of one sample (5 ms) to the control loop every 80 seconds. This helps validate that the adaptive delay prediction procedure performs accurately and adaptively.

FIGURE 21. - (From Test 8) Force tracking performance and time delay estimation with adaptive 
$\tau _{\text {pred}} $
. Artificial delay 
$\tau _{add} $
 increases by 5 ms every 80 second.
FIGURE 21.

(From Test 8) Force tracking performance and time delay estimation with adaptive \tau _{\text {pred}} . Artificial delay \tau _{add} increases by 5 ms every 80 second.

5) Test 9 and Test 6,10 and 11: Comparing the Performance of Controllers (7) (17) (21)

Figure 22 shows the resulting forces from Test 9, where we progressively changed the controller from (7) to (17) to (21). Figure 23 compares \text {MAE}_{\tilde {f}}^{*} for the three controllers (Test 6, Test 10, Test 11) with the sweeping end effector trajectory. As the figures show, we reduce force errors significantly as the physical model used in the feedforward controller becomes more advanced.

FIGURE 22. - (From Test 9) Force tracking with fast end effector trajectory and 
$f_{c}= {\mathrm {8\,\, \text {N}}}$
. Progressively changing controller.
FIGURE 22.

(From Test 9) Force tracking with fast end effector trajectory and f_{c}= {\mathrm {8\,\, \text {N}}} . Progressively changing controller.

FIGURE 23. - (From Test 6,10 and 11) 
$\text {MAE}_{\tilde {f}}^{*}$
 for sweeping trajectory with different controllers.
FIGURE 23.

(From Test 6,10 and 11) \text {MAE}_{\tilde {f}}^{*} for sweeping trajectory with different controllers.

C. Moving End Effector, Variable Cable Force

Test 12: Performance With Controller (21)

We have thus far considered force tracking with either fixed end effector or fixed target forces. In Test 12, we vary both. Figure 24 presents the resulting force tracking performance on moving objects with varying target force. Note that the end effector trajectories are not purely harmonic, since both Actuator 1 and Actuator 2 affects the end effector position, resulting in faster accelerations that further challenge the controller. The errors remain below about 0.2 N throughout the test, indicating that the proposed controller performs well.

FIGURE 24. - (From Test 12) Tracking a variable target force with a moving end effector. 
${f} $
 is filtered at 
$\mathrm {10~ \text {Hz}}$
. (a) Full test. (b) Three sample periods highlighted (when comparing the three samples, the difference in time scale should be kept in mind).
FIGURE 24.

(From Test 12) Tracking a variable target force with a moving end effector. {f} is filtered at \mathrm {10~ \text {Hz}} . (a) Full test. (b) Three sample periods highlighted (when comparing the three samples, the difference in time scale should be kept in mind).

D. Summary and Key Findings From Experimental Testing

We have shown experimentally how force tracking accuracy is sensitive to time delays (figures 15 and 16) and how the presented actuator model can describe most of the applied force (figures 14 and 17). Moreover, we have demonstrated predictor performance (figures 18 and 19) and the adaptive delay estimation procedure (figures 20 and 21).

For accurate force control, we recommend controlling the motor shaft position \theta _{c} using (21) – as this eliminates a large portion of the error associated with the simple feedforward control (7) (demonstrated in figures 22 and 23). We further recommend adaptively estimating and updating the spring characteristics online – to capture their time-dependent variations (demonstrated in figures 12 and 13).

Although the overall trend is that higher-frequency end-effector and target force trajectories correlate with increased force tracking errors, the errors remain low throughout the tests (figures 13, 23, and 24). This indicates that the proposed controller performs well despite significant end-effector motions and variable target forces. This is particularly advantageous for real-time hybrid model testing – since the emulated ocean structure (and thus the attached end-effectors) typically undergo significant motions that should not disturb the cable-actuated loads.

Although a direct comparison is difficult due to variations in setup properties, objective, and non-disclosed details, the demonstrated performance of the complete control system (see Figure 24) appears promising when compared to force errors seen in relevant literature using torque-controlled servomotors.

SECTION VI.

Conclusion

In this paper, we have studied and demonstrated how position-controlled servomotors connected to cabled drums via clocksprings might be used for force control with an accuracy of 0.2 N and bandwidth up to 1.4 Hz. The suggested control law compensates for both delays and motion-induced forces. The controller also employs online parameter estimation to improve control performance further. Through experimental testing, we conclude on good force-tracking performance on moving objects. The results are valuable for CPDR setups that use force control and, in particular, for real-time hybrid model testing of ocean structures, where accurate force control, despite significant platform motions, is of utmost importance.

Appendix A

Nomenclature and Variable List

For simplicity, we transformed moments to forces using subscript (\cdot)_{r} to mean \tfrac {(\cdot)}{r} . (e.g., c_{w,r}=c_{w}\big / {r} ). We to use bold notation to refer to sampled sets when referencing (14).

AbbreviationExpansion
Angular Positions
\theta _{c}

Commanded motor shaft angle

\theta _{s}

Resulting motor shaft angle

\theta _{w}

Cable drum shaft angle

\theta _{0}

Spring equilibrium offset

\tilde { \theta }

Spring deflection (\tilde { \theta }= \theta _{s}-\theta _{w}-\theta _{0})

\dot {\theta}_{w}

Drum angular velocity

\ddot {\theta}_{w}

Drum angular acceleration

{\theta}_{c2}

Commanded shaft angle of Motor 2

\Delta{\theta}_{c2}

Amplitude of harmonic motions of {\theta}_{c2}

\hat{\theta}_{w}

Estimate of {\theta}_{w} using predictive polynomial filter

{\theta}_{c}^{ff}

Force feedforward

{\theta}_{c}^{fp}

Position feedforward

Delay and Time Intervals
\tau _{cs}

Feedforward delay from \theta _{c} to \theta _{s}

\tau _{ws}

Feedforward delay from \theta _{w} to \theta _{s}

\tau _{wc}

Feedforward delay from \theta _{w} to \theta _{c}

\tau _{w0}

Delay in sampling of the drum shaft angle

\tau _{cc}

Control cycle delay

\tau _{fs}

Force feedforward delay

\hat {\tau }

Estimated delay using (18)

\breve {\tau }_{ws}

Estimated delay using (19)

\tau _{{\text {pred}}}

Time interval for forward prediction

T_{2}

Period of end-effector trajectory (controlled by Motor 2)

T_{c}

Period of harmonic target force

T_{d}

Control cycle time

Estimation and Predictor Variables
t_{k}

Time instance at the discrete sample k

\beta _{(\cdot)}

Coefficient corresponding to variable (\cdot )

k_{\tau }

Integral gain for delay time estimator

{MAE}_{\tilde {f}}^{*}

Bias adjusted mean absolute force tracking error

b_{0}

Constant force tracking bias

M

Total number of discrete points in an interval

(\boldsymbol {y}, \boldsymbol { \beta }, \boldsymbol {X}, \boldsymbol {W} , w_{k}, \hat {y},m,)

Coefficients and variables used for multiple linear regression; see Section III-3

(\boldsymbol {\beta }_{t} , \boldsymbol {x}_{t}, \boldsymbol {H},N,p)

Coefficients and variables used for polynomial prediction; see Section III-4

(\beta _{k} , \boldsymbol {X}_{k})

Coefficients and variables corresponding to identification of spring characteristics; see Section IV-A1

(\beta _{m} , \boldsymbol {X}_{m})

Coefficients and variables corresponding to identification of the actuator model; see Section IV-A2

Forces and Moments
m

Cable moment about drum centre of rotation

m_{g}

Weight induced moment

m_{1}

Static stiffsness moment

m_{2}

Angle dependent moment (f_{2}=m_{2}/r)

m_{3}

Moment due to transmission system damping and inertia

m_{4}

Moment from lumped unmodelled dynamics (f_{4}=m_{4}/r)

f

Cable force

f'

Cable force filtered in post processing

f_{c}

Commanded cable force

\tilde {f}

Force tracking error; \tilde {f} = f-f_{c}

Properties of the Actuator System
r

Effective drum radius

r0

Effective drum radius at initialization

kr

Change of effective radius (ratio) due to winding

dc

Cable layer thickness

nw

Average number of parallel cables per cable layer

\delta_{(\cdot)}

Uncertainties in effective radius model

l_{w}

Stretched cable length

l_{0}

Stretched cable length at initialization

\Delta l_{w}

Unwound cable length

\Delta l_{c}

Cable elongation

l_{0}

Initial cable length

{\boldsymbol{e}_{i}}

End-effector position

\zeta(\cdot)

Uncertainties in cable length model

k_{0}

Hooks law constant

c_{w}

Linear damping coefficient

c_{s}

Directional damping coefficient

k_{\theta}

Spring deflection to moment mapping

I_{w}

Effective inertia (drum, spring and cable)

I_{s}

Clockspring inertia

I_{wd}

Drum inertia

Other
\boldsymbol {w}_{ref}

Desired cable wrench (load vector)

\boldsymbol {w}

Cable wrench applied on the platform

\boldsymbol {W}

Kinematic mapping from forces to wrench

\omega _{{\text {num}}} , \omega _{{\text {ph}}}

Environmental loads (typically hydrodynamic)

{sgn}(\cdot)

The sign function.

References

References is not available for this document.