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

Cable-driven Parallel Robots (CDPRs) are a class of parallel manipulators where the rigid links are replaced by cables. The advantages of CDPRs include: high payload to weight ratio, large operational distances, ease of reconfigurability, ease of transportability and naturally bio-inspired. An important characteristic of CDPRs is that the cables can only apply forces in tension (positive cable force). This constraint results in the need of actuation redundancy for a CDPR to be fully constrained, creating challenges in the modelling and analysis of CDPRs.

For CDPRs, the forward kinematics (FK) problem refers to the determination of the robot pose when provided with the cable lengths and is fundamentally important in the study of CDPRs. As a parallel manipulator, the FK problem is challenging as there is no closed form analytical solution in general. Furthermore, even when solving the problem numerically there may be either no valid solutions or the existence of multiple solutions. For an n degrees-of-freedom (DoFs) CDPR actuated by m cables, the FK problem requires the determination of n unknowns (the number of DoFs) from the m equations that relate the length of cables and the system pose. As such, for fully constrained CDPRs (\(m \ge n+1\)) there will be more equations than unknowns for the FK problem.

The two primary types of approaches to solve the FK of CDPRs are analytical or numerical techniques. Analytical techniques are difficult to apply due to the nonlinearity and complexity of the kinematic equations, and have only been used for simpler CDPR systems [1, 2]. Numerical methods consider the FK relationship generically and can be used for any type of CDPR. The most common numerical approach is to solve the FK as a non-linear least squares problem [3, 4]. Other numerical techniques include using neural networks [5] and interval analysis [6].

In addition to using the forward kinematics to determine the robot pose, FK has also been used in the calibration of kinematic parameters of CDPRs. Calibration is used in CDPRs to correct for any kinematic or dynamic modelling uncertainties or errors. In [7,8,9,10,11], the attachment locations of the cables were calibrated using the cable length feedback and FK. Some studies also considered dynamic parameters such as mass and cable stiffness [12, 13].

Previous studies have focused on the calibration of static system parameters, such as the cable attachment locations and cable elasticity, which do not change significantly over time. Such parameters are slow changing and hence only need to be calibrated infrequently. However, some parameters, such as the initial robot pose and cable lengths, may be different each time the system is turned on. A majority of CDPRs use motors that equipped with encoders to obtain feedback of the cable lengths at each instance in time. While some use multi-turn absolute encoders [3], most possess only relative encoders. As a result, the initial cable lengths and robot pose are typically not known and is different each time.

One simple approach that has been used to know the initial cable lengths is to place the robot in a known pose, referred to as the initial pose, before enabling the robot. However, in some applications it may be difficult to set up the robot consistently and accurately in this way. Another approach is to employ external sensors such as camera tracking systems (external calibration). However, it is normally preferred to perform internal calibration using the CDPR’s internal sensors. In [2], the initial cable lengths calibration for a 2-DoF point mass planar CDPR actuated by 4 cables is performed. The method is based on a “jitter” approach where the lengths of two cables are perturbed and the measured lengths of the remaining two cables provide information to solve the initial pose of the system. Although effective, the approach requires the closed-form analytical solution to the forward kinematics. As such, the method would only work for simple systems, such as the 2-DoF CDPR [2].

Accurate knowledge of the initial lengths is important for two purposes. First, the initial length can provide knowledge of the initial position of the robot end-effector. Second, for CDPRs equipped with relative encoders, the initial length must be used to compute the absolute cable lengths. This absolute cable length is then used to determine the pose of the robot through FK. As such, inaccuracies in the initial length would result in error in the forward kinematics, and hence robot pose, which cannot be eliminated. In summary, the determination of the initial cable lengths in a generic manner for any type of CDPR without requiring the system to begin at a known position has not been studied thus far.

