# Modeling, analysis and control of robot-object nonsmooth underactuated Lagrangian systems: A tutorial overview and perspectives

Bernard Brogliato<sup>a</sup>

<sup>a</sup>Univ. Grenoble Alpes, INRIA, CNRS, LJK, Grenoble INP, 38000 Grenoble, France

## Abstract

So-called robot-object Lagrangian systems consist of a class of nonsmooth underactuated complementarity Lagrangian systems, with a specific structure: an “object” and a “robot”. Only the robot is actuated. The object dynamics can thus be controlled only through the action of the contact Lagrange multipliers, which represent the interaction forces between the robot and the object. Juggling, walking, running, hopping machines, robotic systems that manipulate objects, tapping, pushing systems, kinematic chains with joint clearance, crawling, climbing robots, some cable-driven manipulators, and some circuits with set-valued nonsmooth components, belong this class. This article aims at presenting their main features, then many application examples which belong to the robot-object class, then reviewing the main tools and control strategies which have been proposed in the Automatic Control and in the Robotics literature. Some comments and open issues conclude the article.

**Keywords:** robot-object system; nonsmooth mechanical system; impact-aware robots; complementarity constraints; complementarity problem; feedback control; impact; set-valued friction; controllability; modeling; juggler; hopper; biped robot; running; joint clearance; object manipulation; nonsmooth circuits;

## Contents

1 Introduction 3

2 The Contact Problem and Impact Models 7

2.1 The Contact Problem 7

2.1.1 Frictionless CP 7

2.1.2 Frictional CP 8

2.1.3 Comments 10

2.2 Impact Models and Dynamics 11

2.3 Further Transformations of the Dynamics (1) 12

2.4 Equilibrium points 13

2.5 Well-posedness 13

2.6 A (Very) Complex Hybrid Dynamical System 14

Email address: bernard.brogliato@inria.fr (Bernard Brogliato)
<table>
  <tbody>
    <tr>
      <td><b>3</b></td>
      <td><b>Simple Examples</b></td>
      <td><b>15</b></td>
    </tr>
    <tr>
      <td>3.1</td>
      <td>Controlled Bouncing Balls and Chains</td>
      <td>15</td>
    </tr>
    <tr>
      <td>3.1.1</td>
      <td>Bouncing Ball Control through Impacts</td>
      <td>15</td>
    </tr>
    <tr>
      <td>3.1.2</td>
      <td>Bouncing Ball Control with Persistent Contact</td>
      <td>16</td>
    </tr>
    <tr>
      <td>3.1.3</td>
      <td>Bouncing Ball Catching Task</td>
      <td>17</td>
    </tr>
    <tr>
      <td>3.1.4</td>
      <td>Control of a Chain of Balls</td>
      <td>17</td>
    </tr>
    <tr>
      <td>3.1.5</td>
      <td>Tapping Planar System (2-DoF Pinball)</td>
      <td>18</td>
    </tr>
    <tr>
      <td>3.1.6</td>
      <td>Wedge Juggling Robot</td>
      <td>19</td>
    </tr>
    <tr>
      <td>3.1.7</td>
      <td>Controlled Billiard</td>
      <td>19</td>
    </tr>
    <tr>
      <td>3.1.8</td>
      <td>Comments</td>
      <td>19</td>
    </tr>
    <tr>
      <td>3.2</td>
      <td>Controlled Frictional Oscillators (Sliding Task)</td>
      <td>21</td>
    </tr>
    <tr>
      <td>3.3</td>
      <td>Jumping, Hopping, Running and Walking Robot</td>
      <td>23</td>
    </tr>
    <tr>
      <td>3.3.1</td>
      <td>The Dynamics</td>
      <td>23</td>
    </tr>
    <tr>
      <td>3.3.2</td>
      <td>Comments</td>
      <td>25</td>
    </tr>
    <tr>
      <td>3.3.3</td>
      <td>Hoppers and Jugglers</td>
      <td>25</td>
    </tr>
    <tr>
      <td>3.4</td>
      <td>The Ringing Bell</td>
      <td>26</td>
    </tr>
    <tr>
      <td>3.5</td>
      <td>Inertially Driven Machines</td>
      <td>26</td>
    </tr>
    <tr>
      <td>3.6</td>
      <td>Manipulation Systems</td>
      <td>28</td>
    </tr>
    <tr>
      <td>3.6.1</td>
      <td>Manipulation through Collisions</td>
      <td>28</td>
    </tr>
    <tr>
      <td>3.6.2</td>
      <td>Prehensile Manipulation</td>
      <td>29</td>
    </tr>
    <tr>
      <td>3.6.3</td>
      <td>Nonprehensile Manipulation by Friction</td>
      <td>29</td>
    </tr>
    <tr>
      <td>3.7</td>
      <td>Dimer (vibration-driven) Locomotion</td>
      <td>31</td>
    </tr>
    <tr>
      <td>3.8</td>
      <td>Crawling machines with internal control action</td>
      <td>32</td>
    </tr>
    <tr>
      <td>3.9</td>
      <td>Climbing Machines</td>
      <td>33</td>
    </tr>
    <tr>
      <td>3.10</td>
      <td>Joint Clearance (Dynamic Backlash)</td>
      <td>34</td>
    </tr>
    <tr>
      <td>3.11</td>
      <td>Aircraft with Cable-Suspended Load (Aerocrane) and More</td>
      <td>36</td>
    </tr>
    <tr>
      <td>3.12</td>
      <td>Bicycle Riding</td>
      <td>37</td>
    </tr>
    <tr>
      <td>3.13</td>
      <td>Brachiation Robots</td>
      <td>37</td>
    </tr>
    <tr>
      <td>3.14</td>
      <td>Further Robot-Object Systems</td>
      <td>38</td>
    </tr>
    <tr>
      <td><b>4</b></td>
      <td><b>Tools for Analysis and Control</b></td>
      <td><b>41</b></td>
    </tr>
    <tr>
      <td>4.1</td>
      <td>Stability Notions</td>
      <td>41</td>
    </tr>
    <tr>
      <td>4.2</td>
      <td>Controllability</td>
      <td>41</td>
    </tr>
    <tr>
      <td>4.2.1</td>
      <td>Object's Controllability</td>
      <td>42</td>
    </tr>
    <tr>
      <td>4.2.2</td>
      <td>Robot's Controllability</td>
      <td>42</td>
    </tr>
    <tr>
      <td>4.2.3</td>
      <td>Partial Subtask Controllability</td>
      <td>43</td>
    </tr>
    <tr>
      <td>4.2.4</td>
      <td>Global Controllability</td>
      <td>44</td>
    </tr>
    <tr>
      <td>4.2.5</td>
      <td>Peculiar Features</td>
      <td>45</td>
    </tr>
    <tr>
      <td>4.3</td>
      <td>Observability, State Observers</td>
      <td>45</td>
    </tr>
    <tr>
      <td>4.4</td>
      <td>The Peaking (or Jump-Mismatch) Phenomenon</td>
      <td>46</td>
    </tr>
    <tr>
      <td>4.5</td>
      <td>Discontinuity with respect to Initial Conditions</td>
      <td>46</td>
    </tr>
    <tr>
      <td>4.6</td>
      <td>Relative Degree</td>
      <td>46</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>4.7</td>
      <td>Passivity</td>
      <td>47</td>
    </tr>
    <tr>
      <td>4.8</td>
      <td>Peculiar Contact Mechanics Features</td>
      <td>48</td>
    </tr>
    <tr>
      <td>4.9</td>
      <td>Other Notions and Tools</td>
      <td>48</td>
    </tr>
    <tr>
      <td><b>5</b></td>
      <td><b>Modeling and Dynamical Structure Issues</b></td>
      <td><b>48</b></td>
    </tr>
    <tr>
      <td>5.1</td>
      <td>Multirobot-multiobject (MR-MO) systems</td>
      <td>48</td>
    </tr>
    <tr>
      <td>5.2</td>
      <td>Moreau's Sweeping Process</td>
      <td>49</td>
    </tr>
    <tr>
      <td>5.3</td>
      <td>Generalized Coordinates</td>
      <td>49</td>
    </tr>
    <tr>
      <td>5.4</td>
      <td>Dynamics' Transformation to (1)</td>
      <td>51</td>
    </tr>
    <tr>
      <td>5.5</td>
      <td>Further Comments</td>
      <td>51</td>
    </tr>
    <tr>
      <td><b>6</b></td>
      <td><b>Review of Control Strategies</b></td>
      <td><b>52</b></td>
    </tr>
    <tr>
      <td>6.1</td>
      <td>The Backstepping Strategy</td>
      <td>52</td>
    </tr>
    <tr>
      <td>6.2</td>
      <td>Deadbeat Control</td>
      <td>52</td>
    </tr>
    <tr>
      <td>6.3</td>
      <td>Poincaré Mapping Control</td>
      <td>53</td>
    </tr>
    <tr>
      <td>6.4</td>
      <td>Impulsive Control</td>
      <td>53</td>
    </tr>
    <tr>
      <td>6.5</td>
      <td>Algorithmically-designed Lyapunov Functions and Controllers</td>
      <td>53</td>
    </tr>
    <tr>
      <td>6.6</td>
      <td>Taylored Controllers for Subclasses of (1)</td>
      <td>54</td>
    </tr>
    <tr>
      <td>6.7</td>
      <td>Taylored Controllers for Control Subtasks</td>
      <td>54</td>
    </tr>
    <tr>
      <td>6.8</td>
      <td>Classical Control Techniques</td>
      <td>55</td>
    </tr>
    <tr>
      <td>6.9</td>
      <td>Trajectory Tracking</td>
      <td>57</td>
    </tr>
    <tr>
      <td>6.10</td>
      <td>Switching Control</td>
      <td>58</td>
    </tr>
    <tr>
      <td>6.11</td>
      <td>Robustness Issues</td>
      <td>59</td>
    </tr>
    <tr>
      <td><b>7</b></td>
      <td><b>Time-discretization for Simulation and Control</b></td>
      <td><b>59</b></td>
    </tr>
    <tr>
      <td><b>8</b></td>
      <td><b>Further Perspectives</b></td>
      <td><b>61</b></td>
    </tr>
    <tr>
      <td><b>9</b></td>
      <td><b>Conclusions</b></td>
      <td><b>65</b></td>
    </tr>
    <tr>
      <td><b>Appendix A</b></td>
      <td><b>Lagrange Dynamics of the Jumping Robot in (49)</b></td>
      <td><b>65</b></td>
    </tr>
    <tr>
      <td><b>Appendix B</b></td>
      <td><b>Lagrange Dynamics of the Ringing Bell in (52)</b></td>
      <td><b>66</b></td>
    </tr>
    <tr>
      <td><b>Appendix C</b></td>
      <td><b>Lagrange Dynamics of the Systems in Fig. 20 (b) and (c)</b></td>
      <td><b>66</b></td>
    </tr>
  </tbody>
</table>

# 1. Introduction

Robot-object Lagrangian systems are a class of mechanical multibody systems subjected to unilateral constraints, impacts, friction, which possess the following canonical Lagrange dynamics (formally introduced in [1, 2], see also [3, 4, 5]):

$$
\begin{align}
(a) \quad & M_1(q_1)\ddot{q}_1 + F_1(q_1, \dot{q}_1, t) = \frac{\partial h^\top}{\partial q_1} \lambda_n + H_t^1(q_1, q_2)\lambda_t \nonumber \\
(b) \quad & M_2(q_2)\ddot{q}_2 + F_2(q_2, \dot{q}_2, t) = \frac{\partial h^\top}{\partial q_2} \lambda_n + H_t^2(q_1, q_2)\lambda_t + E(q_2)\tau \tag{1} \\
(c) \quad & 0 \le \lambda_n \perp w = h(q_1, q_2) \ge 0 \nonumber \\
(d) \quad & \text{Impact model, friction model.} \nonumber
\end{align}
$$
They form a subclass of complementarity Lagrangian systems [6]. The configuration space is $C \ni q = (q_1^\top, q_2^\top)^\top$, subjected to unilateral constraints. The major ingredients are:

• (a) is the object's dynamics, $q_1 \in \mathbb{R}^{n_1}$ is the object's generalized coordinate.

• (b) is the robot's dynamics, $q_2 \in \mathbb{R}^{n_2}$ is the robot's generalized coordinate, $n \stackrel{\Delta}{=} n_1 + n_2$.

• (c) are the complementarity conditions between the normal contact forces (the multiplier $\lambda_n \in \mathbb{R}^m$) and the gap or signed distance $h(q_1, q_2) = (h_1(q), h_2(q), \dots, h_m(q))^\top$ derived from the local kinematics [7, 6], when there are $m$ potential contact points. The normal relative velocity component in the local contact frame at contact point $i$, is $v_{n,i} = \frac{\partial h_i}{\partial q} \dot{q}$, $v_n = (v_{n,1}, \dots, v_{n,m})^\top = \frac{\partial h}{\partial q} \dot{q} \in \mathbb{R}^m$.

• the vector $\lambda_t \in \mathbb{R}^{\bar{m}}$, $\bar{m} = \sum_{i=1}^m d_i$, collects the tangential forces and $\lambda_n \in \mathbb{R}^m$ collects the normal forces at the contact points, $\lambda_{t,i} \in \mathbb{R}^{d_i}$, $d_i = 1$ for planar friction, $d_i = 2$ for 3-dimensional friction.

• the matrices $H_t^1(q_1, q_2) \in \mathbb{R}^{n_1 \times \bar{m}}$ and $H_t^2(q_1, q_2) \in \mathbb{R}^{n_2 \times \bar{m}}$ are determined from the local tangential relative velocities $v_{t,i} = H_{t,i}^{1,\top}(q)\dot{q}_1 + H_{t,i}^{2,\top}(q)\dot{q}_2 \in \mathbb{R}^{d_i}$ at the contact point $i$, $v_t = (v_{t,1}^\top, \dots, v_{t,m}^\top)^\top \in \mathbb{R}^{\bar{m}}$, $H_t^j = (H_{t,1}^{j,\top}, \dots, H_{t,m}^{j,\top})^\top$, $j = 1, 2$, $H_t \stackrel{\Delta}{=} (H_t^{1,\top}, H_t^{2,\top})^\top \in \mathbb{R}^{n \times \bar{m}}$, $\bar{m} = \sum_{i=1}^m d_i$, $v_t = H_t^\top \dot{q} = H_t^{1,\top} \dot{q}_1 + H_t^{2,\top} \dot{q}_2$ [6, 7].

• $\tau \in \mathbb{R}^p$ is the control input, $E(q_2) \in \mathbb{R}^{n_2 \times p}$, $M_1(q_1) \succ 0$, $M_2(q_2) \succ 0$ are the object and the robot's symmetric mass matrices, $M(q) \stackrel{\Delta}{=} \mathrm{diag}(M_1(q_1), M_2(q_2))$, $F_1(q_1, \dot{q}_1, t)$ and $F_2(q_1, \dot{q}_1, t)$ gather the Coriolis/centrifugal generalized forces, forces which derive from a smooth potential, and exogenous forces or perturbations, $F(q, \dot{q}, t) \stackrel{\Delta}{=} (F_1^\top, F_2^\top)^\top$.

More details about nonsmooth mechanics can be found in [7, 6, 8]. The dynamics can be also expressed in a Hamiltonian, or a Newton-Euler formalisms (the choice of the formalism may influence the calculations complexity, an important feature in some robotics tasks [9]). Obviously, the canonical form in (1) is not coordinate-invariant. It may be seen as an extension of the uncontrollable canonical form (though the presence of the multipliers in (1) (a) significantly changes its controllability properties). In fact it allows to exhibit the part of the dynamics which cannot be controlled without the multipliers. The multiplier $\lambda_n$ and an additional exogenous or control signal $u(\cdot)$ may appear in the complementarity variable $h(q_1, q_2, \lambda_n, u)$ to encompass compliant contacts, some cable-driven systems, and some electrical circuits, see sections 3.6.1, 3.11 and 3.14. As shown in this article, systems as in (1) are underactuated systems (with underactuation degree $n_1 + n_2 - p$) which encompass juggling systems [10, 11, 12, 13, 14, 15], grasping manipulation [16, 17, 18, 19, 20] (the canonical dynamics (1) has long been used in the literature on manipulation [21, 22] [23, Equ. (6.24)] [16, Equ. (38.200)]), tapping, batting, pushing, catching, throwing, sliding, dense-placing, loose-placing, sorting, declutterring, packing [24, 9], walking and running robots [4, 25, 26, 27, 28, 29, 30, 31, 32], jumping [33], climbing [34], crawling robots [35, 36, 37] (where the center of gravity plays the role of the object), kinematic chains with joint clearance [3], backlash effects and compensation in machine tools, see early studies in [38, 39, 40, 41, 42, 43, 44, 45], cable-driven manipulators [46, 47, 48, 49]. Typical trajectories in robot-object systems are depicted in Fig. 1 (this abstract representation of motion in the configuration space extends [50, Fig. 3] which neglects impacts).

The system in (1) is a complex nonlinear nonsmooth underactuated dynamics. Its main peculiarity is that the object's dynamics can be controlled only through the multipliers $\lambda_n$ and/or $\lambda_t$: consequently contact/impact
<figure><img src="image_1.png" /><figcaption>Figure 1: 1) juggling or hopping with a single surface, 2) running with bounce at each foot, 3) running with persistent-contact phase at each foot and airborne phases, or backlash compensation in machine tools with slide table, 4) hopping on both legs with instantaneous bounce, jumping with both feet, 5) walking machine, 6) persistent contact with all constraints (compensation of clearances, walking machine standing on all feet, crawling machines, object grasping).</figcaption></figure>

and friction are indispensable ingredients for the control of (1), not to be considered as disturbances as it is the case in other applications (hence friction compensation is irrelevant in robot-object systems). Roughly speaking, there may be three main control approaches: using solely impacts, using persistent contact, or both. Also, the only way to control the multipliers, in order to control the object, is to control the robot's dynamics in a suitable way with $\tau$. The impact law and the friction model play a crucial role in the Control properties. Therefore the control of (1) obeys a backstepping-like algorithm: 1) control the object with the multipliers, 2) use the contact/impact dynamics to obtain the desired multipliers, 3) control the robot state. The difference between (1) and flexible-joint robot (from which backstepping control originates [51, 52]), lies in the interconnection terms between the robot and the object: it stems from complementarity and friction in the former, from linear elasticity in the latter, with interconnection of the form $K(q_1 - q_2)$. Hence (1) may be seen as a nontrivial extension of flexible-joint robots, with a different potential function between the two subsystems: $U_{\text{elas}}(q_1, q_2) = \frac{1}{2}(q_1 - q_2)^{\top}K(q_1 - q_2)$, $K = K^{\top} > 0$, for flexible-joint robots, and $U_{\text{unil}} = \Psi_{\Phi}(q)$ for (1), with $\Phi = \{q \in \mathbb{R}^n | h(q_1, q_2) \ge 0\}$, and $\Psi_{\Phi}(\cdot)$ is the indicator function of $\Phi \subseteq \mathbb{R}^n$ (see [6, Theorem B.3, Corollary B.2] for details, see also [53, Figure 2.21]). Then outside impacts, $\nabla h(q)\lambda_n \in -\mathcal{N}_{\Phi}(q)$. Notice that friction is usually nonassociative and therefore does not depend on a potential [6, Section 5.3]. See also the Comments in section 3.6.1. When frictionless impacts are included it is still possible to define a superpotential, using Moreau's second order sweeping process and the framework of measure differential inclusion [6, 54, 55]. As shown in Appendix C, we can also consider (1) with bilateral holonomic constraints. In this case the associated potential is still equal to $\Psi_{\Phi}(\cdot)$ and the normal cone is the normal space to the constraints. The generic structure is shown in Fig. 2.

<figure><img src="image_2.png" /><figcaption>Figure 2: Global structure of robot-object systems.</figcaption></figure>
One difference between flexible-joint robots, and (1), is that the so-called “fictitious” inputs of the classical backstepping algorithm, are not at all fictitious in (1) since they are the contact forces. But, they do play a similar role for the input $\tau$ design. As alluded to above, the control of some subclasses of (1) has received considerable attention (like walking robots, manipulation), and the importance of contact forces for their stability is well-known [56, 57, 58], as well as the constraints on these forces. However the analysis of the control properties of (1) seen as a family of underactuated nonsmooth mechanical systems, seems to be lacking (in spite of the facts that few articles propose unifying frameworks, as recalled below). One aim of this article is to suggest that some cross-fertilization between apparently different subclasses of (1), could be beneficial. Apart from the classical application fields mentioned above, we may cite neurosciences [59, 60, 61], biomechanics and sports performance analysis [62, 63], medicine [64, 65], physical anthropology [66, 67], psychology [68].

**Remark 1.** Many studies in the field of robotic manipulation, pushing tasks, are led using static, quasi-static and geometric models [69, 19]. These models are not studied in this article.

The main objective of this article is to show that several classes of robotic systems and tasks can be recast into the general framework of (1), a work initiated in [1, 3, 15] [2, sections 8.7, 8.8, 8.9], more recently in [70] where bipedal locomotion and non-prehensile manipulation are studied from a common point of view (hence [70] extends, in a sense, [15]), in [31] where the analogy between balancing a biped and grasping an object is used. This article is organised as follows: the contact problem and the impact dynamics are introduced in section 2; section 3 presents several typical examples of robot-object systems, as well as extensions and new applications; section 4 is dedicated to survey the various analytical tools which have been used to study the control of subclasses of (1); section 5 reviews important modeling features; section 6 surveys the existing control strategies; section 7 is devoted to discrete-time issues. Some perspectives are given in section 8, and conclusions end the article in section 9. Some dynamics are detailed in the Appendix.

**Remark 2.** Several classes of nonsmooth robotic systems (bipedal locomotion [4, 25, 26, 27, 28, 29, 30, 71, 72], manipulation [16, 17, 24, 73, 74, 75, 76, 9, 77], systems with joint clearance [78, 79], hopping robots [33], pushing tasks [80], quadruped robots [81, 82], snake robots [36], cable-driven manipulators [46, 47], spherical robots with internal rotors [83]) have already been the object of survey articles in the Automatic Control or in the Robotics literature. It is therefore outside the scope of this article, to survey them exhaustively once again, since this would yield repetition and far too many references (probably several thousands). We therefore content ourselves with references that serve the main purpose of the article. Underactuated systems have also been the object of a lot of attention [84, 85, 86, 87], however robot-object systems (1) are not included in these survey articles (excepted for [87] which very quickly reviews some of them).

*Notation:* Let $h: \mathbb{R}^n \to \mathbb{R}^m$, $q \mapsto h(q)$, then the Jacobian $\frac{\partial h}{\partial q}(q) \in \mathbb{R}^{m \times n}$ and the gradient $\nabla h(q) = \frac{\partial h}{\partial q}^\top(q)$. Linear Complementarity Problem (LCP) reads as: $0 \le x \perp Mx + q \ge 0$ for any two vectors $x$ and $q$ and a matrix $M$. The notations MLCP (mixed LCP), CP (Contact Problem), LCS (Linear Complementarity System), DI (differential inclusion), AC (absolutely continuous), PWL (piecewise linear), DoF (degree of freedom), CoR (coefficient of restitution) are adopted. Let $M \in \mathbb{R}^{n \times m}$, $M^\dagger$ is its Moore-Penrose pseudo-inverse; let $m = n$, $M \succ 0$ (resp. $\succcurlyeq 0$) denotes positive definite (resp. positive semidefinite) matrices, which satisfy $x^\top M x > 0$ for all $x \neq 0$ (resp. $x^\top M x \ge 0$). A square matrix is a P-matrix if all its principal minors are positive, equivalently if the above LCP has a unique solution for any $q$. For any $a \in \mathbb{R}^n$, the $n \times n$ matrix $[a] = \Delta \operatorname{diag}(a_1, a_2, \dots, a_n)$, the diagonal matrix with diagonal elements $[a]_{ii} = a_i$, offdiagonal elements are null. Set-valued signum function: $\operatorname{sgn}(x) = +1$ if $x > 0$, $-1$ if $x < 0$, $[-1, +1]$ if $x = 0$, and
Sgn($x$) = (sgn($x_1$), ..., sgn($x_n$)ᵀ). Let $K \subseteq \mathbb{R}^n$ be a closed set, its indicator function is $\psi_K(x) = 0$ if $x \in K$, $\psi_K(x) = +\infty$ if $x \notin K$. When $K$ is closed convex nonempty, the subdifferential in the sense of Convex Analysis of the indicator function, denoted as $\partial\Psi_K(\cdot)$, is the normal cone $N_K(x) = \{z \in \mathbb{R}^n | z^\top(y-x) \le 0 \text{ for all } y \in K\}$. When $x \notin K$, $N_K(x) = \emptyset$. The tangent cone $T_K(x) = \{v \in \mathbb{R}^n | v^\top z \le 0 \text{ for all } z \in N_K(x)\} = (N_K(x))^\circ = -(N_K(x))^*$, where $(\cdot)^\circ$ is the polar cone and $(\cdot)^*$ is the dual cone. Extensions exist for nonconvex sets. In particular we shall use the tangent cone linearization cone denoted as $T_K^h(\cdot)$ [54]. The projection of the vector $x \in \mathbb{R}^n$ onto the set $K \subseteq \mathbb{R}^n$, in the metric $M = M^\top > 0$, is defined as $\text{proj}_M[K; x] = \text{argmin}_{z \in K} \frac{1}{2}(z-x)^\top M(z-x)$. Let $x \in \mathbb{R}^n$, $x \ge 0$ (resp. $> 0$) means that all components are nonnegative (resp. positive).

## 2. The Contact Problem and Impact Models

The interaction contact forces $\lambda_n$ and $\lambda_t$ are an essential ingredient of the dynamics (1). In this section we review the way they are calculated and how this influences the dynamics. The so-called contact problem [6] is at the core of the developments.

### 2.1. The Contact Problem

