Difference between revisions of "MC-Basic:isJointReachable"

From SoftMC-Wiki
Jump to: navigation, search
 
(6 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
|SYNTAX=
 
|SYNTAX=
<''long''>=isJointReachable''(<Robot>, <joint>)''
+
<''long''>=isJointReachable''({<Robot>,} <joint>)''
  
 
|AVAILABILITY=
 
|AVAILABILITY=
Since Version 3.7.x
+
 
  
 
|DESCRIPTION=
 
|DESCRIPTION=
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.
  
User:                    Application developer
 
 
Return value:      Long (0 - OK)
 
  
 
|TYPE=
 
|TYPE=
 
Long
 
Long
 
+
0 - Ok<br>
0 - Ok
+
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>
 +
* 70 - Not calibrated/configured
 +
* 117 - Point too close. The target coordinates are too close to the robot's Cartesian space origin point.<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>
 +
* 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 49: Line 83:
 
|EXAMPLE=
 
|EXAMPLE=
 
? isJointReachable(G1, {1,2,3})<br>
 
? isJointReachable(G1, {1,2,3})<br>
 
 
? isJointReachable(G1, G1.Pfb)<br>
 
? isJointReachable(G1, G1.Pfb)<br>
 
 
L1 = isJointReachable(SCARA, J1)
 
L1 = isJointReachable(SCARA, J1)
  
 
|SEE ALSO=
 
|SEE ALSO=
* [[MC-Basic:TOJOINT|TOJOINT]]
 
* [[MC-Basic:isLocationReachable|isLocationReachable]]
 
  
[[Category:MC-Basic:Points Handling|TOCART]]
+
* [[MC-Basic:TOJOINT|TOJOINT]]<br>
 +
* [[MC-Basic:IsLocationReachable|isLocationReachable]]
 +
 
 +
[[Category:MC-Basic:Points Handling|isJointReachable]]
  
 
}}
 
}}

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)

See Also