Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Offset on robot machining path when stacked mechanisms are used


I have a station which consist of a robot arm and 2 stacked linear mechanism. 1st mechanism have limits and has predefined positions during machining process. 2nd linear axis moves the part which is being processed and is synchronized with the robot arm.
In this setup I noticed an offset in X axis appears in the generated program whenever 1st mechanism changes its position. This offset is equal to 1st mechanism position change. And updating robot machining project (RMP) does not fix that problem. Only restarting RoboDK seems to fix this issue and robot arm follows cutting path again. 

I attached an example environment in which you should be able to reproduce it. Steps to reproduce:
1) Update RMP. Robot arm follows cutting path as it should.
2) Move 1st mechanism (KUKA KL) to a different position.
3) Update RMP again. An offset from the cutting path should be present when robot tries to execute it
Restart RoboDK to make it work again.

Also noticed that with synchronization turned off, this issue disappears.

Attached Files
.rdk   bug.rdk (Size: 539.81 KB / Downloads: 99)
This type of setup is not supported with synchronized mechanisms. You are bypassing the concept of synchronized axes by adding a second axis attached to the first one but not being considered for synchronization.

It would make more sense to bundle the 2 linear axes as one and then synchronize that mechanism.
Thanks for clarification. I understand this is not typical. I don't see much point adding it combining these mechanisms as 1st axis have predefined position to which it moves before the machining process. And during machining process it doesn't move. Because it doesn't move, the first time RMP is updated, synchronization works as intended.
One small issue is when 1st axis predefined position is changed and RMP is updated, then the offset appears. So it sounds like base frame coordinates of 2nd mechanism (Conveyor Belt (2m) Base) are not updated (at least not until RoboDK is restarted).
Because it starts working again after RoboDK restart with new 1st axis predefined position, it seems like some data is not updated when recalculating machining path
It is the synchronized mechanism itself which is not recalculated. You could just re-link your synchronized mechanism to recalculate it again and fix the issue with the unexpected offset.

Users browsing this thread:
1 Guest(s)