## 1. Introduction

In (Bruckmann et al., 2008) the kinematics, analysis and design of wire robots were presented. This chapter focuses on control and applications of wire robots. Wire robots are a very recent area of research. Nevertheless, the are well studied and already in application (see section 5). Due to their possible lightweight structure, wire robots can operate at very high velocities. Hence, as can be seen by experiment, only positioning control using the inverse kinematics is not sufficient. In particular, slackness in the wires can be observed at highly dynamic motions. To overcome this problem, force control can be employed. In section 4 different control schemes are proposed. The required dynamical model is obtained in section 2, while for the calculation of feasible wire force distributions are proposed in section 3. Since wire robots are kinematically redundant the latter is not straightforward, but requires advanced approaches. The same holds for the control schemes, since a CRPM as well as a RRPM is a non-linear, coupled, redundant system (Ming and Higuchi, 1994).

## 2. Dynamics

According to figure 1 a wire robot can be considered as a multibody system with *m* unilateral constraints. In contrast to the generally complicated forward kinematics (Bruckmann et al., 2008) the dynamical equations of motion are comparably easy to formulate with respect to the base frame . The wrench *w*
_{wire} of the wires acting on the platform can be written as (see 2)

Since the forces act along the wires

holds. It follows

The Newton-Euler equations lead to

with

*m*
_{p} : the mass of platform,

I
^{3×3} : inertia tensor defined with respect to the inertial system which is an expression of rotation angles,

^{T} : orientation of the platform in ,

*f*
_{E} : vector of external forces,

_{E} : vector of external torques.

The equations eqn. 4 can be rewritten by

with

*M*
_{p} : mass matrix of platform,

E : identity matrix,

*g*
_{C}
^{n×1} : Cartesian space vector of Coriolis and centrifugal forces and torques,

*g*
_{E}
^{n×1} : vector of the generalized applied forces and torques, not including the resultants of wire tensions.

Taking wire force limits *f*
_{min} and *f*
_{max} (see (Bruckmann et al., 2008)) into account it follows

## 3. Wire force calculation

In section 2 a description of the force equilibrium was presented. Here methods for the calculation of a feasible force distribution *f*, i.e. a force distribution *f* which satisfies eqn. 7 and the constraints in eqn. 8, are presented. Obviously eqn. 7 represents an underdetermined system of linear equations. Its solution space is *r*-dimensional. Hence isolating the force distribution *f* leads to

where *A*
^{+T} denotes the Moore-Penrose Pseudo-Inverse of *A*
^{T.} Thus the task of finding a feasible wire force distribution has been transformed to the task of finding
^{r} such that *f*> 0 holds. Note that *H* is the nullspace or kernel of *A*
^{T} defined as

where

In other words, a linear combination of the columns of *H* describes force distributions creating an inner tension in the system without applying wrenches *w*
_{wire} onto the end effector. In case of an homogenious problem, i.e. *w* = 0, it describes the possible solutions of eqn. 7 for *f*. Now the problem of satisfying the constraints of eqn. 8 arises, i.e. the force limits also have to be considered. Thus plugging eqn. 9 into eqn. 8 leads to

Therefore the task of identifying a feasible force distribution is equivalent to the problem of identifying
^{r} such that eqn. 12 holds. In other words, the boundaries of the wire forces form a *m*-dimensional hypercube *C*
_{m}. All force distributions satisfying eqn. 9 obviously form a *r*-dimensional subspace *S*
_{m} spanned by the kernel of the structure matrix (see fig. 3). Hence, if the intersection *F* of the hypercube *C* and the subspace *S* is non-empty, feasible solutions *f* exist, i.e. *F* =* C
*= ), where F is a r-dimensional manifold in the

_{m}. A more detailed introduction is given in (Oh and Agrawal, 2005) and (Mikelsons et al., 2008). Noteworthy, the r-dimensional solution space generally allows to compute force distributions with different characteristics: While for fast motion, smallest possible forces are demanded, for applications requiring a high stiffness, high forces are advantageous (Kawamura et al., 2000), (Fang, 2005).

