Controllers in Drake
-
InverseDynamics
τ_id = M(q)vd_d + C(q, v)v - τ_g(q) - τ_app
-
InverseDynamicsController
force = inverse_dynamics(q, v, vd_command), where vd_command = kp(q_d - q) + kd(v_d - v) + ki int(q_d - q) + vd_d
-
JointStiffnessController (spring-damper dynamics)
τ_control = −τ_g(q) − τ_app + kp⊙(q_d − q) + kd⊙(v_d − v)
- JointImpedanceController
-
LinearModelPredictiveController
\[\begin{gathered} \min _{u(k), \ldots, u(k+N), x(k+1), \ldots, x(k+N)} \sum_{i=k}^{k+N}\left((x(i)-x d(i))^{\mathrm{T}} Q(x(i)-x d(i))+(u(i)-u d(i))^{\mathrm{T}} R(u(i)-u d(i))\right) \\ \text { s. t. } x(k+1)=A(k) x(k)+B(k) u(k) \end{gathered}\] - PidControlledSystem
- PidController
- LinearQuadraticRegulator
Reference: