# Refined Post-Impact Velocity Prediction for Torque-Controlled Flexible-Joint Robots

Camilo Andres Rey Arias, Wouter Weekers, Marco Morganti, Vincent Padois, Alessandro Saccon

► To cite this version:

Camilo Andres Rey Arias, Wouter Weekers, Marco Morganti, Vincent Padois, Alessandro Saccon. Refined Post-Impact Velocity Prediction for Torque-Controlled Flexible-Joint Robots. IEEE Robotics and Automation Letters, 2024, 10.1109/LRA.2024.3364469. [hal-04148817v3](https://hal.science/hal-04148817v3)

HAL Id: hal-04148817

https://hal.science/hal-04148817v3

Submitted on 11 Feb 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Refined Post-Impact Velocity Prediction for Torque-Controlled Flexible-Joint Robots

Camilo Andres Rey Arias, Wouter Weekers, Marco Morganti, Vincent Padois, Alessandro Saccon

► To cite this version:

Camilo Andres Rey Arias, Wouter Weekers, Marco Morganti, Vincent Padois, Alessandro Saccon. Refined Post-Impact Velocity Prediction for Torque-Controlled Flexible-Joint Robots. IEEE Robotics and Automation Letters, 2024, 10.1109/LRA.2024.3364469. [hal-04148817v3](https://hal.science/hal-04148817v3)

HAL Id: hal-04148817

https://hal.science/hal-04148817v3

Submitted on 11 Feb 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Refined Post-Impact Velocity Prediction for Torque-Controlled Flexible-Joint Robots

Camilo Andres Rey Arias<fnref n="1" />, Wouter Weekers<fnref n="2" />, Marco Morganti<fnref n="1" />, Vincent Padois<fnref n="3" />, Alessandro Saccon<fnref n="2" />

*Abstract*—Predicting the post-impact velocity for torque-controlled flexible-joint robots enhances impact-aware control schemes which exploit intentional collisions for achieving dynamic robotic manipulation and locomotion. Compared to a previous approach based on a fully rigid-robot assumption, this paper shows how an improvement in the post-impact velocity prediction can be obtained by taking into account the joints' motor inertias, transmission ratios, and low-level torque control gains, as well as the impact surface friction. The paper also proposes a more robust method to estimate the gross post-impact velocity profile from experimental data via a polynomial fit. The improvement of the new post-impact velocity prediction is illustrated by means of both numerical simulations as well as 50 experimental trials on a commercially available torque-controlled robot. The recorded impact data and prediction algorithms are shared openly for reproducibility and further research.

## I. INTRODUCTION

IMPACT-AWARE robotics refers to the exploitation of intentional collisions for achieving dynamic manipulation and locomotion [1]–[3]. This paradigm shift is envisioned to extend state-of-the-art physical interaction control approaches that resort to enforcing near-zero relative contact velocity between a robot and its environment, treating collisions as disturbances to be dealt with (cf. [4], [5]). This ambitious goal requires a new holistic framework including modeling [6], learning [7], planning [8], sensing [9], and control aspects [10], supported by collision-tolerant hardware [11]–[13].

Impact-aware control strategies have to account for velocity jumps induced by intentional collisions that occur along a trajectory. These jumps, when they are not addressed directly [10] or indirectly [14] by the control strategy, are seen as a sudden large disturbance in the system which results in poor tracking and even cause instability [15]. Accurate post-impact velocity prediction models for robotic manipulators [6] can be used in trajectory planning to generate feedforward signals that lead to less aggressive post-impact control actions, since the post-impact system velocity matches the predicted feedforward, and limited feedback is thus required: reference spreading [10], [16], [17] is one of such impact-aware feedback control strategies that benefits from accurate post-impact feedforward.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Impact experiment example, recorded at Franka Emika: (1) The robot stands still at initial configuration; (2) The end-effector moves downwards and away from the robot base, as indicated by the red velocity arrow; (3) It impacts the steel plate; (4) After impact, it slightly bounces and then slides.</figcaption></figure>

Manuscript received: October, 14, 2023; Revised January, 12, 2024; Accepted Jan, 31, 2024. This paper was recommended for publication by Editor Júlia Borràs Sol upon evaluation of the Associate Editor and Reviewers' comments. This work was supported by the Research Project I.AM. through the EU H2020 program under GA 871899.

Digital Object Identifier (DOI): see top of this page.

These models are also of prominent relevance for impact classification to distinguish between expected and unexpected impact scenarios [9]. Other recent research in this direction, but for velocity-controlled robots, includes [18], [19].

In this work, we focus on post-impact prediction models with a single contact point, expanding on the seminal work [6]. In [6], impact maps based on readily available rigid-body robot models and nonsmooth impact laws are used to estimate the gross post-impact response of flexible joint robots impacting a rigid surface. The predictions are evaluated against real experiments by means of a novel *quantitative comparison procedure* [6], derived by the idea that the rigid-robot response can be compared with the real robot response by suitably neglecting the post-impact higher-frequency behavior of the non-rigid system. The rigid impact map proposed in [6] does not include any effect of either the low-level joint torque controller or the tangential friction between the end-effector and the impacted surface. We show here that incorporating these effects into an equivalent rigid-robot model with an adapted nonsmooth impact law significantly enhances prediction accuracy. In more detail, the contributions of this work are:

1) An improved post-impact velocity predictor, that incorporates the motor inertias, gear ratios, low-level joint torque-control gains, and tangential friction effects.

2) The experimental and numerical validation of the approach, showing the improvement with respect to two baseline approaches missing the tangential friction and low-level joint-torque control loop effects.

<footnote n="1">¹Camilo Andres Rey Arias and Marco Morganti were at the time of performing this research with Franka Emika GmbH, 80797 Munich, Germany (camiloarac@gmail.com, marco.morganti@franka.de)</footnote>

<footnote n="2">²Wouter Weekers and Alessandro Saccon are with the Department of Mechanical Engineering, Eindhoven University of Technology (TU/e), 5600 MB Eindhoven, The Netherlands (w.weekers@tue.nl, a.saccon@tue.nl)</footnote>

<footnote n="3">³Vincent Padois is with Inria, 33405 Talence, France (vincent.padois@inria.fr)</footnote>
# Refined Post-Impact Velocity Prediction for Torque-Controlled Flexible-Joint Robots

Camilo Andres Rey Arias<fnref n="1" />, Wouter Weekers<fnref n="2" />, Marco Morganti<fnref n="1" />, Vincent Padois<fnref n="3" />, Alessandro Saccon<fnref n="2" />

*Abstract*—Predicting the post-impact velocity for torque-controlled flexible-joint robots enhances impact-aware control schemes which exploit intentional collisions for achieving dynamic robotic manipulation and locomotion. Compared to a previous approach based on a fully rigid-robot assumption, this paper shows how an improvement in the post-impact velocity prediction can be obtained by taking into account the joints' motor inertias, transmission ratios, and low-level torque control gains, as well as the impact surface friction. The paper also proposes a more robust method to estimate the gross post-impact velocity profile from experimental data via a polynomial fit. The improvement of the new post-impact velocity prediction is illustrated by means of both numerical simulations as well as 50 experimental trials on a commercially available torque-controlled robot. The recorded impact data and prediction algorithms are shared openly for reproducibility and further research.

## I. INTRODUCTION

IMPACT-AWARE robotics refers to the exploitation of intentional collisions for achieving dynamic manipulation and locomotion [1]–[3]. This paradigm shift is envisioned to extend state-of-the-art physical interaction control approaches that resort to enforcing near-zero relative contact velocity between a robot and its environment, treating collisions as disturbances to be dealt with (cf. [4], [5]). This ambitious goal requires a new holistic framework including modeling [6], learning [7], planning [8], sensing [9], and control aspects [10], supported by collision-tolerant hardware [11]–[13].

Impact-aware control strategies have to account for velocity jumps induced by intentional collisions that occur along a trajectory. These jumps, when they are not addressed directly [10] or indirectly [14] by the control strategy, are seen as a sudden large disturbance in the system which results in poor tracking and even cause instability [15]. Accurate post-impact velocity prediction models for robotic manipulators [6] can be used in trajectory planning to generate feedforward signals that lead to less aggressive post-impact control actions, since the post-impact system velocity matches the predicted feedforward, and limited feedback is thus required: reference spreading [10], [16], [17] is one of such impact-aware feedback control strategies that benefits from accurate post-impact feedforward.

Manuscript received: October, 14, 2023; Revised January, 12, 2024; Accepted Jan, 31, 2024. This paper was recommended for publication by Editor Júlia Borràs Sol upon evaluation of the Associate Editor and Reviewers' comments. This work was supported by the Research Project I.AM. through the EU H2020 program under GA 871899.

Digital Object Identifier (DOI): see top of this page.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Impact experiment example, recorded at Franka Emika: (1) The robot stands still at initial configuration; (2) The end-effector moves downwards and away from the robot base, as indicated by the red velocity arrow; (3) It impacts the steel plate; (4) After impact, it slightly bounces and then slides.</figcaption></figure>

These models are also of prominent relevance for impact classification to distinguish between expected and unexpected impact scenarios [9]. Other recent research in this direction, but for velocity-controlled robots, includes [18], [19].

In this work, we focus on post-impact prediction models with a single contact point, expanding on the seminal work [6]. In [6], impact maps based on readily available rigid-body robot models and nonsmooth impact laws are used to estimate the gross post-impact response of flexible joint robots impacting a rigid surface. The predictions are evaluated against real experiments by means of a novel *quantitative comparison procedure* [6], derived by the idea that the rigid-robot response can be compared with the real robot response by suitably neglecting the post-impact higher-frequency behavior of the non-rigid system. The rigid impact map proposed in [6] does not include any effect of either the low-level joint torque controller or the tangential friction between the end-effector and the impacted surface. We show here that incorporating these effects into an equivalent rigid-robot model with an adapted nonsmooth impact law significantly enhances prediction accuracy. In more detail, the contributions of this work are:

1) An improved post-impact velocity predictor, that incorporates the motor inertias, gear ratios, low-level joint torque-control gains, and tangential friction effects.

2) The experimental and numerical validation of the approach, showing the improvement with respect to two baseline approaches missing the tangential friction and low-level joint-torque control loop effects.

<footnote n="1">¹Camilo Andres Rey Arias and Marco Morganti were at the time of performing this research with Franka Emika GmbH, 80797 Munich, Germany (camiloarac@gmail.com, marco.morganti@franka.de)</footnote>

<footnote n="2">²Wouter Weekers and Alessandro Saccon are with the Department of Mechanical Engineering, Eindhoven University of Technology (TU/e), 5600 MB Eindhoven, The Netherlands (w.weekers@tue.nl, a.saccon@tue.nl)</footnote>

<footnote n="3">³Vincent Padois is with Inria, 33405 Talence, France (vincent.padois@inria.fr)</footnote>
3) A post-impact velocity estimator to extract the rigid- robot post-impact response from recorded data. This estimator is based on a polynomial fitting procedure at position level and it is more robust in removing the post- impact oscillatory response than the one proposed in [6].

Our work has also clear potential to contribute to robot safety literature (cf. [20, equation (4)]), as our results show how the low-level torque control loop affects the effective mass at impact times. The recorded data of the 50 impact experi- ments [21], the code to compute the prediction and ground truth values of the post-impact velocity using the experimental data, and the illustrative 2D numerical simulation code [22] are openly available for reproducibility and further investigation. The experimental impact motions are not only planar as in [6], but they are fully 3D motions with changing motion directions and end-effector orientations. Figure 1 illustrates one such experiment.

This paper is structured as follows. Section II presents the system’s dynamics including the low-level controller, along with the derivation of the post-impact velocity predictor. A simulation study for numerical validation of the effectiveness of the predictor is presented in Section III. Section IV describes the setup for the impact experiments conducted to validate the accuracy of the predictor for a 7 degrees-of-freedom (DoF) robot. Finally, conclusions are drawn in Section V.

II. CONTACT MODELING AND DERIVATION OF THE Refined PREDICTOR

This section summarizes the standard flexible-joint robot model in Section II-A. This is then enriched with a contin- uous contact model in Section II-B, used in Section III for illustrating the novel post-impact velocity predictor by means of numerical simulations. In Section II-C, the novel equivalent rigid-robot model and the adapted impact map are detailed.

A. *Torque-controlled flexible-joint robot dynamics*

Consider an *n*-degrees-of-freedom flexible-joint robot, whose dynamics can be described as (cf., e.g., [23], [24])

$$
\tau = \mathbf{K}(\theta - \mathbf{q}), \quad (1)
$$

$$
\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}) = \tau + \mathbf{D}\mathbf{K}^{-1}\dot{\tau} + \tau_{\text{ext}}, \quad (2)
$$

$$
\mathbf{B}_{\rho} \ddot{\theta} + \tau + \mathbf{D} \mathbf{K}^{-1} \dot{\tau} = \tau_{\text{act}}. \quad (3)
$$

Here, $\mathbf{q} \in \mathbb{R}^n$ denotes the link-side joint positions, $\theta \in \mathbb{R}^n$
denotes the motor positions including the gear reduction, $\mathbf{M} \in \mathbb{R}^{n \times n}$ the joint space inertia matrix, $\mathbf{h} \in \mathbb{R}^n$ the Coriolis, centrifugal, and gravity effects, $\mathbf{K} = \text{diag}(k_i) \in \mathbb{R}^{n \times n}$ the joint stiffness matrix, $\mathbf{D} = \text{diag}(d_i) \in \mathbb{R}^{n \times n}$ the joint damping matrix, $\tau_{\text{ext}} \in \mathbb{R}^n$ the externally applied joint torques, $\mathbf{B}_{\rho} = \text{diag}(b_{\rho,i}) \in \mathbb{R}^{n \times n}$ the motor inertia matrix including the gear reduction, and

