\AtBeginShipoutNext\AtBeginShipoutDiscardthanks: The authors are with the Chair of Robotics and Systems Intelligence, MIRMI-Munich Institute of Robotics and Machine Intelligence, Technical University of Munich, Germany, and the Centre for Tactile Internet with Human-in-the-Loop (CeTI). [email protected]

Visuo-Tactile Exploration of Unknown Rigid 3D Curvatures by Vision-Augmented Unified Force-Impedance Control

Kübra Karacan, Anran Zhang, Hamid Sadeghian, Fan Wu, and Sami Haddadin
Abstract

Despite recent advancements in torque-controlled tactile robots, integrating them into manufacturing settings remains challenging, particularly in complex environments. Simplifying robotic skill programming for non-experts is crucial for increasing robot deployment in manufacturing. This work proposes an innovative approach, Vision-Augmented Unified Force-Impedance Control (VA-UFIC), aimed at intuitive visuo-tactile exploration of unknown 3D curvatures. VA-UFIC stands out by seamlessly integrating vision and tactile data, enabling the exploration of diverse contact shapes in three dimensions, including point contacts, flat contacts with concave and convex curvatures, and scenarios involving contact loss. A pivotal component of our method is a robust online contact alignment monitoring system that considers tactile error, local surface curvature, and orientation, facilitating adaptive adjustments of robot stiffness and force regulation during exploration. We introduce virtual energy tanks within the control framework to ensure safety and stability, effectively addressing inherent safety concerns in visuo-tactile exploration. Evaluation using a Franka Emika research robot demonstrates the efficacy of VA-UFIC in exploring unknown 3D curvatures while adhering to arbitrarily defined force-motion policies. By seamlessly integrating vision and tactile sensing, VA-UFIC offers a promising avenue for intuitive exploration of complex environments, with potential applications spanning manufacturing, inspection, and beyond.

I Introduction

Robotic systems have become indispensable in industrial operations, excelling in tasks demanding repetitive speed and precision. However, challenges persist when these systems confront tasks requiring nuanced force and compliance control, such as polishing car doors or carving metal. Despite advancements in torque-controlled tactile robots, their deployment for tactile and flexible interaction remains limited due to the expertise required in control implementation [1].

To enhance the deployment of tactile robots, the development of straightforward and intuitive robot skill programming methods is essential to alleviate the need for intricate tailoring and adjustment of software programs according to the task specifications of each application. In traditional factory settings, industry experts experienced in standard automation processes program the machines, such as CNC machines, to perform required motion or force to deliver high-quality operations [2]. However, although robotics has made vast progress in force-motion interaction, including impedance, force, and unified controls [3, 4, 5], in flexible manufacturing where frequent reconfiguration is common, it remains difficult to efficiently program the robots while adhering to desired forces and motions derived from task and process requirements. Moreover, deploying robots in highly variable environments, such as small batch-size production, requires fine-tuning robot controllers to adapt to changing environmental features and constraints [6, 7, 8].

Refer to caption
Figure 1: Visuo-Tactile Exploration of Unknown Rigid 3D Curvatures by vision-augmented unified force-impedance control (VA-UFIC) for a chosen tactile skill. Visuo-tactile exploration is the next step to achieving a force-motion planning framework that outputs an object-centric force-motion profile for an arbitrary tactile skill policy. The explored environment is fed back to the library to further plan the force-motion policy.

To achieve more natural and intuitive robot programming to broaden robot deployment in manufacturing, it is desirable to autonomously explore environmental features for a given arbitrary force-motion policy and use the explored environment information to plan the object-centric force-motion policy, as shown in Fig. 1. Methods such as the operational space framework, constrained-based task specifications, and object-centric representations constitute significant steps towards a user-friendly programming paradigm [9, 10, 11, 12]. However, directly producing or planning the object-centric force-motion policy for a non-control expert, given an arbitrary force-motion policy, requires autonomous investigation of the environmental constraints experienced by the tools, such as surface curvatures or normal, during task execution. This approach would allow non-experts to use controllers, leveraging environment exploration and analysis of current surface constraints.

Integrating visual and tactile sensors for contact alignment monitoring, like an intelligent end-effector, offers a promising solution to enhance robots’ environmental awareness, particularly in exploring unknown surface constraints such as curvatures. While visual perception enables robots to perceive environmental details without touching, tactile sensors provide unique insights into force and moments not discernible through vision alone [13, 14]. However, challenges arise when irregularities occur outside the camera’s field of view, i.e., the camera’s view is blocked in the contact point or when tactile sensors fail to sense forces and moments due to the point contact or even loss of contact. In other words, different contact shapes dictate the sensing modality for perceiving environmental features. Thus, unifying visual and tactile sensors to monitor the contact alignment between the tool and surface presents a more comprehensive solution involving various contact shapes in real-world applications. Approaches in robotics that synergise visual perception and tactile sensing vary, focusing on enhancing grasp stability, evaluating object shapes, or executing manipulation tasks based on predefined structures such as manipulation graphs or computer-aided design models [15, 16, 17, 18, 19]. Despite advancements in visuo-tactile capabilities, using those methods in environment exploration is mainly limited in 2D for specific contact shapes, persisting in a gap between current robotic capabilities and real-world application demands [20, 21, 22].

This paper aims to bridge the disparity between the existing abilities of robots and the requirements posed by real-world scenarios, proposing a novel approach towards developing simple yet effective and intuitive robotic skill programming that does not necessitate specialized control expertise for application: visuo-tactile exploration of unknown rigid 3D curvatures through vision-augmented unified force-impedance control (VA-UFIC). By seamlessly integrating tactile and vision data to span various contact shapes between the tool and the environment, we develop a robust online contact alignment monitoring system, considering factors, e.g., tactile error, local surface curvature, and surface orientation. This information is seamlessly integrated into a vision-augmented unified force-impedance control framework, enabling the adjustment of robot stiffness and force regulation while exploring unknown rigid 3D curvatures. Visuo-tactile exploration is the next step to completing a force-motion planning framework that outputs an object-centric force-motion profile for an arbitrary tactile skill policy.

The contributions of this work include:

  • I

    The introduction of online contact alignment monitoring to include various contact shapes between the tool and the environment: combining tactile error, the contact surface’s local curvature, and surface orientation derived from tactile and vision data.

  • II

    Visuo-tactile exploration of unknown rigid 3D curvatures: integration of contact alignment monitoring into vision-augmented unified force-impedance control to adapt the robot’s stiffness and regulate the force profile.

  • III

    Implementing virtual energy tanks to ensure system passivity and stability.

  • IV

    Evaluation of the proposed method’s performance regarding contact alignment monitoring accuracy, real-time feedback latency, computational efficiency, and control performance using a Franka Emika research robot wiping challenging curvatures.

The remainder of the paper is organized as follows. Section II presents the methodology, including visuo-tactile exploration of unknown rigid 3D curvatures through contact alignment monitoring using tactile data and vision. Additionally, it covers the passivity-based stability analysis for vision-augmented unified force-impedance control and the implementation of virtual energy tanks for stabilizing the system with variable stiffness and force regulation. The experimental protocol and corresponding results are detailed in Sections III and IV, respectively. Finally, Section V provides the paper’s conclusion.

II Methodology

The methodology begins with designing and implementing unified force-impedance control, a well-established technique governing the robot’s response to external forces while ensuring high compliance. This control framework integrates motion and force profiles to facilitate precise environmental interaction. Next, we explore the integration of tactile and vision inputs for contact alignment monitoring. This involves developing algorithms to interpret tactile data and vision cues to comprehensively understand the environment’s geometry, e.g., curvatures. Using this sensory information as a foundation, we propose a visuo-tactile exploration of unknown rigid 3D curvatures by vision-augmented unified force-impedance control (VA-UFIC). This framework allows the robot to dynamically adjust its posture and modify stiffness, motion, and force policies to effectively respond to local faults during interactions with challenging surfaces. A thorough passivity-based stability analysis is conducted to ensure stability, identifying potential instabilities arising from variations in stiffness and force regulations. Additionally, we integrate virtual energy tanks into the control system to provide stability guarantees, particularly in the face of dynamic changes.

II-A Control Design

For an n-DOF robot manipulator under unified force-impedance control during contact with gravity compensation, the Lagrangian dynamics is

𝑴(𝒒)𝒒¨+𝑪(𝒒,𝒒˙)𝒒˙+𝒈(𝒒)𝑴𝒒¨𝒒𝑪𝒒˙𝒒˙𝒒𝒈𝒒\displaystyle\bm{M}(\bm{q})\ddot{\bm{q}}+\bm{C}(\bm{q},\dot{\bm{q}})\dot{\bm{q% }}+\bm{g}(\bm{q})bold_italic_M ( bold_italic_q ) over¨ start_ARG bold_italic_q end_ARG + bold_italic_C ( bold_italic_q , over˙ start_ARG bold_italic_q end_ARG ) over˙ start_ARG bold_italic_q end_ARG + bold_italic_g ( bold_italic_q ) =𝝉c+𝝉ext,absentsubscript𝝉csubscript𝝉ext\displaystyle=\bm{\tau}_{\mathrm{c}}+\bm{\tau}_{\mathrm{ext}}\,,= bold_italic_τ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT + bold_italic_τ start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT , (1)
𝝉csubscript𝝉c\displaystyle\bm{\tau}_{\mathrm{c}}bold_italic_τ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT =𝝉i+𝝉f+𝝉g,absentsubscript𝝉isubscript𝝉fsubscript𝝉g\displaystyle=\bm{\tau}_{\mathrm{i}}+\bm{\tau}_{\mathrm{f}}+\bm{\tau}_{\mathrm% {g}}\,,= bold_italic_τ start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT + bold_italic_τ start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT + bold_italic_τ start_POSTSUBSCRIPT roman_g end_POSTSUBSCRIPT , (2)

where 𝝉extnsubscript𝝉extsuperscript𝑛\bm{\tau}_{\mathrm{ext}}\in\mathbb{R}^{n}bold_italic_τ start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT represents the external torque exerted on the robot, while 𝑴(𝒒)n×n𝑴𝒒superscriptnn\bm{M}(\bm{q})\in\mathbb{R}^{\mathrm{n\times n}}bold_italic_M ( bold_italic_q ) ∈ blackboard_R start_POSTSUPERSCRIPT roman_n × roman_n end_POSTSUPERSCRIPT denotes the robot mass matrix, 𝑪(𝒒,𝒒˙)𝒒˙n𝑪𝒒˙𝒒˙𝒒superscriptn\bm{C}(\bm{q},\dot{\bm{q}})\dot{\bm{q}}\in\mathbb{R}^{\mathrm{n}}bold_italic_C ( bold_italic_q , over˙ start_ARG bold_italic_q end_ARG ) over˙ start_ARG bold_italic_q end_ARG ∈ blackboard_R start_POSTSUPERSCRIPT roman_n end_POSTSUPERSCRIPT signifies the Coriolis and centrifugal vector, and 𝒈n𝒈superscriptn\bm{g}\in\mathbb{R}^{\mathrm{n}}bold_italic_g ∈ blackboard_R start_POSTSUPERSCRIPT roman_n end_POSTSUPERSCRIPT stands for the gravity vector in joint space. Additionally, 𝝉cnsubscript𝝉csuperscriptn\bm{\tau}_{\mathrm{c}}\in\mathbb{R}^{\mathrm{n}}bold_italic_τ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT roman_n end_POSTSUPERSCRIPT represents the control torque applied by the robot, which encompasses the torque command for controlling motion and force explicitly and separately, with 𝝉gnsubscript𝝉gsuperscriptn\bm{\tau}_{\mathrm{g}}\in\mathbb{R}^{\mathrm{n}}bold_italic_τ start_POSTSUBSCRIPT roman_g end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT roman_n end_POSTSUPERSCRIPT representing gravity compensation. Moreover, 𝝉isubscript𝝉i\bm{\tau}_{\mathrm{i}}bold_italic_τ start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT and 𝝉fnsubscript𝝉fsuperscriptn\bm{\tau}_{\mathrm{f}}\in\mathbb{R}^{\mathrm{n}}bold_italic_τ start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT roman_n end_POSTSUPERSCRIPT denote torques individually introduced by impedance and force control, respectively. Subsequently, we develop a control algorithm for the input torque 𝝉csubscript𝝉c\bm{\tau}_{\mathrm{c}}bold_italic_τ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT to execute the desired tactile manipulation skill. This proposed control law for adaptive tactile skills extends from unified force-impedance control [23, 5]. Unified force-impedance control governs the robot’s response to external forces, ensuring compliance while following motion and force profiles separately and explicitly. Starting with the robot’s dynamics equation in Cartesian space

𝑴C𝒙¨+𝑪C𝒙˙+𝒈Csubscript𝑴C¨𝒙subscript𝑪C˙𝒙subscript𝒈C\displaystyle\bm{M}_{\mathrm{C}}\ddot{\bm{x}}+\bm{C}_{\mathrm{C}}\dot{\bm{x}}+% \bm{g}_{\mathrm{C}}bold_italic_M start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over¨ start_ARG bold_italic_x end_ARG + bold_italic_C start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG + bold_italic_g start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT =𝒇c+𝒇ext,absentsubscript𝒇csubscript𝒇ext\displaystyle=\bm{f}_{\mathrm{c}}+\bm{f}_{\mathrm{ext}}\,,= bold_italic_f start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT + bold_italic_f start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT , (3)

where

