1 Introduction

1.1 Context

Robots are increasingly involved in daily life activities, providing assistance in many domains (Ben-Ari and Mondada 2018; Yang et al. 2018). Robots are no longer used to only execute repetitive simple task thousands of times, but rather they have to face thousands of different tasks in an ever-changing environment. It will be, therefore, difficult to pre-program all the possible tasks and scenarios, requiring the robot to learn/adapt its behavior on the basis of the operating conditions (Dattaprasad and Rao 2018). Considering the manufacturing context, robots have to provide a flexible solution, adapting to new tasks/production, while guaranteeing target performance (Polverini et al. 2016a; Mohamed 2018). Considering interaction tasks (i.e., robot exchanging forces/torques with the environment), the capability to adapt to new scenarios becomes even more critical (Hogan 1984). To avoid any unwanted/unstable behavior, the interaction force has to be controlled (Vukobratovic 2010; Roveda et al. 2016). Common interaction control strategies, however, make use of expensive sensors (Roveda et al. 2018a; Roveda 2018; Polverini et al. 2019), increasing the hardware costs and the setup time. To avoid the use of such devices having the robot able to adapt to uncertain interaction, many works are investigating external wrench estimation algorithms and sensorless control methodologies.

1.2 Related works

Being able to achieve a stable interaction between sensorless industrial robots and the environment is taking many attentions from the research community. On the one hand, force-sensorless methodologies to estimate the interaction between the robot and its environment have been proposed. Such research area is strongly connected with the main aim of this paper, since the proper estimation of the established interaction between the robot and its environment is required in order to design a stable and high-performance interaction controller for a sensorless robot. Developed methodologies relying on robot dynamic identification (Janot et al. 2013) have been addressed, aiming at deriving an accurate robot dynamical model. Such a computed high-accuracy model can then be exploited in order to estimate the external forces/torques applied on the robot during task execution. Some of the state of the art contributions exploit disturbance observers to perform the identification. Such approaches make use of the inverse of the identified robot model to observe the disturbance (i.e., the external wrench) applied to the manipulator. In Chen et al. (2000) a nonlinear disturbance observer is proposed to estimate the external interaction. Taking into account the physical parameters and constraints (e.g., maximum joint velocities) of the robot, the method is capable to guarantee the stability of the disturbance observer by properly tune its design parameters. In addition, the described nonlinear disturbance observer allowed for the first time the possibility to include in its design nonlinear systems (such as robot manipulators). In Colomé et al. (2013) a task-oriented dynamics model learning and a robust disturbance state observer are proposed to estimate the external interaction. Making use of a learning-based approach, the proposed methodology was able to avoid to analytically model the robot dynamics terms (such as joints’ friction or Coriolis effects), resulting in a general and easy implementable approach. In Hu and Xiong (2017) a parametric robot dynamics modeling based on rigid-body dynamics (RBD) is combined with a non-parametric compensator trained with multilayer perception (MLP) to eliminate errors resulting from the former modeling. Exploiting such a two-layer modeling, a high-accuracy robot dynamics description is obtained, achieving better model accuracy than either the RBD model or the MLP model itself. Such a modeled dynamics is then exploited in a disturbance Kalman filter based on a time-invariant composite robot model to perform the interaction force estimation, providing robust and accurate estimation against uncertainty. In Peng et al. (2020) a sensorless admittance control scheme exploiting a disturbance observer based on generalized momentum to model a linear environment dynamics is proposed for sensorless interaction applications. The generalized momentum modeling allows to avoid the use of acceleration-level measurements and the computation of the inverse of the robot mass matrix that amplify measurements noise. Model uncertainties are compensated adopting a radial basis neural networks approach. Actuation saturation is also considered in order to properly manage the control inputs. Some state of the art works structure the identification as an optimization problem. In Van Damme et al. (2011) the filtered dynamic equations are combined with a recursive least-square estimation algorithm to provide a smooth external force estimation. The described methodology is compared with a generalized momentum-based disturbance observer. Simulation and experimental results highlighted a strong connections between the two approaches. In Linderoth et al. (2013) a convex optimization problem is solved in real time to estimate the interaction force accounting for velocity-dependent uncertainties of the Coulomb friction modeling. In fact, while Coulomb friction can be well-modeled when a joint is moving, huge uncertainties are shown for velocities close to zero. Some state of the art methodologies exploit the definition of virtual sensors based on high-performance dynamic model calibration. In Villagrossi et al. (2018) a virtual force sensor to estimate the interaction force is proposed by exploiting a task-oriented robot dynamic model calibration. The proposed robot dynamics includes also a thermal friction model for the robot joints. The robot dynamics is calibrated making use of exciting trajectories composed by suitable paths generated by a genetic-based two-stage optimization. Such a dynamic model is then used to estimate the external joint torques as a difference between measured motor torques and modelled torques (i.e., residual method). Other methodologies have been developed in order to map the interaction between the robot and the environment on the basis of Artificial Intelligence approaches, exploiting such learned dynamics in the controller. In Sharifi et al. (2015) a robot position controller is implemented by exploiting the interaction force estimation between the robotic tool and a soft tissue. A Lyapunov time-varying equation is proposed for the design of the force observer. In addition, the assumption of modeling the interaction environment as a visco-elastic system is considered, since it has a great impact on the effectiveness of the force-control strategy when working with soft tissues. In Dong et al. (2020) an online sparse Gaussian process regression (OSGPR) approach is proposed to estimate the interaction forces between the slave manipulator and its surrounding environment for a bilateral tele-operation system. The proposed observer is completely independent of the dynamic model of the slave manipulator. After offline training exploiting historical dataset, a generalized regression model is obtained with OSGPR. The proposed observer can be finally carried out in real time to estimate the interaction forces. The main feature of the described work is that the proposed approach avoid the use of the inverse of Jacobian transpose. Some approaches make use of external sensors in order to acquire more data to be processed for interaction force estimation purposes. In Magrini et al. (2014) external contacts between the robot and the environment are detected using a depth camera, while determining in parallel the external joint torques using the residual method. The combination of such exteroceptive sensing and model-based techniques is proven, under suitable conditions, to provide a reliable estimation of the current exchanged force at the contact point. The described algorithm is also capable to manage a multiple contacts scenario. In Mendizabal et al. (2019) a Neural Network approach to classify force ranges from optical coherence tomography (OCT) images is proposed. To avoid the need for large real data sets, the network is trained on images of simulated deformed sclera. This simulation is based on a finite element method, and the model is parameterized using a Bayesian filter applied to observations of the deformation in OCT images. In Marban et al. (2019) visual feedback is exploited for observing soft-tissues’ deformation. A force estimation model based on Convolutional Neural Networks and Long-Short Term Memory networks is proposed. The proposed model is designed to process both the spatio-temporal information included in a video sequences and the temporal structure of tool data.

On the other hand, sensorless methodologies to control the interaction have been proposed. Such research area is strongly connected with the main aim of this paper, since the herein main goal is to make a sensorless robot able to interact with an (unknown) environment while achieving high force-tracking performance. In Alonge et al. (2010) an adaptive force-position controller to track a target force without its measurements has been proposed based on Lyapunov techniques. A pure elastic model is considered in the contribution in order to describe the environment dynamics. The main limitation of the here described approach is the fact that a linear interaction environment is considered, together with the fact that only simulation results (considering a simple 2 degrees of freedom - DoFs - robot) have been provided. In Huang et al. (2013) a nonlinear matrix mapping function between each joint motor control input and end-effector actuating force/torques vector is achieved, exploiting such a mapping into a model-free fuzzy sliding mode control for interaction control. The main limitation of the proposed approach is the fact that the computation of such a nonlinear matrix mapping function relies on a time-consuming manual and ad hoc experimental procedure, requiring to positioning and actuate the manipulator in many operating configurations. In Polverini et al. (2016b) sensorless admittance control is implemented to perform an insertion task. A real-time trajectory generator, exploiting a model-based sensorless observer of the interaction forces is proposed to perform the assembly. In Zhou et al. (2017) a force/position decentralized robust control problem for constrained reconfigurable manipulator system with parameter perturbation and unmodeled dynamics is presented. A radial basis function (RBF) neural network is derived in order to compensate for the unmodeled/unknown robot dynamics. The main limitations of the described paper are related to the fact that only simulation results are given. In Phuong et al. (2018) a force estimation approach is proposed. On the basis of a dither periodic component elimination Kalman filter and on a disturbance observer, the estimation of the interaction force is provided. Exploiting such an interaction force estimation, a fine sensorless force control system under the existence of static friction is proposed. The main limitation of the proposed approach is related to the fact that a simple 1 DoF system has been considered for experimental evaluation. In Nakamura et al. (2018) a notch-type friction-free disturbance observer (DOB) and a notch-type friction-free reaction force observer (FFRFO) are proposed to implement a fine sensorless force controller. The proposed approach allows to take into account the static friction phenomena, stabilizing the proposed controller. The main limitation of the proposed approach is related to the fact that a simple 1 DoF system has been considered for experimental evaluation. While all these contribution allow to control the interaction between the sensorless robot and the environment, none of them is capable to provide an estimate of the environment properties. It is, therefore, not possible to tune the control parameters w.r.t. the interaction dynamics properties, useful approach to guarantee stability and control performance.