$$
\tau_{\text{act}} = \mathbf{B}_{\rho} \mathbf{B}_{\theta}^{-1} \mathbf{u} + (\mathbf{I}_n - \mathbf{B}_{\rho} \mathbf{B}_{\theta}^{-1}) (\tau + \mathbf{D} \mathbf{K}^{-1} \dot{\tau}) \quad (4)
$$

the actuation torques resulting from a low-level control loop, with $\mathbf{u} \in \mathbb{R}^n$ the desired link-side torques resulting from a high-level controller, and $\mathbf{B}_{\theta} = \text{diag}(b_{\theta,i}) \in \mathbb{R}^{n \times n}$ a positive definite matrix corresponding to the targeted closed-loop behaviour of the joint torque, such that $b_{\theta,i} < b_{\rho,i}, i = \{1, \dots, n\}$. Typical values for the ratios $b_{\rho,i}/b_{\theta,i}$ are between

4 and 6 [23]. The low-level torque control loop (4) can be shown to be equivalent to the PD + feedforward controller

$$
\tau_{\text{act}} = \mathbf{u} + \mathbf{K}_T(\mathbf{u} - \tau) - \mathbf{K}_S \dot{\tau} \quad (5)
$$

with proportional torque gain matrix $\mathbf{K}_T = \text{diag}(k_{T,i})$ and derivative torque gain matrix $\mathbf{K}_S = \text{diag}(k_{S,i})$, by setting $\mathbf{K}_T = \mathbf{B}_\rho \mathbf{B}_\theta^{-1} - \mathbf{I}_n$ and $\mathbf{K}_S = \mathbf{K}_T \mathbf{D} \mathbf{K}^{-1}$. Note that, by substitution of (4) in (3), the motor-side dynamics is equivalently written as

$$
\mathbf{B}_{\theta} \ddot{\theta} + \tau + \mathbf{D} \mathbf{K}^{-1} \dot{\tau} = \mathbf{u}, \quad (6)
$$

showing that the control parameter $\mathbf{B}_\theta$ can effectively be considered as a motor inertia matrix whose diagonal entries are reduced compared to those of $\mathbf{B}_\rho$. A flexible robotic joint and its associated parameters used in (1)-(6) are shown in Figure 2, with $\tau_J$ the reading of the link-side joint torque sensor.

B. *Continuous contact model*

Given the flexible-joint robot dynamics (1)-(3), the contact dynamics –including impacts– can be incorporated for numerical simulation purposes by adding a continuous contact model. This is a direct extension of what is called Model A in [6] to the case of a robot manipulator.

For reasons that will shortly be apparent, the exponentially-
extended Hunt-Crossley model [25] is chosen as the specific
continuous contact model in simulation of Model A. Similar
to the conventional Hunt-Crossley model [26] used in [6],
the exponentially-extended Hunt-Crossley model prevents non-
physical force jumps when establishing contact with nonzero
velocity. However, in addition to that, the exponentially-
extended Hunt-Crossley model prevents non-physical sticky
contact forces to occur upon forced separation at high velocity
and is thus preferred here. Explicitly, the contact model for
inelastic impacts is given by

$$
\mathbf{f}_N = \begin{cases} 0, & \text{if } \delta < 0, \\ k_c \delta^\eta + d_c \delta^\eta \dot{\delta}, & \text{if } \delta \ge 0 \text{ and } \dot{\delta} \ge 0, \\ k_c \exp\left(\frac{d_c}{k_c} \dot{\delta}\right) \delta^\eta, & \text{if } \delta \ge 0 \text{ and } \dot{\delta} < 0. \end{cases} \quad (7)
$$

In (7), $\delta$ is the penetration depth, i.e., the relative displacement between the contacting surfaces in the contact normal direction, $k_c$ is the nonlinear stiffness, $d_c$ is the damping factor, and $\eta$ is Hertz’ geometry-dependent contact parameter. Given the expression for $\mathbf{f}_N$ in (7), the contact and impact effects can be added to (2) by setting $\tau_{\text{ext}} = \mathbf{J}_N(\mathbf{q})^{\top}\mathbf{f}_N$, where $\mathbf{J}_N(\mathbf{q})$ is the row of the contact Jacobian associated with the linear velocity in the contact normal direction.

C. Equivalent rigid-robot model and rigid impact map

A description of the rigid-joint robot dynamics based on
the flexible-joint robot dynamics is used to predict the post-
impact response via a rigid impact map (denoted as Model C

<figure><img src="image_3.png" /><figcaption>Fig. 2. Schematic diagram of a flexible robotic joint.</figcaption></figure>
3) A post-impact velocity estimator to extract the rigid- robot post-impact response from recorded data. This estimator is based on a polynomial fitting procedure at position level and it is more robust in removing the post- impact oscillatory response than the one proposed in [6].

Our work has also clear potential to contribute to robot safety literature (cf. [20, equation (4)]), as our results show how the low-level torque control loop affects the effective mass at impact times. The recorded data of the 50 impact experi- ments [21], the code to compute the prediction and ground truth values of the post-impact velocity using the experimental data, and the illustrative 2D numerical simulation code [22] are openly available for reproducibility and further investigation. The experimental impact motions are not only planar as in [6], but they are fully 3D motions with changing motion directions and end-effector orientations. Figure 1 illustrates one such experiment.

This paper is structured as follows. Section II presents the system’s dynamics including the low-level controller, along with the derivation of the post-impact velocity predictor. A simulation study for numerical validation of the effectiveness of the predictor is presented in Section III. Section IV describes the setup for the impact experiments conducted to validate the accuracy of the predictor for a 7 degrees-of-freedom (DoF) robot. Finally, conclusions are drawn in Section V.

II. CONTACT MODELING AND DERIVATION OF THE Refined PREDICTOR

This section summarizes the standard flexible-joint robot model in Section II-A. This is then enriched with a contin- uous contact model in Section II-B, used in Section III for illustrating the novel post-impact velocity predictor by means of numerical simulations. In Section II-C, the novel equivalent rigid-robot model and the adapted impact map are detailed.

A. *Torque-controlled flexible-joint robot dynamics*

Consider an *n*-degrees-of-freedom flexible-joint robot, whose dynamics can be described as (cf., e.g., [23], [24])

$$
\tau = \mathbf{K}(\theta - \mathbf{q}), \quad (1)
$$

$$
\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}) = \mathbf{\tau} + \mathbf{D}\mathbf{K}^{-1}\dot{\mathbf{\tau}} + \mathbf{\tau}_{\text{ext}}, \quad (2)
$$

$$
\mathbf{B}_{\rho} \ddot{\theta} + \boldsymbol{\tau} + \mathbf{D} \mathbf{K}^{-1} \dot{\boldsymbol{\tau}} = \boldsymbol{\tau}_{\text{act}}. \quad (3)
$$

Here, $\mathbf{q} \in \mathbb{R}^n$ denotes the link-side joint positions, $\theta \in \mathbb{R}^n$
denotes the motor positions including the gear reduction, $\mathbf{M} \in \mathbb{R}^{n \times n}$ the joint space inertia matrix, $\mathbf{h} \in \mathbb{R}^n$ the Coriolis, centrifugal, and gravity effects, $\mathbf{K} = \text{diag}(k_i) \in \mathbb{R}^{n \times n}$ the joint stiffness matrix, $\mathbf{D} = \text{diag}(d_i) \in \mathbb{R}^{n \times n}$ the joint damping matrix, $\tau_{\text{ext}} \in \mathbb{R}^n$ the externally applied joint torques, $\mathbf{B}_{\rho} = \text{diag}(b_{\rho,i}) \in \mathbb{R}^{n \times n}$ the motor inertia matrix including the gear reduction, and

$$
\tau_{\text{act}} = \mathbf{B}_{\rho} \mathbf{B}_{\theta}^{-1} \mathbf{u} + \left( \mathbf{I}_n - \mathbf{B}_{\rho} \mathbf{B}_{\theta}^{-1} \right) \left( \boldsymbol{\tau} + \mathbf{D} \mathbf{K}^{-1} \boldsymbol{\dot{\tau}} \right) \quad (4)
$$

the actuation torques resulting from a low-level control loop, with **u** ∈ ℝⁿ the desired link-side torques resulting from a high-level controller, and **B**<sub>θ</sub> = diag(b<sub>θ,i</sub>) ∈ ℝ<sup>n×n</sup> a positive definite matrix corresponding to the targeted closed-loop behaviour of the joint torque, such that b<sub>θ,i</sub> < b<sub>ρ,i</sub>, i = {1, ..., n}. Typical values for the ratios b<sub>ρ,i</sub>/b<sub>θ,i</sub> are between

4 and 6 [23]. The low-level torque control loop (4) can be shown to be equivalent to the PD + feedforward controller

$$
\tau_{\text{act}} = \mathbf{u} + \mathbf{K}_T(\mathbf{u} - \boldsymbol{\tau}) - \mathbf{K}_S\dot{\boldsymbol{\tau}} \quad (5)
$$

with proportional torque gain matrix **K**<sub>T</sub> = diag(k<sub>T,i</sub>) and
derivative torque gain matrix **K**<sub>S</sub> = diag(k<sub>S,i</sub>), by setting
**K**<sub>T</sub> = **B**<sub>ρ</sub>**B**<sub>θ</sub><sup>-1</sup> − **I**<sub>n</sub> and **K**<sub>S</sub> = **K**<sub>T</sub>**D****K**<sup>-1</sup>. Note that,
by substitution of (4) in (3), the motor-side dynamics is
equivalently written as

$$
\mathbf{B}_{\theta} \ddot{\theta} + \boldsymbol{\tau} + \mathbf{D} \mathbf{K}^{-1} \dot{\boldsymbol{\tau}} = \mathbf{u}, \quad (6)
$$

showing that the control parameter **B**<sub>θ</sub> can effectively be
considered as a motor inertia matrix whose diagonal entries are
reduced compared to those of **B**<sub>ρ</sub>. A flexible robotic joint and
its associated parameters used in (1)-(6) are shown in Figure 2,
with τ<sub>J</sub> the reading of the link-side joint torque sensor.

B. *Continuous contact model*

Given the flexible-joint robot dynamics (1)-(3), the contact
dynamics –including impacts– can be incorporated for numeri-
cal simulation purposes by adding a continuous contact model.
This is a direct extension of what is called Model A in [6] to
the case of a robot manipulator.

For reasons that will shortly be apparent, the exponentially-
extended Hunt-Crossley model [25] is chosen as the specific
continuous contact model in simulation of Model A. Similar
to the conventional Hunt-Crossley model [26] used in [6],
the exponentially-extended Hunt-Crossley model prevents non-
physical force jumps when establishing contact with nonzero
velocity. However, in addition to that, the exponentially-
extended Hunt-Crossley model prevents non-physical sticky
contact forces to occur upon forced separation at high velocity
and is thus preferred here. Explicitly, the contact model for
inelastic impacts is given by

$$
\mathbf{f}_N = \begin{cases} 0, & \text{if } \delta < 0, \\ k_c \delta^\eta + d_c \delta^\eta \dot{\delta}, & \text{if } \delta \ge 0 \text{ and } \dot{\delta} \ge 0, \\ k_c \exp\left(\frac{d_c}{k_c} \dot{\delta}\right) \delta^\eta, & \text{if } \delta \ge 0 \text{ and } \dot{\delta} < 0. \end{cases} \quad (7)
$$

In (7), δ is the penetration depth, i.e., the relative displacement between the contacting surfaces in the contact normal direction, k_c is the nonlinear stiffness, d_c is the damping factor, and η is Hertz' geometry-dependent contact parameter. Given the expression for f_N in (7), the contact and impact effects can be added to (2) by setting τ_ext = J_N(q)ᵀf_N, where J_N(q) is the row of the contact Jacobian associated with the linear velocity in the contact normal direction.

C. Equivalent rigid-robot model and rigid impact map

A description of the rigid-joint robot dynamics based on
the flexible-joint robot dynamics is used to predict the post-
impact response via a rigid impact map (denoted as Model C

<figure><img src="image_3.png" /><figcaption>Fig. 2. Schematic diagram of a flexible robotic joint.</figcaption></figure>
in [6]). This model is obtained by substituting $\tau$ in (2) by its expression as a function of $\mathbf{u}$, $\dot{\tau}$, and $\dot{\theta}$ in (6), yielding

$$ \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}) = \mathbf{u} - \mathbf{B}_{\theta}\ddot{\theta} + \tau_{ext}. \quad (8) $$

The above relationship is valid for any value of joint stiffness $\mathbf{K}$. Therefore, assuming that the limit $\mathbf{K} \to \infty$ would exist, implying also that $\ddot{\mathbf{q}} \equiv \dot{\theta}$, then one would obtain

$$ (\mathbf{M}(\mathbf{q}) + \mathbf{B}_{\theta})\ddot{\mathbf{q}} + \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}) = \mathbf{u} + \tau_{ext}. \quad (9) $$

Equation (9), that we name the rigid-joint robot model associated to the torque-controlled flexible-joint robot model (1)-(4), has a mass matrix which includes the apparent motor inertia $\mathbf{B}_{\theta}$, that in turn depends on the actual motor inertia $\mathbf{B}_{\rho}$ and the low-level torque control gain $\mathbf{K}_{T}$. Note how the mass matrix $\mathbf{M}+\mathbf{B}_{\theta}$ appearing in (9), which we propose here in the context of impact dynamics for the first time, is different from the standard choices of $\mathbf{M}$ (ignoring the motor inertia, assuming full link-motor decoupling) or $\mathbf{M}+\mathbf{B}_{\rho}$ (adding the full scaled motor inertia to the links). In Sections III and IV, we will present numerical and experimental evidence that $\mathbf{M}+\mathbf{B}_{\theta}$ provides indeed the best agreement with post-impact dynamics.