In this paper, a generic method to calibrate for the initial cable lengths for a CDPR with relative encoders using a forward kinematics approach is proposed. Without assuming any initial robot pose, the CDPR is commanded to perform any random motion in a way that excites all of the system’s degrees-of-freedom. The resulting relative changes in cable lengths are captured and then used to calibrate for the initial cable lengths and initial pose. This method assumes that the attachment locations of the cables are known beforehand. The proposed approach is validated both in simulation and hardware experiments for different CDPRs to show its effectiveness and ability to be generically used on different systems. Furthermore, the proposed algorithm is implemented in the open-source cable-robot software CASPR [14] and the source-code is publicly availableFootnote 1.

2 Numerical Forward Kinematics Formulations

It was shown in [15] that the kinematics of any generalised CDPR models (n DoF actuated by m cables), as shown in Fig. 1, could be expressed as

$$\begin{aligned} \mathbf {l} = \mathbf {f}(\mathbf {q}) \end{aligned}$$
(1)

where \(\mathbf {l} = [l_1 ~ \cdots ~ l_m]^T \in \mathbb {R}^m\) and \(\mathbf {q} = [q_1 ~ \cdots ~ q_n]^T \in \mathbb {R}^n\) are the vector of cable lengths and pose of the system, respectively.

Fig. 1.
figure 1

CDPR models and the cable lengths

Taking the time derivative of (1) results in the well established relationship

$$\begin{aligned} \dot{\mathbf {l}} = L(\mathbf {q})\dot{\mathbf {q}} \end{aligned}$$
(2)

where \(L \in \mathbb {R}^{m \times n}\) is the Jacobian matrix relating the pose and cable length derivatives.

The inverse kinematics problem, the determination of cable lengths \(\mathbf {l}\) for a given pose \(\mathbf {q}\), is a trivial problem using (1). However, the forward kinematics (FK) problem is much more challenging as the inverse of the kinematic relationship \(\mathbf {q} = \mathbf {f}^{-1}(\mathbf {l})\) does not have an analytical closed-form solution in general. One common way to solve the FK problem is to formulate the optimisation problem:

$$\begin{aligned} \mathbf {q}^* = \mathop {\text {arg}\,\text {min}}\limits _{\mathbf {q}} \left\| \mathbf {l} - \mathbf {f}(\mathbf {q}) \right\| ^2 . \end{aligned}$$
(3)

In general, the problem in (3) is a non-linear least squares problem that can be solved using techniques such as the Levenberg-Marquardt Algorithm. The poses which result in a zero objective function value are solutions to the FK problem since \(\left\| \mathbf {l} - \mathbf {f}(\mathbf {q}) \right\| ^2 = 0 \Leftrightarrow \mathbf {l} = \mathbf {f}(\mathbf {q})\). However, it is difficult to achieve a zero objective function value in real systems due to the presence of sensor noise. As such, in practice the solution (minimum) of (3) with a small objective function value is taken as the solution to the FK problem since \(\left\| \mathbf {l} - \mathbf {f}(\mathbf {q}) \right\| ^2 \approx 0 \Leftrightarrow \mathbf {l} \approx \mathbf {f}(\mathbf {q}) \). Note again that the FK problem, from (1), has m equations and n unknown variables. For fully constrained systems \(m \ge n+1\), resulting in an overdetermined problem.

3 Least Squares Problems for Initial Lengths

In the FK problem presented in (3), it is assumed that the absolute length of the cables \(\mathbf {l}(t)\) is known at all times. However, for CDPRs with relative encoders, only the relative length of the cables \(\mathbf {l}_r(t)\) since \(t = 0\) is known. The relationship between the absolute and relative cable lengths at any instance in time t can be described as

$$\begin{aligned} \mathbf {l}(t) = \mathbf {l}_0 + \mathbf {l}_r(t) = \mathbf {f}(\mathbf {q}(t)) \end{aligned}$$
(4)

where \(\mathbf {l}_0 = \mathbf {l}(0)\) is the vector of initial cable lengths of the CDPR since \(\mathbf {l}_r(0) = \mathbf {0}\). It can be observed that (4) contains \(n + m\) unknowns (\(\mathbf {q}\) and \(\mathbf {l}_0\)) but only with m equations. As such, there are not enough equations to uniquely determine both the initial cable length and pose. One important property that can be taken advantage of is that after the system is turned on, \(\mathbf {l}_0\) is time invariant until the system is restarted.