Considering model-based approaches, state of the art methods allow to estimate and control the interaction between the robot and the environment only making use of the robot dynamical model, without modeling and estimating the environment dynamics. Such modeling and estimation, however, is of great importance to design the interaction controller to avoid instabilities and to achieve required performance (Hogan 1988; Roveda et al. 2018b). From the state-of-the-art review, the only sensorless approach estimating the environment compliance can be found in Dehghan et al. (2015). This contribution proposes an adaptive force/position controller exploiting a position-based force estimator and a force-based environment compliance estimator. However, the convergence of the method is guaranteed only in the presence of a persistent excitation (i.e., a constant reference force cannot be applied - as required by the most of the industrial tasks). Therefore, the presented paper aims to extend the sensorless force control literature proposing the estimation of both the interaction force and the environment stiffness without any use of persistent excitation. While the interaction force estimation will be used in order to close the force loop, the environment stiffness estimation will be used to compensate for coupled interaction dynamics and to tune the control parameters, guaranteeing the stability of the interaction.

Fig. 1
figure 1

Experimental set-up including the Franka EMIKA panda manipulator for the target probing task execution. The interaction environment with unknown stiffness \(\mathbf {K}_e\) is highlighted

1.3 Paper contribution

Extending the work in Roveda et al. (2013) to sensorless robotic applications (i.e., modifying the proposed EKF for the environment stiffness estimation to sensorless applications), the proposed contribution aims to design a model-based methodology to estimate both the interaction force and the environment stiffness for sensorless robotized interaction tasks. To this end, relying on sensorless Cartesian impedance control, two Extended Kalman Filters (EKF) are designed. On the one hand, an EKF is proposed in order to estimate the interaction force. On the other hand, an EKF is proposed in order to estimate the environment stiffness. The force estimation provided by the former EKF is used to detect the no contact/contact transitions (to activate the latter EKF for environment stiffness estimation) and to close the force loop. The latter EKF is used to compensate for the coupling terms in the controlled robot dynamics and to tune the impedance control parameters, ensuring stability. Both the proposed EKFs take into account the non-linear coupled robot dynamics resulting from the sensorless Cartesian impedance controller, together with the environment dynamics. The described approach has been validated in simulations and experiments. A Franka EMIKA panda robot has been used (Figure 1). A probing task involving different materials (i.e., with different - unknown - stiffness properties) has been considered to show the capabilities of the developed EKFs and of the proposed sensorless force controller. In addition, a polishing-like task and an assembly task of a gear into its shaft have been tested exploiting the estimation of the interaction force.

1.4 Paper outline

The paper is structured as follows. Section 2 provides the proposed control framework overview. Section 3 describes the implemented sensorless Cartesian impedance controller with redundancy management. Section 4 describes the derivation of the proposed Extended Kalman Filter for sensorless interaction force estimation. Section 5 describes the derivation of the Extended Kalman Filter for the (unknown) environment stiffness estimation. Section 6 describes the control tuning on the basis of the performed environment stiffness estimation. Section 7 provides both simulation and experimental results. Section 8 shows advanced applications exploiting the interaction force estimation (i.e., a polishing-like task and an assembly task of a gear into its shaft). Conclusions and directions for future works are given in Section 9.

Fig. 2
figure 2

Proposed control schema highlighting the two implemented EKFs, the sensorless Cartesian impedance control and the force loop

2 Methodology

The main objective of the proposed contribution is the definition of a sensorless force control framework allowing to estimate both the interaction force and the environment stiffness. Two EKFs are proposed to achieve the proposed goal. While an EKF is designed to estimate the interaction force, another EKF is designed to estimate the environment stiffness. The former EKF estimation of the interaction force is used to enable the estimation of the environment stiffness as soon as the contact with the environment is detected, and to close the force loop. The latter EKF environment stiffness estimation is instead used to compensate for the coupling terms in the controlled robot dynamics and to tune the impedance control parameters, ensuring stability. The proposed control architecture is shown in Figure 2, highlighting the proposed EKFs and the control schema.

3 Robot control

3.1 Sensorless Cartesian impedance control

To design the proposed sensorless Extended Kalman Filter for the estimation of the environment stiffness, the sensorless Cartesian impedance controller has to be implemented. The following manipulator dynamics is considered (Siciliano and Villani 2000):

$$\begin{aligned} \mathbf {B}(\mathbf {q})\ddot{\mathbf {q}}+ \mathbf {C}(\mathbf {q},\dot{\mathbf {q}})+ \mathbf {g}(\mathbf {q})+ \varvec{\uptau }_f(\dot{\mathbf {q}})= \varvec{\uptau }- \mathbf {J}(\mathbf {q})^T \mathbf {h}_{ext}, \end{aligned}$$
(1)

where \(\mathbf {B}(\mathbf {q})\) is the inertia matrix, \(\mathbf {C}(\mathbf {q},\dot{\mathbf {q}})\) is the Coriolis vector (i.e., embedding in the \(\mathbf {C}(\mathbf {q},\dot{\mathbf {q}})\) term the multiplication between the Coriolis matrix and the joint velocity vector \(\dot{\mathbf {q}}\)), \(\mathbf {g}(\mathbf {q})\) is the gravitational vector, \(\varvec{\uptau }_f(\dot{\mathbf {q}})\) is the joint friction vector, \(\mathbf {q}\) is the joint position vector, \(\mathbf {J}(\mathbf {q})\) is the Jacobian matrix, and \(\mathbf {h}_{ext}\) is the external force/torque vector, \(\varvec{\uptau }\) is the joint torque vector. Based on (1), it is possible to design the sensorless Cartesian impedance controller with dynamics compensation (Siciliano and Villani 2000), defining the joint torque vector \(\varvec{\uptau }\) as:

$$\begin{aligned} \varvec{\uptau }= \mathbf {B}(\mathbf {q})\varvec{\upgamma } + \mathbf {C}(\mathbf {q},\dot{\mathbf {q}})+ \mathbf {g}(\mathbf {q})+ \varvec{\uptau }_f(\dot{\mathbf {q}}), \end{aligned}$$
(2)

where \(\varvec{\upgamma }\) is the sensorless Cartesian impedance control law.

Cartesian impedance control rotations are described considering the set of Euler angles \(\varvec{\upvarphi }_{cd}\) extracted from \( \mathbf {R}_c^d = \mathbf {R}_d^T \mathbf {R}_c \), describing the mutual orientation between the compliant frame \(\mathbf {R}_c\) (at the end-effector) and the target frame \(\mathbf {R}_d\). Traslational \(\ddot{\mathbf {p}}\) and rotational \(\varvec{\ddot{\upvarphi }}_{cd}\) accelerations of the sensorless Cartesian impedance controller \(\varvec{\upgamma }\) can be written as:

