-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VelocityImpedance is actually a PassiveController #334
Comments
Fair point. We will add this issue to our backlog and see if we can address it. Thanks! |
I'm not sure if that's quite right. I will rewrite your steps with math formatting to make sure I understand them. Starting with the definition So you substitute and expand (I think you were missing the feedback term Then, if you define a modified desired velocity: $$\hat{w}{des} = (K *dt + D) * w{des} / D $$ you can rewrite the final control law as: $$\tau = (K * dt + D) * w_{des} - D * w_{fb} = D * (\hat{w}{des} - w{fb})$$ I have two points. First, where do you see a computational saving? You still have to calculate But that leads to the second point, which is that Let me know if I misunderstood anything. |
Yes, good point. Did not know nice formulas were possible. The computational saving is minor, I agree. But in the end the step of integrating from I agree, that it is not uniquely a multiplication, but also requires a slight modification of the damping matrix |
The VelocityImpedance controller as used by the CartesianTwist is in reality a passive controller, this can be check by looking at the underlying math (des == desired; fb == feedback)
q_des = w_des * dt ; q_fb = 0
tau_ctrl = K(q_des - q_fb) + D (w_des - w_fb) = (K *dt + D) w_des - D
using new dynamics which are given by: hat{w}_des = (K *dt + D) / D w_des we can rewrite the control law as a simple passive one:
tau_ctrl = D (hat{w}_des - w)
I think using the simplified control law, the controller can be simplified (in the number of operations), hence made simpler for a user to understand as well as lower computational cost.
Additionally, reducing the redundant parameter K will allow easier tuning.
The text was updated successfully, but these errors were encountered: