Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

A cable-driven parallel robot, in the following simply called cable robot, is a parallel kinematic machine mainly consisting of a platform, cables, and winches as shown in Fig. 1. The cables connect the platform to the winches which in turn control the platform pose by changing the cable length. The control inputs for the winches usually are computed using a simplified kinematic robot model which regards the platform and frame geometry under the assumption that the attachment points at the platform and the contact points at the winch are time invariant. Methods for design and workspace computation of such systems can be found in [3, 4, 10, 12]. Extended kinematic models also include the pulley geometry at the winches and result in higher positioning accuracy [9]. The cable robot IPAnema at Fraunhofer IPA uses Dyneema cables instead of conventional steel cables which brings the advantage of the lower weight but at the same time introduces a more complex elastic behavior in the most relevant force transition element of the cable robot. It showed that the Dyneema polyethylene cables have a changing elastic behavior over time, are subject to settling effects, are sensitive to overload, and show hysteresis effects. Since it is very difficult to build the models and identifying the related parameters using models from different fields such as tribology, viscoelasticity, and multibody systems, here we propose a black box approach to model the drive chain. While white box modeling demands a very good knowledge of the inner relations of a system, black box modeling tries to identify the system behavior by observing the input output behavior of a system.

Fig. 1
figure 1

Overconstrained cable-driven parallel robot

In the fist part of the paper the modeling of the cables is shown. The second part deals with the parameter identification, while the third part shows the evaluation of the model for different input signals.

2 Robot and Cable Elasticity Model

The minimal robot model usually running in a numerical control to operate a robot is based on a solely geometrical model as shown in Fig. 2 including the m platform and winch attachment points \({\mathbf{{b}}_i}\) and \({\mathbf{{a}}_i}\) with \(i = 1 \ldots m\), respectively. The cables can be modeled in different ways depending on the demanded degree of accuracy. The most simple model is just the geometrical model without elastic behavior, meaning that the inverse kinematic equation

$$\begin{aligned} {\mathbf{{l}}_i} = {\mathbf{{a}}_i} - \left( {\mathbf{{r}} + \mathbf{{R}}{\mathbf{{b}}_i}} \right) \end{aligned}$$
(1)

can be used to compute the cable length \({l_i} = {\left\| {{\mathbf{{l}}_i}} \right\| _2}\) from a given platform position \(\mathbf{{r}}\) and rotation \(\mathbf{{R}}\). More complex models deal with pulleys by introducing time variant anchorage points and handle non negligible cable mass by utilizing catenary equations to model the cable sagging [5, 11].

Fig. 2
figure 2

Kinematic loop for one cable

Since the mass of the cables of the IPAnema robot is small in comparison to the applied tension level it is not necessary to regard the cable sagging in the model. For cable force control, admittance control, and parameter identification it is necessary to predict the cable force very accurately. The force and torque equilibrium of a cable robot is described by the structure equation

$$\begin{aligned} \underbrace{\left[ {\begin{array}{*{20}{c}} {{\mathbf{{u}}_1}}&{} \cdots &{}{{\mathbf{{u}}_\mathrm{{m}}}}\\ {{\mathbf{{b}}_1} \times {\mathbf{{u}}_1}}&{} \cdots &{}{{\mathbf{{b}}_m} \times {\mathbf{{u}}_m}} \end{array}} \right] }_{{\mathbf{{A}}^\mathrm{{T}}}}\underbrace{\left[ {\begin{array}{*{20}{c}} {{f_1}}\\ \vdots \\ {{f_m}} \end{array}} \right] }_\mathbf{{f}} + \underbrace{\left[ {\begin{array}{*{20}{c}} {{\mathbf{{f}}_\mathrm{{p}}}}\\ {{\mathbf{{\tau }}_\mathrm{{p}}}} \end{array}} \right] }_\mathbf{{w}} = \mathbf{{0}} \end{aligned}$$
(2)

