Torque-feedback controller

From DIDEAS Wiki
Jump to: navigation, search

Torque feedback algorithm

  • The torque command from the ankle is a function of ankle state. Specifically:

T_out = ES[Kes*Theta + Bes*Thetadot] + LS,LSP[Kls*Theta + Bls*Thetadot] + LSP[PFF/(T_meas/PCI)^Exp]

    • Starts transition using the T_meas ~ (T_meas-T_enter_LSP), then smoothly transitions to just using T_meas
  • ES[expression] means the expression is only executed during the specified STATE (ES=early stance, LS=late stance, LSP=late stance power)
  • T_out = output torque command
  • T_meas = measured torque (sensors.EstAnkleTorque_f)
  • Theta, Thetadot = Ankle angle, angular velocity (positive = dorsiflexion)
  • Kes, Bes = Virtual spring, damper constants for early stance
  • Kls, Bls = Virtual spring, damper constants for late stance
  • PFF = Positive force feedback gain
  • PCI = Power curve intercept (based on subject's weight (see tuning interface for details on setting weight)
  • Exp = Exponent
  • T_meas is determined by taking the difference between the motor encoder position and the output ankle joint position, using the measured series spring constant to determine ankle torque.
  • T_out is provided using current-control.


  • In practice, it is likely that PFF mainly affects the net work done by the ankle, while Exp mainly affects the timing. This has yet to be verified.

Walking parameters

In c code: walking_param

  • mom_thresh_power_on = estimated ankle torque at entry to late stance power