Hello everyone
This was intended to be posted to the pyBullet forum but the registration
there is nonfunctional.
We are in the process of adapting bullet's 6D joint constraint for some special
case use. In order to do that we need to exactly understand how bullet calculates
the constraint axes for the angular part. This is done in the function
btGeneric6DofConstraint::calculateAngleInfo()
The code calculates rotation errors in the form of euler angles and then
attempts to calculate the axes used for constraint resolution. The calculated axes
are not the euler axes and there is a comment which tries (and fails in our
case) to explain why other axes need to be used. There are hints in the comment
how to derive the formulas. The comment says '... write the expression for angle[0]
from GetInfo1 ...' but we don't know what kind of expression that should be.
We have done online research but haven't found any theoretical explanation that
would explain the formulas used in the code.
Any help is greatly appreciated.