Author Topic: Blocking A4 Axis from Unwinding (Software limit switch and gear torque errors)  (Read 891 times)

0 Members and 1 Guest are viewing this topic.

Offline NicolasKK

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 0
  • Posts: 4
Hello everyone,

As an attempt to stop the A4 axis from unwinding itself every time the TCP goes over the center of the working area I changed the software limit switch on A4, increasing it to +270 and -270. However, now when the TCP goes from the left side of the working area to the right side it stops and gives me a gear torque error. I have also tried setting A4 to be limitless, by changing its axis type from 3 to 5 (endlos), to no avail, its either gear torque error with increased software limits, or the unwinding behaviour..

To give context to the problem I am programming a soft real time application where the robot follows my hand around by using a kinect on the tcp.
There is a PTP_REL command inside of an endless for loop that updates the position. Everything works fine until that center area is crossed and the A4 tries to unwind itself.

Any suggestions?

Offline SkyeFire

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 31
  • -Receive: 887
  • Posts: 6134
What do you mean by "A4 unwinding itself"?  How did it get wound up in the first place?  What is A6 doing at this time?  Are you passing through the wrist singularity?

Offline panic mode

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 67
  • -Receive: 727
  • Posts: 4534
I changed the software limit switch on A4, increasing it to +270 and -270.


don't increase soft limits on axis that does not have endless rotation (or has energy supply running through it...)   :stupid:


how exactly is travel range increase supposed to constrain travel?
« Last Edit: January 12, 2018, 01:55:24 PM by panic mode »
1) http://www.robot-forum.com/robotforum/kuka-robot-forum/read-first/
2) if you want reply about robot, post it in forum
3) read 1 and 2

Offline pdunz

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 2
  • Posts: 10
This sounds like a wrist singularity. If your wrist is in alignment with A4 the controller will have a difficult time moving axis to satisfy the desired position. It will attempt to unwind A4 as you call with very fast rotations of A4/A6 in opposite directions to maintain the TCP orientation. Being that your application sounds like there is no predetermined path you may need to change the mounting location relative to the "center area" to a position where a singularity will not occur in this zone. It will be difficult to write code that in a dynamic environment like yours to avoid a singularity.

Offline NicolasKK

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 0
  • Posts: 4
I see that makes sense, it is definitely a wrist singularity and the unwinding/winding behavior is the KRC's behavior when A5 approaches 0 degrees. So I have to figure out a way to make the robot avoid this area, I have heard of solutions that limit A5 from going anywhere within a +15 to -15 degrees, can I set those limitations manually? Or maybe change the behaviour implemented by the KRC when this singularity arises?

Offline NicolasKK

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 0
  • Posts: 4
Ok so I have found some useful system variables to monitor and respond to. Apparently SINGUL_DIST[3] gives me the distance to a wrist axis singularity, and SINGUL_STRATEGY defines what kind of behaviour is implemented when it approaches that singularity.

Offline NicolasKK

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 0
  • Posts: 4
What do you mean by "A4 unwinding itself"?  How did it get wound up in the first place?  What is A6 doing at this time?  Are you passing through the wrist singularity?

When A5 reaches around 0 A4 does a 360 turn and A6 remains the same. If A6 rotated the opposite of A4 to keep the tcp orientation constant then it would be no problem.

Offline SkyeFire

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 31
  • -Receive: 887
  • Posts: 6134
What do you mean by "A4 unwinding itself"?  How did it get wound up in the first place?  What is A6 doing at this time?  Are you passing through the wrist singularity?

When A5 reaches around 0 A4 does a 360 turn and A6 remains the same. If A6 rotated the opposite of A4 to keep the tcp orientation constant then it would be no problem.

...what?  I'm sorry, that makes no sense -- it is entirely abnormal behavior for a robot.  If you are performing a LIN or CIRC motion that passes too close to A5 signularity, both A4 and A6 will counter-rotate relative to each other at high speed.  If only A4 is behaving this way, then you must either have an unconventional robot configuration, or you are performing PTP motions with incorrect S&T values.

Offline Krulik

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 0
  • Posts: 8
I had proplems with singularity too. My colegue got me a function to deal with it and he got it from his friend working in KUKA. Works pretty well.

Offline Fubini

  • Hero Member
  • *****
  • Thank You
  • -Given: 4
  • -Receive: 161
  • Posts: 532
Also maybe check the following discussion, where a short Explanation of KUKAs different singularity strategies can be found:

https://www.robot-forum.com/robotforum/kuka-robot-forum/singularity-how-to-set-$singul_pos(3)/msg46988/#msg46988

@Krulik: If there is such a simple solution, why not post the code?

Fubini

Offline Krulik

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 0
  • Posts: 8
... :yesyesyes: