-
Notifications
You must be signed in to change notification settings - Fork 26
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
Rotational error added to pd controller #142
Conversation
…n it is dealing with revolute joints
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job. Thanks for the PR. See my inline comments.
… func to cpp, cleaned import in hpp, changed name of func
@dinies can you check if the new code is working for you? I did a few tests and it seems OK for me. Once you confirm, I will merge.. Thanks! |
It works in my use case, but I only use the controller with prismatic and revolute joints so I could not say anything about the other joint controls (ballJoint, eulerJoint, freeJoint). Speculation : Is it possible that when we are using the FreeJoint or BallJoint type (since val is of dimension six or three as opposed to a scalar value) to populate the error vector then we could incur dimensionality problems when the error is flattened (.array()) and multiplied and added to _Kd and _Kd*dq ? |
It does not have to do with the generalized dof dimension, but with the fact that in control we can define which dimensions to control and in arbitrary order. So this means that someone can choose to re-orient the degrees of freedom of the FreeJoint or to control only one of them.
This is enough for now.. Thanks.. |
Merging... Thanks a lot @dinies! |
Rotational error added to pd controller
enhanced pd_controller on error computation of angular quantities when it is dealing with revolute joints.