Robot Primer 12: Moving In Work Coordinates
While researching for this post, I reviewed the relevant Denso manual (the Setup Guide).Â Although its dry text is no match for my scintillating style, I have to say it gives a good, illustrated explanation of the various coordinate systems.Â I am not going to try to compete with it; instead, I will give my own summary with some videos and, in an effort to get your programming juices flowing, concentrate on why and where you might want to use these features.
I will be using a simulated robot recorded in WinCaps III simulation mode (kudos to Denso for providing a 90-day WinCaps III trial version, available to everyone).Â I chose a 6-axis articulated robot because it can do motions that are impossible using a SCARA or Delta robot. I am using Denso in my examples, primarily because I can use the simulator and am familiar with their robots.
As I’ve noted before, the basics should apply to other robots,Â but the details will vary for different robot controllers,Â Â Of course the robot type determines what poses the robot can do (for example, a 4-axis SCARA can only roll about the Z axis (Rz), not the X axisÂ or Y axis).
Note that you can click on the pictures to see a bigger version.
Work coordinates are rectangular coordinates fixed relative to the base of the robot.Â Work coordinate systems are defined relative to the Base coordinates by specifying:
- the coordinate origin (X, Y, Z) defined in base coordinates
- the angles of rotation (Rx, Ry, Rz) around the corresponding base coordinate axes (Rx, Ry, Rz).
Base coordinates are work coordinates with the origin at the base of the robot.Â In Denso terminology, the base coordinates are “3-dimensional Cartesian coordinates whose origin is at the center of the robot basement”.
Example Base And Work Coordinates
I setup my robot work space with a few objects:
- Denso robot with my simple end effector
- A table with two of my simple fixtures.Â The second fixture is rotated 180 degrees from the first fixture.
- Two work coordinate systems, Work1 for Fixture 1 and Work2 for Fixture 2.Â When the robot is in the appropriate Work coordinates, the fixtures’ positions are exactly the same.
The picture, above, shows Base coordinates (Work0), Work1, and Work 2.Â The lines show the direction of the positive axes (+X, +Y, and +Z).Â TheÂ bottom window shows the definition of Work1 and Work2 relative to Base coordinates.Â NoteÂ that Work2 has a Rz value of 180 degrees, and you can see that the direction of Work2’s X and Y axes are exactly opposite Work1’s.
Coordinate Axes and Angles of Rotation
The first picture above shows the Work1 coordinate axes (X, Y, Z) and angles of rotation (Rx, Ry, Rz), and the second picture shows the Work2 coordinate axes and angles of rotation.Â The lines and arrows point in the direction of positive movement.
The Base coordinate axis directions (X, Y, Z) are the same as Work1’s axis directions, but the origin is different.Â The angles of rotation are the same for both.
The coordinate axis directions are different between Work1 and Work2: because Work2 is rotated 180 degrees about the Z axis, its X and Y axes point in the opposite direction from Work1’s X and Y axes.
The angles of rotation define the attitude of the robot flange, and are also called yaw, pitch, and roll.Â Their origin always is at the center of the robot flange surface (you can see that the origin is the same for both Work1 and Work2), but the directions are the same as the Work coordinate’s X, Y, and Z axes (so Work2’s Rx and Ry directions are reversed compared to Work1’s Rx and Ry directions).Â When you rotate along Rx, Ry, or Rz, the origin (which is the center of the flange surface) will stay in the same X, Y, Z position, but the rest of robot will rotate around that axis.
Putting It All Together: Robot Movements in Base World Coordinates
My youtube video shows some basic movements in Base World Coordinates, moving in CP (straight line) mode.Â Try to match my descriptions above with what the robot is doing: making this video took a lot of time, so I hope it helps make my prose a lot clearer.
More on World Coordinates, of course, including potential applications.