As such, initial length calibration and FK problem can be simultaneously solved by considering the problem in (4) over a set of different time instances, or samples, for a trajectory. Assuming that p different instances in time \(t \in \{t_1, t_2, \cdots , t_p\}\) are selected to solve for the initial length and FK problem, the following non-linear system of equations can be expressed as

$$\begin{aligned} \mathbf {l}_0 + \mathbf {l}_r(t_i) = \mathbf {f}(\mathbf {q}(t_i)) , ~~ i=1, \cdots , p \end{aligned}$$
(5)

The equations in (5) possess a total of \(m + n \times p\) unknowns (the initial length \(\mathbf {l}_0\) and the poses \(\mathbf {q}(t)\) at each time instance \(t \in \{t_1, t_2, \cdots , t_p\}\)) and \(m \times p\) equations. The vector of unknown variables for (5) can be denoted as \(\mathbf {x} = [ \mathbf {l}_0^T ~ \mathbf {q}^T(t_1) ~ \mathbf {q}^T(t_2) ~ \cdots ~ \mathbf {q}^T(t_p)]^T\).

In a similar manner to (3), the initial length calibration problem can be solved through the non-linear least squares (NLLS) optimisation problem

$$\begin{aligned} \mathbf {x}^* = \{ \mathbf {l}_0^*, ~ \mathbf {q}_1^*, \cdots , ~ \mathbf {q}_p^* \} = \mathop {\text {arg}\,\text {min}}\limits _{ \{ \mathbf {l}_0, ~ \mathbf {q}_1, \cdots , ~ \mathbf {q}_p \} } ~~ \sum _{i=1}^p \left\| \mathbf {l}_r(t_i) + \mathbf {l}_0 - \mathbf {f}(\mathbf {q}_i) \right\| ^2 \end{aligned}$$
(6)

where \(\mathbf {q}_i := \mathbf {q}(t_i)\). Since the problem (6) is an NLLS problem, numerical methods such as the Levenberg-Marquardt algorithm can be employed. For such problems and approaches, the initial guess of the solution and the Jacobian value of the NLLS objective function would significantly increase the computational time and accuracy of the non-linear optimisation problem. Expressing (6) in the standard form

$$\begin{aligned} \mathbf {x}^* = \mathop {\text {arg}\,\text {min}}\limits _{ \mathbf {x} } ~~ \left\| \mathbf {g}(\mathbf {x}) \right\| ^2 \end{aligned}$$
(7)

the non-linear vector function can be equivalently expressed from (6) as

$$\begin{aligned} \mathbf {g}(\mathbf {x}) = \left[ \begin{array}{c} \mathbf {l}_0 + \mathbf {l}_r(t_1) - \mathbf {f}(\mathbf {q}_1) \\ \vdots \\ \mathbf {l}_0 + \mathbf {l}_r(t_p) - \mathbf {f}(\mathbf {q}_p) \end{array} \right] . \end{aligned}$$
(8)

From (8), the problem Jacobian \(\frac{\partial \mathbf {g}}{\partial \mathbf {x}}\) can be expressed analytically as

$$\begin{aligned} \frac{\partial \mathbf {g}}{\partial \mathbf {x}} = \left[ \begin{array}{ccccc} I_{m\times m} &{} -L(\mathbf {q}_1) &{} 0_{m \times n} &{} \cdots &{} 0_{m \times n} \\ I_{m\times m} &{} 0_{m \times n} &{} -L(\mathbf {q}_2) &{} \cdots &{} 0_{m \times n} \\ \vdots &{} \vdots &{} \vdots &{} \ddots &{} \vdots \\ I_{m\times m} &{} 0_{m \times n} &{} 0_{m \times n} &{} \cdots &{} -L(\mathbf {q}_p) \end{array} \right] . \end{aligned}$$
(9)