$$\begin{aligned} \begin{aligned} \ddot{\mathbf {p}}&= \mathbf {M}_t^{-1} \, \left( - \mathbf {D} \, _t \dot{\mathbf {p}} - \mathbf {K}_t \, \Delta \mathbf {p} \right) , \\ \ddot{\varvec{\upvarphi }}_{cd}&= \mathbf {M}_r^{-1} \, \left( - \mathbf {D}_r \, \dot{\varvec{\upvarphi }}_{cd} - \mathbf {K}_r \, \varvec{\upvarphi }_{cd} \right) . \\ \end{aligned} \end{aligned}$$
(3)

Considering the traslational part of the sensorless Cartesian impedance control, \(\mathbf {M}_t\) is the mass matrix, \(\mathbf {D}_t\) is the damping matrix, and \(\mathbf {K}_t\) is the stiffness matrix. \(\mathbf {p}\) is the actual Cartesian positions vector, while \(\Delta \mathbf {p} = \mathbf {p} - \mathbf {p}^d\), where \( \mathbf {p}^d \) is the target position vector. Concerning the rotational part of the sensorless Cartesian impedance control, \(\mathbf {M}_r\) is the inertia matrix, \(\mathbf {D}_r\) is the damping matrix, \(\mathbf {K}_r\) is the stiffness matrix. Angular accelerations \(\dot{\varvec{\upomega }}_{cd}\) can be computed considering the rotational part of the sensorless Cartesian:

$$\begin{aligned} \dot{\varvec{\upomega }}_{cd}= & {} \mathbf {T}(\varvec{\upvarphi }_{cd}) \left( \mathbf {M}_r^{-1} \, \left( - \mathbf {D}_r \, \dot{\varvec{\upvarphi }}_{cd} - \mathbf {K}_r \, \varvec{\upvarphi }_{cd} \right) \right) \nonumber \\&+ \dot{\mathbf {T}}(\varvec{\upvarphi }_{cd}) \dot{\varvec{\upvarphi }}_{cd}, \end{aligned}$$
(4)

where matrix \(\mathbf {T}(\varvec{\upvarphi }_{cd})\) defines the transformation from Euler angles derivatives to angular velocities \(\varvec{\upomega }_{cd} = \mathbf {T}(\, \varvec{\upvarphi }_{cd}) \dot{\varvec{\upvarphi }}_{cd}\), and \(\varvec{\upomega } = \mathbf {R}_{ee} \varvec{\upomega }_{cd}\) (with \(\mathbf {R}_{ee}\) the rotation matrix from the robot base to its end-effector) (Siciliano and Villani 2000). By defining \(\widetilde{\mathbf {M}}_r=\left( \mathbf {R}_{ee} \mathbf {T}(\varvec{\upvarphi }_{cd})\right) ^{-1} \mathbf {M}_r\) and \(\widetilde{\mathbf {D}}_r=\mathbf {D}_r - \widetilde{\mathbf {M}}_r \mathbf {R}_{ee} \dot{\mathbf {T}}(\varvec{\upvarphi }_{cd})\), (4) can be written as:

$$\begin{aligned} \dot{\varvec{\upomega }} = \widetilde{\mathbf {M}}_r^{-1} \left( - \widetilde{\mathbf {D}}_r \, \dot{\varvec{\upvarphi }}_{cd} - \mathbf {K}_r \, \varvec{\upvarphi }_{cd} \right) . \end{aligned}$$
(5)

The formulation resulting from (5), (4), and (3) can be written in a compact form as follows:

$$\begin{aligned} \ddot{\mathbf {x}}^{imp} = - \mathbf {M}^{-1} \left( \mathbf {D} \, \dot{\mathbf {x}} + \mathbf {K} \, \Delta \mathbf {x} \right) , \end{aligned}$$
(6)

where the target acceleration computed by the sensorless Cartesian impedance control is \(\ddot{\mathbf {x}}^{imp} = [\ddot{\mathbf {x}}_t; \ddot{\mathbf {x}}_r] = [\ddot{\mathbf {p}}; \dot{\varvec{\upomega }}]\). \(\mathbf {M} = [\mathbf {M}_t \, \mathbf {0}; \mathbf {0} \, \widetilde{\mathbf {M}}_r]\), \(\mathbf {D} = [\mathbf {D}_t \, \mathbf {0}; \mathbf {0} \, \widetilde{\mathbf {D}}_r]\), \(\mathbf {K} = [\mathbf {K}_t \, \mathbf {0}; \mathbf {0} \, \mathbf {K}_r]\) are the sensorless Cartesian impedance mass, damping and stiffness matrices composed by both the traslational and rotational parts, and \(\Delta \mathbf {x} = \mathbf {x} - \mathbf {x}^d = [\Delta \mathbf {p}; \varvec{\upvarphi }_{cd}]\). \(\mathbf {x}\) is the current robot end-effector pose vector including both traslational and rotational components, while \(\mathbf {x}^d\) is the reference robot end-effector pose vector including both traslational and rotational components. The sensorless Cartesian impedance control law \(\varvec{\upgamma }\) can then be written as follows:

$$\begin{aligned} \varvec{\upgamma } = \mathbf {J}(\mathbf {q})^{-1} \left( \ddot{\mathbf {x}}^{imp} - \dot{\mathbf {J}}(\mathbf {q},\dot{\mathbf {q}})\dot{\mathbf {q}}\right) . \end{aligned}$$
(7)

