# Task-Space Admittance Controller with Adaptive Inertia Matrix Conditioning

Mariana de Paula Assis Fonseca, Bruno Vilhena Adorno, Philippe Fraisse

► To cite this version:

Mariana de Paula Assis Fonseca, Bruno Vilhena Adorno, Philippe Fraisse. Task-Space Admittance Controller with Adaptive Inertia Matrix Conditioning. Journal of Intelligent and Robotic Systems, 2021, 101 (2), pp.40-60. 10.1007/s10846-020-01275-0 lirmm-03479752

HAL Id: lirmm-03479752

https://hal-lirmm.ccsd.cnrs.fr/lirmm-03479752

Submitted on 14 Dec 2021

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
# Task-Space Admittance Controller with Adaptive Inertia Matrix Conditioning

Mariana de Paula Assis Fonseca<fnref n="1" /> · Bruno Vilhena Adorno<fnref n="2" /> · Philippe Fraisse<fnref n="3" />

Received: 1 July 2020 / Accepted: 8 October 2020 / Published online: 4 February 2021
© The Author(s) 2021

## Abstract

When robots physically interact with the environment, compliant behaviors should be imposed to prevent damages to all entities involved in the interaction. Moreover, during physical interactions, appropriate pose controllers are usually based on the robot dynamics, in which the ill-conditioning of the joint-space inertia matrix may lead to poor performance or even instability. When the control is not precise, large interaction forces may appear due to disturbed end-effector poses, resulting in unsafe interactions. To overcome these problems, we propose a task-space admittance controller in which the inertia matrix conditioning is adapted online. To this end, the control architecture consists of an admittance controller in the outer loop, which changes the reference trajectory to the robot end-effector to achieve a desired compliant behavior; and an adaptive inertia matrix conditioning controller in the inner loop to track this trajectory and improve the closed-loop performance. We evaluated the proposed architecture on a KUKA LWR4+ robot and compared it, via rigorous statistical analyses, to an architecture in which the proposed inner motion controller was replaced by two widely used ones. The admittance controller with adaptive inertia conditioning presents better performance than with a controller based on the inverse dynamics with feedback linearization, and similar results when compared to the PID controller with gravity compensation in the inner loop.

**Keywords** Dynamic control · Adaptive control · Admittance control · Robot manipulator · Ill-conditioning · Dual quaternion

## 1 Introduction

When robots interact with the environment, whether with objects or humans, the closed-loop behavior should be

safe for all agents and physical structures involved in the interaction [1], which means that it is crucial to control how the robot responds to the interaction and also its dynamic behavior when moving to accomplish a given task.

Impedance and admittance controllers [2] are usually the most appropriate ones for a safe interaction [3] because suitable compliant behavior is achieved by controlling the apparent robot impedance. These controllers are commonly used in a control architecture where there is an impedance or admittance in an outer loop, and a motion controller in an inner loop [4–7]. Considering this architecture, a suitable motion controller is based on the robot dynamic model as it enables more accurate analyses and helps in the synthesis of the robot dynamic behavior [8]. In those controllers, the joint space inertia matrix (JSIM) plays an important role in the control of the robot’s dynamic behavior [9, 10], which also affects safety.

Although it is well-known that the JSIM is positive definite independently of the robot configuration, this property does not guarantee the good conditioning of the matrix [11]. The links of a serial manipulator are connected in a

<footnote>Bruno Vilhena Adorno
bruno.adorno@manchester.ac.uk</footnote>

<footnote>Mariana de Paula Assis Fonseca
maripaf@gmail.com</footnote>

<footnote>Philippe Fraisse
philippe.fraisse@lirmm.fr</footnote>

<footnote n="1">¹ Graduate Program in Electrical Engineering, Universidade Federal de Minas Gerais (UFMG), Av. Antônio Carlos 6627, 31270-901, Belo Horizonte-MG, Brazil</footnote>

<footnote n="2">² Department of Electrical and Electronic Engineering, School of Engineering, The University of Manchester, Sackville Street, Manchester, M13 9PL, UK</footnote>

<footnote n="3">³ LIRMM UMR 5506 CNRS, Université de Montpellier (UM), 161 rue Ada Montpellier, 34392, Montpellier, France</footnote>
way that each link in the kinematic chain is carried by its predecessors while carrying all successive links in the chain. As a result, the equivalent inertia of the links is extremely disparate, and this difference increases with the number of links, regardless if they are identical or not [9, 12], which leads to the ill-conditioning of the JSIM.

When the JSIM is ill-conditioned (i.e., it has a large condition number), small perturbations in the system can produce large changes in the numerical solutions [12], influencing the control performance [11], which in turn may affect safety. For instance, imprecise end-effector motion control can result in large interaction wrenches when the robot interacts with highly rigid environments, which may result in damage to either the robot or the environment. Also, depending on the control design, an ill-conditioned inertia matrix may lead to closed-loop instability, which may yield dangerous movements that would harm the human or cause damage to the environment.

Despite the fact that this ill-conditioning is intrinsic to serial kinematic chains [9], its effects can be mitigated and therefore the control performance can be enhanced. However, this problem is mostly neglected by researchers and just a few have worked on a solution for it [11, 13].

In order to circumvent the ill-condition problem, Shen and Featherstone propose to use a PD controller with gravity compensation [11]. The PD controller is not affected by the ill-conditioning of the JSIM since it directly converts the joint position/velocity error to the drive torque. Yet, according to the authors, other controllers that have complete knowledge about the robot dynamics should achieve better accuracy.

To benefit from the complete dynamic model in the control law whilst alleviating the effects of the JSIM’s ill-conditioning, an alternative is to add a well-conditioned constant positive definite matrix to it in the Euler-Lagrange equation. However, this addition could lead to steady-state error in the closed-loop system due to the introduction of disturbances in the robot model that are not compensated by the control law. Even though the added matrix is constant, the resultant disturbance depends on the robot acceleration and, therefore, is time-varying, which means that adding an integrator to the control law would not be sufficient to solve the steady-state error problem. More specifically, if the actual robot’s inertia matrix is given by $\bar{M} = M + A$, where $M$ is the nominal robot’s JSIM and $A$ is a positive definite matrix, the actual dynamic model is given by

$$ \tau = \bar{M}\ddot{q} + C\dot{q} + g = M\ddot{q} + C\dot{q} + g + w, $$

where $w = A\ddot{q}$ is the time-varying disturbance [14].

Another option is to add a positive definite variable matrix that varies according to the JSIM conditioning,

without adding excessive inaccuracy to the nominal model. This matrix should be adapted during the robot motion, which inspires the use of an adaptive controller. In this context, we address the problem of task-space admittance control with adaptive inertia matrix conditioning, thus ensuring good performance and safe closed-loop behavior during physical interactions.

## 1.1 State of the Art

### 1.1.1 Impedance/Admittance Controllers

Pure motion control is usually insufficient to handle physical contacts between the robot and the environment, specially if the environment is rigid, because of the large contact wrenches arising from the interactions [15]. Therefore, some works have largely relied on the use of force controllers to minimize the interaction forces [1]. However, traditional force controllers tend to increase the robot stiffness to obtain high bandwidth and position accuracy, which may result in poor compliance and even instability. Therefore, force controllers are not the best choice for a good and safe interaction [16]. Impedance and admittance controllers, on the other hand, have shown to be more appropriate to handle interactions [3], ensuring a suitable compliant behavior by controlling the apparent robot impedance.

Hogan [2] proposed the first impedance controller to control dynamic interactions between a manipulator and the environment in cases involving interaction forces that are not orthogonal to motions, in which pure force controllers are not adequate. By changing the robot impedance to match the desired interaction impedance, safety is improved, which has motivated many researchers to use impedance controllers when physical interactions are required.

For instance, Erhart et al. [17] extend an impedance-based controller to dual-arm mobile manipulators to limit undesired internal forces caused by kinematic errors due to uncertainties in the object geometry and manipulators. In order to accomplish that, the motion of the arms are separated from the motion of the mobile base to decrease the computational cost and also to, using a potential function, minimize the propagation of the base disturbances to the manipulators. Experiments were performed only in the horizontal plane. Lee et al. [18] also present an impedance controller that considers a dual-arm system as a single manipulator, whose end-effector motion is defined by the relative motion between the two end-effectors. Thus, using a relative Jacobian, the impedance controller is reduced to a single controller for both arms. Two different arms are used to perform a writing task, in which one arm holds a plate while the other writes on it.

In the context of human-robot interactions, Sieber et al. [19] propose the use of an impedance controller in
a manipulation task performed by a team composed of a human and multiple robots. By means of a master-slave architecture, the human coordinates the robots formation, and the desired trajectory is designed according to the manipulated object geometry. However, small deviations in the trajectory result in internal forces, and thus impedance controllers are used in each manipulator to prevent damages either to the robots or to the object. A major drawback of that work is that only the end-effector positions are considered, therefore the internal torques due to orientation uncertainties are not explicitly taken into account.

More concerned with multiple tasks, Hoffman et al. [20] propose a multi-priority impedance controller that considers task priorities inside a Quadratic Programming (QP) optimization framework that allows equality and inequality constraints. This architecture is useful when more than one task must be dealt with simultaneously, such as controlling the end-effectors of a humanoid robot while keeping the balance. Moreover, equality and inequality constraints enable the definition of joint limits, collision avoidance, etc., directly in the control law.

Admittance controllers, which are dual to impedance controllers, have also been used in applications where the manipulator physically interacts with the environment. Throughout the literature, admittance controllers have been called *position-based impedance controllers*, *velocity-based impedance controllers*, or, ambiguously, *impedance controllers* [21]. Currently, a more widely accepted definition is that impedance controllers are the ones in which the robot velocity is measured, yielding a wrench as a control signal. Conversely, in admittance controllers, a contact wrench is measured and mapped to a velocity that must be imposed to the robot [21].

Thanks to the ability to handle stiff impedances in addition to enabling non-back drivable and heavy robots to have a compliant behavior, admittance controllers are often used in wearable and industrial robots [21, 22]. Navarro et al. [23] propose an adaptive damping controller (a special type of admittance controller) that fulfills the ISO10218, a standard that has some requirements to guarantee safety in human-robot interactions with industrial robots. The controller was validated on a manipulator equipped with a robotic hand in a collaborative screwing application. Cherubini et al. [24] developed a collaborative human-robot manufacturing cell for homokinetic joint assembly, in which pre-taught trajectories are deformed to comply with external wrenches using an admittance controller. As a result, the human workload is reduced, and a risk analysis indicates that their approach is compatible with safety standards.

Tarbouriech et al. [25] propose an admittance controller for a collaborative dual-arm manipulation of bulky objects. Computer vision is used to detect where the human is in contact with the object, and an admittance controller

makes the bimanual manipulator move according to this information. As the gravity effects are canceled during the manipulation, the human makes an effort only to move the object, without needing to sustain it. Agravante et al. [26] combine a visual servoing controller to an admittance controller to achieve a human-robot collaborative task of carrying a flat surface while preventing an object on top of it from falling. Since they used Euler angles to represent orientations, the controller is restricted to small rotations due to representational singularities [27].

To avoid the representational singularity problem when performing six-degree-of-freedom (DOF) impedance/ admittance control, Caccavale et al. [4] propose to use the imaginary part of a unit quaternion to represent rotations and formulate a geometrically consistent stiffness for infinitesimal displacements. Notwithstanding, they use two distinct control laws for the position and orientation, and their approach presents the topological obstruction problem [28], which may trap the closed-loop system within an unstable equilibrium set. That work is later extended [5] to propose a controller in which the stiffness is proved to be geometrically consistent for finite displacements. Caccavale et al. [5] applied that controller in a dual-arm manipulation, considering internal and external wrenches. Nonetheless, the new controller still carries the topological obstruction issue.

### 1.1.2 Adaptive Controllers

Since common admittance controller architectures rely on inner motion controllers, special care must be taken if the robot is torque-actuated because the JSIM may be ill-conditioned, as discussed in the previous section. To overcome this drawback, we propose to use an adaptive controller that adjusts the JSIM conditioning online, thus improving the closed-loop performance.

