-
Notifications
You must be signed in to change notification settings - Fork 67
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
iDynTree::KinDynComputations getFrameBiasAcc() returning slightly wrong data with FrameVelocityRepresentation = MIXED_REPRESENTATION #370
Comments
This is probably affecting your work @gabrielenava @S-Dafarra @GiulioRomualdi , but you are probably not seeing it because the base velocities are sufficiently small. |
Bug Fixes --------- * Fixed cache invalidation bug in the getFrameBiasAcc method of KinDynComputations. The internal cache used by getBiasAcc was never updated even if the method setRobotState was called, so the getFrameBiasAcc method always returned the bias acceleration corresponding to the first call to setRobotState. * Fixed getBiasAcc method in KinDynComputations to take into account the effect of non-zero and non-parallel linear and angular base velocity, described in robotology#370 . New features ------------ * The getFrameAcc method that returns the acceleration of a frame was added to the KinDynComputations class. As this method takes in input every time the robot acceleration, it is computationally expensive and is not suitable to be used for multiple frames in a tight loop. If you need a computationally convenient method to access frame accelerations, please open an issue. * It is now possible to specify a non-zero bias base acceleration as input of the ForwardBiasAccKinematics function. This is convenient if the bias acceleration that is being computed is the bias acceleration obtained with the MIXED velocity representation.
@traversaro The default representation is mixed representation i assume ? |
Yes, anyhow there was actually a much more critical bug, see #482 . |
Anyway to backport to iDynTree version < c++14 ? |
Agh, it should be doable. Which version is the latest < C++14? |
I have 0.8.1 |
Just to understand, which OS+Compiler are you targeting? Are you planning to eventually move to some newer version or is some external constraint, i.e. robot with a fixed version of an OS? |
I'm just being lazy/scared to try the new version.
if (POLICY CMP0048)
# cmake warns if loaded from a min-3.0-required parent dir, so silence the warning:
cmake_policy(SET CMP0048 NEW)
endif()
Basically I'm lazy to do that all over again. |
Bug Fixes --------- * Fixed cache invalidation bug in the getFrameBiasAcc method of KinDynComputations. The internal cache used by getBiasAcc was never updated even if the method setRobotState was called, so the getFrameBiasAcc method always returned the bias acceleration corresponding to the first call to setRobotState. * Fixed getBiasAcc method in KinDynComputations to take into account the effect of non-zero and non-parallel linear and angular base velocity, described in #370 . New features ------------ * The getFrameAcc method that returns the acceleration of a frame was added to the KinDynComputations class. As this method takes in input every time the robot acceleration, it is computationally expensive and is not suitable to be used for multiple frames in a tight loop. If you need a computationally convenient method to access frame accelerations, please open an issue. * It is now possible to specify a non-zero bias base acceleration as input of the ForwardBiasAccKinematics function. This is convenient if the bias acceleration that is being computed is the bias acceleration obtained with the MIXED velocity representation.
Fix cherry-picked on the top of |
@traversaro I owe you many birras. Thanks Silvio ! |
Fixed by traversaro@5eec4d4 . |
See #368 .
The text was updated successfully, but these errors were encountered: