-
Notifications
You must be signed in to change notification settings - Fork 49
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
Velocity Control implementation strategy #27
Comments
Just for reference, the velocity control implemented in the iCub (I don't know about the coman) is described here: http://wiki.icub.org/wiki/Force_Control#Available_control_modes |
Problem: with he actual version of the joint velocity controller is not possible to read torque. The returned value is always the maximum. We should pass through the JointController. There is some commented code inside coman.h in sendVelocityToGazebo. May you try to use it? |
Notice that the “implicit switch” is a feature that is implemented on the iCub, but we have been discussing to remove it for many reasons. I would suggest that in the simulator you postpone implementing this logic until strictly required. Also I would like to hear your opinion on this matter. From: Silvio Traversaro [mailto:notifications@github.com] Just for reference, the velocity control implemented in the iCub (I don't know about the coman) is described here: http://wiki.icub.org/wiki/Force_Control#Available_control_modes — |
I agree on postponing the implicit switch, let's wait and see what will be running on coman. |
What I was suggesting was to use simply the JointController interface of GAZEBO, why: first it is a simple PID on velocity level, second its the common interface for all the dynamic engines (while setVelocity maybe is not available outside ODE). Before it was not working because there are problems with the PID of the position control that has to be set to 0. Alessio already opened an issue about this in the repository of GAZEBO. |
Ok, I didn't connect the PID reset issue with the velocity JointController 2013/11/7 EnricoMingo notifications@github.com
|
Why will not work? |
Ok, it will work cause somebody else wrote prepareJointVelocityMsg in the 2013/11/7 EnricoMingo notifications@github.com
|
^^ |
By implicit switch do you mean switching controller on the fly? |
Of course nobody wants to restart the simulator to change mode. The idea is that you call an explicit function to switch mode (in doing so you can reset PIDs, trajectory generators and all you need); the current iCub implementation implicitly switch modes when you send position/velocity/torque commands with a logic that is explained in the documentation page reported before. This is handy for the user, but a little confused to understand. Plus it may not be always possible, or forcing an overhead, depending on the hardware/simulation. |
Enrico, since #39 the torque readings should now correctly work also for the joint velocity control. Let's check this tomorrow afternoon together and at least part of the issue is solved (the BUG part) |
The current velocity control implementation strategy needs to be checked.
Pros:
Cons:
Possible other implementation: using gazebo's JointController
Pros:
Cons:
The text was updated successfully, but these errors were encountered: