facebookresearch / phyre

PHYRE is a benchmark for physical reasoning.
https://phyre.ai
Apache License 2.0
431 stars 64 forks source link

object-based knowledge representation #24

Closed ndrwmlnk closed 4 years ago

ndrwmlnk commented 4 years ago

Hi,

is it possible to get from the physics engine additional object-based information? For example:

If it is not possible to get this information from the physics engine, could you consider to provide this information in a python variable? For example, the initial x y positions of all objects are already available in variables simulator.initial_featurized_objects[0].xs and simulator.initial_featurized_objects[0].ys

I may assume that this additional information is not in the primary focus of the benchmark, but it would benefit a broader community that takes into account object-based knowledge representation.

Thanks!

akhti commented 4 years ago

Hi there! Both positions and angles of all the objects are exposed when need_objects=True is passed to simulate_action. See: https://phyre.ai/docs/simulator.html#phyre.ActionSimulator.simulate_action and https://phyre.ai/docs/simulator.html#phyre.FeaturizedObjects

It also exposes sizes and types of the objects so the full state is known.

cc @lauragustafson

ndrwmlnk commented 4 years ago

Thank you @akhti, very helpful!

In addition to this, to decide whether the task is SOLVED or NOT_SOLVED you are, probably, listening for interaction (touch) events between goal object and goal subject, or? Is it possible to get a list of all such interaction events (e.g., touch) between all objects (sprites) in an episode? That would be great to have it in a python variable e.g., simulation.featurized_objects.

Thanks!

akhti commented 4 years ago

Closing as stale. Please re-open if still a problem