Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aligning joints of multiple instances in partnet-mobility dataset #119

Closed
zubair-irshad opened this issue Mar 20, 2023 · 2 comments
Closed

Comments

@zubair-irshad
Copy link

Hi,

Thanks for the great work! Is it possible to align the joint spaces of multiple instances in a category? For instance, I have attached two instances of the laptop category (instances 9992 and 12239) and both when rendered with 0 deg articulation result in different articulations. I confirmed this by printing out art.get_qpos() where I get art using get_articulation(scene, 'KinematicArticulation').

The function is defined as

def get_articulation(scene, name) -> sapien.ArticulationBase:
    all_articulations = scene.get_all_articulations()
    return all_articulations[0]

Is there a way to render them both in 'closed configuration'. What q_pos should I specify to render them both in a closed configuration? I am specifying qpos as follows: art.set_qpos(np.deg2rad(joint_angle_actual))

(Please note that it works for other categories like refrigerator where all instances start with closed configuration i.e. 0 degree articulation match for all instances)

r_0
r_0

@fbxiang
Copy link
Collaborator

fbxiang commented Mar 20, 2023

PartNet-Mobility will match exactly with the original ShapeNet model when joint angles are 0. The issue you observe is intended as the original laptops have different angles.
For the laptop class, you can assume the lower limit of the joint is when the lid is closed. So you can set them all to the same angle above the limit. Such convention is true for most classes (e.g. doors, drawers) as we try to keep it consistent during annotation.

@zubair-irshad
Copy link
Author

Thanks for your response! This setup works for me i.e. the closed configuration corresponds to lower limit in the urdf file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants