Difference between revisions of "MC-Basic:IsLocationReachable"

From SoftMC-Wiki
Jump to: navigation, search
Line 48: Line 48:
 
for DELTA, SCISSORS, … and other robots, that have no configuration flags, these fields are not used.
 
for DELTA, SCISSORS, … and other robots, that have no configuration flags, these fields are not used.
  
The configuration flag argument of the IsLocationReachable is defined as:
+
The configuration flag argument of the IsLocationReachable is defined as:<br>
[[File:BITMASK.PNG | width = 100]]
+
[[File:BITMASK.PNG |300px]]
  
 
{{Note|Constants lefty, righty, above, below, flip and noflip are defined as [[MC-Basic Constants|built-in constants]] of the MC-Basic language.}}
 
{{Note|Constants lefty, righty, above, below, flip and noflip are defined as [[MC-Basic Constants|built-in constants]] of the MC-Basic language.}}

Revision as of 07:25, 28 January 2021

Language: English  • 中文(简体)‎

Checks the given point if it is reachable by the given robot. Checks both Cartesian and joint 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 should also be omitted).
<Location>
location coordinates of the point to be translated into joint coordinates.
<configuration>
integer describing the configuration of the returned joint position (for SCARA it is the same as ARMCMD or ARMFBK).

The number and type of configuration flags depend on each robot type. Note that robot properties ARMCMD, ECMD, WCMD have all three values(0, 1, 2), where 0 is reserved for AUTO option. The configuration bits however have only two values (0, 1).

for SCARA robot
Arm (Bit 0)
value = 0 – Lefty (armcd = 1)
value = 1 – Righty (armcmd = 2)
for PUMA robot 
Arm (Bit 0)
value = 0 – Lefty (armcd = 1)
value = 1 – Righty (armcmd = 2)
Elbow (Bit 1)
value = 0 – Below (ecmd = 1)
value = 1 – Above (ecmd = 2)
Wrist (Bit 2)
value = 0 - Noflip (wcmd = 1)
value = 1 – Flip (wcmd = 2)
for TRAVERSEARM robot
Arm ( Bit 0)
value = 0 – Lefty (armcd = 1)
value = 1 – Righty (armcmd = 2)

for DELTA, SCISSORS, … and other robots, that have no configuration flags, these fields are not used.

The configuration flag argument of the IsLocationReachable is defined as:
BITMASK.PNG

NOTE-Info.svgNOTE
Constants lefty, righty, above, below, flip and noflip are defined as built-in constants of the MC-Basic language.

Syntax

<joint_variable>=IsLocationReachable(<Robot>, <location>, <configuration>)

Availability

Since Version 3.7.x

Type

Return Type: Long

0 - point is reachable

<> 0 - error code, point is not reachable

Scope

Task, Terminal

Limitations

  • Not in Configuration context.
  • The joint variable and the location parameter must either have a group type identical to the group parameter, or have the same number of coordinates.
  • The values of the configuration argument (the long type parameter) can be only: 0, 1 or 2, with the same meaning as ARMCMD.

See Also