It will be shown in the results of Sect. 4 that the use of the Jacobian matrix (9) significantly reduces the required optimisation time to perform the initial length calibration and also is more robust to inaccurate initial guesses of \(\mathbf {x}\).

In order to solve (6), a sufficient number of points p in the random motion should be sampled such that the number of equations mp is equal to or greater than the number of unknowns \(m + np\), that is, \(m p \ge m + np\). As such, the minimum number of trajectory points \(p \in \mathbb {Z}\) that should be selected should be \(p \ge m/(m-n)\). As will be shown in Sect. 4, the selection of the number of sample trajectory points p for the initial length calibration has a significant effect on the computational speed and effectiveness. Moreover, it is important to note that the sampled motion points of the random motion must excite the different degrees-of-freedom such that the NLLS optimisation of (6) have sufficient measurements to recover \(\mathbf {x}\).

In summary, the proposed method uses the fact that the lengths of different cables for a trajectory must be related (kinematically consistent) due to the CDPR cable attachments. As such, the calibration problem is equivalent to determining the set of initial lengths that produce kinematically consistent cable lengths.

4 Simulation Results

The two simulation examples, performed through CASPR [14], aim to show: (1) the ability to calibrate for uncertain initial poses; (2) the effectiveness and efficiency for different number of samples; and (3) the short calibration time required.

4.1 Planar Robot Example

Figure 2(a) shows the 3-DoF planar robot model actuated by 4 cables, where \(\mathbf {q} = [x~~y~~\theta ]^T\) represent translations (x and y) and orientation \(\theta \) of the robot, respectively.

Fig. 2.
figure 2

CDPR models used in the simulation examples

To demonstrate the initial length calibration, the reference trajectory as shown in Fig. 3(a), with initial pose \(\mathbf {q}(t=0) = [0.3 ~~ 0.6 ~~ 0.1]^T\) and final pose \(\mathbf {q}(t=4) = [0.2 ~~ 0.3 ~~ 0.2]^T\), will be used. At pose the initial pose \(\mathbf {q}(t=0)\), the cable lengths can be determined using inverse kinematics as \(\mathbf {l}_0 = [0.578~~0.8176~~0.6946~~0.4099]^T\). Using \(\mathbf {l}_0\) and the cable length trajectory \(\mathbf {l}(t)\) obtained from computing the inverse kinematics \(\mathbf {q}(t)\) (Fig. 3(a)), the relative cable lengths \(\mathbf {l}_r(t)\) (emulating the cable length feedback from relative encoders) can be determined using (4).

Fig. 3.
figure 3

Joint space trajectory results \(\mathbf {q}(t)\) for planar CDPR simulation

Since the initial length is unknown, without loss of generality it will be assumed for this example that \(\bar{\mathbf {l}}_0 = [0.5~~0.5~~0.5~~0.5]^T\). Using this, the absolute cable lengths trajectory with the erroneous initial length \(\bar{\mathbf {l}}(t)\) can be determined as \(\bar{\mathbf {l}}(t) = \bar{\mathbf {l}}_0 + \mathbf {l}_r(t)\). Using \(\bar{\mathbf {l}}(t)\), the resulting joint space trajectory \(\bar{\mathbf {q}}(t)\), shown in Fig. 3(b), was determined using the NLLS FK method from (3). As expected, it can be clearly observed that the resulting trajectory \(\bar{\mathbf {q}}(t)\) is significantly different to that of \(\mathbf {q}(t)\), demonstrating the impact in FK feedback when the initial lengths and pose are unknown. Figure 4(a) shows the error value of the FK optimisation result \(\bar{\mathbf {e}}(t) = \left\| \bar{\mathbf {l}}(t) - \mathbf {f}(\bar{\mathbf {q}}(t)) \right\| \), confirming the error observed in the trajectory of \(\bar{\mathbf {q}}(t)\).

Fig. 4.
figure 4