Although adaptive control has been extensively studied, very few authors have tackled the problem of adapting the JSIM conditioning. For instance, Slotine and Li [29] propose an adaptive control law for robots with dynamics uncertainties. Moreover, they show that although the estimated parameters do not converge to the real parameters, the closed-loop system is asymptotically stable. They first address the problem in joint space and then extend the solution to the Cartesian space.

Cheah et al. [30, 31] extend the work of Slotine and Li [29] to tackle not only dynamic but also kinematic uncertainties. They show that the robot end-effector can converge to the desired trajectory, despite the uncertain dynamic and kinematic parameters, which are updated online by adaptive laws. Liu et al. [32] propose a task-space adaptive Jacobian controller that is asymptotically stable in the Lyapunov sense and consider the dynamics, kinematics, and also the
actuator dynamics, which was not considered by any of the
previous works.

Passivity-based adaptive controllers, such as the ones proposed by Slotine and Li [29] and Cheah et al. [30, 31], rely on approximate transpose-Jacobian feedback to track the manipulator end-effector [33]. Although those controllers achieve asymptotic stability, their performance is not good over the entire robot configuration space. Since the closed-loop response varies with the manipulator configuration [33], it is not possible to define fixed gains that result in fixed closed-loop poles. Moreover, those controllers lead to nonlinear and coupled error dynamics, and thus it is hard to quantify the system performance. Controllers based on the inverse dynamics, on the other hand, yield linear and decoupled error dynamics when the robot parameters are perfectly known. Thus, Wang and Xie [33] propose an adaptive inverse dynamics controller for robots with unknown dynamic and kinematic parameters, but the controller requires the measurements of the joints accelerations, which are not necessary for the passivity-based controllers. As a result, the adaptive inverse dynamics controller is more sensitive to noise.

Both passivity-based and inverse-dynamics based adap-
tive controllers use the fact that both kinematic and dynamic
models are linear in the parameters and utilize a regressor in
the parameter update laws. However, computing the regres-
sor matrix is expensive for manipulators with a high number
of DOF. Thus, Hanlei [34] proposes a computationally
efficient adaptive control law based on the Newton-Euler
recursive algorithm.

Passivity-based controllers have some advantages when
compared to inverse dynamics controllers. For example, they
do not require the inversion of the estimated inertia matrix.
However, those laws usually do not guarantee that the esti-
mated inertia matrix is positive definite, which results in phy-
sically inconsistent results, or even well-conditioned [35].
To overcome the lack of positiveness guarantee, one strategy
is to ensure that the estimated parameters are positive to
obtain a positive definite estimated inertia matrix. This can
be done by defining an appropriate convex region, whose
interior defines the set of admissible positive parameters,
and then using a projection algorithm to ensure that the
parameters remain inside that region [30]. Nevertheless,
in discrete implementations, the estimated parameters may
escape from that region, thus Wang and Xie [35] propose an
approach that guarantees the positiveness of the estimated
parameters while retaining the stability of the closed-loop
system. Still, they observed that when the parameter update
is too fast, the algorithm cannot project the estimated
parameters into the region of admissible parameters.

Despite the vast literature on adaptive control, to the best
of our knowledge, none of them consider the improvement
of the JSIM conditioning.

## 1.2 Statement of Contributions and Organization of the Paper

We propose a task-space admittance controller with
adaptive inertia matrix conditioning that consists of:

- an admittance controller using the dual quaternion (DQ) logarithmic mapping in the outer loop to improve the interaction between the robot and the environment, imposing a desired impedance behavior;

- a task-space adaptive controller (TAC) in the inner loop that ensures the improvement in the JSIM's conditioning.

We also present experimental results and rigorous sta-
tistical analyses, based on a hypothesis-testing framework,
to compare the performance of the proposed architecture
(admittance + TAC) with two classic controllers used in the
inner loop, together with the admittance controller in the
outer loop: an inverse dynamic with feedback linearization
(TIDFL) controller and a PID with gravity compensation
(TPID).

Furthermore, our approach is free from topological
obstructions, in which the closed-loop system can be
trapped into unstable equilibria, and is simple to implement.

This work builds upon our previous works [13, 14], in
which we have proposed a joint-space adaptive controller
to compensate for the uncertainties introduced by a matrix
that we add to the JSIM to improve its conditioning. The
current approach extends those previous works to the task-
space and integrates it to a task-space admittance controller
that we have briefly introduced as an extended abstract in
the Workshop Applications of Dual Quaternion Algebra to
Robotics, which happened at ICAR 2019 [7].

The paper is organized as follows. Section 2 presents a
brief mathematical background, whereas Section 3 presents
the admittance control law using the DQ logarithmic map-
ping. Section 4 introduces the TAC and the two other task-
space motion controllers that are used for comparison pur-
poses, namely TIDFL and TPID. Section 5 presents the ex-
perimental results as well as the statistical analyses compar-
ing the three controllers. Finally, Section 6 presents the final
remarks and perspectives of future works.

## 2 Mathematical Background

When designing task-space controllers, the mathematical
representation of rigid motions plays an important role,
since a poor choice may lead, for instance, to representa-
tional singularities [27]. In the last decades, several works
have shown that dual quaternion algebra presents several
advantages over other mathematical tools for robot mod-
eling and control, most notably when the task-space is

<figure><img src="image_2.png" /></figure>
considered [36]. For instance, unit dual quaternions have a compact representation, requiring only eight parameters, whereas homogeneous transformation matrices (HTM) need twelve if the fourth constant row is discarded, presenting thus a smaller computational effort concerning multiplications and additions. Moreover, the unit DQ does not have representational singularities, as well as the HTM, and the coefficients of a DQ can be used directly in the control law. This is a great convenience since the use of other traditional methods based on HTM may require the extraction of geometrical parameters, which in turn can lead to representational singularities. Another advantage of DQ is the fact that it has strong algebraic properties and can be used to represent, in addition to rigid motions, wrenches, twists, and geometric primitives such as Plücker lines and planes. [37]

Thanks to the aforementioned advantages, we use dual quaternion algebra throughout the paper.

## 2.1 Quaternions and Dual Quaternions

Quaternions can be understood as an extension of imaginary numbers, in which the three imaginary components obey [38]

$$ \hat{i}^2 = \hat{j}^2 = \hat{k}^2 = \hat{i}\hat{j}\hat{k} = -1, $$

and the set of quaternions is defined as

$$ \mathbb{H} \triangleq \{h_1 + \hat{i}h_2 + \hat{j}h_3 + \hat{k}h_4 : h_1, h_2, h_3, h_4 \in \mathbb{R}\}. $$

Given $\mathbb{H} \ni \mathbf{h} = h_1 + \hat{i}h_2 + \hat{j}h_3 + \hat{k}h_4$, the real part of $\mathbf{h}$ is Re($\mathbf{h}$) $\triangleq h_1$, and Im($\mathbf{h}$) $\triangleq \hat{i}h_2 + \hat{j}h_3 + \hat{k}h_4$ is the imaginary part, such that $\mathbf{h} = \text{Re}(\mathbf{h}) + \text{Im}(\mathbf{h})$, whereas the quaternion conjugate is given by $\mathbf{h}^* = \text{Re}(\mathbf{h}) - \text{Im}(\mathbf{h})$. The subset of pure quaternions is defined as $\mathbb{H}_p \triangleq \{\mathbf{h} \in \mathbb{H} : \text{Re}(\mathbf{h}) = 0\}$, and the subset of unit quaternions is defined as $\mathbb{S}^3 \triangleq \{\mathbf{h} \in \mathbb{H} : \mathbf{h}\mathbf{h}^* = 1\}$.

The multiplication between real matrices and quaternions is sometimes necessary, and thus appropriate operators are needed. Given $\mathbb{H} \ni \mathbf{h} = h_1 + \hat{i}h_2 + \hat{j}h_3 + \hat{k}h_4$, the operator $\text{vec}_4 : \mathbb{H} \to \mathbb{R}^4$ is defined as

$$ \text{vec}_4 \mathbf{h} \triangleq [h_1 \ h_2 \ h_3 \ h_4]^T, \qquad (1) $$

such that, given $\mathbf{a}, \mathbf{b} \in \mathbb{H}$, the Hamilton operators $\bar{\mathbf{H}}_4, \bar{\mathbf{H}}_4^\dagger : \mathbb{H} \to \mathbb{R}^{4 \times 4}$ satisfy [39]

$$ \text{vec}_4 (\mathbf{a}\mathbf{b}) = \bar{\mathbf{H}}_4^\dagger(\mathbf{a}) \text{vec}_4 \mathbf{b} \qquad (2) $$

$$ = \bar{\mathbf{H}}_4(\mathbf{b}) \text{vec}_4 \mathbf{a}. \qquad (3) $$

Moreover, given $\mathbb{H}_p \ni \mathbf{p} = \hat{i}\mathbf{p}_1 + \hat{j}\mathbf{p}_2 + \hat{k}\mathbf{p}_3$, the operator $\text{vec}_3 : \mathbb{H}_p \to \mathbb{R}^3$ is defined as

$$ \text{vec}_3 \mathbf{p} \triangleq [\mathbf{p}_1 \ \mathbf{p}_2 \ \mathbf{p}_3]^T. \qquad (4) $$

Analogously to quaternions, the dual quaternion set is defined as

$$ \mathcal{H} \triangleq \{\mathbf{h}_1 + \varepsilon\mathbf{h}_2 : \mathbf{h}_1, \mathbf{h}_2 \in \mathbb{H}, \varepsilon \neq 0, \varepsilon^2 = 0\}, $$

where $\varepsilon$ is the nilpotent dual unit [40]. The subset of pure DQ is defined as

$$ \mathcal{H}_p \triangleq \{(\mathbf{h}_1 + \varepsilon\mathbf{h}_2) \in \mathcal{H} : \text{Re}(\mathbf{h}_1) = \text{Re}(\mathbf{h}_2) = 0\} $$

whereas the set of unit DQ is defined as $\mathcal{S} \triangleq \{\mathbf{h} \in \mathcal{H} : \mathbf{h}\mathbf{h}^* = 1\}$, in which $\mathbf{h}^* = \mathbf{h}_1^* + \varepsilon\mathbf{h}_2^*$ [37]. The set $\mathcal{S}$ equipped with the standard multiplication form the group Spin(3)×$\mathbb{R}^3$ of rigid motions [41].

Similarly to quaternions, given the DQ

$$ \underline{\mathbf{a}} = a_1 + \hat{i}a_2 + \hat{j}a_3 + \hat{k}a_4 + \varepsilon (a_5 + \hat{i}a_6 + \hat{j}a_7 + \hat{k}a_8) $$

and the pure DQ

$$ \underline{\mathbf{b}} = \hat{i}b_1 + \hat{j}b_2 + \hat{k}b_3 + \varepsilon (\hat{i}b_4 + \hat{j}b_5 + \hat{k}b_6), $$

the operators $\text{vec}_8 : \mathcal{H} \to \mathbb{R}^8$ and $\text{vec}_6 : \mathcal{H}_p \to \mathbb{R}^6$ are defined as [37]

$$ \text{vec}_8 \underline{\mathbf{a}} = [a_1 \ a_2 \ a_3 \ a_4 \ a_5 \ a_6 \ a_7 \ a_8]^T, \qquad (5) $$

$$ \text{vec}_6 \underline{\mathbf{b}} = [b_1 \ b_2 \ b_3 \ b_4 \ b_5 \ b_6]^T. \qquad (6) $$

Given $\mathbf{u} = [u_1 \ u_2 \ u_3 \ u_4 \ u_5 \ u_6 \ u_7 \ u_8]^T$ and $\mathbf{v} = [v_1 \ v_2 \ v_3 \ v_4 \ v_5 \ v_6]^T$, the inverse mappings $\text{vec}_8 : \mathbb{R}^8 \to \mathcal{H}$ and $\text{vec}_6 : \mathbb{R}^6 \to \mathcal{H}_p$ are given by