The Lagrange multipliers are computed as the solutions of the contact problem (CP) in case of persistent contact. The CP is constructed from the complementarity conditions in (1) (c), and the dynamics in (a) (b). Two main cases can be considered: with or without friction (tangential effects). Let $h(q_1, q_2) = 0$ and $\frac{d}{dt}h(q_1, q_2) = 0$. Then the contact problem is constructed from the acceleration constraint $0 \le \lambda_n \perp \frac{d^2}{dt^2}h(q) = \nabla h(q)^\top \ddot{q} + \frac{d}{dt}(\nabla h(q)^\top)\dot{q} \ge 0$ (see, e.g., [6, Chapter 5]. Using (1) it follows that:

$$ \ddot{h}(q) = \overbrace{\nabla h^\top M^{-1}(q) \nabla h}^{\triangleq D_{nn}(q)} \lambda_n + \overbrace{\nabla h^\top M^{-1}(q) H_t(q)}^{\triangleq D_{nt}(q)} \lambda_t - \overbrace{\nabla h^\top M^{-1}(q) F(q, \dot{q}, t) + \frac{d}{dt}(\nabla h(q)^\top)\dot{q} + \tilde{\tau}}^{\triangleq G(q, \dot{q}, t)} \quad (2) $$

with $\tilde{\tau} \triangleq \frac{\partial h}{\partial q_2} M_2^{-1}(q_2) E(q_2) \tau$. This yields:

$$ 0 \le \lambda_n \perp D_{nn}(q)\lambda_n + D_{nt}(q)\lambda_t + G(q, \dot{q}, t) + \tilde{\tau} \ge 0. \quad (3) $$

#### 2.1.1. Frictionless CP

In this case $\lambda_t = 0$ and the CP (3) boils down to a linear complementarity problem (LCP). The LCP matrix $D_{nn}(q) = D_{nn}(q)^\top = \frac{\partial h}{\partial q_1} M_1^{-1}(q_1) \frac{\partial h}{\partial q_1}^\top + \frac{\partial h}{\partial q_2} M_2^{-1}(q_2) \frac{\partial h}{\partial q_2}^\top \ge 0$ is called the *Delassus' matrix* [6]. A classical result of Complementarity Theory states that if $D_{nn} \ge 0$ (independent constraints) then the LCP (3) has a unique solution always [88]. In case $D_{nn} \ge 0$ (redundant constraints), then feasibility of the LCP implies solvability. The contact LCP is a *controlled LCP*. Assume that $D_{nn}(q) = D_{nn}^\top \ge 0$, then the solution of (3) is:

$$ \lambda_n = \text{proj}_{D_{nn}}[\mathbb{R}_+^m; -D_{nn}(q)^{-1}(G(q, \dot{q}, t) + \tilde{\tau})] \quad (4) $$

or equivalently as the solution of a constrained quadratic programme [89, 90]. Efficient numerical tools exist to solve such LCPs [88, 7]. In case of a desired persistent contact (like in bipedal locomotion, or a catching task, or systems with clearance), the LCP (3) furnishes the constraints to be verified by the controller (as in section 3.1.2). It is also to be used for detachment conditions.
State feedback $\tau(q, \dot{q}, t)$ cannot influence the contact LCP's well-posedness, but influences the solution $\lambda_n$. However contact force feedback (or tactile feedback) $\tau(q, \dot{q}, \lambda_n)$ has to be designed so that the modified closed-loop contact LCP is well-posed. This sort of algebraic loop is specific to complementarity systems.

Contact is persistent at all $m$ contact points if and only if $\lambda_n > 0$ (the degenerated case $\lambda_n(t) = 0$ and $\dot{h}(t) = 0$ is not considered as a persistent contact mode), equivalently:

$$D_{nn}(q)^{-1}(G(q, \dot{q}, t) + \tilde{\tau}) < 0, \qquad (5)$$

which is a constraint on $\tau$. Under (5) the submanifold $\{(q, \dot{q}) | h(q) = 0, \nabla h(q)^{\top} \dot{q} = 0\}$ is invariant with respect to the dynamics in (1) (4), which can be rewritten as:

$$\left\{ \begin{array}{l} (a) M_1(q_1)\ddot{q}_1 + F_1^{\text{con}}(q, \dot{q}, t) = E_1^{\text{con}}(q)\tau \\ (b) M_2(q_2)\ddot{q}_2 + F_2^{\text{con}}(q, \dot{q}, t) = (E_2^{\text{con}}(q) + E(q_2))\tau, \end{array} \right. \qquad (6)$$

for some $F_1^{\text{con}}, F_2^{\text{con}}, E_1^{\text{con}}, E_2^{\text{con}}$ easily calculable from (1) and (4) when the $m$ contacts are active. Following for instance [91], a strategy to control activation/deactivation of the contacts can be designed. Notice that (6) are the zero-dynamics of (1) with input $\lambda_n$ and output $h(q)$ (where $D_{nn} > 0$ is a relative degree $(2, \dots, 2)^{\top} \in \mathbb{R}^m$ condition), with constraint (5).

### 2.1.2. Frictional CP

Adding Coulomb's friction (or an extension of it) to the contact problem makes it more complex [92, 93, 6]. Many different friction models have been proposed in the literature. In the field of Multibody System Dynamics, with several contact/impact points, Coulomb's model and its variants (e.g., Stribeck effects) are preferred because they allow for a correct modelling of sticking modes (zero tangential velocity), an essential fact not covered by regularized single-valued models. In addition they permit reliable numerical analysis and simulation [7], avoiding stiff systems. Let us assume that the contact $i$ is active. The Coulomb friction law, symbolically denoted as $(v_i, \lambda_i) \in C(\mathbf{n}_i, \mu_i)$, where $C(\mathbf{n}_i, \mu_i)$ is Coulomb's cone with friction coefficient $\mu_i \ge 0$, relates the normal and tangential parts of both the local velocity $v_i = (v_{n,i}, v_{t,i}^{\top})^{\top} \in \mathbb{R}^{1+d_i}$ and the local contact force $\lambda_i = (\lambda_{n,i}, \lambda_{t,i}^{\top})^{\top} \in \mathbb{R}^{1+d_i}$. According to [6, §5.3] [7, §3.9.1] [8, §5.3.2] [94]:

$$(v_i, \lambda_i) \in C(\mathbf{n}_i, \mu_i) \iff \left\{ \begin{array}{ll} \text{either} & \|\lambda_{t,i}\| \le \mu_i |\lambda_{n,i}| \text{ and } v_i = 0 & \text{(sticking mode)} \\ \text{or} & \|\lambda_{t,i}\| = \mu_i |\lambda_{n,i}| \text{ and } v_{n,i} = 0, v_{t,i} \ne 0 & (7) \\ & \text{and } \exists \alpha_i > 0, \lambda_{t,i} = -\alpha_i v_{t,i} & \text{(sliding mode).} \end{array} \right.$$

In the sliding mode, one equivalently has $\lambda_{t,i} = -\mu_i |\lambda_{n,i}| \frac{v_{t,i}}{\|v_{t,i}\|}$. Coulomb's model in acceleration (which permits to detect efficiently stick/slip transitions) is as follows [6, 95]: a common assumption consists in imposing the force $\lambda_i$ to lie on the border of the cone in the sticking case ($v_i = 0$) as soon as the acceleration $a_i = \dot{v}_i$ ceases to vanish in the tangential direction [95, 96]. In this case the tangential component $\lambda_{t,i}$ of the force should be parallel and opposed in sign to $a_{t,i} = \dot{v}_{t,i}$. This new model is symbolically denoted as $(v_i, a_i, \lambda_i) \in C(\mathbf{n}_i, \mu_i)$ and summarized as [6, §5.3.4]:

$$(v_i, a_i, \lambda_i) \in C(\mathbf{n}_i, \mu_i) \iff \begin{array}{l} \text{either:} \quad \left\{ \begin{array}{l} \text{either: } \|\lambda_{t,i}\| \le \mu_i |\lambda_{n,i}| \text{ and } v_i = 0, a_i = 0. \\ \text{or: } \|\lambda_{t,i}\| = \mu_i |\lambda_{n,i}| \text{ and } v_i = 0, a_{n,i} = 0, a_{t,i} \ne 0, \text{ and } \exists \beta_i > 0, \lambda_{t,i} = -\beta_i a_{t,i} \text{ (sticking modes)} \end{array} \right. \\ \text{or: } \|\lambda_{t,i}\| = \mu_i |\lambda_{n,i}| \text{ and } v_{n,i} = 0, v_{t,i} \ne 0 \text{ and } \exists \alpha_i > 0, \lambda_{t,i} = -\alpha_i v_{t,i} \text{ (sliding mode)}, \end{array} \qquad (8)$$
where $a_{n,i} = \ddot{h}_i(q)$, $1 \le i \le m$. The second sticking mode yields an equivalent formulation $\lambda_{t,i} = -\mu_i|\lambda_{n,i}| \frac{a_{t,i}}{\|a_{t,i}\|}$. Note that $(v_i, a_i, \lambda_i) \in \mathcal{C}(\mathbf{n}_i, \mu_i) \Rightarrow (v_i, \lambda_i) \in \mathcal{C}(\mathbf{n}_i, \mu_i)$. Compared to the classical model formulated at the velocity level, a new subcase of the sticking mode is added, which corresponds to a stick→slip transition (vanishing velocity and non-vanishing tangential acceleration $a_{t,i}$).

**The All-Sliding Frictional CP.** Following [92], and using suitable local kinematics frames, (see for instance [7, §3.3]), the CP takes the form:

$$0 \le \lambda_n^{sl} \perp G(q, \dot{q}, t) + \tilde{\tau} + \underbrace{\nabla h(q)^{\top} M^{-1}(q) (\nabla h(q) - H_t(q)[\mu][\xi])}_{\triangleq \tilde{D}_{nt}(q)} \lambda_n^{sl} \ge 0, \quad (9)$$

with $\xi_i = \operatorname{sgn}(v_{t,i})$, $v_{t,i} \ne 0$. Sufficient conditions on friction coefficients $\max_i \mu_i < \mu_{\max}(q)$ which guarantee that $\tilde{D}_{nt}(q) > 0$ (not necessarily symmetric) are given in [92, Proposition 12]. Assume that this condition and $\lambda_n > 0$ hold. Then the LCP (9) has a unique solution, and it is possible to rewrite the dynamics as:

$$\left\{ \begin{array}{l} M_1(q_1)\ddot{q}_1 + F_1^{sl}(q, \dot{q}, t, \xi) = E_1^{sl}(q, \dot{q}, t, \xi)\tau \\ M_2(q_2)\ddot{q}_2 + F_2^{sl}(q, \dot{q}, t, \xi) = (E_2^{sl}(q, \dot{q}, t, \xi) + E(q_2))\tau \end{array} \right. \quad (10)$$

for some $F_1^{sl}$, $F_2^{sl}$, $E_1^{sl}$, $E_2^{sl}$. The submanifold $\{(q, \dot{q}) \in \mathcal{C} \mid h(q) = 0, \nabla h(q)^{\top} \dot{q} = 0\}$ is invariant with respect to the dynamics in (10), with the input constraints:

$$\lambda_n^{sl}(q, \dot{q}, t, \tau) = -\tilde{D}_{nt}^{-1}(q) (G(q, \dot{q}, t) + \tilde{\tau}) > 0, \quad (11)$$

and $\dot{v}_t(q, \dot{q}, t, \tau) \ne 0$ at times when $v_t = 0$.

**The All-Sticking Frictional CP.** The CP when all contacts are sticking is similar to the case of mixed bilateral/unilateral constraints [90], since it is assumed that

$$\left\{ \begin{array}{l} v_t = H_t^{1, \top} \dot{q}_1 + H_t^{2, \top} \dot{q}_2 = 0 \\ v_n = \frac{\partial h}{\partial q_1} \dot{q}_1 + \frac{\partial h}{\partial q_2} \dot{q}_2 = 0. \end{array} \right. \quad (12)$$

These two equalities (in general, non-holonomic constraints) are used in manipulation system to transform the dynamics [16, 23, 21]. Using (8), the CP is constructed as follows [93]:

$$\left\{ \begin{array}{l} M(q)\ddot{q} + F(q, \dot{q}, t) = \nabla h(q)\lambda_n^{st} + H_t(q)\lambda_t^{st} + \begin{pmatrix} 0 \\ E\tau \end{pmatrix} \\ \dot{v}_t = H_t(q)^{\top} M(q)^{-1} H_t(q) \lambda_t^{st} + R_t(q, \dot{q}, t, \lambda_n^{st}, \tau) = 0 \\ 0 \le \lambda_n^{st} \perp a_n = \nabla h(q)^{\top} \ddot{q} + \frac{d}{dt}(\nabla h(q)^{\top})\dot{q} \ge 0, \end{array} \right. \quad (13)$$

for some $R_t(q, \dot{q}, t, \lambda_n^{st}, \tau)$, linear in $\tau$ [93, Equ. (11)-(13)]. The problem in (13) is an MLCP with unknowns $\lambda_n$ and $\lambda_t$. Assume that $H_t(q)$ has full column rank ($\Leftrightarrow H_t(q)^{\top} M(q)^{-1} H_t(q) > 0$). Following [90], one obtains a distorted contact LCP whose matrix is:

$$A_c(q) = \nabla h_n(q)^{\top} M_c(q) \nabla h_n(q) \quad (14)$$

where $M_c(q) = M_c(q)^{\top} \ge 0$ is not invertible [90, Lemma 2]. However $A_c(q)$ may have full rank [90] [6, p.252]. The contact LCP obtained from (13) is therefore equal to [90, sect. 4]

$$0 \le \lambda_n^{st} \perp A_c(q)\lambda_n^{st} + H_c(q, \dot{q}, t, \tau) \ge 0, \quad (15)$$
for some $H_c(q, \dot{q}, t, \tau)$. Conditions for existence and uniqueness of solutions to the contact LCP (15) are given in [97, sect. 3]. It is noteworthy that the Coulomb's cone constraint is missing and has to be added to (15) to make the contact problem complete:

$$-\lambda_t^{st} = (H_t(q)^{\top} M(q)^{-1} H_t(q))^{-1} R_t(q, \dot{q}, t, \lambda_n^{st}, \tau) \in \mathcal{D}(\mu, \lambda_n^{st}(\tau)) \quad (16)$$

where $\mathcal{D}(\mu, \lambda_n) \triangleq \mathcal{D}(\mu_1, \lambda_{n,1}) \times \dots \times \mathcal{D}(\mu_m, \lambda_{n,m})$ and the $\mathcal{D}(\mu_i, \lambda_{n,i})$ are Coulomb-Moreau's disks [94] [6, sect. 5.3.2]. Assume that $A_c(q) > 0$, then similarly to the foregoing all-sliding case, persistent contact is guaranteed if and only if the solution to $\lambda_n > 0 \Leftrightarrow \lambda_n = \lambda_n^{st}(q, \dot{q}, t, \tau) = -A_c(q)^{-1}H_c(q, \dot{q}, t, \tau) > 0$: using (15) and (16) yields constraints on $\tau$ (the example in section 3.6.3 is a particular case). The expression in the left-hand side of (16) furnishes the way to assign a desired value to $\lambda_t$ using $\tau$. Using (13), $\lambda_n^{st}$ and (16), it is inferred that a system with similar global structure as (10) represents the all-sticking case dynamics:

$$\left\{ \begin{array}{l} M_1(q_1)\ddot{q}_1 + F_1^{st}(q, \dot{q}, t, \xi) = E_1^{st}(q, \dot{q}, t, \xi)\tau \\ M_2(q_2)\ddot{q}_2 + F_2^{st}(q, \dot{q}, t, \xi) = (E_2^{st}(q, \dot{q}, t, \xi) + E(q_2))\tau, \end{array} \right. \quad (17)$$

for some $F_1^{st}, F_2^{st}, E_1^{st}, E_2^{st}$. The submanifold $\Sigma^{st} = \{(q, \dot{q}) \in \mathcal{C} \mid h(q) = 0, \dot{h}(q, \dot{q}) = 0, v_t = 0, a_t = \dot{v}_t = 0\}$ is invariant with respect to the dynamics (17), with the input constraints (16) and $A_c(q)^{-1}H_c(q, \dot{q}, t, \tau) < 0$.

**Remark 3.** When the system is in a persistent sticking mode (with or without friction), it is subjected to bilateral (holonomic or nonholonomic) constraints as in (12). Then the techniques fitted to differential-algebraic systems can be applied to (6), (10) and (17), like coordinate reduction when this is possible. This implies to switch coordinates when the bilateral constraint changes, a widely used approach in biped locomotion control. Then the control properties of the system usually improve. For instance the jumper (or compass) in section 3.3 with sticking foot and foot torque, becomes a fully actuated manipulator with constrained input when in full sticking mode at one foot. As shown in section 3.1.2 on a simple example, using (17) or a backstepping approach for the control design, are equivalent.

Conditions for all-sticking contacts have been studied deeply in specific cases: walking robots, and manipulation of rigid object (notions of form and force closures) [16]. Manipulation tasks with rolling complex objects [98] fit with the dynamics in (17).

*The General Frictional CP.* It is also possible to construct CPs when there are both sliding and sticking bilateral and unilateral contacts, with or without friction. This is not tackled here for the sake of briefness (the CP becoming more complex), see [92, sect. 3.4] [97, sect. 4, 5] for details. Extensions of Gauss' Principle are given in all cases in [92, 90].

### 2.1.3. Comments

The fine structure of the above input constraints has to be studied further, for each application. Early results about input constraints for walking biped robots (all-sticking mode) can be found in [99, 100, 91, 101] [91, Proposition III.2]. The above developments prove that (1), when evolving in modes where contact is established, behaves like a nonlinear underactuated system with constrained input, see (6), (10), (17). For particular applications (like biped robots), the structure of these dynamics can be studied further to propose tailored solutions. The 3D friction can be simplified by cone faceting, though this may create issues [7, §13.3.7]. Friction modeling is still the object of research and disputes [102]. The great advantage of set-valued frictional models, is that they incorporate sticking modes, which are a very important phenomenon in the dynamics of multibody system [6, 8, 103, 104, 105].
## 2.2. Impact Models and Dynamics

A collision occurs each time a constraint is activated in a nontangential way. Impacts are highly nonlinear phenomena. Gross classes are: i) single impacts, i.e., a single collision occurs without any overlap with foregoing or next collisions, ii) multiple impacts, i.e., several collisions occur simultaneously in the system (they may occur for systems in Fig. 3 (b), 4, 5 (b), 6 (a) (c), 8 (b), 11, 12 (a), 12 (a)). Within these classes one may find [6, 106]: a) algebraic (zero-order) models, which relate post- and pre-impact velocities with a restitution map using kinematic CoRs, b) first-order dynamics following the Routh, the Darboux-Keller and the LZB approaches [2, 6, 107, 108, 103], where the normal contact force impulse is used as a new time-scale, and the CoRs may be kinetic or energetic, c) second-order dynamics (mainly, linear or nonlinear spring-dashpot rheological models). Tangential dissipation is usually modelled using extensions of set-valued Coulomb's friction, replacing forces by their impulses. Classical assumptions in zero and first-order impact dynamics are: positions are constant during the impact, all forces but impact ones are negligible. This allows one to rewrite (1) as the velocity/impulse dynamics:

$$ \left\{ \begin{array}{l} (a) M_1(q_1)(\dot{q}_1(t^+) - \dot{q}_1(t^-)) = \frac{\partial h^\top}{\partial q_1} p_n + H_t^1(q_1, q_2)p_t \\ (b) M_2(q_2)(\dot{q}_2(t^+) - \dot{q}_2(t^-)) = \frac{\partial h^\top}{\partial q_2} p_n + H_t^2(q_1, q_2)p_t, \end{array} \right. \qquad (18) $$

where $q_1 = q_1(t)$, $q_2 = q_2(t)$, $p_n$ and $p_t$ are the impact forces impulses. There are $n_1 + n_2 + m + \bar{m}$ unknowns and $n_1 + n_2$ equations in (18). Some models in class ii a write as [6, sect. 6.2.5] [109]: $\alpha$) $\nabla h(q)^\top \dot{q}(t^+) = -\mathcal{E}_n \nabla h(q)^\top \dot{q}(t^-)$, and $\beta$) $p_{t,i} \in -\mu_i p_{n,i} \text{sgn}(v_{t,i}^+ + e_{t,i}v_{t,i}^-)$, $\mathcal{E}_n \in \mathbb{R}^{m \times m}$ a normal restitution matrix, $e_{t,i}$ tangential CoRs. Inserting $\alpha$ and $\beta$ in (18) yields a generalised equation with constraints, with unknowns $p_n$ and $\dot{q}(t^+)$ and data $\dot{q}(t^-)$, $q(t)$, $[\mu]$, $\mathcal{E}_t$, $\mathcal{E}_n$:

$$ \left\{ \begin{array}{l} 0 \in D_{nn}(q)p_n - D_{nt}(q)[\mu][p_n]\text{Sgn}(H_t^\top(q)\dot{q}(t^+) + \mathcal{E}_t H_t^\top(q)\dot{q}(t^-)) - (I_m + \mathcal{E}_n)\nabla h(q)^\top \dot{q}(t^-) \\ 0 \in M(q)(-\dot{q}(t^+) + \dot{q}(t^-)) + \nabla h(q)p_n - H_t(q)[\mu][p_n]\text{Sgn}(H_t^\top(q)\dot{q}(t^+) + \mathcal{E}_t H_t^\top(q)\dot{q}(t^-)) \end{array} \right. \qquad (19) $$

Kinetic, kinematic, energetic consistencies [6, Chapter 6].

Some multiple-impact mappings yield a compact writing, like Moreau's second order sweeping process that can be expressed as a LCP in the local velocities at contact $(v_{n,i}, v_{t,i})$ [6, 110], or Pfeiffer-Glockner's law which is solved with two sequential LCP [111]. Notice that $(v_n)(t^+) - (v_n)(t^-) = D_{tot}(q) \begin{pmatrix} p_n \\ p_t \end{pmatrix}$, where $D_{tot}(q) = \begin{pmatrix} D_{nn}(q) & D_{nt}(q) \\ D_{nt}^\top(q) & D_{tt}(q) \end{pmatrix}$, $D_{tt}(q) = H_t(q)^\top M(q)^{-1} H_t(q)$, is the total Delassus' matrix. Therefore it is possible to express (19) in terms of local velocities, under rank conditions.

Impact models from classes b) and c) can be used [112, 113, 114], since they are in certain cases "richer" than class (a) ones. However, whatever the chosen approach may be, the impact dynamics usually yields a complex problem. The problem (19) can be seen as a nonlinear nonsmooth map: $\dot{q}(t^-) \mapsto (\dot{q}(t^+), p_n)$, parameterized with $q(t)$, $\mu$, $\mathcal{E}_n$, $\mathcal{E}_t$, etc.

**Remark 4 (Model limitations).** All the contact mechanics ingredients in (1) (impact model, friction model, complementarity constraints) possess limitations. This is well-known for impacts and friction, for which numerous modeling approaches and comparative analyses exist. This is less known for the complementarity constraints, which do represent a particular contact model [6, section 5.4]. In particular, magnetic effects are excluded, as well as blowing effects which exert a force at a nonzero distance [115]. But, adhesive effects can be encapsulated in a nonsmooth complementarity dynamical framework, using cohesion laws [7,
section 3.9.4.4]. Adhesive effects can be useful in manipulation tasks [116, 117]. It is noteworthy that these comments must be recast in the perspective of the used contact models in the Control and the Robotics scientific communities, where many studies are led assuming oversimplified models. This is the case for instance in the biped robots literature, where it is most of the time simply assumed that the feet are two contact points which stick to the ground in both normal and tangential directions, after impacts. Thus in many instances the above models represent a significant step forward [118], though they may themselves rely on some simplistic assumptions and on phenomenological coefficients. It is noteworthy that complementarity is unavoidable as long as basic assumptions [6, section 5.4] hold true. But, it can be described in different ways (inclusion in a normal cone, variational inequality, or hybrid automata [119, Figure 2] [120, Figure 2] [121, Figure 3] if the number of modes is small). Finally, this class of models has been validated experimentally [120], where normal and tangential local kinematics are carefully analyzed. Contact and impact modeling is still the object of research and validation in Robotics [122, 123], and Mechanics [6, 107, 108, 103, 124].

## 2.3. Further Transformations of the Dynamics (1)

Let $H_i(q) \triangleq (\frac{\partial h}{\partial q_i})^\top H_i^i \in \mathbb{R}^{n_i \times (m+m)}$, $i = 1, 2$. Assume that $D_i \triangleq H_i^\top M_i^{-1} H_i > 0$, $i = 1, 2$. Then (1)

(a) (b) can be rewritten as:

$$ (D_1^{-1} H_1^\top \quad -D_2^{-1} H_2^\top) \begin{pmatrix} \ddot{q}_1 \\ \ddot{q}_2 \end{pmatrix} = F_{red}(q, \dot{q}, \tau, t), \quad (20) $$

for some $F_{red}(\cdot)$ which is independent of $\lambda_n$ and $\lambda_t$. Using (18), (20) becomes at impact times:

$$ (D_1^{-1} H_1^\top \quad -D_2^{-1} H_2^\top) \begin{pmatrix} \dot{q}_1(t^+) - \dot{q}_1(t^-) \\ \dot{q}_2(t^+) - \dot{q}_2(t^-) \end{pmatrix} = 0. \quad (21) $$

The all-sticking equality (12) $H_1^\top(q)\dot{q}_1 + H_2^\top(q)\dot{q}_2 = 0$ is customarily used in grasping to rewrite the dynamics on the object's coordinates [16, 23, 21], assuming that $H_2$ is square invertible ($\Rightarrow n_2 = m + \bar{m}$). This allows to write $n_1$-DoF dynamics at the object's level, independently of the contact forces (but quite differently from (20)), where the left-hand side of (20) becomes $(D_1^{-1} + D_2^{-1})H_1^\top\ddot{q}_1$ while the right-hand side is modified. It extends to the case $n_2 \le m + \bar{m}$ and $\text{rank}(H_2^\top) = n_2 \Rightarrow \dot{q}_2 = -(H_2^\top)^\dagger H_1^\top\dot{q}_1$. In case of all-sticking mode ($h(q) = 0, v_t = 0$), contact points act as joints and coordinate-reduction techniques for bilaterally constrained systems may be applied. For instance the system in Fig. 6 is a two-DoF manipulator when either $P_1$ or $P_2$ sticks to the ground, acting as a revolute joint. This is customarily employed in biped robots control [4, 125, 126, 28].

### Bilateral Constraints.
As alluded to above, other interconnections than those in (1) can be considered (like flexibilities between bodies). The case of bilateral holonomic constraints is a simplified version of (1):

$$ \begin{align} (a) \quad & M_1(q_1)\ddot{q}_1 + F_1(q_1, \dot{q}_1, t) = \frac{\partial f}{\partial q_1} \lambda_n + H_t^1(q_1, q_2)\lambda_t \nonumber \\ (b) \quad & M_2(q_2)\ddot{q}_2 + F_2(q_2, \dot{q}_2, t) = \frac{\partial f}{\partial q_2} \lambda_n + H_t^2(q_1, q_2)\lambda_t + E(q_2)\tau \tag{22} \\ (c) \quad & f(q_1, q_2) = 0 \nonumber \\ (d) \quad & \text{Friction model.} \nonumber \end{align} $$

Classical methods exist for the transformation of (22): calculation of $\lambda_n$ by differentiating twice (22) (c) (which yields the KKT system [6, Equation (5.3)]), which is the counterpart of the contact LCP in (3), and a dynamics similar to (6)), the McClamroch-Wang transformation [127], the reduction of the generalized coordinates by elimination of redundant ones (as done in biped locomotion with contact point feet in the stance phases). However they are not always applicable, e.g., when the constraints are not independent,
or when coordinate reduction yields unsolvable equations, and may be local only. Also friction makes the problem harder, see (81) in section 9. For instance, the gear transmission models studied in [128, equations (10)-(13)] (similar to the system in Fig. 20 (a)) fit with (22). But it is unclear whether or not the transformed, reduced dynamics in [128, Equation (14)] which eliminate the robot's dynamics (or better, which hides it), are better suited for control than the original dynamics. Indeed it yields a highly nonlinear (both in state and input) and nonsmooth system. The major discrepancy between bilateral and unilateral constraints during persistent contact phases, is that the former do not imply signed multipliers $\lambda_n$ and input constraints.