Error profile in FK using different initial cable lengths for planar robot

Using the calibration method presented in Sect. 3, the initial cable lengths \(\mathbf {l}_0^*\) is determined using only the relative cable length \(\mathbf {l}_r(t)\) as the input to the NLLS problem (6). The relative length profile \(\mathbf {l}_r(t)\) consists of a total of \(p=401\) time samples (from \(t = 0\) s to \(t = 4\) s at \(\varDelta t = 0.01\) s). With this sample size, the problem (6) will have 1207 unknowns. To solution \(\mathbf {x}^*\) to calibration problem resulted in the initial cable lengths solution of \(\mathbf {l}_0^* = [0.578~~0.8176~~0.6946~~0.4099]^T\), with an error norm compared with the nominal solution \(\mathbf {l}_0\) of \(\left\| \mathbf {l}_0 - \mathbf {l}_0^* \right\| = 4.7868 \times 10^{-9}\). Using this solution and FK, the absolute cable length \(\mathbf {l}^*(t) = \mathbf {l}_0^* + \mathbf {l}_r(t)\) produced the joint space trajectory of the calibration motion \(\mathbf {q}^*(t)\) and the resulting FK error norm \(\mathbf {e}^*(t) = \left\| \mathbf {l}^*(t) - \mathbf {f}(\mathbf {q}^*(t)) \right\| \) shown in Figs. 3(c) and 4(b), respectively. These results show that the proposed method is able to determine the initial cable lengths, initial robot pose and also the calibration trajectory motion without prior knowledge of the initial state or the calibration motion to be performed.

In the results of Figs. 3 and 4, every point on the calibration motion \(p = 401\) was used in the calibration optimisation. However, it is also possible to take a subset sample of \(\mathbf {l}_r(t)\) to use within the calibration. Table 1 shows the properties of the calibration method for different sample frequency (every N of the trajectory points are taken). The comparison results show that if not enough samples are taken, such as \(p = 5\) and 9 for \(N = 100\) and 50, respectively, the initial cable lengths cannot be correctly determined. It can also be observed that for larger samples the computational time is higher, although no significant increase in accuracy is achieved. However, it is worth noting that the calibration time of \(p = 401\) over a 4 s motion is only 5.28 s, making this method very practical in use within real applications.

Table 1. Initial length calibration for different sample frequencies

As discussed above, the effectiveness and efficiency of the NLLS optimisation problem can be improved by providing an initial guess \(\mathbf {x}_{guess}\) and the Jacobian matrix (9). In the above simulations, the initial cable lengths were simply always set as a constant value of \(\bar{\mathbf {l}}_0 = [0.5~~0.5~~0.5~~0.5]^T\) regardless of the calibration motion. For the initial guess of the trajectory, the erroneous trajectory \(\bar{\mathbf {q}}(t)\) determined from \(\bar{\mathbf {l}}_0\) and FK (Fig. 3(b)). This shows that no trajectory specific information about the initial cable lengths or pose are required for the calibration method.

4.2 Spatial Robot Example

As no assumptions on the robot type are required, the proposed approach can be used for any CDPR. In this example, the initial length calibration of the 6-DoF spatial cable robot CoGiRo [16] actuated by 8 cables, as shown in Fig. 2(b), is demonstrated. The generalised coordinates of the robot can be described by \(\mathbf {q} = [x~~y~~z~~\alpha ~~\beta ~~\gamma ]^T\), where xyz are the translational DoFs and \(\alpha , \beta ,\gamma \) are the xyz-Euler angles that represent the system orientation. The initial length calibration for the CoGiRo robot is demonstrated for three different trajectories beginning at different poses \(\mathbf {q}_0\) with different initial cable lengths \(\mathbf {l}_0\), as observed in Fig. 5.

Fig. 5.
figure 5

Different joint space trajectories \(\mathbf {q}(t)\) for CoGiRo simulations

