-
Notifications
You must be signed in to change notification settings - Fork 311
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
fix gravity compensation in external torque computation #198
fix gravity compensation in external torque computation #198
Conversation
@JohannesPankert Good catch! I verified your solution, and it indeed improves the Before @JohannesPankerts fix: After @JohannesPankert's fix: |
I merged in the changes proposed by @rickstaa . |
@JohannesPankert I also double-checked to see if the gravity compensation component was not already included in |
I also noticed that Apart from that, it would be nice to have quick access to the joint torques applied on the joints by gravity (see #207). Merging #198 might be enough to achieve this since it allows people to infer these torques using the |
Hi Johannes, thank you for your contribution. We are currently quite occupied with other stuff, but I have this PR in my mind and I promise that we will not forget it ;) |
This field is only ever set when using motion generators, i.e. the position- or velocity interface of the FCI. When sending a target value, the FCI sends you back the generated trajectory trajectory in `q_d`, `dq_d` and `ddq_d`. However franka_gazebo does not yet support any motion generator interface. Via torque control interface the robot sets these values to zero indicating that no motion is generated, which we replicate in franka_gazebo simulation. Note that `q_d` is a special case. This updates also in torque control mode and also during guiding to reset motion generators on replanning attempts. For brewity we just set it to `q` in franka_gazebo
ade2bb6
to
68a1e34
Compare
Hey @JohannesPankert, sorry that it took us so long to review and test this. A couple of notes regarding your solution:
I already implemented a draft for this and pushed it onto your branch. If that is fine with you, we can merge this PR then. Thanks again for this contribution. |
Hi @gollth |
@JohannesPankert Just a heads up, I found another bug in the calculation for the external torque see #228. |
…amespaces to develop * commit 'c424884a7d51224ab3f297dfacae22c7b9ac959a': FIX: Make change BREAKING FIX: Increase stop speed tolerance in franka_gazebo test CHANGE: Move franka_gazebo service namespaces into `franka_control`
Hi, @JohannesPankert , I downloaded the latest version and still found this problem. Could you please help me with this? |
@JohannesPankert Sorry, I was using Melodic version and experienced this issue. I just tried using Noetic version and then everything is fine. Thanks for your contribution! |
Hi, |
Hi @Betancourt20, Regarding the noise: Can you post some more detail about the example you where testing, the magnitude of your noise and what you would expect? |
Hi @gollth,
I'm sure I missing something here. Thanks for your time. |
@Betancourt20I've just opened issue #364, addressing a bug in the |
The joint commands the gazebo plugin receives from the controllers are gravity compensated but the measured efforts at the joints are not.
This commit fixes the computation of the external torques by adding the missing gravity terms.
With the fix, the external wrench published on the topic
/panda/franka_state_controller/F_ext
is reasonable.