where \({{\mathbf{{A}}^\mathrm{{T}}}}\) is the well known structure matrix [12], \({\mathbf{{u}}_i} = {\mathbf{{l}}_i}\left\| {{\mathbf{{l}}_i}} \right\| _2^{ - 1}\) is a unit vector in direction of the cables, \(\mathbf{{f}}\) is the vector of cable forces and \(\mathbf{{w}}\) is the external wrench. Going from the kinematic model to a linear elastic model of type

$$\begin{aligned} {f_i} = \left\{ {\begin{array}{ll} {{f_i} = {c_i}\varDelta {l_i}}&{}\quad {\mathrm{{for }}\,\varDelta {l_i} > 0}\\ 0&{}\quad {\mathrm{{for }}\,\varDelta {l_i} < 0} \end{array}} \right. \end{aligned}$$
(3)

with \(\varDelta {l_i} = {l_{\mathrm{{SP}},i}} - {l_i}\) where \(c_i\) is the cable stiffness and \({l_{\mathrm{{SP}},i}}\) is the set point for the cable length while \(l_i\) is the actual cable length in the workspace one can achieve a more accurate prediction. Modeling the cable forces in this way gives acceptable results for positive cable tensions, but leads to numerical problems in case of \(\varDelta {l_i}<0\) due to the discontinuity and the zero area.

Comparing the linear elastic model with experimental data showed that cables also come along with a hysteresis behavior which depends on the actuation frequency, amplitude, tension level and amplitude as well as the current angle of the cables with regards to the redirection pulleys of the robot. Different models such as the Bouc–Wen-Model, Bilinear Model, Bingham Model, or Polynomial model can be used to describe the hysteresis behavior [1, 2, 6]. A single tensioned cable of the robot can be seen as single degree of freedom system with an elastic–plastic behavior whose hysteresis by means of the cable elongation x can be described by two polynomial functions, one for the upper part and one for the lower part

$$\begin{aligned} {F_\mathrm{{U}}}(x) = \sum \limits _{i = 0}^{{n_\mathrm{{P}}}} {{a_i}{x^i}}, \quad \dot{x} > 0 \end{aligned}$$
(4)

and

$$\begin{aligned} {F_L}(x) = \sum \limits _{i = 0}^{{n_\mathrm{{P}}}} {{{( - 1)}^{i + 1}}{a_i}{x^i}},\quad \dot{x} < 0, \end{aligned}$$
(5)

respectively. Under the assumption of displacement anti-symmetry one can compute the hysteresis function by combining Eqs. (4) and (5) to

$$\begin{aligned} F(x,\dot{x}) = g(x) + h(x){\textit{sgn}}(\dot{x}) \end{aligned}$$
(6)

with the polynomials

$$\begin{aligned} \begin{array}{*{20}{c}} \begin{array}{*{20}{c}} {g(x) = {a_1} + {a_3}{x^3} + \cdots + {a_m}{x^{{n_\mathrm{{g}}}}}}\\ {h(x) = {a_0} + {a_2}{x^2} + \cdots + {a_n}{x^{{n_\mathrm{{h}}}}}} \end{array} \end{array} \end{aligned}$$
(7)

where \({n_\mathrm{{g}}}\) is an odd number and \({n_\mathrm{{h}}} = {n_\mathrm{{g}}} - 1\). The degree of the polynomials can be chosen according to the expected accuracy. The sum of the polynomials g(x) and h(x) can be interpreted as the superposition of an anhysteretic nonlinear elastic part and hysteretic nonlinear damping part as shown in Fig. 3. The expression in Eq. (6) allows to describe the hysteresis for a certain amplitude A independent of the current velocity state. Experiments showed that the hysteretic behavior of the cable is different comparing very small an very large amplitudes. Extending the model in order to deal with variable amplitudes and replacing the solely polynomial description by a velocity depended damping expression one can write

Fig. 3
figure 3

Decomposition of a hysteresis curve into its anhysteretic nonlinear elastic part and its nonlinear damping part

$$\begin{aligned} F = {K_0} + {K_1}(A)x + {K_2}(A){x^2} + {K_3}(A){x^3} + \frac{{{S_{\mathrm{{a}}}}{{\left| v \right| }^{\alpha (A)} }{\mathop {\mathrm{sgn}}} (v)}}{{A{{(A\omega )}^{\alpha (A)} }l\pi }} \end{aligned}$$
(8)

where the first amplitude dependent polynomial part, now describes the nonlinear non hysteretic spring behavior and the second part of the equation deals with the velocity depended hysteretic damping forces. The hysteretic part is parameterized by the area of the hysteresis \(S_a\) and the viscoelastic damping factor \(\alpha \). In case of \(\alpha = 0\) the second part of Eq. (8) gets independent of the velocity representing dry friction behavior. The energy dissipation in one cycle for a given friction behavior is

$$\begin{aligned} l = \frac{{\int _0^{\mathrm{{T/2}}} {\sin {{(\omega t)}^{\alpha (A) + 1}}\,d\omega t} }}{{\int _0^{\mathrm{{T/2}}} {\sin {{(\omega t)}^2}\,d\omega t} }} = 2\pi \int \limits _0^{\mathrm{{T/2}}} {\sin {{(\omega t)}^{\alpha (A) + 1}}\,d\omega t} \end{aligned}$$
(9)

where T is the time of oscillation and \(\omega \) is the angular frequency (Fig. 3).

3 Design of Experiments and Parameter Identification

Considering Eq. (8) for a given amplitude level, one has a five dimensional parameter space where the first parameter \(K_0\) determines the pretensioned cable state with \(A=0\) and \(v=0\) reducing the identification problem to four dimensions

$$\begin{aligned} {\mathbf{{p}}_\mathbf{{M}}} = {\left[ {\begin{array}{*{20}{c}} {{K_1}}&{{K_2}}&{{K_3}}&{{S_a}} \end{array}} \right] ^\mathrm{{T}}}. \end{aligned}$$
(10)

The amplitude model is considered separately. While the parameter identification problem for \(p_\text {M}\) has to deal with the problem of finding the inverse mapping function from four to one dimensions \({\mathbf{{p}}_\mathrm{{M}}} = f_\mathrm{{M}}^{ - 1}({r_\mathrm{{M}}})\), the identification of \({p_{\mathrm{{M}},i}} = {f_{\mathrm{{A}}\mathrm{{,i}}}}(A)\) is just a one dimensional problem. For an efficient measurement and identification process it is important to have a good selection of model parameters and measurement samples. A good selection of model parameters means a high sensitivity with regards to the objective function and a good selection of samples means maximized information gain with a minimal number of samples. To obtain the optimal number of parameters necessary for the model identification, the sensitivity of the parameters is computed by

$$\begin{aligned} S = \frac{{{O_2} - {O_1}}}{{{{\bar{O}}_{12}}}}{\left( {\frac{{{I_2} - {I_1}}}{{{{\bar{I}}_{12}}}}} \right) ^{ - 1}}. \end{aligned}$$
(11)

This sensitivity metric gives the relative normalized change of the output O with regards to the input I using the averages \({\bar{O}}\) and \({\bar{I}}\). Parameters with a low sensitivity do not have to be regarded in the model. As can be seen in Table 1, elements with an order higher than three can be neglected in the model. The influence of the parameters \(K_1\) and \(S_a\) are visualized in Figs. 4 and 5.

Table 1 Parameter sensitivity
Fig. 4
figure 4

Parameter sensitivity of \(K_1\)

Fig. 5
figure 5

Parameter sensitivity of \(S_a\)

The selection of measurement samples was done according to a D-optimal design of experiments giving a set of tuples \(({\mathbf{{p}}_{\mathrm{{M}}\mathrm{{,}}i}},{\mathbf{{r}}_{\mathrm{{M}}\mathrm{{,}}i}}), i = 1\ldots {n_\mathrm{{D}}}\) where \({n_\mathrm{{D}}}\) is the number of measurements and \({\mathbf{{r}}_{\mathrm{{M}}\mathrm{{,}}i}}\) is the ith error function for the parameter identification problem given by

$$\begin{aligned} {r_i}(\mathbf{{p}}) = F(\mathbf{{p}},{x_i}) - {F_{\mathrm{{M}}\mathrm{{,}}i}} \end{aligned}$$
(12)

Assuming only small deviations \(\varDelta \mathbf{{p}}\) it is possible to use linearization around \(\mathbf {p}_\text {0}\) which gives the Jacobian \({\mathbf{{J}}_{\mathrm{{rp}}}}\). From that the optimum parameter set can be found by minimizing the least squared error using the objective function

$$\begin{aligned} {\mathbf{{p}}_{\mathrm{{opt}}}} = \min \left( {\frac{1}{2}{{\sum \limits _{i = 0}^{{n_\mathrm{{D}}}} {\left( {F(\mathbf{{p}},{x_i}) - {F_{\mathrm{{M}}\mathrm{{,}}i}}} \right) ^2} }}} \right) . \end{aligned}$$
(13)

Using the linearization one can compute the minimal solution for Eq. (13) by solving the well known normal equation

$$\begin{aligned} \mathbf{{J}}_{\mathrm{{rp}}}^\mathrm{{T}}{\mathbf{{J}}_{\mathrm{{rp}}}}\varDelta \mathbf{{p}} = \mathbf{{J}}_{\mathrm{{rp}}}^\mathrm{{T}}\varDelta \mathbf{{r}}. \end{aligned}$$
(14)

In case that the error of the model is small, a local optimization scheme such as the Levenberg Marquardt algorithm can be used to find the optimal parameter set. Having a good initial guess \(\mathbf{{p}_0}\) is essential for a successful parameter identification. It showed that local optimization is a good choice for long term parameter tracking or repeated adjustment after certain time periods, but did not work well for the very first identification process. Nonlinearities and the huge initial errors demanded for more global optimization techniques such as simulated annealing or genetic optimization procedures which can be used to identify the global optimum.

4 Experimental Results

For measurement, the platform is fixed at the origin such that no interaction between the cables can occur. The excitation function for the cable elongation and it’s associated velocity is chosen as

$$\begin{aligned} \varDelta l&= - A\cos (\omega t)\\\nonumber \varDelta \dot{l}&= v = A\omega \sin (\omega t) \end{aligned}$$
(15)

For this excitation function the damping force can be calculated as

$$\begin{aligned} {F_{\mathrm{{h}}}} = c{\left| {A\omega \sin (\omega t)} \right| ^\alpha }{\mathop {\mathrm{sgn}}} (\sin (\omega t)) \end{aligned}$$
(16)

where c is damping function

$$\begin{aligned} c = {S_a}\left( {2A{{\left( {A\omega } \right) }^\alpha }\int \limits _0^{\mathrm{{T/2}}} {\sin {{(\omega t)}^{\alpha + 1}}\,d\omega t} } \right) . \end{aligned}$$
(17)

with \(S_a\) describing the area of the hysteresis function. The cables were actuated with an amplitude ranging from 0.1 mm up to 1.5 mm. The pretension level was chosen at 60 N. Running the test was done by generating the cable length set points according to the experimental design using Matlab. The length for each cable in the joint space was commanded by a TwinCat3 controller connected to industrial synchronous servo motors. Force sensors between the cables and the platform were used to measure the cable forces. The force data together with the actual cable lengths were stored in a csv file by TwinCAT and used for model identification in Matlab. Using the actual cable lengths instead of the commanded cable lengths is important to reduce errors introduced by system dead time and controller delay. The results of the parameter identification process can be found in Table 2. The comparison of measurements and simulation results after the identification process gave an average model error of 0.4 N for a static pose. Checking the model prediction after a few days of operation, the model and the real system already started to diverge as can be seen in Fig. 6 where the cable force already shows an offset of 0.4 N to the previously created model. This may be caused by temperature changes, cable settlement and high tension states resulting in lasting changes in the cable’s elastic behavior. Using the model for a sinusoidal excitation, a randomly shaped signal can be approximated by a Fourier decomposition. A trapezoidal and a triangular signal where used as test signals to verify the model for different shaped inputs. The Fourier decomposition of the triangular function for example is given by

Table 2 Parameter sensitivity
Fig. 6
figure 6

Comparison of hysteresis model and measurements after approximately for days of operation

Fig. 7
figure 7

Triangular test signal with Fourier approximation

$$\begin{aligned} f(t) = \frac{{8A}}{{{\pi ^2}}}(\sin (\omega t) - \frac{1}{{{3^2}}}\sin (3\omega t) + \frac{1}{{{5^2}}}(\sin (5\omega t)) - \cdots ). \end{aligned}$$
(18)

The comparison of the curve progression of the Fourier based force model and the actual measurements are shown in Fig. 7 for an approximation with the first three Fourier coefficients. The related error shown in Fig. 8 has a maximum magnitude of \({\pm } 1.5\) N at the peak points. The model prediction is based on the whole set of measurement samples which provides knowledge about the past and future of the signal at a certain time stamp. Using the model in a real scenario one has to use a continuous-time Foruier transformation to deal with the unknown future of the signal, or the numerical control has to feed forward the positioning set points of the cables. While the prediction for a small area around the initial pose was accurate, experimental results showed that the model error increased depending on the platform pose in the workspace. This is is caused by the elasticity of the pulley mounting and the damping behavior of the pulley bearings. To get better model prediction for the whole workspace, these influences have to be regarded in the elasticity model of the power trains. Introducing the angle \(\alpha \) to measure the wrapping length of the cable as shown in Fig. 9b, its influence on the stiffness of a single powertrain is experimentally determined as can be seen in Fig. 10. The influence of angle \(\alpha \) on the hysteresis behavior is shown in Fig. 11.

Fig. 8
figure 8

Hysteresis function and error for a triangular test signal

Fig. 9
figure 9

Pulley assembly of the cable-robot demonstrator. a Pulley for cable redirection. b Cable and bearing forces

Fig. 10
figure 10

Hysteresis and stiffness behavior in relation to the pulley angle \(\alpha \)

Fig. 11
figure 11

Damping behavior in relation to the pulley \(\alpha \)

The effect may be caused by the increased wrapping angle and the direction of the changing force vector as shown in Fig. 9b, increasing the reaction and friction force at the pulley bearing according to

$$\begin{aligned} {F_i} = f\sqrt{2\cos ({\alpha _i} + 1)}. \end{aligned}$$
(19)

The angle of attack also influences the torque applied to the bearing on the frame and therefore influences the observed elasticity in the cables.

5 Conclusion and Outlook

In this paper an improved cable model was presented which allows to regard the hysteresis effect during force computation. The approach can be used to improve force algorithms and the identification of geometrical robot parameters in an auto calibration procedure which relies on the force sensors for data acquisition. The simplicity of the model allows to compute the force values in a deterministic time slot, meeting the demand of real-time algorithms. While the model gives significantly better results than the linear elastic model it showed that the cable behavior not only depends on local parameters such as the amplitude, but also on more global and time variant parameters such as the platform pose. Beside that, the actual robot and the model tend to diverge over time depending on the operating load and environmental conditions. Further experiments will be executed to evaluate the long term parameter stability of the robot parameters depending on operational time. It also would be interesting to investigate the influence of overload on the cables alone and in interaction with the surrounding support structure.