### 3.1. Linear optimization

Looking at the geometric interpretation of finding feasible force distributions, the most intuitive way is to search for a convenient characterization of the manifold F. Since F is completely determined by its vertices, the computation of those seems to be a promising way. In this work, two approaches following this idea are shown: In section 3.3, a method using the kernel as a transformation is presented. This leads to (m/r) r -dimensional linear systems of equations. Alternatively, the approach presented in this section presumes no knowledge of the kernel but solves (m/r) n dimensional linear systems of equations. Hence, the method to be applied has to be chosen depending on m and n.

Examining eqn. 7, one needs to set r forces in the wire force distribution to get a quadratic system. Obviously the desired points are located on the faces of the cube C. It can be shown that a point belongs to the workspace if and only if a valid wire force distribution f that satisfies [1] -

exists [2] - . Therefore, r wire forces can be set to their minimum or maximum value, respectively. It is unknown in advance which wire forces have to be preset to get a feasible distribution. Thus, in the worst case all combinations of r wires have to be tested, leaving m×m systems of linear equations to be solved for every combination. For sure every vertex represents a valid wire force distribution. Choosing the vertex, which minimizes the 1-norm could be an appropriate procedure. The resulting procedure can formally be expressed as a Linear Optimization Problem

In (Oh & Agrawal, 2005) a Linear Programming approach is presented to solve the problem in the

### 3.2. Nonlinear optimization

Due to the formulation of the cost function, the Linear Programming method may deliver discontinuous solutions along a continuous trajectory. This leads to jumps in the time history of the wire forces, causing stability problems and additional mechanical wear. In (Verhoeven, 2004) it is proven that cost functions using a p-norm (1 < p <), lead to guaranteed continuous wire forces along a continuous trajectory. The resulting formulation of the optimization problem is as follows:

In (Verhoeven, 2004), also an effective algorithm is presented which solves the problem employing the knowledge of the solution structure, based on an iterative approximation of the optimal solution. However, this algorithm has the drawback to fail in specific configurations, i.e. solutions might be not found although they exist. To obtain the lowest possible force distribution (according to a p-norm), the unbounded polyhedron P_{low} is introduced, which is limited by the lower wire force limits:

Furthermore, the wire force distribution f_{low} is introduced, which has minimal p-norm:

It should be mentioned that for 1 < p < f_{low} is unique, which is essential for the continuity of f_{low}. The algorithm works as follows

The initial guess is obtained by the orthogonal projection
_{low} of f_{min} onto the manifold of feasible force distributions F. Note that
_{low} is not always contained in P_{low}. The second step of the algorithm is performed by moving along the negative gradient of the distance between the polyhedron P_{low} and
_{low}. The distance is measured in the squared 2-norm. Finally, the minimization of
_{low} is done using a gradient based method again. Analogously, a vector f_{high} representing the highest possible solution in the chosen p−norm can be obtained. Hence, choosing a wire force distribution on the line between f_{low} and f_{high} allows either fast motions due to low wire forces or high stiffness due to high wire forces. This approach is very effective in terms of computation time since the initial guess is often already a feasible solution, but suffers from the fact that a solution is not always found.

### 3.3. Barycentric force calculation

The shown approaches require the usage of an optimizer to deliver continuous results as shown in ((Verhoeven, 2004),(Nahon and Angeles, 1991), (Bruckmann et al., 2006), (Voglewede and Ebert-Uphoff, 2004) and (Bosscher and Ebert-Uphoff, 2004)). Standard optimizer implementations as LAPACK or the NAG ® library require iterative computations, which may not be used within a realtime control system due to their normally non-predictable worst-case runtime. In this section, a non-iterative algorithm is shown, which provides continuous force distributions furthermost from the force limits. The algorithm provides a force distribution, which lies in the center of gravity (CoG or barycenter) of the intersection manifold F.

