Inverse Kinematic: what are the parameters that influence the joint velocities?

Typically: "How do I... ", "How can I... " questions
Post Reply
gvgramazio
Posts: 17
Joined: 23 Feb 2018, 14:46

Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by gvgramazio » 13 Nov 2018, 14:35

I'm trying to apply IK to some of the chain of joints in my model. After following the inverse kinematic tutorial I successfully did it. However, some joints are more reactive than others. In this case I have a revolute joint followed by a prismatic one. The prismatic one is very reactive while the revolute one is not. This mean that changes on the linear position of the dummy target are followed very fast while changes on the angular position of the dummy target are too slow. How could I influence the reactivity of the joints? In force/torque mode I've parameters like force and target velocity, what do I have now?

gvgramazio
Posts: 17
Joined: 23 Feb 2018, 14:46

Re: Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by gvgramazio » 13 Nov 2018, 16:45

I forgot to mention that pseudo inverse method doesn't work. I think that this is due to the fact that it's in a singular configuration. For this reason I used DLS.

After my original post, I found out that by modifying the damping value I can modify the velocity of the joints involved. However I could not set each joint independently.

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

Re: Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by coppelia » 14 Nov 2018, 08:20

Hello,

you could try to play with the angular/linear Resolution weights in the IK element. Or you can try to adjust the joint upper velocity limit in the joint dynamic properties.

Cheers

gvgramazio
Posts: 17
Joined: 23 Feb 2018, 14:46

Re: Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by gvgramazio » 14 Nov 2018, 09:03

Thanks for your reply. If I set the joint to IK mode I cannot edit the dynamic properties. What are the changes in performance if I use the hybrid mode? It's like setting it to force/torque mode?

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

Re: Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by coppelia » 16 Nov 2018, 11:52

Oh, I thought you would operate your mechanism in hybrid mode (i.e. IK with dynamics). When only using kinematics, then the IK algorithms has no nothion of time and simply tries to bring the tip onto the target. You can try reducing the number of iterations, or increasing the damping. But this is not such a good practice. Best would be to have IK compute the target configuration of your joints, but without applying it to the mechanism (use sim.checkIkGroup for that)). Then you can interpolate from current configuration to the target configuration as it pleases you.

Cheers

gvgramazio
Posts: 17
Joined: 23 Feb 2018, 14:46

Re: Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by gvgramazio » 16 Nov 2018, 18:05

How could I do it in practice? Should I check "explicit handling" in inverse kinematic dialog and then manually set the position of the joints involved through remote API at each timestep?

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

Re: Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by coppelia » 19 Nov 2018, 07:40

You have several possibilities to do that. The simplest would be to have the IK group in explicit handling. Then, each time you receive an initial manipulator configuration from your external application, set all joints to the specified values (with sim.setJointPosition), then call sim.handleIkGroup upon your IK group.

Cheers

gvgramazio
Posts: 17
Joined: 23 Feb 2018, 14:46

Re: Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by gvgramazio » 21 Nov 2018, 15:30

Sorry to bother you again. What is the purpose of calling simHandleIkGroup after I already set the joint to their specified positions?

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

Re: Inverse Kinematic: what are the parameters that influence the joint velocities?

Post by coppelia » 23 Nov 2018, 07:23

Calling yourself sim.handleIkGroup only makes sense if your IK group is flagged as explicit handling.

Above function will try to bring the tip dummy onto the target dummy for your IK elements in your IK group. If you manually set the joint to a specific position, and the tip dummy is already on the target dummy, nothing will happen. If however your tip dummy is not on your target dummy, then all joint values will be newly computed.

If your mechanism is redundant, then it sometimes makes sense to set one joint in passive mode (while keeping the others in IK mode). This way, the passive mode joint will simply act as a rigid joint that only you control.

Cheers

Post Reply