微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以直接从 Box2D 主体获取加速度测量吗? (Python) (Box2D)

如何解决我可以直接从 Box2D 主体获取加速度测量吗? (Python) (Box2D)

我正在使用基于 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)

您可能会想象将 velocityIterationspositionIterations 设置为 1,但这只是与上述相同情况的不太准确的版本。最好将绝对速度与时间步长进行比较,因为您想将加速度矢量(有方向)转换为标量(大小)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。