Concept · 1 paper · updated 2026-10-25
Disturbance observer
An observer that estimates the lumped disturbance on a robot joint, from model error, friction and external force, so the controller can cancel it. One card so far: a nonlinear disturbance observer added to impedance control for a two-robot rehabilitation teleoperation rig, with qualitative results only, author-reported.
robot-controlestimationimpedance-control
Markdown3 min read
AI-compiled overview, updated 2026-10-25, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
Overview
A disturbance observer estimates the net effect of everything the nominal model does not capture, and feeds that estimate back so it can be cancelled. The paper lumps model error, joint friction and external forces into one term 2412.03619 §II-C eq. 9. Its stated reason for using an observer is that it can compensate for a rough dynamic model 2412.03619 §I.
The one card so far applies a nonlinear disturbance observer (NDOB) on top of an impedance controller, on both robots of a bilateral teleoperation pair 2412.03619 §II-A 2412.03619 §II-C. The NDOB design is adapted from an earlier reference that the paper cites rather than derives 2412.03619 §II-C. The full design and proof are not in the card's source, so treat the observer's stability as unverified here.
Variants
There is one variant in our corpus so far, and it is a single card.
Nonlinear disturbance observer with impedance control
The observer keeps an auxiliary state z. Its gain is L_obs = Y_obs M_obs^-1, and it uses the measured joint velocity, the applied torque and the estimated model terms to form the disturbance estimate 2412.03619 §II-C eq. 10. The paper reports the chosen gains per robot: on the master, Y_obs is 1.92 I with M_obs set to the estimated inertia; on the second robot, Y_obs is 0.048 I with M_obs of 0.001 I 2412.03619 tab. 2. The NDOB is always on for the second robot, and on for the master only in trajectory mode 2412.03619 §V. Card: A Teleoperation System with Impedance Control and Disturbance Observer for Robot-Assisted Rehabilitation.
Other designs
Not covered. Other observer designs, such as linear or high-gain variants, have no card here. Do not infer their behaviour from this one.
When to use which
With one card, the guidance below is only what that card's setting supports.
| Situation | Use | Why |
|---|---|---|
| You have an approximate arm model and joint velocity and torque, but no force sensor | Observer on top of impedance control, as in the card | The paper claims this gives compliant behaviour without force sensing and compensates model error 2412.03619 §I 2412.03619 §II-A |
| A human must move the arm freely | Switch the observer off on the side the human moves, and gate any force feedback | The paper turns the master NDOB off in free pHRI and keeps force feedback active only then 2412.03619 §V 2412.03619 §II-B |
| You need error bounds or a stability proof | Not supported by this card | The proof is left to the cited reference and the card reports no error numbers 2412.03619 §IV |
| Large nonlinear or Coulomb friction is the main disturbance | Check before use | The identified friction model is viscous only 2412.03619 eq. 19 |
| Teleoperation over a network | Check before use | Force is rendered from positions sent over UDP; delay and loss are not analysed 2412.03619 §II-B 2412.03619 §V |
Claims about benefit are qualitative. The paper compares tracking with the observer on against impedance control alone, but gives no numbers 2412.03619 §IV-A fig. 4.
Implementation sketch
The paper gives its observer update as one equation 2412.03619 eq. 10. The integrator is not stated; forward Euler is shown here for illustration. The observer output is added to the impedance torque with a sign the text does not state. Read from the block diagram, the master side subtracts it 2412.03619 fig. 1; confirm before use.
# Nonlinear disturbance observer step [arxiv:2412.03619 eq. 10]
# Model terms are estimates; integrator not stated in the paper
def ndob_step(dq, tau, z, S_hat, g_hat, M_obs, Y_obs, dt):
# Observer gain from the two tuned matrices [arxiv:2412.03619 eq. 10]
L_obs = Y_obs @ inverse(M_obs) # (2, 2)
# Auxiliary vector from joint velocity [arxiv:2412.03619 eq. 10]
p = Y_obs @ dq # (2,)
# Observer state derivative [arxiv:2412.03619 eq. 10]
z_dot = -L_obs @ z + L_obs @ (S_hat @ dq + g_hat - tau - p)
z = z + dt * z_dot
# Estimated lumped disturbance [arxiv:2412.03619 eq. 10]
d_hat = z + p # (2,)
return z, d_hatControl and observer both run at 1 kHz in the setup reported 2412.03619 §III. The master's M_obs depends on configuration, so the gain is recomputed at every step. The paper does not say how it handles near-singular configurations 2412.03619 §II-C.
Contradictions
None across papers, since only one card covers this concept. Inside the card's paper, the error terms in the impedance law 2412.03619 eq. 2 and the control law 2412.03619 eq. 3 have opposite signs, and the text does not reconcile them. Implement the control law as printed in eq. 3 and eq. 7.
Papers
- A Teleoperation System with Impedance Control and Disturbance Observer for Robot-Assisted Rehabilitation: bilateral teleoperation of two 2-DOF rehabilitation robots, with a nonlinear disturbance observer on impedance control. Qualitative results only.
Source and license
Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.