我有基于btMultiBody
的简单车辆。参考附带的GIF,它的底座是中心的矩形块,它包含四个圆柱形轮子,使用btMultiBody::setupRevolute
连接。每个车轮都包含一个关节马达,其配置使得车身在现场旋转。一切都运作良好,然而,每半个车轮旋转都会发生轻微的抽搐。有没有人对这种抽搐可能来自哪里有任何想法?请注意,红色球体只是标记,并且在btMultiBodyDynamicsWorld
中没有表示。一个(可能)重要的点,身体的位置通过btMultibodyLink::m_cachedWorldTransform
呈现,我没有使用任何运动状态等。
该模型的问题实际上不是由于物理原因而是由于OpenGL中的绘图。对于OpenGL,我们将四元数转换为欧拉角,并且检测和处理万向节锁的余量太大。减少此边际显着改善了可视化。