The humanoid robots formalism is adopted throughout the paper for modelling the human body as an articulated rigid multi-body system. The advantage of this choice lies in the possibility to handle both the systems (i.e., human and robot) with the same mathematical tool. In this domain, the application of the Euler–Poincaré formalism (Marsden and Ratiu
1999) leads to three sets of equations describing: (
i) the motion of the human, (
ii) the motion of the robot, (
iii) the linking equations characterizing the contacts between the systems.
$$\begin{aligned}&(i) \qquad \varvec{\mathrm {M}}(\varvec{{q}}) \dot{\varvec{\nu }} + \varvec{\mathrm {C}}(\varvec{{q}}, \varvec{\nu }) \varvec{\nu } + \varvec{\mathrm {G}}(\varvec{{q}}) = \begin{bmatrix} \varvec{0} \\ {\varvec{\tau }} \end{bmatrix} + \varvec{\mathrm {J}}^\top (\varvec{{q}}) \varvec{\mathrm {f}}\\&(ii) \qquad \mathbb {M}(\bar{\varvec{q}}) \dot{\bar{\varvec{\nu }}} + \mathbb {C}(\bar{\varvec{q}}, \bar{\varvec{\nu }}) \bar{\varvec{\nu }} + \mathbb {G}(\bar{\varvec{q}}) = \begin{bmatrix} \varvec{0} \\ \overline{\varvec{\tau }} \end{bmatrix} + \mathbb {J}^\top (\bar{\varvec{q}}) \varvec{\mathrm {f}}\\&(iii) \qquad \begin{bmatrix} \varvec{\mathrm {J}}(\varvec{{q}})&~-\mathbb {J}(\bar{\varvec{q}}) \end{bmatrix} \begin{bmatrix} \dot{\varvec{\nu }} \\ \dot{\bar{\varvec{\nu }}} \end{bmatrix} + \begin{bmatrix} \varvec{\dot{\mathrm {J}}}(\varvec{{q}})&~-\dot{\mathbb {J}}(\bar{\varvec{q}}) \end{bmatrix} \begin{bmatrix}{\varvec{\nu }} \\ {\bar{\varvec{\nu }}} \end{bmatrix} = \varvec{0} \end{aligned}$$
Equations (
i) and (
ii) are floating-base representations of the dynamics of the human and robot models, respectively. In general, a floating-base system is defined by its configuration
\({\varvec{q}} = \left( {^{\mathcal I}}\varvec{H}_{\mathcal B},\varvec{q}_j\right) \in SE(3)\times \mathbb R^{n}\) and its velocity
\({\varvec{\nu }} = \left( {^{\mathcal I}}\varvec{v}_{\mathcal B},\dot{\varvec{q}}_j\right) \in \mathbb R^{n+6}\), where
n is the (internal) number of Degrees of Freedoms (DoFs) of the system,
\(\mathcal I\) is an inertial frame and
\(\mathcal B\) the base frame.
\({^{\mathcal I}}\varvec{H}_{\mathcal B}\) is the homogeneous transformation from
\(\mathcal B\) to
\(\mathcal I\) and
\({^{\mathcal I}}\varvec{v}_{\mathcal B}\) is the base velocity with respect to (w.r.t.)
\(\mathcal I\). The configuration and the velocity of the internal DoFs are denoted with
\(\varvec{q}_j\) and
\(\dot{\varvec{q}}_j\), respectively. The matrices
\(\varvec{\mathrm {M}}\),
\(\varvec{\mathrm {C}}\),
\(\varvec{\mathrm {G}}\) and
\(\mathbb {M}\),
\(\mathbb {C}\),
\(\mathbb {G}\) denote the mass matrix, the Coriolis matrix and the gravity bias term for the human and the robot systems, respectively. The exchanged forces between the two systems are denoted by the vector
\(\varvec{\mathrm {f}} \in \mathbb R^{6k}\), where
k is the number of the wrenches
1 exchanged during the interaction.
2 It is worth remarking that while all the variables are different for the two systems, the exchanged wrenches
\(\varvec{\mathrm {f}}\) are mandatorily the same quantities. Matrices
\(\varvec{\mathrm {J}}(\varvec{q})\) and
\(\mathbb {J}(\bar{\varvec{q}})\) are the proper Jacobians for the human and the robot, respectively. Equation (
iii) is due to the rigid contacts assumption between the two systems. Since in this paper the human performs the experiments with the feet fixed on the force plates, we consider the human system to be fixed base, i.e,
\({^{\mathcal I}}\varvec{H}_{\mathcal B} = const\) and known a priori and
\({^{\mathcal I}}\varvec{v}_{\mathcal B}=\varvec{0}\). This choice implies
\(\varvec{q} = \varvec{q}_j\) and reduces remarkably the framework complexity.