𝑴Csubscript𝑴C\displaystyle\bm{M}_{\mathrm{C}}bold_italic_M start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT =𝑱#T𝑴𝑱#,absentsuperscript𝑱#T𝑴superscript𝑱#\displaystyle=\bm{J}^{\mathrm{\#T}}\bm{M}\bm{J}^{\mathrm{\#}}\,,= bold_italic_J start_POSTSUPERSCRIPT # roman_T end_POSTSUPERSCRIPT bold_italic_M bold_italic_J start_POSTSUPERSCRIPT # end_POSTSUPERSCRIPT , (4)
𝑪Csubscript𝑪C\displaystyle\bm{C}_{\mathrm{C}}bold_italic_C start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT =𝑱#T𝑪𝑱#,absentsuperscript𝑱#T𝑪superscript𝑱#\displaystyle=\bm{J}^{\mathrm{\#T}}\bm{C}\bm{J}^{\mathrm{\#}}\,,= bold_italic_J start_POSTSUPERSCRIPT # roman_T end_POSTSUPERSCRIPT bold_italic_C bold_italic_J start_POSTSUPERSCRIPT # end_POSTSUPERSCRIPT , (5)
𝒈Csubscript𝒈C\displaystyle\bm{g}_{\mathrm{\mathrm{C}}}bold_italic_g start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT =𝑱#T𝒈.absentsuperscript𝑱#T𝒈\displaystyle=\bm{J}^{\mathrm{\#T}}\bm{g}\,.= bold_italic_J start_POSTSUPERSCRIPT # roman_T end_POSTSUPERSCRIPT bold_italic_g . (6)

The external wrench to the base frame is denoted as 𝒇ext6subscript𝒇extsuperscript6\bm{f}_{\mathrm{ext}}\in\mathbb{R}^{6}bold_italic_f start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT. The robot mass matrix is represented as 𝑴C(𝒒)subscript𝑴C𝒒\bm{M}_{\mathrm{C}}(\bm{q})bold_italic_M start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT ( bold_italic_q ), where 𝒒𝒒\bm{q}bold_italic_q is the joint configuration. The Coriolis and centrifugal effects are captured by 𝑪C(𝒒,𝒒˙)6×6subscript𝑪C𝒒˙𝒒superscript66\bm{C}_{\mathrm{C}}(\bm{q},\dot{\bm{q}})\in\mathbb{R}^{\mathrm{6\times 6}}bold_italic_C start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT ( bold_italic_q , over˙ start_ARG bold_italic_q end_ARG ) ∈ blackboard_R start_POSTSUPERSCRIPT 6 × 6 end_POSTSUPERSCRIPT, and 𝒈Csubscript𝒈C\bm{g}_{\mathrm{C}}bold_italic_g start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT denotes the gravity vector in Cartesian space. Additionally, 𝒇csubscript𝒇c\bm{f}_{\mathrm{c}}bold_italic_f start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT represents the wrench applied by the robot, which is related to the joint control torque 𝝉cnsubscript𝝉csuperscriptn\bm{\tau}_{\mathrm{c}}\in\mathbb{R}^{\mathrm{n}}bold_italic_τ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT roman_n end_POSTSUPERSCRIPT through the relationship 𝝉c=𝑱T(𝒒)𝒇csubscript𝝉csuperscript𝑱T𝒒subscript𝒇c\bm{\tau}_{\mathrm{c}}=\bm{J}^{\mathrm{T}}(\bm{q})\bm{f}_{\mathrm{c}}bold_italic_τ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT = bold_italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ( bold_italic_q ) bold_italic_f start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT, where 𝑱6×n𝑱superscript6n\bm{J}\in\mathbb{R}^{\mathrm{6\times n}}bold_italic_J ∈ blackboard_R start_POSTSUPERSCRIPT 6 × roman_n end_POSTSUPERSCRIPT is the robot Jacobian matrix, and 𝑱#superscript𝑱#\bm{J}^{\#}bold_italic_J start_POSTSUPERSCRIPT # end_POSTSUPERSCRIPT is the pseudo-inverse of the Jacobian. Compliance control, a subset of impedance control, omits inertia shaping and consequently excludes feedback of external forces. The compliance behavior is characterized by a time-varying stiffness matrix 𝑲C(t)6×6subscript𝑲C𝑡superscript66\bm{K}_{\mathrm{C}}(t)\in\mathbb{R}^{\mathrm{6\times 6}}bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT ( italic_t ) ∈ blackboard_R start_POSTSUPERSCRIPT 6 × 6 end_POSTSUPERSCRIPT and damping behavior determined by a positive definite matrix 𝑫C6×6subscript𝑫Csuperscript66\bm{D}_{\mathrm{C}}\in\mathbb{R}^{\mathrm{6\times 6}}bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 × 6 end_POSTSUPERSCRIPT. Moreover, 𝒙6𝒙superscript6\bm{x}\in\mathbb{R}^{6}bold_italic_x ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT denotes the current pose of the end-effector in the base frame, and the pose error is denoted by 𝒙~~𝒙\tilde{\bm{x}}over~ start_ARG bold_italic_x end_ARG. A conventional compliance controller for motion tracking can be formulated as

𝒙~~𝒙\displaystyle\tilde{\bm{x}}over~ start_ARG bold_italic_x end_ARG =𝒙𝒙d,absent𝒙subscript𝒙d\displaystyle=\bm{x}-\bm{x}_{\mathrm{d}}\,,= bold_italic_x - bold_italic_x start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT , (7)
𝒇isubscript𝒇i\displaystyle\bm{f}_{\mathrm{i}}bold_italic_f start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT =𝑲C(t)𝒙~𝑫C𝒙˙,absentsubscript𝑲C𝑡~𝒙subscript𝑫C˙𝒙\displaystyle=-\bm{K}_{\mathrm{C}}(t)\tilde{\bm{x}}-\bm{D}_{\mathrm{C}}\dot{% \bm{x}}\,,= - bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT ( italic_t ) over~ start_ARG bold_italic_x end_ARG - bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG , (8)
𝝉isubscript𝝉i\displaystyle\bm{\tau}_{\mathrm{i}}bold_italic_τ start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT =𝑱T𝒇i.absentsuperscript𝑱𝑇subscript𝒇i\displaystyle=\bm{J}^{T}\bm{f}_{\mathrm{i}}\,.= bold_italic_J start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT . (9)

The force control is established to maintain the target contact force in the task space 𝒇dee6subscriptsuperscript𝒇eedsuperscript6\bm{f}^{\mathrm{ee}}_{\mathrm{d}}\in\mathbb{R}^{6}bold_italic_f start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT, exerted by the robot concerning the external force 𝒇extee6subscriptsuperscript𝒇eeextsuperscript6\bm{f}^{\mathrm{ee}}_{\mathrm{\mathrm{ext}}}\in\mathbb{R}^{6}bold_italic_f start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT, as follows:

𝝉fsubscript𝝉f\displaystyle\bm{\tau}_{\mathrm{f}}bold_italic_τ start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT =𝑱(𝒒)T𝒇f,absent𝑱superscript𝒒Tsubscript𝒇f\displaystyle=\bm{J}(\bm{q})^{\mathrm{T}}\bm{f}_{\mathrm{f}},= bold_italic_J ( bold_italic_q ) start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT , (10)
𝒇fsubscript𝒇f\displaystyle\bm{f}_{\mathrm{f}}bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT =[[𝑹ee0]3×3𝟎3×3𝟎3×3[𝑹ee0]3×3](𝒇dee+𝑲p𝒇~extee+\displaystyle=\begin{bmatrix}[\bm{R}_{\mathrm{ee}}^{\mathrm{0}}]_{\mathrm{3% \times 3}}&\bm{0}_{\mathrm{3\times 3}}\\ \bm{0}_{\mathrm{3\times 3}}&[\bm{R}_{\mathrm{ee}}^{\mathrm{0}}]_{\mathrm{3% \times 3}}\end{bmatrix}(\bm{f}_{\mathrm{d}}^{\mathrm{ee}}+\bm{K}_{p}\ \tilde{% \bm{f}}_{\mathrm{ext}}^{\mathrm{ee}}+= [ start_ARG start_ROW start_CELL [ bold_italic_R start_POSTSUBSCRIPT roman_ee end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ] start_POSTSUBSCRIPT 3 × 3 end_POSTSUBSCRIPT end_CELL start_CELL bold_0 start_POSTSUBSCRIPT 3 × 3 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL bold_0 start_POSTSUBSCRIPT 3 × 3 end_POSTSUBSCRIPT end_CELL start_CELL [ bold_italic_R start_POSTSUBSCRIPT roman_ee end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ] start_POSTSUBSCRIPT 3 × 3 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] ( bold_italic_f start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT + bold_italic_K start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT over~ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT +
𝑲i0t𝒇~exteedσ),\displaystyle\bm{K}_{\mathrm{i}}\int^{t}_{0}\tilde{\bm{f}}_{\mathrm{ext}}^{% \mathrm{ee}}\ d\sigma)\,,bold_italic_K start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT ∫ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT over~ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT italic_d italic_σ ) , (11)
𝒇~exteesubscriptsuperscript~𝒇eeext\displaystyle\tilde{\bm{f}}^{\mathrm{ee}}_{\mathrm{ext}}over~ start_ARG bold_italic_f end_ARG start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT =𝒇extee𝒇dee,absentsubscriptsuperscript𝒇eeextsubscriptsuperscript𝒇eed\displaystyle=\bm{f}^{\mathrm{ee}}_{\mathrm{\mathrm{ext}}}-\bm{f}^{\mathrm{ee}% }_{\mathrm{d}}\,,= bold_italic_f start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT - bold_italic_f start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT , (12)

In this context, 𝒇fsubscript𝒇f\bm{f}_{\mathrm{f}}bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT 6absentsuperscript6\in\mathbb{R}^{6}∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT represents a feed-forward and feedback force controller in the base frame, which has been rotated by 𝑹ee0superscriptsubscript𝑹ee0\bm{R}_{\mathrm{ee}}^{\mathrm{0}}bold_italic_R start_POSTSUBSCRIPT roman_ee end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT. The proportional-integral (PI) controller gains are defined by the diagonal matrices 𝑲psubscript𝑲p\bm{K}_{\mathrm{p}}bold_italic_K start_POSTSUBSCRIPT roman_p end_POSTSUBSCRIPT and 𝑲isubscript𝑲iabsent\bm{K}_{\mathrm{i}}\inbold_italic_K start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT ∈ 6×6superscript66\mathbb{R}^{\mathrm{6\times 6}}blackboard_R start_POSTSUPERSCRIPT 6 × 6 end_POSTSUPERSCRIPT. The resultant control torque without the gravity compensation for unified force-impedance control 𝝉n𝝉superscript𝑛\bm{\tau}\in\mathbb{R}^{n}bold_italic_τ ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is

𝝉𝝉\displaystyle\bm{\tau}bold_italic_τ =𝝉f+𝝉i.absentsubscript𝝉fsubscript𝝉i\displaystyle=\bm{\tau}_{\mathrm{f}}+\bm{\tau}_{\mathrm{i}}\,.= bold_italic_τ start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT + bold_italic_τ start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT . (13)

Next, we introduce contact alignment monitoring based on visual and tactile data to explore unknown rigid 3D curvatures for an arbitrary force-motion policy in the end-effector frame. This rich sensory information is augmented to unified force-impedance control so that the control parameters, such as stiffness and contact force shaping function, are decided. Thus, the robot can maintain contact with the current surface geometry and orientation.

II-B Visuo-Tactile Exploration of Unknown Rigid 3D Curvatures by VA-UFIC

To guarantee a successful execution of the desired skill and to understand the environment comprehensively, we monitor the contact alignment that utilizes tactile and visual perception. Based on this rich sensory information, we enable the robot to adjust posture, stiffness, motion, and force policy for local fault recovery during interactions with challenging surfaces at the low-level control.

The visual perception algorithm operates through two concurrent threads: (i) data collection and pre-processing and (ii) surface normal estimation. Initially, depth images are transformed into point clouds for use within the Point Cloud Library [24]. RGB and depth images are acquired from the video stream, precisely aligned, and converted into a 3D point cloud. Subsequently, a surface normal estimation method is applied based on the acquired point cloud data to predict contact surface orientation. Inspired by Westfechtel et al. [25], the region growing method clusters the surface normals within similar orientations to segment the point clouds. Principal Component Analysis (PCA) is then employed on the clustered segments to determine their orientation.

The eigenvectors of the covariance matrix 𝚺3×3=[𝒆1;𝒆2;𝒏sc]subscript𝚺33subscript𝒆1subscript𝒆2subscriptsuperscript𝒏cs\bm{\Sigma}_{\mathrm{3\times 3}}=[\bm{e}_{\mathrm{1}};\bm{e}_{\mathrm{2}};\bm{% n}^{\mathrm{c}}_{\mathrm{s}}]bold_Σ start_POSTSUBSCRIPT 3 × 3 end_POSTSUBSCRIPT = [ bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ; bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ; bold_italic_n start_POSTSUPERSCRIPT roman_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT ], representing the PCA output, characterize a segment’s primary directions. Here, 𝒏sc3×3subscriptsuperscript𝒏cssuperscript33\bm{n}^{\mathrm{c}}_{\mathrm{s}}\in\mathbb{R}^{3\times 3}bold_italic_n start_POSTSUPERSCRIPT roman_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT denotes the surface normal of the segment in the camera frame, which represents the direction of a surface segment, while 𝒆1𝒆1\bm{e}\mathrm{1}bold_italic_e 1 and 𝒆2subscript𝒆2\bm{e}_{\mathrm{2}}bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT represent the long and short edges, respectively. Furthermore, the local curvature lssubscript𝑙sl_{\mathrm{s}}italic_l start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT of the working surface can be computed using Equation (16), where λi,i=1,2,3formulae-sequencesubscript𝜆i𝑖123\lambda_{\mathrm{i}}\,,i=1,2,3italic_λ start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT , italic_i = 1 , 2 , 3 are the eigenvalues of the covariance matrix 𝚺𝚺\bm{\Sigma}bold_Σ obtained through PCA.