$$ \text{vec}_8 \mathbf{u} = u_1 + u_2\hat{i} + u_3\hat{j} + u_4\hat{k} + \varepsilon (u_5 + u_6\hat{i} + u_7\hat{j} + u_8\hat{k}), \qquad (7) $$

$$ \text{vec}_6 \mathbf{v} = v_1\hat{i} + v_2\hat{j} + v_3\hat{k} + \varepsilon (v_4\hat{i} + v_5\hat{j} + v_6\hat{k}). \qquad (8) $$

## 2.2 Dual Quaternion Logarithmic Mapping

Considering a translation $\mathbf{p} = (\hat{i}\mathbf{p}_x + \hat{j}\mathbf{p}_y + \hat{k}\mathbf{p}_z) \in \mathbb{H}_p$ and a rotation $\mathbf{r} = (\cos(\phi/2) + \mathbf{n}\sin(\phi/2)) \in \mathbb{S}^3$, with $\phi \in [0, 2\pi)$ being the rotation angle around the rotation axis $\mathbf{n} = (\hat{i}\mathbf{n}_x + \hat{j}\mathbf{n}_y + \hat{k}\mathbf{n}_z) \in \mathbb{S}^3 \cap \mathbb{H}_p$, the unit DQ $\underline{\mathbf{x}} \in \mathcal{S}$ that combines both $\mathbf{p}$ and $\mathbf{r}$ is given by

$$ \underline{\mathbf{x}} = \mathbf{r} + \varepsilon \frac{1}{2} \mathbf{p} \mathbf{r}, \qquad (9) $$

whose logarithm is [39]

$$ \log \underline{\mathbf{x}} = \frac{n\phi}{2} + \varepsilon \frac{p}{2}. \qquad (10) $$
The DQ logarithmic mapping can be used to translate the
spacial difference $\underline{x}_d^c \triangleq \underline{x}_c^*\underline{x}_d$ between two poses $\underline{x}_c, \underline{x}_d \in \underline{\mathcal{S}}$, as in (9), to the origin [42]. More specifically,

$$
\underline{x}_c \rightarrow \underline{x}_d \Rightarrow \underline{x}_d^c \rightarrow 1 \Rightarrow \log \underline{x}_d^c \rightarrow 0.
$$

Moreover, letting $\underline{\mathbf{y}} \triangleq \log \underline{\mathbf{x}}$, the time derivatives of $\underline{\mathbf{y}}$ and $\underline{\mathbf{x}}$
are related by means of the matrix $\underline{\mathbf{Q}}_8(\underline{\mathbf{x}}) \in \mathbb{R}^{8 \times 6}$ as [43]

$$
\mathrm{vec}_8 \dot{\underline{x}} = \underline{\mathbf{Q}}_8(\underline{\mathbf{x}}) \mathrm{vec}_6 \dot{\underline{\mathbf{y}}}, \quad (11)
$$

where $\mathrm{vec}_8(\cdot)$ and $\mathrm{vec}_6(\cdot)$ transform the DQ into a vector,
as in (5) and (6), respectively, and

$$
\underline{\mathbf{Q}}_8(\underline{\mathbf{x}}) = \begin{bmatrix} \underline{\mathbf{Q}}_4(\underline{\mathbf{r}}) & \mathbf{0}_{4 \times 3} \\ \frac{1}{2} \underline{\mathbf{H}}_4^+(\underline{\mathbf{p}}) \underline{\mathbf{Q}}_4(\underline{\mathbf{r}}) & \bar{\underline{\mathbf{H}}}_4(\underline{\mathbf{r}}) \underline{\mathbf{Q}}_p \end{bmatrix}, \quad (12)
$$

with $\mathbf{0}_{m \times n} \in \mathbb{R}^{m \times n}$ being a matrix of zeros, $\bar{\mathbf{H}}_4 + \mathbf{1}_4(\cdot)$ being
the Hamilton operator as in (2), and

$$
\underline{\mathbf{Q}}_p = \begin{bmatrix} \mathbf{0}_{1 \times 3} \\ \underline{\mathbf{I}}_3 \end{bmatrix}, \quad (13)
$$

with $\mathbf{I}_m \in \mathbb{R}^{m \times m}$ being the identity matrix. In addition,

$$
\underline{\mathbf{Q}}_4(\mathbf{r}) = \begin{bmatrix} -r_2 & -r_3 & -r_4 \\ \gamma n_x^2 + \Theta & \gamma n_x n_y & \gamma n_x n_z \\ \gamma n_y n_x & \gamma n_y^2 + \Theta & \gamma n_y n_z \\ \gamma n_z n_x & \gamma n_z n_y & \gamma n_z^2 + \Theta \end{bmatrix}, \quad (14)
$$

where $r_i$ is the $i$ th component of the quaternion $r$, and

$$
\gamma = r_1 - \Theta, \quad (15)
$$

$$
\Theta = \begin{cases} 1, & \text{if } \phi = 0 \\ \frac{\sin(\phi/2)}{\phi/2}, & \text{otherwise.} \end{cases} \tag{16}
$$

The generalized wrench $\mathbf{\Gamma}_{\text{log}} \in \mathbb{R}^6$ related to the
logarithm is given by

$$
\mathbf{\Gamma}_{\text{log}} \triangleq \mathbf{G}_{\text{log}}^{T}(\mathbf{x}) \mathbf{\zeta}, \quad (17)
$$

where $\mathbb{R}^6 \ni \boldsymbol{\zeta} = [f^T \mathbf{m}^T]^T$ is the wrench related to
$[\mathbf{v}^T \boldsymbol{\omega}^T]^T$, with $\mathbf{f}, \mathbf{m} \in \mathbb{R}^3$ being the force and moment,
and $\mathbf{v}, \boldsymbol{\omega} \in \mathbb{R}^3$ being the linear and angular velocities,
respectively. From $[\mathbf{v}^T \boldsymbol{\omega}^T]^T = \mathbf{G}_{\text{log}}(\underline{\mathbf{x}}) \text{vec}_6 \dot{\underline{\mathbf{y}}}$, we use
the relations $\text{vec}_4 \dot{\mathbf{r}} = \underline{\mathbf{Q}}_4(\mathbf{r}) \frac{d}{dt} \text{vec}_3(n\boldsymbol{\phi}/2)$ [43], with
$\text{vec}_4(\cdot)$ and $\text{vec}_3(\cdot)$ being the operators defined in (1) and
(4), respectively, and $\boldsymbol{\omega} = 2\bar{\mathbf{I}}_{3 \times 4} \bar{\mathbf{H}}_4(\mathbf{r}^*) \text{vec}_4 \dot{\mathbf{r}}$ [39], with
$\bar{\mathbf{H}}_4(\cdot)$ being the Hamilton operator as in (3), to find by
inspection that

$$
\mathbf{G}_{\text{log}}(\underline{\mathbf{x}}) \triangleq \begin{bmatrix} \mathbf{0}_{3 \times 3} & 2\mathbf{I}_3 \\ 2\bar{\mathbf{I}}_{3 \times 4} \bar{\mathbf{H}}_4(\mathbf{r}^*) & \underline{\mathbf{Q}}_4(\mathbf{r}) \mathbf{0}_{3 \times 3} \end{bmatrix},
$$

where $\bar{\mathbf{I}}_{3 \times 4} \triangleq [\mathbf{0}_{3 \times 1} \ \mathbf{I}_{3 \times 3}]$.

**3 Admittance Control Law**

In order to have a safe interaction between a robot manipu-
lator and the environment, we propose a control architecture
that guarantees a compliant behavior while achieving good
end-effector pose accuracy. To obtain a compliant behavior
on industrial manipulators, admittance controllers are
frequently used since those robots are usually characterized
by a stiff and non-backdrivable mechanical structure [44], in
which an admittance controller ensures better performance
than impedance controllers [21]. Moreover, when a high
positioning accuracy is desirable, an admittance controller is
also more adequate as it usually achieve smaller steady-state
errors in the end-effector pose than impedance controllers.
Thus, aiming at high accuracy and a compliant behavior
of industrial manipulators, an admittance controller is more
adequate and hence used in this paper.

Considering the desired end-effector pose $\underline{x}_d \in \underline{\mathcal{S}}$, our proposed architecture consists of an admittance controller in the outer loop that modifies $\underline{x}_d$ according to the external wrench, which is measured at the robot end-effector, and outputs a compliant pose $\underline{x}_c \in \underline{\mathcal{S}}$ that satisfies the desired apparent impedance. A torque motion controller is used in the inner loop to control the end-effector pose according to the reference trajectory given by $\underline{x}_c$, as illustrated in Fig. 1.

Analogously to the work of Caccavale et al. [4], the desired apparent impedance is achieved by imposing the closed-loop dynamics given by

$$
\mathbf{M}_d \ddot{\mathbf{y}}_d^c + \mathbf{B}_d \dot{\mathbf{y}}_d^c + \mathbf{K}_d \mathbf{y}_d^c = - \mathbf{\Gamma}_{\text{log}}^c,
$$

where $\mathbf{M}_d, \mathbf{B}_d, \mathbf{K}_d \in \mathbb{R}^{6 \times 6}$ are the apparent desired inertia,
damping, and stiffness positive definite matrices, $\mathbf{y}_d^c \triangleq$
$\mathrm{vec}_6 (\log \underline{\mathbf{x}}_d^c) \in \mathbb{R}^6$ in which the logarithm is given by (10),
with $\underline{\mathcal{S}} \ni \underline{\mathbf{x}}_d^c \triangleq \underline{\mathbf{x}}_c^* \underline{\mathbf{x}}_d$. The external generalized wrench,
with respect to frame $\mathcal{F}_c$, transformed to be consistent
with the logarithmic mapping according to (17) is given by
$\mathbf{\Gamma}_{\text{log}}^c = \mathbf{G}_{\text{log}}^T (\underline{\mathbf{x}}_d^c) \mathbf{\zeta}^c$. Since the wrench $\mathbf{\zeta}^{\text{eff}} \in \mathbb{R}^6$ read by
the force/torque sensor at the robot end-effector is given
with respect to the end-effector frame, the transformation to
express it in the compliant frame $\mathcal{F}_c$ is given by

$$
\mathbf{\zeta}^c = \mathrm{vec}_6 (\mathbf{r}_{\mathrm{eff}}^c (\underline{\mathbf{vec}}_6 \mathbf{\zeta}^{\mathrm{eff}}) \mathbf{r}_{\mathrm{eff}}^{c*}),
$$

where $\mathbf{r}_{\text{eff}}^c = \mathbf{r}_c^* \mathbf{r}_{\text{eff}}$, with $\mathbf{r}_{\text{eff}} \in \mathbb{S}^3$ being the orientation of the end-effector with respect to the fixed reference frame, and $\underline{\mathbf{vec}}_6(\cdot)$ being the operator defined in (8).

The admittance controller is dual to the impedance
controller, in which the contact wrench is measured and the
controller output is the acceleration. Thus, the admittance
control law is given by

$$
\ddot{\mathbf{y}}_d^c = \mathbf{M}_d^{-1} \left( -\mathbf{B}_d \dot{\mathbf{y}}_d^c - \mathbf{K}_d \mathbf{y}_d^c - \mathbf{\Gamma}_{\text{log}}^c \right). \quad (18)
$$
<figure><img src="image_3.png" /><figcaption>Fig. 1 Scheme illustrating the closed-loop system composed of an outer loop with an admittance controller and an inner loop with a torque controller</figcaption></figure>

## 3.1 Trajectory Generation

The displacement $\underline{x}_d^c$ and its first and second time derivatives are found by integrating $\ddot{y}_d^c$ twice and using the relations (11), its derivative, and $\underline{x}_d^c = \exp \underline{y}_d^c$, where $\exp(\cdot)$ is the exponential of a pure DQ that satisfies $\underline{x} = \exp(\log \underline{x})$ [37]. More specifically, the time derivative of (11) is

$$ \text{vec}_8 \ddot{\underline{x}}_d^c = \dot{\underline{Q}}_8 (\underline{x}_d^c) \text{vec}_6 \dot{\underline{y}}_d^c + \underline{Q}_8 (\underline{x}_d^c) \text{vec}_6 \ddot{\underline{y}}_d^c, $$

