Difference between revisions of "Torque-feedback controller"

From DIDEAS Wiki
Jump to: navigation, search
(Torque feedback algorithm)
 
Line 1: Line 1:
 
== Torque feedback algorithm ==  
 
== Torque feedback algorithm ==  
 
*The torque command from the ankle is a function of ankle state. Specifically:
 
*The torque command from the ankle is a function of ankle state. Specifically:
T_out = STATE[Kes*Theta + Bes*Thetadot] + LS,LSP[Kls*Theta + Bls*Thetadot] + LSP[PFF/PCI*T_meas^Exp]
+
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)
 
*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_out = output torque command
*T_meas = measured torque
+
*T_meas = measured torque (sensors.EstAnkleTorque_f)
 
*Theta, Thetadot = Ankle angle, angular velocity (positive = dorsiflexion)
 
*Theta, Thetadot = Ankle angle, angular velocity (positive = dorsiflexion)
 
*Kes, Bes = Virtual spring, damper constants for early stance
 
*Kes, Bes = Virtual spring, damper constants for early stance
Line 11: Line 12:
 
*PCI = Power curve intercept (based on subject's weight (see tuning interface for details on setting weight)
 
*PCI = Power curve intercept (based on subject's weight (see tuning interface for details on setting weight)
 
*Exp = Exponent
 
*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_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.
Line 18: Line 18:
  
 
*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.
 
*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

Latest revision as of 15:19, 8 June 2012

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