Equation (9) has already appeared in [27, Chapter 5] in the context of singular perturbation analysis of the torque-controlled flexible-joint robot dynamics (1)-(4). However, no contact dynamics was included in [27, Chapter 5] and a formal proof of the derivation of the reduced order model (9) from singular perturbation theory with intermittent contacts and impacts is left for future investigation (a possible direction would be to explore the results presented in [28]). The observation that the mass matrix is corrected by the apparent motor inertia is important for the results discussed in Sections III and IV. However, it is important to recall that the rigid-joint robot model (9) is derived under the assumptions that (i) the low-level control loop (4) reduces the motor dynamics (3) to (6), and (ii) the motor-side joint accelerations $\dot{\theta}$ are equivalent to the link-side joint accelerations $\ddot{\mathbf{q}}$. The validity of these assumptions especially under hard impacts is unclear, due to the short time scale typically associated with impacts (usually a few milliseconds) and the finite bandwidth of the low-level control loop. As previously mentioned, in Sections III and IV extensive numerical and experimental validation is performed to assess the ability of the rigid-robot model (9) to capture the gross velocity jump of the model (1)-(4) after an impact, without explicitly modeling the flexible joint dynamics.

The rest of this subsection is devoted to the derivation of the impact map corresponding to the rigid-joint robot model expressed by (9), following the standard approach in nonsmooth mechanics [29], [30]. To this end we start with the following impact equation (cf. [6] for more details)

$$ \mathbf{M}_{\theta}(\dot{\mathbf{q}}^{+} - \dot{\mathbf{q}}^{-}) = \mathbf{J}_{N}^{\top}\mathbf{\Lambda}_{N} + \mathbf{J}_{T}^{\top}\mathbf{\Lambda}_{T}, \quad (10) $$

where $\mathbf{M}_{\theta} = \mathbf{M}(\mathbf{q}) + \mathbf{B}_{\theta}$, $\mathbf{\Lambda}_{N}$ and $\mathbf{\Lambda}_{T}$ represent the normal and tangential impulsive forces, $\dot{\mathbf{q}}^{+} \in \mathbb{R}^{n}$ the post-impact joint velocity, and $\dot{\mathbf{q}}^{-} \in \mathbb{R}^{n}$ the ante-impact joint velocity. Equation (10) can be simplified using the definition of the frictional force

$$ \mathbf{\Lambda}_{T} = -\mu \mathbf{u}_{T} \mathbf{\Lambda}_{N}, \quad (11) $$

with $\mu$ the friction coefficient and $\mathbf{u}_{T}$ the 2-dimensional direction of the frictional force determined using the ante-impact Cartesian velocity along the $xy$-plane, $\mathbf{v}_{xy}^{-}$, as

$$ \mathbf{u}_{T} = \frac{\mathbf{v}_{xy}^{-}}{\|\mathbf{v}_{xy}^{-}\|}. \quad (12) $$

Substituting (11) into (10), we obtain

$$ \mathbf{M}_{\theta}(\dot{\mathbf{q}}^{+} - \dot{\mathbf{q}}^{-}) = (\mathbf{J}_{N}^{\top} - \mu \mathbf{J}_{T}^{\top} \mathbf{u}_{T}) \mathbf{\Lambda}_{N}, \quad (13) $$

or equivalently

$$ \dot{\mathbf{q}}^{+} = \dot{\mathbf{q}}^{-} + \mathbf{M}_{\theta}^{-1} \tilde{\mathbf{J}}_{\mu}^{\top} \mathbf{\Lambda}_{N}, \quad (14) $$

where $\tilde{\mathbf{J}}_{\mu}$ is defined as $\mathbf{J}_{N} - \mu \mathbf{u}_{T}^{\top} \mathbf{J}_{T}$. Considering a perfectly inelastic impact law in the Cartesian space

$$ \mathbf{J}_{N} \dot{\mathbf{q}}^{+} = 0, \quad (15) $$

and substituting (14) into (15), we get

$$ \mathbf{\Lambda}_{N} = -(\mathbf{J}_{N} \mathbf{M}_{\theta}^{-1} \tilde{\mathbf{J}}_{\mu}^{\top})^{-1} \mathbf{J}_{N} \dot{\mathbf{q}}^{-}. \quad (16) $$

Finally, substituting (16) into (14) leads to the post-impact velocity predictor that we will use in this work

$$ \dot{\mathbf{q}}^{+} = [\mathbf{I}_{7} - \mathbf{M}_{\theta}^{-1} \tilde{\mathbf{J}}_{\mu}^{\top} (\mathbf{J}_{N} \mathbf{M}_{\theta}^{-1} \tilde{\mathbf{J}}_{\mu}^{\top})^{-1} \mathbf{J}_{N}] \dot{\mathbf{q}}^{-}. \quad (17) $$

Compared to the original expression for the post-impact velocity predictor in [6, Equation (5)], (17) contains two additional effects: first, the explicit dependence on $\mathbf{K}_{T}$ and $\mathbf{B}_{\rho}$ appearing via the mass matrix $\mathbf{M}_{\theta}$; second, the effect of tangential friction via the coefficient $\mu$.

### III. RIGID-ROBOT MODEL VALIDATION

This section is devoted to presenting numerical evidence that the rigid-robot model (9) associated with the flexible-joint robot with joint-torque control (1)-(4) is able to accurately predict the gross velocity jump after an impact. More precisely, the post-impact velocity prediction is obtained by employing the rigid-robot impact map (17) with $\mu = 0$ (for simplicity).

In this simulation study, we consider a planar RRR-manipulator, based on joints 2, 4, and 6 of the Franka Emika robot. We use a task-based QP controller with a sample rate of 1 kHz to generate the desired joint torques $\mathbf{u}$ needed to follow a linear trajectory from an initial point to a point below the contact surface, to impact the surface with a desired impact velocity and approach angle. The low-level control-loop (4), which is implemented with a sample rate of 4 kHz (mimicking the robot's internal low-level torque controller), uses the desired joint torques $\mathbf{u}$ to compute the real actuation torques based on the motor accelerations and the measured joint torques. The torque measurements are filtered with a first-order low-pass filter with a cut-off frequency of 300 Hz to include the lag effect that the sensors add on the real robot.

The dynamic parameters, i.e., link lengths, masses, rotational inertias, and center of mass positions, are determined by lumping the corresponding parameters identified in [31] of the Franka Emika robot for the 1) second and third, 2) fourth and fifth, and 3) sixth, seventh and end-effector links. The values are used in the equations of motion derived with the Euler-Lagrange method using the MATLAB symbolic toolbox. The values of the flexible joint parameters such as joint stiffness ($k_{i}$), joint damping ($d_{i}$), and motor inertia ($b_{\rho,i}$ and $b_{\theta,i}$), are
in [6]). This model is obtained by substituting $\tau$ in (2) by its expression as a function of $\mathbf{u}$, $\dot{\tau}$, and $\dot{\theta}$ in (6), yielding

$$ \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}) = \mathbf{u} - \mathbf{B}_{\theta}\ddot{\theta} + \tau_{ext}. \quad (8) $$

The above relationship is valid for any value of joint stiffness $\mathbf{K}$. Therefore, assuming that the limit $\mathbf{K} \to \infty$ would exist, implying also that $\ddot{\mathbf{q}} \equiv \dot{\theta}$, then one would obtain

$$ (\mathbf{M}(\mathbf{q}) + \mathbf{B}_{\theta})\ddot{\mathbf{q}} + \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}) = \mathbf{u} + \tau_{ext}. \quad (9) $$

Equation (9), that we name the rigid-joint robot model associated to the torque-controlled flexible-joint robot model (1)-(4), has a mass matrix which includes the apparent motor inertia $\mathbf{B}_{\theta}$, that in turn depends on the actual motor inertia $\mathbf{B}_{\rho}$ and the low-level torque control gain $\mathbf{K}_{T}$. Note how the mass matrix $\mathbf{M}+\mathbf{B}_{\theta}$ appearing in (9), which we propose here in the context of impact dynamics for the first time, is different from the standard choices of $\mathbf{M}$ (ignoring the motor inertia, assuming full link-motor decoupling) or $\mathbf{M}+\mathbf{B}_{\rho}$ (adding the full scaled motor inertia to the links). In Sections III and IV, we will present numerical and experimental evidence that $\mathbf{M}+\mathbf{B}_{\theta}$ provides indeed the best agreement with post-impact dynamics.

Equation (9) has already appeared in [27, Chapter 5] in the context of singular perturbation analysis of the torque-controlled flexible-joint robot dynamics (1)-(4). However, no contact dynamics was included in [27, Chapter 5] and a formal proof of the derivation of the reduced order model (9) from singular perturbation theory with intermittent contacts and impacts is left for future investigation (a possible direction would be to explore the results presented in [28]). The observation that the mass matrix is corrected by the apparent motor inertia is important for the results discussed in Sections III and IV. However, it is important to recall that the rigid-joint robot model (9) is derived under the assumptions that (i) the low-level control loop (4) reduces the motor dynamics (3) to (6), and (ii) the motor-side joint accelerations $\dot{\theta}$ are equivalent to the link-side joint accelerations $\ddot{\mathbf{q}}$. The validity of these assumptions especially under hard impacts is unclear, due to the short time scale typically associated with impacts (usually a few milliseconds) and the finite bandwidth of the low-level control loop. As previously mentioned, in Sections III and IV extensive numerical and experimental validation is performed to assess the ability of the rigid-robot model (9) to capture the gross velocity jump of the model (1)-(4) after an impact, without explicitly modeling the flexible joint dynamics.

The rest of this subsection is devoted to the derivation of the impact map corresponding to the rigid-joint robot model expressed by (9), following the standard approach in nonsmooth mechanics [29], [30]. To this end we start with the following impact equation (cf. [6] for more details)

$$ \mathbf{M}_{\theta}(\dot{\mathbf{q}}^{+} - \dot{\mathbf{q}}^{-}) = \mathbf{J}_{N}^{\top}\mathbf{\Lambda}_{N} + \mathbf{J}_{T}^{\top}\mathbf{\Lambda}_{T}, \quad (10) $$

where $\mathbf{M}_{\theta} = \mathbf{M}(\mathbf{q}) + \mathbf{B}_{\theta}$, $\mathbf{\Lambda}_{N}$ and $\mathbf{\Lambda}_{T}$ represent the normal and tangential impulsive forces, $\dot{\mathbf{q}}^{+} \in \mathbb{R}^{n}$ the post-impact joint velocity, and $\dot{\mathbf{q}}^{-} \in \mathbb{R}^{n}$ the ante-impact joint velocity. Equation (10) can be simplified using the definition of the frictional force

$$ \mathbf{\Lambda}_{T} = -\mu \mathbf{u}_{T} \mathbf{\Lambda}_{N}, \quad (11) $$

with $\mu$ the friction coefficient and $\mathbf{u}_{T}$ the 2-dimensional direction of the frictional force determined using the ante-impact Cartesian velocity along the $xy$-plane, $\mathbf{v}_{xy}^{-}$, as

$$ \mathbf{u}_{T} = \frac{\mathbf{v}_{xy}^{-}}{\|\mathbf{v}_{xy}^{-}\|}. \quad (12) $$

Substituting (11) into (10), we obtain

$$ \mathbf{M}_{\theta}(\dot{\mathbf{q}}^{+} - \dot{\mathbf{q}}^{-}) = (\mathbf{J}_{N}^{\top} - \mu \mathbf{J}_{T}^{\top} \mathbf{u}_{T}) \mathbf{\Lambda}_{N}, \quad (13) $$

or equivalently

$$ \dot{\mathbf{q}}^{+} = \dot{\mathbf{q}}^{-} + \mathbf{M}_{\theta}^{-1} \tilde{\mathbf{J}}_{\mu}^{\top} \mathbf{\Lambda}_{N}, \quad (14) $$

where $\tilde{\mathbf{J}}_{\mu}$ is defined as $\mathbf{J}_{N} - \mu \mathbf{u}_{T}^{\top} \mathbf{J}_{T}$. Considering a perfectly inelastic impact law in the Cartesian space

$$ \mathbf{J}_{N} \dot{\mathbf{q}}^{+} = 0, \quad (15) $$

and substituting (14) into (15), we get

$$ \mathbf{\Lambda}_{N} = -(\mathbf{J}_{N} \mathbf{M}_{\theta}^{-1} \tilde{\mathbf{J}}_{\mu}^{\top})^{-1} \mathbf{J}_{N} \dot{\mathbf{q}}^{-}. \quad (16) $$

Finally, substituting (16) into (14) leads to the post-impact velocity predictor that we will use in this work

$$ \dot{\mathbf{q}}^{+} = [\mathbf{I}_{7} - \mathbf{M}_{\theta}^{-1} \tilde{\mathbf{J}}_{\mu}^{\top} (\mathbf{J}_{N} \mathbf{M}_{\theta}^{-1} \tilde{\mathbf{J}}_{\mu}^{\top})^{-1} \mathbf{J}_{N}] \dot{\mathbf{q}}^{-}. \quad (17) $$

Compared to the original expression for the post-impact velocity predictor in [6, Equation (5)], (17) contains two additional effects: first, the explicit dependence on $\mathbf{K}_{T}$ and $\mathbf{B}_{\rho}$ appearing via the mass matrix $\mathbf{M}_{\theta}$; second, the effect of tangential friction via the coefficient $\mu$.

### III. RIGID-ROBOT MODEL VALIDATION

This section is devoted to presenting numerical evidence that the rigid-robot model (9) associated with the flexible-joint robot with joint-torque control (1)-(4) is able to accurately predict the gross velocity jump after an impact. More precisely, the post-impact velocity prediction is obtained by employing the rigid-robot impact map (17) with $\mu = 0$ (for simplicity).

