Open arpspoof opened 4 years ago
Thanks for reporting. We will investigate ASAP.
Hello, when I tried this experiment on March release, we can solve for all joints' acceleration by CRBA correctly. However, if we attempt to solve base accelerations (floating base), it turns out that we can only solve angular acceleration correctly and the linear part is wrong. I'm not sure but I try to change the following part of PhysX code:
File: DyFeatherstoneInverseDynamic.cpp Function: FeatherstoneArticulation::getGeneralizedGravityForce When passing gravity into inverseDynamicFloatingBase, instead of using the negated one, I changed to to the original gravity in function argument list.
After this change, everything solved by CRBA will match exactly with actually simulated result by ABA including root's angular and linear acceleration. Therefore, I guess that gravity direction is messed up in either forward dynamics part or inverse dynamics part.
Hope that will help the investigation. (Note that the above experiment is done on March version so this issue should be an old one)
Thanks for the follow-up details
This issue happens only after the August change is released. I'm considering it as a potential regression bug.
Observation: Accelerations calculated from CRBA algorithm is different from actual simulated accelerations (calculated by ABA). I'm using a 28 dof robot and the 5 entries of the solved acceleration by CRBA has large difference with actual acceleration.
Rough step to reproduce:
I'm suspecting there might be some inconsistency between the two dynamics algorithm caused by the August update. (If I use the March version, the two results will perfectly match).