where $\dot{\underline{Q}}_8 (\underline{x}_d^c)$ is the time derivative of (12) and given by

$$ \dot{\underline{Q}}_8 (\underline{x}) = \begin{bmatrix} \dot{\underline{Q}}_4 (\underline{r}) & \underline{0}_{4 \times 3} \\ \frac{1}{2} \underline{E}(\underline{x}, \dot{\underline{x}}) \bar{\underline{H}}_4 (\dot{\underline{r}}) \underline{Q}_p & \end{bmatrix}, $$

where $\underline{Q}_p$ is given by (13), $\underline{E}(\underline{x}, \dot{\underline{x}}) \triangleq \dot{\bar{\underline{H}}}_4 (\dot{\underline{p}}) \underline{Q}_4 (\underline{r}) + \dot{\bar{\underline{H}}}_4 (\underline{p}) \dot{\underline{Q}}_4 (\underline{r})$ and

$$ \dot{\underline{Q}}_4 (\underline{r}) = \begin{bmatrix} -\dot{r}_2 & -\dot{r}_3 & -\dot{r}_4 \\ \dot{r}_n n_x^2 + \gamma 2n_x \dot{n}_x + \dot{\Theta} & \dot{r}_n n_x n_y + \gamma \dot{n}_x n_y + \gamma n_x \dot{n}_y & \dot{r}_n n_x n_z + \gamma \dot{n}_x n_z + \gamma n_x \dot{n}_z \\ \dot{r}_n n_y n_x + \gamma \dot{n}_y n_x + \gamma n_y \dot{n}_x & \dot{r}_n n_y^2 + \gamma 2n_y \dot{n}_y + \dot{\Theta} & \dot{r}_n n_y n_z + \gamma \dot{n}_y n_z + \gamma n_y \dot{n}_z \\ \dot{r}_n n_z n_x + \gamma \dot{n}_z n_x + \gamma n_z \dot{n}_x & \dot{r}_n n_z n_y + \gamma \dot{n}_z n_y + \gamma n_z \dot{n}_y & \dot{r}_n n_z^2 + \gamma 2n_z \dot{n}_z + \dot{\Theta} \end{bmatrix} $$

is the time derivative of (14), with

$$ \dot{\underline{r}} = \dot{r}_1 - \dot{\Theta} $$

and

$$ \dot{\Theta} = \begin{cases} 0, & \text{if } \phi = 0 \\ \frac{\cos(\phi/2)(\dot{\phi}/2)(\phi/2) - \sin(\phi/2)(\dot{\phi}/2)}{(\phi/2)^2}, & \text{otherwise,} \end{cases} $$

being the time derivative of (15) and (16), respectively.

Hence, the compliant trajectory $\underline{x}_c(t)$ and its derivatives $\dot{\underline{x}}_c(t)$ and $\ddot{\underline{x}}_c(t)$ are given by

$$ \underline{x}_c = \underline{x}_d \underline{x}_d^{c*}, $$

$$ \dot{\underline{x}}_c = \dot{\underline{x}}_d \underline{x}_d^{c*} + \underline{x}_d \dot{\underline{x}}_d^{c*}, $$

$$ \ddot{\underline{x}}_c = \ddot{\underline{x}}_d \underline{x}_d^{c*} + 2 \dot{\underline{x}}_d \dot{\underline{x}}_d^{c*} + \underline{x}_d \ddot{\underline{x}}_d^{c*}, $$

where $\underline{x}_d^c$ and its derivatives are retrieved by using the operation (7). This trajectory is the input of the motion controller, aimed to control the end-effector pose.

## 4 Motion Control Laws

As our proposed architecture includes a motion control law in the inner loop, we need to define a motion controller that accurately tracks the reference trajectory to ensure the apparent admittance in the outer loop and, as consequence, guarantee safety. As we assume complete knowledge of the robot dynamic model, the motion control laws proposed in our work are based on it. Those control laws are designed from the Euler-Lagrange equation, which is given by [45]

$$ M(q) \ddot{q} + C(q, \dot{q}) \dot{q} + g(q) = \tau, \quad (19) $$

where $q \in \mathbb{R}^n$ is the vector of joint configuration, $M(q) \in \mathbb{R}^{n \times n}$ is the inertia matrix, $C(q, \dot{q}) \in \mathbb{R}^{n \times n}$ contains the Coriolis and centrifugal terms, $g(q) \in \mathbb{R}^n$ is the gravity vector, $\tau \in \mathbb{R}^n$ is the vector of generalized torques applied to the joints, and $n$ is the number of DOFs.
We discuss, in the following, an adaptation of two classic task-space motion controllers that are based on (19) and on the differential forward kinematics; namely, the task-space inverse dynamics with feedback linearization (TIDFL) and task-space PID controller with gravity compensation (TPID). The adaptation consists of using unit DQ to represent the end-effector pose, which offers some advantages, as discussed in Section 2. Then, we propose an adaptive controller to improve the JSIM conditioning.

## 4.1 Task-Space Inverse Dynamics with Feedback Linearization

One common task-space controller for torque-actuated robots is based on the inverse dynamics with feedback linearization [45]; that is,

$$u = M(q) a_q + C(q, \dot{q}) \dot{q} + g(q), \quad (20)$$

where the control input $u \triangleq \tau \in \mathbb{R}^n$ is applied to the joints and $a_q \triangleq \ddot{q} \in \mathbb{R}^n$ is the control input designed to stabilize the linearized closed-loop system.

Since we seek a task-space controller, the control law for the linearized closed-loop system is defined as

$$a_q = J^+(a_x - \dot{J}\dot{q}), \quad (21)$$

where $J^+$ is the Moore-Penrose pseudoinverse of the Jacobian matrix $J \in \mathbb{R}^{8 \times n}$ and $a_x \triangleq \text{vec}_8 \ddot{x}$ is given by

$$a_x = \text{vec}_8 \ddot{x}_c - K_D \text{vec}_8 \dot{\bar{x}} - K_P \text{vec}_8 \bar{x} - K_I \int_0^t \text{vec}_8 \bar{x} dt, \quad (22)$$

where $K_D, K_P, K_I \in \mathbb{R}^{8 \times 8}$ are positive definite gain matrices and $\ddot{x} \triangleq x - \bar{x}_c$ denotes the end-effector error, with $x_c \in \mathcal{S} \subset \mathcal{H}$ being the compliant end-effector pose [46].

The torque of each joint calculated from (20) can be very disparate due to the difference in the singular values of $M(q)$, leading to poor closed-loop behavior, as we show in the results in Section 5. For instance, if the configuration-dependent inertia along a specific joint is very small, no matter how large the position/velocity error or PID-coefficients are, the correction torque applied on that joint will be still small compared to the dominant torque, which may result in some undesired stationary error [11, 14].

## 4.2 Task-Space PID Controller with Gravity Compensation

To improve the closed-loop system dynamic behavior in joint space, Shen and Featherstone [11] propose to use a PD with gravity compensation, which is proved to be stable [46], as it directly converts the joint-space error to the joint torques, without using the JSIM, and therefore is

not affected by its ill-conditioning [11]. We adapted their controller to be in task-space and use unit DQ to represent the end-effector pose. Moreover, we added an integral term to it. Thus, the TPID is given by

$$u = J^+ a_x + g(q), \quad (23)$$

with $a_x$ given by (22).

Shen and Featherstone [11] emphasizes that, although controllers such as (23) do not use the JSIM, which mitigates the problem caused by the JSIM ill-conditioning, a controller that takes into consideration the whole dynamic model of the system should achieve better accuracy.

## 4.3 Task-Space Adaptive JSIM Conditioning Controller

Targeting a task-space control law that is able to achieve a good accuracy by using torque inputs, an adequate alternative to the previously widely used control structures is to use an adaptive controller in which a carefully chosen positive definite matrix $\bar{D} \in \mathbb{R}^{n \times n}$ is added to the JSIM to improve its conditioning without adding excessive inaccuracy to the nominal model. Since the inertia matrix depends on the robot configuration, it is difficult to choose $\bar{D}$ beforehand, and thus it should be adapted during the robot motion, which motivates the use of an adaptive controller.

A typical adaptive controller is composed of a control law and an adaptation law. Thus, assuming full knowledge of the robot kinematics and dynamics, and that only the matrix $\bar{D}$ needs to be estimated, we propose a task-space adaptive control law based on the one by Cheah et al. [31], which is given by

$$u = J^T a_x + v(q, \dot{q}, \dot{q}_r, \ddot{q}_r) + Y(q, \ddot{q}_r) \hat{a}, \quad (24)$$

where $a_x$ is given by (22), $v(q, \dot{q}, \dot{q}_r, \ddot{q}_r) \in \mathbb{R}^n$ is a vector containing the known dynamic model—i.e., $v(q, \dot{q}, \dot{q}_r, \ddot{q}_r) = M(q) \ddot{q}_r + C(q, \dot{q}) \dot{q}_r + g(q)$—, where

$$\dot{q}_r = J^+ \text{vec}_8 \dot{x}_r,$$

$$\ddot{q}_r = J^+ (\text{vec}_8 \ddot{x}_r - \dot{J}\dot{q}),$$

in which

$$\text{vec}_8 \dot{x}_r = \text{vec}_8 \ddot{x}_c - \alpha \text{vec}_8 \bar{x},$$

$$\text{vec}_8 \ddot{x}_r = \text{vec}_8 \ddot{\bar{x}}_c - \alpha \text{vec}_8 \bar{x},$$

with $\alpha$ being a positive constant. The matrix $Y(q, \ddot{q}_r) \in \mathbb{R}^{n \times n}$ is the regressor that depends on the choice of $\bar{D}$ and on the parameter vector $\hat{a} \in \mathbb{R}^n$ to be estimated.

### 4.3.1 Adaptive JSIM Conditioning

In order to define the adaptation law, we first choose the positive definite matrix $\bar{D}$ that is added to the JSIM aiming
to improve its conditioning.<fnref n="1" /> Therefore, knowing that the inertia matrix $M \triangleq M(q)$ can be decomposed into $M = USU^T$, where each column $u_i$, with $i \in \{1, \dots, n\}$, of $U \in O(n)$ contains the left singular vectors of $M$ and $S \in \mathbb{R}^{n \times n}$ contains the singular values of $M$ [47], we define $\bar{D} = UDU^T$ as a positive definite matrix, where $\mathbb{R}^{n \times n} \ni D = \text{diag}(d_1, \dots, d_n)$ is a suitable diagonal matrix [13].

Since the condition number of $M$ is given by $\text{cond}(M) \triangleq \sigma_{1M}/\sigma_{nM}$, where $\sigma_{1M}$ and $\sigma_{nM}$ are the maximum and minimum singular values of $M$, respectively, thus $M+\bar{D} = U(S+D)U^T$ implies

$$ \text{cond}(M + \bar{D}) = \frac{(\sigma_{1M} + \sigma_{1\bar{D}})}{(\sigma_{nM} + \sigma_{n\bar{D}})}. $$

If $\text{cond}(M + \bar{D}) < \text{cond}(M)$, then

$$ \frac{\sigma_{1M} + \sigma_{1\bar{D}}}{\sigma_{nM} + \sigma_{n\bar{D}}} < \frac{\sigma_{1M}}{\sigma_{nM}} \Rightarrow \frac{\sigma_{1\bar{D}}}{\sigma_{n\bar{D}}} < \frac{\sigma_{1M}}{\sigma_{nM}} \Rightarrow \text{cond}(\bar{D}) < \text{cond}(M). \quad (25) $$

Therefore, for the condition number of the sum $(M + \bar{D})$ be smaller than the one of $M$, the matrix $\bar{D}$ must be better conditioned than $M$ [13].

Considering the robot dynamic model (19) in which the matrix $\bar{D}$ is added to the nominal JSIM, and knowing that the model is linear in a set of parameters and its linear combinations [30], we can write

