Yt_GroupMoveOptions
Yt_GroupMoveOptions: STRUCT
| Element | Data Type | Description | Usage |
|---|---|---|---|
| Pose | Yt_PoseStruct | Structure that contains the pose corresponding to a taught point |
|
| VelocityUnit | Yt_VelocityUnit | 0 =UseTranslationalScalars, 1=UseRotationalScalars, 2=UseNSpaceScalars. MotomanSync groups only support 0 and 1. |
|
| ProfileUnit | Yt_ProfileUnit | 0=Absolute, 1=PercentMaximum, 2=VMAX algorithm. Only available for MotomanSync groups. This will have no effect on Locally Hosted Groups. |
|
| TrajectoryShape | INT | 0=Trapezoid, 1=SCurve; 2=JerkLimited |
|
| PathMode | INT |
When this flag is set to INT#1, the motion engine will attempt to use the Velocity input as both the slew-velocity and the end-velocity of the segment. If the end-velocity cannot be reached due to acceleration constraints, then one of two things will happen:
1)If the end-velocity is too high and can't be reached, it will simply transition to the next segment at a lower velocity than specified. This will occur when a series of closely spaced coordinates are specified and the acceleration is low such that slew velocity cannot be achieved until several segments have been processed. 2) If the end-velocity is too low and can't be reached, it is probable that either a ServoPack or a group alarm could result. An example situation is when the group is moving at high velocity and approaches relatively sharp curve. If the acceleration and deceleration values limit the velocity change, the group may be forced to go through the corner too quickly for the ServoPacks to control properly. In the second case, Yaskawa recommends decreasing the Velocity input to the function block. Setting MoveOptions.PathMode:=INT#0 in some situations may be effective in forcing a stop over sufficient distance, or combine the PathMode feature with group parameters 2203 and 2204 to get improve the lookahead capability |
|
| AlternateVelocity | LREAL | Velocity in rotational units for groups with the ability to move in both Cartesian and rotational space. Normally during a linear motion segment, rotational velocity is synchronized with the Cartesian motion of the TCP along the vector path so that the rotational component completes at the same time as the linear motion. The motion engine will refer to this AlternateVelocity if a move has no Cartesian motion component with which to synchronize the motion. |
MoveOptions.AlternateVelocity:=LREAL#1440.0 |
| AlternateAcceleration | LREAL | Acceleration / deceleration applied when the AlternateVelocity must be used |
MoveOptions.AlternateAcceleration:=LREAL#12000.0 |
Yt_PoseStruct: STRUCT
| Element | Data Type | Description | Usage |
|---|---|---|---|
| AxesCoordinates | VECTOR | Reserved For future Use. Do Not Use. |
|
| PartFrameNumber | INT | Reserved For future Use. Do Not Use. |
|
| ToolNumber | INT | Reserved For future Use. Do Not Use. |
|
| OptionalParameters | DINT | Reserved For future Use. Do Not Use. |
|
| Closure1 | BOOL | Reserved For future Use. Do Not Use. |
|
| Closure2 | BOOL | Reserved For future Use. Do Not Use. |
|
| Closure3 | BOOL | Reserved For future Use. Do Not Use. |
|
| UseReference | BOOL | Reserved For future Use. Do Not Use. |
|
| ReferencePosition | VECTOR | For MotomanSync Group only: Values for each joint that define closure for target position. See Note below. |
|
Note
ReferencePosition is used for MotomanSync groups to determine closure for the target cartesian TCP position. Only MC_MoveLinearAbsolute and MC_MoveDirectAbsolute use reference position. Other function blocks that have a MoveOptions input will ignore ReferencePosition.
6 axis articulated robots (Such as GP series robots)
- Posture will be determined by selecting an axis position as close as possible to the ReferencePosition.
- Default value of 0s will move with shortest path keeping current closure if possible.
Example for a GP8 robot using MC_MoveDirectAbsolute using two different ReferencePosition inputs for the same MCS target position:
- Starting position:
- ACS [ -16.5263 51.0717 -30.086 -121.223 -28.5507 134.1985 ]
- Target position:
- MCS [ 400.624 -46.626 210.514 -160.3 -28.2 -6.6 ]
- ReferencePosition 1 : [ -10.8359 -1.1247 -19.2985 -29.2957 -48.9523 24.2415 ]
- Resulting position:
- ACS [ -10.8359 -1.1247 -19.2985 -29.2957 -48.9523 24.2415 ]
- MCS [ 400.624 -46.626 210.514 -160.3 -28.2 -6.6 ]
- ReferencePosition 2 : [ -10.8388 -1.1255 -19.2996 150.7078 48.9427 -155.7683 ]
- Resulting position:
- ACS [ -10.8388 -1.1255 -19.2996 150.7078 48.9427 -155.7683 ]
- MCS [ 400.624 -46.626 210.514 -160.3 -28.2 -6.6 ]
- ReferencePosition[2] = positive or negative value defines the sign of the L axis position for the target cartesian TCP position.
- ReferencePosition[2] = 0 uses the previously commanded sign of the L axis to define the L axis position for the target cartesian TCP position.
- On robot power up, the default "previously commanded" sign is always negative, even if the current L axis position is positive.
- All values other than ReferencePosition[2] are ignored
Example for a SG650 robot MC_MoveDirectAbsolute using two different ReferencePosition inputs for the same MCS target position:
- Starting position:
- ACS [ -22.9515 45.1775 -10 -52.2246 ]
- MCS [ 600 -23 200 0 0 -30 ]
- Target position:
- MCS [ 620 -23 200 0 0 -30 ]
- ReferencePosition 1 : [ 0 1 0 0 ]
- Resulting position:
- ACS [ -18.1472 34.8064 -10 -46.6582 ]
- MCS [ 620 -23 200 0 0 -30 ]
- ReferencePosition 2 : [ 0 -1 0 0 ]
- Resulting position:
- ACS [ 13.8977 -34.8064 -10 -9.0878 ]
- MCS [ 620 -23 200 0 0 -30 ]