Robot Motion, Frames, and Teaching Points
Choose joint, linear, or circular motion, use the right coordinate frame and TCP, steer clear of singularities, and teach and test a simple robot program.
Table of contents
A robot program is a list of points and the moves that connect them. Most operators will never write one, but knowing how the arm thinks lets you troubleshoot, talk clearly with a programmer, and predict where the arm is about to go. That last part keeps you safe. All jogging and teaching described here happens in manual mode, with the enabling device in hand, under your plant's procedure for working in the cell.
What You Will Be Able to Do
- Pick the right coordinate frame for a job and predict how the arm will move in it.
- Explain what the tool center point is and what goes wrong when it is off.
- Choose between joint, linear, and circular moves.
- Recognize a singularity and say how to get around one.
- Teach a simple pick-and-place routine and test it in stages.
How a Robot Knows Where It Is
A six-axis arm has joints labeled J1 through J6. J1 rotates the base, J2 and J3 are the shoulder and elbow, and J4 through J6 are the wrist. Each joint has an encoder, a sensor that reports the joint's angle to the controller. From the six angles, the controller works out where the tool is in space. You can describe the same pose two ways: as joint angles (J1 through J6), or as X, Y, and Z plus three angles for how the tool is tilted.
For those numbers to mean anything, each encoder count must be tied to a real joint angle. Setting that link is called mastering. If mastering is lost, the robot no longer knows where it really is, and it needs to be remastered before its taught points can be trusted.
Coordinate Frames
A frame is a set of X, Y, and Z directions fixed to something. When you jog, the frame you pick decides which way the arm goes when you press a key. Names differ a little between brands.
| Frame | Fixed to | Use it for |
|---|---|---|
| Joint | Each axis on its own | Moving one axis, or backing off a joint limit |
| World | A fixed point, usually the robot's base | General moves that stay square to the floor |
| Tool | The tool itself, so it moves with the tool | Moving in or out along the tool's own line |
| User (work object) | A fixture or part | Work tied to a fixture that could shift |
The World frame never moves. Jog +Z and the tool goes straight up, whatever the wrist is doing. In the Tool frame, Z usually runs along the tool's centerline. Jog +Z there with a welding torch and the torch moves along its own axis, even at a 45 degree tilt.
To remember the directions, use your right hand. Point your thumb along X and your index finger along Y. Your middle finger then points along Z.
Warning: Before you press a jog key, check which frame is active and say to yourself which way the arm should go. The wrong frame can send the tool into a fixture, or toward you.
Why User Frames Save Work
Say a welding fixture gets moved 12 mm in X and 3 mm in Y, and the program has 40 points. If those points were taught in the World frame, every point is now wrong. If they were taught in a User frame set on the fixture, you reteach the frame, which often takes three points, and all 40 shift with it.
Tool Center Point
TCP stands for Tool Center Point. It is the reference spot on the end effector that the robot positions and measures speed at. It might be the tip of a welding wire, the center of a suction cup face, the spot between two gripper fingers, or the tip of a glue nozzle.
A technician sets the TCP by bringing the tool tip to a fixed pointer from several directions, and the controller calculates where the tip is relative to the wrist. Payload data, the weight of the tool and where it sits, is entered at the same time. Wrong payload data can cause false collision faults and rough motion.
A simple test tells you if the TCP is right. Rotate the tool around the TCP. The tip should stay on one spot while the wrist moves around it. If the tip wanders, the TCP is off.
| Symptom | Likely cause | Fix |
|---|---|---|
| Every point is off by the same amount | Bent tool, or a tool changed after a crash | Straighten or replace it, then recheck the TCP |
| Tip wanders when you rotate around the TCP | TCP not set correctly | Have the TCP retaught |
| All points are off after a fixture move | User frame no longer matches | Reteach the User frame |
| One point is off | That point was taught poorly | Touch up that point only |
Do not touch up all your points to cover a bent tool. Fix the tool, or you will have to change every point back again.
Motion Types
| Move | Path of the tool | Use it for |
|---|---|---|
| Joint (point to point, PTP) | A curve you cannot easily predict | Fast moves through open air |
| Linear (LIN) | A straight line | Welds, adhesive beads, inserting a part |
| Circular (CIRC) | An arc through three points | Curved welds and cuts |
Joint moves are the fastest way between two points. Each joint simply drives to its new angle, up to its own top speed, instead of all joints working together to hold a straight line. The tool tip ends up tracing a curve. Speed is set as a percentage of maximum. Use these for approach and retreat moves in clear space, and be careful, because the curve may swing wider than you expect.
Linear moves keep the tool on a straight line at a set speed in mm per second. The controller adjusts all six joints at once to do this. Use them whenever the path matters, such as along a seam or straight down onto a pin. For example, a 400 mm weld at 8 mm per second takes 400 / 8 = 50 seconds.
Circular moves follow an arc defined by three points: start, a via point on the curve, and end.
You will see different labels by brand, such as J, L, and C on one robot and MoveJ, MoveL, and MoveC on another. The ideas are the same.
Stopping at a Point or Blending Through It
Each point also has an accuracy setting. A fine point means the arm stops exactly on the spot, which you want when picking a part. A continuous point means the arm rounds the corner and keeps moving, which is faster and smoother for air moves. A rounded corner also means the tool never quite reaches the point, so do not use it where exact position matters.
Singularities
A singularity is an arm position where two or more joint axes line up. When that happens the arm loses a degree of freedom at that spot, and the controller cannot work out a smooth way to keep the tool on a straight line. To move the tool a tiny distance, a joint might need to spin very fast.
| Type | Where it happens |
|---|---|
| Wrist | J4 and J6 line up, when J5 is near zero |
| Shoulder | The wrist center passes close to the J1 axis, right above the base |
| Elbow | The arm is stretched nearly straight, at the edge of its reach |
You will see a sudden fast wrist flip, jerky speed, or a stop with a singularity fault. It happens on linear and circular moves. Joint moves are not affected, because they never have to solve for a straight line.
To get around one:
- Tilt the tool a few degrees so the wrist is no longer straight.
- Use a joint move through that section, if the path allows it.
- Move the fixture or part so the work sits in a better spot.
Warning: Near a singularity the wrist can spin far faster than the tool appears to be moving. Keep clear, jog slowly, and watch cables and hoses so they do not wrap up.
Home Position
Home is a known, safe reference position. Programs usually start and end there, and it is the place to return to after a fault. A good home is clear of fixtures, has no part in the gripper, and leaves room for doors and people. Many cells send a "robot at home" signal to the PLC, so a machine door will only close when the arm is out of the way.
Do not mix up home with the zero position, where all the joints read zero. Zero is mainly used for calibration and mastering. Some plants use the two words loosely, so ask which one is meant.
Teaching Points
Teaching is the most common way to build a program. You jog the arm to each spot and record it.
- Plan the path. Sketch the approach, the work, and the retreat.
- Check that the right tool, frame, and payload data are active.
- Set manual mode at low speed, and hold the enabling device.
- Jog the robot to the first position, and record it with a name or number.
- Set the move type, speed, and accuracy for that point.
- Repeat for each position.
- Add I/O commands: open gripper, close gripper, start weld, signal the PLC.
- Add waits so the robot confirms a step before moving on, such as "gripper closed".
- Save a backup.
Here is a simple pick-and-place routine, with each step in order:
| Step | Command | Why |
|---|---|---|
| 1 | Joint move to home | Known start |
| 2 | Joint move to 100 mm above the pick | Fast through open air |
| 3 | Linear move down, fine point | Straight, exact approach |
| 4 | Close gripper, wait for closed signal | Confirms the grip |
| 5 | Linear move up 100 mm | Lifts straight out of the fixture |
| 6 | Joint move to 100 mm above the place | Fast through open air |
| 7 | Linear move down, fine point | Straight, exact approach |
| 8 | Open gripper, wait for open signal | Confirms the release |
| 9 | Linear move up, then joint move home | Clears the part |
Notice the pattern. Fast joint moves cover open air, and slow linear moves handle anything near a part. Programmers can also build programs offline on a computer simulator, then adjust the points on the real robot.
Testing a Program
Never send a new program straight to full speed. Test it in stages, from outside the cell where you can.
- Step through one line at a time in manual mode. Watch each move and be ready to release the enabling switch.
- Run it continuously at low speed. Look for clearance problems and cable pulls.
- Prove the I/O with the process off, such as no arc and no adhesive, using a dry run.
- Raise speed in stages, for example 25%, 50%, 75%, then 100%. Watch each stage for changes, because blended corners cut in more at higher speed.
- Run real parts, and check them.
- Save a final backup, and record what changed.
Even a small touch-up can change what the arm does, so retest any change at low speed first.
Common Mistakes
| Mistake | What it costs |
|---|---|
| Jogging in the wrong frame | A crash into a fixture, or a move toward you |
| Using a joint move near a part | The curved path hits the fixture |
| Blending through a pick point | The gripper misses the part |
| Touching up all points for a bent tool | Hours of rework after the tool is fixed |
| Skipping low-speed testing | A full-speed crash on the first run |
| Leaving wrong payload data in place | Rough motion and false collision faults |
Check Your Understanding
1. A robot is holding a drill at an angle to a tilted part. You need to back the drill straight out along its own axis. Which frame do you use?
The Tool frame. Its Z direction follows the drill. Jogging in World would pull the drill out at an angle and could snap the bit.
2. A new program runs well, but the arm clips the fixture on the way to the pick. The move is a joint move. What is going on?
Joint moves trace a curve. Use a higher approach point, or change the last section to a linear move, so that the path near the fixture is straight.
3. During a linear move across a table, the wrist suddenly whips around and the robot stops with a fault. What is the likely cause, and what could you try?
A wrist singularity, where the wrist axes lined up. A trained programmer could tilt the tool a few degrees, use a joint move through that section, or move the fixture.
4. After a crash, every weld is 2 mm off in the same direction. Should you touch up all the points?
No. A uniform error suggests a bent torch or a shifted TCP. Fix the tool and recheck the TCP first.
Key Takeaways
- Check the active frame before every jog. World stays put, Tool moves with the tool, and User moves with the fixture.
- The TCP is the point the robot positions and measures speed at, so a bent tool shifts everything.
- Use joint moves in open air, linear moves where the path matters, and circular moves for arcs.
- A singularity is where axes line up. Expect fast wrist motion, and tilt the tool or change the path to avoid it.
- Home is a known, safe reference position for starting, ending, and recovering.
- Test new programs step by step at low speed before raising speed in stages.