$$ \begin{aligned} & [M(q) + \bar{D}] \ddot{q}_r + C(q, \dot{q}) \dot{q}_r + g(q) \\ & = \underbrace{M(q) \ddot{q}_r + C(q, \dot{q}) \dot{q}_r + g(q)}_{v(q, \dot{q}, \dot{q}_r, \ddot{q}_r)} + Y(q, \ddot{q}_r) a, \end{aligned} $$

which implies $Y(q, \ddot{q}_r)a = \bar{D}\ddot{q}_r$, with $a \in \mathbb{R}^n$ being the vector of parameters.

In (24), the vector $\hat{a}$ contains the estimated values of $a$, and thus the goal is to enforce $Y(q, \ddot{q}_r)\hat{a} = \bar{D}\ddot{q}_r$, with $\hat{a} = [\hat{a}_1 \cdots \hat{a}_n]^T$ being the singular values of $\bar{D}$. Since

$$ \bar{D} = UDU^T = \sum_{i=1}^{n} u_i u_i^T a_i, $$

the regressor is given by $Y(q, \ddot{q}_r) = [y_1 \cdots y_n]$, where $y_i = u_i u_i^T \ddot{q}_r$.

In order to enforce the estimated parameters in $\hat{a}$ to be positive and also to have a matrix $\bar{D}$ that fulfills condition (25), we first define a convex region corresponding to the

admissible parameter set [35]. Thus, variable lower ($\beta_{\min}$) and upper ($\beta_{\max}$) bounds are defined as a function of the singular values of the JSIM such that $\sigma_{nM} < \beta_{\min} \neq \beta_{\max} < \sigma_{1M}$. The convex region of admissible parameters is defined as [13]

$$ \Omega \triangleq \{ \eta_{\min} \le \hat{a} \le \eta_{\max} \}, $$

where

$$ \eta_{\max} \triangleq \mathbf{1}_n \beta_{\max} - \text{diag}(0, \dots, n-1) \mathbf{1}_n \delta, $$

$$ \eta_{\min} \triangleq \mathbf{1}_n \beta_{\max} - \text{diag}(1, \dots, n) \mathbf{1}_n \delta, $$

with $\mathbf{1}_n$ being an $n$-dimensional vector of ones, and $\delta \triangleq (\beta_{\max} - \beta_{\min})/n$; therefore, the estimated singular values are decreasingly ordered and between the upper and lower bounds. The regions with the estimated parameters are illustrated in Fig. 2.

The adaptation law is defined as

$$ \dot{\hat{a}} \triangleq P\mathbf{v} + (I_n - \mathbf{P})L\Lambda\rho, \quad (26) $$

where $\mathbf{v} = -LY(q, \ddot{q}_r)^T s$ is the nominal adaptive law, with $s \triangleq \dot{q} - \dot{q}_r$ being the slide vector, defined to restrict the error to a sliding surface [29], $L \in \mathbb{R}^{n \times n}$ is a diagonal positive-definite matrix that determines the convergence rate of the adaptive parameters, and $I_n \in \mathbb{R}^{n \times n}$ is the identity matrix. The matrix $\mathbf{P} = \text{diag}(p_1, \dots, p_n)$, where

$$ p_i = \begin{cases} 0, & \text{if } (\hat{a}_i < \eta_{\min,i} \wedge \nu_i \le 0) \vee (\hat{a}_i > \eta_{\max,i} \wedge \nu_i \ge 0), \\ 1, & \text{otherwise,} \end{cases} $$

is used to determine if a given parameter shall be projected onto the border of the region, $\Lambda = \text{diag}(\lambda_1, \dots, \lambda_n)$ with $\lambda_i \in (0, \infty)$ is used to accelerate the convergence of each parameter to the boundary of $\Omega$, and $\rho = [\rho_1, \dots, \rho_n]^T$ with $\rho_i = \text{sgn}(\eta_{\min,i} - \hat{a}_i)$ is used to choose the direction of convergence, as illustrated in Fig. 3.

## 5 Experimental Results and Discussions<fnref n="2" />

To evaluate the proposed technique, we performed experiments on a KUKA LWR4+ robot manipulator equipped with a computer with two Intel Xeon 2.4 GHz hexacore processors with 32 Gbof RAM each, and an Anarchy Linux version 1.4 (Linux 4.19.50-rt22-2-rt-lts), with a 64-bit x86 architecture, using the C++ version of the DQ Robotics library [36]. The robot is equipped with one ATI Mini 45 force/torque sensor at its end-effector, and it only reacts to wrenches applied at the end-effector.

Since we use a KUKA LWR4+ API<fnref n="3" /> that provides measurements only of joint angles, the joint velocity and

<footnote n="1">¹From a physical point of view, improving the conditioning number of the inertia matrix is equivalent to changing the inertial impedance of the closed-loop system. More specifically, the system will have more uniform inertial characteristics.</footnote>

<footnote n="2">²See the accompanying video.</footnote>

<footnote n="3">³http://pid.lirmm.net/pid-framework/</footnote>
<figure><img src="image_4.png" /><figcaption>**Fig. 2** Region $\Omega$ with the lower and upper bounds $\beta_{min}$ and $\beta_{max}$. The estimated singular values are decreasingly ordered inside the subregions of size $\delta$</figcaption></figure>

acceleration vectors were calculated by numerical differentiation (backward differencing). In addition, to prevent the wind-up effect, a saturation was imposed on the integral term in (22), limiting the value for the first four coefficients into the interval $[-1, 1]$ while the last four coefficients were limited into the interval $[-0.06, 0.06]$. These intervals were chosen empirically.

The experiments were run with a sampling time of 5 ms. The parameters of the adaptive controller, given by (24) and (26), were $\alpha = 0.5$, $\beta_{min} = \sigma_{nM} + \Delta\sigma$ and $\beta_{max} = \sigma_{1M} - \Delta\sigma$, with $\Delta\sigma = (\sigma_{nM} + \sigma_{1M})/10$, and $L = 0.1I_7$. The initial estimated parameters were $\hat{a}[0] = [0.1\ 0.05\ 0.04\ 0.03\ 0.02\ 0.02\ 0.02]^T$, and the robot dynamic model was obtained from [48]. For the outer loop, the matrices in (18) were chosen empirically as $M_d = 1.5I_6$, $B_d = 300I_6$, and $K_d = 100I_6$.

## 5.1 Choice of Gain Matrices

Since manipulation tasks are typically described in the task-space, that is, in terms of physical entities related to the end-effector (e.g., pose, wrench, twist), task-space motion controllers are more appropriate than joint-space motion controllers because no explicit inverse kinematics is required. However, the choice of gains for a task-space motion controller, when based on the transpose of the Jacobian matrix, as in (24), is not straightforward because the closed-loop response tends to be very abrupt for large errors and extremely slow for small errors [49]. Therefore, a variable gain matrix is desirable to ensure a more uniform behavior.

Since there is a relationship between the task-space and the joint-space closed-loop gains [49], one strategy is to define the desired dynamic behavior in joint-space (e.g., exponential decay) and use that relationship to ensure a similar performance in the task-space, regardless if the transpose of the Jacobian matrix is used, as in (24), or if the pseudoinverse of the Jacobian matrix is used, as in (23) and (21). When using the latter, this transformation is given by

$$K = J^+ K_q J, \quad (27)$$

whereas when using the former, the relation is given by

$$K = J^+ T K_q J^+, \quad (28)$$

where $K$ and $K_q$ are the task-space and joint-space gain matrices, respectively [49].

Suppose we consider the desired equivalent joint-space error dynamics as

$$\ddot{q} + K_{D_q} \dot{q} + K_{P_q} \tilde{q} = 0, \quad (29)$$

where $\tilde{q}$ is the joint-space error and $K_{D_q} = \text{diag}(k_{D_{q1}}, \dots, k_{D_{qn}})$ and $K_{P_q} = \text{diag}(k_{P_{q1}}, \dots, k_{P_{qn}})$ are the derivative and proportional diagonal positive-definite joint-space gain matrices. Since the gain matrices are diagonal, the closed-loop system is uncoupled with $n$ independent characteristic equations such as

$$r_i^2 + k_{D_{qi}} r_i + k_{P_{qi}} = 0,$$

<figure><img src="image_5.png" /><figcaption>**Fig. 3** If the estimated parameter $\hat{a}_i$ is outside the region and the update $v$ makes it to remain outside, then $p_i = 0$ and the parameter will be projected onto the border of the region. The direction of the projection is defined by $p_i$, which is changed whenever $\hat{a}_i$ is smaller or larger than $\eta_{min,i}$. If $p_i = 1$, then the nominal adaptation law is used</figcaption></figure>
for all $i \in \{1, \dots, n\}$, with two roots given by

$$r_{i1,2} = \frac{-k_{D_{q_i}} \pm \sqrt{k_{D_{q_i}}^2 - 4k_{P_{q_i}}}}{2}$$

If $k_{D_{q_i}}^2 = 4k_{P_{q_i}}$, then $r_{i1} = r_{i2} = -k_{D_{q_i}}/2$ and thus the solution to (29) is given by

$$\tilde{q}_i(t) = c_{i1}e^{r_{i1}t} + c_{i2}te^{r_{i2}t},$$

with $c_{i1}, c_{i2} \in \mathbb{R}$. Hence, the error decreases exponentially.

Thus, we have chosen the equivalent joint-space gains as $K_{D_q} = 10I_7$ and $K_{P_q} = 25I_7$, for all torque controllers, which satisfies the relation $k_{D_{q_i}}^2 = 4k_{P_{q_i}}$, for all $i \in \{1, \dots, n\}$, and the integral gain has been chosen empirically as $K_{I_q} = 10I_7$. Consequently, as we wish a dynamic behavior equivalent to $\ddot{q} + K_{D_q}\dot{q} + K_{P_q}\tilde{q} = 0$, the gains $K_P, K_I$, and $K_D$ for the controllers (20)—(22) and (23) have been found by using the transformation (27). Similarly, the equivalent task-space gains for the controller (24)—(26) are found according to the transformation (28).

## 5.2 Experiments with an External Wrench

We performed experiments with an external wrench acting at the robot end-effector to show that the robot behaves compliantly, and also to compare its behavior when different inner motion controllers are used, namely the TIDFL (20), the TPID (23), and the TAC (24). Consider $\underline{x}_c(0) = \underline{x}_d(0) = \underline{x}(0)$, where $\underline{x}(0)$ is the initial robot end-effector pose and the robot initial configuration $\underline{q}(0) = [0 \ 0.5 \pi/2 -\pi/2 \ 0 \ 0 \ 0]^T$ is shown in Fig. 4a. At the beginning, an object with mass of 0.44kg was placed onto the end-effector. Thus, assuming an initial condition in which the robot is at rest with no external wrench exerted at the end-effector, in our experiment, the external wrench was then produced by the effect of gravity on the object. More specifically, the object's weight produced a wrench at the end-effector, which moved complacently. To ensure the desired apparent impedance, the compliant reference pose $\underline{x}_c$ deviated from $\underline{x}_d$ but the inner-loop controller ensured

<figure><img src="image_6.png" /><figcaption>**Fig. 4** Snapshots of the experiment with an object exerting a wrench at the end-effector. In the first row, the object is on the end-effector, which moves complacently due to the gravitational force. In the second row, the object is removed and the end-effector returns to the desired pose</figcaption></figure>
<figure><img src="image_7.png" /><figcaption>Fig. 5 External wrench acting at the end-effector</figcaption></figure>

the end-effector tracking of the trajectory given by $\underline{x}_c(t)$.<fnref n="4" /> After 35 s the object was removed and because there was no external wrench acting at the end-effector, it returned to the desired pose, as shown in the snapshots of Fig. 4.

The external wrench for all three controllers are shown in Fig. 5. The larger force in the z-axis, close to -4.5 N, corresponds to the force exerted by the object due to the gravity. Because the end-effector moves slightly differently depending on the controller used in the inner loop, the measured wrenches are different for each one of them.

