# Dynamic modelling of robots with rigid links (II)

## Robots with closed loops

This is the second post about robot modelling. In it I explain the modelling of robots with closed loops. It is common of several manipulators, especially those ones with bigger payloads, to include a closed loop in the serial chain to allow the placement of one actuator closer to the base and making possible to distribute the mass symmetrically. Therefore, the problem of yielding to the model described in previous post, needs to take into account the closed loop and apply a loop closure function to the tree dynamics obtained by e.g. the Newton-Euler algorithm.

This procedure is generously described in [1] by Roy Featherstone by creating a connectivity graph for a rigid body system. A robot described as a connectivity graph is simplified by representing the bodies and joints as a nodes and arcs respectively. A graph is a topological tree if there exists exactly one path between any two loops in the graph. If the connectivity graph of a rigid body system is a topological tree, then we call the system itself a kinematic tree [1].

Whether $G$ is any connectivity graph, a spanning tree of $G$, denoted $G_t$, is a subgraph of $G$, containing all of the nodes in $G$, together with any subset of the arcs in  such as  is a topological tree.

If $q$ is the vector of joint values for the spanning tree for a given closed loop system, and let $y$ be a vector of independent joint variables for the same system. It is possible to define the relationship (1).

$q = \gamma(y)$          (1)

Differentiating this equation as in [1] yields to (2):

$\dot{q} = G(\dot{y})$          (2)

Where $G=\frac{\partial \gamma}{\partial y}$ (3)

$G$ is the loop closure function. Defining $G_u$ and $G_o$ as containing the rows of the actuated and the unactuated degrees of freedom, respectively. These matrices are related to $G$ by an m x n permutation matrix designed by $Q$ in the equation (4).

$G=Q \left(\begin{array}{c}G_u\\ G_o\end{array}\right)$

It is shown in [1] than the torque of the $y$ joints can be calculated by having the tree torques, $\tau_{ID}$ , and applying (5) if the system is properly actuated. This is, if $G_u$ is invertible, and therefore, there is a unique solution.

$\tau = G_u ^{-T} G^T \tau_{ID}$

Figure 1 – Original graph of a closed loop system and a possible spanning tree.