The development of anthropomorphic, multi-fingered dexterous robotic hands represents a significant frontier in robotics, enabling machines to perform complex, human-like manipulation tasks. Achieving robust, stable, and precise force and position control in such systems is paramount for successful interaction with unstructured environments. A primary challenge arises from the inherent mechanical compliance, or elasticity, introduced by components like harmonic drives, timing belts, and tendon transmissions used to achieve compact and lightweight designs. This compliance, if not properly accounted for, can lead to control instability, reduced bandwidth, and poor trajectory tracking. This article presents a comprehensive framework for adaptive impedance control tailored for dexterous robotic hands with elastic joints. The strategy integrates joint torque feedback, passive control principles, and online nonlinearity compensation to achieve high-fidelity position tracking and stable force interaction.

Impedance control, as opposed to pure position or force control, regulates the dynamic relationship between the endpoint position error and the interaction force. For a dexterous robotic hand, this translates to defining a desired mass-spring-damper behavior, allowing the fingers to compliantly yield upon contact or exert controlled forces. Implementing this in the presence of joint elasticity requires a dedicated modeling and control approach. Furthermore, nonlinear effects such as friction and gravity significantly degrade performance, especially in the low-force, high-precision regimes typical of dexterous manipulation. Therefore, an adaptive layer is essential to observe and compensate for these disturbances online, ensuring consistent performance across the workspace and under varying payloads.
The core contribution of this work lies in the synthesis of a passivity-based impedance controller with co-located joint torque sensing and dual adaptive compensation mechanisms. A model-based gravity compensator is optimized using least-squares estimation, while a novel friction observer based on the Extended Kalman Filter (EKF) provides real-time estimates of viscous and Coulomb friction parameters. This combination allows the dexterous robotic hand to maintain accurate impedance characteristics, effectively bridging the gap between theoretical controller design and practical implementation on highly integrated, compliant mechanical systems.
Dynamic Modeling of a Dexterous Robotic Hand with Elastic Joints
The foundation of model-based control is an accurate dynamic representation. For a dexterous robotic hand finger with elastic joints and differential mechanisms, the dynamics are derived in two interconnected parts: the link side (reflecting the finger’s kinematics and inertia) and the motor side (reflecting the actuator dynamics coupled through the elastic transmission).
The dynamics of the link side for an n-degree-of-freedom finger are given by the standard rigid-body equation:
$$ \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau} + \mathbf{J}^T(\mathbf{q})\mathbf{F}_{ext} $$
where $\mathbf{q} \in \mathbb{R}^n$ is the vector of link-side joint positions, $\mathbf{M}(\mathbf{q})$ is the symmetric, positive-definite inertia matrix, $\mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}}$ represents Coriolis and centrifugal forces, $\mathbf{g}(\mathbf{q})$ is the gravity torque vector, $\boldsymbol{\tau}$ is the torque applied at the links (from the elastic transmission), $\mathbf{J}(\mathbf{q})$ is the geometric Jacobian matrix, and $\mathbf{F}_{ext}$ is the external wrench applied at the end-effector.
The torque $\boldsymbol{\tau}$ is generated by the deflection of the elastic elements (e.g., harmonic drive flexibility). For a linear spring model, this is:
$$ \boldsymbol{\tau} = \mathbf{K}(\boldsymbol{\theta} – \mathbf{q}) $$
Here, $\boldsymbol{\theta} \in \mathbb{R}^n$ is the vector of motor positions (reflected through the gear ratio), and $\mathbf{K}$ is a diagonal, positive-definite matrix of joint stiffness coefficients.
The dynamics of the motor side, incorporating the actuator inertia and friction, are:
$$ \mathbf{B}\ddot{\boldsymbol{\theta}} + \boldsymbol{\tau} + \mathbf{\tau}_f(\dot{\boldsymbol{\theta}}) = \mathbf{u} $$
where $\mathbf{B}$ is the diagonal matrix of motor rotor inertias (reflected through the gear ratio squared), $\mathbf{\tau}_f(\dot{\boldsymbol{\theta}})$ is the nonlinear friction torque at the motor, and $\mathbf{u}$ is the generalized motor torque command, which serves as the control input. A common model for friction is the combination of viscous and Coulomb effects:
$$ \tau_{f,i} = b_i \dot{\theta}_i + c_i \cdot \text{sign}(\dot{\theta}_i) $$
where $b_i$ and $c_i$ are the viscous and Coulomb friction coefficients for the $i$-th joint, respectively.
Many dexterous robotic hands utilize differential mechanisms to couple two actuator degrees of freedom into two orthogonal joint motions (e.g., abduction/adduction and flexion/extension) in a compact base joint. This introduces a kinematic coupling. The relationship between the motor positions before the differential ($\boldsymbol{\theta}_m$) and the effective joint-side motor positions ($\boldsymbol{\theta}$) is defined by a constant coupling matrix $\mathbf{L}$:
$$ \boldsymbol{\theta} = \mathbf{L} \boldsymbol{\theta}_m $$
The corresponding transformation for torques is $\boldsymbol{\tau}_m = \mathbf{L}^T \boldsymbol{\tau}$, where $\boldsymbol{\tau}_m$ is the torque vector before the differential. The complete dynamic model of a dexterous robotic hand finger must integrate this coupling, resulting in the following composite equations:
$$
\begin{aligned}
\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) &= \mathbf{K}(\boldsymbol{\theta} – \mathbf{q}) + \mathbf{J}^T(\mathbf{q})\mathbf{F}_{ext} \\
\mathbf{B}_L \ddot{\boldsymbol{\theta}} + \mathbf{L}^T\mathbf{K}(\boldsymbol{\theta} – \mathbf{q}) + \mathbf{L}^T\mathbf{\tau}_f(\dot{\boldsymbol{\theta}}) &= \mathbf{u}_m
\end{aligned}
$$
where $\mathbf{B}_L = \mathbf{L}^T \mathbf{B} \mathbf{L}$ and $\mathbf{u}_m$ is the control input to the motors preceding the differential.
The following table summarizes the key parameters and variables in the dynamic model of a dexterous robotic hand finger:
| Symbol | Description | Dimension |
|---|---|---|
| $\mathbf{q}$ | Link-side joint position vector | $\mathbb{R}^n$ |
| $\boldsymbol{\theta}$ | Motor-side joint position vector (after differential) | $\mathbb{R}^n$ |
| $\mathbf{M}(\mathbf{q})$ | Link-side inertia matrix | $\mathbb{R}^{n \times n}$ |
| $\mathbf{K}$ | Joint stiffness matrix | $\mathbb{R}^{n \times n}$ (diag.) |
| $\mathbf{B}$ | Motor inertia matrix | $\mathbb{R}^{n \times n}$ (diag.) |
| $\mathbf{g}(\mathbf{q})$ | Gravity torque vector | $\mathbb{R}^{n}$ |
| $\boldsymbol{\tau}_f$ | Motor friction torque vector | $\mathbb{R}^{n}$ |
| $\mathbf{L}$ | Differential coupling matrix | $\mathbb{R}^{n \times m}$ ($m \ge n$) |
| $\mathbf{J}(\mathbf{q})$ | Geometric Jacobian matrix | $\mathbb{R}^{6 \times n}$ |
Impedance Control Design for Elastic Joints
Impedance control aims to impose a desired dynamic behavior between position deviation and force. For a dexterous robotic hand, this can be specified in either joint space or Cartesian (operational) space. The presence of elastic joints necessitates a controller that actively uses the measured joint torque $\boldsymbol{\tau} = \mathbf{K}(\boldsymbol{\theta} – \mathbf{q})$ for feedback.
Joint Space Impedance Control
The desired joint space impedance is typically a second-order linear system:
$$ \mathbf{M}_d \ddot{\mathbf{e}}_q + \mathbf{D}_d \dot{\mathbf{e}}_q + \mathbf{K}_d \mathbf{e}_q = \boldsymbol{\tau}_{ext} $$
where $\mathbf{e}_q = \mathbf{q} – \mathbf{q}_d$ is the joint position error relative to a desired equilibrium $\mathbf{q}_d$, $\boldsymbol{\tau}_{ext}$ is the external joint torque (a projection of $\mathbf{J}^T\mathbf{F}_{ext}$), and $\mathbf{M}_d$, $\mathbf{D}_d$, $\mathbf{K}_d$ are the desired inertia, damping, and stiffness matrices, respectively.
Using the passivity-based approach, a controller can be designed that treats the motor dynamics as a passive subsystem interconnected with the link dynamics via the elastic torque. A common and effective control law utilizing motor position feedback is:
$$ \mathbf{u} = -\mathbf{K}_m (\boldsymbol{\theta} – \boldsymbol{\theta}_d) – \mathbf{D}_m \dot{\boldsymbol{\theta}} + \hat{\mathbf{g}}(\boldsymbol{\theta}) $$
where $\boldsymbol{\theta}_d$ is a desired motor position, $\mathbf{K}_m$ and $\mathbf{D}_m$ are positive definite gain matrices, and $\hat{\mathbf{g}}(\boldsymbol{\theta})$ is a gravity compensation term based on the motor position. The desired motor position $\boldsymbol{\theta}_d$ is related to the desired link position $\mathbf{q}_d$ through the steady-state condition from the link dynamics: $\mathbf{K}(\boldsymbol{\theta}_d – \mathbf{q}_d) = \mathbf{g}(\mathbf{q}_d)$. By choosing $\mathbf{K}_m = \mathbf{K} \mathbf{K}_d^{-1} \mathbf{K}$ and $\mathbf{D}_m = \mathbf{D}_d$, and assuming accurate gravity compensation, the closed-loop system approximates the desired impedance. Crucially, the feedback of joint torque allows the controller to make the apparent motor inertia seen from the link side smaller, enhancing the stability and performance of the impedance behavior.
Cartesian Space Impedance Control
For practical manipulation with a dexterous robotic hand, specifying impedance in the Cartesian space of the fingertip is more intuitive. The desired behavior is:
$$ \mathbf{\Lambda}_d \ddot{\mathbf{e}}_x + \mathbf{D}_d^x \dot{\mathbf{e}}_x + \mathbf{K}_d^x \mathbf{e}_x = \mathbf{F}_{ext} $$
where $\mathbf{e}_x = \mathbf{x} – \mathbf{x}_d$ is the Cartesian position/orientation error of the fingertip, $\mathbf{\Lambda}_d$ is the desired Cartesian inertia, and $\mathbf{D}_d^x$, $\mathbf{K}_d^x$ are the desired Cartesian damping and stiffness.
The control design involves transforming the desired impedance into a joint torque command. Using the motor position $\boldsymbol{\theta}$ to compute forward kinematics $\mathbf{x} = f(\boldsymbol{\theta})$ and Jacobian $\mathbf{J}_\theta(\boldsymbol{\theta}) = \partial f(\boldsymbol{\theta}) / \partial \boldsymbol{\theta}$, a PD-type Cartesian impedance controller can be formulated:
$$ \mathbf{u} = \hat{\mathbf{g}}(\boldsymbol{\theta}) – \mathbf{J}_\theta^T(\boldsymbol{\theta}) \left[ \mathbf{K}_p \mathbf{e}_x(\boldsymbol{\theta}) + \mathbf{K}_d \dot{\mathbf{e}}_x \right] $$
Here, $\mathbf{K}_p$ and $\mathbf{K}_d$ are the Cartesian stiffness and damping gains, directly corresponding to $\mathbf{K}_d^x$ and $\mathbf{D}_d^x$ when the desired inertia $\mathbf{\Lambda}_d$ is chosen to match the natural inertia of the system at that configuration. This control law commands motor torques to create a virtual spring-damper between the current and desired fingertip pose in Cartesian space. The gravity compensation $\hat{\mathbf{g}}(\boldsymbol{\theta})$ is critical to prevent gravity from being interpreted as an external force, which would cause steady-state position drift. The performance of this controller for the dexterous robotic hand hinges on accurate compensation of nonlinearities like friction and gravity.
Adaptive Compensation Strategies
To achieve high-performance impedance control on a physical dexterous robotic hand, adaptive compensation of gravity and friction is essential, as model inaccuracies directly translate to force and position errors.
Optimized Gravity Compensation via Least-Squares
The gravity torque vector $\mathbf{g}(\mathbf{q})$ is configuration-dependent. In a highly integrated dexterous robotic hand, the precise mass and center-of-mass location of individual links are often difficult to measure directly. However, the net gravity torque acting on the joints can be measured directly via the joint torque sensors when the finger is moved slowly and held statically at different configurations ($\boldsymbol{\tau} \approx \mathbf{g}(\mathbf{q})$).
The gravity torque can be modeled linearly with respect to a set of unknown mass parameters $\mathbf{p}_m$:
$$ \mathbf{g}(\mathbf{q}) = \mathbf{Y}_g(\mathbf{q}) \mathbf{p}_m $$
where $\mathbf{Y}_g(\mathbf{q})$ is a configuration-dependent regressor matrix derived from the kinematic model. By collecting data at $N$ static poses $\{\mathbf{q}_1, \mathbf{q}_2, …, \mathbf{q}_N\}$ and measuring the corresponding joint torques $\{\boldsymbol{\tau}_1, \boldsymbol{\tau}_2, …, \boldsymbol{\tau}_N\}$, the mass parameters can be estimated offline by solving a least-squares problem:
$$ \hat{\mathbf{p}}_m = \arg\min_{\mathbf{p}_m} \sum_{i=1}^{N} || \mathbf{Y}_g(\mathbf{q}_i) \mathbf{p}_m – \boldsymbol{\tau}_i ||^2 $$
This yields an optimized gravity model $\hat{\mathbf{g}}(\mathbf{q}) = \mathbf{Y}_g(\mathbf{q}) \hat{\mathbf{p}}_m$. Since the impedance controller uses motor position $\boldsymbol{\theta}$, we need $\hat{\mathbf{g}}(\boldsymbol{\theta})$. Under quasi-static conditions, the joint torque is $\boldsymbol{\tau} = \mathbf{K}(\boldsymbol{\theta} – \mathbf{q}) = \mathbf{g}(\mathbf{q})$. For a given $\boldsymbol{\theta}$, the corresponding $\mathbf{q}$ can be found iteratively (e.g., via a few steps of a fixed-point iteration: $\mathbf{q}_{k+1} = \boldsymbol{\theta} – \mathbf{K}^{-1}\hat{\mathbf{g}}(\mathbf{q}_k)$) to compute $\hat{\mathbf{g}}(\boldsymbol{\theta}) \approx \hat{\mathbf{g}}(\mathbf{q})$.
Adaptive Friction Observer using Extended Kalman Filter (EKF)
Friction is a major source of nonlinearity and performance degradation, causing stick-slip motion and tracking errors. An adaptive observer is developed to estimate the friction parameters $b_i$ and $c_i$ online. The motor dynamics for a single joint (ignoring coupling for clarity) are:
$$ B \ddot{\theta} + K(\theta – q) + \tau_f = u $$
with $\tau_f = b \dot{\theta} + c \cdot S(\dot{\theta})$, where $S(\dot{\theta})$ is a smooth approximation of the signum function (e.g., using a hyperbolic tangent) to ensure differentiability for the EKF.
We define an augmented state vector $\mathbf{x} = [\theta, \dot{\theta}, \tau, b, c]^T$, where $\tau = K(\theta – q)$ is the measurable joint torque. The continuous-time state-space model is:
$$
\begin{aligned}
\dot{\theta} &= \dot{\theta} \\
\ddot{\theta} &= \frac{1}{B} (u – \tau – b\dot{\theta} – c \cdot S(\dot{\theta})) \\
\dot{\tau} &= K(\dot{\theta} – \dot{q}) \quad \text{(Note: $\dot{q}$ is not a state)} \\
\dot{b} &= 0 \\
\dot{c} &= 0
\end{aligned}
$$
This is a nonlinear system due to the terms $b\dot{\theta}$ and $c \cdot S(\dot{\theta})$. The EKF provides an optimal recursive estimator for such nonlinear systems. The process is outlined below:
- Prediction Step: Using the previous state estimate $\hat{\mathbf{x}}_{k-1}$ and control input $u_{k-1}$, predict the next state and error covariance.
$$ \hat{\mathbf{x}}^-_k = f(\hat{\mathbf{x}}_{k-1}, u_{k-1}) $$
$$ \mathbf{P}^-_k = \mathbf{A}_{k-1} \mathbf{P}_{k-1} \mathbf{A}^T_{k-1} + \mathbf{Q} $$
where $\mathbf{A}_{k-1} = \frac{\partial f}{\partial \mathbf{x}} |_{\hat{\mathbf{x}}_{k-1}}$ is the Jacobian of the system dynamics, and $\mathbf{Q}$ is the process noise covariance matrix. - Update Step: Update the prediction with the latest measurement $\mathbf{z}_k = [\theta^{meas}_k, \tau^{meas}_k]^T$.
$$ \mathbf{K}_k = \mathbf{P}^-_k \mathbf{H}^T (\mathbf{H} \mathbf{P}^-_k \mathbf{H}^T + \mathbf{R})^{-1} $$
$$ \hat{\mathbf{x}}_k = \hat{\mathbf{x}}^-_k + \mathbf{K}_k (\mathbf{z}_k – \mathbf{H} \hat{\mathbf{x}}^-_k) $$
$$ \mathbf{P}_k = (\mathbf{I} – \mathbf{K}_k \mathbf{H}) \mathbf{P}^-_k $$
where $\mathbf{H}$ is the measurement matrix ($\mathbf{H}\mathbf{x} = [\theta, \tau]^T$), and $\mathbf{R}$ is the measurement noise covariance matrix.
The estimated friction torque $\hat{\tau}_f = \hat{b} \dot{\hat{\theta}} + \hat{c} \cdot S(\dot{\hat{\theta}})$ is then directly subtracted in the control law, providing adaptive friction compensation. The complete adaptive impedance control law for the dexterous robotic hand thus becomes:
$$ \mathbf{u} = \hat{\mathbf{g}}(\boldsymbol{\theta}) + \hat{\boldsymbol{\tau}}_f(\dot{\boldsymbol{\theta}}) – \mathbf{J}_\theta^T(\boldsymbol{\theta}) \left[ \mathbf{K}_p \mathbf{e}_x(\boldsymbol{\theta}) + \mathbf{K}_d \dot{\mathbf{e}}_x \right] $$
This integrated approach allows the dexterous robotic hand to maintain consistent impedance characteristics despite variations and uncertainties in friction.
Experimental Validation and Results
The proposed adaptive impedance control framework was implemented and tested on a multi-fingered dexterous robotic hand featuring joint torque sensors, harmonic drive-based elastic joints, and differential mechanisms in the base joints. Experiments were conducted to validate: 1) the effectiveness of the adaptive friction observer, 2) joint-space impedance performance, and 3) Cartesian-space impedance performance during free motion and contact.
Friction Observer Performance
The EKF-based observer was run during slow periodic motions of individual joints. The estimated viscous ($b$) and Coulomb ($c$) friction parameters converged to stable values within a few seconds. A comparison of position tracking error for a sinusoidal trajectory, with and without the friction compensation term $\hat{\tau}_f$, clearly demonstrated its efficacy. The table below summarizes the key performance metrics:
| Condition | Max. Position Error | RMS Position Error | Remarks |
|---|---|---|---|
| Without Friction Compensation | 2.0 degrees | 0.85 degrees | Visible stick-slip phase lag. |
| With Adaptive Friction Compensation | 0.8 degrees | 0.25 degrees | Smooth tracking, significantly reduced error. |
The observer also provided smooth estimates of joint velocity $\dot{\theta}$, which is beneficial as velocity measurements from encoders are often noisy.
Joint Space Impedance Control Results
A single finger was commanded to follow a trajectory until contacting a rigid environment. The desired joint stiffness $\mathbf{K}_d$ and damping $\mathbf{D}_d$ were set to achieve a critically damped, compliant response. In free motion, the finger accurately tracked the desired joint trajectory. Upon contact, the controller smoothly transitioned from position tracking to force regulation. The joint torque increased and stabilized at a value consistent with the impedance law and the environment’s position, demonstrating stable and predictable interaction. The experiment confirmed that the controller for the dexterous robotic hand effectively managed the joint elasticity to achieve the desired mass-spring-damper behavior at the joint level.
Cartesian Space Impedance Control Results
Two key Cartesian experiments were performed. First, the fingertip was commanded to move in a straight line in Cartesian space until making contact. With gravity and friction compensated, the fingertip accurately tracked the Cartesian path in free space. Upon contact, the interaction force along the surface normal rose and stabilized, while the controller compliantly stopped motion in that direction, fulfilling the Cartesian impedance objective.
Second, the fingertip was placed at a desired equilibrium $\mathbf{x}_d$ and subjected to external pulls by a human operator. After release, the finger reliably returned to the equilibrium position. The steady-state error in all Cartesian directions (x, y, z) was less than 0.2 mm, underscoring the accuracy of the adaptive gravity compensation. Furthermore, by applying a known force and measuring the resultant displacement, the effective Cartesian stiffness was verified to match the designed value ($K_p^x = 1300$ N/m), as shown in the comparative analysis below:
| Direction | Desired Stiffness $K_p^x$ (N/m) | Measured Stiffness (N/m) | Error |
|---|---|---|---|
| X-axis | 1300 | 1265 | -2.7% |
| Y-axis | 1300 | 1280 | -1.5% |
| Z-axis | 1300 | 1310 | +0.8% |
These results collectively validate that the proposed adaptive impedance control framework enables a dexterous robotic hand to perform precise, stable, and compliant manipulation tasks, successfully handling the challenges posed by joint elasticity and nonlinear disturbances.
Conclusion and Future Perspectives
This article presented a holistic approach to adaptive impedance control for dexterous robotic hands with elastic joints. By integrating a passivity-based controller design with joint torque feedback and dual adaptive compensation mechanisms, the framework addresses the core challenges of compliance and nonlinearity. The optimized gravity compensation, derived from a least-squares fit to measured data, ensures accurate static force balance. The novel EKF-based friction observer provides real-time, adaptive estimation of nonlinear friction dynamics, critically enhancing tracking performance. Experimental validation on a complex, multi-fingered dexterous robotic hand confirmed significant improvements in both position tracking accuracy and stable force interaction during contact tasks.
The successful implementation of this control strategy marks a crucial step towards reliable and robust dexterous manipulation. The use of a dexterous robotic hand equipped with such advanced control paves the way for more autonomous and capable robots in fields ranging from logistics and assembly to healthcare and domestic assistance. The inherent safety and compliance offered by impedance control make it particularly suitable for human-robot collaboration scenarios.
Future work will focus on extending this framework to multi-fingered, coordinated manipulation. This involves investigating object-level impedance control, where the impedance is defined for a grasped object held by multiple fingers of the dexterous robotic hand. Furthermore, adapting the impedance parameters (stiffness, damping) online based on the task phase and contact conditions—moving towards variable impedance control—will enhance the hand’s versatility. Integrating tactile sensing at the fingertips with the joint-level impedance controller will also be a key research direction, enabling fine manipulation based on rich contact information and closing the perception-action loop for the dexterous robotic hand.