In a similar manner as Sect. 4.1, the calibration using the relative lengths of the trajectories in Fig. 5 was performed. For the calibration of the CoGiRo, a sample frequency of \(N = 10\) was used, such that each calibration trajectory motion has \(p = 41\) sample points. The results for all three trajectories are summarised in Table 2 and Fig. 6, and it can be observed that the calibration method successfully determined the initial cable lengths \(\mathbf {l}_0\) for different robots and calibration trajectories.

Table 2. Result of calibration for CoGiRo robot on different trajectories
Fig. 6.
figure 6

Error profile in FK using different initial cable lengths for CoGiRo simulation

5 Experimental Results

This section illustrates the proposed approach on a real CDPR, the 2-link 4-DoF 6-cable BioMuscular Arm (BM-Arm), as shown in Fig. 7(a), actuated by the MYO-muscle actuators [17]. The robot consists of two links, connected by a spherical joint and a revolute joint. Hence the generalised coordinates of the BM-Arm can be expressed as \(\mathbf {q} = [\alpha ~~\beta ~~\gamma ~~\theta ]^T\), representing the xyz-Euler angles of the spherical joint and the angle of the revolute joint, respectively.

Fig. 7.
figure 7

BM-Arm robot

For the BM-Arm experiment, the robot was set into force control mode with a low constant force value in each cable in order to maintain the robot in equilibrium or a slow moving state. The position of the robot, and hence cable lengths, was unknown initially. The BM-Arm was then manipulated physically in a random motion, while the relative cable lengths \(\mathbf {l}_r(t)\) were measured using a relative encoder by the MYO-muscles. This procedure was performed for different robot poses and different random trajectories (of approximately 30 s each). This calibration procedure would be very similar to how the proposed method is envisioned to be used to quickly calibrate a real CDPR every time it is turned on.

To validate the calibration approach, an OptiTrack motion capture system with four cameras was installed onto the BM-Arm to capture the orientation (\(\mathbf {q}=[\alpha ~~\beta ~~\gamma ]^T\), the xyz-Euler angles) of the link 1 (markers are shown in Fig. 7(a)) during the manual motion (as the calibration trajectory). Table 3 shows the comparison results of four different trajectories where the CDPR begins in various poses.

Table 3. Comparison results between motion capture and calibration algorithm for BM-Arm experiments (link 1 only). Value d is the norm of the differences between \(\mathbf {l}_0\) from the motion capture system (\(\mathbf {l}_0^c\)) and the calibration algorithm (\(\mathbf {l}_0^*\))

From the results, it can be observed that the initial length calibration method is able to resolve for \(\mathbf {l}_0\) even when starting pose is unknown. Although the method is able to clearly able to solve for the initial cable lengths and pose, it should be noted that some errors still existed. Such errors may exist due to various reasons, including: (1) errors in the cable length feedback measurement \(\mathbf {l}_r(t)\); (2) errors in the calibration of the motion capture system and noise due to reflections and disturbances; and (3) wrapping and slack in the cables. Moreover, it is important to note that adequate calibration motion in all of the CDPR’s DoFs, in order to obtain sufficient data for the NLLS optimisation, must be performed.

Fig. 8.
figure 8

Joint space trajectory \(\mathbf {q}(t)\) (link 1 only) for BM-Arm hardware experiment

The joint space trajectories for trajectory 2 in Table 3 for both the motion capture system and FK using the calibrated initial cable lengths are shown in Fig. 8 and shows that indeed the calibration method is capable of determining correct initial lengths by only using internal sensors (motor encoders) of the CDPR system.

6 Conclusion

In this paper, a novel FK-based calibration method for the initial cable lengths of arbitrary CDPRs is proposed. For systems with relative feedback, the initial cable lengths is required to determine the absolute lengths to be used in the FK analysis. The simulation and experiment examples show that the proposed method is effective in determining the initial cable lengths and requiring only a short random calibration motion. Furthermore, the computational time required for the calibration is short (less than 5 s), making it practical in real-life use. Future work will focus on the analysis on the requirements of suitable calibration trajectories.