Robot Primer 13: Why Use Work Coordinates
Since WorkÂ coordinates are transformed into Base coordinates in the end, why bother?Â Why not just use base coordinates?Â Here are some possible reasons; I’m sure creative programmers have come up with others.
- Using Work coordinates can be more natural.
- Using Work coordinates can save re-teaching points.
- UsingÂ dynamically updated Work coordinate makes complex situations such as picking and placing from a moving conveyor easy.
Next I’ll look at some examples in more detail
Using Work Coordinates To Save Re-Teaching
If we use base coordinates andÂ the robot’s base coordinates change, then all the points have to be re-taught.Â However, if we’ve used world coordinates, all we have to do is to add the offset between the old and new base coordinates, and we’re done.
Some reasons why the robot’s base coordinates could change:
- Robot needs to be re-calibrated
- Robot needs to be replaced by another robot of the same or possibly different type
- Moving the whole base plate to a different robot cell
- If base plate fabrication is precise enough, to allow easier production
Let’s look at a simple example using a simple assembly robot.
Simple Assembly Cell
This imaginery work cell uses a robot to:
- Pick up the circular yellow bases from the top left pallet (defined by points P1 to P4)
- Place the base in the assembly fixture (P13) and add glue
- Pick up the blue part from the bottom left pallet (defined by P5 to P8) and place it onto the base.
- Move the completed part to the inspection fixture (P14)
- Finally move the inspected part to the output pallet (defined by P9 to P12).
The base plate is big blue rectangle, andÂ the base coordinates are represented by the even larger gold rectangle, with the coordinates for P1 shown (54.5mm and 85.0 mm).
My example is simple and easy, there’s no need for additional complications such as work coordinates, right?
Work Coordinates to the Rescue
But nowÂ suppose the robot breaks down and is replaced by a new robot, with slightly different base coordinatesÂ (represented by the bold red rectangle).
As you can see, the position of P1 has shifted quite considerably on the base plate.Â So we will need to re-teach all 14 points.
No big deal, right?Â But now suppose the pallets and fixtures and interchangeable so we can assembly 10 different types of parts.Â Now we have to re-teach 140 positions: ouch!
Unless, of course, we used work coordinates – then all we have to do is change the offset so that the work coordinates for the robot matches the work coordinates for the old robot.Â Now a little bit of extra work pays off: we only have to teach 1 work coordinate instead of 140 positions.
I actually saw this situation; a robotic system I serviced had its robot re-calibrated, and the program used base coordinates, so all the points had to be re-taught.