The structure matrix A^{T} has the dimension n × m. Hence, within the workspace, the kernel can be computed as H = (h_{1.}.. h_{r} )
^{m×r}. Here, the kernel is used to define a map from the
^{r} to S
^{m}, i.e. for all
^{r}
^{m},
^{+T}w+H
^{r} onto the solution subspace S, it maps the polyhedron
^{r} onto the solution manifold F. Since there is no explicit expression for , a convenient representation is sought. As mentioned above is a polyhedron. Thus, its vertices determine completely. Componentwise evaluation of both sides of eqn. 12 gives 2m hyperplanes in
^{r}. The vertices of are intersection points of r hyperplanes. Hence, all those intersection points are calculated and examined with respect to their compatibility with all inequalities. Obviously a vertex of the polyhedron has to satisfy all inequalities of eqn. 12. In order to compute the center of gravity of the obtained polyhedron, " is triangulated, i.e. splitted into r-simplexes. In the case of r = 2 this just means dividing into triangles. Advanced techniques as shown in (Cignoni et al., 1998) are required in the case of higher dimensions. Triangulation delivers a list of n_{s} simplexes P_{k} with each having r + 1 vertices v_{kj} with k = 1... n_{s} and j = 1... r + 1. The volumes V_{k} of the simplexes can be determined by integration (Hammer et al., 1956). Furthermore their CoG
_{sk} are computed by the equation

which is used to calculate the CoG
_{s} of the polyhedron via

Finally, the solution is transformed back using the mapping

where f_{s} is the center of gravity of the manifold F.

#### 3.3.1. Proof-of-Concept

In this section we prove that the CoG of the manifold F can be computed by calculating the CoG of the convex polyhedron. Without loss of generality w = 0 is assumed. The CoG of the manifold F can be computed componentwise as

The theorem for integration on manifolds states

where H^{*} :
^{*} is the Jacobian of H^{*} which is equal to H itself since it is linear. Furthermore,

Since H is independent from , it can be moved out of the integral:

Using eqn. 19 and eqn. 17 this can be rewritten as

Therefore f_{s} = H
_{s} holds where
_{s} denotes the CoG of in
^{r}.

#### 3.3.2. Continuity of solution

In this section the continuity of of the solution of the developed algorithm in the pnorm
^{m n}
^{n}, which maps a matrix A
^{m×n} (considered as a vector in
^{m n}) onto the center of gravity as described before, is continuous on the set of points of the workspace.

Proof

Again without loss of generality w = 0 is assumed. First is splitted into two mappings Ker :
^{m n}
^{nr} and Grav^{C} :
^{n r}
^{n}. The latter maps a vector p from
^{n r} onto the center of gravity of the manifold F spanned by the r n-dimensional downwards listed vectors in p. Ker :
^{m n}
^{nr} maps a matrix A on its kernel H represented as a vector p in
^{n r}. In calculations the kernel is still denoted with H for simplicity. Continuity of Ker and Grav^{C} implies continuity of , since = Grav^{C}

First the continuity of Grav^{C} will be proven. Therefore
_{s} is considered:

Let
_{1.}.. h_{r}]^{T}
^{n×r} and E = [e_{1.}.. e_{r}]^{T}
^{n×r} are considered as vectors in
^{n r}. Then the p-norm of H is . It follows

Since the vertices of the polyhedron

and the vertices of the polyhedron are obtained from (12), it is obvious that

Hence

holds, because and are bounded. This yields together with eqn. (18)

This implies the continuity of Grav^{C}.

The continuity of Ker follows from the fact that the solution of a full ranked linear system of equations depends continuously on the coefficient matrix.

## 4. Control

Wire robots allow for very high velocities and accelerations when handling lightweight goods. In this case, wire robots benefit from their lightweight structure and low moved masses. Contrariwise, wire-based mechanisms like cranes, winches or lifting blocks are used widely to move extremely heavy loads. Thus, the wide range of application demands for a robust and responsive control. To move the platform along a trajectory precisely, position control is mandatory. On the other hand, the usage of wires claims for a careful observation and control of the applied tensions to guarantee a safe and accurate operation. Pure force control suffers from the drawbacks of model based control, e.g. model mismatch and parameter uncertainties. Thus force control is not sufficient and a combined force and position control is advised. Beside this, the relatively high elasticity of the wires may demand for a compensation by control. (Fang, 2005) shows more details of the shown concepts.

