Difference between revisions of "Singularities and Kinematic Limits"
(Created page with "Due to mechanical and mathematical limitations there are positions in cartesian (XYZ) space that a robot can not move to. These are called singularities and kinematic limits....") |
m (→Out of reach) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 20: | Line 20: | ||
== Out of reach == | == Out of reach == | ||
− | The out of reach error is similar to the joint limits but in cartesian space. To reach the requested position the robot would need to extend further than it is | + | The out of reach error is similar to the joint limits but in cartesian space. To reach the requested position the robot would need to extend further than it is able to. |
+ | |||
+ | Generally this error occurs shortly before the arm is completely stretched out (you can move further with joint motion). This is because the mathematical solutions are ambiguous here - when moving the arm back from a completely strectched out pose the wrist can bend in any direction, to the robot it is unclear which is required by the following motion. | ||
Solutions: | Solutions: | ||
* Choose a target position closer to the center of the robot | * Choose a target position closer to the center of the robot | ||
+ | * Use joint motion | ||
== Virtual box violated == | == Virtual box violated == | ||
Line 30: | Line 33: | ||
Solutions: | Solutions: | ||
* Jog towards the valid area in joint mode | * Jog towards the valid area in joint mode | ||
+ | |||
+ | == Out of Working Space == | ||
+ | Some robots, e.g. deltas, are only usable in a limited motion range due to their construction. While their joints may be able to move further issues like worse precision may occur. | ||
+ | |||
+ | This kinematic error is similar to the virtual box, motions outside the specified working space are prevented but if outside you are able to move the robot towards the valid area. | ||
== Motion not allowed == | == Motion not allowed == | ||
Line 46: | Line 54: | ||
== Center singularity == | == Center singularity == | ||
− | The center singularity occurs in robot arms that can turn around a center axis (joint 1) | + | The center singularity occurs in robot arms that can turn around a center axis (joint 1) if the tool center point (TCP) is too close to this axis (e.g. the robot arm is extended straight up). |
Solutions: | Solutions: |
Latest revision as of 11:12, 27 September 2024
Due to mechanical and mathematical limitations there are positions in cartesian (XYZ) space that a robot can not move to. These are called singularities and kinematic limits. Kinematic limits occur both in joint and cartesian motion mode while singularities only occur in cartesian mode.
In a more specific, mathematical sense singularities are positions in which the robots configuration (i.e. in what direction do the joints point) is ambiguous. Inside the singularity the robot can not tell what orientation is needed. At a close range around the singularity the axis configuration may need to change quickly (e.g. the tool center point moves a short distance past the singularity but requires the actual joints to move up to 180°). This fast motion can be dangerous or even impossible by the joints to do.
Symptoms
If a singularity or kinematic error occurs while jogging the status area at the left side of iRC shows which error occured. If it happens during program execution the program is stopped or paused and a message box appears in iRC. Try to find which motion command caused it and choose a different target position. If the position is variable (e.g. coming from a camera) check the position data source and limit the value range it provides.
Kinematic Errors
Joint limit min/max reached
This kinematic error occurs when an axis tries to move past its upper or lower limit.
Solutions:
- Reference the axis - this resets the axis position if it is incorrect
- Jog the axis towards the valid range in joint mode (this is always allowed by the robot control but moving further away is not)
Out of reach
The out of reach error is similar to the joint limits but in cartesian space. To reach the requested position the robot would need to extend further than it is able to.
Generally this error occurs shortly before the arm is completely stretched out (you can move further with joint motion). This is because the mathematical solutions are ambiguous here - when moving the arm back from a completely strectched out pose the wrist can bend in any direction, to the robot it is unclear which is required by the following motion.
Solutions:
- Choose a target position closer to the center of the robot
- Use joint motion
Virtual box violated
If you have configured a virtual box in cartesian space the robot control will prevent motions ourside that box.
Solutions:
- Jog towards the valid area in joint mode
Out of Working Space
Some robots, e.g. deltas, are only usable in a limited motion range due to their construction. While their joints may be able to move further issues like worse precision may occur.
This kinematic error is similar to the virtual box, motions outside the specified working space are prevented but if outside you are able to move the robot towards the valid area.
Motion not allowed
This kinematic error is shown when some other reason prevents motion. Usually this refers to a hardware error.
General error
Some other error occured, please check the log files of the robot control (see the log tabs below the 3D view). If this does not help load the log files from the robot and contact support.
NAN value in joint position
This error should never occur, please load the log files from the robot and contact support.
Singularities
Center singularity
The center singularity occurs in robot arms that can turn around a center axis (joint 1) if the tool center point (TCP) is too close to this axis (e.g. the robot arm is extended straight up).
Solutions:
- Before switching to cartesian mode jog the robot away from the center axis.
- Start your robot program with a joint motion away from the center axis.
Wrist singularity
This singularity is specific to 6 axis robots. Similar to the center singularity it occurs when A4 - A6 align.
Solutions:
- Before switching to cartesian mode turn A4 and A5 so that the wrist no longer aligns.
- Start your robot program with a joint motion that moves A4 and A5 to a position other than 0.