Sets and gets an Integer bit mask that specifies how the Cartesian position of a Location Object is to be converted to a set of axes position values.
location_object.Config = <new_Integer_value>
-or-
...location_object.Config
Prerequisites
None
Parameters
None
Remarks
For some robots, there are multiple sets of axes positions that will position the robot’s tool or gripper at the same position and orientation. For simple robots, this can occur if a wrist axis can rotate more than 360 degrees. For more complex geometries, the alternate sets of axes positions might correspond to what is termed “right” and “left” shoulder configurations. GPL’s optional kinematic modules include methods for automatically selecting among different sets of positions in some instances. For example, if the final wrist axis of a robot can rotate a total of 720 degrees, GPL can automatically select which revolution of this axis should be selected as the destination for a motion to a Cartesian end point. Normally, GPL will rotate the wrist to the closest position that satisfies the Cartesian specification. However, if this would violate a wrist joint limit stop, GPL will rotate the wrist in the opposite direction.
In other cases, GPL cannot automatically select the best set of joint angles to be used. In these cases, GPL will generally try to maintain the robot in the same configuration unless instructed otherwise. For example, if a position can be reached in both a "right" and a"left" shouldered configurations, GPL will maintain the same shoulder configuration unless explicitly directed to change. This is done to prevent large, unexpected motions that can occur when switching the shoulder configuration. To both indicate the current geometric configuration and to specify a change in configuration, the Config property provides a series of bit flags that instruct GPL how it is to convert Cartesian Locations into joint angles. When a Cartesian destination is specified with one or more of these bits set, the next motion to this Location will try to put the robot into the specified configuration. If bits are not set, GPL assumes that the robot should be instructed to stay in its current configuration.
While some configuration changes can be implemented during either a Cartesian or joint-interpolated motion, other changes can only be performed during joint-interpolated motions. For example, you cannot change from a right- to a left-shouldered configuration and simultaneously move the tool tip along a Cartesian straight-line path. If a configuration bit is specified which is not compatible with the specified motion type, the configuration bit is ignored and no error is generated. The bits currently defined for the Config property are described below. As a programming convenience, these bits also have GPL constants defined.
Config Bit Mask | GPL Constant | Legal During Cartesian Motion | Description |
---|---|---|---|
&H01 |
GPL_Righty |
No |
Change robot to a right shouldered configuration. |
&H02 |
GPL_Lefty |
No |
Change robot to a left shouldered configuration. |
&H04 |
GPL_Above |
No |
Change robot to have the elbow above the wrist. |
&H08 |
GPL_Below |
No |
Change robot to have the elbow below the wrist. |
&H10 |
GPL_Flip |
No |
Change robot to have the wrist pitched up. |
&H20 |
GPL_NoFlip |
No |
Change robot to have the wrist pitched down. |
&H1000 |
GPL_Single |
Yes |
Restrict the wrist axis to be within +/- 180 degrees rather than use its full range of motion. |
Since the robot configuration options are a function of the robot's geometry, please see the documentation in the Kinematics Library for which bits apply to your robot.
Examples
Dim loc1 As New Location ' Create new Cartesian Location
loc1.Config = GPL_Righty+GPL_Single
' Set mask word to force robot to right
' shouldered and limit wrist rotation
See Also