Programmatically create a non-rigid connection (i.e position but not orientation)

Typically: "How do I... ", "How can I... " questions
Post Reply
SRL_Max
Posts: 8
Joined: 13 Jun 2018, 09:02

Programmatically create a non-rigid connection (i.e position but not orientation)

Post by SRL_Max » 19 Jun 2018, 04:49

Hello,

For the purpose of simulating a climbing robot, I need to find a way to simulate gripping/grasping of a surface by the robot's leg tips.

What I had in mind was to sample dummies on my terrain and then attach a leg tip to the terrain through a dummy-dummy link, kind of how the suction cup works but the other way around.

My problem is that a dummy-dummy link created through sim.setLinkDummy tries to match both position and orientation, but in my case I only want to match position (I have compliance in my gripper).

Therefore I would like to know how I can sequentially create/destroy such a non-rigid connection between my robot's leg tip (dynamic, respondable) and the terrain (static, respondable).

Best,
Maxens

coppelia
Site Admin
Posts: 6800
Joined: 14 Dec 2012, 00:25

Re: Programmatically create a non-rigid connection (i.e position but not orientation)

Post by coppelia » 20 Jun 2018, 08:58

Hello Maxens,

simply use a spherical joint. Something like:

Code: Select all

Terrain --> dummyA
RobotFoot --> sphericalJoint --> dummyB 
or:

Code: Select all

Terrain --> sphericalJoint --> dummyA
RobotFoot --> dummyB 
Cheers

SRL_Max
Posts: 8
Joined: 13 Jun 2018, 09:02

Re: Programmatically create a non-rigid connection (i.e position but not orientation)

Post by SRL_Max » 20 Jun 2018, 13:09

Hello admin,

A simple and elegant solution.

Thanks a lot.

Post Reply