I'm building a robot arm that grabs a pipe. The pipe has two endpoints which are wider than the pipe itself. After the pipe is picked up, it can slide through the gripper, until the wider part runs into the gripper. To do this I would like to use a configurable joint that's limited on the yMotion. Unfortunately the yMotion property is symmetrical, so this idea would only work when the pipe was grabbed exactly in the middle. Is there a way to accomplish this ?
[Edit] I've put together a test scene that illustrates what I'm trying to achieve.
The solution I'm working on does this :
There's two things going wrong with this scene. If I position the dummy (which is kinematic) with its transform, the hinge joint does not experience any gravity of the pipe anymore. If I position the dummy by means of Rigidbody.MovePosition(), the hinge works fine, but it seems like the positioning is not having effect. Because the sliding joint is anchored incorrectly and the pipe slides out too far.
I also tried moving the joint's anchor, but that did not have any effect whatsoever.