In this simulation study, we consider a planar RRR-manipulator, based on joints 2, 4, and 6 of the Franka Emika robot. We use a task-based QP controller with a sample rate of 1 kHz to generate the desired joint torques $\mathbf{u}$ needed to follow a linear trajectory from an initial point to a point below the contact surface, to impact the surface with a desired impact velocity and approach angle. The low-level control-loop (4), which is implemented with a sample rate of 4 kHz (mimicking the robot's internal low-level torque controller), uses the desired joint torques $\mathbf{u}$ to compute the real actuation torques based on the motor accelerations and the measured joint torques. The torque measurements are filtered with a first-order low-pass filter with a cut-off frequency of 300 Hz to include the lag effect that the sensors add on the real robot.

The dynamic parameters, i.e., link lengths, masses, rotational inertias, and center of mass positions, are determined by lumping the corresponding parameters identified in [31] of the Franka Emika robot for the 1) second and third, 2) fourth and fifth, and 3) sixth, seventh and end-effector links. The values are used in the equations of motion derived with the Euler-Lagrange method using the MATLAB symbolic toolbox. The values of the flexible joint parameters such as joint stiffness ($k_{i}$), joint damping ($d_{i}$), and motor inertia ($b_{\rho,i}$ and $b_{\theta,i}$), are
defined as order of magnitude estimates provided by Franka Emika. Finally, the parameters of the continuous contact model are computed as follows. The contact nonlinear stiffness ($k_c$) is computed based on Hertz contact theory for sphere-half space steel-wood interaction, and the contact damping factor ($d_c$) is chosen empirically by observing for which value the simulations resulted in fully inelastic impact. The values of these parameters are available on [22] for the interested reader.

The simulations clearly support the claim that the rigid-joint robot model (9) with the impact map (17) is capable of capturing the main post-impact response of a flexible-joint robot, as long as the right inertia matrix $M_θ = M + B_θ$ is used. In particular, the following two key observations can be made. First, the magnitude of the velocity jump observed for the associated rigid-robot model closely resembles the magnitude of the velocity jump of the flexible-joint model with continuous contact. Second, the flexible-joint model response oscillates around the response of the rigid-robot model. To illustrate these facts on a specific simulation, the joint velocities for the representative impact scenario with an approach angle of 30 degrees with respect to the horizontal plane and an impact velocity of 0.1 m/s in the direction of motion visualized in Figure 3 are shown in Figure 4. Besides the aforementioned observations, simulations with different inertia matrices in the impact map (using $M, M + B_θ$, or $M + B_ρ$ as values for $M_θ$ in (17)) show that using $M_θ = M + B_θ$ indeed leads to the most accurate rigid-robot model. Comparing the different post-impact responses one observes that the magnitude of the velocity jump does not match the velocity jump of the flexible-joint model in case $M$ or $M + B_ρ$ are used, as shown in Figure 4, nor does the resulting post-impact response in these cases describe the response around which the flexible-joint model oscillates.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Simulated impact scenario with an approach angle of 30 degrees and an impact velocity of 0.1 m/s. Time evolves from left to right, and from top to bottom. The impact location is indicated by the vertical dashed line.</figcaption></figure>

## IV. EXPERIMENTAL VALIDATION

In the following, given the numerical evidence provided in Section III, we detail the validation of the post-impact velocity predictor (17) on experimental data, including the new method to extract the equivalent rigid body post-impact motion from post-impact oscillatory responses. These validation results provide an indication of the expectable accuracy, and two ablation

<figure><img src="image_5.png" /><figcaption>Fig. 4. Comparison of the post-impact joint velocities for a flexible-joint robot with a continuous contact model and three instances of a rigid-joint robot with different inertia matrices for the impact map (impact as in Figure 3). Results obtained with $M + B_θ$ yield the best asymptotic behaviour w.r.t. the flexible joints + continuous contact model which serves as a reference.</figcaption></figure>

studies showing the importance of choosing the correct mass matrix (recall the $M + B_ρ$ vs. $M + B_θ$ discussion in the previous section) as well as the relevance of accounting for the tangential friction force, via friction coefficient $μ$ in (17).

A set of 50 experiments was recorded where a 7 DoF Franka Emika robot arm with a spherical aluminum end-effector impacted a horizontal plate made of steel, as illustrated by the sequence shown in Figure 1. During the recording process 10 different initial robot configurations along with the respective target force sent to the Franka Control Interface (FCI)<fnref n="4" /> were set. The target force applied at the end-effector is transformed via the end-effector Jacobian to joint-torque commands, which are then sent to the robot via the FCI. The target force is set to zero before impact, causing the robot to move freely towards the steel plate under pure gravity compensation and thus being influenced during impact only by the low-level torque control loop at 4 kHz, but not by any external higher-level controller. The impact causes a jump in the velocity signal, with a post-impact response with short-lived oscillations, as illustrated by the joint velocity of a representative impact experiment in Figure 5. These oscillations damp out after about 100 ms, after which the arm continues to move until being stopped by friction in both its own joints and the contact with the surface.

For each of the 10 sets of initial conditions, where each set defines an experiment type, 5 repetitions were run in order to prove the repeatability of the experiment type and little sensitivity of the prediction for very similar responses. These 10 groups of experiments can be subdivided in three main subtypes depending on motion direction, each in turn subdivided according to different end-effector orientations. An overview of all types of experiments and additional details are given in Table I. These experiments are similar to the simulation shown in Figure 3, especially for experiments of type 1 to 4 (Table I), because the motion direction and the

<footnote n="4">⁴Further details on https://frankaemika.github.io/docs/overview.html.</footnote>
defined as order of magnitude estimates provided by Franka Emika. Finally, the parameters of the continuous contact model are computed as follows. The contact nonlinear stiffness ($k_c$) is computed based on Hertz contact theory for sphere-half space steel-wood interaction, and the contact damping factor ($d_c$) is chosen empirically by observing for which value the simulations resulted in fully inelastic impact. The values of these parameters are available on [22] for the interested reader.

The simulations clearly support the claim that the rigid-joint robot model (9) with the impact map (17) is capable of capturing the main post-impact response of a flexible-joint robot, as long as the right inertia matrix $M_\theta = M + B_\theta$ is used. In particular, the following two key observations can be made. First, the magnitude of the velocity jump observed for the associated rigid-robot model closely resembles the magnitude of the velocity jump of the flexible-joint model with continuous contact. Second, the flexible-joint model response oscillates around the response of the rigid-robot model. To illustrate these facts on a specific simulation, the joint velocities for the representative impact scenario with an approach angle of 30 degrees with respect to the horizontal plane and an impact velocity of 0.1 m/s in the direction of motion visualized in Figure 3 are shown in Figure 4. Besides the aforementioned observations, simulations with different inertia matrices in the impact map (using $M, M + B_\theta$, or $M + B_\rho$ as values for $M_\theta$ in (17)) show that using $M_\theta = M + B_\theta$ indeed leads to the most accurate rigid-robot model. Comparing the different post-impact responses one observes that the magnitude of the velocity jump does not match the velocity jump of the flexible-joint model in case $M$ or $M + B_\rho$ are used, as shown in Figure 4, nor does the resulting post-impact response in these cases describe the response around which the flexible-joint model oscillates.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Simulated impact scenario with an approach angle of 30 degrees and an impact velocity of 0.1 m/s. Time evolves from left to right, and from top to bottom. The impact location is indicated by the vertical dashed line.</figcaption></figure>

## IV. EXPERIMENTAL VALIDATION

In the following, given the numerical evidence provided in Section III, we detail the validation of the post-impact velocity predictor (17) on experimental data, including the new method to extract the equivalent rigid body post-impact motion from post-impact oscillatory responses. These validation results provide an indication of the expectable accuracy, and two ablation

<figure><img src="image_5.png" /><figcaption>Fig. 4. Comparison of the post-impact joint velocities for a flexible-joint robot with a continuous contact model and three instances of a rigid-joint robot with different inertia matrices for the impact map (impact as in Figure 3). Results obtained with $M + B_\theta$ yield the best asymptotic behaviour w.r.t. the flexible joints + continuous contact model which serves as a reference.</figcaption></figure>

studies showing the importance of choosing the correct mass matrix (recall the $M + B_\rho$ vs. $M + B_\theta$ discussion in the previous section) as well as the relevance of accounting for the tangential friction force, via friction coefficient $\mu$ in (17).

A set of 50 experiments was recorded where a 7 DoF Franka Emika robot arm with a spherical aluminum end-effector impacted a horizontal plate made of steel, as illustrated by the sequence shown in Figure 1. During the recording process 10 different initial robot configurations along with the respective target force sent to the Franka Control Interface (FCI)<fnref n="4" /> were set. The target force applied at the end-effector is transformed via the end-effector Jacobian to joint-torque commands, which are then sent to the robot via the FCI. The target force is set to zero before impact, causing the robot to move freely towards the steel plate under pure gravity compensation and thus being influenced during impact only by the low-level torque control loop at 4 kHz, but not by any external higher-level controller. The impact causes a jump in the velocity signal, with a post-impact response with short-lived oscillations, as illustrated by the joint velocity of a representative impact experiment in Figure 5. These oscillations damp out after about 100 ms, after which the arm continues to move until being stopped by friction in both its own joints and the contact with the surface.

For each of the 10 sets of initial conditions, where each set defines an experiment type, 5 repetitions were run in order to prove the repeatability of the experiment type and little sensitivity of the prediction for very similar responses. These 10 groups of experiments can be subdivided in three main subtypes depending on motion direction, each in turn subdivided according to different end-effector orientations. An overview of all types of experiments and additional details are given in Table I. These experiments are similar to the simulation shown in Figure 3, especially for experiments of type 1 to 4 (Table I), because the motion direction and the

<footnote n="4">⁴Further details on https://frankaemika.github.io/docs/overview.html.</footnote>
<figure><img src="image_6.png" /><figcaption>Fig. 5. Joint velocity of joint 6, $\dot{q}_6$, for a representative impact experiment (type 1 in Table I), together with the joint position $q_6$ (black line), post-impact polynomial fit and its derivative (dashed lines), and gross velocity jump estimation $\hat{\dot{q}}_6$.</figcaption></figure>

motion plane are the same but with different approach angles, i.e., 55° for type 1, 30° for type 2, and 26° for types 3-4. Moreover, the ante-impact velocities for these experiments are within a span of 0.1 to 0.2 m/s.

### A. Impact detection and post-impact velocity estimate

A practical offline impact detector was implemented for the automatic identification of the impact time, to avoid manual data annotation. The detector identifies sharp changes in the joint velocity, $\dot{q}$, using a joint acceleration estimate, computed using central differences to eliminate phase lag. The detector was applied in parallel to joints 1 to 6 because it often retrieved false positives when applied to joint 7. From the six estimates the one that happens the earliest was selected.

In regard to the impact time detection, this study also revealed that different joints exhibit a gradual lag in the time of impact, with joints farther from the impact surface presenting a larger lag. The simplifying modeling assumption that velocity is jumping at each joint at the same time is therefore not fully satisfied at millisecond scale and, therefore, having picked for simplicity just one impact moment, one can see small inaccuracies as visible in Figure 5. Therein, the selected impact time used for polynomial fitting in all joints is slightly delayed with respect to when the velocity really starts to change for the specific joint 6. This leads to small inaccuracies in extracting the ante- and post-impact velocities $\dot{q}^-$ and $\dot{q}^+$ for some joints, that are however at par with average velocity prediction errors

<caption>TABLE I</caption>

TYPES OF PERFORMED IMPACT EXPERIMENTS (EACH REPEATED 5 TIMES), WITH DIFFERENT MOTION DIRECTIONS AND ORIENTATIONS (ROTATIONS) PRIOR TO IMPACT. THE MOTION DIRECTION IS DEFINED W.R.T. THE BASE FRAME DISPLAYED IN FIGURE 1, WHEREAS THE ORIENTATION IS DEFINED W.R.T. A FRAME LOCATED AT THE CENTER OF THE END-EFFECTOR SPHERE AND ALIGNED WITH THE BASE FRAME

<table><thead><tr><th>Experiment Type</th><th>Motion Direction</th><th>End-Effector Orientation</th></tr></thead><tbody><tr><td>1</td><td rowspan="4">Forward<br>(positive direction<br>along x-axis)</td><td>-30° about y-axis</td></tr><tr><td>2</td><td>-20° about y-axis</td></tr><tr><td>3</td><td>-10° about y-axis</td></tr><tr><td>4</td><td>z-axis aligned with gravity</td></tr><tr><td>5</td><td rowspan="4">Backward<br>(negative direction<br>along x-axis)</td><td>30° about y-axis</td></tr><tr><td>6</td><td>20° about y-axis</td></tr><tr><td>7</td><td>10° about y-axis</td></tr><tr><td>8</td><td>z-axis aligned with gravity</td></tr><tr><td>9</td><td rowspan="2">Lateral (negative<br>direction along y-axis)</td><td>-30° about x-axis</td></tr><tr><td>10</td><td>z-axis aligned with gravity</td></tr></tbody></table>

(≈ 1°/s according to the error definition in the following subsection) and therefore have been deemed not worth of further refinement.

Following the approach that was proposed in [6], we are mainly interested in predicting the gross velocity jump after an impact. Therefore, we need a method to filter out the impact-induced oscillations shown, e.g., in Figure 5, and keeping lower frequency content. Differently from [6], where a nonlinear least-squares fitting was performed on the velocity signal, here a simpler and more robust approach based on a polynomial least-squares fit on the post-impact joint position time signal is used. The gross velocity jump is estimated by simply evaluating the derivative of the fitted polynomial at the estimated impact time. The improved robustness of this method is provided by the fact that it results in a linear least-squares problem, which is convex. Hence, its performance does not depend on the parameter initialization and it is not prone to getting stuck in local minima, as opposed to the nonlinear least-square fitting used in [6].

Given the time-scale of the post-impact oscillation at hand, the fitting is applied over a window that spans 100 ms, starting at the estimated impact time. This window was selected as a result of the qualitative analysis of the velocity signals throughout the 50 recorded experiments, that showed that 100 ms does correspond in all cases to the approximate duration of the oscillations present in the post-impact response of the robot (cf. oscillations in Figure 5). We have found that a third order polynomial is sufficient in capturing the evolution of joint position trajectories.