Given the DQ of the current end-effector pose $\underline{x}$, the compliant pose $\underline{x}_c$, and the desired pose $\underline{x}_d$, the corresponding axis-angle and translation components (e.g., $\phi \underline{n} = \phi n_x \hat{i} + \phi n_y \hat{j} + \phi n_z \hat{k}$ and $\underline{p} = p_x \hat{i} + p_y \hat{j} + p_z \hat{k}$) are shown in Fig. 6, for all three controllers. (Given $\underline{x}$, the axis-angle and translation information are obtained as $2 \log \underline{x} = n\phi + \epsilon \underline{p}$—the same is done for $\underline{x}_c$ and $\underline{x}_d$.) As predicted by the theory, the compliant trajectory is different from the desired one when a wrench acts at the end-effector but, otherwise, they are equal.

By inspection, the TIDFL controller performed worst as the current end-effector pose, and specially the translational component, did not track $\underline{x}_c$ as well as the other two

controllers. The error norm for all controllers is shown in Fig. 7 and indicates that the TIDFL had larger error norm during the whole experiment, which corroborates the worst behavior in Fig. 6.

Figure 8 presents the condition number of the JSIM for the TIDFL and the condition number of the resultant matrix $M + \bar{D}$ for the TAC. Furthermore, since the trajectory generated by the TAC can be different from the one generated by the TIDFL, Fig. 8 also shows the conditioning of the nominal JSIM throughout the trajectory generated by the TAC. As predicted by theory, the conditioning of $M + \bar{D}$ is always better than the conditioning of $M$ because smaller condition number implies better conditioning.

## 5.3 Experiments in Free-Motion

The analysis of the movement under an external wrench is limited since it requires the same applied wrench for all compared controllers, which is difficult to achieve, as illustrated in Fig. 5. Therefore, deeper analyses were made in free-motion, with the outer loop controller being the same in all experiments, given by (18).

As a way to see if there is a significant difference between the performance of the three controllers in the inner loop—namely, (20), (23), and (24)–(26)—, statistical analyses were performed, which consisted of:

Analysis 1: analysis of the error;

Analysis 2: analysis of the control signal.

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

<footnote n="4">⁴The admittance controller (18) ensures a desired apparent impedance to the system, assuming that an inner-loop motion controller performs gravity compensation. The robot is backdrivable and has torque sensors in each joint, but the inner-loop motion controllers, given by (20), (23), or (24), ensure that the gravity is fully compensated.</footnote>
<figure><img src="image_9.png" /><figcaption>**Fig. 6** Coefficients of $2 \log \mathbf{x}$, $2 \log \mathbf{x}_c$, and $2 \log \mathbf{x}_d$, indicating the rotation around the axes x, y, and z (first row), and the translation along each each axis (second row)</figcaption></figure>
<figure><img src="image_10.png" /><figcaption>Fig. 7 Error norm for all controllers</figcaption></figure>

### 5.3.1 Statistical Methodology

In the statistical analyses presented in the next sections, the following definitions are used:

- *p-value*, which is the lowest significance level that would lead to the rejection of the null-hypothesis $H_0$. This means that the null-hypothesis is rejected if and only if the p-value is smaller than the significance level $\alpha_{analysis}$, which is the probability of occurrence of a false positive;

- *power* of the test, which is given by $(1 - \beta_{analysis})$, where $\beta_{analysis}$ is the probability of occurrence of a false negative;

- *minimally interesting effect*, which is the smallest difference between the controllers we are interested in detecting, regarding each one of the Analyses 1 and 2.

The null-hypothesis we want to verify is if the controllers are statistically equivalent (by comparing their population distribution means) concerning the control signal effort and specially the error decay. A false negative is a result that

<figure><img src="image_11.png" /><figcaption>Fig. 8 Condition number of the nominal $M$ for the TIDFL and the TAC, and of the resultant matrix $M + \bar{D}$. The smaller the condition number, the better</figcaption></figure>

<table><caption>Table 1 Minimally interesting effect for each analysis</caption><thead><tr><th colspan="2">Error discrepancy</th><th colspan="2">Control signal of inner loop</th></tr></thead><tbody><tr><td>δ<sub>f d</sub></td><td>15</td><td>δ<sub>f ||u||</sub></td><td>50</td></tr><tr><td>δ<sub>μ(d)</sub></td><td>0.03</td><td>δ<sub>μ(||u||)</sub></td><td>1</td></tr><tr><td>δ<sub>max(d)</sub></td><td>0.04</td><td>δ<sub>max(||u||)</sub></td><td>20</td></tr></tbody></table>

indicates the controllers are statistically equivalent when they are not. A false positive occurs when the null-hypothesis is rejected even if it is true. All statistical analyses are made in $R$ [50].

**Definition of the appropriate number of samples** In order to compare each controller and identify which one presents the best performance, we performed three t-tests, all against all, for Analysis 1 and Analysis 2. The desired characteristics for the analyses were chosen as:

- significance level of $\alpha_{analysis} = 0.05$;

- power of 0.85;

- and the minimally interesting effect as described in Table 1, where $\delta_f$, $\delta_μ$, $\delta_{max}$ are, respectively, the minimally interesting effect for the total, the mean, and the maximum values of the error discrepancy and the control signal.

Since the number of samples necessary to run the statistical analyses is based on the variance of the data, which is unknown a priori, each of the three controllers was initially run 30 times. Given an initial pose $\mathbf{x}(0) = \mathbf{x}_c(0) \neq \mathbf{x}_d$, different desired poses were generated randomly, but being the same for each controller to allow a fair comparison. Thus, to generate these 30 pairs of initial/final poses, first, three different initial configurations $\mathbf{q}_0$ were arbitrarily chosen and, for each one, ten desired joint configurations were generated according to a normal distribution $N(\mathbf{q}_0, 0.5)$, and the initial and desired end-effector poses were found using the robot forward kinematics.

After using the Fligner-Killeen Test of homogeneity of variances [51] in the collected data we concluded that the variance for all the controllers were not the same, since the p-values for each analysis are very small, as shown in Table 2, except for the control effort and the mean value of the control signal. Therefore, the null-hypothesis that the variances are equal is false.

<table><caption>Table 2 Fligner-Killeen test of homogeneity of variances</caption><thead><tr><th></th><th>p-values for the<br>error discrepancy</th><th>p-values for the<br>control signal</th></tr></thead><tbody><tr><td>∫ d</td><td><strong>5.15 × 10<sup>-13</sup></strong></td><td>0.88</td></tr><tr><td>μ(d)</td><td><strong>1.32 × 10<sup>-13</sup></strong></td><td>0.58</td></tr><tr><td>max(d)</td><td><strong>5.73 × 10<sup>-11</sup></strong></td><td><strong>2.67 × 10<sup>-12</sup></strong></td></tr></tbody></table>
<figure><img src="image_12.png" /><figcaption>**Fig. 9** Error discrepancy: (a) integral of the discrepancy function along the motion, (b) mean value of the function, and (c) its maximum</figcaption></figure>

Hence, we used the *Welch Two Sample t-test*, which is a modification of the *Student's t-test* used when the variance is not equal among all the populations. In this test, the null hypothesis and the alternative one are defined as [52]

$$ \begin{cases} H_0: \mu_1 = \mu_2, \\ H_1: \mu_1 \neq \mu_2. \end{cases} $$

where $\mu_i$, for $i = 1, 2$, are the population distribution means.

Considering the three *Welch Two Sample t-tests*, the computation of the number of samples was done using the mean value of the standard deviation of all three controllers results and the significance level adjusted for three comparisons, according to the Bonferroni correction for the value of $\alpha_{analysis}$, that is, [52]

$$ \alpha_{adj} = \frac{\alpha_{analysis}}{K} = 0.0167, \qquad (30) $$

where $K = a(a-1)/2$, with $a$ being the number of controllers, which in our case is equal to 3. Finally, the number of samples was calculated using the two-sample t-test power calculation available in R, resulting in a value lower than 30. Hence, the analyses were made with the 30 samples already collected.

### 5.3.2 Statistical Analyses of the Error

Given a discrepancy function defined as $d(t) \triangleq \|\text{vec}_8 \tilde{x}(t)\|$, with $\tilde{x}(t) \triangleq \underline{x}(t) - \underline{x}_c(t)$, the first analysis concerns the total discrepancy, given by $\sqrt{\int_0^T d(t)^2 dt}$,

for $T = 75$ s. Fig. 9a shows the box-plot of the total discrepancy, in which the TIDFL presents the largest value compared to the other controllers. The TPID and the TAC presents similar values, although the error for the TAC is slightly larger. The same is observed for the mean value (Fig. 9b) and maximum discrepancy values (Fig. 9c).

The p-values for all the comparisons are described in Table 3, in which bold values mean that the p-values were smaller than the adjusted significance level $\alpha_{adj} = 0.0167$ given by (30), indicating that the null-hypothesis is rejected; that is, the difference in performance is statistically significant in these cases. Therefore, both TPID and TAC had different performances when compared to TIDFL. However, when comparing the TPID to the TAC, the p-values were larger than $\alpha_{adj}$ for all criteria, which means that there is no statistically significant difference between TPID and TAC with respect to trajectory tracking.

We conclude that the TPID and the TAC are statistically equivalent since the null-hypotheses are not rejected when those two controllers are compared, as shown in Table 3. Moreover, both controllers presented a better performance than the TIDFL, which is indicated by the large discrepancy values for the later, as shown in Fig. 9, and by the rejection of the null-hypotheses when comparing all controllers versus the TIDFL. These results corroborate the work of Shen and Featherstone [11] and our previous work [13], in which the controller that uses the nominal JSIM has a poor behavior regarding the error dynamics.

In the TIDFL, the control input for the linearized task-space dynamics, $\underline{a}_x$ (22), is mapped to the joint-space through (21) and then multiplied by the JSIM. Therefore,

<table><caption>**Table 3** p-values for the Welch t-test all against all, regarding the error discrepancy</caption><thead><tr><th rowspan="2"></th><th colspan="2">Total discrepancy</th><th colspan="2">Mean value</th><th colspan="2">Max. value</th></tr><tr><th>TIDFL</th><th>TPID</th><th>TIDFL</th><th>TPID</th><th>TIDFL</th><th>TPID</th></tr></thead><tbody><tr><td>TIDFL</td><td>-</td><td><b>1.80 × 10<sup>-9</sup></b></td><td>-</td><td><b>1.41 × 10<sup>-9</sup></b></td><td>-</td><td><b>9.60 × 10<sup>-10</sup></b></td></tr><tr><td>TAC</td><td><b>2.05 × 10<sup>-9</sup></b></td><td>0.15</td><td><b>1.50 × 10<sup>-9</sup></b></td><td>0.28</td><td><b>2.13 × 10<sup>-9</sup></b></td><td>0.07</td></tr></tbody></table>
<figure><img src="image_13.png" /><figcaption>Fig. 10 Inner loop control signal: (a) control effort throughout the motion, (b) mean, and (c) its maximum value</figcaption></figure>

the torque applied to some joints may be attenuated if the inertia along these joints is very small, which may explain the poor closed-loop response when using the TIDFL. For the TPID and TAC, $a_x$ is mapped to the joint space without being multiplied by the JSIM, and therefore the control signal is not weakened, enhancing the close-loop error dynamics.

Moreover, as predicted by the theory, the condition number of the closed-loop inertia matrix using our proposed algorithm (i.e., $M + \bar{D}$), in all experiments, was always smaller than the condition number of the nominal inertia matrix (i.e., $M$). Since all the experiments showed results similar to the one depicted in Fig. 8, we have omitted the corresponding graphs for the sake of conciseness.

### 5.3.3 Statistical Analyses of the Control Signal

Similar analyses were done for the control signal $u(t)$ of the inner loop controllers, where we evaluated the control effort given by $\sqrt{\int_0^T ||u(t)||^2 dt}$. Fig. 10a shows that the TAC presented the largest value, followed by the TPID and then the TIDFL. However, the TIDFL presented an outlier that is the largest value of all controllers. Fig. 10b indicates similar values for the mean value of $||u(t)||$ for both TPID and TAC, but smaller values for the TIDFL, although the difference was not so significant as for the error discrepancy. Regarding the maximum value of $||u(t)||$, shown in Fig. 10c, the TPID presented the smallest median, although

