问题描述
我正在使用基于 Box2D 物理库的 openai-gym 环境 CarRacing-v0。 通过 env.car.hull 我可以访问位置、角度、速度,但不能访问加速度。
在 Box2D 中搜索我发现(但不确定)下面显示的属性,我认为没有直接的方法可以使汽车加速
'b2BodyDef': ['active','allowSleep','angle','angulardamping','angularVeLocity','awake','bullet','fixedRotation','fixtures','inertiaScale','lineardamping','linearVeLocity','position','shapeFixture','shapes','type','userData',],
目前使用速度积分来获得加速度,但必须有更好的方法通过 Box2D。 有特定图书馆和环境经验的人可以帮助我。谢谢
解决方法
没有比这更好的方法来做你已经在做的事情了。
当这一步完成后,在那个瞬间,显示前一步的任何加速度平均值是没有意义的,因为您可能以一种方式加速,然后另一种方式加速,例如从墙上弹起。至于考虑单个步骤是从
step(float timeStep,int velocityIterations,int positionIterations)
您可能会想象将 velocityIterations
和 positionIterations
设置为 1
,但这只是与上述相同情况的不太准确的版本。最好将绝对速度与时间步长进行比较,因为您想将加速度矢量(有方向)转换为标量(大小)。