Difference between revisions of "MC-Basic:isJointReachable"
(2 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
|SYNTAX= | |SYNTAX= | ||
− | <''long''>=isJointReachable''(<Robot>, <joint>)'' | + | <''long''>=isJointReachable''({<Robot>,} <joint>)'' |
|AVAILABILITY= | |AVAILABILITY= | ||
Line 17: | Line 17: | ||
<''joint''> = joint coordinates of the point to be translated into Cartesian coordinates. The type of the joint variable must be compatible with the robot type. | <''joint''> = joint coordinates of the point to be translated into Cartesian coordinates. The type of the joint variable must be compatible with the robot type. | ||
− | |||
− | |||
− | |||
|TYPE= | |TYPE= | ||
Line 26: | Line 23: | ||
1,2,3 ... - which axis exceed position limt<br> | 1,2,3 ... - which axis exceed position limt<br> | ||
Others - system error, basically there is no single axis that exceeds limit but the combination of segment length and input cartesian point does not have solution of Inverse Kinematics. Can be:<br> | Others - system error, basically there is no single axis that exceeds limit but the combination of segment length and input cartesian point does not have solution of Inverse Kinematics. Can be:<br> | ||
− | * | + | * 70 - Not calibrated/configured |
− | *119 - Point too far. Outside of the working envelope. The target coordinates are too far from the robot's Cartesian space origin point.<br> | + | * 117 - Point too close. The target coordinates are too close to the robot's Cartesian space origin point.<br> |
− | *125 - Wrong point type.<br> | + | * 119 - Point too far. Outside of the working envelope. The target coordinates are too far from the robot's Cartesian space origin point.<br> |
− | more of them can be found in [[http://softmc.servotronix.com/wiki/Error_Codes|Error Codes]], just add to return value 3000 for motion and 13000 for robot errors<br> | + | * 121 - The target point is not reachable. <br> |
+ | * 125 - Wrong point type.<br> | ||
+ | * 105 - World Xmax exceeded<br> | ||
+ | * 106 - World Xmin exceeded<br> | ||
+ | * 107 - World Ymax exceeded<br> | ||
+ | * 108 - World Ymin exceeded<br> | ||
+ | * 109 - World Zmax exceeded<br> | ||
+ | * 110 - World Zmin exceeded<br> | ||
+ | * 142 - Work Piece Xmax exceeded <br> | ||
+ | * 143 - Work Piece Xmin exceeded <br> | ||
+ | * 144 - Work Piece Ymax exceeded <br> | ||
+ | * 145 - Work Piece Ymin exceeded <br> | ||
+ | * 146 - Work Piece Zmax exceeded <br> | ||
+ | * 147 - Work Piece Zmin exceeded <br> | ||
+ | * 148 - Machine Table Xmax exceeded <br> | ||
+ | * 149 - Machine Table Xmin exceeded <br> | ||
+ | * 150 - Machine Table Ymax exceeded <br> | ||
+ | * 151 - Machine Table Ymin exceeded <br> | ||
+ | * 152 - Machine Table Zmax exceeded <br> | ||
+ | * 153 - Machine Table Zmin exceeded <br> | ||
+ | * 154 - Base Xmax exceeded <br> | ||
+ | * 155 - Base Xmin exceeded <br> | ||
+ | * 156 - Base Ymax exceeded <br> | ||
+ | * 157 - Base Ymin exceeded <br> | ||
+ | * 157 - Base Zmax exceeded <br> | ||
+ | * 158 - Base Zmin exceeded <br> | ||
+ | * 159 - Tool Xmax exceeded <br> | ||
+ | * 160 - Tool Xmin exceeded <br> | ||
+ | * 161 - Tool Ymax exceeded <br> | ||
+ | * 162 - Tool Ymin exceeded <br> | ||
+ | * 163 - Tool Zmax exceeded <br> | ||
+ | * 164 - Tool Zmin exceeded <br> | ||
+ | more of them can be found in [[http://softmc.servotronix.com/wiki/Error_Codes|Error Codes]], just add to return value 3000 for motion and 13000 for robot | ||
+ | errors<br> | ||
Line 58: | Line 88: | ||
|SEE ALSO= | |SEE ALSO= | ||
− | * [[MC-Basic:TOJOINT|TOJOINT]] | + | * [[MC-Basic:TOJOINT|TOJOINT]]<br> |
* [[MC-Basic:IsLocationReachable|isLocationReachable]] | * [[MC-Basic:IsLocationReachable|isLocationReachable]] | ||
Latest revision as of 13:40, 1 April 2021
Language: | English |
---|
Check if given point (joint) can be reached by the robot. Checks joint and cartesian limits. Input parameters:
<Robot> = name of the group for which the direct kinematics is computed, when a WITH command is executed, this argument is not needed (the comma can also be omitted).
<joint> = joint coordinates of the point to be translated into Cartesian coordinates. The type of the joint variable must be compatible with the robot type.
Syntax
<long>=isJointReachable({<Robot>,} <joint>)
Type
Long
0 - Ok
1,2,3 ... - which axis exceed position limt
Others - system error, basically there is no single axis that exceeds limit but the combination of segment length and input cartesian point does not have solution of Inverse Kinematics. Can be:
* 70 - Not calibrated/configured * 117 - Point too close. The target coordinates are too close to the robot's Cartesian space origin point.
* 119 - Point too far. Outside of the working envelope. The target coordinates are too far from the robot's Cartesian space origin point.
* 121 - The target point is not reachable.
* 125 - Wrong point type.
* 105 - World Xmax exceeded
* 106 - World Xmin exceeded
* 107 - World Ymax exceeded
* 108 - World Ymin exceeded
* 109 - World Zmax exceeded
* 110 - World Zmin exceeded
* 142 - Work Piece Xmax exceeded
* 143 - Work Piece Xmin exceeded
* 144 - Work Piece Ymax exceeded
* 145 - Work Piece Ymin exceeded
* 146 - Work Piece Zmax exceeded
* 147 - Work Piece Zmin exceeded
* 148 - Machine Table Xmax exceeded
* 149 - Machine Table Xmin exceeded
* 150 - Machine Table Ymax exceeded
* 151 - Machine Table Ymin exceeded
* 152 - Machine Table Zmax exceeded
* 153 - Machine Table Zmin exceeded
* 154 - Base Xmax exceeded
* 155 - Base Xmin exceeded
* 156 - Base Ymax exceeded
* 157 - Base Ymin exceeded
* 157 - Base Zmax exceeded
* 158 - Base Zmin exceeded
* 159 - Tool Xmax exceeded
* 160 - Tool Xmin exceeded
* 161 - Tool Ymax exceeded
* 162 - Tool Ymin exceeded
* 163 - Tool Zmax exceeded
* 164 - Tool Zmin exceeded
more of them can be found in [Codes], just add to return value 3000 for motion and 13000 for robot errors
Scope
Task,Terminal
Limitations
Not in Configuration context
The location variable and the joint parameter must have a group type identical to the group parameter, or have the same number of coordinates.
Errors: N/A
Examples
? isJointReachable(G1, {1,2,3})
? isJointReachable(G1, G1.Pfb)
L1 = isJointReachable(SCARA, J1)