the largest variation, followed by the TAC and then the TIDFL.

Again, since the TIDFL generates a low-level control input that is multiplied by the JSIM, the control signal may be attenuated for some joints, which does not happen for the TPID and the TAC. This may explain the larger control signals generated by both TPID and TAC than the ones generated by the TIDFL, as observed in Figs. 10a-b. Regarding Fig. 10c, the largest variation of the maximum value of the control signal for the TPID may be related to the absence of the JSIM in the control law. More specifically, the controller generates the control signal by using only partial information about the robot dynamic behavior, which may explain a larger variance of the maximum value for the control input throughout the configuration space.

Table 4 shows the comparisons regarding the control signal of the inner motion controllers, in which bold values indicate that the p-values were smaller than the adjusted significance level $\alpha_{adj} = 0.0167$. When the maximum control signal is considered, all null-hypotheses were rejected, which means that there is a statistical difference between all controllers. On the other hand, in terms of the mean value, there is no significant difference between the TPID and the TAC. Lastly, when the total discrepancy is considered, there is a statistical difference only between the TIDFL and the TAC. These results indicate that, although the error discrepancy is the worst for the TIDFL, the same cannot be said about the control signal. Indeed, Figs. 10a

<table><caption>Table 4 p-values for the Welch t-test all against all, regarding the control signal</caption><thead><tr><th rowspan="2"></th><th colspan="2">Total discrepancy</th><th colspan="2">Mean value</th><th colspan="2">Max. value</th></tr><tr><th>TIDFL</th><th>TPID</th><th>TIDFL</th><th>TPID</th><th>TIDFL</th><th>TPID</th></tr></thead><tbody><tr><th>TIDFL</th><td>-</td><td>0.06</td><td>-</td><td><strong>7.19 × 10<sup>-4</sup></strong></td><td>-</td><td><strong>2.53 × 10<sup>-8</sup></strong></td></tr><tr><th>TAC</th><td><strong>6.20 × 10<sup>-4</sup></strong></td><td>0.05</td><td><strong>5.56 × 10<sup>-5</sup></strong></td><td>0.30</td><td><strong>5.19 × 10<sup>-5</sup></strong></td><td><strong>4.65 × 10<sup>-5</sup></strong></td></tr></tbody></table>
and b suggest that, in general, the TIDFL generates smaller control signals. This can be related to the use of the JSIM in the control law, which attenuates the control signal along joints that have smaller equivalent inertia.

## 6 Conclusion and Final Remarks

This paper proposed a task-space admittance controller with an adaptation of the JSIM conditioning. The architecture consists of an admittance controller in the outer loop, to ensure a compliant robot behavior in case of interaction, and an adaptive motion controller in the inner loop that guarantees that the adapted JSIM is always better conditioned than the nominal one throughout the whole robot configuration space. The controllers are based on DQ algebra, which prevents the occurrence of representational singularities. Moreover, this architecture was compared with one in which the motion controller in the inner loop is replaced by other two widely used motion controllers, namely the TIDFL and the TPID.

Statistical analyses were performed with the robot in free-motion to evaluate the tracking error and the control signal. The results of the Welch t-tests, together with the explanatory analyses, showed that the TIDFL presented the worst behavior regarding the error dynamics, whereas the TPID and the TAC presented similar results. This situation can be explained by the ill-conditioning of the inertia matrix. If the inertia along specific joints is very small, no matter how large the position/velocity error or PID-coefficients are, the correction torques generated by the TIDFL will be still small because they lie in the range space of the JSIM, which may be ill-conditioned and thus attenuate the control signals associated to small eigenvalues. For the TPID and TAC, the low-level control inputs are not multiplied by the JSIM and thus are not attenuated, alleviating the problem.

Experiments done under a contact wrench acting on the end-effector showed that the robot moves compliantly according to a desired apparent impedance, which is imposed by the admittance controller in the outer loop. Both TPID and TAC followed the compliant trajectory, much more accurately than the TIDFL.

The proposed admittance controller, although simple and effective, has a stiffness term that is geometrically inconsistent with the six-DOF tasks. Moreover, it suffers from the unwinding phenomenon, in which the end-effector pose may be close to the desired pose and yet rotate through large angles before reaching the equilibrium [28]. Furthermore, the adaptive controller has shown good results, but we have not proved the system closed-loop stability, which is an ongoing work. Due to the insertion of disturbances in the inertia matrix during the adaptation law, the steady-state

error may be affected, especially if the JSIM conditioning is overly changed.

Future works will be focused on the formal proof of closed-loop stability when using the proposed algorithm, taking into consideration the effects of the added matrix in the control performance. Moreover, the outer loop will also be modified to deal with the unwinding problem and to use a stiffness matrix that is geometrically consistent with the task.

**Supplementary Information** The online version contains supplementary material available at (10.1007/s10846-020-01275-0).

**Acknowledgments** This work was supported by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) under Grant 424011/2016-6 and Grant 303901/2018-7, and the Centre National de la Recherche Scientifique (CNRS).

**Open Access** This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

## References

1. Cherubini, A., Crosnier, A., Fraisse, P., Navarro, B., Passama, R., Sorour, M.: Research on cobots at the LIRMM IDH group. In: ICRA Workshop IC3 - Industry of the future: Collaborative, connected, cognitive, vol hal-015233, Singapore, pp 1–5 (2017). https://hal.archives-ouvertes.fr/hal-01523305

2. Hogan, N.: Impedance control: An approach to manipulation. J. Dyn. Syst. Meas. Control. 107(1), 1–7 (1985). https://doi.org/10.1115/1.3140702. https://asmedigitalcollection.asme.org/dynamicsystems/article/107/1/1/400604/Impedance-Control-An-Approach-to-Manipulation-Part

3. Kimmel, M., Hirche, S.: Active safety control for dynamic human-robot interaction. In: 2015 IEEE/RSJ international conference on intelligent robots and systems (IROS), pp 4685–4691. IEEE (2015). http://ieeexplore.ieee.org/document/7354044

4. Caccavale, F., Natale, C., Siciliano, B., Villani, L.: Six-DOF impedance control based on angle/axis representations. IEEE Trans. Robot. Autom. 15(2), 289–300 (1999). https://doi.org/10.1109/70.760350. http://ieeexplore.ieee.org/document/760350/

5. Caccavale, F., Chiacchio, P., Marino, A., Villani, L.: Six-DOF impedance control of dual-arm cooperative manipulators. IEEE/ASME Transactions on Mechatronics 13(5), 576–586 (2008). https://doi.org/10.1109/TMECH.2008.2002816. http://ieeexplore.ieee.org/document/4639601/

6. Dietrich, A., Bussmann, K., Petit, F., Kotyczka, P., Ott, C., Lohmann, B., Albu-Schäffer, A.: Whole-body impedance control
of wheeled mobile manipulators: Stability analysis and experi-
ments on the humanoid robot Rollin' Justin. Auton. Robot. 40(3),
505-517 (2016). https://doi.org/10.1007/s10514-015-9438-z

7. Fonseca, M.P.A., Adorno, B.V., Fraisse, P.: Task-space impedance controller using dual quaternion logarithm. In: Workshop on applications of dual quaternion algebra to robotics, pp 1–2 (2019). https://zenodo.org/record/3566610#.Xe9X4NF7nDE

8. Yang, C., Ma, H., Fu, M.: Robot kinematics and dynamics mod-
eling. In: Advanced technologies in modern robotic applications,
pp 27–48. Springer, Singapore (2016)

9. Featherstone, R.: An empirical study of the joint space inertia matrix. The International Journal of Robotics Research 23(9), 859–871 (2004). https://doi.org/10.1177/0278364904044869.
http://journals.sagepub.com/doi/10.1177/0278364904044869

10. Shah, S.V., Saha, S.K., Dutt, J.K.: A new perspective towards decomposition of the generalized inertia matrix of multi-body systems. Multibody System Dynamics 43(2), 97–130 (2018). https://doi.org/10.1007/s11044-017-9581-8. http://link.springer.com/10.1007/s11044-017-9581-8

11. Shen, Y., Featherstone, R.: The effect of Ill-conditioned inertia matrix on controlling manipulitor robot. In: Proceedings of the 2003 australasian conference on robotics & automation, pp 1–6. Australian Robotics and Automation Association (2003). http://hdl.handle.net/1885/87130

12. Agarwal, A., Shah, S.V., Bandyopadhyay, S., Saha, S.K.: Dynamics of serial kinematic chains with large number of degrees-of-freedom. Multibody System Dynamics 32(3), 273–298 (2014). https://doi.org/10.1007/s11044-013-9386-3. http://link.springer.com/10.1007/s11044-013-9386-3

13. Fonseca, M.P.A., Adorno, B.V., Fraisse, P.: An adaptive controller with guarantee of better conditioning of the robot manipulator joint-space inertia matrix. In: 2019 19th International conference on advanced robotics (ICAR), vol 111, pp 111–116. IEEE (2019). https://ieeexplore.ieee.org/document/8981558/

14. Fonseca, M.P.A., Adorno, B.V., Fraisse, P.: Design of an adaptive controller to improve the condition number of the inertia matrix of serial manipulators. In: Proceedings XXII congresso brasileiro de automática, pp 1–8 (2018). http://www.swge.inf.br/proceedings/paper/?P=CBA2018-0982

15. Villani, L., Schutter, J.D.: Force control. In: Siciliano, B., Khatib, O. (eds.) Springer handbook of robotics, vol 53, pp 161–185. Springer, Berlin, Heidelberg (2008)

16. Ju, Z., Yang, C., Ma, H.: Kinematics modeling and experimental verification of baxter robot. In: Proceedings of the 33rd chinese control conference, CCC 2014, pp 8518–8523 (2014)

17. Erhart, S., Sieber, D., Hirche, S.: An impedance-based control architecture for multi-robot cooperative dual-arm mobile manipulation. In: 2013 IEEE/RSJ international conference on intelligent robots and systems, pp 315–322. IEEE, Tokyo (2013). http://ieeexplore.ieee.org/document/6696370/

18. Lee, J., Chang, P.H., Jamisola, R.S.: Relative impedance control for dual-arm robots performing asymmetric bimanual tasks. IEEE Trans. Ind. Electron. 61(7), 3786–3796 (2014). https://doi.org/10.1109/TIE.2013.2266079. http://ieeexplore.ieee.org/document/6523093/

19. Sieber, D., Music, S., Hirche, S.: Multi-robot manipulation controlled by a human with haptic feedback. In: 2015 IEEE/RSJ international conference on intelligent robots and systems (IROS), vol 2015-Decem, pp 2440–2446. IEEE (2015). http://ieeexplore.ieee.org/document/7353708/

20. Hoffman, E.M., Laurenzi, A., Muratore, L., Tsagarakis, N.G., Caldwell, D.G.: Multi-priority cartesian impedance control based on quadratic programming optimization. In: 2018 IEEE International Conference on Robotics and Automation (ICRA), pp 309–315. IEEE, Brisbane (2018). https://ieeexplore.ieee.org/document/8462877/

21. Keemink, A.Q.L., van der Kooij, H., Stienen, A.H.A.: Admittance control for physical human-robot interaction. Int. J. Robot. Res. 37(11), 1421–1444 (2018). https://doi.org/10.1177/0278364918768950

22. Ferraguti, F., Talignani Landi, C., Sabattini, L., Bonfè, M., Fantuzzi, C., Secchi, C.: A variable admittance control strategy for stable physical human-robot interaction. Int. J. Robot. Res. 38(6), 747–765 (2019). https://doi.org/10.1177/0278364919840415

23. Navarro, B., Cherubini, A., Fonte, A., Passama, R., Poisson, G., Fraisse, P.: An ISO10218-compliant adaptive damping controller for safe physical human-robot interaction. In: 2016 IEEE International Conference on Robotics and Automation (ICRA), pp 3043–3048. IEEE (2016). http://ieeexplore.ieee.org/document/7487468/

