Robot Kinematics: Joint Axes, Coordinate Systems & Singularities Explained
Understanding the core concepts of robot kinematics is essential for anyone working with industrial automation, motion control, or robotic programming. This article breaks down the key ideas behind joint axes, virtual axes, coordinate systems, robot poses, and singularities, providing a clear foundation for designing and troubleshooting robotic systems.
1. Joint Axes and Virtual Axes
1.1 Joint Axes
A joint axis corresponds to a physical rotary joint in the mechanical structure of a robot. In control programs, it is typically represented by a rotation angle. Because there is often a reduction ratio between the motor and the joint, it is crucial to set the units according to the actual rotation of the joint itself. When filling in structural parameters in configuration tables, calculations must be based on the center of the rotary joint, not the motor shaft center. This ensures accurate kinematic transformations and smooth motion control.
1.2 Virtual Axes
Virtual axes are not physical entities; they are abstract representations of the six degrees of freedom in a world coordinate system: X, Y, Z, RX, RY, and RZ. These correspond to three linear axes and three rotational axes in a Cartesian space. Virtual axes define the trajectory and coordinates of the robot’s end-effector, enabling precise path planning and positioning in applications like pick-and-place, welding, or assembly.
2. Coordinate Systems in Robotics
2.1 Joint Coordinate System
In the joint coordinate system, each axis is defined by its absolute angle relative to a reference (zero) position. This system includes all joints of the robot, and each joint operates independently. The unit of measurement is degrees (or radians). Moving one joint does not affect the others, making it intuitive for manual jogging but less practical for defining complex paths.
2.2 Cartesian Coordinate Systems
World Coordinate System: This is a fixed Cartesian system anchored in space, usually with its origin at the robot’s base. The exact location depends on the robot type. When operating in virtual axes, the robot moves according to the world coordinate system, and the controller automatically computes the required joint angles through inverse kinematics.
User Coordinate System: Users can define custom Cartesian frames for specific workspaces. These are used for teaching position registers, executing position compensation commands, and simplifying programming for tasks like palletizing. If no user coordinate system is defined, the world coordinate system is used by default.
The primary goal of robot kinematics algorithms is to establish a relationship between the joint coordinate system and Cartesian coordinate systems. Coordinate transformations describe the same spatial point from one frame to another. In practice, this is often used to define a workpiece coordinate system—a Cartesian frame attached to the workpiece itself. A robot can have multiple workpiece coordinate systems to handle different parts or the same part in different locations. This feature is available for robot types that support XYZ virtual axes.
3. Robot Pose (Configuration)
In mathematical terms, a robot pose refers to the fact that a single set of virtual axis values (end-effector position and orientation) can correspond to multiple sets of joint angles. When a robot moves to a specific Cartesian point, it can follow different joint trajectories, each representing a different pose. For example, a SCARA robot can reach the same X-direction movement using two distinct arm configurations (elbow up or elbow down). Selecting the appropriate pose is critical for avoiding collisions and optimizing cycle time.
Key Insight: The relationship between joint space and Cartesian space is not always one-to-one. Understanding multiple solutions (poses) helps in path planning and singularity avoidance.
4. Singularities
In inverse kinematics, a singularity occurs when the robot reaches a configuration where it loses one or more degrees of freedom. At a singular point, the robot cannot move in certain directions, or the required joint velocities become infinite. A classic example is when a SCARA robot arm is fully stretched out: it cannot translate in the X direction because the mechanism cannot determine which pose to use. When this happens, the robot may stop or behave unpredictably. To recover, switch to forward kinematics mode (joint control) to move the joints away from the singularity, then return to inverse kinematics mode.
| Concept | Description | Practical Tip |
|---|---|---|
| Joint Axis | Physical rotary joint; measured in degrees. | Set units per joint revolution, not motor revolution. |
| Virtual Axis | Abstract X, Y, Z, RX, RY, RZ for end-effector. | Used for path planning in Cartesian space. |
| World Coordinate System | Fixed frame at robot base. | Default reference for all motions. |
| User Coordinate System | Custom frame for specific tasks. | Simplifies programming for repetitive jobs. |
| Pose | Multiple joint solutions for one Cartesian point. | Choose pose to avoid obstacles and optimize motion. |
| Singularity | Loss of a degree of freedom; infinite joint speeds. | Avoid by path planning; recover via joint mode. |
Practical Considerations for Industrial Automation
When designing or programming a robot cell, keep these concepts in mind:
- Always verify the reduction ratio and units settings for each joint axis to ensure accurate kinematic calculations.
- Define user coordinate systems for each fixture or workpiece to make teaching points easier and more intuitive.
- Be aware of robot poses when planning trajectories—some configurations may lead to collisions or exceed joint limits.
- Check for singularities in critical path segments, especially near fully extended or aligned joint configurations.
- Use simulation software to visualize robot motion and detect potential issues before deploying to the physical system.
Modern industrial robots and motion controllers provide tools to handle these kinematic challenges automatically, but a solid understanding of the underlying principles helps engineers optimize performance and troubleshoot effectively.