### 4.1. Elastic wire compensation

Compared to a conventional parallel kinematic machine (e.g. Stewart platform), a wire robot has generally a higher elasticity in the kinematic chains connecting the base and the platform. This is both due to the stiffness of the wire material as well as due to the wire construction (e.g. laid/twisted, braided or plaited)(Feyrer, 2000). Approximating the dynamical characteristics of the wires by a linear spring-damper model and considering the unilateral constraint, the wire model can be described as

with 1 < i < m, c_{i} and d_{i} denoting the stiffness and damping coefficients, respectively and
_{i} denoting the length change due to elasticity. Assuming the untensed wire length is l_{i,0},
_{i} can be computed as
_{i} = l_{i} − l_{i}, 0. The stiffness coefficient c_{i} depends on the actual wire length. Using the wire cross section A and Young’s modulus E, c_{i} can be calculated as

with

Note that this is only a linear approach. Taking into account long and heavy wires, a specific wire composition and applied tensions close to the admittible work load, advanced non-linear models have to be utilized. Especially the damping coefficient d_{i} may be hard to estimate (Wehking et al., 1999) and thus, experiments have to be carried out (Vogel & Götzelmann, 2002).

### 4.2. Motion control in joint space

The idea of motion control in joint space is to use a feedback position control and a feedforward force controller. The feedforward control employs an inverse dynamics model to calculate the winch torques necessary for the accelerations belonging to the desired trajectory. Since the used dynamic model usually will not cover all mechanical influences (e.g. friction), the remaining position errors can be compensated by the position control which employs the inverse kinematics. Noteworthy, the inverse dynamics is calculated for the desired platform position. Optionally, one may think of tracking control to guide the platform along the desired trajectory for the price of additional calculations. Referring to eqn. 6, the inverse system dynamics (i.e. the wire force distribution) can be computed by methods shown in section 3 (where the loads w include the inertia and gravity loads). Assuming the winch drives are adressable by desired torques (which is normally the case for DC/EC motors, preferably with digital current control), the motor dynamics can be modeled as

where M_{M}
^{m×m} is the inertial matrix of the drive units,
^{m×m} depends on the structure of the motors. Combining the feedforward force control and the feedback position control leads to the following controller output:

denoting the feedback gain matrices K_{p}
^{m×m} and K_{d}
^{m×m} and the actual and desired motor angles
_{d}, respectively. Due to the decoupled position controllers, these may be designed as decentralized, simple and high control rate devices. To compensate for elastic tendons, the following correction may be applied:

