Skip to content

Kinematic constraint between a gripper and a target object #49

@harryzhangOG

Description

@harryzhangOG

Is your feature request related to a problem? Please describe.
Hi, is there a way to implement a "sticky gripper" in maniskill? i.e. create a kinematic constraint when making contacts? Thanks.

Describe the solution you'd like
I think all I need to do is to create a fixed link between the target joint and the gripper finger?
In ManiSkill, here is what we did:

parent = env.agent.finger1_joint.articulation.get_builder().create_link_builder()
child = env.target_joint.articulation.get_builder().create_link_builder(parent)
child.set_joint_properties('fixed', limits=[], pose_in_parent=sapien.core.Pose(p=[0, 0, 0], q = [0, 0, 0, 0]), pose_in_child=sapien.core.Pose(p=[0, 0, 0], q = [0, 0, 0, 0]),\
                               friction = 1, damping = 1)

but it had no visible effect on the environment

Additional context
basically it is a gripper that upon contacting the object, it creates a kinematic constraint that never lets go of the object (analogous to a suction gripper). The core question is how to create a fixed kinematic constraint between the gripper and the target.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions