How can I limit the working space of the robot?

Typically: "How do I... ", "How can I... " questions
Post Reply
veneneux2804
Posts: 2
Joined: 09 Apr 2024, 09:06

How can I limit the working space of the robot?

Post by veneneux2804 »

I have just started learning vrep for a week and I wonder is there and way I can limit the position degree of a joint during IK calculation?
I want my UR10 robot draw between 3-4 waypoints but it keeps drawing with uncomfortable joint like in the picture

Image

When I try to change the configuration of the EF joint, the robot will stop working
I'm using code from the smoothMovementsInFkAndIk
Thank you!

fferri
Posts: 1231
Joined: 09 Sep 2013, 19:28

Re: How can I limit the working space of the robot?

Post by fferri »

There is an option to avoid joint limits in simIK.setGroupFlags:
simIK.group_avoidlimits: joint limits are actively avoided

A more customizable approach to drive the robot configuration towards "better" poses could be of introducing a secondary task, e.g. to attract the elbow up, without affecting the accuracy of the primary task.


Another more advanced approach known in robotics literature consists in -provided the robot has redundant degrees of freedom for the task- computing the null space of the jacobian matrix. The span of the null space will give you all the joint directions in which to move while keeping the tip-target error to zero, e.g. the so called "self motion" can be obtained by this. The simIK plugin offers various way to obtain the jacobian matrix (simIK.computeJacobian, simIK.computeGroupJacobian, with a callback argument to simIK.handleGroup, ...) then CoppeliaSim provides a linear algebra library (matrix.lua) to conveniently work with vectors and matrices.

Post Reply