In general, matrix \(\mathbf {J}(\mathbf {q})^{-1}\) can be substituted with the pseudo-inverse of the Jacobian matrix \(\mathbf {J}(\mathbf {q})^{\#}\) (Chang and Lee 1988). Substituting (2) in (1), under the hypothesis that the manipulator dynamics is known (such identification can be performed with state-of-the-art techniques (Pedrocchi et al. 2013)), the controlled robot dynamics results in:

$$\begin{aligned} \ddot{\mathbf {q}}= \varvec{\upgamma } - \mathbf {B}(\mathbf {q})^{-1} \mathbf {J}(\mathbf {q})^T \mathbf {h}_{ext}, \end{aligned}$$
(8)

where \(\mathbf {h}_{ext}= [ \mathbf {f}, \mathbf {T}^T(\varvec{\upvarphi }_{cd}) \, \varvec{\upmu }^d ]\) (considering the external forces \(\mathbf {f}\) and torques \(\varvec{\upmu }^d\) - referred to the target frame \(\mathbf {R}_d\) - acting on the robot related to the interaction with the environment). Substitution of (7) into (8) leads to:

$$\begin{aligned} \mathbf {J}(\mathbf {q})\ddot{\mathbf {q}}+ \dot{\mathbf {J}}(\mathbf {q},\dot{\mathbf {q}})\dot{\mathbf {q}}= & {} \ddot{\mathbf {x}} \nonumber \\= & {} \ddot{\mathbf {x}}^{imp} - \mathbf {J}(\mathbf {q})\mathbf {B}(\mathbf {q})^{-1} \mathbf {J}(\mathbf {q})^T \mathbf {h}_{ext}, \end{aligned}$$
(9)

having \(\ddot{\mathbf {x}} = \mathbf {J}(\mathbf {q})\ddot{\mathbf {q}}+ \dot{\mathbf {J}}(\mathbf {q},\dot{\mathbf {q}})\dot{\mathbf {q}}\) the resulting Cartesian acceleration of the robot end-effector resulting from the implementation of the proposed sensorless Cartesian impedance controller. Finally, substituting (6) into (9), the controlled robot dynamics resulting from the design of the sensorless Cartesian impedance control is described by the following equation:

$$\begin{aligned} \mathbf {M} \ddot{\mathbf {x}} + \mathbf {D} \dot{\mathbf {x}} + \mathbf {K} \Delta \mathbf {x} = - \overline{\mathbf {L}}(\mathbf {q}) \mathbf {h}_{ext}, \end{aligned}$$
(10)

where \(\overline{\mathbf {L}}(\mathbf {q})= \mathbf {M} \mathbf {J}(\mathbf {q})\mathbf {B}(\mathbf {q})^{-1} \mathbf {J}(\mathbf {q})^T\). The resulting dynamic equation is therefore coupled in the Cartesian degrees of freedom (DoFs) by the matrix \(\overline{\mathbf {L}}(\mathbf {q})\).

The proposed sensorless Cartesian impedance control is depicted in Figure 3.

Remark 1

The sensorless Cartesian impedance control is therefore resulting in a coupled controlled robot dynamics. Matrix \(\overline{\mathbf {L}}(\mathbf {q})\) redistributes interaction forces along all the Cartesian DoFs. While the decoupled robot behavior cannot be achieved implementing such controller, the sensorless Cartesian impedance control strategy allows to implement a tunable compliant robot behavior, ensuring a safe and stable interaction with the target environment.

Fig. 3
figure 3

Cartesian impedance control is shown for the robot in interaction with the environment, highlighting the impedance control matrices \(\mathbf {M}\), \(\mathbf {D}\), \(\mathbf {K}\), the external wrench \(\mathbf {h}_{ext}\), and the base (\(\mathbf {O}_b\)), the compliant (\(\mathbf {O}_c\)), and the target (\(\mathbf {O}_d\)) reference frames

3.2 Redundancy management

The Franka EMIKA panda manipulator has been used as a test platform for experimental validation. Such a robot is redundant, requiring to manage its null-space configuration while performing the main task. In this paper, a pure damping behavior is proposed for the null-space configuration control, aiming to damp the null-space motion:

$$\begin{aligned} \varvec{\uptau }_{R} = \mathbf {B}(\mathbf {q})\left( \left( \mathbf {I} - \mathbf {J}(\mathbf {q})^{\#} \mathbf {J}(\mathbf {q})\right) \left( - \mathbf {D}_{n} \dot{\mathbf {q}}\right) \right) , \end{aligned}$$
(11)

where \(\varvec{\uptau }_{R}\) is the null-space control torque, \(\mathbf {I}\) is the identity matrix, \(\mathbf {J}(\mathbf {q})^{\#}\) is the pseudo-inverse of the Jacobian matrix, and \(\mathbf {D}_{n}\) is the null-space damping diagonal matrix. The term \(\left( \mathbf {I} - \mathbf {J}(\mathbf {q})^{\#} \mathbf {J}(\mathbf {q})\right) \) is the null-space projection matrix. The term \(- \mathbf {D}_{n} \dot{\mathbf {q}}\) allows to damp the null-space motion. The control law (2) is, therefore, modified as follows:

$$\begin{aligned} \varvec{\uptau }= \mathbf {B}(\mathbf {q})\varvec{\upgamma } + \mathbf {C}(\mathbf {q},\dot{\mathbf {q}})+ \mathbf {g}(\mathbf {q})+ \varvec{\uptau }_f(\dot{\mathbf {q}})+ \varvec{\uptau }_{R}. \end{aligned}$$
(12)

The control torque \(\varvec{\uptau }_{R}\) acts in the null-space of the manipulator, i.e., not affecting the Cartesian motion of the robot. Indeed, the Cartesian controlled robot behavior in 10 is not affected by this term.

4 Sensorless extended Kalman Filter for interaction forces estimation

The aim of this Section is to propose a sensorless model-based methodology to estimate the interaction force between the robot and the environment along traslational directions. Therefore, in the following Extended Kalman Filter (EKF) design, only the traslational Cartesian DoFs will be considered. Such estimation of the interaction force will be used to:

  • detect no contact/contact transitions to enable the estimation of the environment stiffness;

  • close the force loop to control the interaction between the robot and the environment;

  • possibly implement contact-motion tasks (e.g., polishing tasks), controlling the interaction force (i.e., the normal force w.r.t. the contact surface) while moving on the target surface. In such a way, the estimation of the friction forces (i.e., the tangential forces along sliding directions) is also performed.

Exploiting the coupled robot-environment dynamic equation (10), it is possible to design the EKF to be used for the estimation of the interaction force \(\mathbf {f}\).

The robot-environment interaction dynamics can be defined by the following filter state \(\mathbf {x}_{a}\) composed by the robot velocity \(\dot{\mathbf {x}}_t\) and position \(\mathbf {x}_t\) states (along traslational directions), and augmented with the interaction force \(\mathbf {f}\):

$$\begin{aligned} \mathbf {x}_{a} = [ \dot{\mathbf {x}}_t, \mathbf {x}_t, \mathbf {f}]^T. \end{aligned}$$
(13)

Substituting the augmented state \(\mathbf {x}_{a}\) (13) in the interaction dynamics model (10), the filter dynamics results in:

$$\begin{aligned} \mathbf {f(\mathbf {\mathbf {x}}_{a},\mathbf {\varvec{\upnu }})}= & {} \begin{bmatrix} \ddot{\mathbf {x}}_t \\ \dot{\mathbf {x}}_t \\ \dot{\mathbf {f}} \end{bmatrix} \nonumber \\= & {} \begin{bmatrix} \mathbf {M}_t^{-1}\left( - \mathbf {D}_t \dot{\mathbf {x}}_t - \mathbf {K}_t \mathbf {x}_t - \overline{\mathbf {L}}(\mathbf {q}) \mathbf {f} + \mathbf {K}_t \mathbf {x}_t^d + \varvec{\upnu }_{\mathbf {x}_t} \right) \\ \dot{\mathbf {x}}_t + \mathbf {M}_t^{-1} \varvec{\upnu }_{\dot{\mathbf {x}}_t} \\ \varvec{\upnu }_{f} \end{bmatrix}, \nonumber \\ \end{aligned}$$
(14)

where the vector \(\varvec{\upnu }_a = [\varvec{\upnu }_{\mathbf {x}_t}, \varvec{\upnu }_{\dot{\mathbf {x}}_t}, \varvec{\upnu }_{\mathbf {f}}]^T\) accounts for uncertainties in models parameters/estimates. The observer of the augmented state is therefore defined as:

$$\begin{aligned} \left\{ \begin{aligned} \dot{\widehat{\mathbf {x}}}_{a}&= \mathbf {f(\mathbf {x}_a,\varvec{\upnu }_a)} + \mathbf {K}_{EKF} (\mathbf {y} - \mathbf {C}_{a}\widehat{\mathbf {x}}_{a}), \\ \widehat{\mathbf {y}}&=\mathbf {h(\mathbf {x}_a,\mathbf {w})}, \end{aligned} \right. \end{aligned}$$
(15)

with \(\widehat{\mathbf {x}}_a\) the augmented state estimate, \(\mathbf {C}_{a}\) the observation matrix for the robot velocity \(\dot{\mathbf {x}}_t\) and the robot position \(\mathbf {x}_t\), and \(\mathbf {K}_{EKF}\) the gain matrix:

$$\begin{aligned} \mathbf {K}_{EKF} = \mathbf {P} \mathbf {C}_{a} \mathbf {R}^{-1}. \end{aligned}$$
(16)

\(\mathbf {R}\) is the measurement noise matrix defined as:

$$\begin{aligned} \mathbf {R} = \mathbf {H} E\lbrace \mathbf {w} \mathbf {w}^T\rbrace \mathbf {H}^T = \mathbf {H} \mathbf {W} \mathbf {H}^T, \end{aligned}$$
(17)

where the observation function \(\mathbf {h}\) linearly maps the sample inaccuracies, due to measurement noise \(\mathbf {w}\), through the matrix \(\mathbf {H}\):

$$\begin{aligned} \mathbf {H}=\left. \frac{\partial \mathbf {h}}{\partial \mathbf {w}}\right| _{\widehat{\mathbf {x}}_{a}}. \end{aligned}$$
(18)

The covariance matrix \(\mathbf {P}\) and its rate, as in:

$$\begin{aligned} \dot{\mathbf {P}} = \mathbf {A}_a\mathbf {P}-\mathbf {P} \mathbf {C}_{a}^T \mathbf {R}^{-1}\mathbf {C}_{a} \mathbf {P} + \mathbf {Q} +\mathbf {P}\mathbf {A}_a^T, \end{aligned}$$
(19)

are based on the dynamics of the state and the model uncertainties. Matrices \(\mathbf {A}_a\) and \(\mathbf {G}_a\) are defined respectively as:

$$\begin{aligned} \mathbf {A}_a=\left. \frac{\partial \mathbf {f}}{\partial \mathbf {x}_{a}}\right| _{\widehat{\mathbf {x}}_{a}};&\quad&\mathbf {G}_a=\left. \frac{\partial \mathbf {f}}{\partial \varvec{\upnu }_{a}}\right| _{\widehat{\mathbf {x}}_{a}}. \end{aligned}$$
(20)

Matrix \(\mathbf {Q}\), used for the estimation of the parameters, is defined as:

$$\begin{aligned} \mathbf {Q} = \mathbf {G}_a E\lbrace \varvec{\upnu }_a \varvec{\upnu }_a^T\rbrace \mathbf {G}_a^T = \mathbf {G}_a \mathbf {V} \mathbf {G}_a^T. \end{aligned}$$
(21)

It has to be underlined that in the filter dynamics (14) the matrix \(\overline{\mathbf {L}}(\mathbf {q})\) appears as a function of the joint position \(\mathbf {q}\). Analyzing the definition of \(\overline{\mathbf {L}}(\mathbf {q})\), the joint position dependence is due to the matrices \(\mathbf {J}(\mathbf {q})\) and \(\mathbf {B}(\mathbf {q})\). It has to be noted that, when the robot is in interaction with an environment while executing a task (e.g., an assembly task), its joint configuration is not excessively modifying, or at least such modification is happening with a dynamics much slower than the interaction dynamics. It is therefore possible to neglect the time-derivative \(\dot{\overline{\mathbf {L}}}(\mathbf {q})\) in (20), considering the constant matrix \(\overline{\mathbf {L}}(\overline{\mathbf {q}})\), updating \(\overline{\mathbf {q}}=\mathbf {q}\) as soon as the robot joint configuration modifications are affecting the values of \(\mathbf {J}(\mathbf {q})\) and \(\mathbf {B}(\mathbf {q})\). In such a way, (14) can be written as follows:

$$\begin{aligned} \mathbf {f(\mathbf {\mathbf {x}}_{a},\mathbf {\varvec{\upnu }})}= & {} \begin{bmatrix} \ddot{\mathbf {x}}_t \\ \dot{\mathbf {x}}_t \\ \dot{\mathbf {f}} \end{bmatrix} \nonumber \\= & {} \begin{bmatrix} \mathbf {M}_t^{-1}\left( - \mathbf {D}_t \dot{\mathbf {x}}_t - \mathbf {K}_t \mathbf {x}_t - \overline{\mathbf {L}}(\overline{\mathbf {q}}) \mathbf {f} + \mathbf {K}_t \mathbf {x}_t^d + \varvec{\upnu }_{\mathbf {x}_t} \right) \\ \dot{\mathbf {x}}_t + \mathbf {M}_t^{-1} \varvec{\upnu }_{\dot{\mathbf {x}}_t} \\ \varvec{\upnu }_{f} \end{bmatrix}, \nonumber \\ \end{aligned}$$
(22)

Remark 2

The approximation of \(\overline{\mathbf {L}}(\mathbf {q})\) in \(\overline{\mathbf {L}}(\overline{\mathbf {q}})\) introduces negligible modeling errors, that are of orders of magnitude smaller than common modeling errors resulting from the robot dynamics identification procedures, therefore not affecting the target estimation.

5 Sensorless Extended Kalman Filter for environment stiffness estimation

The aim of this Section is to propose a sensorless model-based methodology to estimate the environment stiffness along traslational directions. Therefore, in the following Extended Kalman Filter (EKF) design, only the traslational Cartesian DoFs will be considered. Such estimation of the environment stiffness will be used to:

  • define the robot-environment dynamic model;

  • compensate for the coupled dynamics resulting from the implementation of the sensorless Cartesian impedance controller described in 3;

  • tune the impedance control parameters ensuring stability of the interaction.

5.1 Interaction environment dynamics modeling

In order to design the EKF to be used for the estimation of the interaction environment stiffness, the interaction environment dynamics has to be modeled. Based on (Roveda et al. 2013), the simplest way to describe the interaction environment dynamics is the linear spring-damper model (with environment stiffness matrix \(\mathbf {K}_e\), environment damping matrix \(\mathbf {D}_e\) - both diagonal and positive definite -, and environment position vector \(\mathbf {x}_e\)):

$$\begin{aligned} \sum _i ( \mathbf {D}_e^i \dot{\mathbf {x}}_{e}^i + \mathbf {K}_e^i \Delta \mathbf {x}_{e}^i ) = \mathbf {f} , \ \ \ \forall i = 1, \cdot \cdot , N, \end{aligned}$$
(23)

for all the finite number N of interaction ports. Considering the environment traslational DoFs \(\mathbf {x}_{e,t}\) and under the hypothesis of a stable single contact point (i.e., the robot and the environment are always in contact with \(\mathbf {x}_{e,t}=\mathbf {x}_t\), where \(\mathbf {x}_{t}\) is the robot end-effector traslational DoFs vector), (23) can be written as follows:

$$\begin{aligned} \mathbf {D}_e \dot{\mathbf {x}}_t + \mathbf {K}_e \Delta \mathbf {x}_t = \mathbf {f}. \end{aligned}$$
(24)

The identification of the environment damping \(\mathbf {D}_e\) is not possible without a persistent excitation (Dehghan et al. 2015) (option not applicable in the context of the proposed contribution). The environment damping does not affect the stiffness estimation at steady-state (being related to the robot velocity in (24)), while affecting the transitory dynamics. However, since the robot end-effector velocity is limited along the interaction directions (due to the contact with the environment), the damping can be neglected in the environment dynamics (24), considering a pure elastic dynamics:

$$\begin{aligned} \mathbf {K}_e \left( \mathbf {x}_t - \mathbf {x}_{e,t}^0 \right) = \mathbf {f}, \end{aligned}$$
(25)

where \(\mathbf {x}_{e,t}^0\) is the equilibrium position of the environment. For simplicity, \(\mathbf {x}_{e,t}^0=\mathbf {0}\) is considered. By substituting (25) in (10), the coupled robot-environment interaction dynamics can be defined as:

$$\begin{aligned} \overline{\mathbf {M}}_t \ddot{\mathbf {x}}_t + \overline{\mathbf {D}}_t \dot{\mathbf {x}}_t + \overline{\mathbf {K}}_t(\mathbf {q}) \mathbf {x}_t = \mathbf {K}_t \mathbf {x}_t^d, \end{aligned}$$
(26)

where \(\overline{\mathbf {M}}_t = \mathbf {M}_t\), \(\overline{\mathbf {D}}_t = \mathbf {D}_t\), \(\overline{\mathbf {K}}_t(\mathbf {q}) = \mathbf {K}_t + \overline{\mathbf {L}}(\mathbf {q}) \mathbf {K}_e\). It has to be underlined that the equivalent stiffness matrix \(\overline{\mathbf {K}}_t(\mathbf {q})\) is a function of the joint position \(\mathbf {q}\) due to the presence of \(\overline{\mathbf {L}}(\mathbf {q})\).

5.2 Extended Kalman Filter design

Exploiting the coupled robot-environment dynamic equation (26), it is possible to design the EKF to be used for the estimation of the interaction environment stiffness \(\mathbf {K}_e\).

Modifying the augmented state in (13), the robot-environment interaction dynamics can be defined by the following filter state \(\mathbf {x}_{a}\) composed by the robot velocity \(\dot{\mathbf {x}}_t\) and position \(\mathbf {x}_t\) states (along traslational directions), and augmented with the environment stiffness properties \(\mathbf {K}_e\):

$$\begin{aligned} \mathbf {x}_{a} = [ \dot{\mathbf {x}}_t, \mathbf {x}_t, \mathbf {K}_e]^T. \end{aligned}$$
(27)

Substituting the augmented state \(\mathbf {x}_{a}\) (27) in the interaction dynamics model (26), the filter dynamics results in:

$$\begin{aligned} \mathbf {f(\mathbf {\mathbf {x}}_{a},\mathbf {\varvec{\upnu }}_a)}= & {} \begin{bmatrix} \ddot{\mathbf {x}}_t \\ \dot{\mathbf {x}}_t \\ \dot{\mathbf {K}}_e \end{bmatrix} \nonumber \\= & {} \begin{bmatrix} \overline{\mathbf {M}}_t^{-1}\left( - \overline{\mathbf {D}}_t \dot{\mathbf {x}}_t - \overline{\mathbf {K}}_t(\overline{\mathbf {q}}) \mathbf {x}_t + \mathbf {K}_t \mathbf {x}_t^d + \varvec{\upnu }_{\mathbf {x}_t} \right) \\ \dot{\mathbf {x}}_t + \overline{\mathbf {M}}_t^{-1} \varvec{\upnu }_{\dot{\mathbf {x}}_t} \\ \varvec{\upnu }_{\mathbf {K}_e} \end{bmatrix}, \end{aligned}$$
(28)

where the vector \(\varvec{\upnu }_a = [\varvec{\upnu }_{\mathbf {x}_t}, \varvec{\upnu }_{\dot{\mathbf {x}}_t}, \varvec{\upnu }_{\mathbf {K}_e}]^T\) accounts for uncertainties in models parameters/estimates.

The same derivation of the EKF dynamics described in Sect. 4 can be followed for the EKF implementation. The same considerations described in Sect. 4 for \(\overline{\mathbf {L}}(\overline{\mathbf {q}})\) are valid for \(\overline{\mathbf {K}}_t(\overline{\mathbf {q}})\).

Remark 3

It has to be underlined that the EKF is capable to perform the estimation even for a non-linear interaction dynamics, estimating the linearized stiffness value in the considered operating condition.

Remark 4

It has to be underlined that the proposed EKF for the estimation of the environment stiffness is activated as soon as the contact is established between the robot and the environment. On the basis of the interaction force estimation \(\widehat{\mathbf {f}}\) provided in Sect. 4, it is possible to enable the estimation of the environment stiffness when the contact is detected. In particular, a threshold force \(T_f\) is considered on the components of \(\widehat{\mathbf {f}}\) to enable the environment stiffness estimation. When an estimated force component goes below the threshold, the estimation is deactivated in such a direction.

6 Sensorless Cartesian impedance control adaptation

Exploiting the estimated environment stiffness \(\widehat{\mathbf {K}}_e\) provided by the EKF, it is possible to:

  • design a compensator for the coupled dynamics resulting from the implementation of the sensorless Cartesian impedance controller;

  • tune the sensorless Cartesian impedance control parameters to ensure the stability of the interaction.

The coupling compensator \(\mathbf {x}_{t,dc}\) allows to deal with the coupled dynamics resulting from the inner sensorless Cartesian impedance controller (10). As resulting from (26), the term \(\overline{\mathbf {L}}(\mathbf {q})\) multiplies the environment stiffness \(\mathbf {K}_e\), coupling the dynamic equations (i.e., the Cartesian DoFs). Despite such a term is a function of the robot joint configuration \(\mathbf {q}\), it can be considered as constant (i.e., \(\overline{\mathbf {L}}(\overline{\mathbf {q}}) = \overline{\mathbf {L}}\)) as described in Sect. 4. The coupling compensator can be defined as in the following:

$$\begin{aligned} x_{t,dc,i} = \overline{L}_{i,j} \widehat{K}_{e}^{j} x_{t,j} + \overline{L}_{i,k} \widehat{K}_{e}^{k} x_{t,k}. \end{aligned}$$
(29)

where i defines the controlled Cartesian DoF, while j and k the coupled Cartesian DoFs. (29) can be included in the definition of the sensorless Cartesian impedance setpoint \(\mathbf {x}_t^d\) in (26) to decoupling the Cartesian DoFs.

The sensorless Cartesian impedance control parameters can also be tuned in order to guarantee the stability of the robot-environment system described by (26). Once the coupling terms compensation is performed, the resulting robot-environment interaction dynamics results in:

$$\begin{aligned} \mathbf {M}_t \ddot{\mathbf {x}}_t + \mathbf {D}_t \dot{\mathbf {x}}_t + \left( \mathbf {K}_t + \mathbf {K}_e \right) \mathbf {x}_t = \mathbf {K}_t \mathbf {x}_t^d, \end{aligned}$$
(30)

considering that the coupling compensator has been applied to the setpoint \(\mathbf {x}_t^d\). Substituting in (30) the estimated environment stiffness \(\widehat{\mathbf {K}}_{e}\):

$$\begin{aligned} \mathbf {M}_t \ddot{\mathbf {x}}_t + \mathbf {D}_t \dot{\mathbf {x}}_t + \left( \mathbf {K}_t + \widehat{\mathbf {K}}_{e} \right) \mathbf {x}_t = \mathbf {K}_t \mathbf {x}_t^d, \end{aligned}$$
(31)

the robot-environment interaction dynamics can be exploited to tune the sensorless Cartesian impedance control parameters.

The Cartesian impedance control damping can be imposed in order to achieve an over-damped behavior for the coupled interaction dynamics. The eigenvalues of (31) can be computed as:

(32)

for each Cartesian DoF i. In order to achieve an over-damped stable system dynamics, the following condition has to be satisfied:

$$\begin{aligned} D_{t,i}^2-4 M_{t,i} \left( K_{t,i} + \widehat{K}_{e,i} \right) > 0. \end{aligned}$$
(33)

By considering that the damping term \(D_{t,i} = 2 h_{t,i} \sqrt{M_{t,i} K_{t,i}}\), the damping ration \(h_{t,i}\) can be computed as:

$$\begin{aligned} h_{t,i} > \sqrt{\dfrac{K_{t,i} + \widehat{K}_{e,i}}{K_{t,i}}}. \end{aligned}$$
(34)

Remark 5

The Cartesian impedance control stiffness can be imposed to a value that is smaller or equal to the one of the estimated environment stiffness in order to absorb the interaction force during the task execution.

Remark 6

It is important to underline that the sensorless Cartesian impedance control is interconnected with the EKF (exploiting the provided environment stiffness estimation) for the update of its parameters. Therefore, even if the EKF and the impedance control are individually stable, the dynamics of the estimation given by the EKF affects the stability of the controller. Therefore, it is important that the dynamics of the EKF is faster than the controller dynamics (the bandwidth of the EKF should be at least one decade faster then the bandwidth of the controller) to avoid any instability resulting from the transient dynamics of the EKF.

Fig. 4
figure 4

Estimated interaction force \(\widehat{\mathbf {f}}\) (dashed line) vs. measured interaction force \(\mathbf {f}\) (continuous line) for the considered simulations

Fig. 5
figure 5

Estimated environment stiffness \(\widehat{\mathbf {K}}_e\) (continuous line) vs. real environment stiffness \(\mathbf {K}_e\) (dashed line) for the considered simulations

7 Results

A Franka EMIKA panda manipulator has been used as a test platform (Figure 1). The robot torque controller has been exploited (control frequency 1 kHz). A probing task (with different interacting environments, i.e., different stiffness) has been considered as a reference task.

7.1 Simulation results

Simulations have been performed in Matlab implementing the Franka EMIKA panda kinematics and dynamics using the Robotics Toolbox (Corke 2017). Control law (12) has been implemented. The robot-environment interaction is simulated along all the traslational Cartesian DoFs exploiting (26).

The following sets of environment stiffness parameters has been applied in simulation: \(\mathbf {K}_{e}^1 = diag( [1000, 1000, 1000] )\) N/m, \(\mathbf {K}_{e}^2 = diag( [50000, 50000, 50000] )\) N/m, \(\mathbf {K}_{e}^3 = diag( [10000, 20000, 50000] )\) N/m. The impedance control matrices have been imposed as follows: mass parameters into the diagonal matrix \(\mathbf {M}\) have been imposed equal to 10 kg, while inertia parameters have been imposed equal to 10 kg m\(^2\); traslational parameters into the diagonal stiffness matrix \(\mathbf {K}\) has been imposed equal to 1000 N/m, while rotational parameters have been imposed equal to 5000 Nm/rad; damping ratio parameters into the diagonal matrix \(\mathbf {h}\) have been imposed equal to 0.7.

Starting the simulations, the robot position is not in contact with the environment. The impedance control setpoint is applied \(\mathbf {x}^d_t = \mathbf {x}_{t} + [0.0075, 0.0075, 0.0075]^T \, \text {m}\) along all the Cartesian traslational DoFs. The EKF for the interaction force estimation is activeted immediately. As soon as a steady interaction estimated force \(\widehat{\mathbf {f}}\) higher than the threshold \(T_f=3\) N is achieved, the impedance control setpoint is modified to \(\mathbf {x}^d_t = \mathbf {x}_{t} + [0.015, 0.015, 0.015]^T\), and the EKF for the environment stiffness estimation is activated.

7.1.1 Estimated interaction force

Figure 4 shows results related to the EKF for the interaction force \(\widehat{\mathbf {f}}\) estimation described in Sect. 4. The estimated interaction force \(\widehat{\mathbf {f}}\) is plotted against the measured interaction force \(\mathbf {f}\) in the simulation scenarios. Initially, the robot is moving in free-space and the estimated force is equal to zero. As soon as the contact is established, the estimated force tracks the measured force with a limited delay. The effectiveness of the proposed methodology is shown, having the EKF able to estimate the interaction force with a fast dynamics and reduced delays. The achieved accuracy in the estimation allows to implement the force loop for sensorless interaction task execution.

7.1.2 Estimated environment stiffness

Figure 5 shows the results related to the EKF for the environment stiffness \(\widehat{\mathbf {K}}_{e}\) estimation described in Sect. 5.2. The estimated environment stiffness \(\widehat{\mathbf {K}}_{e}\) is plotted against the nominal environment stiffness \(\mathbf {K}_{e}\) in the simulation scenarios. The estimation of the environment stiffness is enabled as soon as the interaction estimated force \(\widehat{\mathbf {f}}\) is at its steady state and higher than the defined threshold \(T_f=3\) N. The effectiveness of the proposed methodology is shown, having the EKF able to estimate the environment stiffness with a fast dynamics. The proposed methodology allows to achieve a high accuracy in the estimation, making possible to exploit such estimation in the control parameters tuning for stability purposes.

7.2 Experimental results

Experiments have been performed on the Franka EMIKA panda manipulator (Figure 1), establishing the interaction along the z Cartesian DoF. The implemented controller (12) has been considered, without the compensation of the joint friction term (currently under development):

$$\begin{aligned} \varvec{\uptau }= \mathbf {B}(\mathbf {q})\varvec{\upgamma } + \mathbf {C}(\mathbf {q},\dot{\mathbf {q}})+ \mathbf {g}(\mathbf {q})+ \varvec{\uptau }_{R}. \end{aligned}$$

Three different environments have been tested with different (unknown) stiffness characteristics. The impedance control matrices have been initialized as follows: mass parameters into the diagonal matrix \(\mathbf {M}\) have been imposed equal to 10 kg, while inertia parameters have been imposed equal to 10 kg m\(^2\); traslational parameters into the diagonal stiffness matrix \(\mathbf {K}\) has been imposed equal to 1500 N/m (to achieve a medium-soft robot behavior, i.e., a safe interaction with the unknown stiff environment), while rotational parameters have been imposed equal to 8000 Nm/rad; damping ratio parameters into the diagonal matrix \(\mathbf {h}\) have been initially imposed equal to 0.7.

Fig. 6
figure 6

a estimated interaction force \(\widehat{f}_z\) (continuous line) vs. measured interaction force \(f_z\) (dot-dashed line) for the three experimental scenarios. Reference force \(f_z^d\) (dashed line) is highlighted. b estimated interaction force error \(\widehat{e}_{f,z}\)

In the proposed experiments, the proposed EKFs (Sect. 4 and Sect. 5.2) and the controller (Sect. 6) are implemented and are running in parallel. The EKF for the interaction force estimation is immediately activated, while the EKF for the environment stiffness estimation will be activated as soon as the contact is established. The robot moves along the Cartesian DoF \(-z\) until the contact with the environment is detected (exploiting the interaction force estimation \(\widehat{f}_{z}\)) by applying an impedance control setpoint \(x^d_{t,z} = x_{t,z} + 0.0075 \, \text {m}\). As soon as the estimated force \(\widehat{f}_{z}\) overcomes the threshold \(T_f=5\) N, the EKF for the environment stiffness estimation is enabled. After the convergence of \(\widehat{K}_{e,z}\) to \(\widehat{\overline{K}}_{e,z}\) (i.e., estimated value taken after four seconds from the EKF activation), the update of the impedance control damping exploiting (34) is performed to guarantee stability. In particular, \(h_{t,z} = 1.1 \sqrt{(K_{t,z}+\widehat{K}_{e,z})/K_{t,z}}\) is imposed to deal with estimation uncertainties.

Remark 7

The sensorless Cartesian impedance control parameters update, on the basis of the estimate provided by the EKF, is performed at a slower rate w.r.t. the EKF estimation. In particular, having an estimation frequency of 1 kHz, the impedance parameters update is performed at 0.5 Hz to preserve the controller + observer stability. The update of the impedance parameters is also slower than the impedance control dynamics to avoid non-smooth transition of the parameters. In the case the EKF estimation diverges, the experiment is safely stopped.

To show the possibility to exploit the estimations provided by the EKFs (in Sect. 4 and Sect. 5.2) to implement a sensorless force controller, \(\widehat{f}_{z}\) is used to close a force-loop, while \(\widehat{K}_{e,z}\) is used to tune the PI force-control gains. A reference force \(f_z^d = 30N\) has been imposed. The sensorless Cartesian impedance setpoint is defined along the z direction as:

$$\begin{aligned} x^d_{t,z} = x_{t,z} + K_{p,f}/K_{t,z} e_{f,z} + K_{i,f}/K_{t,z} \int e_{f,z} dt, \end{aligned}$$
(35)

where \(e_{f,z}= f_z^d - \widehat{f}_{z}\) is the force error, \(K_{p,f}\) is the proportional gain and \(K_{i,f}\) is the integral gain. Model in (31) has been used to tune the control gains to achieve a 0.5 Hz bandwidth. The impedance setpoint along the x and y directions i is defined to include the coupling compensator term (29) as

$$\begin{aligned} x^d_{t,i} = \overline{x}_{t,i} + x_{t,dc,i}, \end{aligned}$$

where \(\overline{x}_{t,i}\) is the robot position measured at the time of the estimation of \(\widehat{\overline{K}}_{e,z}\).

Fig. 7
figure 7

Estimated interaction environment stiffness \(\widehat{K}_{e,z}\) (black continuous line) and its converged value \(\widehat{\overline{K}}_{e,z}\) (red circle) for the three experimental scenarios vs. the real (calibrated) environment stiffness \(K_{e,z}\) (black dashed line)

Fig. 8
figure 8

(a) estimated interaction forces \(\widehat{f}_x\), \(\widehat{f}_y\), and \(\widehat{f}_z\) (dot-dashed line) vs. measured interaction forces \(f_x\), \(f_y\), and \(f_z\) (continuous line) for the polishing-like task. Reference force \(f_z^d\) (dashed line) is highlighted. (b) estimated interaction force errors \(e_{f,x}\), \(e_{f,y}\), and \(e_{f,z}\)

Figure 6 shows the estimated interaction force \(\widehat{f}_{z}\) vs. the measured interaction force \(f_{z}\) (exploiting the internal estimation of the interaction force provided by the Franka EMIKA panda robot on the basis of its joint torque sensors), also highlighting the reference force \(f_{z}^d\), for the three environments (first column), and the interaction force estimation error \(\widehat{e}_{f,z}=f_{z}-\widehat{f}_{z}\) (second column). Limited steady state errors (maximum error less than 5 N) are shown, comparable to state-of-the-art techniques for sensorless external force estimation. A fast estimation is achieved, showing the convergence of the estimation in approximately 0.1 s (i.e., EKF bandwidth approximately equal to 10 Hz, an order of magnitude faster than the force-tracking impedance control bandwidth), as it can be seen from the interaction force estimation error plots. Figure 7 shows the estimated interaction environment stiffness \(\widehat{K}_{e,z}\) and its converged value \(\widehat{\overline{K}}_{e,z}\) for the three environments vs. the real (calibrated) environment stiffness \(K_{e,z}\). The estimated environment stiffness has a fast dynamics and a limited error (less than \(10\%\), i.e., acceptable error in line with state of the art techniques), allowing the proper tuning of the sensorless Cartesian impedance control parameters as described in Sect. 6.

As shown by simulation results, estimation performance can be improved including friction compensation in the controller. In fact, without including it, modeling errors are shown in (26), decreasing the estimation performance of the proposed EKFs. Authors wanted to evaluate the performance of the proposed approach in the presence of modeling errors to verify the applicability of the approach in non-optimized conditions.

Remark 8

The EKFs gains have been experimentally tuned in order to achieve the fastest dynamics. Initialization of the EKF estimated stiffness values has been randomized in order to show the proper convergence of the EKF.

Remark 9

The implemented PI force controller aims to show the stability of the performed environment stiffness estimation, i.e., of the related interaction force estimation, making possible to perform an interaction task with the proposed approach.

8 Advanced applications

In order to show the capabilities of the proposed approach, two more advanced applications have been implemented: a polishing-like task, and an assembly task of a gear into its shaft. The sensorless Cartesian impedance control together with the estimation of the interaction force have been exploited in order to control the robot for the task execution. To improve the performance of the proposed EKF (described in Sect. 4), friction compensation based on Gaz et al. (2019) has also been implemented.

8.1 Polishing-like task

The proposed task consists in approaching the target environment along z direction. Then, the robot has to maintain a constant contact with the environment by applying a reference force \(f^d_z\), while sliding along directions x and y. The reference force has been imposed as \(f^d_z=30\) N. The same controller in (35) has been implemented, exploiting the estimated force \(\widehat{f}_{z}\) to close the force loop. A sinusoidal motion has been imposed along directions x and y. The impedance control matrices have been initialized as follows: mass parameters into the diagonal matrix \(\mathbf {M}\) have been imposed equal to 10 kg, while inertia parameters have been imposed equal to 10 kg m\(^2\); traslational parameters into the diagonal stiffness matrix \(\mathbf {K}\) has been imposed equal to 1000 N/m (to achieve a medium-soft robot behavior, i.e., a safe interaction with the unknown stiff environment), while rotational parameters have been imposed equal to 8000 Nm/rad; damping ratio parameters into the diagonal matrix \(\mathbf {h}\) have been imposed equal to 1.

Figure 8 shows in the first column the estimated interaction forces \(\widehat{f}_{x}\), \(\widehat{f}_{y}\), and \(\widehat{f}_{z}\) vs. the measured interaction forces \(f_{x}\), \(f_{y}\), and \(f_{z}\) (exploiting the internal estimation of the interaction force provided by the Franka EMIKA panda robot on the basis of its joint torque sensors), also highlighting the reference force \(f_{z}^d\). The second column shows the interaction force estimation errors \(\widehat{e}_{f,x}=f_{x}-\widehat{f}_{x}\), \(\widehat{e}_{f,y}=f_{y}-\widehat{f}_{y}\), and \(\widehat{e}_{f,z}=f_{z}-\widehat{f}_{z}\). Limited errors are shown, comparable to state-of-the-art techniques for sensorless external force estimation. A fast estimation is achieved, making possible to estimate the interaction forces while performing the task. Estimation performance can be enhanced by improving the friction compensation as proposed in Roveda et al. (2017), where a local friction model identification and compensation are performed w.r.t. the specific task and workspace area in which the robot is operating.

Fig. 9
figure 9

Experimental set-up including the Franka EMIKA panda manipulator for the target assembly task. The manipulated gear and its shaft are highlighted

8.2 Assembly task

The proposed task consists in an assembly of a gear into its shaft. The target task is shown in Fig. 9. The main task direction is z and, therefore, a reference force \(f_{z}^d=30\) N has been defined to perform the insertion task. The same controller in (35) has been implemented, exploiting the estimated force \(\widehat{f}_{z}\) to close the force loop. The sensorless Cartesian impedance control is exploited in order to have the robot compliant along the other Cartesian DoFs. The impedance control matrices have been initialized as follows: mass parameters into the diagonal matrix \(\mathbf {M}\) have been imposed equal to 10 kg, while inertia parameters have been imposed equal to 10 kg m\(^2\); traslational parameters into the diagonal stiffness matrix \(\mathbf {K}\) has been imposed equal to 1000 N/m (to achieve a medium-soft robot behavior, i.e., a safe interaction with the unknown stiff environment), while rotational parameters have been imposed equal to 1000 Nm/rad; damping ratio parameters into the diagonal matrix \(\mathbf {h}\) have been imposed equal to 1.

Figure 10 shows in the first column the estimated interaction forces \(\widehat{f}_{x}\), \(\widehat{f}_{y}\), and \(\widehat{f}_{z}\) vs. the measured interaction forces \(f_{x}\), \(f_{y}\), and \(f_{z}\) (exploiting the internal estimation of the interaction force provided by the Franka EMIKA panda robot on the basis of its joint torque sensors), also highlighting the reference force \(f_{z}^d\). The second column shows the interaction force estimation errors \(\widehat{e}_{f,x}=f_{x}-\widehat{f}_{x}\), \(\widehat{e}_{f,y}=f_{y}-\widehat{f}_{y}\), and \(\widehat{e}_{f,z}=f_{z}-\widehat{f}_{z}\). Limited steady state errors (around 2 N) are shown, comparable to state-of-the-art techniques for sensorless external force estimation. A fast estimation is achieved, showing the convergence of the estimation in approximately 0.1 s (i.e., EKF bandwidth approximately equal to 10 Hz, an order of magnitude faster than the force-tracking impedance control bandwidth), as it can be seen from the interaction force estimation error plots.

Fig. 10
figure 10

(a) estimated interaction forces \(\widehat{f}_x\), \(\widehat{f}_y\), and \(\widehat{f}_z\) (dot-dashed line) vs. measured interaction forces \(f_x\), \(f_y\), and \(f_z\) (continuous line) for the polishing-like task. Reference force \(f_z^d\) (dashed line) is highlighted. (b) estimated interaction force errors \(e_{f,x}\), \(e_{f,y}\), and \(e_{f,z}\)

9 Conclusions and future work

The presented paper proposed a sensorless model-based methodology (exploiting sensorless Cartesian impedance control and Extended Kalman Filters) to estimate both the interaction force and the environment stiffness for interaction control purposes. The estimated interaction force can be used to close a force loop, making the sensorless robot able to perform interaction task. In addition, the environment stiffness estimation is used to compensate for the coupled dynamics and to tune the Cartesian impedance control parameters, ensuring stability. With respect to state of the art methodologies for the environment stiffness estimation in sensorless applications, the main advantage of the proposed approach is that no persistent excitation is required to perform the estimation. The described approach has been validated in a probing task in both simulations and experiments, using the Franka EMIKA panda manipulator. Simulation and experimental results show fast dynamics performing the proposed estimation and limited estimation errors. In addition, advanced applications have been tested, considering a polishing-like task and an assembly task of a gear into its shaft. The estimation of the interaction force has been exploited for control purposes, showing the capabilities of the proposed approach.

Current/future work is devoted to improve the estimation accuracy (of both interaction force and environment stiffness) developing local high-performance friction compensation algorithms based on learning techniques. The design of sensorless force control exploiting the proposed framework is under investigation for the tuning of both the Cartesian impedance control parameters and the force control law (considering SDRE control (Çimen 2007)). Machine learning techniques are also considered for the offline tuning of the sensorless force controller. In particular, performance can be improved using force/torque sensor measurements in the offline sensorless controller tuning phase, then online exploited for the sensorless control of the manipulator in unknown scenarios. The optimization of the tuning of the EKF gains is under investigation, making use of machine learning techniques.