haosulab / ManiSkill-Legacy

SAPIEN Manipulation Skill Benchmark (NeurIPS 2021 Track on Datasets and Benchmarks)
Apache License 2.0
150 stars 14 forks source link

Pose of Articulated Object from Gym Environment #20

Closed arjung128 closed 2 years ago

arjung128 commented 3 years ago

When I run the evaluation script on the pre-trained model, the environment name is OpenCabinetDrawer_1045_link_0-v0 and the level is 2153004774. self.env.get_state() returns a 94-dim vector -- what does this correspond to? Can all of this information be used to extract the exact initial articulated object asset_id and pose, or the pose throughout the evaluation episode?

xuanlinli17 commented 3 years ago

Since it's a 94-dim vector, the observation mode of the environment is state mode. We recently updated a detailed description here. Please refer to the links in the wiki for the source code used to generate the observation vector in state mode.

arjung128 commented 2 years ago

Hi, do the first {39, 69}-dim of the 94-dim vector that env.get_state() returns correspond to the description of env.agent.get_state() you provided a link to, or is the agent (robot) state somewhere else in the 94-dim vector? Would it be possible for you to provide documentation for env.get_state() in the same form as documentation is provided for env.agent.get_state()? If this will take time, could you please provide a pointer to the source code which specifies what each element of the 94-dim vector that self.env.get_state() returns corresponds to?

Additionally, where can I find the articulated object asset_id in the cabinet used in the OpenCabinetDrawer_1045_link_0-v0 environment?

Thanks!

xuanlinli17 commented 2 years ago

For first question, according to here (also the link in current wiki), env.agent.get_state() is the last (38, 68) dim of the 94 dim vector in state mode (with_controller_state is always set to False in state, pointcloud, and rgbd modes)

@tongzhoumu please add documentation for object articulation.

tongzhoumu commented 2 years ago

Hi @arjung128 ,

env.get_state() does not always return 94-dim vector, it depends on the tasks. The source code is here. Note that this state is not available in ManiSkill Challenge.

If you are designing your own experiments on the ManiSkill benchmark and need to access the object state (pose, qpos, etc.), please refer to these lines.

The partnet_mobility_id of OpenCabinetDrawer_1045_link_0-v0 is 1045.

arjung128 commented 2 years ago

Got it, thanks!