As in [6], the gross velocity jump estimation provided by the polynomial least-squares fit on the position data is used as ground truth in the assessment of the prediction accuracy as explained later in detail.

### B. Selection of motor inertia constant

The numerical validation presented in Section III shows that using $M + B_θ$ as the inertia matrix within the post-impact velocity predictor delivers the most accurate results. In the following, we provide experimental evidence that this is indeed the case, showing that the naïve choice of using $M + B_ρ$ leads to worse results (as well as using $M$, a fact that was not understood in [6]).

The predictions over the whole set of 50 experiments were assessed based on the *quantitative comparison procedure* proposed in [6, Section IV] that enables a quantitative evaluation of the prediction by comparing the experimental post-impact data, containing oscillations, and the post-impact velocity estimated by the predictor derived using nonsmooth mechanics theory. In this comparison we used the absolute error metric

$$e_i = |\hat{q}_i^+ - \hat{q}_i^+|, \quad (18)$$

where, for each joint $i$, $\hat{q}_i^+$ is the virtual rigid-body post-impact velocity obtained via the polynomial fit procedure of Section IV-A on experimental data and $\hat{q}_i^+$ is the predicted rigid-robot post impact velocity for joint $i$ obtained via (17).

The influence of the selected dynamic model motor inertia on the prediction of the post-impact velocity can be assessed quantitatively joint-wise. Comparing the mean values obtained for the experiments confirmed that the prediction based on
<figure><img src="image_6.png" /><figcaption>Fig. 5. Joint velocity of joint 6, $\dot{q}_6$, for a representative impact experiment (type 1 in Table I), together with the joint position $q_6$ (black line), post-impact polynomial fit and its derivative (dashed lines), and gross velocity jump estimation $\hat{\dot{q}}_6$.</figcaption></figure>

motion plane are the same but with different approach angles, i.e., 55° for type 1, 30° for type 2, and 26° for types 3-4. Moreover, the ante-impact velocities for these experiments are within a span of 0.1 to 0.2 m/s.

### A. Impact detection and post-impact velocity estimate

A practical offline impact detector was implemented for the automatic identification of the impact time, to avoid manual data annotation. The detector identifies sharp changes in the joint velocity, $\dot{q}$, using a joint acceleration estimate, computed using central differences to eliminate phase lag. The detector was applied in parallel to joints 1 to 6 because it often retrieved false positives when applied to joint 7. From the six estimates the one that happens the earliest was selected.

In regard to the impact time detection, this study also revealed that different joints exhibit a gradual lag in the time of impact, with joints farther from the impact surface presenting a larger lag. The simplifying modeling assumption that velocity is jumping at each joint at the same time is therefore not fully satisfied at millisecond scale and, therefore, having picked for simplicity just one impact moment, one can see small inaccuracies as visible in Figure 5. Therein, the selected impact time used for polynomial fitting in all joints is slightly delayed with respect to when the velocity really starts to change for the specific joint 6. This leads to small inaccuracies in extracting the ante- and post-impact velocities $\dot{q}^-$ and $\dot{q}^+$ for some joints, that are however at par with average velocity prediction errors

<caption>TABLE I</caption>

TYPES OF PERFORMED IMPACT EXPERIMENTS (EACH REPEATED 5 TIMES), WITH DIFFERENT MOTION DIRECTIONS AND ORIENTATIONS (ROTATIONS) PRIOR TO IMPACT. THE MOTION DIRECTION IS DEFINED W.R.T. THE BASE FRAME DISPLAYED IN FIGURE 1, WHEREAS THE ORIENTATION IS DEFINED W.R.T. A FRAME LOCATED AT THE CENTER OF THE END-EFFECTOR SPHERE AND ALIGNED WITH THE BASE FRAME

<table><thead><tr><th>Experiment Type</th><th>Motion Direction</th><th>End-Effector Orientation</th></tr></thead><tbody><tr><td>1</td><td rowspan="4">Forward<br>(positive direction<br>along x-axis)</td><td>-30° about y-axis</td></tr><tr><td>2</td><td>-20° about y-axis</td></tr><tr><td>3</td><td>-10° about y-axis</td></tr><tr><td>4</td><td>z-axis aligned with gravity</td></tr><tr><td>5</td><td rowspan="4">Backward<br>(negative direction<br>along x-axis)</td><td>30° about y-axis</td></tr><tr><td>6</td><td>20° about y-axis</td></tr><tr><td>7</td><td>10° about y-axis</td></tr><tr><td>8</td><td>z-axis aligned with gravity</td></tr><tr><td>9</td><td rowspan="2">Lateral (negative<br>direction along y-axis)</td><td>-30° about x-axis</td></tr><tr><td>10</td><td>z-axis aligned with gravity</td></tr></tbody></table>

(≈ 1°/s according to the error definition in the following subsection) and therefore have been deemed not worth of further refinement.

Following the approach that was proposed in [6], we are mainly interested in predicting the gross velocity jump after an impact. Therefore, we need a method to filter out the impact-induced oscillations shown, e.g., in Figure 5, and keeping lower frequency content. Differently from [6], where a nonlinear least-squares fitting was performed on the velocity signal, here a simpler and more robust approach based on a polynomial least-squares fit on the post-impact joint position time signal is used. The gross velocity jump is estimated by simply evaluating the derivative of the fitted polynomial at the estimated impact time. The improved robustness of this method is provided by the fact that it results in a linear least-squares problem, which is convex. Hence, its performance does not depend on the parameter initialization and it is not prone to getting stuck in local minima, as opposed to the nonlinear least-square fitting used in [6].

Given the time-scale of the post-impact oscillation at hand, the fitting is applied over a window that spans 100 ms, starting at the estimated impact time. This window was selected as a result of the qualitative analysis of the velocity signals throughout the 50 recorded experiments, that showed that 100 ms does correspond in all cases to the approximate duration of the oscillations present in the post-impact response of the robot (cf. oscillations in Figure 5). We have found that a third order polynomial is sufficient in capturing the evolution of joint position trajectories.

As in [6], the gross velocity jump estimation provided by the polynomial least-squares fit on the position data is used as ground truth in the assessment of the prediction accuracy as explained later in detail.

### B. Selection of motor inertia constant

The numerical validation presented in Section III shows that using $M + B_\theta$ as the inertia matrix within the post-impact velocity predictor delivers the most accurate results. In the following, we provide experimental evidence that this is indeed the case, showing that the naïve choice of using $M + B_\rho$ leads to worse results (as well as using $M$, a fact that was not understood in [6]).

The predictions over the whole set of 50 experiments were assessed based on the *quantitative comparison procedure* proposed in [6, Section IV] that enables a quantitative evaluation of the prediction by comparing the experimental post-impact data, containing oscillations, and the post-impact velocity estimated by the predictor derived using nonsmooth mechanics theory. In this comparison we used the absolute error metric

$$e_i = |\hat{q}_i^+ - \hat{q}_i^+|, \quad (18)$$

where, for each joint $i$, $\hat{q}_i^+$ is the virtual rigid-body post-impact velocity obtained via the polynomial fit procedure of Section IV-A on experimental data and $\hat{q}_i^+$ is the predicted rigid-robot post impact velocity for joint $i$ obtained via (17).

The influence of the selected dynamic model motor inertia on the prediction of the post-impact velocity can be assessed quantitatively joint-wise. Comparing the mean values obtained for the experiments confirmed that the prediction based on
<figure><img src="image_7.png" /><figcaption>Fig. 6. Mean values of the virtual rigid-body post-impact velocity, $\hat{\dot{q}}_i^+$ (blue line), the measured ante-impact velocity, $\dot{q}_i^-$ (black line), and the predictions, $\Delta \dot{q}_i^+$, for joints 1 to 7 using either $M_\theta = M + B_\theta$ (green) or $M_\rho = M + B_\rho$ (red) (averaged over 5 experiments of type 1, see Table I).</figcaption></figure>

$B_\theta$ is more accurate overall than the prediction based on $B_\rho$. This means that the predictions using $B_\theta$ are in general closer to the post-impact velocity obtained via the polynomial fit, as illustrated by the representative results shown in Figure 6, where an experiment of type 1, see Table I, is depicted. In both predictions, surface friction at impact is accounted for (the importance and effect of surface friction on the post-impact velocity prediction will be discussed later).

For each of the 10 types of experiments reported in Table I, a comparison of the absolute prediction error using $B_\theta$ and $B_\rho$ is reported in Table II. The errors are averaged over the 5 experiment repetitions. The table shows that for most joints there is not a significant difference in the absolute prediction error when using $B_\theta$ and $B_\rho$ in (17). We have highlighted the cells in the table where the difference between the magnitudes of the absolute error in the predictions for $B_\theta$ and $B_\rho$ goes over a threshold of 1.0°/s. These cells represent the essential differences. This threshold is selected based on a qualitative analysis of plots such as the one displayed in Figure 6, where differences below 1.0°/s are hardly noticeable. For error prediction differences above this threshold, we highlight in green the case where the prediction based on $B_\theta$ outperforms that of using $B_\rho$ and in red the opposite case.

Although there is not a significant difference in the prediction accuracy when considering all joints, for joint 6, which as expected is the most affected by the impact, the inclusion of $B_\theta$ in the predictor improves the accuracy by at least a factor of ≈ 2 (1.88) for all experiments where the difference in the prediction is significant (7 out of 10). This provides evidence that a prediction based on $B_\theta$ is to be preferred over a prediction based on $B_\rho$. To provide the reader with the ability to also assess the relative error in the prediction, Table II provides, besides the absolute error, the ante- and post-impact velocities extracted from experimental data.