24. Cherubini, A., Passama, R., Crosnier, A., Lasnier, A., Fraisse, P.: Collaborative manufacturing with physical human-robot interaction. Robot. Comput. Integr. Manuf. 40, 1–13 (2016). https://doi.org/10.1016/j.rcim.2015.12.007. http://linkinghub.elsevier.com/retrieve/pii/S0736584515301769

25. Tarbouriech, S., Navarro, B., Fraisse, P., Crosnier, A., Cherubini, A., Salle, D.: Admittance control for collaborative dual-arm manipulation, pp 198–204. https://doi.org/10.1109/icar46387.2019.8981624 (2020)

26. Agravante, D.J., Cherubini, A., Bussy, A., Gergondet, P., Kheddar, A.: Collaborative human-humanoid carrying using vision and haptic sensing. In: 2014 IEEE international conference on robotics and automation (ICRA), pp 607–612. IEEE (2014). http://ieeexplore.ieee.org/document/6906917/

27. Siciliano, B., Sciavicco, L., Villani, L., Oriolo, G. Robotics: Modelling, Planning and Control. Advanced Textbooks in Control and Signal Processing, 1st edn. Springer London, London (2009)

28. Bhat, S.P., Bernstein, D.S.: A topological obstruction to global asymptotic stabilization of rotational motion and the unwinding phenomenon. In: Proceedings of the 1998 American Control Conference. ACC (IEEE Cat. No.98CH36207), vol 5, pp 2785–2789. IEEE (1998)

29. Slotine, J.-J.E., Li, W.: On the Adaptive Control of Robot Manipulators. The International Journal of Robotics Research 6(3), 49–59 (1987). https://doi.org/10.1177/027836498700600303. http://journals.sagepub.com/doi/10.1177/027836498700600303

30. Cheah, C.C., Liu, C., Slotine, J.J.E.: Adaptive Tracking Control for Robots with Unknown Kinematic and Dynamic Properties. The International Journal of Robotics Research 25(3), 283–296 (2006). https://doi.org/10.1177/0278364906063830

31. Cheah, C.C., Liu, C., Slotine, J.J.E.: Adaptive Jacobian Tracking Control of Robots With Uncertainties in Kinematic, Dynamic and Actuator Models. IEEE Trans. Autom. Control 51(6), 1024–1029 (2006). https://doi.org/10.1109/TAC.2006.876943. http://ieeexplore.ieee.org/document/1643374/

32. Liu, C., Cheah, C.C., Slotine, J.J.E.: Adaptive Jacobian tracking control of rigid-link electrically driven robots based on visual task-space information. Automatica 42(9), 1491–1501 (2006). https://doi.org/10.1016/j.automatica.2006.04.022

33. Wang, H., Xie, Y.: Adaptive inverse dynamics control of robots with uncertain kinematics and dynamics. Automatica 45(9), 2114–2119 (2009). https://doi.org/10.1016/j.automatica.2009.05.011

34. Hanlei, W.: On the recursive implementation of adaptive control for robot manipulators. In: Proceedings of the 29th chinese control conference, pp 2154–2161 (2010)

35. Wang, H., Xie, Y.: On the uniform positive definiteness of the estimated inertia for robot manipulators. In: IFAC Proceedings Volumes, vol 44, pp 4089–4094. IFAC (2011). https://pdfs.semanticscholar.org/edca/de54c1d78449a61b2d199ce46c4f2a347e69.pdf
36. Adorno, B.V., Marinho, M.M.: DQ robotics: a library for robot modeling and control using dual quaternion algebra. IEEE Robotics & Automation Magazine, pp 0–0. arXiv:1910.11612 (2019)

37. Adorno, B.V.: Robot Kinematic Modeling and Control Based on Dual Quaternion Algebra - Part I: Fundamentals. https://hal.archives-ouvertes.fr/hal-01478225/document (2017)

38. Hamilton, W.R.: On Quaternions, Or On a New System of Imaginaries in Algebra. Philosophical Magazine Series 3 25(163), 10–13 (1844). https://doi.org/10.1080/14786444408644923

39. Adorno, B.V.: Two-arm Manipulation: From Manipulators to Enhanced Human-Robot Collaboration [Contribution à la manipulation à deux bras : des manipulateurs à la collaboration homme-robot]. Ph.D. Thesis, Université Montpellier II. https://tel.archives-ouvertes.fr/tel-00641678/document (2011)

40. Clifford: Preliminary sketch of biquaternions. Proc. Lond. Math. Soc. s1-4(1), 381–395 (1873). https://doi.org/10.1112/plms/s1-4.1.381

41. Selig, J.M.: Geometric Fundamentals of Robotics. Springer, New York (2005)

42. Figueredo, L.F.C., Adorno, B.V., Ishihara, J.Y., Borges, G.A.: Robust kinematic control of manipulator robots using dual quaternion representation. In: 2013 IEEE International Conference on Robotics and Automation, pp 1949–1955. IEEE, Karlsruhe (2013). http://ieeexplore.ieee.org/document/6630836/

43. Savino, H.J., Pimenta, L.C.A., Shah, J.A., Adorno, B.V.: Pose consensus based on dual quaternion algebra with application to decentralized formation control of mobile manipulators. J. Franklin Inst. 357(1), 142–178 (2020). https://linkinghub.elsevier.com/retrieve/pii/S0016003219307161

44. Landi, C.T., Ferraguti, F., Sabattini, L., Secchi, C., Fantuzzi, C.: Admittance control parameter adaptation for physical human-robot interaction. In: 2017 IEEE International Conference on Robotics and Automation (ICRA), pp 2911–2916. IEEE (2017). http://ieeexplore.ieee.org/document/7989338/

45. Spong, M.W., Hutchinson, S., Vidyasagar, M.: Robot Modeling and Control. John Wiley & Sons, Inc, Hoboken (2006)

46. Kelly, R., Santibáñez, V., Loría, A.: Control of Robot Manipulators in Joint Space. Springer, Leipzig (2005)

47. Chen, C.-T. In: Sedra, A.S., Lighthner, M.R. (eds.) Linear System Theory and Design, 3rd edn. Oxford University Press, New York (1999)

48. Katsumata, T., Navarro, B., Bonnet, V., Fraisse, P., Crossnier, A., Venture, G.: Optimal exciting motion for fast robot identification. Application to contact painting tasks with estimated external forces. Robot. Auton. Syst. 113, 149–159 (2019). https://doi.org/10.1016/j.robot.2018.11.021. https://linkinghub.elsevier.com/retrieve/pii/S0921889017307091

49. Pham, H.L., Adorno, B.V., Perdereau, V., Fraisse, P.: Set-point control of robot end-effector pose using dual quaternion feedback. Robot. Comput. Integr. Manuf. 52(2016), 100–110 (2018). https://doi.org/10.1016/j.rcim.2017.11.003. https://linkinghub.elsevier.com/retrieve/pii/S0736584516301831

50. Peng, R.D.: R Programming for Data Science. Lean Publishing, British Columbia (2016). https://leanpub.com/rprogramming%5Cnhttp://leanpub.com/rprogramming

51. Crawley, M.J.: The r book. John Wiley & Sons Ltd, Hoboken (2007). https://www.wiley.com/en-br/The+R+Book-p-9780470515068

52. Montgomery, D.C. Design and Analysis of Experiments, 5th edn. John Wiley & Sons, Inc., Hoboken (2001). http://doi.wiley.com/10.1002/qre.458

**Publisher's Note** Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Mariana de Paula Assis Fonseca graduated in Automation and Control Engineering in 2013, at the Universidade Federal de Minas Gerais (UFMG), Brazil. She received her Masters Degree also from UFMG, in 2017, in Electrical Engineering, and is currently a Ph.D. candidate in Electrical Engineering at UFMG. She spent one year at LIRMM, in Montpellier, France, as an assistant engineer from the CNRS, and is currently a member of the Mechatronics, Control and Robotics (MACRO) research group at UFMG.

Bruno Vilhena Adorno received the B.S. degree in mechatronics engineering and the M.S. degree in electrical engineering from the University of Brasília, Brasília, Brazil, in 2005 and 2008, respectively, and the Ph.D. degree in automatic and microelectronic systems from the University of Montpellier, Montpellier, France, in 2011. He is currently a Senior Lecturer in Robotics with the Department of Electrical and Electronic Engineering at The University of Manchester (UoM), Manchester, United Kingdom. Before joining the UoM, he was an Associate Professor with the Department of Electrical Engineering at the Federal University of Minas Gerais, Belo Horizonte, Brazil. His current research interests include both practical and theoretical aspects related to robot kinematics, dynamics, and control with applications to mobile manipulators, humanoids, and cooperative manipulation systems.

Philippe Fraisse received the master's degree in electrical engineering from the École Normale Supérieure de Cachan, Cachan, France, in 1988, and the Ph.D. degree in automatic control from the University of Montpellier, Montpellier, France, in 1994. He is currently a Professor with the Robotics Department, University of Montpellier. His research interests include physical human-robot interaction, humanoid robotics, robotics for rehabilitation, and mobile manipulators.
Terms and Conditions

Springer Nature journal content, brought to you courtesy of Springer Nature Customer Service Center GmbH (“Springer Nature”).

Springer Nature supports a reasonable amount of sharing of research papers by authors, subscribers and authorised users (“Users”), for small-scale personal, non-commercial use provided that all copyright, trade and service marks and other proprietary notices are maintained. By accessing, sharing, receiving or otherwise using the Springer Nature journal content you agree to these terms of use (“Terms”). For these purposes, Springer Nature considers academic use (by researchers and students) to be non-commercial.

These Terms are supplementary and will apply in addition to any applicable website terms and conditions, a relevant site licence or a personal subscription. These Terms will prevail over any conflict or ambiguity with regards to the relevant terms, a site licence or a personal subscription (to the extent of the conflict or ambiguity only). For Creative Commons-licensed articles, the terms of the Creative Commons license used will apply.

We collect and use personal data to provide access to the Springer Nature journal content. We may also use these personal data internally within ResearchGate and Springer Nature and as agreed share it, in an anonymised way, for purposes of tracking, analysis and reporting. We will not otherwise disclose your personal data outside the ResearchGate or the Springer Nature group of companies unless we have your permission as detailed in the Privacy Policy.

While Users may use the Springer Nature journal content for small scale, personal non-commercial use, it is important to note that Users may not:

1. use such content for the purpose of providing other users with access on a regular or large scale basis or as a means to circumvent access control;

2. use such content where to do so would be considered a criminal or statutory offence in any jurisdiction, or gives rise to civil liability, or is otherwise unlawful;

3. falsely or misleadingly imply or suggest endorsement, approval, sponsorship, or association unless explicitly agreed to by Springer Nature in writing;

4. use bots or other automated methods to access the content or redirect messages

5. override any security feature or exclusionary protocol; or

6. share the content in order to create substitute for Springer Nature products or services or a systematic database of Springer Nature journal content.

In line with the restriction against commercial use, Springer Nature does not permit the creation of a product or service that creates revenue, royalties, rent or income from our content or its inclusion as part of a paid for service or for other commercial gain. Springer Nature journal content cannot be used for inter-library loans and librarians may not upload Springer Nature journal content on a large scale into their, or any other, institutional repository.

These terms of use are reviewed regularly and may be amended at any time. Springer Nature is not obligated to publish any information or content on this website and may remove it or features or functionality at our sole discretion, at any time with or without notice. Springer Nature may revoke this licence to you at any time and remove access to any copies of the Springer Nature journal content which have been saved.

To the fullest extent permitted by law, Springer Nature makes no warranties, representations or guarantees to Users, either express or implied with respect to the Springer Nature journal content and all parties disclaim and waive any implied warranties or warranties imposed by law, including merchantability or fitness for any particular purpose.

Please note that these rights do not automatically extend to content, data or other material published by Springer Nature that may be licensed from third parties.

If you would like to use or distribute our Springer Nature journal content to a wider audience or on a regular basis or in any other manner not expressly permitted by these Terms, please contact Springer Nature at

onlineservice@springernature.com