It is noteworthy that the most general model, often encountered in applications, incorporates both bilateral and unilateral constraints.

## 2.4. Equilibrium points

The equilibrium points of (1) are the solutions of the generalized equation:

$$ egin{cases} (F_1(q_1^*, 0, t) = \frac{\partial h}{\partial q_1} \lambda_n^* + H_{t,1}(q_1^*, q_2^*) \lambda_t^* \\ F_2(q_2^*, t) = \frac{\partial h}{\partial q_2} \lambda_n^* + H_{t,2}(q_1^*, q_2^*) \lambda_t^* + E(q_2^*) \tau(q^*, 0, t) \\ 0 \le \lambda_n^* \perp h(q_1^*, q_2^*) \ge 0 \end{cases} \\ \text{friction model in sticking mode.} \end{cases} \tag{23} $$

for all $t \ge 0$. The generalized equation (23) may have no, several but finite, or an infinite number of solutions. The complementarity constraints in (23) (c) is equivalent to the inclusion $\lambda_n^* \in -\partial \psi_{\mathbb{R}_+^m}(h(q_1^*, q_2^*))$, hence (23) (a) (b) (c) is equivalent in the frictionless case to $\begin{pmatrix} F_1(q_1^*, 0, t) \\ F_2(q_2^*, t) - E(q_2^*) \tau(q^*, 0, t) \end{pmatrix} \in -\frac{\partial h}{\partial q}(q_1, q_2) \partial \psi_{\mathbb{R}_+^m}(h(q_1^*, q_2^*))$. Assuming that $h(\cdot)$ is continuously differentiable at the point $h(q_1^*, q_2^*) \ge 0$, and applying the Chain Rule to $\psi_{\mathbb{R}_+^m} \circ h$ [129, Theorem 10.6] [6, Theorem B.3] it follows that

$$ \begin{pmatrix} F_1(q_1^*, 0, t) \\ F_2(q_2^*, t) - E(q_2^*) \tau(q^*, 0, t) \end{pmatrix} \in -\partial \psi_{\Phi}(q_1^*, q_2^*) = -\mathcal{N}_{\Phi}(q_1^*, q_2^*) \tag{24} $$

with $\Phi = \{(q_1, q_2) \in \mathcal{C} \mid h(q_1, q_2) \ge 0\}$ the admissible domain. The generalized equation (25) is in the canonical form of variational inequalities [130], and [130, Corollary 2.2.5] for existence of solutions can be applied each time $\Phi$ is compact and convex subset of $\mathbb{R}^n$. In the case where the equilibrium belongs to the frictionless constraints boundary, i.e., $h(q_1^*, q_2^*) = 0$, it follows that

$$ \lambda_n^* = \operatorname{proj}_{D_{nn}(q^*)}[\mathbb{R}_+^m; -D_{nn}(q^*)^{-1}F(q^*, 0, t) - D_{nn}(q^*)^{-1}\frac{\partial h}{\partial q_2}^\top M_2^{-1}(q_2^*)\tau(q^*, 0, t)]. \tag{25} $$

If only some of the equilibria belong to the boundary, then (25) can be constructed eliminating the ones inside the admissible domain $\Phi$. In case of nonzero friction, the equilibrium multipliers have to verify the frictional contact problem. In this case the set of equilibria may be complex [131].

## 2.5. Well-posedness

The existence, uniqueness, and continuous-dependence of solutions to (1), follow from general results about complementarity Lagrangian systems, see a summary in [6, Theorem 5.3] for the frictionless case, see [132, 133] for the case with friction. Therefore the following will be assumed:

* $q_1$ and $q_2$ are absolutely continuous (continuously differentiable in the absence of impacts),
• $\dot{q}_1$ and $\dot{q}_2$ are right-continuous of local bounded variations (absolutely continuous in the absence of impacts). Thus impact times make a countable set, with possible accumulations on the left only: this has important consequences for control.

It is noteworthy that continuous dependence of solutions with respect to initial data does not hold in general (in this setting the important parameters are the constraints kinetic angles [6, p.403]), see section 4.5.

## 2.6. A (Very) Complex Hybrid Dynamical System

Future robotics is likely to require highly complex tasks: bipedal machines which walk/run/jump/crawl and more [134, 135, 136, 119], quadruped robots which walk/run/gallop/trot/amble/bound/pace/half bound/transversally gallop/kick/jump on their rear legs, robots which grasp/dexterously manipulate/push/tap/juggle [137, 138, 9], robots which throw/catch [139, 140], which climb/slide along poles, quadopters which juggle/catch/throw a ball [141, 142], manipulation with mobile manipulator for timber harvesting tasks [143], robots which can perform multilocomotion tasks with walking, running, brachiation [144], etc. In all cases the contact points should be allowed to stick or/and to slip [145], which is unavoidable as it is shown on simple examples in [118]. From sections 2.1 and 2.2, it is inferred that robot-object systems (1) can be interpreted as systems which switch between low-dimensional systems (i.e., subjected to bilateral constraints) with input constraints, where the transitions occur either through stick/slip events (tangential set-valued friction), or activation/deactivation of constraints. Let us consider the frictionless case. It is noteworthy that the system can switch from a codimension $m^- \le m$ constraint subspace to a codimension $m^+ \ge m^- + 1$ constraint subspace (at least one constraint is activated) or to a codimension $m^+ \le m^- - 1$ constraint subspace (at least one constraint is deactivated). In the first case, the augmented constraint subspace is accompanied by a transition phase involving impacts (excepted in the particular case of tangential trajectories at the time contact is established). When friction is present, sticking modes add constraint subspaces $v_{t,i} = 0$. Mimicking [146, 147, 4, 148], we may split the time axis into intervals that correspond to the various subdynamics in (6), (10), (17) and the generalized equation (19) (it is noteworthy that input constraints are attached to each subdynamics, and that the switching times are not exogenous since they are ruled by complementarity constraints). The mapping (19) applies each time a constraint is activated. We denote $\alpha(t) \subseteq \{1, \dots, m\}$ the set of activated constraints at time $t$ (outside impact times), and $\mathrm{bd}^{\alpha(t)}(\Phi)$ is the corresponding boundary of the admissible domain (thus $\mathrm{codim}(\mathrm{bd}^{\alpha(t)}(\Phi)) = \mathrm{dim}(\alpha(t))$) and $\mathrm{Int}(\Phi) = \mathrm{bd}^{\emptyset}(\Phi)$. We have $q(t) \in C_{\alpha(t)} \triangleq C \cap \mathrm{bd}^{\alpha(t)}(\Phi)$ at each time $t$. The set of impact times is $\{t_k\}_{k \ge 0}$, and we assume that $t_0 > 0$. For $t \in (t_k, t_{k+1})$ the velocity belongs to the tangent space $T_{C_{\alpha(t)}}(q(t))$. At an impact time $t$, the tangent space is replaced by the tangent cone $\mathcal{T}_{\Phi}(q(t))$, which represents the set of admissible velocities (the kinematic consistency of the impact law). At an impact time $t$ the set $\alpha(t)$ may increase (plastic impact with a constraint which adds one dimension to $\alpha(t)$), or stay the same (elastic impact on one constraint which is not activated after the impact). A detachment time corresponds to a strict decrease in $\mathrm{dim}(\alpha(t))$ (equal to the number of deactivated constraints). Consequently on $(t_k, t_{k+1})$, the set $\alpha(t)$ is nonincreasing. We can write:

$$ \begin{array}{rcl} C_{\alpha(0)} \times T_{C_{\alpha(0)}}(q(0)) & \rightarrow & C_{\alpha(t_0^-)} \times (-\mathcal{T}_{\Phi}(q(t_0))) \rightarrow C_{\alpha(t_0^+)} \times \mathcal{T}_{\Phi}(q(t_0)) \rightarrow C_{\alpha(t)} \times T_{C_{\alpha(t)}}(q(t)) \rightarrow \dots \\ (q(0), \dot{q}(0)) & \mapsto & (q(t_0), \dot{q}(t_0)) \mapsto (q(t_0), \dot{q}(t_0^+)) \mapsto (q(t), \dot{q}(t)) \mapsto \dots \end{array} \quad (26) $$

On each interval $(t_k, t_{k+1})$ we may add events corresponding to detachment times which modify the tangent space, and also stick/slip events which activate/deactivate nonholomomic bilateral constraints. Let us define the tangential sticking submanifold $\Sigma_{st}^{\beta(t)} = \{(q, \dot{q}) \in C_{\alpha(t)} \times T_{C_{\alpha(t)}}(q(t)) | v_{t,i} = H_{t,i}(q)^{\top} \dot{q} = 0, i \in \beta(t) \subseteq \alpha(t)\}$, and the stick-to-slip one: $\Sigma_{stsl}^{\gamma(t)} = \{(q, \dot{q}) \in C_{\alpha(t)} \times T_{C_{\alpha(t)}}(q(t)) | v_{t,i} = H_{t,i}(q)^{\top} \dot{q} = 0, a_t = \dot{v}_{t,i} \neq 0, i \in \gamma(t) \subseteq \beta(t) \subseteq \alpha(t)\}$. As above $\Sigma_{st}^{\emptyset}$ means all activated contacts are sliding. Let us denote $\bar{\beta} = \{1, \dots, m\} \setminus \beta$, $\bar{\gamma} = \beta \setminus \gamma$. Thus on $(t_k, t_{k+1})$ we have the following generic situation:

$$ \begin{array}{rcl} \Sigma_{st}^{\beta(t_k^+)} \cup \Sigma_{st}^{\beta(t_k^+)} & \rightarrow & \Sigma_{st}^{\beta(t_k^+)} \cup \Sigma_{st}^{\gamma(t_k^{1,-})} \cup \Sigma_{stsl}^{\gamma(t_k^{1,-})} \rightarrow \Sigma_{st}^{\beta(t_k^{1,+})} \cup \Sigma_{st}^{\gamma(t_k^{1,+})} \cup \Sigma_{stsl}^{\gamma(t_k^{1,+})} \rightarrow \Sigma_{st}^{\beta(t_k^{1,+})} \cup \Sigma_{st}^{\gamma(t_k^{2,-})} \cup \Sigma_{stsl}^{\gamma(t_k^{2,-})} \\ \rightarrow & \Sigma_{st}^{\beta(t_k^{2,+})} \cup \Sigma_{st}^{\gamma(t_k^{2,+})} \cup \Sigma_{stsl}^{\gamma(t_k^{2,+})} & \rightarrow \dots \rightarrow \Sigma_{st}^{\beta(t_k^{\bar{t}+1})} \cup \Sigma_{st}^{\beta(t_k^{\bar{t}+1})}. \end{array} \quad (27) $$

In (27) the switches in $\alpha(t)$ corresponding to detachment times are not written, but $\alpha(t)$ can decrease along (27). The times $t_k^j$ are the times of stick/slip transition, $j \in \mathbb{N}^*$ (accumulations may occur). To each subinterval corresponds a constrained dynamics as in (6) or (10) or (17) and their associated flows. The phases diagram in [140, Figure 3] corresponding to catch/release/throw is a simple case of (26) (27).
### 3. Simple Examples

This section is dedicated to present a collection of typical robot-object systems, with detailed dynamics (see embryonic attempts in [2, sect. 8.7][4, 3]). The first example is also used to introduce some basic control features.

#### 3.1. Controlled Bouncing Balls and Chains

<figure><img src="image_3.png" /><figcaption>Figure 3: (a) controlled chain of beads, (b) tapping robot, (c) dribbling robot.</figcaption></figure>

Let us consider a system without friction but involving impacts, as depicted in Fig. 3 (a), with $N = 1$:

$$ egin{cases} (a) \ m_1\ddot{q}_1 + m_1g = \lambda_n \\ (b) \ m_2\ddot{q}_2 + m_2g = -\lambda_n + \tau \\ (c) \ 0 \le \lambda_n \perp h(q) = q_1 - q_2 \ge 0 \\ (d) \ (\dot{q}_1 - \dot{q}_2)(t_k^+) = -e_n(\dot{q}_1 - \dot{q}_2)(t_k^-) \text{ if } q_1(t_k) = q_2(t_k) \text{ and } (\dot{q}_1 - \dot{q}_2)(t_k^-) \le 0, \end{cases} \quad (28) $$

with the coefficient of restitution (CoR) $e_n \in [0, 1]$, $t_k$ denotes an impact time. This simple example can serve as an introduction to analyse some of the specific features of systems as in (1). The ball is assumed to be a point mass (no rotation is modeled, $n_1 = 1$).

##### 3.1.1. Bouncing Ball Control through Impacts

In (26) the index set $\alpha(t)$ switches repeatedly between $\emptyset$ and $\{1\}$. At an impact time the dynamics are algebraic as in (18), and few calculations using (28) yield:

$$ egin{align} (a) \quad & \dot{q}_1(t_k^+) = \dot{q}_1(t_k^-) + \frac{p_n(t_k)}{m_1} \nonumber \\ (b) \quad & p_n(t_k) = -(1 + e_n) \frac{m_1 m_2 (\dot{q}_1(t_k^-) - \dot{q}_2(t_k^-))}{m_1 + m_2} \ge 0 \tag{29} \\ (c) \quad & \dot{q}_2(t_k^-) = \dot{q}_2(t_k^-)(q_2(t_{k-1}), \dot{q}_2(t_{k-1}^+), \tau_{[t_{k-1}, t_k]}). \nonumber \end{align} $$

Roughly speaking, using (29) (a) the object's post-impact velocity can be given a desired value using a suitable controller $p_n(t_k) \ge 0$. Using (29) (b) a suitable robot's pre-impact velocity can be calculated. Using the robot's dynamics $m_2\ddot{q}_2 + m_2g = \tau$ between two impacts, (29) (c) follows and the input $\tau$ can be designed to assign $\dot{q}_2(t_k^-)$. Then the object's dynamics evolve according to $m_1\ddot{q}_1 + m_1g = 0$ until a next impact occurs. There are at least two peculiarities in such a control problem: the controller $\tau$ has to verify some viability constraints, i.e., it has to guarantee that $q_1(t) - q_2(t) > 0$ for all $t \in (t_k, t_{k+1})$, and the impact "controller" verifies $p_n(t_k) \ge 0$ (a signed controller), which obviously restricts the object's controllability through the
impacts. Such a collision control strategy is close to a backstepping algorithm. In the frictionless case, (29) (b) is obtained from (19), (29) (a) is obtained from (18) (a).

Another way to see the same problem is using an impact Poincaré mapping, i.e., a Poincaré mapping defined with Poincaré section $\{(q_1, q_2, \dot{q}_1, \dot{q}_2) | q_1 = q_2, \dot{q}_1 > \dot{q}_2\}$. Hence the system is observed at post-impact times. Both object and robot's dynamics have to be integrated on $(t_{k-1}, t_k]$:

$$ \dot{q}_1(t_k^+) = \dot{q}_1(t_k^-)(q_1(t_{k-1}), \dot{q}_1(t_{k-1}^+)) + \frac{p_n(t_k)}{m_1}, \quad (30) $$

and on $(t_{k-1}, t_k)$:

$$ \dot{q}_2(t_k^-) = \dot{q}_2(t_k^-)(q_2(t_{k-1}), \dot{q}_2(t_{k-1}^+), \tau_{[t_{k-1}, t_k]}). \quad (31) $$

Hence a controller $p_n(t_k)$ is chosen to set a desired $\dot{q}_1(t_k^+)$ with (30), then $\dot{q}_2(t_k^-)$ is deduced from (29), and the final step is to design $\tau_{[t_{k-1}, t_k]}$ which is $\tau$ over $[t_k, t_{k+1}]$ using (31). Another algorithm is detailed in [3, section 4] which uses flight times and applies to a general class of vibro-impact systems [3, Equation (26)] (it extends the recursive method in [1, section III.B]). Similar method is used in [149, section 2.3].

### 3.1.2. Bouncing Ball Control with Persistent Contact

Consider now the case when both bodies are in persistent contact (in (26) the index set $\alpha(t) = \{1\}$ for all times): $q_1(t) = q_2(t)$ and $\dot{q}_1(t) = \dot{q}_2(t)$ for all $t \ge 0$. Then the multiplier $\lambda_n(t)$ is given as the solution of the contact linear complementarity problem (contact LCP in (3)): $0 \le \lambda_n(t) \perp \ddot{q}_1(t) - \ddot{q}_2(t) = g + \frac{\lambda_n(t)}{m_1} + \frac{\lambda_n(t)}{m_2} - \frac{\tau(t)}{m_2} \ge 0$. The persistent contact is guaranteed if and only if $g - \frac{\tau(t)}{m_2} < 0 \Leftrightarrow \lambda_n(t) = -\frac{m_1m_2}{m_1+m_2}(g - \frac{\tau(t)}{m_2}) > 0$ (which is (4) and (5)). In this case since $\ddot{q}_1(t) - \ddot{q}_2(t) = 0$ for all times, it follows that $(m_1 + m_2)\ddot{q}_2 = -m_1g + \tau$, hence $\tau$ can be designed as $\tau(q_2, \dot{q}_2, t)$ to control $(q_2, \dot{q}_2)$. The constraint to be satisfied at each time is $g - \frac{\tau(q_2, \dot{q}_2, t)}{m_2} > 0 \Leftrightarrow \tau(q_2, \dot{q}_2, t) < m_2g$ for all $t \ge 0$: again the control input is constrained. This control strategy can also be designed with a backstepping approach, defining first a virtual input $\lambda_{n,d}$ to control the object's dynamics. Indeed let $\lambda_{n,d}(q_1, \dot{q}_1, t)$ be a suitable “virtual” input, hence:

$$ m_1\ddot{q}_1(t) + m_1g = \tilde{\lambda}_{n,d}(t) + \lambda_{n,d}(t), \quad (32) $$

with $\tilde{\lambda}_{n,d}(t) = \lambda_n(t) - \lambda_{n,d}(t)$, such that the system $m_1\ddot{q}_1(t) + m_1g = \lambda_{n,d}(t)$ has the required stability properties, and let:

$$ m_2\ddot{q}_2(t) + m_2g = -\tilde{\lambda}_{n,d}(t) - \lambda_n(t) + \tau. \quad (33) $$

Let $\tau = \tau_2(q_2, \dot{q}_2, t) + m_2g + \lambda_{n,d}(t)$ be such that the system $m_2\ddot{q}_2(t) = \tau_2(q_2, \dot{q}_2, t)$ has the required stability properties. It follows from (32) and (33) that:

$$ \left\{ \begin{array}{l} m_1\ddot{q}_1(t) + m_1g - \lambda_{n,d}(t) = \tilde{\lambda}_{n,d}(t) \\ m_2\ddot{q}_2(t) - \tau_2(q_2, \dot{q}_2, t) = -\tilde{\lambda}_{n,d}(t). \end{array} \right. \quad (34) $$

Let $\tilde{q}_1 = q_1 - q_{1,d}$, and so on for the other variables. Assume that both $\lambda_{n,d}(q_1, \dot{q}_1, t)$ and $\tau_2(q_2, \dot{q}_2, t)$ are chosen for trajectory tracking so that (34) is:

$$ \left\{ \begin{array}{l} m_1\ddot{q}_1(t) + \alpha_1\dot{q}_1(t) + \alpha_2\tilde{q}_1(t) = \tilde{\lambda}_{n,d}(t) \\ m_2\ddot{q}_2(t) + \alpha_3\dot{q}_2(t) + \alpha_4\tilde{q}_2(t) = -\tilde{\lambda}_{n,d}(t), \end{array} \right. \quad (35) $$

for some suitable control gains $\alpha_i > 0$. If the conditions for persistent contact hold, then (35) implies:

$$ (m_1 + m_2)\ddot{q}_1(t) + (\alpha_1 + \alpha_3)\dot{q}_1(t) + (\alpha_2 + \alpha_4)\tilde{q}_1(t) = 0, \quad (36) $$
from which it follows that $\tilde{q}_1(\cdot)$, $\dot{\tilde{q}}_1(\cdot)$ and $\ddot{\tilde{q}}_1(\cdot)$ all converge exponentially fast to zero. Then $\tilde{\lambda}_{n,d}(\cdot)$ also converges exponentially to zero. Obviously this holds if and only if the persistent contact condition $\tau(t) = \tau_2(q_2, \dot{q}_2, t) + \lambda_{n,d}(q_1, \dot{q}_1, t) < m_2g$ for all $t \ge 0$ is true along the closed-loop solutions for all times.

The fact that in both sections 3.1.1 and 3.1.2 the control input has to verify some constraints, is a common feature of all systems tackled in this study.

Let us briefly analyze the relationships between the above backstepping scheme, and the control of the system in (6), which takes the form:

$$ \left\{ \begin{array}{l} m_1 \ddot{q}_1 + m_1 g + \frac{m_1 m_2}{m_1 + m_2} g = \frac{m_1}{m_1 + m_2} \tau \\ m_2 \ddot{q}_2 + m_2 g - \frac{m_1 m_2}{m_1 + m_2} g = \left(1 - \frac{m_1}{m_1 + m_2}\right) \tau. \end{array} \right. \qquad (37) $$

Since on a persistent contact time-interval $q_1 \equiv q_2$, (37) reduces to: $(m_1+m_2)\ddot{q}_1+(m_1+m_2)g = \tau$. The above strategy boils down to setting $\tau = (m_1+m_2)(\ddot{q}_{1,d}-\beta_1\dot{\tilde{q}}_{1,d}-\beta_2\tilde{q}_{1,d})+(m_1+m_2)g \Rightarrow \ddot{q}_1+\beta_1\dot{\tilde{q}}_{1,d}+\beta_2\tilde{q}_{1,d} = 0$, i.e., dynamics like (36) are obtained. The backstepping approach may have the advantage that it decouples the study into subtasks.

### 3.1.3. Bouncing Ball Catching Task

Assume now that the objective is to catch the moving object, with a nonzero restitution coefficient (in (26) the index set $\alpha(t)$ switches once from $\emptyset$ to $\{1\}$). The objective is to catch the object at a desired height $q_{1,d}$ and at a desired time instant $t_{cat}$, and to keep the contact for all $t \ge t_{cat}$ (hence for all $t > t_{cat}$ the task is as in section 3.1.2), or on some finite time-interval for toss juggling tasks [150, 140]. If $e_n > 0$ the catching implies that $\dot{q}_1(t_{cat}^+) - \dot{q}_2(t_{cat}^+) = 0 \Rightarrow \dot{q}_1(t_{cat}^-) - \dot{q}_2(t_{cat}^-) = 0$. A dead-beat controller can be used with a specific desired post-impact state (zero relative velocity), is this always doable in one shot or are several impacts needed due to viability or else? The results in [151] are an alternative where the “robot” is excited sinusoidally. The Zhuravlev-Ivanov transformation [6, sect. 1.4.3], which allows one to rewrite the error or gap ($q_1 - q_2$)-dynamics as a DI with AC solutions, can be used. This transformation is available only for a single unilateral constraint (or for multiple constraints which are orthogonal in the kinetic metric). The twisting sliding-mode controllers in [152, 153] (see [6, Theorem 7.6]) can be designed to stabilize the transformed system to the origin in finite time. Hence they apply to catching tasks. Only the relative velocity and position are set to zero, however. Then a controller assuring persistent contact as in section 3.1.2 may be used to move the system to the desired position.

### 3.1.4. Control of a Chain of Balls

The one-DoF juggler may be extended to the system in Fig. 3 (a), where the ball is replaced by a vertical chain of beads. Its dynamics are:

$$ \left\{ \begin{array}{l} m_N \ddot{q}_{1,N} = -m_N g + \lambda_{n,N} \\ m_i \ddot{q}_{1,i} = -m_i g + \lambda_{n,i} - \lambda_{n,i+1}, \quad i = 1, \dots, N-1 \\ m_2 \ddot{q}_2 = \tau - m_2 g - \lambda_{n,1} \\ 0 \le \lambda_{n,1} \perp h_1(q) = q_{1,1} - q_2 \ge 0 \\ 0 \le \lambda_{n,i} \perp h_i(q) = q_{1,i} - q_{1,i-1} \ge 0, \quad i = 2, \dots, N \end{array} \right. \qquad (38) $$

In (38), $q_1 = (q_{1,1}, \dots, q_{1,N})^T$, $M_1 = \text{diag}(m_i)$. The impact law is not indicated in (38), because there are several possible models, see section 2.2. Indeed the chain of beads yields so-called multiple impacts, i.e.,
several collisions may occur at the same time. The modeling of multiple impacts is a tough issue [6, 106], which may influence the control properties of the system (mainly because of the dispersion of the kinetic energy, which is strongly influenced by the masses $m_i$ ratios). The “object” has dimension $N$, the robot has dimension 1. Intuitively the control with $N > 1$ is more complex than for $N = 1$. The goal may be to control the chain’s center of mass, the first ball 1, the last ball $N$, to stabilize the whole chain (catching task) on the robot in a prescribed time (even if the kinetic energy is conserved with elastic impacts, using only the dispersion). Let us consider that the object is the chain’s center of mass with $q_{cm} = \frac{\sum_{i=1}^{N} m_i q_{1,i}}{\sum_{i=1}^{N} m_i}$, we obtain the equivalent dynamics:

$$ egin{cases} (a) \sum_{i=1}^{N} m_i \ddot{q}_{cm} = -g \sum_{i=1}^{N} m_i + \lambda_{n,1} \\ (b) m_2 \ddot{q}_2 = \tau - m_2 g - \lambda_{n,1} \\ (c) 0 \le \lambda_{n,1} \perp h_1(q) = q_{1,1} - q_2 \ge 0 \\ m_i \ddot{q}_{1,i} = -m_i g + \lambda_{n,i} - \lambda_{n,i+1}, \quad i = 1, \dots, N-1 \\ 0 \le \lambda_{n,i} \perp h_i(q) = q_{1,i} - q_{1,i-1} \ge 0, \quad i = 2, \dots, N \end{cases} \quad (39) $$

Despite (39) (a) (b) (c) looks like (28) where (39) (a) plays the role of the object, (39) is quite different from (28): the multiplier $\lambda_{n,1}$ is not complementary to $q_{cm} - q_2$. Notice that (20) is obtained by adding (28) (a) and (b), and (39) (a) and (b). This allows to control the whole system’s center of mass. When $N = 3$, the equivalence with a particle hitting in a corner may be used, see below.

### 3.1.5. Tapping Planar System (2-DoF Pinball)

The one-DoF juggler may be extended also to the system in Fig. 3 (b). Compared with (38), the impact between the puck and the arm is simple as in (28), compared with (28) friction may be added and it is likely to play a prominent role in the puck’s postimpact velocity control [113]. The dynamics are given by:

$$ egin{cases} m_1 \ddot{x} = -\sin(\theta_2)\lambda_n + \cos(\theta_2)\lambda_t \\ m_1 \ddot{y} = \cos(\theta_2)\lambda_n + \sin(\theta_2)\lambda_t \\ M_2(q_2)\ddot{q}_2 + F_2(q_2, \dot{q}_2) = \begin{pmatrix} \tau_1 \\ \tau_2 \end{pmatrix} + \begin{pmatrix} l_1 \sin(\theta_2 - \theta_1) \\ 0 \end{pmatrix} \lambda_t + \frac{\partial h}{\partial q_2} \lambda_n \\ 0 \le \lambda_n \perp h(q) = l_1 \sin(\theta_2 - \theta_1) - x \sin(\theta_2) + y \cos(\theta_2) \ge 0 \\ \lambda_t \in -\mu \lambda_n \operatorname{sgn}(v_t) \\ v_t = \dot{x} \cos(\theta_2) + \dot{y} \sin(\theta_2) + l_1 \dot{\theta}_1 \sin(\theta_2 - \theta_1), \end{cases} \quad (40) $$

with $q_2 = (\theta_1, \theta_2)^\top$, $q_1 = (x, y)^\top$, $||O_1O_2|| = l_1$. Ping-pong (table tennis) robotic players have similar dynamics, with a racket mounted at the tip. Usually it is necessary to consider 3-dimensional impacts with the racket and with the table, to get efficient players. Such systems have witnessed a significant interest in the Machine Learning scientific community [154, 155, 156, 157].
<figure><img src="image_4.png" /><figcaption>Figure 4: (a) Wedge juggling robot; (b) planar billiard with controlled box.</figcaption></figure>

### 3.1.6. Wedge Juggling Robot

A variation of the system in Fig. 3 (b), is depicted in Fig. 4 (a). Wedge/bead contact is assumed frictionless. Its dynamics are:

$$ 
\left\{ 
\begin{array}{l}
m_1 \ddot{x} = \sin(\theta_2 - \alpha)\lambda_{n,1} + \sin(\theta_2 + \alpha)\lambda_{n,2} \\
m_1 \ddot{y} = -\cos(\theta_2 - \alpha)\lambda_{n,1} + \cos(\theta_2 + \alpha)\lambda_{n,2} - m_1 g \\
M_2(q_2) \ddot{q}_2 + F_2(q_2, \dot{q}_2) = \begin{pmatrix} \tau_1 \\ \tau_2 \end{pmatrix} + \frac{\partial h}{\partial q_2} \lambda_n \\
0 \le \lambda_{n,1}(q) \perp h_1(q) = -(x + c + l_1 \cos(\theta_1) + l_2 \cos(\theta_2)) \sin(\theta_2 - \alpha) - (y - l_1 \sin(\theta_1) - l_2 \sin(\theta_2)) \cos(\theta_2 - \alpha) \ge 0 \\
0 \le \lambda_{n,2}(q) \perp h_2(q) = -(x + c + l_1 \cos(\theta_1) + l_2 \cos(\theta_2)) \sin(\theta_2 + \alpha) + (y - l_1 \sin(\theta_1) - l_2 \sin(\theta_2)) \cos(\theta_2 + \alpha) \ge 0
\end{array}
\right. 
\quad (41) 
$$

with $||OO_1|| = c$, $||O_1O_2|| = l_1$, $||O_3O_2|| = l_2$, $\beta = \frac{\pi}{2} - \alpha$ (symmetrically mounted wedge).

### 3.1.7. Controlled Billiard

A special juggling system is depicted in Fig. 4 (b): this is a planar billiard where the box is controlled. When several beads are inside the box, one obtains a system of swarm reconfiguration [158], which is a variant of the juggler with many balls in Fig. 3 (a) (this paves the way towards granular matter control). In the literature the ball inside the billiard is controlled [159, 160, 161, 162] and the box is immobile and insensitive to impacts (its mass is infinite compared to that of the ball). Then the challenge is to track a desired trajectory, including impacts and consequently the jump mismatch (see section 4.4). An obvious property of the system in Fig. 4 (b) is that $q_1(t) \in S(t)$ for all $t \ge 0$, where $S(t)$ is the set delimited by the box (a polyhedral convex set in Fig. 4 (b)).

### 3.1.8. Comments

Let us disregard for the moment the constraints which apply to the variables (these will be a consequence of the contact problem, see section 2.1). The object's controllability properties can be studied assuming first that the multipliers $\lambda_n$ and $\lambda_t$ are fictitious inputs [163, 13, 14, 1, 113], which has been sometimes named the *impulsive controllability* when vibro-impact are analysed [113]. In (28), the bouncing ball object is controllable with $\lambda_n$ and its robot is controllable with $\tau$. In (40) the object is underactuated and uncontrollable if $\lambda_t = 0$ (frictionless case), and fully actuated and controllable with input $(\lambda_n, \lambda_t)$ since the
input matrix $$ \begin{pmatrix} \sin(\theta_2) & \cos(\theta_2) \\ -\cos(\theta_2) & \sin(\theta_2) \end{pmatrix} $$ has full rank 2, and the robot is fully actuated and controllable with $\tau$. What does it become if friction is negligible ($\mu \ll 1$)? Results in [163] [113, Proposition 3.1, Corollary 3.1] indicate accessibility and local controllability of similar objects. Another topic concerns robustness when $\mu$ is uncertain parameter. The robot in (39) (b) is controllable with $\tau$, the object in (39) (a) is controllable with $\lambda_{n,1}$. In (41) the object is controllable (for almost all $\theta_2$) with input $(\lambda_{n,1}, \lambda_{n,2})$, and the robot is fully actuated and controllable with $\tau$.

However in all cases, one has to analyse (at least) two important facts: 1) what happens with these “un-constrained” controllability properties when the constraints are taken into account ? 2) what is the role played by the contact/impact problem which intervenes in-between the object and the robot’s dynamics, so that the multipliers can be assigned desired values ? As a subquestion of 2): examine the difference between friction-induced “controllers” $\lambda_t$, and unilateral contact induced “controllers” $\lambda_n$, as illustrated by the systems in Fig. 3 (c), and in Fig. 4. For instance, despite the objects in (40) and in (41) seem to possess similar control properties, they may differ significantly (a wedge-billiard or wedge-juggler possesses a much richer set of object’s trajectories than a plate-like juggler [164]). Assume that $O_3$ in Fig. 4 (a) is attained by the puck so that both multipliers (or their magnitude as Dirac measures if the impact are instantaneous) are positive. It is well-known [6] that such a 2-impact yields discontinuity with respect to the initial data if $\alpha > \frac{\pi}{4}$, while solutions are usually continuous in the initial data if $\alpha \le \frac{\pi}{4}$. In the latter case there also exist general conditions such that the puck may be trapped in the wedge, or rejected from it [6, sect. 6.1.4] [106, Appendix A]. Therefore depending on $\alpha$ it may be much more difficult to reorient the puck using a wedge tool, than using frictional effects. On the contrary the wedge may be a convenient way to realize catching, if the angle and the CoRs are suitable. As shown in [1], the controllability of the system may be considerably improved if $m$ increases.

Another important comment is about the equivalence between the particle impact in a planar wedge, and the impact between three aligned beads [106, Appendix A]. Thus strategies for trapping, may be used for the controlled chain of three beads ($N = 3$ in (38)). Consider now (39). The major control design is to control the robot to assign some desired value to the multiplier $\lambda_{n,1}$ at impacts. The only solution if impacts are assumed to be sequential, is to strike bead 1 with some velocity $\dot{q}_2(t_k^{-})$, let collisions propagate, and compute $\dot{q}_{cm}$. At this stage one faces a major issue: the multiple impact model to be chosen for control. The above juggling systems, which have a 2-dimensional operating space, can be upgraded to sophisticated tasks in 3-dimensional space, incorporating complex patterns [165], juggling with sticks [10, 11]. Another extension, which can be seen as a complexification of all the above systems, is the manipulation of granular matter [166, 158], two simple examples of which are in Fig. 3 (a) and Fig. 4 (b). Consider the controlled billiard in Fig. 4 (b). Two main cases exist: either the box is insensitive to impacts, either it is not. In the first case, $S(t) = \{q_1 \in \mathbb{R}^{n_1} | h(q_1, q_2) = h(q_1, t) \ge 0\}$ can be arbitrarily controlled with $\tau \in \mathbb{R}^2$, and the dynamics lend themselves to modeling with the Moreau’s second order sweeping process (SOSwP [54, 6]):

$$ \left\{ \begin{array}{l} (a) \quad M_1 \ddot{q}_1(t) \in -\mathcal{N}_{V(q_1(t))} \left( \frac{\dot{q}_1(t^+) + e_n \dot{q}_1(t^+)}{1+e_n} \right) \\ (b) \quad M_2 \ddot{q}_2 = \tau, \end{array} \right. \qquad (42) $$

$e_n \in [0, 1]$, where $V(q_1, t) \subseteq \mathbb{R}^{n_1}$ is defined as $V(q_1, t) = \{v_1 \in \mathbb{R}^{n_1} | \nabla h(q_1, t)^\top v_1 + \frac{\partial h}{\partial t}(q_1, t) \ge 0\}$ (this is an extension of the linearization cone tangent cone [54]), and $\mathcal{N}_{V(q_1(t))}(\dot{q}_1(t^+))$ is the normal cone to $V(q_1)$ calculated at the right-velocity $\dot{q}_1(t^+)$. The evolution of the set $S(t)$ depends on $q_2(t)$ and $\dot{q}_2(t)$, which
are controlled by $\tau$ (hence from the point of view of the object this is a time-varying, exogenous variation reflected in the gap function as $h(q_1, q_2) = h(q_1, t)$). From (42) (a), $q_1(0) \in S(0) \Rightarrow q_1(t) \in S(t)$ for all $t \ge 0$. It also encapsulates a kinematic impact law for both single and multiple impacts:

$$ M_1(\dot{q}_1(t^+) - \dot{q}_1(t^-)) \in \mathcal{N}_{V(q_1(t))} \left( \frac{\dot{q}_1(t^+) + e_n \dot{q}_1(t^+)}{1 + e_n} \right) \qquad (43) \\ \dot{q}_1(t^+) = -e_n \dot{q}_1(t^+) + (1 + e_n) \mathrm{proj}_{M_1}[V(q_1(t)); \dot{q}_1(t^-)], $$

which can be rewritten as a LCP [110]. In the case of a single impact, this boils down to the classical Newton's kinematic law. In the second case $S(t)$ depends on the pre-impact velocities. Clearly the controllability properties are simpler in the first case, where the boundedness of $S(t)$ can be obtained trivially. A notable difference with other systems is that ballistic trajectories between impacts, are straightlines which can be travelled across in an arbitrary time, while those subject to gravity cannot. The presence of friction, and the used impact model, may influence also a lot the billiard controllability [113].

In the above we have considered tasks for which the primarily goal is to control the object. Few other tasks may involve the object as a kind of perturbation, while the goal is to control the robot which has to collide with the object (like landing aircrafts -helicopters, quadrotors- on a moving target platform [167, 168]). A simplified model is (28) where $m_1g$ is replaced by an external excitation $p_1(t, \dot{q}_1, q_1)$ in (28) (a), and (28) (b) is $m_2\ddot{q}_2 = -\lambda_n + \tau$: the goal is a kind of reversed catching task (section 3.1.3) where the robot has to stabilize on the object. In some applications it is legitimate to assume $m_1 \gg m_2$, hence the object is not affected by impacts (just the contrary of what is commonly assumed for jugglers). The most common approach in the literature is to synchronize the robot's motion and that of the object [168] to achieve landing without impacts.

Finally the dribbling system in Fig. 3 is a variant of the juggling system with one ball in (28). The main difference is the presence of a second multiplier for the wall/ball contact, and the fact that impacts occur successively with both constraints (excepted if a double-impact occurs). Consequently the counterpart of (29) involves more steps. The similarity between juggling and dribbling is pointed out in [169].

## 3.2. Controlled Frictional Oscillators (Sliding Task)

<figure><img src="image_5.png" /><figcaption>Figure 5: Frictional oscillator: (a) sliding block, (b) rocking block, (c) stacked blocks.</figcaption></figure>
Let us consider the system in Fig. 5 (a), which consists of a prismatic arm with mass $m_2$ and a mass $m_1$ in stick/slip motion on a moving belt (it is assumed that the mass $m_1$ never detaches from the belt, i.e., a one-DoF system). The two pulleys have radius $r > 0$ and rotate with angular velocity $\Omega(t) > 0$, which is assumed to be arbitrary and independent of the interaction with the mass. Its dynamics are given as:

$$ egin{cases} m_1 \ddot{q}_1 = \lambda_n + \lambda_t \\ m_2 \ddot{q}_2 = -\lambda_n + \tau \\ 0 \le \lambda_n \perp h(q) = q_1 - q_2 \ge 0 \\ (\dot{q}_1 - \dot{q}_2)(t_k^+) = -e_n(\dot{q}_1 - \dot{q}_2)(t_k^-) \text{ if } q_1(t_k) = q_2(t_k) \text{ and } (\dot{q}_1 - \dot{q}_2)(t_k^-) \le 0 \\ \lambda_t \in -\mu m_1 g \operatorname{sgn}(\dot{q}_1 - r\Omega(t)), \end{cases} \quad (44) $$

It is noteworthy that the set-valued signum function can be written (as any piecewise linear function) in a complementarity framework [6, p.309][170], hence recasting (44) into (1):

$$ egin{cases} m_1 \ddot{q}_1 = \lambda_n + 1 - 2\lambda^a \\ m_2 \ddot{q}_2 = -\lambda_n + \tau \\ 0 \le \lambda_n \perp h(q) = q_1 - q_2 \ge 0 \\ (\dot{q}_1 - \dot{q}_2)(t_k^+) = -e_n(\dot{q}_1 - \dot{q}_2)(t_k^-) \text{ if } q_1(t_k) = q_2(t_k) \text{ and } (\dot{q}_1 - \dot{q}_2)(t_k^-) \le 0 \\ 0 \le \lambda^a \perp -\dot{q}_1 + r\Omega(t) + \lambda^b \ge 0 \\ 0 \le \lambda^b \perp 1 - \lambda^a \ge 0. \end{cases} \quad (45) $$

where $\lambda^a$ and $\lambda^b$ are two multipliers. The major difference between (45) and (28) is that the gravity is replaced by friction in the object's dynamics. Clearly the analysis of (44) is more complex than that of (28) since set-valued friction involves stick/slip tangential modes. Using basic Convex Analysis, the dynamics (44) are equivalently rewritten as the differential inclusion (outside impacts):

$$ egin{cases} m_1 \ddot{q}_1 \in -\mathcal{N}_{C_1(q_2)}(q_1) - \mu m_1 g \operatorname{sgn}(\dot{q}_1 - r\Omega(t)) \\ m_2 \ddot{q}_2 - \tau \in -\mathcal{N}_{C_2(q_1)}(q_2), \end{cases} \quad (46) $$

which is a system made of two subsystems interconnected through the normal cones sets $C_1(q_2) = \{q_1 | q_1 \in \mathbb{R}_+ + x_2\}$ and $C_2(q_1) = \{q_2 | q_2 \in q_1 + \mathbb{R}_-\}$ (the normal cones derive from a nonsmooth potential function, see section 1, and in (46) the friction force also derives from a nonsmooth potential). Another model could be chosen for the same system. Assume that the mass $m_2$ is attached to the wall with a spring of stiffness $k > 0$, and that the control input is the velocity $\Omega$. The controlled dynamics become:

$$ egin{cases} (a) \ m_2 \ddot{q}_2 = -kq_2 - \lambda_n \\ (b) \ m_1 \ddot{q}_1 \in \lambda_n - \mu m_1 g \operatorname{sgn}(\dot{q}_1 - r\Omega(t)) \\ 0 \le \lambda_n \perp h(q) = q_1 - q_2 \ge 0 \\ (\dot{q}_1 - \dot{q}_2)(t_k^+) = -e_n(\dot{q}_1 - \dot{q}_2)(t_k^-) \text{ if } q_1(t_k) = q_2(t_k) \text{ and } (\dot{q}_1 - \dot{q}_2)(t_k^-) \le 0 \end{cases} \quad (47) $$

The controlled dynamics in (47) are recast into (1), where the roles played by the object in (a) and the robot in (b) are reversed compared with (44), and the input acts through the signum multifunction. Writing again the sign function in a complementarity framework, allows us to see that the controller $\Omega$ enters the complementarity constraints. We will encounter this in other systems, see section 3.14. Let us now analyse the oscillator in Fig. 5 (b). The block's coordinate vector is $(x, y, \theta)^T$, Coulomb's friction acts between the block's corners and the moving belt. In Fig. 5 (b) two types of blocks are depicted: a slender block (dashed
lines), and a flat block (solid lines). It is expected that their respective motions, for a given belt velocity profile and friction coefficient, may be quite different: the slender block may easily rock and even overturn, while the flat block could easily slide on the belt. The control goals will certainly be different depending on the slenderness, which is measured by the kinetic angle [6, p.403] between the two constraints (the role of the constraints' angle is recovered as in section 3.1.8). The dynamics of this system are:

$$ egin{cases} 
(a) \dot{m}x = \lambda_{t,1} + \lambda_{t,2} \\ 
(b) \dot{m}y = \lambda_{n,1} + \lambda_{n,2} - mg \\ 
(c) I_G \ddot{\theta} = \frac{\partial h}{\partial \theta} \lambda_n + \left(\frac{l}{2} \cos(\theta) - \frac{L}{2} \sin(\theta)\right) \lambda_{t,1} + \left(\frac{l}{2} \cos(\theta) + \frac{L}{2} \sin(\theta)\right) \lambda_{t,2} \\ 
(d) I_b \dot{\Omega} = r(\lambda_{t,1} + \lambda_{t,2}) + \tau \\ 
0 \le \lambda_{n,1} \perp h_1(q(t)) = y - \frac{l}{2} \cos(\theta) + \frac{L}{2} \sin(\theta) \ge 0 \\ 
0 \le \lambda_{n,2} \perp h_2(q(t)) = y - \frac{l}{2} \cos(\theta) - \frac{L}{2} \sin(\theta) \ge 0 \\ 
\lambda_{t,i} \in (-\mu_i \lambda_{n,i} \operatorname{sgn}(v_{t,i} - r\Omega(t)), i = 1, 2 \\ 
v_{t,1} = \dot{x} + \left(\frac{l}{2} \cos(\theta) - \frac{L}{2} \sin(\theta)\right) \dot{\theta} \text{ at B} \\ 
v_{t,2} = \dot{x} + \left(\frac{l}{2} \cos(\theta) + \frac{L}{2} \sin(\theta)\right) \dot{\theta} \text{ at A.} 
\end{cases} 
\quad (48) $$

In (48), $q_1 = (x, y, \theta)^T$, $q_2 = \omega$, $\dot{\omega} = \Omega$, $I_G$ is the moment of inertia of the block with respect to its center of mass, $I_b$ is the pulley's moment of inertia. As alluded to above, the dynamical properties of this system certainly strongly depend on the block's aspect ratio, i.e., whether it is slender or not. An impact model has to be added to (48). The case with slender block (dashed lines) is similar to an inverted pendulum on a cart, where the joint between the pendulum and the cart is replaced by frictional contact with the basis.

**Comments.** The dynamical behaviour of frictional oscillators has been thoroughly studied in the Bifurcation and Chaos literature when a linear spring/dashpot links the mass to a fixed wall [171, 172, 173]. The systems in (44) (or (45)) and (48) possess different control properties. The object in (44) is controllable with input $(\lambda_n, \lambda_t)$, the object in (48) (a) (b) (c) is controllable with input $(\lambda_{n,1}, \lambda_{n,2}, \lambda_{t,1}, \lambda_{t,2})$ for $\theta \in (0, \frac{\pi}{2})$. The robot in (44) is controllable with $\tau$, the robot in (48) (d) is controllable with input $\tau$. The pulleys' dynamics are introduced in (48), while they are neglected in (45) so that the controller enters the complementarity constraints. The system in Fig. 5 (c) may model a simplified building structure (the interface law between the blocks can be chosen so as to comply with experimental setups). Similarly to the systems in Fig. 3 (a) and 4 (b), the underactuation degree of this system is large. Its dynamics are similar to (48), with augmented object's dynamics in (48) (a) (b) (c). The feedback control in such frictional oscillators, may be to stabilize in a robust way peculiar motions like sticking of the blocks in Fig. 44 (c), or on the contrary almost-always-sliding motions for the system in Fig. (48) (a): this depends on the application in mind. Frictional oscillators can be seen as a simplified case of more complex systems like split-belt rimless wheels [174], which in addition involve impacts. In such systems it is the belt speed difference that may be considered as the control input.

### 3.3. Jumping, Hopping, Running and Walking Robot

Let us consider the jumping robot in Fig. 6 (a), sometimes referred to as the simplest walking model [175].

#### 3.3.1. The Dynamics

It is assumed that the links' masses $m_1$ and $m_2$ are lumped at $O_1$ and $O_2$, respectively. The center of mass $G$ has coordinates $(x, y)$ in the Galilean frame $(O, i, j)$. Both tips $P_1$ and $P_2$ are potential contact/impact
<figure><img src="image_6.png" /><figcaption>Figure 6: Jumping/running/walking robots.</figcaption></figure>

points, with associated gap functions $h_1(q)$ and $h_2(q)$, and Coulomb's friction. The system has four DoF (when airborne), the torque applied at the joint $C$ is $\tau$, and the generalized coordinate vector is chosen as $q = (x, y, \theta_1, \theta_2)^\top$. Notations are: $||CO_1|| = l_1$, $||CO_2|| = l_2$, $||O_1P_1|| = l_3$, $||O_2P_2|| = l_4$. The dynamics are given as:

$$ 
\left\{
\begin{array}{l}
(m_1 + m_2)\ddot{x} = \lambda_{t,1} + \lambda_{t,2}, \\
(m_1 + m_2)\ddot{y} = \lambda_{n,1} + \lambda_{n,2} - (m_1 + m_2)g, \\
\frac{m_1 m_2}{m_1 + m_2} (l_1^2 \ddot{\theta}_1 + l_1 l_2 \sin(\theta_2 - \theta_1) \ddot{\theta}_2 + l_1 l_2 \cos(\theta_2 - \theta_1) \dot{\theta}_2^2) = \frac{\partial h}{\partial \theta_1} \lambda_n + \tau + (l_1 + l_3 - \frac{m_1 l_1}{m_1 + m_2}) \cos(\theta_1) \lambda_{t,1} \\
- \frac{m_1 l_1}{m_1 + m_2} \cos(\theta_1) \lambda_{t,2}, \\
\frac{m_1 m_2}{m_1 + m_2} (l_1 l_2 \sin(\theta_2 - \theta_1) \ddot{\theta}_1 + l_2^2 \ddot{\theta}_2 - l_1 l_2 \cos(\theta_2 - \theta_1) \dot{\theta}_1^2) = \frac{\partial h}{\partial \theta_2} \lambda_n - \tau + \frac{m_2 l_2}{m_1 + m_2} \sin(\theta_2) \lambda_{t,1} \\
- (l_2 + l_4 - \frac{m_2 l_2}{m_1 + m_2}) \sin(\theta_2) \lambda_{t,2}, \\
0 \le \lambda_{n,1} \perp h_1(q) \ge 0, \quad 0 \le \lambda_{n,2} \perp h_2(q) \ge 0, \\
h_1(q) = \frac{m_2}{m_1 + m_2} (-l_1 \cos(\theta_1) - l_2 \sin(\theta_2)) - l_3 \cos(\theta_1) + y \\
h_2(q) = \frac{m_1 l_1}{m_1 + m_2} \cos(\theta_1) + (l_2 + l_4 - \frac{m_2 l_2}{m_1 + m_2}) \sin(\theta_2) + y \\
\lambda_{t,i} \in -\mu_i \lambda_{n,i} \operatorname{sgn}(\dot{x}_{P_i}), \quad i = 1, 2.
\end{array}
\right.
\tag{49}
$$

The matrix $M(q) \in \mathbb{R}^{4 \times 4}$ is singular at $\theta_2 - \theta_1 = \pm \frac{\pi}{2}$, when the system is completely stretched or completely folded. Let $m(t) = \frac{m_1 m_2}{m_1 + m_2} (l_1^2 \dot{\theta}_1 + l_2^2 \dot{\theta}_2 + l_1 l_2 (\dot{\theta}_1 + \dot{\theta}_2) \sin(\theta_2 - \theta_1))$. When the robot is airborne ($h_1(q) > 0$ and $h_2(q) > 0$), then adding the third and fourth lines of the dynamics yields $\dot{m}(t) = 0$ hence $m(t) = m(0)$ for all $t \ge 0$, which corresponds to the conservation of the system's angular momentum with respect to the center of mass (the control torque $\tau$ is an internal torque which works on $\delta\theta_1 - \delta\theta_2$). In the general case:

$$ 
\begin{aligned}
\dot{m}(t) = & \left(\frac{\partial h}{\partial \theta_1} + \frac{\partial h}{\partial \theta_2}\right) \lambda_n + \left(\left(l_1 + l_3 - \frac{m_1 l_1}{m_1 + m_2}\right) \cos(\theta_1) + \frac{m_2 l_2}{m_1 + m_2} \sin(\theta_2)\right) \lambda_{t,1} \\
& - \left(\left(l_2 + l_4 - \frac{m_2 l_2}{m_1 + m_2}\right) \sin(\theta_2) - \frac{m_1 l_1}{m_1 + m_2} \cos(\theta_1)\right) \lambda_{t,2}
\end{aligned}
\tag{50}
$$

Therefore the angular momentum can change only through the normal and tangential multipliers action (in particular at impacts, but persistent contact also influences it). Doing the analogy with (1): $q_1 = (x, y)^\top$, and $q_2 = (\theta_1, \theta_2)^\top$, where the robot's dynamics are underactuated (the momentum conservation indicates that the airborne system has reduced controllability [176], since the state can be controlled only on the submanifold $m(\theta_1, \theta_2, \dot{\theta}_1, \dot{\theta}_2) = m(0)$). One may also choose $q_1 = (x, y, m)^\top$ as the object's uncontrolled coordinate, with a robot's dynamics involving $F_2(\theta_1, \theta_2, \dot{\theta}_1, \dot{\theta}_2)$. This does not exactly fit with (1), since $m = m(q_2, \dot{q}_2)$ so that $q = (q_1^\top, q_2^\top)^\top$ is no longer a generalized coordinate and the dynamics hence obtained is not of the Lagrange type. The angular momentum control may (or may not) be an objective [177, 25].
### 3.3.2. Comments

The dynamics in (49), with impact and friction models, can be used for modelling jumping (vertical motion of the center of mass G with contact/impact at $P_1$, or using both feet as human beings do), running (succession of bounces at $P_1$ and $P_2$, horizontal and vertical motion of G, airborne system between impacts) or walking (succession of steps with at least one tip $P_1$ or $P_2$ in persistent contact during a step, see [26, 25, 27, 28] for surveys of walking bipeds dynamics and control). Though the two-link jumper is a simplified model, the above global properties hold for more complex kinematic chains, where the center of mass' dynamics is subject only to external forces like gravity and thus plays the role of the object in (1), while the total angular momentum with respect to the center of mass is conserved when the system is airborne (as a consequence of the Fundamental Principle of Dynamics, see, e.g., [7, sect. 3.2.3], a fact noticed at least since [178] in the biped and quadruped robots literature, yielding the centroidal dynamics [29, 179, 180] [31, Equation (11)] [32, Equation (3)] [181, section III.A] [182]). In (49) the centroidal dynamics are represented by the first two equations, where the multipliers can be obtained as solutions of the CP, see section 2. The angular momentum preservation is also present in monopods with rotating nody and one leg [183, 184, 185]: a leg rotation necessarily produces a body rotation. The dynamics of a space structure as in [186, Equation (3)] fit with (1) when there are no forces acting at the satellite base, the object corresponds to the ODE of the structure's angular momentum, similarly to (50).

How to control the robot's dynamics with input $\tau$, in order to shape the multipliers to control the object, the multipliers being calculated using the contact problem (see section 2.1)? The control properties may change significantly depending on the system's topology and placement of the actuators, however. Certainly walking with only one actuator at C (the so-called compass gait [25]), is quite different from walking with ankles' actuators at $P_1$ and $P_2$, though in both cases friction plays a crucial role. In the first case, the jumper with sticking foot $P_1$ is an acrobot [187], with reduced controllability properties. In the acrobot case the robot's dynamics (1) (b) are underactuated until the next impact at $P_2$. Using the same angles $\theta_1$ and $\theta_2$, the reduced-order dynamics with totally-sticking $P_1$ and unilateral contact due to $P_2$ can be deduced from (49) (the controller has to verify constraints so that sticking persists, see section 2.1.2). The same developments hold, of course, when $P_2$ is in persistent contact and $P_1$ is airborne. It is often preferred in the Biped Locomotion scientific community, to derive the angular momentum of the system with respect to its center of mass $H_{S/G}$ [25, 188], and to combine it with the Newton dynamics at G. Whether or not, and how, the angular momentum could be controlled, is still discussed. The transformation based on (12) (see section 2.3) can be applied when $P_1$ and/or $P_2$ are sticking.

### 3.3.3. Hoppers and Jugglers

Consider (28), and choose $z_1 = q_1$, $z_2 = q_1 - q_2$. Let $m = \frac{m_1}{m_2}$, $\bar{m}_1 = \frac{1}{m_1}$, $\bar{m}_2 = \frac{1}{m_2}$, $\tau = m_2g + \bar{\tau}$. Then (28) becomes:

$$ 
\left\{ 
\begin{array}{l}
\ddot{z}_1 + g = \bar{m}_1 \lambda_n \\
\ddot{z}_2 = -(1+m)\bar{m}_1 \lambda_n + \bar{m}_2 \bar{\tau} \\
0 \le \lambda_n \perp h(q) = q_1 - q_2 \ge 0 \\
\dot{z}_2(t_k^+) = -e_n \dot{z}_2(t_k^-) \text{ if } z_2(t_k) = 0 \text{ and } \dot{z}_2(t_k^-) \le 0.
\end{array}
\right. 
\qquad (51) 
$$

Consider now the one-DoF hopper in Fig. 6 (b). Its dynamics in the coordinates $(z_1, z_2)$ with $z_2 = y_2$ and $z_1 = \frac{m_1}{m_1+m_2}y_1 + \frac{m_2}{m_1+m_2}y_2$, $\bar{m}_1 = \frac{1}{m_1+m_2}$, are the same as those of the one-DoF juggler in (28) [15, Remark 1]. This is a motivation to transfer the results obtained for the one-DoF juggler as in section 3.1 and [151],
to the hopper, and vice-versa as alluded to above, this analogy is extended in [70] to bipedal locomotion and juggling systems, with a common control strategy). More complex jumping robots with 6 DoF and nonlinear dynamics can be recast directly into (1), see [189, Equations (4)-(10)]. The analogy between running bipeds and juggling systems, which both consist of controlling the “object” apex height [190], is clear. Hoppers and jugglers relationships are pointed out in [191, 15]. Hoppers can be inertially actuated using springs which store potential energy and release it quickly [192, 193] and thus recast in section 3.5. Various types of internal mechanisms for creating hopping motions have been designed [193, Table I]. Passive hoppers and jugglers (with same dynamics) are studied in [194].

### 3.4. The Ringing Bell

Let us consider the ringing bell in Fig. 7. Its dynamics are given by:

$$ 
\left\{
\begin{aligned}
& (m_1 l_1^2 + m_2 l_3^2) \ddot{\theta}_1 + m_2 l_2 l_3 \cos(\theta_1 - \theta_2) \ddot{\theta}_2 + m_2 l_2 l_3 \sin(\theta_1 - \theta_2) \dot{\theta}_2^2 + m_1 l_1 g \sin(\theta_1) \\
& = \tau_1 + \tau_2 + \frac{\partial h_1}{\partial \theta_1} \lambda_{n,1} + \frac{\partial h_2}{\partial \theta_1} \lambda_{n,2} \\
& m_2 l_2 l_3 \cos(\theta_1 - \theta_2) \ddot{\theta}_1 + m_2 l_2^2 \ddot{\theta}_2 - m_2 l_2 l_3 \sin(\theta_1 - \theta_2) \dot{\theta}_1^2 + m_2 (l_1 \sin(\theta_1) + l_2 \sin(\theta_2)) g \\
& = -\tau_2 + \frac{\partial h_1}{\partial \theta_2} \lambda_{n,1} + \frac{\partial h_2}{\partial \theta_2} \lambda_{n,2} \\
& 0 \le \lambda_{n,1} \perp h_1(q) = l_4 + l_2 \sin(\theta_1 - \theta_2) \ge 0 \\
& 0 \le \lambda_{n,2} \perp h_2(q) = l_4 + l_2 \sin(\theta_2 - \theta_1) \ge 0,
\end{aligned}
\right.
\quad (52) $$

Let $||OC|| = l_3$, $||CG_2|| = l_2$, $||OG_1|| = l_1$, $G_1$ is the bell's body center of mass, $G_2$ is the clapper's center of mass (its mass is supposed to be concentrated at $G_2$). The torque $\tau_2$ is an internal action. The system's angular momentum with respect to the joint O is denoted $H_{S/O}$. It satisfies:

$$ \frac{d}{dt} H_O = \tau_1 - m_1 l_1 g \sin(\theta_1) - m_2 (l_1 \sin(\theta_1) + l_2 \sin(\theta_2)) g. \quad (53) $$

It does not depend on the contact/impact forces which are internal actions. Let now $\tau_2 = 0$. If the body and the clapper have the same attachment point, i.e., $C = O$ and $l_3 = 0$, then the bell's dynamics are (see [195] for a more complete model):

$$ 
\left\{
\begin{aligned}
& (a) m_1 l_1 (l_1 \ddot{\theta}_1 + g \sin(\theta_1)) = \tau_1 + \left(\frac{\partial h_1}{\partial \theta_1}, \frac{\partial h_2}{\partial \theta_1}\right) \lambda_n \\
& (b) \dot{H}_{S/O} = \tau_1 - m_1 l_1 g \sin(\theta_1) - m_2 (l_1 \sin(\theta_1) + l_2 \sin(\theta_2)) g \\
& (c) m_2 l_2^2 \ddot{\theta}_2 + m_2 (l_1 \sin(\theta_1) + l_2 \sin(\theta_2)) g = \left(\frac{\partial h_1}{\partial \theta_2}, \frac{\partial h_2}{\partial \theta_2}\right) \lambda_n \\
& 0 \le \lambda_{n,1} \perp h_1(q) = l_4 + l_2 \sin(\theta_1 - \theta_2) \ge 0 \\
& 0 \le \lambda_{n,2} \perp h_2(q) = l_4 + l_2 \sin(\theta_2 - \theta_1) \ge 0
\end{aligned}
\right.
\quad (54) $$

It is inferred that (54) (a) (b) is an underactuated controlled dynamics, while (54) (c) is uncontrolled. Though this is not the canonical form (1), this may be named a pseudo robot-object system, see section 3.9 for another example.

### 3.5. Inertially Driven Machines

Inertially driven machines are robots equipped with internal mechanisms which modify their inertial properties in order to produce motion thanks to the constraints, hence their gravity center is unactuated (they can be seen as extensions of underactuated robots like the acrobot and pendubot, see (C.1)). Contrarily to self-propelled capsules (section 3.8) the internal mechanisms are not vibro-impact systems, they aim at modifying the configuration in a cat-like way, i.e., controlling (1) (b) when $\lambda_n = 0$, $\lambda_t = 0$, while (1) (a)
<figure><img src="image_7.png" /><figcaption>Figure 7: The ringing bell.</figcaption></figure>

evolves freely, while some quantities are conserved, like the momentum for (49) (50) (hence significantly different from the robot part of (55) or (65), for instance). They may also be used in persistent contact with friction: the internal mechanism is meant to act on some velocities in order to produce suitable inertial forces (Coriolis or centripetal) which in turn act on the remaining coordinates so that motion is controlled. They have received some attention in the literature [196, 197, 198, 189, 199, 200, 201, 202, 203, 204, 192, 205, 206, 207] [205, Table I], and it is recognized that they also can be used in biped locomotion during flight phases to improve the stability [208]. The fact that they belong to robot-object systems was already noticed in [2, section 8.7.1]. The one-DoF hopper in Fig. 6 (b) belongs to this class, and we have seen in section 3.3.3 that it can be recast into the one-DoF juggling system after a suitable transformation. The hopper+spinners dynamics in [189, equations (4)–(10)] fit with (1) (a) (b) in airborne mode ($\lambda_n = 0$ and $\lambda_t = 0$).

Once the dynamics as (1) are obtained, the fact that the control $\tau$ actuates an additional mechanism that is meant to produce inertial effects (and is thus not *per se* part of the main system itself, like added spinners in [189]), or that it actuates joints (like in a biped robot), may not be a fundamental issue. All that one has to pay attention to, are the controllability properties of the resulting robot dynamics (1) (b). The interesting question, is whether or not the controllability properties (taken here in a broad sense) are better with joint actuators or with added inertial mechanisms.

The case of spherical robots (also named Chaplygin's spheres) has received attention in [209, 210, 211, 212, 213]. They are inertially driven machines whose goal is to roll without slipping in all directions. The dynamics of a spherical robot with internal omniwheel action in [209, Equation (4.1)] exactly fit with (1). It is shown in [213, Equations (2.21) (2.22)] that the sticking dynamics can be reduced, eliminating contact multipliers and using angular momentum conservation, to (1) (a) (b) without contact forces: $\ddot{q}_1 = 0, \ddot{q}_2 = \tau$. It is assumed that the frictional contact is always sticking (creating a nonholonomic bilateral constraint as in (12)), and this makes the major difference between these studies and the ones just above, as well as with self-propelled capsules in section 3.8. Hence the dynamics (17) are analyzed. Many different internal mechanisms have been imagined [83].

Further examples are presented in Appendix C, see Fig. 20 (b) (c) (d).
### 3.6. Manipulation Systems

Manipulation of objects can be dexterous, prehensile, nonprehensile, grasping, etc, depending on the objectives of the task and on the type of controlled robot.

<figure><img src="image_8.png" /><figcaption>Figure 8: Manipulation with collisions.</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>Figure 9: Prehensile manipulation.</figcaption></figure>

#### 3.6.1. Manipulation through Collisions

Let us consider the manipulation system in Fig. 8, which is a simple example of impulsive manipulation [214, 113, 112] (the systems in Fig. 3 (b) and 5 can also be used on that purpose). The contacts are modeled by linear springs instead of unilateral constraints. The springs have lengths $l_1$ and $l_2$ at rest. Friction acts between mass $m_3$ and the ground, with coefficient $\mu_3 \ge 0$. The dynamics are given by the LCS:

$$ 
\left\{ 
\begin{array}{l}
m_1 \ddot{x}_1 = \lambda_{n,1} + \tau_1 \\
m_2 \ddot{x}_2 = -\lambda_{n,2} + \tau_2 \\
m_3 \ddot{x}_3 = -\lambda_{n,1} + \lambda_{n,2} + \lambda_{t,3} \\
0 \le \lambda_{n,1} \perp \lambda_{n,1} - k_1(x_1 + l_1 - x_3 + L) \ge 0 \\
0 \le \lambda_{n,2} \perp \lambda_{n,2} - k_2(x_3 + L - x_2 + l_2) \ge 0 \\
\lambda_{t,3} \in -\mu_3 m_3 g \operatorname{sgn}(\dot{x}_3).
\end{array}
\right. 
\qquad (55) 
$$

Defining $q_1 = x_3$, $q_2 = (x_2, x_3)^\top$ allows to recast the dynamics into (1). Using Convex Analysis (see (3) and (4)), it follows that (55) is equivalently rewritten as

$$ 
\left\{ 
\begin{array}{l}
m_1 \ddot{x}_1 = \operatorname{proj}[\mathbb{R}_+; k_1(x_1 + l_1 - x_3 + L)] + \tau_1 \\
m_2 \ddot{x}_2 = -\operatorname{proj}[\mathbb{R}_+; k_2(x_3 + L - x_2 + l_2)] + \tau_2 \\
m_3 \ddot{x}_3 = -\operatorname{proj}[\mathbb{R}_+; k_1(x_1 + l_1 - x_3 + L)] + \operatorname{proj}[\mathbb{R}_+; k_2(x_3 + L - x_2 + l_2)] + \lambda_{t,3} \\
\lambda_{t,3} \in -\mu_3 m_3 g \operatorname{sgn}(\dot{x}_3).
\end{array}
\right. 
\qquad (56) 
$$

which is a standard Filippov's DI with a Lipschitz continuous single-valued right-hand side. Actually (56) is the counterpart of (6).
**Remark 5.** This example and the self-propelled capsule in Fig. 12 (b) illustrate the fact that complementarity systems encompass also compliant contact/impact [6, Chapter 2][5, 215]. Then the complementarity conditions in (1) have to be modified with $h(q_1, q_2, \lambda_n)$. Hence (1) can be used for modeling the manipulation of deformable objects [216] (as long as the basic assumptions for complementarity hold [6, sect. 5.4]). Hopping machines have most of the time been modeled with compliant spring-dashpot models [62, 181, 217, 192] (named spring-loaded inverted pendulum SLIP). Encapsulating it into a complementarity framework is doable. Moreover considering a rigid contact yields a nonsmooth potential function (an indicator function), and may pave the way towards the extension of energy and power-based modeling [218] in a nonsmooth framework.

Let us assume now that $m_1 = m_2 = 0$, massless springs, and the springs' positions are imposed as $x_i(t) = u_i(t)$, $i = 1, 2$. The dynamics are given by:

$$ 
\begin{aligned}
m_2 \ddot{x}_3 &= -\lambda_{n,1} + \lambda_{n,2} + \lambda_{t,3} \\
0 &\le \lambda_{n,1} \perp \lambda_{n,1} - k_1(u_1(t) + l_1 - x_3 + L) \ge 0 \\
0 &\le \lambda_{n,2} \perp \lambda_{n,2} - k_2(x_3 + L - u_2(t) + l_2) \ge 0 \\
\lambda_{t,3} &\in -\mu_3 m_3 g \operatorname{sgn}(\dot{x}_3).
\end{aligned} 
\quad (57) 
$$

This system has no robot's dynamics (1) (b), and the controllers $u_1(\cdot)$ and $u_2(\cdot)$ enter the complementarity variable $h(q, \lambda_n, u(t))$. Using again the equivalence between (3) and (4), it appears that the system in (57) is nonsmooth nonlinear (PWL) in the input, equivalently rewritten as:

$$ m_2 \ddot{x}_3 \in -\max(0, -k_1(u_1(t) + l_1 - x_3 + L)) + \max(0, -k_2(x_3 + L - u_2(t) + l_2) - \mu_3 m_3 g \operatorname{sgn}(\dot{x}_3)). \quad (58) $$

**Comments.** We have seen in the introduction that complementarity conditions are associated with a non-smooth potential function (the indicator of the admissible domain $\Phi$ of the configuration space). This means that $\lambda_n \in -\partial U_{\text{unit}}(q) = -\mathcal{N}_{\Phi}(q)$. In case of the above compliant unilateral contact, we have $\lambda_n \in -(I_m + \partial \Psi_{\mathbb{R}_+^m}^{-1})^{-1}(h(q))$. The mapping $(I_m + \partial \Psi_{\mathbb{R}_+^m}^{-1})^{-1}(\cdot)$ is single-valued maximal monotone, hence its inverse $(I_m + \partial \Psi_{\mathbb{R}_+^m}^{-1})(\cdot)$ is maximal monotone as well, and set-valued. The inverse is the sum of two maximal monotone operators, which are the subdifferential of proper, convex, lower semicontinuous functions. From [219, Theorem 23.8], the sum is itself the subdifferential of a proper, convex and lower semicontinuous function $g(\cdot)$. Hence $(I_m + \partial \Psi_{\mathbb{R}_+^m}^{-1})^{-1}(\cdot) = (\partial g)^{-1}(\cdot) = \partial g^*(\cdot)$, where $g^*(\cdot)$ is the conjugate function of $g(\cdot)$. Therefore $\nabla h(q)\lambda_n \in -\nabla h(q)\partial g^*(h(q)) = \partial(g^* \circ h)(q)$, which defines the nonsmooth potential from which the contact force derives. The dribbling system in Fig. 3 (c) is another variant of (55).

### 3.6.2. Prehensile Manipulation

Let us consider the simple manipulation system in Fig. 9, with $m \ge 1$ fingers. When $m$ is large enough, grasping yields specific notions like form closure ($\mu_i = 0$ and rank$\frac{\partial h}{\partial q_1} = n_1 \le m - 1$ [220, sect. 12.1], to insure $F_1(q_1, 0, t) = \frac{\partial h}{\partial q_1} \lambda_n$ for any $F_1(q_1, 0, t)$, and $\lambda_n \ge 0$), force closure ($\mu_i > 0$, $1 \le i \le m$ [220, sect. 12.2.3]), and caging [16, 221]. The dynamics perfectly fit within (1), where the object is itself ($n_1 = 3$ for 2D objects, $n_1 = 6$ for 3D objects), and the robot gathers all the “fingers”. We see that one difference between (49) (50) and manipulation, lies in the object's state definition.

### 3.6.3. Nonprehensile Manipulation by Friction

Objects can be manipulated in a nonprehensile way using impacts with a robot (see section 3.6.1), but also using only friction as in Fig. 10 (b) (just as for the system in Fig. 5 (b)) [163], as in rolling manipulation [222, 98]. In such applications, sticking and slipping modes have to be carefully modeled,
<figure><img src="image_10.png" /><figcaption>Figure 10: Nonprehensile manipulation: (a) juggling, (b) sticking/slipping/rolling.</figcaption></figure>

yielding necessarily set-valued friction (friction cone). The case of the juggler in Fig. 10 (a) with periodic trajectories with impacts has been studied, e.g., in [223]. The nonprehensile control system studied in [224] is a 3D version of Fig. 10. It typically belongs to (1) with persistent contact, i.e., it is assumed that $\lambda_n(t) > 0$ for all $t \ge 0$.

Dynamics. They are given by:

$$ egin{cases} 
(a) \ m_1 \ddot{x} = -\sin(\theta)\lambda_n - \cos(\theta)\lambda_t \\ 
(b) \ m_1 \ddot{y} = \cos(\theta)\lambda_n - \sin(\theta)\lambda_t - m_1 g \\ 
(c) \ I \ddot{\theta} = (-x \cos(\theta) - y \sin(\theta))\lambda_n - m_1 g \cos(\theta)(x \cos(\theta) + y \sin(\theta)) + \tau \\ 
0 \le \lambda_n \perp h(q) = -x \sin(\theta) + y \cos(\theta) \ge 0 \\ 
\lambda_t \in -\mu\lambda_n \operatorname{sgn}(v_t), \quad v_t = -\dot{x} \cos(\theta) - \dot{y} \sin(\theta), 
\end{cases} 
\quad (59) $$

where $I$ is the table's moment of inertia.

All-sticking conditions. Let $h(q(0)) = 0$, $\dot{h}(q(0), \dot{q}(0)) = 0$, $v_t = 0$. Persistent contact holds if $\lambda_n > 0$, which implies using the CP (see section 2.1):

$$ egin{aligned} 0 \le \lambda_n \perp \ddot{h}(q) = & \left( \frac{1}{m_1} + \frac{1}{I} (x \cos(\theta) + y \sin(\theta))^2 \right) \lambda_n \\ & + g \left( -\cos(\theta) + \frac{m_1}{I} (x \cos(\theta) + y \sin(\theta))^2 \cos(\theta) \right) - \frac{1}{I} (x \cos(\theta) + y \sin(\theta)) \tau \ge 0. \end{aligned} 
\quad (60) $$

This contact LCP always has a unique solution $\lambda_n$, and it provides the constraint to be satisfied by $\tau$ so that persistent contact holds (this is an extension of the constraint derived in section 3.1.2):

$$ g \left( -\cos(\theta) + \frac{m_1}{I} (x \cos(\theta) + y \sin(\theta))^2 \cos(\theta) \right) - \frac{1}{I} (x \cos(\theta) + y \sin(\theta)) \tau < 0. 
\quad (61) $$

Tangential sticking persists if and only if $\dot{v}_t = 0$, i.e.:

$$ \dot{v}_t = \frac{1}{m_1} \lambda_t + g \sin(\theta) + \dot{x} \dot{\theta} \sin(\theta) - \dot{y} \dot{\theta} \cos(\theta) = 0. 
\quad (62) $$

Normal sticking holds if and only if (5) holds, where $G(q, \dot{q}, t) + \tilde{\tau} = g(-\cos(\theta) + \frac{m_1}{I}(x \cos(\theta) + y \sin(\theta))^2 \cos(\theta)) - \frac{1}{I}(x \cos(\theta) + y \sin(\theta))\tau = f(q) - g(q)\tau$. Hence the inclusion $\lambda_t \in [-\mu\lambda_n, \mu\lambda_n]$ and (62) furnish a second constraint to be fulfilled by $\tau$:

$$ d(q) \triangleq m_1(g \sin(\theta) + \dot{x}\dot{\theta} \sin(\theta) - \dot{y}\dot{\theta} \cos(\theta)) \in \mu D_{nn}(q)^{-1}(f(q) - g(q)\tau) [-1, 1], 
\quad (63) $$

which yields if $g(q) > 0$ (this holds if the puck is in the first quadrant and $\theta \in [0, \frac{\pi}{2}]$):

$$ \tau < \frac{f(q)}{g(q)} - \frac{1}{\mu} D_{nn}(q) \frac{|d(q)|}{g(q)}. 
\quad (64) $$

The inequalities in (61) and (64) are the two constraints to be satisfied by the robot's input $\tau$ so that total sticking of the object on the table holds. See section 2.1.2 for general derivations.
*Comments.* The object in (59) (a) (b) is controllable with input $(\lambda_n, \lambda_t)$ since the “input” matrix has full rank 1. The robot in (59) (c) is controllable with input $\tau$. However controllability may not hold due to input constraints, and contact controllability [3] is a better notion. The control design may be tackled with a backstepping approach as alluded to above: 1) design desired multipliers, 2) use the contact problem to deduce the controller $\tau$, 3) check the constraints. This is the design approach in [224]. The prehensile manipulation in Fig. 9 certainly allows for more all-sticking object’s motions, since $m$ is larger (the object is over-controllable with the multipliers) as well as $n_2$. Interestingly, the cable-driven rocking block studied in [225] may be situated in-between frictional oscillators (section 3.2) and nonprehensile manipulation. The cables are actuated (robot) while the block (object) is subjected to ground interaction and interaction with the cables. As discussed in [6, Example 1.6, Remark 8.7], nonextensible cables can be modeled with complementarity and the control problem is specific. The manipulation system analysed in [226] belongs to the same class. See also Remark 7. Manipulation of floating objects is another example of manipulation with cables [77], which can also be realized by direct contact between the tugboats and the object (e.g., another vessel). In view of the masses of the various components, taking into account impacts between the object and the robot, may be quite important [77, section 5] (while classical manipulation with a hand may be tackled in a quasi-static framework if the fingers are very light).

### 3.7. Dimer (vibration-driven) Locomotion

<figure><img src="image_11.png" /><figcaption>Figure 11: A 2-dimensional dimer.</figcaption></figure>

Let us consider the dimer bouncing on a vibrating table, with Coulomb’s friction at contacts. This is another extension of the one-DoF juggler in Fig. 3 (a). Several studies have been led which prove that under sinusoidal $y_1(t)$, the dimer can have different trajectories: jumping vertically, jumping in forward or in backward horizontal motion [227, 228, 103, 229]. The two balls with radii $r_2$ and $r_3$ are related by a massless rigid rod, $||G_2G_3|| = l$, $q = (x, y, \theta, y_1)^T$, $x$ and $y$ are the dimer’s center of mass coordinates. Its
dynamics are given by:

$$
\left\{
\begin{array}{ll}
(a) & (m_2 + m_3)\ddot{x} = \lambda_{t,2} + \lambda_{t,3} \\
(b) & (m_2 + m_3)\ddot{y} = -(m_2 + m_3)g + \lambda_{n,2} + \lambda_{n,3} \\
(c) & m_2 m_3 l^2 \ddot{\theta} = -m_3 l \cos(\theta) \lambda_{n,2} + m_2 l \cos(\theta) \lambda_{n,3} + m_3 l \sin(\theta) \lambda_{t,2} - m_2 l \sin(\theta) \lambda_{t,3} \\
(d) & m_1 \ddot{y}_1 = -m_1 g + \tau - \lambda_{n,2} - \lambda_{n,3} \\
\text{and } & 0 \le \lambda_{n,2} \perp h_2(q) = y - y_1 - \frac{m_3}{m_2+m_3} l \sin(\theta) \ge 0 \\
\text{and } & 0 \le \lambda_{n,3} \perp h_3(q) = y - y_1 + \frac{m_2}{m_2+m_3} l \sin(\theta) \ge 0 \\
v_{t,2} = \dot{x} + \frac{m_3}{m_2+m_3} l \dot{\theta} \sin(\theta), v_{t,3} = \dot{x} - \frac{m_2}{m_2+m_3} l \dot{\theta} \sin(\theta) \\
\lambda_{t,i} \in -\mu_i \lambda_{n,i} \operatorname{sgn}(v_{t,i}), i = 2, 3
\end{array}
\right.
\qquad (65)
$$

where $y_{P_2} - y_1 = h_2(q)$, $y_{P_3} - y_1 = h_3(q)$, $q_1 = (x, y, \theta)^\top$. If the dimer impacts sequentially at $P_2$ and $P_3$, the percussions $p_{n,2}(t_k)$ and $p_{n,3}(t_k)$ can be considered as independent inputs, which act in both normal and tangential directions due to friction. Then the object in (65) (a)-(c) has two independent inputs. When both contacts are persistent, then $\theta = \arcsin(\frac{r_3-r_2}{l})$, $\dot{\theta} = 0$ and $v_{t,2} = v_{t,3} = \dot{x}$, and $\ddot{\theta} = 0$ so that $-m_3 \cos(\theta)\lambda_{n,2} + m_2 \cos(\theta)\lambda_{n,3} + m_3 \sin(\theta)\lambda_{t,2} - m_2 \sin(\theta)\lambda_{t,3} = 0$. Assume that both contacts slide, hence $\lambda_{t,2} = -\mu_2\lambda_{n,2}\xi$, $\lambda_{t,3} = -\mu_3\lambda_{n,3}\xi$, $\xi = \operatorname{sgn}(\dot{x})$. Thus $-m_3(\cos(\theta) + \mu_2 \sin(\theta))\lambda_{n,2} + m_2(\cos(\theta) + \mu_3 \sin(\theta))\lambda_{n,3} = 0$. Assume $\cos(\theta) + \mu_2 \sin(\theta) \neq 0$, then $\lambda_{n,2} = \frac{m_2(\cos(\theta)+\mu_3 \sin(\theta))}{m_3(\cos(\theta)+\mu_2 \sin(\theta))}\lambda_{n,3}$. Also persistent contact at both contact points implies $\dot{y} = 0$ and $\ddot{y} = 0$ so that $(m_2 + m_3)g = \lambda_{n,2} + \lambda_{n,3} = \left(\frac{m_2(\cos(\theta)+\mu_3 \sin(\theta))}{m_3(\cos(\theta)+\mu_2 \sin(\theta))} + 1\right)\lambda_{n,3}$. Hence $\lambda_{n,3}$ is positive constant, so is $\lambda_{n,2}$, and $\lambda_{t,2} + \lambda_{t,3}$ is proportional to $\operatorname{sgn}(\dot{x})$: if $\dot{x}(0) \neq 0$, the system converges in a finite time to $\dot{x} = 0$.

This simple analysis shows that the contact problem (see section 2.1) can modify significantly the object's controllability from the multipliers. The rigid dimer is not suitable for control without impacts, it is to be considered as a vibro-impact system.

3.8. Crawling machines with internal control action

<figure><img src="image_12.png" /><figcaption>Figure 12: (a) A simple crawling machine and (b) a self-propelled capsule.</figcaption></figure>

Some devices are designed such that they can achieve locomotion through internal forces or torques,
where the primary effect that allows for the object's motion is friction. As such they belong to inertially
driven robots (section 3.5), but only frictional effects act between the robot and the object. Snake robots,
self-propelled capsules belong to this class of robot-object systems [230, 231, 35, 232, 233, 234, 105, 104,
37, 121, 235], which are able to be controlled in stationary, forward and/or backward motions. A simplified
crawling robot is depicted in Fig. 12 (a). Assume to simplify that the contact is persistent. The center of
mass coordinate is $q_1 = \frac{m_1x_1+m_2x_2+m_3x_3}{m_1+m_2+m_3}$. Letting $q_2 = (x_2, x_3)$, the dynamics are:

$$ 
\left\{ 
\begin{array}{l}
(m_1 + m_2 + m_3)\ddot{q}_1 = (1, 1, 1)\lambda_t \\
\begin{pmatrix} m_2 & 0 \\ 0 & m_3 \end{pmatrix} \ddot{q}_2 = \begin{pmatrix} -1 & -1 \\ 0 & 1 \end{pmatrix} \tau + \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \lambda_t \\
\lambda_{t,1} \in -\mu_1 m_1 g \operatorname{sgn}((m_1 + m_2 + m_3)\dot{q}_1 - (m_2, m_3)\dot{q}_2) \\
\lambda_{t,i} \in -\mu_i m_i g \operatorname{sgn}(\dot{x}_i), \quad i = 2, 3,
\end{array}
\right. 
\qquad (66) 
$$

with $\lambda_t = (\lambda_{t,1}, \lambda_{t,2}, \lambda_{t,3})^T$. Plastic impacts representing minimum and maximum extensions with masses swapping can be introduced [232]. The dynamics of a self-propelled capsule with internal control action $\tau$ [231] depicted in Fig. 12 (b) are given after transformations by:

$$ 
\left\{ 
\begin{array}{l}
m_1 \ddot{x}_1 + m_2 \ddot{x}_2 = -\lambda_t \\
m_2 \ddot{x}_2 = \tau + k_1(x_1 - x_2) + k_2(x_1 - x_2)^3 + c(\dot{x}_1 - \dot{x}_2) + \lambda_n - \lambda_t \\
\lambda_t \in -\mu(m_1 + m_2)g \operatorname{sgn}(\dot{x}_2) \\
0 \le \lambda_n \perp \lambda_n - k_3(x_1 - x_2 - l) \ge 0
\end{array}
\right. 
\qquad (67) 
$$

where $x_1$ and $x_2$ are the coordinates of the internal mass $m_1$ and of the frame body with mass $m_2$, in a Cartesian frame, $l > 0$ is the gap when springs are at rest, $\mu > 0$ is the friction coefficient between the frame body and the ground, $k_1 > 0$, $k_2 > 0$ accounts for nonlinear spring. Here we may choose $q_1 = \frac{m_1x_1+m_2x_2}{m_1+m_2}$, $q_2 = x_2$ to fit with (1), getting the object's dynamics $(m_1+m_2)\ddot{q}_1 = -\lambda_t$. Some rotating unbalanced devices can be designed so that the capsule could also detach from the ground, hence impacts between the body and the ground should be modelled as well. In such a case, the system's angular momentum with respect to its centre of mass is conserved during airborne phases of motion, similarly to (49). In microrobots the input $\tau$ in (67) is implemented with wireless resonant magnetic microactuators [104].

**Remark 6.** For the systems in both sections 3.7 and 3.8, it is emphasized in relevant literature that anisotropic Coulomb's friction is a crucial property for locomotion. This is also the case for snake robots [236, 237].

*Comments.* Let us compare (65) with (66) or (67). While horizontal motion in persistent contact is possible for (66) or (67) (the robot's state enters friction), this is not possible for (65) if both contacts are in the all-sticking mode. Indeed let persistent contact hold, then $\dot{x}$ vanishes in finite time for any $\dot{x}(0)$ (see section 3.7). On the contrary in (66) or (67) the robot's state enters the friction force. It does also in (48) with $\Omega$, but it does not in (44): the state of the mass can be controlled only through $\lambda_n$. Consider the system in (49), we have $\dot{x}_{P_1} = \dot{x} + (l_1 + l_3 - \frac{m_1l_1}{m_1+m_2})\dot{\theta}_1 \cos(\theta_1) + \frac{m_2l_2}{m_1+m_2}\dot{\theta}_2 \sin(\theta_2)$. Hence the robot's state enters friction force during all-sticking phases (but the robot itself is underactuated). This short analysis indicates very different behaviours, depending on $H_t^2(q)$ in (12). Let us notice also a big difference between (65) and (67): while the former can move backward, forward or be stationary under sinusoidal excitation [227, 103] (depending on the kinetic angle between the two unilateral constraints), the latter can only move forward or stay stationary [105]. Is this due to impacts, or to the friction model (same or different static and sliding coefficients of friction) ?

### 3.9. Climbing Machines

There are basically two types of climbing robots that can be recast in (1): primate-like (which use some interlock strategy very close to form closure in manipulation) [238], and snake-like (which use bark furrows
to stick) [34, 66, 67]. A 4-leg planar primate-like robot is depicted in Fig. 13 (a), where the legs are clamped to the central body. Let $q_1 = (X, Y)^\top$ be the system's center of mass coordinates, $q_2 = (x, y, \theta_0, \theta_{ij})^\top \in \mathbb{R}^{14}$, with arms' angles $\theta_{ij}$, $1 \le i \le 4$, $\theta_0$ is the body's angle, $(x, y)$ are the body's CoM coordinates, $\tau \in \mathbb{R}^{11}$ are the joints' torques, $X = \mathcal{X}(q_2)$, $Y = \mathcal{Y}(q_2)$, the signed distances are $h_i(q_2)$, $1 \le i \le 4$. The dynamics are given by:

$$ \left\{ \begin{array}{l} (a) \quad M_1 \ddot{q}_1 = \begin{pmatrix} 0 \\ -Mg \end{pmatrix} + \frac{\partial h}{\partial q_1}^\top \lambda_n + H_t^1(q) \lambda_t \\ (b) \quad M_2(q_2) \ddot{q}_2 + F_2(q_2, \dot{q}_2) = E \tau + \frac{\partial h}{\partial q_2}^\top \lambda_n + H_t^2(q_2) \lambda_t \\ \qquad 0 \le h_i(q_2) \perp \lambda_{n,i} \ge 0, \quad 1 \le i \le 4, \\ \qquad \lambda_{t,i} \in -\mu_i \lambda_{n,i} \operatorname{sgn}(v_{t,i}), \quad 1 \le i \le 4. \end{array} \right. \qquad (68) $$

The CoM dynamics are in (68) (a). The matrix $E$ is nontrivial and reflects the fact that the control torques $\tau_i$ work on $\theta_{i1} - \theta_0$. Notice that (68) (b), which is the system's total Lagrange dynamics with minimal set of coordinates $q_2$, contains, in addition to the CoM's dynamics (expressed in the $q_2$ coordinates), the dynamics of the system's angular momentum with respect to its center of mass, which is conserved if no contact is active, and could also be part of the object's dynamics, hence obtaining a pseudo robot-object system (similarly to the robot in Fig. 6 (a), section 3.3.1). The robot in Fig. 13 (b) is simpler, since the $x$ motion is fixed by a prismatic joint on the main body. Let $G$ be the system's CoM. The object's dynamics is $(m_0 + m_1 + m_2)\ddot{y}_G = -(m_0 + m_1 + m_2)g + H_t^y(q_2)\lambda_t$. The robot's dynamics have the coordinate $q_2 = (\theta_1, \theta_2)^\top$, $E\tau = (0, \tau_1, \tau_2)^\top$.

**Comments.** The dynamics in (68) are redundant since the CoM dynamics in (a) can also be deduced from (b) by differentiating $\mathcal{X}(q_2)$ and $Y = \mathcal{Y}(q_2)$ twice. This does not a priori prevent the application of the backstepping algorithm to control (68) (a) through the multipliers. It is a general fact that the set of coordinates $(q_1, q_2)$ in (1) needs not be minimal. Such a climbing robot is a kind of quadruped, with a specific morphology and a specific dynamics (it falls down indefinitely if less than two antagonist contacts are activated). What are the differences and common features between climbers and manipulation systems (sections 3.6.2 and 3.6.3)? In which case do notions like force and form closure apply to (68) (clearly form closure does not apply to the system in Fig. 13 where friction is necessary to avoid falling down)? Is such a climbing robot closer to a running/walking quadruped, or to a prehensile manipulation system? The robot in Fig. 13 (b) is not an inertially driven system (see section 3.5), because the motion of the limbs does not influence, when contacts are deactivated, the CoM's vertical motion. The robot's dynamics are fully actuated, as it is for several systems presented above (see (28), (40), (41), (48), (59)). Can the robot in Fig. 13 (b) climb? Or can it just go downwards? Does this depend on the initial angles of the limbs? Should we consider telescopic limbs with varying lengths? The similarity between this climbing robot and the crawling machine in (66) is obvious. It would be interesting to analyse all these simple systems more closely to determine accurately which are their discrepancies/common features.

### 3.10. Joint Clearance (Dynamic Backlash)

The dynamics and control of kinematic chains and of machine tools with joint clearance has received considerable attention in the Nonlinear Dynamics, Mechanical Engineering and the Automatic Control scientific communities, see [239, 3, 79, 39, 38, 40, 41, 42, 43, 44, 45, 78] to cite a few. The impacting pair in Fig. 14 (b) has long been recognized as the basic “element” for modelling mechanical play [41], and it
<figure><img src="image_13.png" /><figcaption>Figure 13: Climbing robots.</figcaption></figure>

<figure><img src="image_14.png" /><figcaption>Figure 14: (a) 4-bar mechanism with joint clearance in two revolute joints. (b) Typical clearance in machine tools (impacting pair, impact damper, vibro-impact energy sink).</figcaption></figure>

can well model clearances in machine tools with translational elements [240, 241] (the presence of clearances has long been known as a performance limitation in machines tools [39, 38]), clearances in gear trains [242]. It is also used in juggling/catching tasks to improve the system's robustness [139]. The impacting pair encapsulates similar dynamical effects as the drive-train systems [239, 3, 79], and it has also been used for energy sink and damping applications in the Nonlinear Dynamics scientific community, see [6, section 7.3], with possible feedback (named active control in this scientific literature) to increase its performance [243]. Applications are in building control under earthquakes excitations [244, 245]. Its dynamics are easily cast into (1):

$$ 
\left\{ 
\begin{array}{l}
m_1 \ddot{q}_1 = \lambda_{n,1} - \lambda_{n,2} \\
m_2 \ddot{q}_2 = -\lambda_{n,1} + \lambda_{n,2} + \tau \\
0 \le \lambda_{n,1} \perp h_1(q) = q_1 - q_2 \ge 0 \\
0 \le \lambda_{n,2} \perp h_2(q) = q_2 + l_2 - q_1 - l_1 \ge 0 \\
(\dot{q}_1 - \dot{q}_2)(t_k^+) = -e_{n,1}(\dot{q}_1 - \dot{q}_2)(t_k^-) \text{ if } h_1(q(t_k)) = 0 \text{ and } (\dot{q}_1 - \dot{q}_2)(t_k^-) \le 0 \\
(\dot{q}_2 - \dot{q}_1)(t_k^+) = -e_{n,2}(\dot{q}_2 - \dot{q}_1)(t_k^-) \text{ if } h_2(q(t_k)) = 0 \text{ and } (\dot{q}_2 - \dot{q}_1)(t_k^-) \le 0,
\end{array}
\right. 
\qquad (69) 
$$

with $e_{n,1}$ and $e_{n,2} \in [0, 1]$. Once again, considering compliant contact as in [239, Equations (1)–(4), (8)–(10)] is doable without modifying the system's structure. To illustrate further, let us consider the 4-bar mechanism in Fig. 14 (a). Without clearance at joints 2 and 3 this mechanism has one DoF. The mechanical plays at joints 2 and 3 makes it a 5-DoF system. The object and robot splitting depends on the actuated joints: if only $J_1$ is actuated, the object's dynamics have the coordinate $(\theta_2, \theta_3, x_2, y_2)$ and the robot $\theta_1$. If both $J_1$ and $J_4$ are actuated the object has the coordinate $(x_2, y_2, \theta_2)$ and the robot $(\theta_1, \theta_3)$, where $(x_2, y_2)$ are the Cartesian coordinates of body 2's center of mass. The dynamics of the 4-bar mechanism with clearance at joints 2 and 3 are given in [246]. Its structure is easily recast into (1).

*Comments.* While it seems natural to design controllers which guarantee persistent contact and non-trivial trajectories for system in Fig. 14 (a) (a topic largely studied in the literature [3]), clearances as in Fig. 14 (b) have to be “compensated for” in a different way, since both constraints cannot be activated simultaneously.
In both cases persistent contact modes follow the developments in sections 2.1.1 or 2.1.2 with specific controller constraints (see also [3]). This adds to the tasks where persistent contact is a goal, as in sections 3.1.2, 3.6.2, biped locomotion with stance phases, or catching tasks. Due to the specific nature of the admissible domain $\Phi$ in chains with revolute joints and clearance, small clearances' effects can be treated as "nonsmooth dynamical disturbances" [246]. The 4-bar system in Fig. 14 (a) shares features with the prehensile manipulation system in Fig. 9, since in both cases persistent contact is desired. One difference is that manipulation usually involves sticking contacts, while contact inside the revolute joints stick and slip.

### 3.11. Aircraft with Cable-Suspended Load (Aerocrane) and More

Let us consider the system depicted in Fig. 15, which is a planar aircraft with two inputs $\tau = (\tau_x, \tau_y)^\top$, carrying a load suspended by a massless, non-extensible cable, whose length when taut is equal to $L$. Such aerocrane systems are designed in aerospace sciences [247, Fig. 32] [248, Fig. 15]. The dynamics are given by (we do not incorporate aerodynamics effects):

$$ 
\left\{ 
\begin{array}{l}
m_1 \ddot{x}_1 = \lambda_n \sin(\theta) \\
m_1 \ddot{y}_1 = -\lambda_n \cos(\theta) - m_1 g \\
m_2 \ddot{x}_2 = \tau_x + \lambda_n \sin(\theta) \\
m_2 \ddot{y}_2 = -\lambda_n \cos(\theta) + \tau_y - m_2 g \\
0 \le \lambda_n \perp L - \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} \ge 0,
\end{array}
\right. 
\qquad (70) 
$$

where $\lambda_n$ is the cable's tension, $(x_2, y_2)^\top$ are the aircraft's center of mass coordinates, $(x_1, y_1)^\top$ are the payload's center of mass coordinates, $\theta = \arctan(\frac{x_2-x_1}{y_1-y_2})$ is the angle made by the taut cable with respect to the vertical axis (for simplicity we assume that the aircraft's center of mass and the cable's attachment point are the same). The complementarity constraint manages the taut/slack state of the cable (cables can pull, not push), and the model is complete if an impact model is added to (70) (inelastic collisions are usually chosen [249, 250]). The same approach can be used to model tethered satellites, cable-driven robotic systems in crane configuration [48, 49, 251, 252, 253], helicopters or quadrotors with cable-suspended loads [249, 254, 255, 256, 257], manipulation of objects with cables [225, 226, 77], gantry cranes with liquid-sloshing payloads [258, 259] (then the object has a complex dynamics, which can be approximated with multibody dynamics models [260, Chapter 5]). As explained in [6, Example 1.6], the cables can also be controlled with a force exerted at one tip, or with one of the tip's position (e.g, the attachment point on the aircraft example). A variation is therefore the control of a floating object, linked to a robot system by cables, with a winch device mounted on the robot which produces a control action on the cables (the cable's tension). The cable-suspended yoyo dynamics in [261, Equation (2)] fit also with (1), however without robot's dynamics (1) (b), and the input $\tau$ is the cable's upper tip position which enters the complementarity constraint: $0 \le \lambda \perp h(q_1) + \tau \ge 0$. Another aerocrane configuration is with a controlled payload, while the airship floats in the air [247, 248]. Then the roles of the robot and the object are reversed compared to (70). It is also possible to add complementarity constraints of the form $0 \le \lambda_{n,2} \perp x_1 - l \ge 0$, which models the ground inpenetrability [249], or more to model possible obstacles that the payload may collide with. The peculiarity of the latter is that they do not involve directly $q_2$.

**Remark 7.** A peculiarity of cable's models with slack/taut modes, is that they do not involve friction. Thus they yield frictionless unilateral constraints. This places robot-object systems with flexible cables in a specific subclass of (1). The manipulation of ropes or cables [262] where the cable/rope plays the role of the object, is
<figure><img src="image_15.png" /><figcaption>Figure 15: Aircraft with a cable-suspended load.</figcaption></figure>

different from the above tasks. If the cable is considered massless inextensible, then (1) (a) vanishes and the cable produces a complementarity constraint. It may be necessary in some applications to consider elaborated models of cables, which incorporate their own dynamics, contact with the environment, varying length and mass, etc. Cable modeling is a nontrivial subject [263].

## 3.12. Bicycle Riding

Riding a bicycle is fundamentally a robot-object control task. Indeed this boils down to exert suitable forces with both feet on the pedals (this induces a torque at the pedal shaft), using the brakes, and by controlling the handlebar orientation in a suitable way (usually learned through trial and error process). Roughly speaking, these two major inputs allow the cyclist to control the overall gravity center (bicycle plus cyclist) motion. Other, more subtle dynamical effects, also play a role in the cycle dynamics, like frame and wheels' deformations, play in the bearings, cyclist's movements on the bicycle, see [264, 265] for details on modeling and control. The only reason which allows one to make a bicycle move in a certain direction and at a desired speed, is the contact with the ground. When both contact surfaces between the tyres and the ground can be considered as being two tangentially sticking contact points, then non-holonomic constraints occur, as is well-known. Clearly friction plays a major role, as anybody has experienced how difficult it is to ride a bicycle on a slippy ground. Thus riding a bicycle is controlling the robot part, to make the object part move as desired. Riding motorcycles is similar, though the dynamics is even more complex due to the engine, and possible high speed which induces non negligible inertial effects, vibrations, etc [266].

## 3.13. Brachiation Robots

Brachiation is a robotic task which consists of accomplishing locomotion by swinging by the arms from one hold to another (like apes are doing moving from branch to branch). It has received some attention in the literature [267, 268, 269, 270, 144, 271, 272, 273]. The brachiation robot depicted in Figure 16 may possess the following motion: step 1: (handhold 1, hand 1) and hand 2 free (Figure 16 (a)) ↛ step 2: (handhold 1, hand 1) and (handhold 2, hand 2) ↛ step 3: (handhold 2, hand 2) and hand 1 free ↛ step 4: (handhold 2, hand 2) and (handhold 3, hand 1) (Figure 16 (b)). Other tasks may include constraint-free phases of motion where no hand holds any handhold (freeflight phases). This is what apes do when “jumping” from one handhold to the next. Other tasks may look like horizontal bar exercise when the gymnast firmly holds the bar with both hands and performs complete turns (giant swings forward or backward). Brachiation motions are sometimes classified as ladder and swing-up, leap, and rope [271]. Clearly the brachiation system belongs to the robot-object class (1), when the centroidal dynamics are used. When one hand holds firmly a handhold while the other hand is free, it is possible to reduce the dynamics dimension as described in sections 3.3.1 and 3.3.2. In the framework (1) the robot in Figure 16 has $n_1 = 2$, $n_2 = 6+$ both hands degrees-of-freedom, $m$ and the gap functions depend on the hands modeling. When both hands hold the handholds, the system
<figure><img src="image_16.png" /><figcaption>Figure 16: A brachiation robot (steps 1 and 4).</figcaption></figure>

is an *n*-bar mechanism with closed-loop ($n = 6$ in Figure 16 (b) if the tail is omitted). Coordinate reduction can be performed for such kinematic loops, see for instance [246] for a four-bar mechanism and [274] for a three-degree-of-freedom brachiation robot. Same comments as in sections 3.3.1 and 3.3.2 can be made on coordinate reduction and coordinate switching. The control dynamics of the brachiation robot during phases of motion like step 1, shares many analogies with the control of biped robots during stance phases (with one foot in persistent contact with the ground and the second foot airborne) and unactuated ankles. Thus brachiation robots performing the above tasks are similar to walking, running machines (a fact remarked in [275]). Experimental results on controlled brachiation robots have been reported in several articles [276], however a complete analysis over the whole motion seems to be still lacking.

There are also major differences between a biped (walking or running) and a brachiation robot. First the contact points can be assumed to be similar in a first study (they suppress two degrees of freedom) but are not. Indeed a brachiation robot which holds a handhold creates a true revolute joint at the hand (which can be a gripper [273]). A walking machine does not where the foot/ground contact points are prone to slip or detachment. Thus it is only during a very specific phase of motion, and assuming a lot on the foot/ground contact points, that both can be considered as being analog (and same control strategies for underactuated systems can be applied during these specific phases of swinging on a single foot or around a single handhold). Second, the brachiation robot is a kind of upside-down biped robot (a suspended *vs* an inverted pendula [277]). In other words, a walking machine's center of mass evolves "above" the constraints (the ground), while the brachiation robot's center of mass usually evolves "below" the constraints (the handholds).

### 3.14. Further Robot-Object Systems

As seen above some systems do not exactly fit with (1), but are very close to it and should consequently share many properties with it. Some analyses assume that the robot's mass is much larger than the object's mass, e.g., [223, 278, 59], so that the robot is unaffected by the contact force (even at impacts). In this case, (1) (b) reduces to $M(q_2)\ddot{q}_2 + F_2(q_2, \dot{q}_2, t) = E(q_2)\tau$. The underactuated systems with friction studied in [279, 280] can also be recast into pseudo robot-object systems. Indeed after a simple change of state
variable, [280, Equation (1)] becomes:

$$
\left\{
\begin{array}{l}
\ddot{z}_1 + g(a_1 z_1 + b_1 z_2) = C_1(a_1 \dot{z}_1 + b_1 \dot{z}_2)\lambda_{t,1} \\
\ddot{z}_2 = C_2(a_2 \dot{z}_1 + b_2 \dot{z}_2)\lambda_{t,2} + \tau \\
\lambda_{t,1} \in -\operatorname{sgn}(a_1 \dot{z}_1 + b_1 \dot{z}_2), \quad \lambda_{t,2} \in -\operatorname{sgn}(a_2 \dot{z}_1 + b_2 \dot{z}_2),
\end{array}
\right.
\qquad (71)
$$

for some constants $a_i$ and $b_i$ depending on inertial parameters, $C_i(\cdot)$ are smooth functions representing Stribeck frictional effects, and $g(\cdot)$ derives from a smooth potential. Apart from mechanical systems, electrical circuits with ideal diodes may also be recast into robot-object dynamics. Let us consider the circuit depicted in Figure 17. Its dynamics are given by:

$$
\left\{
\begin{array}{l}
\dot{x}_1 = \frac{1}{C} x_2 \\
\dot{x}_2 = -\frac{R_3}{L_2} x_2 - \frac{1}{L_2} x_1 + \frac{1}{L_2} (\lambda_1 + \lambda_2) \\
\dot{x}_3 = -\frac{R_2}{L_1} x_3 - \frac{1}{L_1} \lambda_1 + \frac{1}{L_1} \tau \\
0 \le \lambda_1 \perp x_2 - x_3 \ge 0, \quad 0 \le \lambda_2 \perp x_2 \ge 0,
\end{array}
\right.
\qquad (72)
$$

where $\tau = u$ the voltage source, $x_1 = u_c(t)$, $u_c$ is the voltage across the capacitor, $x_2 = i_1$ is the current through the diode, $x_3 = i_2$ is the current through the inductor $L_1$, $\lambda_1$ and $\lambda_2$ are the voltages across the diodes, $\tau$ is a voltage source. The dynamics (72) possess a similar structure as (1) with $q_1 = (x_1, x_2)^\top$, $q_2 = x_3$, $h(q) = \begin{pmatrix} x_2 - x_3 \\ x_2 \end{pmatrix}$. The equivalent of the mass matrix is diag($C, L_2, L_1$). The object dynamics are controllable with input $\lambda_1 + \lambda_2$, the robot dynamics are controllable with input $\tau$. Solutions of (72) are AC, excepted initially if the unilateral constraints are violated [54, 281, 282]. The system in (72) is an LCS, which can be equivalently rewritten as a differential inclusion of the form: $\dot{x} + Ax + B\tau \in -\mathcal{N}_S(x)$, for some $A$ and $B$, where $S$ is a closed convex polyhedral set, $\mathcal{N}_S(x)$ is the normal cone to $S$ at $x$ [54, 281]. The controllability of LCS has been studied [283, 284], but it applies to LCS with a complementarity P-matrix (it is null in (72), contrarily to (55) (56) (57) and (67)). The control of (72) necessarily implies contact phases during which the multipliers are solutions of the CP, constructed as in section 2.1, but with only one differentiation. For instance when $h(x) = 0$ (persistent contact with both constraints) we obtain:

$$
0 \le \lambda \perp \begin{pmatrix} \frac{-1}{L_2} & \frac{-R_3}{L_3} & \frac{R_2}{L_1} \\ \frac{-1}{L_2} & \frac{-R_3}{L_3} & 0 \end{pmatrix} x + \begin{pmatrix} \frac{-1}{L_1} \\ 0 \end{pmatrix} \tau + \begin{pmatrix} \frac{1}{L_1} + \frac{1}{L_2} & \frac{1}{L_2} \\ \frac{1}{L_2} & \frac{1}{L_2} \end{pmatrix} \lambda \ge 0. \quad (73)
$$

This CP is similar to the CP in (3), and it always has a unique solution $\lambda(x, \tau) \ge 0$ with $\lambda(x, \tau) = M_1 x + M_2 \tau$ for some matrices $M_1$ and $M_2$ [7, Theorem B.3] [284] since its matrix is positive definite. The same can be done when $h_1(x) = 0$ and $h_2(x) > 0$, and when $h_1(x) > 0$ and $h_2(x) = 0$. This gives rise to three constrained linear invariant systems (similarly to (6)) whose controllability properties can be studied. The switching between these four subsystems obeys the complementarity constraints, and (73) is a controlled LCP as (3). Extensions of the results in [285] are needed. Let us end this section with the circuit depicted in Fig. 18. Its dynamics are given by:
<figure><img src="image_17.png" /><figcaption>Figure 17: RLC circuit with two ideal diodes.</figcaption></figure>

<figure><img src="image_18.png" /><figcaption>Figure 18: RLC circuit with two ideal diodes.</figcaption></figure>

$$ \begin{pmatrix} \dot{x}_1 \\ \dot{x}_2 \\ \dot{x}_3 \\ \dot{x}_4 \end{pmatrix} = \begin{pmatrix} 0 & 0 & 0 & 0 \\ 0 & -\frac{1}{RC} & -\frac{1}{RC} & -\frac{1}{RC} \\ 0 & -\frac{1}{RC} & -\frac{1}{RC} & -\frac{1}{RC} \\ 0 & -\frac{1}{RC} & -\frac{1}{RC} & -\frac{1}{RC} \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{pmatrix} + \begin{pmatrix} \frac{1}{C} & 0 \\ 0 & 0 \\ 0 & \frac{1}{C} \\ 0 \end{pmatrix} \begin{pmatrix} \lambda_1 \\ \lambda_2 \end{pmatrix} \quad (74) $$

$$ 0 \le \begin{pmatrix} \lambda_1 \\ \lambda_2 \end{pmatrix} \perp \begin{pmatrix} w_1 \\ w_2 \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{pmatrix} + \begin{pmatrix} \mathbf{R} & 0 \\ 0 & 0 \end{pmatrix} \begin{pmatrix} \lambda_1 \\ \lambda_2 \end{pmatrix} + \begin{pmatrix} -1 \\ 0 \end{pmatrix} \tau \ge 0 $$

with $\tau = u$ the voltage source, $x_1, x_2, x_3$ and $x_4$ the voltages across the capacitors, $\lambda_1 = i_1$ (thus $w_1 = v_1$), $\lambda_2$ is the current through diode 2 (thus $w_2 = v_2$). We see that the input enters only the complementarity constraints, similarly to (57) and to (47) (if the sign function is expressed as in (45)). Doing the analogy with (1) we are tempted to state that (74) has no robot dynamics (it shares this feature with the yoyo dynamics in [261, Equation (2)] where the control also enters the complementarity constraint). Following [286], the dynamics in (74) can also be rewritten equivalently as:

$$ \left\{ \begin{array}{l} (a) \dot{x}_1 = \frac{1}{C} \max(0, -\frac{1}{R}(x_1 + x_4 - \tau)) \\ (b) \dot{x}_2 = \frac{-1}{RC}(x_2 + x_3 + x_4) \\ (c) \dot{x}_3 = \frac{-1}{RC}(x_2 + x_3 + x_4) + \frac{1}{C}\lambda_2 \\ (d) \dot{x}_4 = \frac{-1}{RC}(x_2 + x_3 + x_4) + \frac{1}{C}\max(0, -\frac{1}{R}(x_1 + x_4 - \tau)) \\ (e) 0 \le \lambda_2 \perp w_2 = x_3 \ge 0. \end{array} \right. \quad (75) $$

Going a step further, the CP is: $0 \le \lambda_2 \perp \dot{x}_3 = \frac{-1}{RC}(x_2 + x_3 + x_4) + \frac{1}{C}\lambda_2 \ge 0$. Inserting the unique solution of the LCP into (75), we obtain contact dynamics which are the counterpart of (6) and of (56). Contrarily
to (73), the input does not enter the CP. It appears clearly from (75) that the controller acts only in the region $\{(\tau, x) \in \mathbb{R}^5 | \tau > x_1 + x_4\}$.

**Remark 8.** The analogy between hydraulic and electrical circuits is well-known [287], where the ideal diodes are replaced by check valves. Hence nonsmooth circuits encompass nonsmooth hydraulic circuits. The mechanical systems studied in [131] can be recast into (1) without robot's dynamics (b). It could be of interest to study how their behaviour is influenced by the addition of a controlled robot (applied, e.g., to the pole in the woodpecker system).

# 4. Tools for Analysis and Control

As announced in the introduction, this section and section 6 do not aim at doing a complete survey of the related literature, since this would lead to consider too many references. Therefore we content ourselves with relevant references which serve the purpose of this article. Several survey articles have been cited in Remark 2 to which the interested readers are referred.

## 4.1. Stability Notions

Apart from the well-known general stability concepts (Lyapunov, Lagrange stabilities, asymptotic, local, global, exponential, practical, finite-time, etc), which can be applied to any dynamical system (possibly after suitable transformations to an error dynamics in case of a controlled system, or to a Poincaré mapping associated with all or one part of (1)), robot-object systems (1) possess particular features. Consider a biped robot, or simply the jumper in Fig. 6. Stability may merely mean that the system is standing and does not fall down (during walking or running tasks). It may mean that in addition the robot's gravity center tracks some desired trajectory (position and velocity and acceleration), or that it reaches some apex height at each step. Specific stability measures have been developed to cope with this, the most well-known one in biped locomotion being the ZMP measure [25, 101], also used in the context of manipulation [143]. More generic analyses on stability of complementarity Lagrangian systems [288] have been applied to biped robots [56]. It can also incorporate the walking speed, or the gait's length (see [289] for a survey on stability of walking machines). It may incorporate that the contact foot (or contact feet) never slips nor rebounds, or on the contrary that it is allowed to slip. Painlevé paradoxes [6] (which are some kind of singularities) can occur for small friction coefficients in sliding mechanisms [290] and this requires specific stability notions [291, 120]. Stability may refer to a specific subtask of a global task, as in [139] where catching is stabilized using an extension of Lyapunov stability proposed in [292]. Force and form closures in object's manipulation are a kind of stability notion, as well as balancing a biped: stability may just mean that both feet stick to the ground and the biped's center of mass remains in a bounded region, when bounded disturbances act on the biped (this is quite similar, if not identical, to form closure in manipulation), and that the system stays in a neighborhood of this “equilibrium” if it leaves it. In case of tasks involving repeated impacts, stability may be that of the Poincaré mapping [189, 12].

## 4.2. Controllability

It is clear that the dynamics (1) differ significantly from the underactuated dynamics considered in [176], for instance (which fit with the robot's dynamics in (49) with conserved momentum in (50)). Hence taylored controllability must be defined for (1). Different notions of controllability can be defined for systems (1), depending on which dynamics and inputs are considered. The first step may be to analyse the object's
controllability (1) (a), considering $\lambda_n$ and $\lambda_t$ as independent inputs, then introduce sign constraints on $\lambda_n$, then introduce the dependence of these multipliers on the system's dynamics via the impact laws or via the CP (see section 2.1).

### 4.2.1. Object's Controllability

This concerns the controllability properties of (1) (a) when the multipliers are considered to be the inputs, as a first necessary step towards a more general analysis:

• *Object's controllability with input* $(\lambda_n, \lambda_t)$: depending on $\frac{\partial h}{\partial q_1}^\top \in \mathbb{R}^{m \times n_1}$ and $H_t^1$, which reflect the constraints complexity and play the role of input matrices, this first step may or may not be trivial. It involves impulsive multipliers $(p_n, p_t)$ considered as arbitrary inputs (impulsive controllability [113]), or bounded multipliers which are functions of time (solutions of the CP in (3) or (9) or (15)). In reality both are signed nonnegative inputs due to complementarity, see also (29), consequently tools for signed inputs should be used [3]. Notions of controllable twists and wrenches are introduced for manipulation grasping [16], where ranges and null space of $H_1(q)$ and $H_2(q)$ are the basic analysis tools. Many other notions (redundancy, indeterminacy, graspability, defectivity, hyperstaticity [16, Definitions 38.1–38-5]) which all involve properties of kernels and ranges of $H_i(q)$, $i = 1, 2$, are related, though not equivalent, to controllability. For instance, $\text{rank}(H_1) = n_1$ implies that the object is controllable (it is a fully actuated Lagrange system) from the multipliers (it is also a necessary condition to have all object's twists achievable by $\dot{q}_2$ [16, sect. 38.2.3]). But object's controllability from the multipliers when $\text{rank}(H_1) < n_1$ can be analysed using general tools [176, 293, 294]. Clearly, if the object is not controllable from $(\lambda_n, \lambda_t)$, then the overall system is not controllable. The same holds for reachable subsets. Thus this controllability (in the broad sense) notion is important for (1).

• *Object's controllability through the impacts, see* [1, 295, 113, 223]: $(q_2(t), \dot{q}_2(t^{-}))$ is the input as in (29) (a) (b), several successive impacts may be considered (the number of visited constraint boundaries is part of the problem), and the impact dynamics (19) are incorporated. An adapted accessibility definition is proposed in [295, Definitions 1 and 2], and the reachable sets can be computed by solving sets of nonlinear equations with inequalities [295, Equation (36)]. How much does controllability depend on the impact dynamics (classes i, ii, a, b, c, section 2.2)? Preliminary answers are given in [113, 295]. Impact Poincaré mappings' controllability (mappings seen as a discrete-time system), is of interest as well. This obviously relies on the basic assumption that there exists a controller $\tau$ such that the Poincaré mapping exists, i.e., the Poincaré section is visited at arbitrary impact times. The construction of the Poincaré mapping may require some nontrivial manipulations [10, 11, 12]. It is noteworthy that the flight-times (the duration between two successive impacts) can be considered as an input in a first step in some cases [223, 296]. Linear $n$-dimensional juggling systems are analysed in [297]. It is shown that impacts can improve the controllability of a system, by rendering an uncontrollable system, controllable. This means that the impacts are able to enlarge the reachable sets, something undoable if impacts are absent. This shows the fundamental influence of the interaction force in the overall control problem. This problem is close to impulsive or release manipulation tasks [214, 112].

### 4.2.2. Robot's Controllability

Obviously the ability to control (1) (b) is crucial for the overall control problem:

• *Controllability of the robot* (1) (b) with $\tau$: for instance, the robot in (49) is uncontrollable, the robot
in (28) is controllable. But, how is the robot's controllability when seen as an unconstrained system, transformed for (1) (b) (c) ? In other words, if the dynamics $M_2(q_2)\dot{q}_2 + F_2(q_2, \dot{q}_2, t) = E(q_2)\tau$ are controllable, does this mean that it is still controllable in the interior of the admissible domain $\Phi$ ? Does there exist $\tau$ such that two arbitrary positions in $\Phi$ can be joined without impacts, with or without arbitrary velocities ? How is this related to the possible underactuation of (1) (b) ? Results in [285] tend to prove that this may not be true. An interesting case where the robot's controllability is nontrivial, is manipulation of floating objects with tugboats [77].

* *Controllability with impulsive inputs* $\tau$: this may be tackled using local controllability criteria (small-time local controllability STLC) for nonlinear systems [298]. Such inputs can (in theory) compensate for kinetic energy loss at impacts, hence creating a sort of instantaneously controlled impacts which allow one to render the system STLC. Notice that impulsive inputs are quite different from impacts since they do not obey any collision model.

* *During noncontact (airborne, flight) phases:* in some systems the cat-like strategy can be used to change the configuration and velocities while the invariant variable (like the angular momentum, or the center-of-mass trajectory) is kept. Hence only the robot's dynamics can be controlled during these phases of motion, to prepare for the next impact. This is used to modify the configuration of systems during flight-phases in order to improve their agility [201, 299]. Cat-like strategy can be seen as one kind of inertially-driven systems (section 3.5): for instance the systems in [200] and in [201] certainly share many common features.

### 4.2.3. *Partial Subtask Controllability*

As seen in (26) and (27), the global task of robot-object systems can be complex, and consequently the derivation of controllability criteria can be complex as well. To simplify the problem, subtasks may be considered separately:

* *Controllability in persistent contact with input* $\tau$ (contact controllability [3, Definition 1]), that applies to dynamics as in (6), (10) or (17). Examples are given in sections 3.1.2, 3.2, 3.8. This applies to the control of bipeds in stance phase with one foot or two feet in total sticking contact with the ground [4, 25], to the active compensation of joint clearance [3], to the grasping manipulation [163] (when is a manipulated object controllable? Are form and force closure at all times necessary, sufficient?), to nonprehensile manipulation [163], to aeroplanes with taut cables (section 3.11). See the derivations in section 3.6.3 for the all-sticking mode: this is a very constrained control problem. Accessibility of an inertially driven crawling system is studied in [196], where friction is shown to be necessary for controllability (such a conclusion is obvious in simpler systems like frictional oscillators, where no friction merely means total decoupling between (1) (a) and (b)). In a more general setting (see section 2.6), persistent contact phases are low-dimensional controlled dynamics with control constraints. Is the general framework proposed in [3] (relying on specific transformations and on controllability with signed inputs) for kinematic chains with clearance, applicable to other tasks like manipulation, balancing bipeds, climbing ?

* *Controlled CPs:* this is directly related to the foregoing item. How to control the deactivation of some previously persistent contacts, while keeping others activated ? In other words, how to design an input $\tau$ such that the modes of the CP in (6), (9) or (15) can be selected (mode selection *via* the input) ? This is related to the analysis of LCPs solutions as a function of the parameters. Complementarity cones [88, Chapter 6] could be used (this yields an enumerative method, practical only if the number of contacts is small). Controlled CPs have been used in [148] for trajectory tracking in fully actuated complementarity Lagrange systems.
The frictionless CP controllability (perhaps a better name is solvability from the control, or controlled mode selection) in (2) (3) depends on the input matrix $\tilde{E}(q) \triangleq \frac{\partial h}{\partial q_2} M_2^{-1}(q_2) E(q_2)$ and on the Delassus' matrix $D_{nn}(q)$. By the fundamental Theorem of Complementarity [88, 6], the frictionless CP has a unique solution for any $G(q, \dot{q}, t) + \tilde{\tau}$, if and only if the activated constraints are independent $\Leftrightarrow D_{nn}(q) > 0$. If $m > n$, then $D_{nn}(q) \ge 0$, and the set of solutions is less easy to characterize [6, section 5.4.2]. If the CP has several solutions, then the switching to the next motion mode is less easy to analyze (perhaps a notion of weak solvability from the control, or weak controlled mode selection should be introduced), and this influences the controllability of the whole nonsmooth system. An important feature is that $D_{nn}(q) = D_{nn}(q)^{\top}$, hence any two solutions satisfy $\lambda_n^1 - \lambda_n^2 \in \text{Ker}(D_{nn}(q)) = \text{Ker}(\nabla h(q)) = \text{Ker}(\frac{\partial h}{\partial q_1}) \cap \text{Ker}(\frac{\partial h}{\partial q_2})$ [88, Theorem 3.1.7] and [300, Fact 2.11.3, Theorems 2.4.3, 2.6.1, Proposition 2.6.3]. We see in passing that this exactly corresponds to the hyperstatic criterion [16, Definition 38.5] for grasping. In other words, $\text{rank}(D_{nn}(q))$ is determined by the hyperstaticity degree (as noted in [6, section 5.5.7] the analogy with hyperstaticity is limited to the frictionless case, however). When friction is present, we have to analyze the CP in (9) and (15), and nonexistence or nonuniqueness may arise for different reasons. The CP controllability and the controllability of the systems (6), (10) and (17) (which are dynamical systems living on submanifolds, with input constraints) are closely linked since $\tilde{E}(q)$ appears in the input matrices of these dynamics. For instance in (6) if $D_{nn}(q) > 0$, we have $E_1^{con} = -\frac{\partial h}{\partial q_1} D_{nn}^{-1}(q) \frac{\partial h}{\partial q_2} M_2^{-1}(q_2) E(q_2)$ and $E_2^{con} + E(q_2) = (-\frac{\partial h}{\partial q_2} D_{nn}^{-1}(q) \frac{\partial h}{\partial q_2} M_2^{-1}(q_2) + I_{n_2}) E(q_2)$. Thus the matrices

$$ \left\{ \begin{array}{l} D_{nn}^{12}(q) \triangleq \frac{\partial h}{\partial q_1}^{\top} D_{nn}^{-1}(q) \frac{\partial h}{\partial q_2} \\ D_{nn}^{22}(q) \triangleq \frac{\partial h}{\partial q_2}^{\top} D_{nn}^{-1}(q) \frac{\partial h}{\partial q_2} \end{array} \right. \qquad (76) $$

both play a crucial role in the system's controllability in (6) (a): they reflect some kinetic angles in the metric defined by the Delassus' matrix $D_{nn}(q)$, which is itself a matrix of kinetic angles. The same analysis has to be led to study $E_1^s$ and $E_1^{st}$ in (10) and (17). The controllability of each subsystem (6), (10) and (17) along various contact modes may serve as a basis for an extended notion of stratified controllability, as alluded to above. Sometimes the coordinate reduction of (6), (10) and (17) is easy with the choice of a new, minimal set of generalized coordinates (like for bipeds). In general constrained mechanics, it is not, and one has to analyze these systems with bilateral constraints and input constraints. Tactile feedback (i.e., measurement of $\lambda_n$ and/or of $\lambda_t$) also plays a crucial role, since it allows the designer to modify the Delassus' matrix.

### 4.2.4. Global Controllability

The global controllability from $\tau$ involves a complex switching system with varying dimensions and impacts (see section 2.6). This is solved in [297] when the robot and the object's dynamics are linear invariant, with a tailored controllability notion [297, Definition 1]. The controllability of hybrid dynamical systems has received some attention, see [301] and references therein. The analysis that seems the closest to what is needed for (1) seen as a switching system, is in [302]. However it applies only to vibro-impact systems, without control constraints.

* Compliant contact yields LCS with a positive definite complementarity matrix (see (55) (57) (67) [215, 6, 5]), whose controllability is analysed in [283, 284]. What about the use of directed graphs [302]? However other robot-object systems yield LCS with null or positive semidefinite complementarity matrix (see (72) and (74)), closer to the planar system studied in [285]. As alluded to in section 3.14, when the complementarity matrix is not a P-matrix, then it may be necessary to analyse the controllability of each
constrained subsystem. This may be named a kind of *complementarity stratified controllability* (see an item below), where the switchings between the subsystems are activated by the complementarity conditions (hence they are state-dependent in a specific way).

* Stratified controllability [50]: it extends the notion of controllability for nonlinear smooth systems (basing on differential geometry arguments), to systems which switch between subspaces with different codimensions. Impact phenomena (i.e., velocity jumps) are neglected, and the complementarity constraints which rule the switchings are not incorporated (i.e., it is assumed that arbitrary switching sequences can be imposed). It may be that the invertibility of the impact mapping (i.e., is the mapping $(q(t), \dot{q}(t^{-})) \mapsto (q(t), \dot{q}(t^{+}))$ defined from (19), bijective, or at least surjective?) plays a significant role. Plastic impacts yield noninvertible mappings, impacts with friction can also yield some kind of tangentially plastic impacts (with sticking post-impact mode). It is interesting to notice that there is a combinatorial aspect in several of these controllability criteria, as in [50] and [295], each time $m \ge 2$.

### 4.2.5. Peculiar Features

Some comments arise:

* Some juggling systems (with robot's post-impact velocity and time interval between two impacts considered as the input) are not small-time locally controllable [50, Definition 3.1], but are globally controllable [223]. This is due to the ballistic motion of the object.

* Controllability is influenced by the number of contact/impact points (single vs. multiple impacts) [1]. The difference between sequences of single impacts (like in the impact oscillator in Fig. 14 (b) and (69) where constraints cannot be active at the same time), and multiple impacts where several ($\ge 2$) constraints can be activated simultaneously, should be investigated. The role played by the kinetic angles between the constraints, and the restitution properties, is worth studying in some systems.

* In some systems and tasks, frictional effects play a prominent role (frictional oscillator, impulsive manipulation tasks with long portions of motion subjected to friction). Then the friction model is a crucial step of the design, both at and outside impacts. This may be quite different from tasks where sticking is the prominent effect to model (think of a walking machine).

* What kind of controllability concept may be useful for a specific task? For instance biped locomotion does not need (care?) about the whole system being controllable, but merely about the existence of a walking trajectory and then its stability (not "falling down"), similarly for the dimer in Fig. 11 in forward or backward motions. This is often the case for systems (1). For biped robots one may consider so-called *capturable* states [25, sect. 48.3.4] [188], a sufficient criterion for walking tasks. Contact controllability [3] for tasks with persistent contact, *controllability through impacts* [1, 295] for vibro-impact tasks are other concepts. For manipulation grasping task, tailored properties have been introduced [16, Definitions 38.1–38-5]. However as alluded to at several places in this article, complex tasks mix different objectives and more sophisticated criteria may be needed. Systems with high DoF objects (like granular matter) may require new controllability notions, relating to the global motion of the granular [158]. For instance one goal may be to control the center of mass of the object, using impacts and friction of the robot with some particles.

### 4.3. Observability, State Observers

Observers have been derived for general complementarity Lagrangian systems [303, 304, 305], where the measured output is $q$, and impacts are shown not to perturb the stability of the observer error dynamics.
Different approaches are proposed in [114, 306], which instead use impacts to improve the observability, and in [307] where a dead-beat discrete-time observer is designed for the time-discretized complementarity dynamics (the time-discretization is obtained with an event-capturing time-stepping scheme [7]). In [70] a finite-time state observer is included in the closed-loop design, and applied to a 2-DoF juggler (made of two tapping robots as in Fig. 3 (b)). A related subject is the choice of the output for feedback, especially for the object (1) (a). Depending on the system and the task, various choices are possible (a peculiar position during free-flight, like the trajectory apex in jugglers), $\dot{q}_1(t^-)$ or $\dot{q}_1(t^+)$, flight duration, etc. Measurements (or calculations) are then subjected to uncertainties that need to be analyzed.

### 4.4. The Peaking (or Jump-Mismatch) Phenomenon

This phenomenon is present each time one wants to measure the distance between two functions which do not jump at the same time, but whose discontinuity-times are separated (hence it can also be named the *jump-times mismatch* [6]): the graphs of the two functions may be arbitrarily close one to each other, but the “vertical” distance between them remains large in a neighborhood of the jump time. This has been long well-known in the analysis of ODE with state jumps [6, sections 1.3.2.3, 7.1.1] [308] (the concept of quasi-stability ignores infinitesimal time-intervals around impact times, and is used in [159]). More recently it has been recognized as an important phenomenon in complementarity Lagrangian systems, where different solutions have been proposed to cope with this issue, some of them inspired by [309]. The peaking phenomenon occurs in trajectory tracking problems when impacts are disturbances [159, 161, 146, 1, 310, 148, 8, 311, 312, 313], and in observer error dynamics. In robot-object systems the occurrence of the jump-mismatch may not be so common (see the item on trajectory tracking in section 6), since it occurs mainly in trajectory tracking when the goal is to compare two different functions or solutions (i.e., the state of the plant and the desired trajectory) at discontinuity times.

### 4.5. Discontinuity with respect to Initial Conditions

As alluded to in the foregoing sections, this long well-known feature of complementarity Lagrangian systems [314] [6, sections 5.2.4, 6.1.1.1] may influence the control behaviour of some classes of (1). It is intimately linked with the kinetic angles between the constraints [315]. Intuitively, kinetic angles carry informations on both geometrical (through the constraints gradients) and inertial properties (through the inertia matrix). Consider walking bipeds, the kinetic angle between the two unilateral constraints represented by the signed distance between the feet and the ground, will depend on the feet and ground geometries, the step length, the center of mass position (i.e., the robot's configuration at impact). The analogy with a falling rectangular block is clear. Since the discontinuities may induce some kind of stochastic behaviour in experiments, they may motivate the development of impact laws including stochastic terms (this is done for single impacts in [316] to reflect the CoR's lack of determinism in certain environments, using a kinematic approach with restitution matrix [6, sections 4.3.2, 6.2.4]).

### 4.6. Relative Degree

Some of the above systems possess a vector relative degree $r = (2, \dots, 2)^\top$, others have $r = (0, \dots, 0)^\top$, or $r = (1, \dots, 1)^\top$, or $r = (r_1, \dots, r_s)^\top$ with $r_i = 0, r_i = 1$ or $r_i = 2$ (when both unilateral constraints and unilateral springs are present [6, Example 5.14] [194], then $r_i = 0$ or 2). The relative degree is calculated between $\lambda$ (seen as the input) and $w$ (seen as the output). The relative degree is known to play a significant
role in complementarity dynamical systems for the class of solutions. It also plays a significant role on the control, since impacts are absent from systems with relative degree zero (the CP is therefore quite different). The Delassus' matrix is a kind of decoupling matrix in the input/output linearization theory [54, section 4.2.1]. See [317] for extensions with different outputs with calculation of the Byrnes-Isidori canonical form.

### 4.7. Passivity

Let us examine the passivity properties of (1), outside impact times. One has to be careful about which operator is considered. In a first stage we may consider all “inputs” $\lambda_n$, $\lambda_t$ and $\tau$ on an equal footing without further considerations. Let $F_1(q_1, \dot{q}_1) = C_1(q_1, \dot{q}_1)\dot{q}_1 + g_1(q_1)$ and $F_2(q_2, \dot{q}_2) = C_2(q_2, \dot{q}_2)\dot{q}_2 + g_2(q_2)$ using usual notations for inertial and potential torques [97]. Then the operator $\nabla h(q)\lambda_n + H_t(q)\lambda_t + \begin{pmatrix} 0 \\ E(q)\tau \end{pmatrix} \mapsto \dot{q}$ is passive (and this applies to each subsystem (1) (a) and (b) separately with the operators $\frac{\partial h}{\partial q_1}^\top \lambda_n + H_t^1(q_1, q_2)\lambda_t \mapsto \dot{q}_1$ and $\frac{\partial h}{\partial q_2}^\top \lambda_n + H_t^2(q_1, q_2)\lambda_t + E(q_2)\tau \mapsto \dot{q}_2$). As a consequence, taking $\tau = 0$ and $\lambda_t = 0$, the operator $\lambda_n \mapsto \nabla h(q)^\top \dot{q}$ is passive. This follows from classical arguments about Lagrangian dynamics [97], independently of the contact/impact model.

In a second stage we may incorporate the complementarity conditions in (1) (c) and planar friction, following [6, section 5.5.2]. Then passivity is a consequence of the maximal monotonicity and the Chain Rule of Convex Analysis, and of the Principle of Virtual Work (or Power Principle of Coordinate Invariance) [6, section 5.5.2]. In this setting (1) is seen as a set-valued Lur'e dynamical system [318, 54]. More precisely, the dynamics (1) can be rewritten as:

However the constraints introduce couplings between the robot and the object. Indeed we have the following:

$$ \left\{ \begin{array}{l} \langle \dot{q}_1, \frac{\partial h}{\partial q_1}^\top \lambda_n \rangle = \int_0^t \dot{q}_1^\top (M_1(q_1)\ddot{q}_1 + C_1(q_1, \dot{q}_1)\dot{q}_1 + g_1(q_1))dt - \int_0^t \dot{q}_1^\top H_t^1(q_1, q_2)\lambda_t dt \\ \langle \dot{q}_2, \frac{\partial h}{\partial q_2}^\top \lambda_n + \tau \rangle = \int_0^t \dot{q}_2^\top (M_2(q_2)\ddot{q}_2 + C_2(q_2, \dot{q}_2)\dot{q}_2 + g_2(q_2))dt - \int_0^t \dot{q}_2^\top H_t^2(q_1, q_2)\lambda_t dt \end{array} \right. \quad (77) $$

Consider for simplicity the planar case for friction: $\lambda_t \in [-\mu][|\lambda_n|]\text{Sgn}(v_t)$, with $v_t = H_t^\top \dot{q} = H_t^{1,\top} \dot{q}_1 + H_t^{2,\top} \dot{q}_2$ (see section 1). We have $-\int_0^t v_t^\top \lambda_t dt = \int_0^t v_t^\top [\mu][|\lambda_n|]\text{Sgn}(v_t) \ge 0$ from the maximal monotonicity of $v_t \mapsto [\mu][|\lambda_n|]\text{Sgn}(v_t)$. Using $\langle \dot{q}, \frac{\partial h}{\partial q}^\top \lambda_n \rangle = \langle \dot{q}_1, \frac{\partial h}{\partial q_1}^\top \lambda_n \rangle + \langle \dot{q}_2, \frac{\partial h}{\partial q_2}^\top \lambda_n \rangle$, it follows that $\dot{q} \mapsto \frac{\partial h}{\partial q}^\top \lambda_n + \tau$ is passive. But each suboperator $\frac{\partial h}{\partial q_1}^\top \lambda_n \mapsto \dot{q}_1$ and $\frac{\partial h}{\partial q_2}^\top \lambda_n + \tau \mapsto \dot{q}_2$ is not. The same holds in the frictionless case.

~~ This short analysis shows the difficulties which appear when passing from the analysis of each subsystem (1) (a) and (b), to the analysis of the whole dynamics (1).

The map (19) should also verify passivity properties (called the energetical consistency in the Impact Mechanics literature [6, 8]). It is possible to define a generalized supply rate which incorporates impacts with possible accumulations of impact times (in the framework of velocities of local bounded variations) [6, section 7.5.3] [319, section 7.2.3] [97, section 7.2.4.1]. The notion of flow-and-jump passivity is proposed in [320], it applies to vibro-impact systems (also named flows with collisions [6, section 1.3.2]). The classical passivity/detectability results [97, section 5.3] are extended.

Notice that the circuits in section 3.14 are passive as operators $\lambda \mapsto w$ (or $w \mapsto \lambda$), and that they can also undergo passive state jumps [282, 281]. A central question is: does passivity help for control design, or not? For instance impacts dissipate energy, but this is not necessarily useful. It is conceivable that a walking machine, would be harder to control if feet/ground impacts created energy (actually, few articles explicitly use energy dissipation at impacts in the closed-loop stability analysis). However consider the juggler in (28):
dissipation plays no particular role, it may even have a negative effect on the control energy (to compensate for the collisional energy loss).

## 4.8. Peculiar Contact Mechanics Features

Left accumulation of impact times (a kind of Zeno behaviour) and Painlevé paradoxes, are two important dynamical features of mechanical systems with unilateral constraints, impact and friction. Zeno trajectories have to be incorporated into stability analyses [291, 120, 292]. Painlevé paradoxes, which are a kind of dynamical singularity, are less encountered but do exist. They are now well understood [321, 322, 323, 291, 324, 325, 326]. They can occur in systems like those in Fig. 6 (a), Fig. 5, Fig. 20 (c), even for small coefficients of friction [321].

## 4.9. Other Notions and Tools

The important concept of zero-dynamics has been extended to biped robots evolving along specific trajectories involving impacts [125]. Roughly speaking, the controller has to guarantee that the robot's state always remains in the hybrid-zero-dynamics manifold for a specific choice of the output. This is extended to running tasks [126] and it allows to unify walking and running. In some applications (walking machines, frictional and impact oscillators, jugglers), the generation and stabilization of limit cycles is central to the control task. The impact Poincaré mappings controllability (the mere existence of a Poincaré mapping, implies that the system possesses a certain degree of controllability, i.e., an input $\tau$ such that the Poincaré surface can be attained exists) is studied in [1, 327, 328]. Lexicographical inequalities are ubiquitous as an analytical tool in all dynamical systems subject to unilateral constraints. For instance, the detachment from a constraint occurs if and only if $(h_i(q), \frac{d}{dt}h_i(q) = \nabla h_i(q)^\top \dot{q}, \dots, \frac{d^k}{dt^k}h_i(q), \dots) > 0$ (the sequence is not equal to zero, and the first nonzero element is positive).

# 5. Modeling and Dynamical Structure Issues

## 5.1. Multirobot-multiobject (MR-MO) systems

Let us introduce a class of dynamics' transformation, different from those in section 2.3. A biped robot which joggles with balls using one hand, opens a door with the other hand, and walks on a granular matter, may be understood as a robot-object composed of four subsystems: the biped (with a robot and an object parts), the balls, the door and the granular (three objects). Only the door and the balls are control objectives (outputs to be controlled). Manipulation with quadrupeds and cables [226] typically falls into the MR-MO class: quadrupeds (each comprising a robot and an object part), the manipulated object (subject to friction), and the cables (creating a complementarity constraint). A cable-driven parallel robot [252] where the frame to which cables and winches are bound, is itself floating (in addition to the internal moving platform), also has an MR-MO structure. Manipulation of floating objects with tugboats [77] typically yields MR-MO systems. Such complex tasks are challenging for control [138], and they show that the robot-object class (1) can be made more and more complex. The case of dynamical objects also requires attention (a "robot" may juggle with a dynamical "inertially driven object" [191]). Then a further decomposition of the dynamics is necessary to recast the overall system into (1), see Fig. 19.
<figure><img src="image_19.png" /><figcaption>Figure 19: A robot juggling with a dynamic inertially-driven object.</figcaption></figure>

## 5.2. Moreau's Sweeping Process

Moreau's second order sweeping process (SOSwP) [6, section 5.2] [54, 110] is a very interesting, compact formulation of complementarity Lagrangian systems, which encapsulates a particular impact law that is an extension of Newton's kinematic law. It has been used in [303] for observer design, in [148] for tracking control design. We saw in (42) that it can fit very well with some robot-object dynamics. One advantage is that it can be very efficiently discretized [7]. Its impact law is not always realistic [110], but it is if geometrical effects and kinetic angles prevail in the multiple impact, as for rocking blocks. Moreover as pointed out earlier in this article, it may not be worse than many impact laws which have been used in the literature. The SOSwP is formulated as:

$$M(q(t))dv + F(q(t), v(t^+)) - \begin{pmatrix} 0 \\ E(q_2)\tau \end{pmatrix} \in -\mathcal{N}_{\tau_{\Phi}^h(q)} \left( \frac{v(t^+) + e_n v(t^-)}{1 + e_n} \right). \quad (78)$$

where $e_n \in [0, 1]$ is a global kinematic CoR. The left-hand side in (78) is the Lagrange dynamics written with measures, where the acceleration $\ddot{q}(t)$, which is a singular measure at impact times, is replaced by its so-called differential measure $dv$ (roughly speaking, and in spite of the fact that this is mathematically not exact, $dv = \ddot{q}(t)dt + \sum_{k \ge 0} (v(t_k^+) - v(t_k^-))\delta_{t_k}$, where $dt$ is the Lebesgue measure, $t_k$ are the impact times, $\delta_t$ is the Dirac measure at $t$). The normal cone to the tangent cone in the right-hand side of (78) is a compact way to encapsulate complementarity constraints, as well as lexicographical inequalities that rule constraints activation/deactivation. It is called Moreau's set. More details on Moreau's set are given in [6] [54, section 4.2.1]. As pointed out in section 2.2, in the frictionless case the SOSwP yields at an impact time an impact law which can be formulated equivalently as an LCP whose unknowns are the local velocities $v_{n,i}$. The case with friction can be formulated as a cone LCP in the 3-dimensional case using De Saxcé's transformation [7, 6], or as a specific nonlinear CP in the planar case, using the equivalent form of the set-valued sign function [170, 6, 7].

## 5.3. Generalized Coordinates

The multibody system dynamics with specific choice of the generalized coordinates considering the robot and the object separately, is not discussed here, in spite of the fact that it may be important for control design. In other words, various choices can be made for $q_1$ and for $q_2$ in (1), as long as the generalized coordinate change respects the robot-object canonical form. Especially, whether or not minimal sets are chosen for (1) (a) and for (1) (b), together with additional bilateral constraints which account for the joints,
is an interesting topic. To illustrate it let us consider a simple example. As alluded to in section 2.3, realistic applications often involve unilateral and bilateral constraints. Control design should take this level of generality into account. Let us consider the system (inspired from [128, 6]) in Fig. 20 (a). The mass $m_1$ slides horizontally and the mass $m_2$ slides vertically, $q = (x_1, y_2)^T$. The dynamics are given by:

$$ egin{cases} m_1 \ddot{x}_1 = -\sin(\alpha)\lambda_n^b - \cos(\alpha)\lambda_t^b + \tau \\ m_2 \ddot{y}_2 = \cos(\alpha)\lambda_n^b - \sin(\alpha)\lambda_t^b - \lambda_n \\ 0 \le \lambda_n \perp L - y_2 \ge 0 \\ f(q) = \cos(\alpha)y_2 - \sin(\alpha)x_1 + \beta = 0 \\ \lambda_t^b \in -\mu|\lambda_n^b|\operatorname{sgn}(v_t^b), \quad v_t^b = -\cos(\alpha)\dot{x}_1 - \sin(\alpha)\dot{y}_2 \\ -\dot{y}_2(t_k^+) = e_n\dot{y}_2(t_k^-) \text{ if } \dot{y}_2(t_k^-) > 0 \text{ and } L - y_2(t_k) = 0, \end{cases} \quad (79) $$

where $\beta$ is a constant, $\alpha \in [0, \frac{\pi}{2}]$ ($f(q)$ stems from the fact that if the mass $m_1$ moves horizontally by $\dot{x}_1\delta t$, a contact point on the contact surface moves in the normal direction by $\dot{x}_1\sin(\alpha)\delta t$, while the same contact point of the mass $m_2$ moves in the contact surface normal direction by $\dot{y}_2\cos(\alpha)\delta t$, hence $\dot{x}_1\sin(\alpha) = \dot{y}_2\cos(\alpha)$). Thus $q_1 = y_2$ (object), $q_2 = x_1$ (robot). Using $\nabla f(q)^T \dot{q} = 0$ easily yields $\cos(\alpha)\dot{y}_2 = \sin(\alpha)\dot{x}_1 \Leftrightarrow \dot{y}_2 = \tan(\alpha)\dot{x}_1 \Leftrightarrow \ddot{y}_2 = \tan(\alpha)\ddot{x}_1$ (equivalence holds because of initial conditions). Few manipulations yield, using $f(q) = \dot{f}(\dot{q}) = \ddot{f}(\ddot{q}) = 0$:

$$ \left\{ \begin{aligned} \frac{m_1 \cos^2(\alpha) + m_2 \sin^2(\alpha)}{\sin(\alpha)} \ddot{y}_2 &\in -\sin(\alpha)\lambda_n + \cos(\alpha)\tau + \mu|\lambda_n^b|\operatorname{sgn}\left(\frac{\dot{y}_2}{\sin(\alpha)}\right) \\ (m_1 - m_2) \cos(\alpha) \ddot{y}_2 &= \sin(\alpha)\tau + \cos(\alpha)\lambda_n - \lambda_n^b. \end{aligned} \right. \quad (80) $$

Therefore the first equation in (80) is:

$$ \frac{m_1 \cos^2(\alpha) + m_2 \sin^2(\alpha)}{\sin(\alpha)} \ddot{y}_2 \in -\sin(\alpha)\lambda_n + \cos(\alpha)\tau + \mu[(m_1 - m_2)\cos(\alpha)\ddot{y}_2 - \sin(\alpha)\tau - \cos(\alpha)\lambda_n]\operatorname{sgn}\left(\frac{\dot{y}_2}{\sin(\alpha)}\right) \quad (81) $$

If $\mu = 0$, this is a simple complementarity system, but if $\mu > 0$ this is a nonsmooth nonlinear system. For control design it is unclear whether or not it is better to use the robot-object formalism in (79), or the reduced-order form in (81).

<figure><img src="image_20.png" /><figcaption>Figure 20: Systems with bilateral and unilateral constraints: (a) gear transmission, (b) inverted pendulum, (c) hopper, (d) inverted pendulum with joint clearance.</figcaption></figure>

The systems in Fig. 20 (b) (c) (d) are inertially driven (see section 3.5). The mass $m_2$ attached to the homogenous disk creates an unbalance exciter. There is a unique control torque $\tau$ at the disk revolute
joint. The dynamics are detailed in Appendix C. The system in (C.1) is an inertially driven underactuated system (just as acrobots and pendubots are), where the unbalance exciter couples both dynamics (they are decoupled if $r_2 = 0$, where $r_2 \ge 0$ is the distance between the eccentricity mass $m_2$ and the disk's geometric center).

### 5.4. Dynamics' Transformation to (1)

The example in Fig. 20 (b) (c) is a good motivation to show that a class of systems can be transformed in a systematic way to robot-object systems via a generalized coordinate change (the MR-MO transformation does not really fall into this class of transformation). Indeed all the examples in this article stem from mechanical principles, not from generalized coordinate (or state) transformations. Consider the system:

$$ egin{cases} M_{11}(z)\ddot{z}_1 + M_{12}(z)\ddot{z}_2 + F_{z_1}(z_1, z_2, \dot{z}_1, \dot{z}_2) = \frac{\partial h}{\partial z_1}\lambda_n \\ M_{12}^\top(z)\ddot{z}_1 + M_{22}(z)\ddot{z}_2 + F_{z_2}(z_1, z_2, \dot{z}_1, \dot{z}_2) = \frac{\partial h}{\partial z_2}\lambda_n + \tau \\ 0 \le \lambda_n \perp h(z_1, z_2) \ge 0, \end{cases} \quad (82) $$

with $\begin{pmatrix} M_{11}(z) & M_{12}(z) \\ M_{12}^\top(z) & M_{22}(z) \end{pmatrix} > 0$. Assume that $M_{11}(z)\ddot{z}_1 + M_{12}(z)\ddot{z}_2 + F_{z_1}(z_1, z_2, \dot{z}_1, \dot{z}_2) = M_1(q_1)\ddot{q}_1 + F_1(q_1, \dot{q}_1)$

for some $q_1(z_1, z_2)$, $M_1(q_1) > 0$ and $F_1(q_1, \dot{q}_1)$ (see Lemma 1 in Appendix C). Then (82) can be rewritten as:

$$ egin{cases} (a) \ M_1(q_1)\ddot{q}_1 + F_1(q_1, \dot{q}_1) = \frac{\partial h}{\partial z_1}\lambda_n \\ (b) \ (M_{22}(z) - M_{12}^\top(z)M_{11}^{-1}(z)M_{12}(z))\ddot{z}_2 + F_{z_2}(z, \dot{z}_2) + M_{21}(z)M_{11}^{-1}(z)F_{z_1}(z, \dot{z}_1) \\ = \left(\frac{\partial h}{\partial z_2} - M_{21}(z)M_{11}^{-1}(z)\frac{\partial h}{\partial z_1}\right)\lambda_n + \tau \\ (c) \ 0 \le \lambda_n \perp h(z_1, z_2) \ge 0. \end{cases} \quad (83) $$

where $M_{22}(z) - M_{21}(z)M_{11}^{-1}(z)M_{12}(z) > 0$ from the Schur complement theorem [97, Theorem A.65]. The dynamics (83) do not exactly fit with (1) without further assumptions, see the example in Appendix C. Other transformations certainly exist. The generalized coordinate change from a Lagrangian model of bipedal robots, to its centroidal dynamics with block-diagonal mass matrix (as in (1)) is studied in [329] [330, Section 3.9]. Notice that the centroidal dynamics are sometimes further transformed to cope directly with stability (using the center of pressure) [25, 331].

### 5.5. Further Comments

The most sensitive modeling aspect in robot-object systems may be contact/impact modeling (with or without friction). Indeed collision mappings determine the operator (19), which allows to compute post-impact velocities as a function of pre-impact ones, which in turn are a fundamental step in the control design (via the backstepping algorithm). As alluded to through several examples, compliant contact yields different complementarity contact problems (that can be interpreted as a change of relative degree). It is therefore of utmost importance to use more complex and realistic impact models in order to tackle the control of complex robotic tasks. In this setting the use of “traditional” modeling vs. data-driven methods, needs to be investigated (for instance, could data-driven algorithms help in estimating normals to surfaces, or plane/plane contact models on-line estimation?).
# 6. Review of Control Strategies

Due to their common structure, controllers for systems (1) have to verify some properties. During flight phases, trajectories must stay in an admissible domain $\Phi$ to avoid unwanted collisions which may sometimes occur (e.g., robot legs do not have to collide each other during steps [299, 180], cables must not collide other objects in cable-driven manipulators [332, 333]). This was named viability in [1]. During persistent contact, controllers must verify some constraints, which are dictated by the CP (section 2.1). Flight phases can be used to shape the configuration and the pre-impact velocity, to prepare for desired post-impact velocity. Various approaches and assumptions have been proposed in the literature to design the robot's input $\tau$ in a dynamical setting, which we summarize now<fnref n="1" />.

## 6.1. The Backstepping Strategy

As announced earlier in this article (see sections 1, 3.1.1 and 3.1.2), the control of (1) obeys a general strategy that belongs to the backstepping approach: design “intermediate” controllers $\lambda_n$ and $\lambda_t$ to control the object<fnref n="2" />, then design pre-impact velocities (in case of impacting trajectories) or follow the process outlined in section 3.1.2 (in case of persistent contact) which guarantee that these inputs are realized, then design the true controller $\tau$ to control the robot. As such, the backstepping approach is not a controller per se, but rather a global design framework (interestingly enough, this is exactly the same for flexible-joint manipulators [52]). As shown in section 3.1, it is also possible to decouple the control design into subtasks which correspond to these steps: for instance analyse the control (or controllability) of the object when the multipliers are thought as inputs. This yields noncollocated control $\tau$, see sections 3.1.1 and 3.1.2. It has been advocated for juggling task design in [1, sect. III.B and III.C] (extension of material in section 3.1). This is used also in [3, section 4] [224], or [297], or [58, section II.C]. In fact, many algorithms proposed in the literature, solve one step of the backstepping algorithm (e.g., the control of the object with the multipliers as inputs [10, 11]).

## 6.2. Deadbeat Control

Dead-beat control $\tau$ of the robot is useful in order to assure a desired robot's state $(q_2(t), \dot{q}_2(t^{-}))$ is reached in a desired finite time $t$, a property which is quite powerful when combined with impacts to impose some desired motion of the object, because it allows the robot to hit the object with pre-specified pre-impact velocities and time (see section 3.1.1). It has been applied in [13, 14, 334, 278, 335, 190, 10, 11, 217, 336, 337, 217, 335, 338, 181]. Robustness is studied numerically in [13, 14, 337]. Sliding-mode control may be an alternative solution to bring the robot's state towards a desired surface in a finite time [199]. It is also worth analysing and testing controllers which guarantee trajectory tracking (feedback linearization, passivity-based, etc) when available. However the asymptotic (or exponential) convergence may induce errors, the propagation of which on long term impacting trajectories has to be analysed. Such an approach has been chosen in [339, 246] for systems with joint clearance.

<footnote n="1">¹The goal in this section is not to provide an exhaustive review of control schemes, but only to survey the main approaches.</footnote>

<footnote n="2">²Here the multipliers can be functions or measures.</footnote>
### 6.3. Poincaré Mapping Control

Poincaré mappings are another “natural” way to tackle robot-object systems subjected to repeated impacts (in which case one speaks of impact Poincaré map), or to friction and stick/slip events. They have been much used in the Nonlinear Dynamics, Bifurcation and Chaos fields. They can also be used to design feedback controllers. Various approaches have been tackled:

* Control/stabilization of the impact Poincaré mapping for limit cycles with impacts: runners, hoppers, jugglers possess such trajectories. This is done assuming that the Poincaré mapping exists (i.e., a suitable input $\tau$ is applied so that the Poincaré surface is guaranteed to be reached, as in [189] where different suitable controllers are used in each mode). Usually the stability analyses are local.

* The OGY control strategy has been applied to impact oscillators with or without friction, to friction oscillators [340, section 3.3], and to hoppers [341]. The algorithm can be applied to a variety of systems, the prerequisite being that the system is chaotic. The stability is usually local.

* Quite related to the previous item (in the sense that similar tools are used), is the control of bifurcations and chaos in “simple” (i.e., with few DOF) systems. The goal is to use the frequency and magnitude of a sinusoidal excitation, as feedback controllers, see, e.g., [342]. The literature on this topic is huge [343, 344]. It departs from classical control (most of the works are published in the chaos and bifurcation literature), and is sometimes named *control through operating conditions* [340]. It can be useful in applications where periodic trajectories with a certain number of impacts *per* period are required (hammer-like tasks). Stability is usually local.

### 6.4. Impulsive Control

Impulsive controllers design boils down to design $\tau$ as a Dirac measure, or an approximation of it [327] (thus it is not to be confused with impulsive manipulation which consists of striking objects to send them at a desired position/orientation [112, 214, 113]). It shares with sliding-mode control and dead-beat control some finite-time properties. This has been applied in [327] to a hopping machine, and in [298] to several systems (a dimer as in section 3.7, and a compass gait as in section 3.3). Lyapunov functions are designed. Impulsive combined with continuous-time controllers are designed for various tasks (hopping, tapping, crawling, walking) in [298]. It is noteworthy that the impulsive controllers considered in [10, 11], are of a different kind. Indeed in [10, 11] the impulsive controllers correspond to $\lambda_n$ and $\lambda_t$ considered as inputs at impact times, not to $\tau$ being impulsive.

### 6.5. Algorithmically-designed Lyapunov Functions and Controllers

Algorithmically-designed controllers (Tedrake-Posa's approach [345, 346]) propose a way to calculate closed-loop's Lyapunov function for LCS solving BMIs. A priori, this method applies to the model with compliant contacts as in section 3.6 (hence complementarity systems with AC solutions, or even continuously differentiable in certain cases), it is also applied in [346] to impacts of class b) (section 2.2). Stabilization is treated but tracking has not yet been tackled. Notice that similarly to [307], the problem is formulated in an event-capturing time-stepping discrete-time framework in [345]. A similar approach is chosen in [180] who relax complementarity constraints with a Baumgarte's stabilization process, and formulate an optimal control problem comprising all constraints. In this setting the relaxation introduced in [347] could be tried. Model-predictive-control is applied to a discretized version of a juggling system in [348].