It has to be reported that the prediction based on $B_\theta$ appears sometimes (5 out of 10 experiments) to worsen the prediction for joint 5, with an error difference of about 2°/s (red cells in the respective column of Table II). Our claim is that (this joint's) motor static friction –currently not accounted for in our nonsmooth modeling– plays a role in this apparent inconsistency, but a thorough investigation of this fact is left

for further research. This decrease in prediction accuracy for joint 5 is however a smaller effect when compared with the gain in prediction accuracy that one obtains in joint 6.

### C. Robot-surface tangential Coulomb friction

A value of 0.3 was identified for the friction coefficient between the spherical aluminum end-effector and the impacted steel plate. This parameter was tuned through the minimization of the prediction error for one of the experiments (type 4 in Table I) as a function of the selected friction coefficient included in $\tilde{\mathbf{J}}_\mu$ for the predictor expression (17). The friction coefficient retrieved by the optimization was the same using either of the two model motor inertia constants, i.e., either $B_\theta$ or $B_\rho$. Moreover, the identified magnitude of the friction coefficient was verified using a force gauge, by fixating one end to the spherical aluminum end-effector and pulling from the other end of the gauge. This measurement provided a similar value (difference below 10%).

The tuning of the friction coefficient already shows that a minimum is obtained at a value that is different from zero, but in order to provide evidence that the addition of friction to the impact modeling is providing a substantial increase in prediction accuracy, we report the prediction errors corresponding to the case where no friction is considered ($\mu = 0$) and the one where $\mu = 0.3$. In both predictions we employed $M_\theta = M + B_\theta$ as the inertia matrix.

The predictions including friction are much closer to the virtual rigid-body post-impact velocity obtained in experiments, as illustrated by the representative mean results of the experiments of type 4 in Figure 7. In this figure, the green dots representing the predictions with friction are closer to the virtual rigid-body post-impact velocity, shown in blue, than the predictions without friction, shown in red. Furthermore, a comparison of the average absolute prediction error with and without friction shows that the inclusion of the tangential Coulomb friction term significantly improves its accuracy, as illustrated by the values provided in Table III. The absolute prediction error is defined, as before, according to (18).

Cells highlighted in green indicate a significantly better performance (> 1.0°/s) of the predictor that accounts for friction, and cells in red indicate that the opposite is true. In this

<figure><img src="image_8.png" /><figcaption>Fig. 7. Mean values of the virtual rigid-body post-impact velocity, $\hat{\dot{q}}_i^+$ (blue line), the measured ante-impact velocity, $\dot{q}_i^-$ (black line), and the predictions, $\Delta \dot{q}_i^+$, for joints 1 to 7 with (green) and without (red) considering tangential friction (averaged over 5 experiments of type 4, see Table I).</figcaption></figure>
<figure><img src="image_7.png" /><figcaption>Fig. 6. Mean values of the virtual rigid-body post-impact velocity, $\hat{\dot{q}}_i^+$ (blue line), the measured ante-impact velocity, $\dot{q}_i^-$ (black line), and the predictions, $\Delta \dot{q}_i^+$, for joints 1 to 7 using either $M_\theta = M + B_\theta$ (green) or $M_\rho = M + B_\rho$ (red) (averaged over 5 experiments of type 1, see Table I).</figcaption></figure>

$B_\theta$ is more accurate overall than the prediction based on $B_\rho$. This means that the predictions using $B_\theta$ are in general closer to the post-impact velocity obtained via the polynomial fit, as illustrated by the representative results shown in Figure 6, where an experiment of type 1, see Table I, is depicted. In both predictions, surface friction at impact is accounted for (the importance and effect of surface friction on the post-impact velocity prediction will be discussed later).

For each of the 10 types of experiments reported in Table I, a comparison of the absolute prediction error using $B_\theta$ and $B_\rho$ is reported in Table II. The errors are averaged over the 5 experiment repetitions. The table shows that for most joints there is not a significant difference in the absolute prediction error when using $B_\theta$ and $B_\rho$ in (17). We have highlighted the cells in the table where the difference between the magnitudes of the absolute error in the predictions for $B_\theta$ and $B_\rho$ goes over a threshold of 1.0°/s. These cells represent the essential differences. This threshold is selected based on a qualitative analysis of plots such as the one displayed in Figure 6, where differences below 1.0°/s are hardly noticeable. For error prediction differences above this threshold, we highlight in green the case where the prediction based on $B_\theta$ outperforms that of using $B_\rho$ and in red the opposite case.

Although there is not a significant difference in the prediction accuracy when considering all joints, for joint 6, which as expected is the most affected by the impact, the inclusion of $B_\theta$ in the predictor improves the accuracy by at least a factor of ≈ 2 (1.88) for all experiments where the difference in the prediction is significant (7 out of 10). This provides evidence that a prediction based on $B_\theta$ is to be preferred over a prediction based on $B_\rho$. To provide the reader with the ability to also assess the relative error in the prediction, Table II provides, besides the absolute error, the ante- and post-impact velocities extracted from experimental data.

It has to be reported that the prediction based on $B_\theta$ appears sometimes (5 out of 10 experiments) to worsen the prediction for joint 5, with an error difference of about 2°/s (red cells in the respective column of Table II). Our claim is that (this joint's) motor static friction –currently not accounted for in our nonsmooth modeling– plays a role in this apparent inconsistency, but a thorough investigation of this fact is left

for further research. This decrease in prediction accuracy for joint 5 is however a smaller effect when compared with the gain in prediction accuracy that one obtains in joint 6.

### C. Robot-surface tangential Coulomb friction

A value of 0.3 was identified for the friction coefficient between the spherical aluminum end-effector and the impacted steel plate. This parameter was tuned through the minimization of the prediction error for one of the experiments (type 4 in Table I) as a function of the selected friction coefficient included in $\tilde{J}_\mu$ for the predictor expression (17). The friction coefficient retrieved by the optimization was the same using either of the two model motor inertia constants, i.e., either $B_\theta$ or $B_\rho$. Moreover, the identified magnitude of the friction coefficient was verified using a force gauge, by fixating one end to the spherical aluminum end-effector and pulling from the other end of the gauge. This measurement provided a similar value (difference below 10%).

The tuning of the friction coefficient already shows that a minimum is obtained at a value that is different from zero, but in order to provide evidence that the addition of friction to the impact modeling is providing a substantial increase in prediction accuracy, we report the prediction errors corresponding to the case where no friction is considered ($\mu = 0$) and the one where $\mu = 0.3$. In both predictions we employed $M_\theta = M + B_\theta$ as the inertia matrix.

The predictions including friction are much closer to the virtual rigid-body post-impact velocity obtained in experiments, as illustrated by the representative mean results of the experiments of type 4 in Figure 7. In this figure, the green dots representing the predictions with friction are closer to the virtual rigid-body post-impact velocity, shown in blue, than the predictions without friction, shown in red. Furthermore, a comparison of the average absolute prediction error with and without friction shows that the inclusion of the tangential Coulomb friction term significantly improves its accuracy, as illustrated by the values provided in Table III. The absolute prediction error is defined, as before, according to (18).

Cells highlighted in green indicate a significantly better performance (> 1.0°/s) of the predictor that accounts for friction, and cells in red indicate that the opposite is true. In this

<figure><img src="image_8.png" /><figcaption>Fig. 7. Mean values of the virtual rigid-body post-impact velocity, $\hat{\dot{q}}_i^+$ (blue line), the measured ante-impact velocity, $\dot{q}_i^-$ (black line), and the predictions, $\Delta \dot{q}_i^+$, for joints 1 to 7 with (green) and without (red) considering tangential friction (averaged over 5 experiments of type 4, see Table I).</figcaption></figure>
<caption>TABLE II</caption>

EACH DOUBLE LINE SHOWS ON TOP ROW THE ABSOLUTE PREDICTION ERROR $e_i$ [°/s] USING $M_θ = M + B_θ$ OR $M_ρ = M + B_ρ$ AND ON BOTTOM ROW THE VIRTUAL RIGID-BODY POST-IMPACT VELOCITY, $\hat{\dot{q}}_i^+$ (BLUE) AND THE ANTE-IMPACT VELOCITY, $\dot{q}_i^-$ (BLACK, IN PARENTHESES), FOR REFERENCE. CELLS ARE HIGHLIGHTED IN GREEN WHEN $B_θ$ PREDICTION IS SIGNIFICANTLY (> 1.0°/s) SUPERIOR AND IN RED WHEN $B_ρ$ PREDICTION IS BETTER

<table><caption>TABLE III</caption><thead><tr><th rowspan="2">Exp. Type #</th><th colspan="2">Joint 1</th><th colspan="2">Joint 2</th><th colspan="2">Joint 3</th><th colspan="2">Joint 4</th><th colspan="2">Joint 5</th><th colspan="2">Joint 6</th><th colspan="2">Joint 7</th></tr><tr><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th></tr></thead><tbody><tr><td rowspan="2">1</td><td>0.17</td><td>0.21</td><td>0.73</td><td>0.46</td><td>0.57</td><td>0.68</td><td>0.88</td><td>0.91</td><td>0.64</td><td>0.50</td><td>2.97</td><td>10.06</td><td>0.42</td><td>0.17</td></tr><tr><td>0.34</td><td>(0.08)</td><td>14.74</td><td>(22.87)</td><td>-0.96</td><td>(-0.10)</td><td>21.58</td><td>(23.95)</td><td>-0.11</td><td>(-0.03)</td><td>24.01</td><td>(0.19)</td><td>0.02</td><td>(-0.00)</td></tr><tr><td rowspan="2">2</td><td>0.16</td><td>0.18</td><td>0.23</td><td>0.57</td><td>0.28</td><td>0.37</td><td>0.41</td><td>1.32</td><td>0.55</td><td>0.41</td><td>6.62</td><td>12.67</td><td>0.48</td><td>0.25</td></tr><tr><td>0.18</td><td>(0.04)</td><td>21.32</td><td>(27.42)</td><td>-0.56</td><td>(-0.01)</td><td>34.04</td><td>(36.34)</td><td>-0.08</td><td>(0.01)</td><td>24.53</td><td>(0.18)</td><td>0.05</td><td>(-0.08)</td></tr><tr><td rowspan="2">3</td><td>0.24</td><td>0.29</td><td>0.62</td><td>0.57</td><td>0.65</td><td>0.77</td><td>0.61</td><td>1.47</td><td>1.02</td><td>0.79</td><td>5.39</td><td>10.15</td><td>0.31</td><td>0.15</td></tr><tr><td>0.39</td><td>(0.06)</td><td>20.44</td><td>(27.47)</td><td>-0.99</td><td>(-0.06)</td><td>35.54</td><td>(37.92)</td><td>0.26</td><td>(0.00)</td><td>17.90</td><td>(-0.02)</td><td>0.08</td><td>(0.03)</td></tr><tr><td rowspan="2">4</td><td>0.24</td><td>0.32</td><td>0.72</td><td>1.28</td><td>0.37</td><td>0.56</td><td>1.01</td><td>1.00</td><td>1.37</td><td>0.89</td><td>1.75</td><td>1.49</td><td>0.29</td><td>0.19</td></tr><tr><td>0.54</td><td>(0.17)</td><td>16.55</td><td>(26.13)</td><td>-0.87</td><td>(-0.06)</td><td>31.55</td><td>(33.56)</td><td>0.20</td><td>(0.02)</td><td>5.70</td><td>(0.12)</td><td>0.10</td><td>(-0.01)</td></tr><tr><td rowspan="2">5</td><td>0.22</td><td>0.33</td><td>2.38</td><td>1.41</td><td>0.11</td><td>0.15</td><td>1.35</td><td>0.16</td><td>3.11</td><td>1.23</td><td>4.36</td><td>9.65</td><td>0.24</td><td>0.19</td></tr><tr><td>0.50</td><td>(-0.02)</td><td>-8.93</td><td>(0.69)</td><td>-0.37</td><td>(-0.03)</td><td>-17.02</td><td>(-26.04)</td><td>-0.93</td><td>(-0.50)</td><td>-12.97</td><td>(0.31)</td><td>-0.21</td><td>(-0.08)</td></tr><tr><td rowspan="2">6</td><td>0.15</td><td>0.22</td><td>1.14</td><td>0.68</td><td>1.15</td><td>1.00</td><td>0.85</td><td>1.51</td><td>3.76</td><td>1.84</td><td>1.41</td><td>1.13</td><td>0.90</td><td>0.54</td></tr><tr><td>0.29</td><td>(-0.07)</td><td>-8.29</td><td>(0.50)</td><td>0.86</td><td>(0.12)</td><td>-14.56</td><td>(-24.84)</td><td>0.21</td><td>(0.00)</td><td>1.68</td><td>(0.41)</td><td>-0.44</td><td>(-0.04)</td></tr><tr><td rowspan="2">7</td><td>0.10</td><td>0.21</td><td>1.09</td><td>0.88</td><td>1.06</td><td>0.89</td><td>0.35</td><td>0.21</td><td>3.22</td><td>1.64</td><td>0.86</td><td>2.89</td><td>1.18</td><td>0.63</td></tr><tr><td>0.32</td><td>(0.00)</td><td>-7.57</td><td>(0.92)</td><td>0.72</td><td>(0.04)</td><td>-14.32</td><td>(-22.09)</td><td>0.25</td><td>(-0.04)</td><td>8.23</td><td>(0.08)</td><td>-0.45</td><td>(0.00)</td></tr><tr><td rowspan="2">8</td><td>0.29</td><td>0.36</td><td>0.49</td><td>0.20</td><td>0.53</td><td>0.38</td><td>1.13</td><td>0.80</td><td>1.47</td><td>0.31</td><td>5.90</td><td>11.63</td><td>0.96</td><td>0.29</td></tr><tr><td>0.46</td><td>(0.02)</td><td>-6.70</td><td>(0.47)</td><td>0.15</td><td>(-0.08)</td><td>-13.92</td><td>(-21.65)</td><td>-0.74</td><td>(0.03)</td><td>20.35</td><td>(0.12)</td><td>-0.20</td><td>(-0.12)</td></tr><tr><td rowspan="2">9</td><td>0.30</td><td>0.28</td><td>2.16</td><td>2.15</td><td>1.52</td><td>1.44</td><td>0.93</td><td>1.02</td><td>4.32</td><td>2.21</td><td>1.83</td><td>2.35</td><td>0.06</td><td>0.07</td></tr><tr><td>-8.31</td><td>(-9.60)</td><td>-2.52</td><td>(4.76)</td><td>-1.46</td><td>(-3.84)</td><td>-2.46</td><td>(-5.22)</td><td>0.12</td><td>(-0.01)</td><td>4.19</td><td>(0.05)</td><td>-0.08</td><td>(-0.14)</td></tr><tr><td rowspan="2">10</td><td>0.41</td><td>0.44</td><td>1.04</td><td>0.87</td><td>0.69</td><td>1.08</td><td>0.44</td><td>1.03</td><td>0.90</td><td>0.80</td><td>1.10</td><td>2.58</td><td>0.48</td><td>0.36</td></tr><tr><td>-9.46</td><td>(-9.59)</td><td>-0.79</td><td>(4.39)</td><td>-2.64</td><td>(-5.28)</td><td>-2.86</td><td>(-4.64)</td><td>0.54</td><td>(0.01)</td><td>8.08</td><td>(0.04)</td><td>0.22</td><td>(-0.06)</td></tr></tbody></table>

ABSOLUTE PREDICTION ERROR $e_i$ [°/s] WITH ($\mu$ = 0.3) AND WITHOUT ($\mu$ = 0) FRICTION TERM. GREEN CELLS INDICATE SIGNIFICANTLY BETTER (> 1.0°/s) PERFORMANCE WHEN INCLUDING FRICTION, WHILE RED CELLS INDICATE THE OPPOSITE. FURTHER DETAILS IN THE MAIN TEXT

<table><thead><tr><th>Exp. Type #</th><th>Joint 1</th><th>Joint 2</th><th>Joint 3</th><th>Joint 4</th><th>Joint 5</th><th>Joint 6</th><th>Joint 7</th></tr></thead><tbody><tr><th>μ</th><td>0.3</td><td>0.0</td><td>0.3</td><td>0.0</td><td>0.3</td><td>0.0</td><td>0.3</td><td>0.0</td></tr><tr><th>1</th><td>0.17</td><td>0.16</td><td>0.73</td><td>3.26</td><td>0.57</td><td>0.57</td><td>0.88</td><td>3.80</td></tr><tr><th>2</th><td>0.16</td><td>0.15</td><td>0.23</td><td>2.19</td><td>0.28</td><td>0.31</td><td>0.41</td><td>3.63</td></tr><tr><th>3</th><td>0.24</td><td>0.24</td><td>0.62</td><td>2.97</td><td>0.65</td><td>0.70</td><td>0.61</td><td>3.66</td></tr><tr><th>4</th><td>0.24</td><td>0.25</td><td>0.72</td><td>4.25</td><td>0.37</td><td>0.50</td><td>1.01</td><td>3.70</td></tr><tr><th>5</th><td>0.22</td><td>0.28</td><td>2.38</td><td>0.98</td><td>0.11</td><td>0.12</td><td>1.35</td><td>4.24</td></tr><tr><th>6</th><td>0.15</td><td>0.17</td><td>1.14</td><td>1.01</td><td>1.15</td><td>1.13</td><td>0.85</td><td>5.85</td></tr><tr><th>7</th><td>0.10</td><td>0.13</td><td>1.09</td><td>1.60</td><td>1.06</td><td>1.07</td><td>0.35</td><td>4.31</td></tr><tr><th>8</th><td>0.29</td><td>0.30</td><td>0.49</td><td>2.53</td><td>0.53</td><td>0.60</td><td>1.13</td><td>5.25</td></tr><tr><th>9</th><td>0.30</td><td>0.19</td><td>2.16</td><td>1.77</td><td>1.52</td><td>4.05</td><td>0.93</td><td>0.66</td></tr><tr><th>10</th><td>0.41</td><td>0.45</td><td>1.04</td><td>0.36</td><td>0.69</td><td>3.73</td><td>0.44</td><td>0.68</td></tr></tbody></table>

table it can be observed that the most extreme differences occur in joint 6, where the maximum error is 6.62 °/s with friction and 19.58 °/s without it. This constitutes a 66% reduction in the prediction error. This comparison shows that the inclusion of the tangential Coulomb friction term significantly improves the prediction accuracy, in almost all cases.

## V. CONCLUSION AND FUTURE WORK

A refined post-impact velocity predictor for torque-controlled flexible-joint robots, that aimed to improve the prediction accuracy, has been presented. Through simulation and experimental validation, the proportional gain of the low-level torque control loop has been shown to have an important effect on the impact dynamics of this type of robots. The inclusion of this effect in conjunction with the surface friction brings the absolute error of the post-impact velocity prediction down from tens of degrees per second to values below 7.0 °/s as shown in Tables II and III. This reduction is achieved with respect to the previously proposed method by the authors. Moreover, an equivalent, but simpler and more robust virtual rigid-robot post-impact velocity estimate has been introduced, based on polynomial fitting.

Follow-up studies will explore methods to further improve the accuracy of the impact time detector, as well as validating post-impact velocity predictors for simultaneous contact locations, focusing on inelastic impacts enabled by damped and compliant robot hardware that is becoming available and is designed for dynamic interaction.

## REFERENCES

[1] T. Stouraitis, L. Yan, J. Moura, M. Gienger, and S. Vijayakumar, "Multi-mode trajectory optimization for impact-aware manipulation," in *IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, 2020, pp. 9425-9432.

[2] A. Kirner and C. Ott, "Impact analysis for the planning of targeted non-slippage impacts of robot manipulators," *Accepted for publication in IEEE Robotics and Automation Letters (RA-L)*, Dec. 2023.

[3] Y. Gao, X. Da, and Y. Gu, "Impact-aware online motion planning for fully-actuated bipedal robot walking," in *American Control Conference (ACC)*, 2020, pp. 2100-2105.
<caption>TABLE II</caption>

EACH DOUBLE LINE SHOWS ON TOP ROW THE ABSOLUTE PREDICTION ERROR $e_i$ [°/s] USING $M_θ = M + B_θ$ OR $M_ρ = M + B_ρ$ AND ON BOTTOM ROW THE VIRTUAL RIGID-BODY POST-IMPACT VELOCITY, $\hat{q}_i^+$ (BLUE) AND THE ANTE-IMPACT VELOCITY, $\hat{q}_i^-$ (BLACK, IN PARENTHESES), FOR REFERENCE. CELLS ARE HIGHLIGHTED IN GREEN WHEN $B_θ$ PREDICTION IS SIGNIFICANTLY (> 1.0°/s) SUPERIOR AND IN RED WHEN $B_ρ$ PREDICTION IS BETTER

<table><caption>TABLE III</caption><thead><tr><th rowspan="2">Exp. Type #</th><th colspan="2">Joint 1</th><th colspan="2">Joint 2</th><th colspan="2">Joint 3</th><th colspan="2">Joint 4</th><th colspan="2">Joint 5</th><th colspan="2">Joint 6</th><th colspan="2">Joint 7</th></tr><tr><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th><th>B<sub>θ</sub><br>⟨q̂<sub>i</sub>⟩<sup>+</sup></th><th>B<sub>ρ</sub><br>⟨q̂<sub>i</sub>⟩</th></tr></thead><tbody><tr><td rowspan="2">1</td><td>0.17</td><td>0.21</td><td>0.73</td><td>0.46</td><td>0.57</td><td>0.68</td><td>0.88</td><td>0.91</td><td>0.64</td><td>0.50</td><td>2.97</td><td>10.06</td><td>0.42</td><td>0.17</td></tr><tr><td>0.34</td><td>(0.08)</td><td>14.74</td><td>(22.87)</td><td>-0.96</td><td>(-0.10)</td><td>21.58</td><td>(23.95)</td><td>-0.11</td><td>(-0.03)</td><td>24.01</td><td>(0.19)</td><td>0.02</td><td>(-0.00)</td></tr><tr><td rowspan="2">2</td><td>0.16</td><td>0.18</td><td>0.23</td><td>0.57</td><td>0.28</td><td>0.37</td><td>0.41</td><td>1.32</td><td>0.55</td><td>0.41</td><td>6.62</td><td>12.67</td><td>0.48</td><td>0.25</td></tr><tr><td>0.18</td><td>(0.04)</td><td>21.32</td><td>(27.42)</td><td>-0.56</td><td>(-0.01)</td><td>34.04</td><td>(36.34)</td><td>-0.08</td><td>(0.01)</td><td>24.53</td><td>(0.18)</td><td>0.05</td><td>(-0.08)</td></tr><tr><td rowspan="2">3</td><td>0.24</td><td>0.29</td><td>0.62</td><td>0.57</td><td>0.65</td><td>0.77</td><td>0.61</td><td>1.47</td><td>1.02</td><td>0.79</td><td>5.39</td><td>10.15</td><td>0.31</td><td>0.15</td></tr><tr><td>0.39</td><td>(0.06)</td><td>20.44</td><td>(27.47)</td><td>-0.99</td><td>(-0.06)</td><td>35.54</td><td>(37.92)</td><td>0.26</td><td>(0.00)</td><td>17.90</td><td>(-0.02)</td><td>0.08</td><td>(0.03)</td></tr><tr><td rowspan="2">4</td><td>0.24</td><td>0.32</td><td>0.72</td><td>1.28</td><td>0.37</td><td>0.56</td><td>1.01</td><td>1.00</td><td>1.37</td><td>0.89</td><td>1.75</td><td>1.49</td><td>0.29</td><td>0.19</td></tr><tr><td>0.54</td><td>(0.17)</td><td>16.55</td><td>(26.13)</td><td>-0.87</td><td>(-0.06)</td><td>31.55</td><td>(33.56)</td><td>0.20</td><td>(0.02)</td><td>5.70</td><td>(0.12)</td><td>0.10</td><td>(-0.01)</td></tr><tr><td rowspan="2">5</td><td>0.22</td><td>0.33</td><td>2.38</td><td>1.41</td><td>0.11</td><td>0.15</td><td>1.35</td><td>0.16</td><td>3.11</td><td>1.23</td><td>4.36</td><td>9.65</td><td>0.24</td><td>0.19</td></tr><tr><td>0.50</td><td>(-0.02)</td><td>-8.93</td><td>(0.69)</td><td>-0.37</td><td>(-0.03)</td><td>-17.02</td><td>(-26.04)</td><td>-0.93</td><td>(-0.50)</td><td>-12.97</td><td>(0.31)</td><td>-0.21</td><td>(-0.08)</td></tr><tr><td rowspan="2">6</td><td>0.15</td><td>0.22</td><td>1.14</td><td>0.68</td><td>1.15</td><td>1.00</td><td>0.85</td><td>1.51</td><td>3.76</td><td>1.84</td><td>1.41</td><td>1.13</td><td>0.90</td><td>0.54</td></tr><tr><td>0.29</td><td>(-0.07)</td><td>-8.29</td><td>(0.50)</td><td>0.86</td><td>(0.12)</td><td>-14.56</td><td>(-24.84)</td><td>0.21</td><td>(0.00)</td><td>1.68</td><td>(0.41)</td><td>-0.44</td><td>(-0.04)</td></tr><tr><td rowspan="2">7</td><td>0.10</td><td>0.21</td><td>1.09</td><td>0.88</td><td>1.06</td><td>0.89</td><td>0.35</td><td>0.21</td><td>3.22</td><td>1.64</td><td>0.86</td><td>2.89</td><td>1.18</td><td>0.63</td></tr><tr><td>0.32</td><td>(0.00)</td><td>-7.57</td><td>(0.92)</td><td>0.72</td><td>(0.04)</td><td>-14.32</td><td>(-22.09)</td><td>0.25</td><td>(-0.04)</td><td>8.23</td><td>(0.08)</td><td>-0.45</td><td>(0.00)</td></tr><tr><td rowspan="2">8</td><td>0.29</td><td>0.36</td><td>0.49</td><td>0.20</td><td>0.53</td><td>0.38</td><td>1.13</td><td>0.80</td><td>1.47</td><td>0.31</td><td>5.90</td><td>11.63</td><td>0.96</td><td>0.29</td></tr><tr><td>0.46</td><td>(0.02)</td><td>-6.70</td><td>(0.47)</td><td>0.15</td><td>(-0.08)</td><td>-13.92</td><td>(-21.65)</td><td>-0.74</td><td>(0.03)</td><td>20.35</td><td>(0.12)</td><td>-0.20</td><td>(-0.12)</td></tr><tr><td rowspan="2">9</td><td>0.30</td><td>0.28</td><td>2.16</td><td>2.15</td><td>1.52</td><td>1.44</td><td>0.93</td><td>1.02</td><td>4.32</td><td>2.21</td><td>1.83</td><td>2.35</td><td>0.06</td><td>0.07</td></tr><tr><td>-8.31</td><td>(-9.60)</td><td>-2.52</td><td>(4.76)</td><td>-1.46</td><td>(-3.84)</td><td>-2.46</td><td>(-5.22)</td><td>0.12</td><td>(-0.01)</td><td>4.19</td><td>(0.05)</td><td>-0.08</td><td>(-0.14)</td></tr><tr><td rowspan="2">10</td><td>0.41</td><td>0.44</td><td>1.04</td><td>0.87</td><td>0.69</td><td>1.08</td><td>0.44</td><td>1.03</td><td>0.90</td><td>0.80</td><td>1.10</td><td>2.58</td><td>0.48</td><td>0.36</td></tr><tr><td>-9.46</td><td>(-9.59)</td><td>-0.79</td><td>(4.39)</td><td>-2.64</td><td>(-5.28)</td><td>-2.86</td><td>(-4.64)</td><td>0.54</td><td>(0.01)</td><td>8.08</td><td>(0.04)</td><td>0.22</td><td>(-0.06)</td></tr></tbody></table>

ABSOLUTE PREDICTION ERROR $e_i$ [°/s] WITH ($\mu = 0.3$) AND WITHOUT ($\mu = 0$) FRICTION TERM. GREEN CELLS INDICATE SIGNIFICANTLY BETTER (> 1.0°/s) PERFORMANCE WHEN INCLUDING FRICTION, WHILE RED CELLS INDICATE THE OPPOSITE. FURTHER DETAILS IN THE MAIN TEXT

<table><thead><tr><th>Exp. Type #</th><th>Joint 1</th><th>Joint 2</th><th>Joint 3</th><th>Joint 4</th><th>Joint 5</th><th>Joint 6</th><th>Joint 7</th></tr></thead><tbody><tr><th>μ</th><td>0.3</td><td>0.0</td><td>0.3</td><td>0.0</td><td>0.3</td><td>0.0</td><td>0.3</td><td>0.0</td></tr><tr><th>1</th><td>0.17</td><td>0.16</td><td>0.73</td><td>3.26</td><td>0.57</td><td>0.57</td><td>0.88</td><td>3.80</td></tr><tr><th>2</th><td>0.16</td><td>0.15</td><td>0.23</td><td>2.19</td><td>0.28</td><td>0.31</td><td>0.41</td><td>3.63</td></tr><tr><th>3</th><td>0.24</td><td>0.24</td><td>0.62</td><td>2.97</td><td>0.65</td><td>0.70</td><td>0.61</td><td>3.66</td></tr><tr><th>4</th><td>0.24</td><td>0.25</td><td>0.72</td><td>4.25</td><td>0.37</td><td>0.50</td><td>1.01</td><td>3.70</td></tr><tr><th>5</th><td>0.22</td><td>0.28</td><td>2.38</td><td>0.98</td><td>0.11</td><td>0.12</td><td>1.35</td><td>4.24</td></tr><tr><th>6</th><td>0.15</td><td>0.17</td><td>1.14</td><td>1.01</td><td>1.15</td><td>1.13</td><td>0.85</td><td>5.85</td></tr><tr><th>7</th><td>0.10</td><td>0.13</td><td>1.09</td><td>1.60</td><td>1.06</td><td>1.07</td><td>0.35</td><td>4.31</td></tr><tr><th>8</th><td>0.29</td><td>0.30</td><td>0.49</td><td>2.53</td><td>0.53</td><td>0.60</td><td>1.13</td><td>5.25</td></tr><tr><th>9</th><td>0.30</td><td>0.19</td><td>2.16</td><td>1.77</td><td>1.52</td><td>4.05</td><td>0.93</td><td>0.66</td></tr><tr><th>10</th><td>0.41</td><td>0.45</td><td>1.04</td><td>0.36</td><td>0.69</td><td>3.73</td><td>0.44</td><td>0.68</td></tr></tbody></table>

table it can be observed that the most extreme differences occur in joint 6, where the maximum error is 6.62 °/s with friction and 19.58 °/s without it. This constitutes a 66% reduction in the prediction error. This comparison shows that the inclusion of the tangential Coulomb friction term significantly improves the prediction accuracy, in almost all cases.

## V. CONCLUSION AND FUTURE WORK

A refined post-impact velocity predictor for torque-controlled flexible-joint robots, that aimed to improve the prediction accuracy, has been presented. Through simulation and experimental validation, the proportional gain of the low-level torque control loop has been shown to have an important effect on the impact dynamics of this type of robots. The inclusion of this effect in conjunction with the surface friction brings the absolute error of the post-impact velocity prediction down from tens of degrees per second to values below 7.0 °/s as shown in Tables II and III. This reduction is achieved with respect to the previously proposed method by the authors. Moreover, an equivalent, but simpler and more robust virtual rigid-robot post-impact velocity estimate has been introduced, based on polynomial fitting.

Follow-up studies will explore methods to further improve the accuracy of the impact time detector, as well as validating post-impact velocity predictors for simultaneous contact locations, focusing on inelastic impacts enabled by damped and compliant robot hardware that is becoming available and is designed for dynamic interaction.

## REFERENCES

[1] T. Stouraitis, L. Yan, J. Moura, M. Gienger, and S. Vijayakumar, "Multi-mode trajectory optimization for impact-aware manipulation," in *IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, 2020, pp. 9425-9432.

[2] A. Kirner and C. Ott, "Impact analysis for the planning of targeted non-slippage impacts of robot manipulators," *Accepted for publication in IEEE Robotics and Automation Letters (RA-L)*, Dec. 2023.

[3] Y. Gao, X. Da, and Y. Gu, "Impact-aware online motion planning for fully-actuated bipedal robot walking," in *American Control Conference (ACC)*, 2020, pp. 2100-2105.
[4] S. S. M. Salehian and A. Billard, “A dynamical-system-based approach for controlling robotic manipulators during noncontact/contact transitions,” *IEEE Robotics and Automation Letters*, vol. 3, no. 4, pp. 2738–2745, 2018.

[5] J. Englberger, C. Ott, and A. Albu-Schäffer, “Three-dimensional bipedal walking control based on divergent component of motion,” *IEEE Transactions on Robotics*, vol. 31, no. 2, pp. 355–368, 2015.

[6] I. Aouaj, V. Padois, and A. Saccon, “Predicting the post-impact velocity of a robotic arm via rigid multibody models: An experimental study,” in *IEEE International Conference on Robotics and Automation (ICRA)*, 2021, pp. 2264–2271.

[7] H. Khurana, M. Bombile, and A. Billard, “Learning to hit: A statistical dynamical system based approach,” in *IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, 2021, pp. 9415–9421.

[8] N. J. Kong, L. Chuanzheng, G. Council, and A. M. Johnson, “Hybrid iLQR model predictive control for contact implicit stabilization on legged robots,” *IEEE Transactions on Robotics*, 2023, preprint available on arXiv https://arxiv.org/abs/2207.04591.

[9] B. Proper, A. Kurdas, S. Abdolshah, S. Haddadin, and A. Saccon, “Aim-aware collision monitoring: Discriminating between expected and unexpected post-impact behaviors,” *IEEE Robotics and Automation Letters*, vol. 8, no. 8, pp. 4609–4616, 2023.

[10] J. van Steen, G. van den Brandt, N. van de Wouw, J. Kober, and A. Saccon, “Quadratic programming-based reference spreading control for dual-arm robotic manipulation with planned simultaneous impacts,” *IEEE Transactions on Robotics (under review)*, 2023, preprint available on arXiv https://arxiv.org/abs/2305.08643.

[11] F. Ostyn, B. Vanderborght, and G. Crevecoeur, “Overload clutch with integrated torque sensing and decoupling detection for collision tolerant hybrid high-speed industrial cobots,” *IEEE Robotics and Automation Letters*, vol. 7, no. 4, pp. 12601–12607, 2022.

[12] S. Monteleone, F. Negrello, M. G. Catalano, M. Garabini, and G. Grioli, “Damping in compliant actuation: A review,” *IEEE Robotics and Automation Magazine*, vol. 29, no. 3, pp. 47–66, 2022.

[13] D. Chiaradia, L. Tiseni, and A. Frisoli, “Compact series visco-elastic joint for smooth torque control,” *IEEE Transactions on Haptics*, vol. 13, no. 1, pp. 226–232, 2020.

[14] W. Yang and M. Posa, “Impact invariant control with applications to bipedal locomotion,” in *IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, 2021, pp. 5151–5158.

[15] M. Rijnen, A. Saccon, and H. Nijmeijer, “Reference spreading: Tracking performance for impact trajectories of a 1DoF setup,” *IEEE Transactions on Control Systems Technology*, vol. 28, no. 3, pp. 1124–1131, 2020.

[16] M. Rijnen, E. De Mooij, S. Traversaro, F. Nori, N. van de Wouw, A. Saccon, and H. Nijmeijer, “Control of humanoid robot motions with impacts: Numerical experiments with reference spreading control,” in *IEEE International Conference on Robotics and Automation (ICRA)*, 2017, pp. 4102–4107.

[17] J. J. van Steen, N. van de Wouw, and A. Saccon, “Robot control for simultaneous impact tasks via quadratic programming-based reference spreading,” in *American Control Conference (ACC)*, 2022, pp. 3865–3872.

[18] Y. Wang, N. Dehio, and A. Kheddar, “On inverse inertia matrix and contact-force model for robotic manipulators at normal impacts,” *IEEE Robotics and Automation Letters*, vol. 7, no. 2, pp. 3648–3655, 2022.

[19] Y. Wang, N. Dehio, and A. Kheddar, “Predicting impact-induced joint velocity jumps on kinematic-controlled manipulator,” *IEEE Robotics and Automation Letters*, vol. 7, no. 3, pp. 6226–6233, 2022.

[20] A. Bicchi and G. Tonietti, “Fast and ”soft-arm” tactics [robot arm design],” *IEEE Robotics and Automation Magazine*, vol. 11, no. 2, pp. 22–33, 2004.

[21] C. Andres Rey Arias, W. Weekers, M. Morganti, V. Padois, and A. Saccon, *I.AM. archive containing impact experiments with a Franka Emika robot*, This work is licensed under the Creative Commons Attribution Non Commercial Share Alike (CC BY-NC-SA) 4.0 International, 2023. DOI: 10.4121/21655631.

[22] W. Weekers and C. A. Rey Arias, *Refined post-impact velocity prediction for torque-controlled flexible joint robots*, https://gitlab.tue.nl/robotics-lab-public/refined-post-impact-velocity-prediction, 2023.

[23] A. Albu-Schäffer, C. Ott, and G. Hirzinger, “A unified passivity-based control framework for position, torque and impedance control of flexible joint robots,” *International Journal of Robotics Research*, vol. 26, no. 1, pp. 23–39, Jan. 2007.

[24] A. De Luca and W. J. Book, “Robots with flexible elements,” in *Springer Handbook of Robotics*, B. Siciliano and O. Khatib, Eds. Cham: Springer International Publishing, 2016, pp. 243–282.

[25] A. S. Carvalho and J. M. Martins, “Exact restitution and generalizations for the Hunt–Crossley contact model,” *Mechanism and Machine Theory*, vol. 139, pp. 174–194, 2019.

[26] K. H. Hunt and F. R. E. Crossley, “Coefficient of restitution interpreted as damping in vibroimpact,” *Journal of Applied Mechanics*, vol. 42, pp. 440–445, 2 1975.

[27] C. Ott, *Cartesian impedance control of redundant and flexible-joint robots*. Springer, 2008.

[28] M. Akhmet and S. Çağ, “Chattering as a singular problem,” *Nonlinear Dynamics*, vol. 90, no. 4, pp. 2797–2812, 2017.

[29] C. Glocker, “An introduction to impacts,” in *Nonsmooth Mechanics of Solids*, J. Haslinger and G. E. Stavroulakis, Eds. Springer Vienna, 2006, pp. 45–101.

[30] B. Brogliato, *Nonsmooth Mechanics*. Springer International Publishing Switzerland, 2016, Third edition.

[31] C. Gaz, M. Cognetti, A. Oliva, P. Robuffo Giordano, and A. De Luca, “Dynamic identification of the Franka Emika Panda robot with retrieval of feasible parameters using penalty-based optimization,” *IEEE Robotics and Automation Letters*, vol. 4, pp. 4147–4154, 4 2019.
[4] S. S. M. Salehian and A. Billard, “A dynamical-system-based approach for controlling robotic manipulators during noncontact/contact transitions,” *IEEE Robotics and Automation Letters*, vol. 3, no. 4, pp. 2738–2745, 2018.

[5] J. Englberger, C. Ott, and A. Albu-Schäffer, “Three-dimensional bipedal walking control based on divergent component of motion,” *IEEE Transactions on Robotics*, vol. 31, no. 2, pp. 355–368, 2015.

[6] I. Aouaj, V. Padois, and A. Saccon, “Predicting the post-impact velocity of a robotic arm via rigid multibody models: An experimental study,” in *IEEE International Conference on Robotics and Automation (ICRA)*, 2021, pp. 2264–2271.

[7] H. Khurana, M. Bombile, and A. Billard, “Learning to hit: A statistical dynamical system based approach,” in *IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, 2021, pp. 9415–9421.

[8] N. J. Kong, L. Chuanzheng, G. Council, and A. M. Johnson, “Hybrid iLQR model predictive control for contact implicit stabilization on legged robots,” *IEEE Transactions on Robotics*, 2023, preprint available on arXiv https://arxiv.org/abs/2207.04591.

[9] B. Proper, A. Kurdas, S. Abdolshah, S. Haddadin, and A. Saccon, “Aim-aware collision monitoring: Discriminating between expected and unexpected post-impact behaviors,” *IEEE Robotics and Automation Letters*, vol. 8, no. 8, pp. 4609–4616, 2023.

[10] J. van Steen, G. van den Brandt, N. van de Wouw, J. Kober, and A. Saccon, “Quadratic programming-based reference spreading control for dual-arm robotic manipulation with planned simultaneous impacts,” *IEEE Transactions on Robotics (under review)*, 2023, preprint available on arXiv https://arxiv.org/abs/2305.08643.

[11] F. Ostyn, B. Vanderborght, and G. Crevecoeur, “Overload clutch with integrated torque sensing and decoupling detection for collision tolerant hybrid high-speed industrial cobots,” *IEEE Robotics and Automation Letters*, vol. 7, no. 4, pp. 12601–12607, 2022.

[12] S. Monteleone, F. Negrello, M. G. Catalano, M. Garabini, and G. Grioli, “Damping in compliant actuation: A review,” *IEEE Robotics and Automation Magazine*, vol. 29, no. 3, pp. 47–66, 2022.

[13] D. Chiaradia, L. Tiseni, and A. Frisoli, “Compact series visco-elastic joint for smooth torque control,” *IEEE Transactions on Haptics*, vol. 13, no. 1, pp. 226–232, 2020.

[14] W. Yang and M. Posa, “Impact invariant control with applications to bipedal locomotion,” in *IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, 2021, pp. 5151–5158.

[15] M. Rijnen, A. Saccon, and H. Nijmeijer, “Reference spreading: Tracking performance for impact trajectories of a 1DoF setup,” *IEEE Transactions on Control Systems Technology*, vol. 28, no. 3, pp. 1124–1131, 2020.

[16] M. Rijnen, E. De Mooij, S. Traversaro, F. Nori, N. van de Wouw, A. Saccon, and H. Nijmeijer, “Control of humanoid robot motions with impacts: Numerical experiments with reference spreading control,” in *IEEE International Conference on Robotics and Automation (ICRA)*, 2017, pp. 4102–4107.

[17] J. J. van Steen, N. van de Wouw, and A. Saccon, “Robot control for simultaneous impact tasks via quadratic programming-based reference spreading,” in *American Control Conference (ACC)*, 2022, pp. 3865–3872.

[18] Y. Wang, N. Dehio, and A. Kheddar, “On inverse inertia matrix and contact-force model for robotic manipulators at normal impacts,” *IEEE Robotics and Automation Letters*, vol. 7, no. 2, pp. 3648–3655, 2022.

[19] Y. Wang, N. Dehio, and A. Kheddar, “Predicting impact-induced joint velocity jumps on kinematic-controlled manipulator,” *IEEE Robotics and Automation Letters*, vol. 7, no. 3, pp. 6226–6233, 2022.

[20] A. Bicchi and G. Tonietti, “Fast and ”soft-arm” tactics [robot arm design],” *IEEE Robotics and Automation Magazine*, vol. 11, no. 2, pp. 22–33, 2004.

[21] C. Andres Rey Arias, W. Weekers, M. Morganti, V. Padois, and A. Saccon, *I.AM. archive containing impact experiments with a Franka Emika robot*, This work is licensed under the Creative Commons Attribution Non Commercial Share Alike (CC BY-NC-SA) 4.0 International, 2023. DOI: 10.4121/21655631.

[22] W. Weekers and C. A. Rey Arias, *Refined post-impact velocity prediction for torque-controlled flexible joint robots*, https://gitlab.tue.nl/robotics-lab-public/refined-post-impact-velocity-prediction, 2023.

[23] A. Albu-Schäffer, C. Ott, and G. Hirzinger, “A unified passivity-based control framework for position, torque and impedance control of flexible joint robots,” *International Journal of Robotics Research*, vol. 26, no. 1, pp. 23–39, Jan. 2007.

[24] A. De Luca and W. J. Book, “Robots with flexible elements,” in *Springer Handbook of Robotics*, B. Siciliano and O. Khatib, Eds. Cham: Springer International Publishing, 2016, pp. 243–282.

[25] A. S. Carvalho and J. M. Martins, “Exact restitution and generalizations for the Hunt–Crossley contact model,” *Mechanism and Machine Theory*, vol. 139, pp. 174–194, 2019.

[26] K. H. Hunt and F. R. E. Crossley, “Coefficient of restitution interpreted as damping in vibroimpact,” *Journal of Applied Mechanics*, vol. 42, pp. 440–445, 2 1975.

[27] C. Ott, *Cartesian impedance control of redundant and flexible-joint robots*. Springer, 2008.

[28] M. Akhmet and S. Çağ, “Chattering as a singular problem,” *Nonlinear Dynamics*, vol. 90, no. 4, pp. 2797–2812, 2017.

[29] C. Glocker, “An introduction to impacts,” in *Nonsmooth Mechanics of Solids*, J. Haslinger and G. E. Stavroulakis, Eds. Springer Vienna, 2006, pp. 45–101.

[30] B. Brogliato, *Nonsmooth Mechanics*. Springer International Publishing Switzerland, 2016, Third edition.

[31] C. Gaz, M. Cognetti, A. Oliva, P. Robuffo Giordano, and A. De Luca, “Dynamic identification of the Franka Emika Panda robot with retrieval of feasible parameters using penalty-based optimization,” *IEEE Robotics and Automation Letters*, vol. 4, pp. 4147–4154, 4 2019.