where
_{d,i} corresponds to the uncompensated drum angle (1

### 4.3. Motion control in operational space

Observing the sections above, independent linear PD controllers are applied. Practical experiences show that this is possible even though the system dynamics are described by a nonlinear, coupled system of equations due to the parallel topology of the robot, represented by the pose dependent structure matrix. Nevertheless, it is difficult to determine stable or even optimal controller parameters since the usual tools of the linear control theory may only be applied for locally linearized configurations of the robot. For predefined trajectories, this may be possible (e.g. by defining a cost function accumulating the control errors in simulation and applying a nonlinear optimizer to obain values for K_{p} and K_{d}), but is is desirable to have a globally linear system to avoid this only locally valid approach. From literature (Schwarz, 1991) (Woernle, 1995), exact linearization approaches are known which eliminate the nonlinear system characteristics by feedback. Using this as an inner loop, an outer linear controller may now be applied to the resulting linear system. Eqns. 37 and 6 deliver

Since the final control law is formulated in the operational space, this equation is transformed into cartesian coordinates using the inverse kinematics relations

In cartesian coordinates the dynamical equations are then given by

Instead of using the motor torques u as the system input, the resulting forces and torques acting onto the platform F
_{eq}

and is therefore a proper choice. This linear system is now controlled by a PD controller for the position. Thus, the new system input is extended by

Substituting eqn. 45 into eqn. 43, F

which describes the required wrench onto the platform w which allows to calculate the desired wire forces by the methods shown in section 3. Optionally, the desired forces can be controlled by an outer feedback loop to enhance the control precision.

## 5. Applications

As already mentioned before, wire-based manipulation and construction is used since millenia, mostly taking advantage from the principle of the lifting block. In ancient civilisations like the Egypt of the Pharaos, probably wires and winches were applied to build the pyramids - wether using ramps or lifting mechanisms (see fig. 7(a)). Crane technology was only possible due to the usage of wires and especially the old Romans deleloped this technology to a remarkable state - they already lifted loads around 7 tons with cranes driven by 4 workers. With industrialisation, the transport and manipulation of heavy goods became very important, and hence, cranes using steel cables completed the transport chain for cargo handling. In the last few years, the automatisation of crane technology was subject to extensive research, e.g. in the project RoboCrane ® by the National Institute of Standards and Technology (NIST) (Bostelman et al., 2000). At the University of Rostock, the prototype CABLEV (Cable Levitation) (Maier, 2004),(Heyden, 2006) was build up, see fig. 8. It uses a gantry crane and three wires to guide the load along a trajectory. Thew load is stabilized by a tracking control for IRPM systems which eliminates

oscillations. In Japan, the Tadokoro Laboratory of the Tohoku University in Japan proposes the application of wires for rescue robots (Takemura et al., 2005) (Maeda et al., 1999). A problem solved very smart by usage of wires is the positioning of a large telescope. Several projects, e.g. the world’s largest telescope at Arecibo (fig. 7(b)), deal with the usage of wires to place the receiver module. The Arecibo project (900t receiver, approximately 300m satellite dish diameter) uses three wires guided by three mast heads while other project use an inverse configuration, lifting the receiver by balloons (see (Su et al., 2001), (Taghirad and Nahon, 2007a), (Taghirad and Nahon, 2007b)). Another popular application of wire robots is the usage as a manipulator for aerodynamical models in wind tunnels as proposed in (Lafourcade et al., 2002), (Zheng, 2006) and (Yaqing et al., 2007). Here, the experiments take advantage from the very thin wires since undisturbed air flow is mandatory. On the other hand, the wire robot can perform high dynamical motion as for example the FALCON (Fast Load Conveyance) robot (Kawamura et al., 1995). In the past few years at the Chair of Mechatronics the testbed for wire robots S_{EGESTA} Seilgetriebene Stewart-Plattformen in Theorie und Anwendung) (Hiller et al., 2005b) has been developed. It is currently operated with seven (see fig. 9) wires in an CRPM configuration or eight wires for a RRPM setup. One focus of research is the development of fast and reliable methods for workspace calculation (Verhoeven and Hiller, 2000) and robot design. Another focus is the development of robust and realtime-capable control concepts(Mikelsons et al., 2008). Since the teststand is available, the theoretical results can be tested and verified (Hiller et al., 2005a). The system performs accelerations up to 10g and velocities arount 10m/s.

Another very recent application area has been created by Visual Act AB®. As pictured in fig. 10 a snowboard simulator was built up. The snowboarder is connected to four wires leading to three translational d.o.f.. Hence, the snowboarder can be guided along a trajectory in a setting consisting of ramps to grind on while moving freely in the air. (Visualact AB, 2006). A completely different field is the application of wire robots for rehabilitation which was demonstrated by the system String Man by the Fraunhofer-Institut für Produktionsanlagen und Konstruktionstechnik (IPK) in Berlin, Germany (Surdilovic et al., 2007) and the Lokomat protoype by the Eidgenössische Technische Hochschule in Zürich, Switzerland (Duschau-Wicke et al., 2007),(Wellner et al., 2007), (von Zitzewitz et al., 2006). Another prototype for rehabilitation is described in (Frey et al., 2006). The application of wire robots as a tracking device was proposed in (Ottaviano & Ceccarelli, 2006), (Thomas et al., 2003) and (Ottaviano et al., 2005). Here, the wire robot is not actively supporting a load but attached to an object which is tracked by the robot.