-
Notifications
You must be signed in to change notification settings - Fork 55
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
Custom Impedance control problem #247
Comments
hi @Hydran00 and thank you for the very detailed report. There is a lot to take in. Just trying to understand. In essence, the commanded torque (on the robot) deviates from the requested torque (as computed by your implementation), hence the actual robot overshoots? I have to admit that this is a little beyond what we are doing. The dynamic parameters in the URDF are not very accurate. Could this cause the issue? I have to say that your repository is starting to be quite awesome! I am very much looking forward to try it out and use it for our own research. Maybe it makes sense to add a link to your repo somewhere on the landing page here, possibly just add it to the |
Hi @mhubi, thank you for the reply. In essence, the comparison is done with the following setting: our ROS2 control:
Kuka impedance control:
So what we noticed is that the two commanded torques are different, and this may be the cause of the overshoot issue (which is visible also in the video in our We did not understand which term (that should depend on You might wonder how we did that plot, we did it by using our controller and plotting With respect to the possibility of adding our repo to your landing page, we would really appreciate that. 🙂 |
Hi @mhubii,
The following issue is not strictly related to this repo but more on the KUKA Fast Robot Interface and its capabilities, however I think this discussion could be useful.
We noticed an overshoot problem when using our implementation of the impedance control (both joint and cartesian), which uses your hardware interface. It seems that for some reason when using the proprietary
JointImpedanceControlMode
with stiffness and damping set to zero some terms are not compensated correctly.To be more clear we implemented a joint impedance mode that follows the classic equation (derivation here):
and we omitted gravity$g$ , friction $h$ and coriolis term $c$ since they should be already compensated by KUKA.
Then, since our desired joint velocity and acceleration is zero we use the following control input:
which is the torque we send to the hardware interface, implemented here, however the obtained behaviour is different from the KUKA joint impedance control with the same stiffness and damping parameters (critically damped value) so there should be some missing term that depends on$K$ and $D$ .
We also plotted the torque difference for joint
A1
between our controller (connected via FRI and KUKA impedance controller gains set to zero) and the KUKA impedance controller with the same gains as our controller. In the first image you can see the torque comparison, while on the second the joint trajectory of the same joint. This should be the cause of our overshoots. This is confirmed also by the fact that both our cartesian and joint impedance controllers do not show overshooting in the gazebo simulation.Have you ever noticed this issue?
The text was updated successfully, but these errors were encountered: