【发布时间】:2014-07-21 00:47:09
【问题描述】:
我有一个RevoluteJoint(Box2D/AndEngine 类型),需要不时将它移动到某个角度。当它需要移动到所述角度时,它移动的方向和速度可以是任何东西。棘手的部分是让它在正确的时刻减速,这样关节就不会越过目标并开始围绕目标角度摆动。
在我看来,变量是:
- V - 关节试图达到的角速度(以弧度/秒为单位)。负数是逆时针方向。
- W - 实际角速度。如果远离目标角度,则为负值。
- D - 达到目标角度前的距离(以弧度为单位)
- Q - 电机扭矩
- L - 角动量
- 我错过了吗?
有没有物理爱好者或机械工程师可以告诉我一个公式,让我可以根据这些变量调整 Q 和 V,从而使关节停在正确的位置?
PS:如果 V 设置为 0,关节将尝试保持其位置
【问题讨论】:
-
旋转接头有马达和限位,你在用吗?限制将防止过冲目标(尽管如果身体快速旋转,一两帧可能会有一点点过冲)。您可以使用关节电机来设置您提到的 Q 和 V 值。
标签: java algorithm math box2d physics