April 24, 2019, 10:23:57 PM
Robotforum | Industrial Robots Community

 UR Joint Configuration

Author Topic:  UR Joint Configuration  (Read 366 times)

0 Members and 1 Guest are viewing this topic.

February 12, 2019, 02:30:18 PM
Read 366 times
Offline

GallusRoboticus


We have a UR10 mounted on a table.  Occasionally, when moving to a calculated pose, the robot will choose a joint configuration that attempts to move the elbow below the table during motion to the point.  It does not always do this, even for the exact same point; usually the robot will pick a joint configuration keeping the elbow above the table.

Is there a way to control the joint configuration of a pose?  Or is there at least a way to have the elbow avoid the table?  I've looked into safety planes, but it seems like that only looks at TCP and not the intermediary joints.
 

Today at 10:23:57 PM
Reply #1

Advertisement

Guest

February 12, 2019, 06:39:27 PM
Reply #1
Offline

matthewd92


What’s happening is the robot is deciding what the most efficient joint path is to get from one point to another. When it does this it is looking to basically rotate the joints as little as possible, annoying as sometimes that is just not what you want.

When we see this we generally just add an intermediary point so that there is more of a defined path to get there. The other option we deploy at times is to change from a moveJ to a moveL if possible as this is translating the tool point not the joints and so you can control the path a little easier.  Just have to watch out for singularities as linear moves do not handle those well.

The more advanced option is instead of using a waypoint is to store your point as a list of joint positions, then use that with a script move command to get to the exact joint configuration you want. This will not take any TCP changes into consideration though, so from that perspective it’s not flexible but does ensure that you have the robot exactly where you want it. This could be used for an intermediary position so that the final waypoint still references tcp changes.


Sent from my iPhone using Tapatalk

February 12, 2019, 06:57:27 PM
Reply #2
Offline

GallusRoboticus


Yeah, I thought about changing it to a moveL, but would that really guarantee that we wouldn't hit the same issue? 

I find it extremely odd that it calculates two distinct configurations given the same start and end points, seemingly at random.

February 12, 2019, 07:26:10 PM
Reply #3
Offline

matthewd92


You may be right on the edge of where both solutions yield the same result.  The thing to remember with 6 axes there are two kinematics solutions to the same point, so if the distance from your current position to the new position for both solutions is the same then the robot will “randomly” choose one over the other, based on exactly where the arm is.

The advantage of the moveL is unless the elbow can flip while making a linear path then it doesn’t have that option. Not sure I have ever seen one flip elbows on a linear move, have definitely seen it on joint moves.




Sent from my iPhone using Tapatalk

February 14, 2019, 04:03:57 PM
Reply #4
Offline

SkyeFire

Global Moderator
There is a "dodge" that can help get around this, using the GET_INVERSE_KIN function.  This accepts an Cartesian position as an argument, and returns the equivalent in axis angles.  The key here, though, is that one of the optional arguments for GET_INVERSE_KIN is a list axis angles "near" the result you want, which allows you to preemptively disambiguate the function's return value.

February 14, 2019, 04:20:54 PM
Reply #5
Offline

matthewd92


That’s a really good idea, I didn’t think about that either. We have an internal project that we could use that on possibly.


Sent from my iPhone using Tapatalk

February 18, 2019, 08:46:50 PM
Reply #6
Offline

GallusRoboticus


That's good to know about the GET_INVERSE_KIN function.  I'm able to work around the issue so far by adding an intermediary point and switching to moveL.  I will also be implementing a position range joint limit on the shoulder.

Today at 10:23:57 PM
Reply #7

Advertisement

Guest


Share via facebook Share via linkedin Share via pinterest Share via reddit Share via twitter

xx
Hyundai Robot *Joint Zero Poistion *Joint rotation direction

Started by Jamal on other Robots

0 Replies
1137 Views
Last post July 15, 2014, 07:38:07 AM
by Jamal
clip
KRC4 Safety Configuration/Cell Configuration

Started by bneill93 on KUKA Robot Forum

1 Replies
1343 Views
Last post February 29, 2016, 05:45:47 PM
by panic mode
xx
Max acceleration per joint

Started by Tali on KUKA Robot Forum

5 Replies
1450 Views
Last post April 12, 2017, 03:21:45 PM
by hotRoboter
xx
Set Joint Speed

Started by speedyhoopster on Universal Robots

4 Replies
2793 Views
Last post September 07, 2016, 11:12:58 AM
by speedyhoopster