Robot arm basics
Never touched a robot arm before? Start here. This page explains the handful of words and ideas that every industrial-arm workflow uses, in plain language, before you wire up a single component. If you have run an arm before, skip ahead to Hello World.
What a robot arm actually is
An industrial arm is a chain of rigid segments (links) connected by motors (joints). Think of your own arm: shoulder, elbow, wrist. Each joint adds one way to move. A Lite 6 has 6 joints, numbered J1 (at the base) to J6 (at the wrist). We also call these axes, so a "6-axis arm" just means six motors in a row.
Six joints is the magic number: it is the minimum needed to put the tool at any position and any angle within the arm's reach. Fewer joints (like the 5-axis xArm 5) means some angles are simply not reachable.
- Base, the part bolted to the table. It does not move.
- Joints J1 to J6, the motors. J1 spins the whole arm like a lazy Susan; the rest bend and twist it.
- Flange, the flat metal face at the very end (the "wrist plate"). This is where you bolt on a tool. On its own the flange does nothing useful; it is just a mounting surface with a bolt pattern.
The tool: end-effector, flange, and TCP
The thing you attach to the flange is the end-effector (also called the tool): a gripper, a suction cup, a pen, a glue nozzle, a camera. The arm's whole job is to carry this tool around.
Here is the key idea beginners miss: the robot moves the flange, but you care about the tip of the tool. If you bolt on a 100 mm pen, the pen tip is 100 mm past the flange. That tip is called the TCP, the Tool Center Point. When you tell the robot "go here," you almost always mean "put the TCP here," not the flange.
Describing a spot: position, orientation, and frames
To place a tool you need two things:
- Position, where the tip is: an X, Y, Z point in space (in millimetres).
- Orientation, which way the tool points and how it is twisted.
Position plus orientation together is called a pose. In Rhino and Grasshopper, a pose is just a Plane: a Plane has an origin (the position) and axes (the orientation). So when Egret asks for a target Plane, it is asking "where should the tool tip go, and which way should it face?"
All of this is measured relative to a frame (a coordinate system). The two you will meet first:
- Base frame, measured from the robot's base. "X = 300, Y = 0, Z = 200" means 300 mm forward and 200 mm up from where the arm is bolted down.
- Tool frame, measured from the TCP. Useful for moves like "back off 50 mm along the tool's own axis."
Two ways the robot can move
Every move happens in one of two "spaces," and knowing the difference explains the motion types below.
- Joint space, you think in motor angles ("rotate J1 by 30 degrees"). The tool tip sweeps a curved path you did not directly design, but the move is fast and always reachable.
- Cartesian space, you think in tool positions ("move the tip in a straight line to here"). The robot has to figure out the motor angles for you.
Turning a tool pose into motor angles is called inverse kinematics (IK). You do not do this by hand; Egret and the robot handle it. Just know the word: if you hear "no IK solution," it means the spot you asked for is out of reach or the arm cannot twist that way.
Motion types: PTP, LIN, and CIR
These three show up on almost every robot, in Egret and everywhere else. They answer "what shape of path does the tool take between two poses?"
| Name | Path | Use it for |
|---|---|---|
| PTP (point to point) |
Fastest route in joint space. The tip travels a curved, unpredictable path, but it gets there quickly and can always do it. | Moving through open air where the exact path does not matter: reaching to a pick spot, returning home. |
| LIN (linear) |
A dead-straight line in space. The robot coordinates all joints so the tip travels in a ruler-straight line. | Anything where the path matters: laying a bead of glue, cutting, pressing down, approaching a part so you do not crash into it. |
| CIR (circular) |
An arc. You give a start, a middle (via) point, and an end, and the tip sweeps the curve through all three. | Rounded paths: following a curved edge, drawing an arc, smooth blends. |
A few more words you will see
- Jogging, nudging the robot by hand from software, one joint or one direction at a time, to line things up.
- Home, a known safe pose the robot returns to. Programs usually start and end here.
- Enable, powering the motors so the arm holds itself up and can move. A disabled arm is limp.
- Payload, how much weight the arm can carry (a Lite 6 handles ~600 g, tool included). Reach is how far it can stretch.
- Singularity, a pose where the arm lines up in a way that briefly makes a straight-line move impossible or wildly fast. If a LIN move fails near full stretch, this is often why; nudge the pose and try again.
Simulate first, always
You never have to guess on real hardware. Egret runs the entire program as a simulation in Grasshopper first, for free, forever. You watch the arm move on screen, catch reach and collision problems, and only send it to a real robot once it looks right. Full simulation costs nothing and needs no robot plugged in.
How these ideas map to Egret
Every term above is a component you will wire up. Here is the shortcut:
| Idea | Egret component |
|---|---|
| Set the tool and its TCP | Tool (TCP), Custom Tool, and the gripper/vacuum presets |
| Define a target pose | Pose, plus Rhino Planes as your targets |
| Move fast through air | PTP |
| Move in a straight line | LIN |
| Move along an arc | CIR |
| Watch it move on screen | Sim |
| Turn it into robot code | Code (Python or G-code) |
See the full list on the Component reference, and follow Hello World to build your first program in about ten minutes.