[错误]: SAPCoupler 忽略了 MJCF 联合等式的多项式。
作者: duburcqa创建于 2026年9月7日更新于 2026年9月7日
错误描述 SAPCoupler 将联合等式映射为 q1 - q2 = 0: genesis/engine/couplers/sap_coupler.py 中的 build_constraints 会写入 Jt = [1, -1],而 compute_regularization 会使用 g0 = q[i_dof1] - q[i_dof2],无论 eq_data 为何。刚性约束求解器会尊重完整的约束,即 q1 - q1_0 = a0 + a1 * d + a2 * d^2 + a3 * d^3 + a4 * d^4,其中 d = q2 - q2_0,在 #3290 中,缺失的 joint2 会被设置为 d = 0。因此,无论 polycoef 是否与 0 1 0 0 0 不同,或者是否缺少了 joint2,两个耦合器都会模拟来自同一 MJCF 的不同约束。 #3290 在 SAP 耦合器中拒绝了在构建时缺失的 joint2 形式;非标识多项式将被默默地通过。
内容来源: Genesis-Embodied-AI/genesis-world