我正在使用OpenAI-Gym环境赛车-V0,它基于Box2D物理库。通过env.car.hull,我可以访问位置,角度,速度,但不能访问加速度。
在Box2D内部搜索,我发现(但不确定)下面显示的属性,我假设没有直接的方法来获得汽车的加速度
'b2BodyDef': ['active', 'allowSleep', 'angle', 'angularDamping', 'angularVelocity',
'awake', 'bullet', 'fixedRotation', 'fixtures',
'inertiaScale', 'linearDamping', 'linearVelocity', 'position',
'shapeFixture', 'shapes', 'type', 'userData',
],目前使用速度积分来获得加速度,但肯定有更好的方法通过Box2D。在特定的库和环境中有经验的人可以帮助我吗?谢谢
发布于 2021-06-14 20:26:06
没有更好的方法去做你已经在做的事情了。
当这一步完成时,在那个瞬间,显示前一步的平均加速度是没有意义的,因为你可能以一种方式加速,然后又以另一种方式加速,例如从墙上弹跳。至于考虑到单个步骤是从
step(float timeStep,
int velocityIterations,
int positionIterations)您可能会想象将velocityIterations和positionIterations设置为1,但这只是上面相同情况的一个不太准确的版本。将绝对速度与时间步长进行比较最好,因为您需要将加速度向量(具有方向)转换为标量(幅度)。
https://stackoverflow.com/questions/67905871
复制相似问题