Robot Kinematics

You are currently viewing the documentation for the latest version (2.1.2). To access a different version, click the "Switch version" button located in the upper-right corner of the page.

■ If you are not sure which version of the product you are currently using, please feel free to contact Mech-Mind Technical Support.

This topic introduces the basic concepts of robot kinematics, including robot motion types, forward and inverse kinematics, handling multiple inverse solutions, and strategies for avoiding singularities. Kinematics provides the theoretical foundation for robot path planning, pose control, and vision-guided tasks.

Motion Type

Robot motion usually refers to the process of moving the robot tool center point (TCP) from point A to point B in space. The joint motion and linear motion are two fundamental methods of robot motion.

Joint Motion

Joint motion is the motion of a robot achieved by adjusting the angle or position of each joint. Each joint can rotate or move to get the entire robot tool to an expected position.

alt

Linear Motion

The linear motion is the motion of the robot tool on a linear path. Unlike joint motion, linear motion is achieved by moving the robot tool along a linear path.

alt

Relative Move

Relative move is a way to describe the target waypoint. Instead of directly describing the target waypoint in space, relative move defines the target waypoint by describing its offset relative to a reference point, such as the robot’s current TCP pose or a reference frame.

Forward and Inverse Kinematics

Forward and inverse kinematics are mutually related: joint positions are mapped to the tool pose by forward kinematics calculation, while the tool pose is mapped to the joint positions by inverse kinematic calculation.

Forward Kinematics

Forward kinematics calculates the TCP based on the known joint positions. By substituting joint positions into the robot’s configuration equations (including link lengths, joint zero positions, and rotation directions), the TCP can be uniquely determined.

When robot motion commands are sent as joint positions (JPs), the robot directly follows these JPs to move. As a result, the executed path matches the path planned in Mech-Viz exactly.

Inverse Kinematics

Inverse kinematics calculates joint positions based on a given TCP. Because the number of unknowns is greater than the number of knowns, inverse kinematics typically has multiple solutions, which means different joint position combinations may produce the same TCP.

][width=500

When tool poses are used for robot communication or motion control, the robot controller must solve inverse kinematics internally. This may lead to differences between the actual robot path and the path planned in Mech-Viz, which can result in deviations or collisions.

However, TCP-based communication is still widely used for several reasons.

  • Some robots do not support receiving joint positions in certain communication modes.

  • Robot controllers include built-in compensation algorithms, which can improve accuracy when using TCP.

  • Using TCP facilitates secondary processing in subsequent vision-guided, assembly, or calibration tasks.

Multiple Solutions and Axis Configuration

To avoid inconsistencies between the robot’s actual pose and the pose planned by Mech-Viz due to multiple solutions in inverse kinematics, some robot manufacturers provide axis configuration parameters in robot motion commands.

An axis configuration typically contains four additional parameters: three parameters constrain the angle ranges of the 1st, 4th, and 6th robot axes; one parameter defines the pose type of the 2nd and 3rd axes. By adding these boundary conditions, it can filter out unwanted solutions and ensures that the resulting robot pose matches the pose planned in Mech-Viz.

Singularity

A singularity occurs when the robot reaches a specific set of joint positions at which the kinematic equations cannot be solved or certain degrees of freedom are lost. At a singularity, motion in certain directions becomes impossible or extremely amplified, resulting in instability or unpredictable behavior.

Common Types

Based on their location and cause, robot singularities are generally classified into the following types:

  • Wrist singularity

    It occurs when the three rotational axes of the wrist become collinear, causing the robot end orientation to become uncontrollable or to change abruptly. For example, in a six-axis robot, a wrist singularity may occur when the 5th axis is at 0° or 180°.

  • Elbow singularity

    It occurs when the forearm and upper arm align in a straight line, making it impossible for the robot to determine an "elbow-up" or "elbow-down" configuration. This may lead to multi-solution switching or sudden motion changes during path planning.

  • Shoulder singularity

    It occurs when the robot’s wrist center aligns with the axis of Joint 1, or when the joint axes form a specific collinear configuration. This causes the robot end to lose degrees of freedom in certain directions and may result in large joint rotations.

In practical industrial applications, the most common singularity occurs in six-axis spherical wrist robots when the 4th and 6th axes approach coaxial alignment during linear motion.

singularities 1
singularities 2

Singularity Avoidance

Six-axis spherical wrist robots inherently have singularities in their motion. The following strategies can help reduce the risk of encountering singularities:

  1. Develop offset wrist robots: Modify the robot structure to prevent coaxial alignment of the 4th and 6th axes. Examples include UR series and FANUC CRX series.

    avoid singularities 1
  2. Optimize robot controller commands: Introduce commands that use moveJ as an approximation of moveL to improve execution feasibility.

  3. Adjust software path planning: Mech-Viz reduces the robot velocity along paths where singularities may occur and attempts to plan again.

    avoid singularities 2

Additionally, Mech-Viz can automatically detect potential singularities during path planning. For detailed methods on singularity detection, see Singularity Detection.

Is this page helpful?

You can give a feedback in any of the following ways:

We Value Your Privacy

We use cookies to provide you with the best possible experience on our website. By continuing to use the site, you acknowledge that you agree to the use of cookies. If you decline, a single cookie will be used to ensure you're not tracked or remembered when you visit this website.