𝒏𝒏\displaystyle\bm{n}bold_italic_n =[0 0 1]T,absentsuperscriptdelimited-[]001T\displaystyle=[0\,0\,1]^{\mathrm{T}}\,,= [ 0 0 1 ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT , (14)
θ𝜃\displaystyle\mathrm{\theta}italic_θ =|cos1(𝒏scT𝒏)|,absentsuperscriptcos1subscriptsuperscript𝒏cTs𝒏\displaystyle=|\mathrm{cos}^{\mathrm{-1}}(\bm{n}^{\mathrm{c}\mathrm{T}}_{% \mathrm{s}}\bm{n})|\,,= | roman_cos start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( bold_italic_n start_POSTSUPERSCRIPT roman_cT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT bold_italic_n ) | , (15)
lssubscript𝑙s\displaystyle l_{\mathrm{s}}italic_l start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT =|λ3tr(𝚺)|.absentsubscript𝜆3𝑡𝑟𝚺\displaystyle=\bigg{|}\frac{\lambda_{3}}{tr(\bm{\Sigma})}\bigg{|}\,.= | divide start_ARG italic_λ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_ARG start_ARG italic_t italic_r ( bold_Σ ) end_ARG | . (16)

The end-effector orientation error θ𝜃\thetaitalic_θ, representing the deviation in surface normal between 𝒏scsubscriptsuperscript𝒏cs\bm{n}^{\mathrm{c}}_{\mathrm{s}}bold_italic_n start_POSTSUPERSCRIPT roman_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT captured by the camera and the z-axis of the camera (aligned with z-axis of the end-effector), can be determined using the acosacos\mathrm{acos}roman_acos function in (15). Undesired contacts lead to deviations from the desired pose, manifesting as either a pose error 𝒙~ee6superscript~𝒙eesuperscript6\tilde{\bm{x}}^{\mathrm{ee}}\in\mathbb{R}^{6}over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT or external forces 𝒇extee6subscriptsuperscript𝒇eeextsuperscript6\bm{f}^{\mathrm{ee}}_{\mathrm{ext}}\in\mathbb{R}^{\mathrm{6}}bold_italic_f start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT at the end-effector. In real-time, contact alignment monitoring accumulates all the error terms and their corresponding signal strengths as presented in (17). Simultaneously, the signal strengths for the tactile error, surface normal deviation, and local curvature term, denoted as α𝛼\mathrm{\alpha}italic_α, ξ𝜉\mathrm{\xi}italic_ξ, and γ𝛾\mathrm{\gamma}italic_γ respectively, contribute to the adaptive process and decide how agile the robot reacts to them. In (18), the contact alignment monitoring CC\mathrm{C}roman_C is employed to calculate a normalized coefficient hh\mathrm{h}roman_h.

CC\displaystyle\mathrm{C}roman_C =|α|𝒇exteeT𝒙~ee|+ξθ+γls|,absent𝛼subscriptsuperscript𝒇eeTextsuperscript~𝒙ee𝜉𝜃𝛾subscript𝑙s\displaystyle=|\alpha|\bm{f}^{\mathrm{ee}\mathrm{T}}_{\mathrm{ext}}\tilde{\bm{% x}}^{\mathrm{ee}}|+\xi\theta+\gamma{l}_{\mathrm{s}}|\,,= | italic_α | bold_italic_f start_POSTSUPERSCRIPT roman_eeT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT | + italic_ξ italic_θ + italic_γ italic_l start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT | , (17)
hh\displaystyle\mathrm{h}roman_h =1CCm.absent1CsubscriptCm\displaystyle=1-\frac{\mathrm{C}}{\mathrm{C}_{\mathrm{\mathrm{m}}}}\,.= 1 - divide start_ARG roman_C end_ARG start_ARG roman_C start_POSTSUBSCRIPT roman_m end_POSTSUBSCRIPT end_ARG . (18)

The contact alignment margin CmsubscriptCm\mathrm{C}_{\mathrm{m}}roman_C start_POSTSUBSCRIPT roman_m end_POSTSUBSCRIPT is crucial for compensating for minor environmental effects, such as surface friction and measurement inaccuracy, and, notably, employing position rather than velocity or acceleration results in a less noisy signal. The normalized metric hhitalic_h is subsequently linked to the maximum stiffness level at the end-effector frame 𝑲max,teesubscriptsuperscript𝑲eemaxt\bm{K}^{\mathrm{ee}}_{\mathrm{max,t}}bold_italic_K start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_max , roman_t end_POSTSUBSCRIPT through ρalignsubscript𝜌align\rho_{\mathrm{align}}italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT and it is rotated back to the base frame by the rotation matrix 𝑹ee0superscriptsubscript𝑹ee0\bm{R}_{\mathrm{ee}}^{\mathrm{0}}bold_italic_R start_POSTSUBSCRIPT roman_ee end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT. This inherent behavior is leveraged to robustly respond to undesired contacts and reconfigure the end-effector through adaptive adjustments to the stiffness matrix in the translational directions 𝑲C,tsubscript𝑲Ct\bm{K}_{\mathrm{C,t}}bold_italic_K start_POSTSUBSCRIPT roman_C , roman_t end_POSTSUBSCRIPT.

𝑲C,tsubscript𝑲Ct\displaystyle\bm{K}_{\mathrm{C,t}}bold_italic_K start_POSTSUBSCRIPT roman_C , roman_t end_POSTSUBSCRIPT =ρalign𝑹ee0𝑲max,tee𝑹ee0T.absentsubscript𝜌alignsuperscriptsubscript𝑹ee0subscriptsuperscript𝑲eemaxtsuperscriptsubscript𝑹ee0T\displaystyle=\rho_{\mathrm{align}}\bm{R}_{\mathrm{ee}}^{\mathrm{0}}\bm{K}^{% \mathrm{ee}}_{\mathrm{max,t}}\bm{R}_{\mathrm{ee}}^{\mathrm{0}\mathrm{T}}\,.= italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT bold_italic_R start_POSTSUBSCRIPT roman_ee end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT bold_italic_K start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_max , roman_t end_POSTSUBSCRIPT bold_italic_R start_POSTSUBSCRIPT roman_ee end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 roman_T end_POSTSUPERSCRIPT . (19)

The alignment parameter ρalignsubscript𝜌align\rho_{\mathrm{align}}italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT is extended based on studies [5, 26], as outlined in (20).

ρ˙alignsubscript˙𝜌align\displaystyle\dot{\rho}_{\mathrm{align}}over˙ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT ={min{ρ,0},ρalign=1ρ,0<ρalign<1,ρalign(0)=0,max{ρ,0},ρalign=0absentcases𝜌0subscript𝜌align1𝜌formulae-sequence0subscript𝜌align1subscript𝜌align00𝜌0subscript𝜌align0\displaystyle=\begin{cases}\min\{\rho,0\}\,,&\rho_{\mathrm{align}}=1\\ \rho\,,&0<\rho_{\mathrm{align}}<1,\,\,\rho_{\mathrm{align}}(0)=0,\\ \max\{\rho,0\}\,,&\rho_{\mathrm{align}}=0\end{cases}= { start_ROW start_CELL roman_min { italic_ρ , 0 } , end_CELL start_CELL italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT = 1 end_CELL end_ROW start_ROW start_CELL italic_ρ , end_CELL start_CELL 0 < italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT < 1 , italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT ( 0 ) = 0 , end_CELL end_ROW start_ROW start_CELL roman_max { italic_ρ , 0 } , end_CELL start_CELL italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT = 0 end_CELL end_ROW (20)

and ρ𝜌\rhoitalic_ρ is given by

ρ𝜌\displaystyle\rhoitalic_ρ =hρalign+ρmin.absenthsubscript𝜌alignsubscript𝜌min\displaystyle=\mathrm{h}\rho_{\mathrm{align}}+{\rho_{\mathrm{min}}}\,.= roman_h italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT + italic_ρ start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT . (21)

It’s important to note that, to ensure an initial increment when ρalign=0subscript𝜌align0\rho_{\mathrm{align}}=0italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT = 0, a small positive constant ρminsubscript𝜌min{\rho_{\mathrm{min}}}italic_ρ start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT is introduced into the dynamics of the shaping function. When the robot is entirely compliant, meaning ρalignsubscript𝜌align\rho_{\mathrm{align}}italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT equals zero, it becomes capable of adapting to the environment. This implies that the translational component of the actual end-effector pose 𝒙ee,t3subscript𝒙eetsuperscript3\bm{x}_{\mathrm{ee,t}}\in\mathbb{R}^{3}bold_italic_x start_POSTSUBSCRIPT roman_ee , roman_t end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT is fed back to the controller as the desired translational pose 𝒙d,tsubscript𝒙dt\bm{x}_{\mathrm{d,t}}bold_italic_x start_POSTSUBSCRIPT roman_d , roman_t end_POSTSUBSCRIPT. Subsequently, we calculate the rotation of the end-effector 𝑹ee,d03×3subscriptsuperscript𝑹0eedsuperscript33\bm{R}^{\mathrm{0}}_{\mathrm{ee,d}}\in\mathbb{R}^{3\times 3}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee , roman_d end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT to adapt to the environment.

Upon detecting a significant deviation from the intended contact alignment between the robotic tool and the surface, often resulting from abrupt changes in the contact, the robot becomes compliant in translational directions. Afterward, it realigns itself with the detected surface normal in the camera frame, denoted as 𝒏scsubscriptsuperscript𝒏𝑐s\bm{n}^{c}_{\mathrm{s}}bold_italic_n start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT, and regenerates the motion and force policy. This process necessitates the knowledge of the desired end-effector orientation 𝑹ee,d0subscriptsuperscript𝑹0eed\bm{R}^{\mathrm{0}}_{\mathrm{ee,d}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee , roman_d end_POSTSUBSCRIPT, which can be computed from the detected surface normal 𝒏scsubscriptsuperscript𝒏𝑐s\bm{n}^{c}_{\mathrm{s}}bold_italic_n start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT. The contact surface normal is initially transformed from the camera frame to the end-effector frame, then to the robot base frame using (22). 𝑹ceesubscriptsuperscript𝑹eec\bm{R}^{\mathrm{ee}}_{\mathrm{c}}bold_italic_R start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT represents the rotation matrix that transfers from the camera frame to the end-effector frame. Similarly, 𝑹c0subscriptsuperscript𝑹0c\bm{R}^{\mathrm{0}}_{\mathrm{c}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT denotes the rotation matrix that transfers from the camera frame to the robot base frame. Subsequently, the surface normal 𝒏s0subscriptsuperscript𝒏0s\bm{n}^{\mathrm{0}}_{\mathrm{s}}bold_italic_n start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT in the base frame contributes to the construction of the desired orientation matrix 𝑹ee,d0subscriptsuperscript𝑹0eed\bm{R}^{\mathrm{0}}_{\mathrm{ee,d}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee , roman_d end_POSTSUBSCRIPT through the following steps: i.) read the current orientation of the end-effector and extract the first column 𝒓xsubscript𝒓x\bm{r}_{\mathrm{x}}bold_italic_r start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT; ii.) project 𝒓xsubscript𝒓x\bm{r}_{\mathrm{x}}bold_italic_r start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT onto the orthogonal plane of the surface normal, as per (25); iii.) calculate the second column 𝒓ysubscript𝒓y\bm{r}_{\mathrm{y}}bold_italic_r start_POSTSUBSCRIPT roman_y end_POSTSUBSCRIPT through the cross product of the projected 𝒓xsubscriptsuperscript𝒓x\bm{r}^{\mathrm{{}^{\prime}}}_{\mathrm{x}}bold_italic_r start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ′ end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT and surface normal 𝒏s0subscriptsuperscript𝒏0s\bm{n}^{\mathrm{0}}_{\mathrm{s}}bold_italic_n start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT; iv.) assemble these three distinct components into the desired rotational matrix 𝑹ee,d0subscriptsuperscript𝑹0eed\bm{R}^{\mathrm{0}}_{\mathrm{ee,d}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee , roman_d end_POSTSUBSCRIPT.

𝑹c0subscriptsuperscript𝑹0c\displaystyle\bm{R}^{\mathrm{0}}_{\mathrm{c}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT =𝑹ee0𝑹cee,𝒏s0=𝑹c0𝒏sc,formulae-sequenceabsentsubscriptsuperscript𝑹0eesubscriptsuperscript𝑹eecsubscriptsuperscript𝒏0ssubscriptsuperscript𝑹0csubscriptsuperscript𝒏cs\displaystyle=\bm{R}^{\mathrm{0}}_{\mathrm{ee}}\bm{R}^{\mathrm{ee}}_{\mathrm{c% }}\,,\bm{n}^{\mathrm{0}}_{\mathrm{s}}=\bm{R}^{\mathrm{0}}_{\mathrm{c}}\bm{n}^{% \mathrm{c}}_{\mathrm{s}}\,,= bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee end_POSTSUBSCRIPT bold_italic_R start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT , bold_italic_n start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT = bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT bold_italic_n start_POSTSUPERSCRIPT roman_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT , (22)
𝑹ee0subscriptsuperscript𝑹0ee\displaystyle\bm{R}^{\mathrm{0}}_{\mathrm{ee}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee end_POSTSUBSCRIPT =[[𝒓x]3×1[𝒓y]3×1[𝒓z]3×1],absentmatrixsubscriptdelimited-[]subscript𝒓x31subscriptdelimited-[]subscript𝒓y31subscriptdelimited-[]subscript𝒓z31\displaystyle=\begin{bmatrix}[\bm{r}_{\mathrm{x}}]_{\mathrm{3\times 1}}&[\bm{r% }_{\mathrm{y}}]_{\mathrm{3\times 1}}&[\bm{r}_{\mathrm{z}}]_{\mathrm{3\times 1}% }\end{bmatrix}\,,= [ start_ARG start_ROW start_CELL [ bold_italic_r start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 3 × 1 end_POSTSUBSCRIPT end_CELL start_CELL [ bold_italic_r start_POSTSUBSCRIPT roman_y end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 3 × 1 end_POSTSUBSCRIPT end_CELL start_CELL [ bold_italic_r start_POSTSUBSCRIPT roman_z end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 3 × 1 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] , (23)
𝒓zsuperscriptsubscript𝒓z\displaystyle\bm{r}_{\mathrm{z}}^{\mathrm{\prime}}bold_italic_r start_POSTSUBSCRIPT roman_z end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT =𝒏s0,absentsubscriptsuperscript𝒏0s\displaystyle=\bm{n}^{\mathrm{0}}_{\mathrm{s}},= bold_italic_n start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT , (24)
𝒓xsubscriptsuperscript𝒓x\displaystyle\bm{r}^{\mathrm{{}^{\prime}}}_{\mathrm{x}}bold_italic_r start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ′ end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT =𝒓x(𝒓xT𝒏s0)𝒏s0,absentsubscript𝒓xsuperscriptsubscript𝒓xTsubscriptsuperscript𝒏0ssubscriptsuperscript𝒏0s\displaystyle=\bm{r}_{\mathrm{x}}-(\bm{r}_{\mathrm{x}}^{\mathrm{T}}\bm{n}^{% \mathrm{0}}_{\mathrm{s}})\bm{n}^{\mathrm{0}}_{\mathrm{s}}\,,= bold_italic_r start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT - ( bold_italic_r start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_n start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT ) bold_italic_n start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_s end_POSTSUBSCRIPT , (25)
𝒓ysubscriptsuperscript𝒓y\displaystyle\bm{r}^{\mathrm{{}^{\prime}}}_{\mathrm{y}}bold_italic_r start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ′ end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_y end_POSTSUBSCRIPT =𝒓z×𝒓x,absentsubscriptsuperscript𝒓zsubscriptsuperscript𝒓x\displaystyle=\bm{r}^{\mathrm{{}^{\prime}}}_{\mathrm{z}}\times\bm{r}^{\mathrm{% {}^{\prime}}}_{\mathrm{x}}\,,= bold_italic_r start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ′ end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_z end_POSTSUBSCRIPT × bold_italic_r start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ′ end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT , (26)
𝑹ee,d0subscriptsuperscript𝑹0eed\displaystyle\bm{R}^{\mathrm{0}}_{\mathrm{ee,d}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee , roman_d end_POSTSUBSCRIPT =[[𝒓x]3×1[𝒓y]3×1[𝒓z]3×1].absentmatrixsubscriptdelimited-[]subscriptsuperscript𝒓x31subscriptdelimited-[]subscriptsuperscript𝒓y31subscriptdelimited-[]subscriptsuperscript𝒓z31\displaystyle=\begin{bmatrix}[\bm{r}^{\mathrm{{}^{\prime}}}_{\mathrm{x}}]_{% \mathrm{3\times 1}}&[\bm{r}^{\mathrm{{}^{\prime}}}_{\mathrm{y}}]_{\mathrm{3% \times 1}}&[\bm{r}^{\mathrm{{}^{\prime}}}_{\mathrm{z}}]_{\mathrm{3\times 1}}% \end{bmatrix}\,.= [ start_ARG start_ROW start_CELL [ bold_italic_r start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ′ end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 3 × 1 end_POSTSUBSCRIPT end_CELL start_CELL [ bold_italic_r start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ′ end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_y end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 3 × 1 end_POSTSUBSCRIPT end_CELL start_CELL [ bold_italic_r start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ′ end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_z end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 3 × 1 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] . (27)

To ensure that the input signal provided to the robot is smooth and continuous, a low-pass filter is implemented, facilitating the gradual transition of the signal 𝑹input0subscriptsuperscript𝑹0input\bm{R}^{\mathrm{0}}_{\mathrm{\mathrm{input}}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_input end_POSTSUBSCRIPT from the initial rotation 𝑹init0subscriptsuperscript𝑹0init\bm{R}^{\mathrm{0}}_{\mathrm{init}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_init end_POSTSUBSCRIPT to the desired rotation 𝑹ee,d0subscriptsuperscript𝑹0eed\bm{R}^{\mathrm{0}}_{\mathrm{ee,d}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee , roman_d end_POSTSUBSCRIPT. The scaling coefficient ζ𝜁\zetaitalic_ζ falls within the range of 0 to 1, and T𝑇Titalic_T represents the time interval governing the convergence of the low-pass filter. Specifically, at t=0𝑡0t=0italic_t = 0, signifying the initiation of contact alignment, the output is the original rotation 𝑹init0subscriptsuperscript𝑹0init\bm{R}^{\mathrm{0}}_{\mathrm{init}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_init end_POSTSUBSCRIPT. Conversely, when t=T𝑡𝑇t=Titalic_t = italic_T, indicating the completion of convergence, the input rotation to the robot becomes 𝑹ee,d0subscriptsuperscript𝑹0eed\bm{R}^{\mathrm{0}}_{\mathrm{ee,d}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee , roman_d end_POSTSUBSCRIPT.

ζ𝜁\displaystyle\zetaitalic_ζ =tT,0tT,formulae-sequenceabsent𝑡𝑇0𝑡𝑇\displaystyle=\frac{t}{T}\,,0\leq t\leq T\,,= divide start_ARG italic_t end_ARG start_ARG italic_T end_ARG , 0 ≤ italic_t ≤ italic_T , (28)
𝑹input0subscriptsuperscript𝑹0input\displaystyle\bm{R}^{\mathrm{0}}_{\mathrm{input}}bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_input end_POSTSUBSCRIPT =(𝑹ee,d0𝑹init0T)ζ𝑹init0.absentsuperscriptsubscriptsuperscript𝑹0eedsubscriptsuperscript𝑹0Tinit𝜁subscriptsuperscript𝑹0init\displaystyle=(\bm{R}^{\mathrm{0}}_{\mathrm{ee,d}}\bm{R}^{\mathrm{0}\mathrm{T}% }_{\mathrm{init}})^{\mathrm{\zeta}}\bm{R}^{\mathrm{0}}_{\mathrm{init}}\,.= ( bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ee , roman_d end_POSTSUBSCRIPT bold_italic_R start_POSTSUPERSCRIPT 0 roman_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_init end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_ζ end_POSTSUPERSCRIPT bold_italic_R start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_init end_POSTSUBSCRIPT . (29)

Furthermore, we formulate the force shaping function ρfrcsubscript𝜌frc\rho_{\mathrm{frc}}italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT. This function facilitates the alignment of the commanded force to compensate for tool alignment errors and mitigate the undesired loss of contacts. The robot accommodates the tool alignment error 𝒇deeT𝒙~eesubscriptsuperscript𝒇eeTdsuperscript~𝒙ee\bm{f}^{\mathrm{ee}\mathrm{T}}_{\mathrm{d}}\tilde{\bm{x}}^{\mathrm{ee}}bold_italic_f start_POSTSUPERSCRIPT roman_eeT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT during contact loss within the error margin δc>0subscript𝛿c0\delta_{\mathrm{c}}>0italic_δ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT > 0. Additionally, in cases where the robot loses surface contact due to a substantial tool alignment error, it transitions to impedance control, adhering solely to the desired motion.

ρfrcsubscript𝜌frc\displaystyle\rho_{\mathrm{frc}}italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT ={1,𝒇deeT𝒙~ee00.5(1+cos((πx~zeeδc))),0<𝒇deeT𝒙~ee0<x~zeeδc0,otherwise.absentcases1subscriptsuperscript𝒇eeTdsuperscript~𝒙ee00.51𝜋subscriptsuperscript~𝑥eezsubscript𝛿c0limit-fromsubscriptsuperscript𝒇eeTdsuperscript~𝒙eeotherwise0subscriptsuperscript~𝑥eezsubscript𝛿c0otherwise\displaystyle=\begin{cases}1\,,&\bm{f}^{\mathrm{ee}\mathrm{T}}_{\mathrm{d}}% \tilde{\bm{x}}^{\mathrm{ee}}\leq 0\\ 0.5(1+\cos((\pi\frac{\tilde{x}^{\mathrm{ee}}_{\mathrm{z}}}{\delta_{\mathrm{c}}% })))\,,&0<\bm{f}^{\mathrm{ee}\mathrm{T}}_{\mathrm{d}}\tilde{\bm{x}}^{\mathrm{% ee}}\land\\ &0<\tilde{x}^{\mathrm{ee}}_{\mathrm{z}}\leq\delta_{\mathrm{c}}\\ 0\,,&\mathrm{otherwise}.\end{cases}= { start_ROW start_CELL 1 , end_CELL start_CELL bold_italic_f start_POSTSUPERSCRIPT roman_eeT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT ≤ 0 end_CELL end_ROW start_ROW start_CELL 0.5 ( 1 + roman_cos ( ( italic_π divide start_ARG over~ start_ARG italic_x end_ARG start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_z end_POSTSUBSCRIPT end_ARG start_ARG italic_δ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT end_ARG ) ) ) , end_CELL start_CELL 0 < bold_italic_f start_POSTSUPERSCRIPT roman_eeT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT ∧ end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL 0 < over~ start_ARG italic_x end_ARG start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_z end_POSTSUBSCRIPT ≤ italic_δ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL roman_otherwise . end_CELL end_ROW (30)
𝝉fsubscript𝝉f\displaystyle\bm{\tau}_{\mathrm{f}}bold_italic_τ start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT =ρfrc𝑱T𝒇f.absentsubscript𝜌frcsuperscript𝑱Tsubscript𝒇f\displaystyle=\rho_{\mathrm{frc}}\bm{J}^{\mathrm{T}}\bm{f}_{\mathrm{f}}\,.= italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT bold_italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT . (31)

Finally, after calculating the orientation matrix, the desired trajectory and force policy can be adapted accordingly in the base frame. However, stiffness variation in the impedance controller and, in case of loss of contact, the force controller may jeopardize the controller’s stability, resulting in unsafe behaviour [27]. To address it, the virtual energy tanks are used for variable stiffness and force regulation to ensure the system’s passivity and stability.

II-C Passivity-Based Stability Analysis and Installing Virtual Energy Tanks

Virtual energy tanks are integrated to guarantee stability by identifying potential instabilities arising from stiffness variations and force regulations to ensure stability even amidst dynamic changes [28, 29]. To show the passivity, the storage function Srsubscript𝑆rS_{\mathrm{r}}italic_S start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT for the Cartesian robot dynamics that represents the kinetic energy of the robot is

Srsubscript𝑆r\displaystyle S_{\mathrm{r}}italic_S start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT =12𝒙˙T𝑴C𝒙˙,absent12superscript˙𝒙𝑇subscript𝑴C˙𝒙\displaystyle=\frac{1}{2}\dot{\bm{x}}^{T}\bm{M}_{\mathrm{C}}\dot{\bm{x}}\,,= divide start_ARG 1 end_ARG start_ARG 2 end_ARG over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_M start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG , (32)

where the time derivative of the storage function S˙rsubscript˙𝑆r\dot{S}_{\mathrm{r}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT is

S˙rsubscript˙𝑆r\displaystyle\dot{S}_{\mathrm{r}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT =𝒙˙T(𝒇+𝒇ext)orS˙r=𝒒˙T(𝝉+𝝉ext),absentsuperscript˙𝒙𝑇𝒇subscript𝒇extorsubscript˙𝑆rsuperscript˙𝒒𝑇𝝉subscript𝝉ext\displaystyle=\dot{\bm{x}}^{T}(\bm{f}+\bm{f}_{\mathrm{ext}})\,\ \text{or}\ % \dot{S}_{\mathrm{r}}=\dot{\bm{q}}^{T}(\bm{\tau}+\bm{\tau}_{\mathrm{ext}})\,,= over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ( bold_italic_f + bold_italic_f start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT ) or over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT = over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ( bold_italic_τ + bold_italic_τ start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT ) , (33)

which we can say that it is passive for the pair (𝝉+𝝉ext,𝒒˙𝝉subscript𝝉ext˙𝒒\bm{\tau}+\bm{\tau}_{\mathrm{ext}},\dot{\bm{q}}bold_italic_τ + bold_italic_τ start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT , over˙ start_ARG bold_italic_q end_ARG). Identifying potential instabilities arising from stiffness variations and force regulations, we split the problem of analyzing the stability of robot dynamics into two cases: without contact (Case I) and during contact (Case II).

II-C1 Case I: Stability analysis without any contact

When there is no contact, the stiffness 𝑲Csubscript𝑲C\bm{K}_{\mathrm{C}}bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT remains constant. Thus, only the force controller may cause instability. The stability of the force controller can be assessed using the subsequent storage function Sfsubscript𝑆fS_{\mathrm{f}}italic_S start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT

Sfsubscript𝑆f\displaystyle S_{\mathrm{f}}italic_S start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT =12𝒙~T𝑲C𝒙~,absent12superscript~𝒙𝑇subscript𝑲C~𝒙\displaystyle=\frac{1}{2}\tilde{\bm{x}}^{T}\bm{K}_{\mathrm{C}}\tilde{\bm{x}}\,,= divide start_ARG 1 end_ARG start_ARG 2 end_ARG over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG , (34)
S˙fsubscript˙𝑆f\displaystyle\dot{S}_{\mathrm{f}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT =𝒙˙T𝑲C𝒙~,absentsuperscript˙𝒙𝑇subscript𝑲C~𝒙\displaystyle=\dot{\bm{x}}^{T}\bm{K}_{\mathrm{C}}\tilde{\bm{x}}\,,= over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG , (35)
=𝒙˙T(𝒇+𝒇f𝑫C𝒙˙).absentsuperscript˙𝒙𝑇𝒇subscript𝒇fsubscript𝑫C˙𝒙\displaystyle=\dot{\bm{x}}^{T}(-\bm{f}+\bm{f}_{\mathrm{f}}-\bm{D}_{\mathrm{C}}% \dot{\bm{x}})\,.= over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ( - bold_italic_f + bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT - bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG ) . (36)

Due to the pair of (𝒇f,𝒙˙subscript𝒇f˙𝒙\bm{f}_{\mathrm{f}},\dot{\bm{x}}bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT , over˙ start_ARG bold_italic_x end_ARG), the force controller should be modified to guarantee stability by augmenting a virtual energy tank such that

𝒇𝒇\displaystyle\bm{f}bold_italic_f =𝑫C𝒙˙𝑲C𝒙~+λ𝒇f+𝒇f,var.absentsubscript𝑫C˙𝒙subscript𝑲C~𝒙𝜆subscript𝒇fsubscript𝒇fvar\displaystyle=-\bm{D}_{\mathrm{C}}\dot{\bm{x}}-\bm{K}_{\mathrm{C}}\tilde{\bm{x% }}+\lambda\bm{f}_{\mathrm{f}}+\bm{f}_{\mathrm{f,var}}\,.= - bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG - bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG + italic_λ bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT + bold_italic_f start_POSTSUBSCRIPT roman_f , roman_var end_POSTSUBSCRIPT . (37)

To indicate if the force controller 𝒇fsubscript𝒇f\bm{f}_{\mathrm{f}}bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT is passive, λ𝜆\lambdaitalic_λ is used such that

λ𝜆\displaystyle\lambdaitalic_λ ={1,𝒙˙T𝒇f<0,0,elseabsentcases1superscript˙𝒙𝑇subscript𝒇f00𝑒𝑙𝑠𝑒\displaystyle=\begin{cases}1,&\dot{\bm{\bm{x}}}^{T}\bm{f}_{\mathrm{f}}<0\,,\\ 0,&else\end{cases}= { start_ROW start_CELL 1 , end_CELL start_CELL over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT < 0 , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL italic_e italic_l italic_s italic_e end_CELL end_ROW (38)

Moreover, 𝒇f,varsubscript𝒇fvar\bm{f}_{\mathrm{f,var}}bold_italic_f start_POSTSUBSCRIPT roman_f , roman_var end_POSTSUBSCRIPT is the modification in the controller regulated by the tank. Being the tank’s energy is St,fsubscript𝑆tfS_{\mathrm{t,f}}italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT, we design its dynamics x˙t,fsubscript˙𝑥tf\dot{x}_{\mathrm{t,f}}over˙ start_ARG italic_x end_ARG start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT as

x˙t,fsubscript˙𝑥tf\displaystyle\dot{x}_{\mathrm{t,f}}over˙ start_ARG italic_x end_ARG start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT =λβf𝒙˙T𝑫C𝒙˙𝒙˙T𝒇fxt,f+ut,f,absent𝜆subscript𝛽fsuperscript˙𝒙𝑇subscript𝑫C˙𝒙superscript˙𝒙𝑇subscript𝒇fsubscript𝑥tfsubscript𝑢tf\displaystyle=\lambda\beta_{\mathrm{f}}\frac{\dot{\bm{\bm{x}}}^{T}\bm{D}_{% \mathrm{C}}\dot{\bm{x}}-\dot{\bm{\bm{x}}}^{T}\bm{f}_{\mathrm{f}}}{x_{\mathrm{t% ,f}}}+u_{\mathrm{t,f}}\,,= italic_λ italic_β start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT divide start_ARG over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG - over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT end_ARG start_ARG italic_x start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT end_ARG + italic_u start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT , (39)
yt,fsubscript𝑦tf\displaystyle y_{\mathrm{t,f}}italic_y start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT =xt,f,absentsubscript𝑥tf\displaystyle=x_{\mathrm{t,f}}\,,= italic_x start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT , (40)
St,fsubscript𝑆tf\displaystyle S_{\mathrm{t,f}}italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT =12xt,f2,absent12subscriptsuperscript𝑥2tf\displaystyle=\frac{1}{2}x^{2}_{\mathrm{t,f}}\,,= divide start_ARG 1 end_ARG start_ARG 2 end_ARG italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT , (41)

where xt,fsubscript𝑥tfx_{\mathrm{t,f}}italic_x start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT, ut,fsubscript𝑢tfu_{\mathrm{t,f}}italic_u start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT, and yt,fsubscript𝑦tfy_{\mathrm{t,f}}italic_y start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT are the tank’s state, input, and out variable, respectively. The tank is interconnected to the controllers through the power-preserving Dirac structure

[𝒇f,varut,f]matrixsubscript𝒇fvarsubscript𝑢tf\displaystyle\begin{bmatrix}\bm{f}_{\mathrm{f,var}}\\ u_{\mathrm{t,f}}\end{bmatrix}[ start_ARG start_ROW start_CELL bold_italic_f start_POSTSUBSCRIPT roman_f , roman_var end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_u start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] =[0𝝎f𝝎fT0][𝒙˙yt,f],absentmatrix0subscript𝝎fsuperscriptsubscript𝝎f𝑇0matrix˙𝒙subscript𝑦tf\displaystyle=\begin{bmatrix}0&\bm{\omega}_{\mathrm{f}}\\ -\bm{\omega}_{\mathrm{f}}^{T}&0\end{bmatrix}\begin{bmatrix}\dot{\bm{x}}\\ y_{\mathrm{t,f}}\end{bmatrix}\,,= [ start_ARG start_ROW start_CELL 0 end_CELL start_CELL bold_italic_ω start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL - bold_italic_ω start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL 0 end_CELL end_ROW end_ARG ] [ start_ARG start_ROW start_CELL over˙ start_ARG bold_italic_x end_ARG end_CELL end_ROW start_ROW start_CELL italic_y start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] , (42)
𝝎fsubscript𝝎f\displaystyle\bm{\omega}_{\mathrm{f}}bold_italic_ω start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT =σ(St,f)(1λ)𝒇fyt,f.absent𝜎subscript𝑆tf1𝜆subscript𝒇fsubscript𝑦tf\displaystyle=\frac{\sigma(S_{\mathrm{t,f}})(1-\lambda)\bm{f}_{\mathrm{f}}}{y_% {\mathrm{t,f}}}\,.= divide start_ARG italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT ) ( 1 - italic_λ ) bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT end_ARG start_ARG italic_y start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT end_ARG . (43)

The design parameter 𝝎fsubscript𝝎f\bm{\omega}_{\mathrm{f}}bold_italic_ω start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT is a modulating factor that controls the power transmission between the tank and the controller with the valve σ(St,f)𝜎subscript𝑆tf\sigma(S_{\mathrm{t,f}})italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT ) is

σ(St,f)𝜎subscript𝑆tf\displaystyle\sigma(S_{\mathrm{t,f}})italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT ) ={σ(St,f)(0,1],St,f>S¯t,f,0,elseabsentcases𝜎subscript𝑆tf01subscript𝑆tfsubscript¯𝑆tf0𝑒𝑙𝑠𝑒\displaystyle=\begin{cases}\sigma(S_{\mathrm{t,f}})\in(0,1],&S_{\mathrm{t,f}}>% \underline{S}_{\mathrm{t,f}}\,,\\ 0,&else\end{cases}= { start_ROW start_CELL italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT ) ∈ ( 0 , 1 ] , end_CELL start_CELL italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT > under¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL italic_e italic_l italic_s italic_e end_CELL end_ROW (44)

The controller can regulate force if the tank is not depleted. Note that, to avoid singularities, we set a lower limit S¯t,fsubscript¯𝑆tf\underline{S}_{\mathrm{t,f}}under¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT for the energy threshold in the tank. Additionally, to ensure the tank is not overloaded, a specific upper-limit S¯t,fsubscript¯𝑆tf\overline{S}_{\mathrm{t,f}}over¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT for the tank is introduced:

βfsubscript𝛽f\displaystyle\beta_{\mathrm{f}}italic_β start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT ={κf[0,1],St,f<S¯t,f,0,elseabsentcasessubscript𝜅f01subscript𝑆tfsubscript¯𝑆tf0𝑒𝑙𝑠𝑒\displaystyle=\begin{cases}\kappa_{\mathrm{f}}\in[0,1],&S_{\mathrm{t,f}}<% \overline{S}_{\mathrm{t,f}}\,,\\ 0,&else\end{cases}= { start_ROW start_CELL italic_κ start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT ∈ [ 0 , 1 ] , end_CELL start_CELL italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT < over¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL italic_e italic_l italic_s italic_e end_CELL end_ROW (45)

where a smooth transition behavior κfsubscript𝜅f\kappa_{\mathrm{f}}italic_κ start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT is embedded. Using 𝒇f,var=𝝎fyt,fsubscript𝒇fvarsubscript𝝎fsubscript𝑦tf\bm{f}_{\mathrm{f,var}}=\bm{\omega}_{\mathrm{f}}y_{\mathrm{t,f}}bold_italic_f start_POSTSUBSCRIPT roman_f , roman_var end_POSTSUBSCRIPT = bold_italic_ω start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT, the passivity of the subsystem Scsubscript𝑆cS_{\mathrm{c}}italic_S start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT involving the tank and the controller with the combined storage function Soverallsubscript𝑆overallS_{\mathrm{overall}}italic_S start_POSTSUBSCRIPT roman_overall end_POSTSUBSCRIPT

Soverallsubscript𝑆overall\displaystyle S_{\mathrm{overall}}italic_S start_POSTSUBSCRIPT roman_overall end_POSTSUBSCRIPT =Sc+Sr,Sc=Sf+St,f,formulae-sequenceabsentsubscript𝑆csubscript𝑆rsubscript𝑆csubscript𝑆fsubscript𝑆tf\displaystyle=S_{\mathrm{c}}+S_{\mathrm{r}}\,,\ S_{\mathrm{c}}=S_{\mathrm{f}}+% S_{\mathrm{t,f}}\,,= italic_S start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT + italic_S start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT = italic_S start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT + italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT , (46)
S˙overallsubscript˙𝑆overall\displaystyle\dot{S}_{\mathrm{overall}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_overall end_POSTSUBSCRIPT =S˙c+S˙r,absentsubscript˙𝑆csubscript˙𝑆r\displaystyle=\dot{S}_{\mathrm{c}}+\dot{S}_{\mathrm{r}}\,,= over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT + over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT , (47)
=𝒙˙T𝒇+λ(1βf)𝒙˙T𝒇fabsentsuperscript˙𝒙𝑇𝒇limit-from𝜆1subscript𝛽fsuperscript˙𝒙𝑇subscript𝒇f\displaystyle=-\dot{\bm{x}}^{T}\bm{f}+\lambda(1-\beta_{\mathrm{f}})\dot{\bm{x}% }^{T}\bm{f}_{\mathrm{f}}-= - over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_f + italic_λ ( 1 - italic_β start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT ) over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT -
(1λβf)𝒙˙T𝑫C𝒙˙+𝒙˙T(𝒇+𝒇ext),1𝜆subscript𝛽fsuperscript˙𝒙𝑇subscript𝑫C˙𝒙superscript˙𝒙𝑇𝒇subscript𝒇ext\displaystyle(1-\lambda\beta_{\mathrm{f}})\dot{\bm{x}}^{T}\bm{D}_{\mathrm{C}}% \dot{\bm{x}}+\dot{\bm{x}}^{T}(\bm{f}+\bm{f}_{\mathrm{ext}})\,,( 1 - italic_λ italic_β start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT ) over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG + over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ( bold_italic_f + bold_italic_f start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT ) , (48)
=𝒒˙T𝝉ext(1λβf)𝒒˙T𝑱T𝑫C𝒙˙+absentsuperscript˙𝒒𝑇subscript𝝉extlimit-from1𝜆subscript𝛽fsuperscript˙𝒒𝑇superscript𝑱𝑇subscript𝑫C˙𝒙\displaystyle=\dot{\bm{q}}^{T}\bm{\tau}_{\mathrm{ext}}-(1-\lambda\beta_{% \mathrm{f}})\dot{\bm{\bm{q}}}^{T}\bm{J}^{T}\bm{D}_{\mathrm{C}}\dot{\bm{x}}+= over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_τ start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT - ( 1 - italic_λ italic_β start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT ) over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_J start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG + (49)
λ(1βf)𝒒˙T𝝉f.𝜆1subscript𝛽fsuperscript˙𝒒𝑇subscript𝝉f\displaystyle\lambda(1-\beta_{\mathrm{f}})\dot{\bm{q}}^{T}\bm{\tau}_{\mathrm{f% }}\,.italic_λ ( 1 - italic_β start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT ) over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_τ start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT . (50)

The modified unified force-impedance control ensures stability in case of loss of contact:

𝒇𝒇\displaystyle\bm{f}bold_italic_f =𝑫C𝒙˙𝑲C𝒙~+ρfrc(λ+σ(St,f)(1λ))𝒇f.absentsubscript𝑫C˙𝒙subscript𝑲C~𝒙subscript𝜌frc𝜆𝜎subscript𝑆tf1𝜆subscript𝒇f\displaystyle=-\bm{D}_{\mathrm{C}}\dot{\bm{x}}-\bm{K}_{\mathrm{C}}\tilde{\bm{x% }}+\rho_{\mathrm{frc}}(\lambda+\sigma(S_{\mathrm{t,f}})(1-\lambda))\bm{f}_{% \mathrm{f}}\,.= - bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG - bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG + italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT ( italic_λ + italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT ) ( 1 - italic_λ ) ) bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT . (51)

II-C2 Case II: Stability analysis during contact

Contact means that while the robot can move in k-dimensions, the motion is constrained in the rest 6k6𝑘6-k6 - italic_k dimensions. Thus, the force controller during contact does not jeopardize stability, as the components of 𝒙˙˙𝒙\dot{\bm{x}}over˙ start_ARG bold_italic_x end_ARG in the force control direction is zero 𝒙˙T𝒇f=0superscript˙𝒙𝑇subscript𝒇f0\dot{\bm{x}}^{T}\bm{f}_{\mathrm{f}}=0over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT = 0. However, stiffness variation in the impedance controller during contact may cause instability. Next, we present the stability analysis and the virtual energy tank for the impedance controller. To assess the passivity of this controller, we examine the storage function, which is regarded as the corresponding spring potential Sisubscript𝑆iS_{\mathrm{i}}italic_S start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT

Sisubscript𝑆i\displaystyle S_{\mathrm{i}}italic_S start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT =12𝒙~T𝑲C𝒙~,absent12superscript~𝒙𝑇subscript𝑲C~𝒙\displaystyle=\frac{1}{2}\tilde{\bm{x}}^{T}\bm{K}_{\mathrm{C}}\tilde{\bm{x}}\,,= divide start_ARG 1 end_ARG start_ARG 2 end_ARG over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG , (52)
S˙isubscript˙𝑆i\displaystyle\dot{S}_{\mathrm{i}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT =𝒙˙T𝑲C𝒙~+12𝒙~T𝑲C˙𝒙~,absentsuperscript˙𝒙𝑇subscript𝑲C~𝒙12superscript~𝒙𝑇˙subscript𝑲C~𝒙\displaystyle=\dot{\bm{x}}^{T}\bm{K}_{\mathrm{C}}\tilde{\bm{x}}+\frac{1}{2}% \tilde{\bm{x}}^{T}\dot{\bm{K}_{\mathrm{C}}}\tilde{\bm{x}}\,,= over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG + divide start_ARG 1 end_ARG start_ARG 2 end_ARG over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over˙ start_ARG bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT end_ARG over~ start_ARG bold_italic_x end_ARG , (53)
=𝒙˙T𝒇i𝒙˙T𝑫C𝒙˙+12𝒙~T𝑲C˙𝒙~.absentsuperscript˙𝒙𝑇subscript𝒇isuperscript˙𝒙𝑇subscript𝑫C˙𝒙12superscript~𝒙𝑇˙subscript𝑲C~𝒙\displaystyle=-\dot{\bm{x}}^{T}\bm{f}_{\mathrm{i}}-\dot{\bm{\bm{x}}}^{T}\bm{D}% _{\mathrm{C}}\dot{\bm{x}}+\frac{1}{2}\tilde{\bm{x}}^{T}\dot{\bm{K}_{\mathrm{C}% }}\tilde{\bm{x}}\,.= - over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT - over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG + divide start_ARG 1 end_ARG start_ARG 2 end_ARG over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over˙ start_ARG bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT end_ARG over~ start_ARG bold_italic_x end_ARG . (54)

Passivity with respect to the pair (𝒇i,𝒙˙)subscript𝒇i˙𝒙(\bm{f}_{\mathrm{i}},\dot{\bm{x}})( bold_italic_f start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT , over˙ start_ARG bold_italic_x end_ARG ) cannot be guaranteed due to the term of 12𝒙~T𝑲˙𝒙~12superscript~𝒙𝑇˙𝑲~𝒙\frac{1}{2}\tilde{\bm{x}}^{T}\dot{\bm{K}}\tilde{\bm{x}}divide start_ARG 1 end_ARG start_ARG 2 end_ARG over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over˙ start_ARG bold_italic_K end_ARG over~ start_ARG bold_italic_x end_ARG. Therefore, we modify the impedance controller 𝒇isubscript𝒇i\bm{f}_{\mathrm{i}}bold_italic_f start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT by adding a control term 𝒇i,varsubscript𝒇ivar\bm{f}_{\mathrm{i,var}}bold_italic_f start_POSTSUBSCRIPT roman_i , roman_var end_POSTSUBSCRIPT regulated by the energy tank

𝒇isubscript𝒇i\displaystyle\bm{f}_{\mathrm{i}}bold_italic_f start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT =𝑲const𝒙~𝑫C𝒙˙+𝒇i,var,absentsubscript𝑲const~𝒙subscript𝑫C˙𝒙subscript𝒇ivar\displaystyle=-\bm{K}_{\mathrm{const}}\tilde{\bm{x}}-\bm{D}_{\mathrm{C}}\dot{% \bm{x}}+\bm{f}_{\mathrm{i,var}}\,,= - bold_italic_K start_POSTSUBSCRIPT roman_const end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG - bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG + bold_italic_f start_POSTSUBSCRIPT roman_i , roman_var end_POSTSUBSCRIPT , (55)
𝑲Csubscript𝑲C\displaystyle\bm{K}_{\mathrm{C}}bold_italic_K start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT =𝑲const+𝑲var(t),absentsubscript𝑲constsubscript𝑲var𝑡\displaystyle=\bm{K}_{\mathrm{const}}+\bm{K}_{\mathrm{var}}(t)\,,= bold_italic_K start_POSTSUBSCRIPT roman_const end_POSTSUBSCRIPT + bold_italic_K start_POSTSUBSCRIPT roman_var end_POSTSUBSCRIPT ( italic_t ) , (56)

where the stiffness matrix has constant 𝑲constsubscript𝑲const\bm{K}_{\mathrm{const}}bold_italic_K start_POSTSUBSCRIPT roman_const end_POSTSUBSCRIPT, which can also be zero, and time-varying parts 𝑲var(t)=ρalign𝑲maxsubscript𝑲var𝑡subscript𝜌alignsubscript𝑲max\bm{K}_{\mathrm{var}}(t)=\rho_{\mathrm{align}}\bm{K}_{\mathrm{max}}bold_italic_K start_POSTSUBSCRIPT roman_var end_POSTSUBSCRIPT ( italic_t ) = italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT bold_italic_K start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT. Energy tank state xt,isubscript𝑥tix_{\mathrm{t,i}}italic_x start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT, its dynamics x˙t,isubscript˙𝑥ti\dot{x}_{\mathrm{t,i}}over˙ start_ARG italic_x end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT, and the tank energy St,isubscript𝑆tiS_{\mathrm{t,i}}italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT are

x˙t,isubscript˙𝑥ti\displaystyle\dot{x}_{\mathrm{t,i}}over˙ start_ARG italic_x end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT =βi𝒙˙T𝑫𝒙˙xt,i+ut,i,absentsubscript𝛽isuperscript˙𝒙𝑇𝑫˙𝒙subscript𝑥tisubscript𝑢ti\displaystyle=\beta_{\mathrm{i}}\frac{\dot{\bm{\bm{x}}}^{T}\bm{D}\dot{\bm{x}}}% {x_{\mathrm{t,i}}}+u_{\mathrm{t,i}}\,,= italic_β start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT divide start_ARG over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D over˙ start_ARG bold_italic_x end_ARG end_ARG start_ARG italic_x start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT end_ARG + italic_u start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT , (57)
yt,isubscript𝑦ti\displaystyle y_{\mathrm{t,i}}italic_y start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT =xt,i,absentsubscript𝑥ti\displaystyle=x_{\mathrm{t,i}}\,,= italic_x start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT , (58)
St,isubscript𝑆ti\displaystyle S_{\mathrm{t,i}}italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT =12xt,i2,absent12subscriptsuperscript𝑥2ti\displaystyle=\frac{1}{2}x^{2}_{\mathrm{t,i}}\,,= divide start_ARG 1 end_ARG start_ARG 2 end_ARG italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT , (59)

where ut,isubscript𝑢tiu_{\mathrm{t,i}}italic_u start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT and yt,isubscript𝑦tiy_{\mathrm{t,i}}italic_y start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT are input and output variable, respectively. To ensure the tank is not overloaded, a specific upper-limit S¯t,isubscript¯𝑆ti\overline{S}_{\mathrm{t,i}}over¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT for the tank is introduced with a smooth transition behavior κisubscript𝜅i\kappa_{\mathrm{i}}italic_κ start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT

βisubscript𝛽i\displaystyle\beta_{\mathrm{i}}italic_β start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT ={κi[0,1],St,i<S¯t,i,0,elseabsentcasessubscript𝜅i01subscript𝑆tisubscript¯𝑆ti0𝑒𝑙𝑠𝑒\displaystyle=\begin{cases}\kappa_{\mathrm{i}}\in[0,1],&S_{\mathrm{t,i}}<% \overline{S}_{\mathrm{t,i}}\,,\\ 0,&else\end{cases}= { start_ROW start_CELL italic_κ start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT ∈ [ 0 , 1 ] , end_CELL start_CELL italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT < over¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL italic_e italic_l italic_s italic_e end_CELL end_ROW (60)

The Dirac structure for the ports implies the passivity of the system:

[𝒇i,varut,i]matrixsubscript𝒇ivarsubscript𝑢ti\displaystyle\begin{bmatrix}\bm{f}_{\mathrm{i,var}}\\ u_{\mathrm{t,i}}\end{bmatrix}[ start_ARG start_ROW start_CELL bold_italic_f start_POSTSUBSCRIPT roman_i , roman_var end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_u start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] =[0𝝎i𝝎iT0][𝒙˙yt,i],absentmatrix0subscript𝝎isuperscriptsubscript𝝎i𝑇0matrix˙𝒙subscript𝑦ti\displaystyle=\begin{bmatrix}0&\bm{\omega}_{\mathrm{i}}\\ -\bm{\omega}_{\mathrm{i}}^{T}&0\end{bmatrix}\begin{bmatrix}\dot{\bm{x}}\\ y_{\mathrm{t,i}}\end{bmatrix}\,,= [ start_ARG start_ROW start_CELL 0 end_CELL start_CELL bold_italic_ω start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL - bold_italic_ω start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL 0 end_CELL end_ROW end_ARG ] [ start_ARG start_ROW start_CELL over˙ start_ARG bold_italic_x end_ARG end_CELL end_ROW start_ROW start_CELL italic_y start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] , (61)
𝝎isubscript𝝎i\displaystyle\bm{\omega}_{\mathrm{i}}bold_italic_ω start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT =σ(St,i)𝑲var(t)𝒙~yt,i.absent𝜎subscript𝑆tisubscript𝑲var𝑡~𝒙subscript𝑦ti\displaystyle=-\frac{\sigma(S_{\mathrm{t,i}})\bm{K}_{\mathrm{var}}(t)\tilde{% \bm{x}}}{y_{\mathrm{t,i}}}\,.= - divide start_ARG italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT ) bold_italic_K start_POSTSUBSCRIPT roman_var end_POSTSUBSCRIPT ( italic_t ) over~ start_ARG bold_italic_x end_ARG end_ARG start_ARG italic_y start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT end_ARG . (62)

The design parameter 𝝎isubscript𝝎i\bm{\omega}_{\mathrm{i}}bold_italic_ω start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT is a modulating factor that controls the power transmission between the tank and the impedance controller with the valve σ(St,i)𝜎subscript𝑆ti\sigma(S_{\mathrm{t,i}})italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT )

σ(St,i)𝜎subscript𝑆ti\displaystyle\sigma(S_{\mathrm{t,i}})italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT ) ={σ(St,i)(0,1],St,i>S¯t,i,0,elseabsentcases𝜎subscript𝑆ti01subscript𝑆tisubscript¯𝑆ti0𝑒𝑙𝑠𝑒\displaystyle=\begin{cases}\sigma(S_{\mathrm{t,i}})\in(0,1],&S_{\mathrm{t,i}}>% \underline{S}_{\mathrm{t,i}}\,,\\ 0,&else\end{cases}= { start_ROW start_CELL italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT ) ∈ ( 0 , 1 ] , end_CELL start_CELL italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT > under¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL italic_e italic_l italic_s italic_e end_CELL end_ROW (63)

This indicates that the controller can adjust stiffness if the tank has not been depleted. To prevent singularities, we establish a lower limit, denoted as S¯t,isubscript¯𝑆ti\underline{S}_{\mathrm{t,i}}under¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT, for the energy threshold in the tank. Furthermore, ensuring the passivity of subsystem Scsubscript𝑆cS_{\mathrm{c}}italic_S start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT, which comprises the tank and the controller, is achieved by combining the storage function in the following:

Scsubscript𝑆c\displaystyle S_{\mathrm{c}}italic_S start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT =12𝒙~T𝑲const𝒙~+12xt,i2,absent12superscript~𝒙𝑇subscript𝑲const~𝒙12subscriptsuperscript𝑥2ti\displaystyle=\frac{1}{2}\tilde{\bm{x}}^{T}\bm{K}_{\mathrm{const}}\tilde{\bm{x% }}+\frac{1}{2}x^{2}_{\mathrm{t,i}}\,,= divide start_ARG 1 end_ARG start_ARG 2 end_ARG over~ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_K start_POSTSUBSCRIPT roman_const end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG + divide start_ARG 1 end_ARG start_ARG 2 end_ARG italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT , (64)
S˙csubscript˙𝑆c\displaystyle\dot{S}_{\mathrm{c}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT =𝒙˙𝑲const𝒙~+x˙t,ixt,i.absent˙𝒙subscript𝑲const~𝒙subscript˙𝑥tisubscript𝑥ti\displaystyle=\dot{\bm{x}}\bm{K}_{\mathrm{const}}\tilde{\bm{x}}+\dot{x}_{% \mathrm{t,i}}x_{\mathrm{t,i}}\,.= over˙ start_ARG bold_italic_x end_ARG bold_italic_K start_POSTSUBSCRIPT roman_const end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG + over˙ start_ARG italic_x end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT . (65)

Using 𝒇i,var=𝝎iyt,isubscript𝒇ivarsubscript𝝎isubscript𝑦ti\bm{f}_{\mathrm{i,var}}=\bm{\omega}_{\mathrm{i}}y_{\mathrm{t,i}}bold_italic_f start_POSTSUBSCRIPT roman_i , roman_var end_POSTSUBSCRIPT = bold_italic_ω start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT

S˙csubscript˙𝑆c\displaystyle\dot{S}_{\mathrm{c}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT =𝒙˙T𝒇i𝒙˙T𝑫C𝒙˙+𝒙˙T𝝎iyt,i+absentsuperscript˙𝒙𝑇subscript𝒇isuperscript˙𝒙𝑇subscript𝑫C˙𝒙limit-fromsuperscript˙𝒙𝑇subscript𝝎isubscript𝑦ti\displaystyle=-\dot{\bm{x}}^{T}\bm{f}_{\mathrm{i}}-\dot{\bm{\bm{x}}}^{T}\bm{D}% _{\mathrm{C}}\dot{\bm{x}}+\dot{\bm{x}}^{T}\bm{\omega}_{\mathrm{i}}y_{\mathrm{t% ,i}}+= - over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT - over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG + over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_ω start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT + (66)
βi𝒙˙T𝑫C𝒙˙𝝎iT𝒙˙xt,i,subscript𝛽isuperscript˙𝒙𝑇subscript𝑫C˙𝒙superscriptsubscript𝝎i𝑇˙𝒙subscript𝑥ti\displaystyle\beta_{\mathrm{i}}\dot{\bm{\bm{x}}}^{T}\bm{D}_{\mathrm{C}}\dot{% \bm{x}}-\bm{\omega}_{\mathrm{i}}^{T}\dot{\bm{x}}x_{\mathrm{t,i}}\,,italic_β start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG - bold_italic_ω start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over˙ start_ARG bold_italic_x end_ARG italic_x start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT , (67)
=𝒒˙T𝝉i(1βi)𝒙˙T𝑫C𝒙˙.absentsuperscript˙𝒒𝑇subscript𝝉i1subscript𝛽isuperscript˙𝒙𝑇subscript𝑫C˙𝒙\displaystyle=-\dot{\bm{q}}^{T}\bm{\tau}_{\mathrm{i}}-(1-\beta_{\mathrm{i}})% \dot{\bm{\bm{x}}}^{T}\bm{D}_{\mathrm{C}}\dot{\bm{x}}\,.= - over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_τ start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT - ( 1 - italic_β start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT ) over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG . (68)

The total storage function Soverallsubscript𝑆overallS_{\mathrm{overall}}italic_S start_POSTSUBSCRIPT roman_overall end_POSTSUBSCRIPT and its time derivative S˙overallsubscript˙𝑆overall\dot{S}_{\mathrm{overall}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_overall end_POSTSUBSCRIPT are

Soverallsubscript𝑆overall\displaystyle S_{\mathrm{overall}}italic_S start_POSTSUBSCRIPT roman_overall end_POSTSUBSCRIPT =Sc+Sr,S˙overall=S˙c+S˙r,formulae-sequenceabsentsubscript𝑆csubscript𝑆rsubscript˙𝑆overallsubscript˙𝑆csubscript˙𝑆r\displaystyle=S_{\mathrm{c}}+S_{\mathrm{r}}\,,\dot{S}_{\mathrm{overall}}=\dot{% S}_{\mathrm{c}}+\dot{S}_{\mathrm{r}}\,,= italic_S start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT + italic_S start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT , over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_overall end_POSTSUBSCRIPT = over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT + over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_r end_POSTSUBSCRIPT , (69)
S˙overallsubscript˙𝑆overall\displaystyle\dot{S}_{\mathrm{overall}}over˙ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_overall end_POSTSUBSCRIPT =𝒒˙T𝝉(1βi)𝒙˙T𝑫C𝒙˙+𝒒˙T(𝝉+𝝉ext),absentsuperscript˙𝒒𝑇𝝉1subscript𝛽isuperscript˙𝒙𝑇subscript𝑫C˙𝒙superscript˙𝒒𝑇𝝉subscript𝝉ext\displaystyle=-\dot{\bm{q}}^{T}\bm{\tau}-(1-\beta_{\mathrm{i}})\dot{\bm{\bm{x}% }}^{T}\bm{D}_{\mathrm{C}}\dot{\bm{x}}+\dot{\bm{q}}^{T}(\bm{\tau}+\bm{\tau}_{% \mathrm{ext}})\,,= - over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_τ - ( 1 - italic_β start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT ) over˙ start_ARG bold_italic_x end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG + over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ( bold_italic_τ + bold_italic_τ start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT ) , (70)
=𝒒˙T𝝉ext(1βi)𝒒˙T𝑱T𝑫C𝒙˙.absentsuperscript˙𝒒𝑇subscript𝝉ext1subscript𝛽isuperscript˙𝒒𝑇superscript𝑱Tsubscript𝑫C˙𝒙\displaystyle=\dot{\bm{q}}^{T}\bm{\tau}_{\mathrm{ext}}-(1-\beta_{\mathrm{i}})% \dot{\bm{\bm{q}}}^{T}\bm{J}^{\mathrm{T}}\bm{D}_{\mathrm{C}}\dot{\bm{x}}\,.= over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_τ start_POSTSUBSCRIPT roman_ext end_POSTSUBSCRIPT - ( 1 - italic_β start_POSTSUBSCRIPT roman_i end_POSTSUBSCRIPT ) over˙ start_ARG bold_italic_q end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG . (71)

Finally, the modified unified-impedance control ensures stability during contact and no-contact:

𝒇𝒇\displaystyle\bm{f}bold_italic_f =𝑲const𝒙~𝑫C𝒙˙σ(St,i)ρalign𝑲max𝒙~+absentsubscript𝑲const~𝒙subscript𝑫C˙𝒙limit-from𝜎subscript𝑆tisubscript𝜌alignsubscript𝑲max~𝒙\displaystyle=-\bm{K}_{\mathrm{const}}\tilde{\bm{x}}-\bm{D}_{\mathrm{C}}\dot{% \bm{x}}-\sigma(S_{\mathrm{t,i}})\rho_{\mathrm{align}}\bm{K}_{\mathrm{max}}% \tilde{\bm{x}}+= - bold_italic_K start_POSTSUBSCRIPT roman_const end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG - bold_italic_D start_POSTSUBSCRIPT roman_C end_POSTSUBSCRIPT over˙ start_ARG bold_italic_x end_ARG - italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT ) italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT bold_italic_K start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT over~ start_ARG bold_italic_x end_ARG + (72)
ρfrc(λ+σ(St,f)(1λ))𝒇f.subscript𝜌frc𝜆𝜎subscript𝑆tf1𝜆subscript𝒇f\displaystyle\rho_{\mathrm{frc}}(\lambda+\sigma(S_{\mathrm{t,f}})(1-\lambda))% \bm{f}_{\mathrm{f}}\,.italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT ( italic_λ + italic_σ ( italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT ) ( 1 - italic_λ ) ) bold_italic_f start_POSTSUBSCRIPT roman_f end_POSTSUBSCRIPT . (73)

Next, the validation scenarios and relevant performance metrics for the exemplary tactile skill to explore the curvatures are discussed.

III Experimental Validation

To assess our framework’s visuo-tactile exploration and control performance for exploring an unknown rigid curvature, we conduct experiments using a Franka Emika robot to perform a wiping policy. We employ an Intel RealSense D435i camera (Intel Corp., USA) to capture environmental information. The camera is positioned at the robot’s flange to minimize body occlusion, and its axis aligns with the z-axis of the end-effector frame during execution. This alignment simplifies the transformation from the task frame to the base frame, enhancing the accuracy of surface normal estimation. The visual pipeline and the robot’s master controller run on a mini-ITX PC (HP Z2 Mini G5 Workstation with Intel i7-10700t). The contact surface is 3D-printed with dimensions of 0.26×0.51×h0.260.510.26\times 0.51\times h0.26 × 0.51 × italic_h, where h=0.02sin(π0.19y+0.44)+0.020.02𝜋0.19𝑦0.440.02h=0.02\sin(\frac{\pi}{0.19}y+0.44)+0.02italic_h = 0.02 roman_sin ( divide start_ARG italic_π end_ARG start_ARG 0.19 end_ARG italic_y + 0.44 ) + 0.02  mtimesabsentm\text{\,}\mathrm{m}start_ARG end_ARG start_ARG times end_ARG start_ARG roman_m end_ARG.

The experimental procedure evaluates the accuracy of contact alignment monitoring, real-time feedback latency, computational efficiency, and control performance while exploring the unknown 3D rigid curvature for an arbitrarily given wiping policy.

TABLE I: Parameters used in the experiments.
Parameter Unit Value
𝑲maxsubscript𝑲max\bm{K}_{\mathrm{max}}bold_italic_K start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT N/m diag[1000,1000,10,200,200,200]
damping coefficient - diag[0.7,0.7,0.7,1,1,1]
Cmsubscript𝐶mC_{\mathrm{m}}italic_C start_POSTSUBSCRIPT roman_m end_POSTSUBSCRIPT - 0.9
α𝛼\alphaitalic_α  , ξ𝜉\xiitalic_ξ  , γ𝛾\gammaitalic_γ - 1 , 0.08 , 10
𝑲psubscript𝑲𝑝\bm{K}_{p}bold_italic_K start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT, 𝑲isubscript𝑲𝑖\bm{K}_{i}bold_italic_K start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - 0.6𝑰6×6subscript𝑰66\bm{I}_{\mathrm{6\times 6}}bold_italic_I start_POSTSUBSCRIPT 6 × 6 end_POSTSUBSCRIPT, 0.3𝑰6×6subscript𝑰66\bm{I}_{\mathrm{6\times 6}}bold_italic_I start_POSTSUBSCRIPT 6 × 6 end_POSTSUBSCRIPT
δcsubscript𝛿c\delta_{\mathrm{c}}italic_δ start_POSTSUBSCRIPT roman_c end_POSTSUBSCRIPT m 0.04
ρminsubscript𝜌min\rho_{\mathrm{min}}italic_ρ start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT - 0.001
xt,i(0)subscript𝑥ti0x_{\mathrm{t,i}}(0)italic_x start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT ( 0 ) - 7
S¯t,isubscript¯𝑆ti\overline{S}_{\mathrm{t,i}}over¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT J 32
S¯t,isubscript¯𝑆ti\underline{S}_{\mathrm{t,i}}under¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT J 1
xt,f(0)subscript𝑥tf0x_{\mathrm{t,f}}(0)italic_x start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT ( 0 ) - 2
S¯t,fsubscript¯𝑆tf\overline{S}_{\mathrm{t,f}}over¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT J 2
S¯t,fsubscript¯𝑆tf\underline{S}_{\mathrm{t,f}}under¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT J 1

III-A Experimental Procedure

During wiping, we conduct experiments for visuo-tactile exploration of the unknown, challenging curved surface. The arbitrary wiping tactile policy used during the exploration is

𝒇deesubscriptsuperscript𝒇eed\displaystyle\bm{f}^{\mathrm{ee}}_{\mathrm{d}}bold_italic_f start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT =[0,0,15,0,0,0],absent0015000\displaystyle=[0,0,15,0,0,0]\,,= [ 0 , 0 , 15 , 0 , 0 , 0 ] ,
𝒙deesubscriptsuperscript𝒙eed\displaystyle\bm{x}^{\mathrm{ee}}_{\mathrm{d}}bold_italic_x start_POSTSUPERSCRIPT roman_ee end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT =[0.04sin(2t),0.04(cos(2t)1)0.005t,0,0,0,0],absent0.042𝑡0.042𝑡10.005𝑡0000\displaystyle=[0.04\sin(2t),0.04(\cos(2t)-1)-0.005t,0,0,0,0]\,,= [ 0.04 roman_sin ( 2 italic_t ) , 0.04 ( roman_cos ( 2 italic_t ) - 1 ) - 0.005 italic_t , 0 , 0 , 0 , 0 ] ,

where t𝑡titalic_t is the time parameter. Moreover, Table I shows other parameters designed for the experiments.

First, the robot starts without contacting and aligning to the surface. The expected behavior is that the robot aligns itself, establishes contact, and explores the curvatures while presenting passive and accurate force-motion tracking.

III-B Performance Metrics

Performance metrics employed for validation include i.) contact alignment monitoring accuracy, ii.) real-time feedback latency, iii.) computational efficiency, and iv.) control performance. Contact alignment monitoring accuracy measures the precision of exploring the surface being wiped. Real-time feedback latency quantifies the time delay between sensing contact with the surface and adjusting the robot’s motion or force. Computational efficiency measures the processing rate achieved by the visual pipeline, considering factors such as frame rate and latency. Control performance encompasses quantifying the accuracy and precision of the robot’s movements during the wiping task, measuring deviations from the desired wiping trajectory or force profile to assess control robustness, and evaluating control performance metrics such as root mean square and absolute mean error in tracking. Force control precision considers the uniformity of pressure applied during wiping, ensuring consistent cleaning or polishing without damaging delicate surfaces. It entails measuring the deviation between the desired and actual force exerted on the surface and assessing force control performance using root mean square error and absolute mean error.

IV Results and Discussion

Our experimental results offer quantitative assessments across multiple performance metrics, confirming the effectiveness of our framework in exploring a surface commanded by an arbitrary tactile skill despite unknown physical constraints. We achieve a high accuracy rate in detecting the contact alignment between the robot end-effector and the surface during the exploration using the wiping task. This precision ensures reliable interaction and practical surface exploration, as depicted in Fig. 2 and Fig. 3.

Refer to caption
Figure 2: Visuo-Tactile Exploration of an Unknown Rigid 3D Curvature. The robot’s actual trajectory along the y- and z-direction in the base frame is compared to the model of the contact surface.

Minimal latency ensures swift and adaptive behavior during the wiping task, enhancing overall efficiency. The vision pipeline, including pre-processing and feature extraction, achieves an average frame rate of 3 frames per second (FPS) with a loop cycle of 300 mstimes300ms300\text{\,}\mathrm{m}\mathrm{s}start_ARG 300 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG. Even though 300 mstimes300ms300\text{\,}\mathrm{m}\mathrm{s}start_ARG 300 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG might be considered high performance for vision processed by a standard computer, these values could be improved for better real-time perception and decision-making capabilities, essential for dynamic interaction with the environment. Additionally, the tactile perception runs at 1000 Hztimes1000Hz1000\text{\,}\mathrm{H}\mathrm{z}start_ARG 1000 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG, provided by the robot’s internal proprioceptive measurement. Briefly, due to the difference between the loop cycles of the two modalities, vision can be considered a spatial component in the contact monitor alignment. In contrast, the tactile sensor acts as a temporal modality. Overall, the robot finishes exploring the curvature in 20 stimes20s20\text{\,}\mathrm{s}start_ARG 20 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG.

Refer to caption
a)
Refer to caption
c)
Refer to caption
d)
Refer to caption
b)
Refer to caption
b)
Figure 3: Performance Metrics Results for Visuo-Tactile Exploration during Wiping. a) Controller shaping functions, b) Desired vs. actual motion in the base frame, c) Desired force of 15 Ntimes15N15\text{\,}\mathrm{N}start_ARG 15 end_ARG start_ARG times end_ARG start_ARG roman_N end_ARG shaped by the function ρfrcsubscript𝜌frc\rho_{\mathrm{frc}}italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT vs. measured force in the end effector frame, d) Tank energies.

Accuracy in monitoring the contact alignment and exploration performance is assessed by comparing the robot’s actual trajectory to the model of the contact surface, as depicted in Fig. 2. The robot is commanded only with an arbitrary force-motion policy without modeling the environment. The robot effectively explores the surface while maintaining the desired contact force.

The robot starts without alignment or contact, as illustrated in Fig. 3.a, where ρalignsubscript𝜌align\rho_{\mathrm{align}}italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT initially decreases and then progressively increases over 0 times0absent0\text{\,}start_ARG 0 end_ARG start_ARG times end_ARG start_ARG end_ARG-5 stimes5s5\text{\,}\mathrm{s}start_ARG 5 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG. Subsequently, it fluctuates between 0 times0absent0\text{\,}start_ARG 0 end_ARG start_ARG times end_ARG start_ARG end_ARG - 1 times1absent1\text{\,}start_ARG 1 end_ARG start_ARG times end_ARG start_ARG end_ARG whenever the contact alignment changes. ρfrcsubscript𝜌frc\rho_{\mathrm{frc}}italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT decreases, particularly when the robot moves down the surface due to the margin δcsubscript𝛿𝑐\delta_{c}italic_δ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT. However, the robot adjusts its posture to align with the contact when ρalignsubscript𝜌align\rho_{\mathrm{align}}italic_ρ start_POSTSUBSCRIPT roman_align end_POSTSUBSCRIPT is zero. Consequently, the force controller is reactivated with the updated end-effector pose, increasing ρfrcsubscript𝜌frc\rho_{\mathrm{frc}}italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT to one such as at approximately around 7 stimes7s7\text{\,}\mathrm{s}start_ARG 7 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG.

Quantitative analysis of control performance metrics reveals the absolute mean error of 9 mmtimes9mm9\text{\,}\mathrm{m}\mathrm{m}start_ARG 9 end_ARG start_ARG times end_ARG start_ARG roman_mm end_ARG, 8 mmtimes8mm8\text{\,}\mathrm{m}\mathrm{m}start_ARG 8 end_ARG start_ARG times end_ARG start_ARG roman_mm end_ARG, and 4 mmtimes4mm4\text{\,}\mathrm{m}\mathrm{m}start_ARG 4 end_ARG start_ARG times end_ARG start_ARG roman_mm end_ARG in the desired wiping trajectory along the x-, y-, and z-axes, respectively (see Fig. 3.b). The corresponding root mean square errors are approximately 10 mmtimes10mm10\text{\,}\mathrm{m}\mathrm{m}start_ARG 10 end_ARG start_ARG times end_ARG start_ARG roman_mm end_ARG, 10 mmtimes10mm10\text{\,}\mathrm{m}\mathrm{m}start_ARG 10 end_ARG start_ARG times end_ARG start_ARG roman_mm end_ARG, and 6 mmtimes6mm6\text{\,}\mathrm{m}\mathrm{m}start_ARG 6 end_ARG start_ARG times end_ARG start_ARG roman_mm end_ARG. Further quantitative evaluation of the uniformity of pressure applied during visuo-tactile exploration is depicted in Fig. 3.c, illustrating a mean absolute deviation of app. 2 Ntimes2N2\text{\,}\mathrm{N}start_ARG 2 end_ARG start_ARG times end_ARG start_ARG roman_N end_ARG between the desired force of 15 Ntimes15N15\text{\,}\mathrm{N}start_ARG 15 end_ARG start_ARG times end_ARG start_ARG roman_N end_ARG shaped by ρfrcsubscript𝜌frc\rho_{\mathrm{frc}}italic_ρ start_POSTSUBSCRIPT roman_frc end_POSTSUBSCRIPT and the actual force exerted on the surface about the z-direction in the end-effector frame. Furthermore, the root mean square error in force control performance is app. 3 Ntimes3N3\text{\,}\mathrm{N}start_ARG 3 end_ARG start_ARG times end_ARG start_ARG roman_N end_ARG. Additionally, the contact surface has high friction, as seen from the forces about the other directions, which fluctuates up to the magnitude of 10 Ntimes10N10\text{\,}\mathrm{N}start_ARG 10 end_ARG start_ARG times end_ARG start_ARG roman_N end_ARG. Furthermore, Fig. 3.d illustrates that the energy tanks remain within their designated limits. Specifically, St,isubscript𝑆tiS_{\mathrm{t,i}}italic_S start_POSTSUBSCRIPT roman_t , roman_i end_POSTSUBSCRIPT remains below 32 Jtimes32J32\text{\,}\mathrm{J}start_ARG 32 end_ARG start_ARG times end_ARG start_ARG roman_J end_ARG and decreases due to large movements on a surface with friction. Additionally, St,fsubscript𝑆tfS_{\mathrm{t,f}}italic_S start_POSTSUBSCRIPT roman_t , roman_f end_POSTSUBSCRIPT remains constant at 2 Jtimes2J2\text{\,}\mathrm{J}start_ARG 2 end_ARG start_ARG times end_ARG start_ARG roman_J end_ARG without overloading the tank. This indicates the robot’s and its surroundings’ safety during contact alignment and visuo-tactile exploration.

The authors would like to mention that further study should focus on deciding Cmsubscript𝐶𝑚C_{m}italic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT instead of fine-tuning the current surface material properties, such as friction and rigidity. Overall, the quantitative evaluations confirm the effectiveness and practicality of our framework for automated visuo-tactile exploration of unknown rigid 3D curvatures handled at the robot’s low-level control. The accuracy, precision, latency, and computational efficiency presented demonstrate our method’s potential for increasing robotic deployment in manufacturing automation and other industries requiring intricate robotic interaction processes.

V Conclusion

In conclusion, this paper aims to bridge the gap between current robotic capabilities and the demands of real-world applications by simple yet effective and intuitive robotic skill programming for arbitrarily given tactile policy without requiring specialized expertise that integrates visuo-tactile exploration of unknown rigid 3D curvatures by vision-augmented unified force-impedance control. Combining tactile and vision data, we formulate a robust online contact alignment monitoring system that considers tactile error, local surface curvature, and surface orientation. This information is seamlessly integrated into a vision-augmented unified force-impedance control framework, allowing for adjusting robot stiffness and regulation of force while exploring the curvatures. Virtual energy tanks ensure system passivity and stability throughout the visuo-tactile exploration of the unknown rigid 3D curvatures.

Experimental validation with a Franka Emika research robot executing wiping tasks on challenging surfaces confirms the efficacy of our approach in achieving precise and passive visuo-tactile exploration. Comprehensive performance metrics are used for validation, including contact alignment monitoring accuracy, real-time feedback latency, computational efficiency, and control performance. These metrics provide quantitative insights into our proposed method’s precision, uniformity, speed, and effectiveness, ensuring its practical applicability in real-world manufacturing scenarios. As a limitation, highly irregular curvatures are excluded from the study scope due to potential challenges for both sensors in accurately measuring surface properties. Additionally, in the current implementation, the camera can observe only the current region of interest without predicting forthcoming curvatures, a research opportunity to address in the future. Future work will investigate planning the force-motion policy for the explored curvatures toward a complete solution for generating the object-centric tactile policy for arbitrarily given policies, helping increase the robot deployment in real-world manufacturing tasks.

Acknowledgement

We gratefully acknowledge the funding by the European Union’s Horizon 2020 research and innovation program as part of the project ReconCycle under grant no. 871352, the Bavarian State Ministry for Economic Affairs, Regional Development and Energy (StMWi) for the Lighthouse Initiative KI.FABRIK, (Phase 1: Infrastructure and the research and development program under grant no. DIK0249), the Lighthouse Initiative Geriatronics by LongLeif GaPa gGmbH (Project Y), the German Research Foundation (DFG, Deutsche Forschungsgemeinschaft) as part of Germany’s Excellence Strategy – EXC 2050/1 – Project ID 390696704 – Cluster of Excellence “Centre for Tactile Internet with Human-in-the-Loop” (CeTI) of Technische Universität Dresden. The authors also acknowledge the financial support by the Federal Ministry of Education and Research of Germany (BMBF) in the programme of ”Souverän. Digital. Vernetzt.” Joint project 6G-life, project identification number 16KISK002.

References

  • [1] A. Billard and D. Kragic, “Trends and challenges in robot manipulation,” Science, vol. 364, no. 6446, p. eaat8414, 2019.
  • [2] A. Lambert and S. Gupta, “Disassembly modeling for assembly, maintenance, reuse and recycling,” 12 2004.
  • [3] N. Hogan, “Impedance control: An approach to manipulation,” in 1984 American Control Conference, 1984, pp. 304–313.
  • [4] O. Khatib, “Inertial properties in robotic manipulation: An object-level framework,” The International Journal of Robotics Research, vol. 14, no. 1, pp. 19–36, 1995.
  • [5] K. Karacan, H. Sadeghian, R. Kirschner, and S. Haddadin, “Passivity-based skill motion learning in stiffness-adaptive unified force-impedance control,” in 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Oct 2022, pp. 9604–9611.
  • [6] J. D. Schutter, T. D. Laet, J. Rutgeerts, W. Decré, R. Smits, E. Aertbeliën, K. Claes, and H. Bruyninckx, “Constraint-based task specification and estimation for sensor-based robot systems in the presence of geometric uncertainty,” The International Journal of Robotics Research, vol. 26, no. 5, pp. 433–455, 2007.
  • [7] A. Kramberger, A. Gams, B. Nemec, C. Schou, D. Chrysostomou, O. Madsen, and A. Ude, “Transfer of contact skills to new environmental conditions,” in 2016 IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids), 2016, pp. 668–675.
  • [8] M. Iskandar, C. Ott, A. Albu-Schäffer, B. Siciliano, and A. Dietrich, “Hybrid force-impedance control for fast end-effector motions,” IEEE Robotics and Automation Letters, vol. 8, no. 7, pp. 3931–3938, 2023.
  • [9] O. Khatib, “A unified approach for motion and force control of robot manipulators: The operational space formulation,” IEEE J. Robotics Autom., vol. 3, pp. 43–53, 1987.
  • [10] E. C. Balta, K. Jain, Y. Lin, D. Tilbury, K. Barton, and Z. M. Mao, “Production as a service: A centralized framework for small batch manufacturing,” in 2017 13th IEEE Conference on Automation Science and Engineering (CASE), 2017, pp. 382–389.
  • [11] T. Migimatsu and J. Bohg, “Object-centric task and motion planning in dynamic environments,” IEEE Robotics and Automation Letters, vol. 5, no. 2, pp. 844–851, 2020.
  • [12] M. Vochten, A. M. Mohammadi, A. Verduyn, T. De Laet, E. Aertbeliën, and J. De Schutter, “Invariant descriptors of motion and force trajectories for interpreting object manipulation tasks in contact,” IEEE Transactions on Robotics, vol. 39, no. 6, pp. 4892–4912, Dec 2023.
  • [13] C. Chi, X. Sun, N. Xue, T. Li, and C. Liu, “Recent progress in technologies for tactile sensors,” Sensors, vol. 18, no. 4, 2018.
  • [14] S. Ganguly and O. Khatib, “Experimental studies of contact space model for multi-surface collisions in articulated rigid-body systems,” in Proceedings of the 2018 International Symposium on Experimental Robotics, J. Xiao, T. Kröger, and O. Khatib, Eds.   Cham: Springer International Publishing, 2020, pp. 425–436.
  • [15] R. Calandra, A. Owens, D. Jayaraman, J. Lin, W. Yuan, J. Malik, E. H. Adelson, and S. Levine, “More than a feeling: Learning to grasp and regrasp using vision and touch,” IEEE Robotics and Automation Letters, vol. 3, no. 4, p. 3300–3307, Oct. 2018.
  • [16] A. Sachtler, K. Nottensteiner, M. Kaßecker, and A. Albu-Schäffer, “Combined visual and touch-based sensing for the autonomous registration of objects with circular features,” in 2019 19th International Conference on Advanced Robotics (ICAR), 2019, pp. 426–433.
  • [17] N. Fazeli, M. Oller, J. Wu, Z. Wu, J. B. Tenenbaum, and A. Rodriguez, “See, feel, act: Hierarchical learning for complex manipulation skills with multisensory fusion,” Science Robotics, vol. 4, no. 26, p. eaav3123, 2019.
  • [18] K. Nottensteiner, A. Sachtler, and A. Albu-Schäffer, “Towards Autonomous Robotic Assembly: Using Combined Visual and Tactile Sensing for Adaptive Task Execution,” Journal of Intelligent & Robotic Systems, vol. 101, no. 3, p. 49, Feb. 2021.
  • [19] S. Suresh, H. Qi, T. Wu, T. Fan, L. Pineda, M. Lambeta, J. Malik, M. Kalakrishnan, R. Calandra, M. Kaess, J. Ortiz, and M. Mukadam, “Neural feels with neural fields: Visuo-tactile perception for in-hand manipulation,” 2023.
  • [20] S. Suresh, M. Bauza, K.-T. Yu, J. G. Mangelson, A. Rodriguez, and M. Kaess, “Tactile slam: Real-time inference of shape and pose from planar pushing,” 2021.
  • [21] Y. Kato, P. Balatti, J. M. Gandarias, M. Leonori, T. Tsuji, and A. Ajoudani, “A self-tuning impedance-based interaction planner for robotic haptic exploration,” IEEE Robotics and Automation Letters, vol. 7, no. 4, pp. 9461–9468, Oct 2022.
  • [22] M. Qin, J. Brawer, and B. Scassellati, “Robot tool use: A survey,” Frontiers in Robotics and AI, vol. 9, 2023.
  • [23] C. Schindlbeck and S. Haddadin, “Unified Passivity-Based Cartesian Force / Impedance Control for Rigid and Flexible Joint Robots via Task-Energy Tanks,” 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 440–447, 2015.
  • [24] R. B. Rusu and S. Cousins, “3D is here: Point Cloud Library (PCL),” in 2011 IEEE ICRA.   IEEE, 2011, pp. 1–4.
  • [25] T. Westfechtel, K. Ohno, B. Mertsching, R. Hamada, D. Nickchen, S. Kojima, and S. Tadokoro, “Robust stairway-detection and localization method for mobile robots using a graph-based model and competing initializations,” The International Journal of Robotics Research, vol. 37, no. 12, pp. 1463–1483, 2018.
  • [26] K. Karacan, D. Grover, H. Sadeghian, F. Wu, and S. Haddadin, “Tactile exploration using unified force-impedance control,” IFAC-PapersOnLine, vol. 56, no. 2, pp. 5015–5020, 2023, 22nd IFAC World Congress.
  • [27] K. Kronander and A. Billard, “Stability considerations for variable impedance control,” IEEE Transactions on Robotics, vol. 32, no. 5, pp. 1298–1305, 2016.
  • [28] S. Stramigioli, “Energy-aware robotics,” in Mathematical Control Theory I, M. K. Camlibel, A. A. Julius, R. Pasumarthy, and J. M. Scherpen, Eds.   Cham: Springer International Publishing, 2015, pp. 37–50.
  • [29] Y. Michel, C. Ott, and D. Lee, “Passivity-based variable impedance control for redundant manipulators,” IFAC-PapersOnLine, vol. 53, no. 2, pp. 9865–9872, 2020, 21st IFAC World Congress.