Update the position and orientation of each default collision object based on the kinematic result provided as input. The default collision objects are those that are automatically created and configured by the collision handler.
As value for the input i_stKinematicsResult, it is possible to provide q_stResultLocal resulting from a successful call of EvaluateDirectKinematics or EvaluateInverseKinematics.
The function block implements the interface IF_CollisionHandlerDelta3Ax.
Access: PUBLIC
Input |
Data type |
Description |
---|---|---|
i_stKinematicsResult |
Structure containing the result of the kinematics for a Delta3Ax robot with reference to the coordinate system of the robot. |
Output |
Data type |
Description |
---|---|---|
q_xError |
BOOL |
The output is set to TRUE if an error has been detected during the execution. |
q_etResult |
POU-specific output on the diagnostic; q_xError = FALSE -> Status message; q_xError = TRUE -> Diagnostic message. |
|
q_sResultMsg |
STRING(80) |
Event-triggered message that gives additional information on the diagnostic state. |
q_xError |
q_etResult |
Enumeration value |
Description |
---|---|---|---|
FALSE |
0 |
Success |
|
TRUE |
26 |
The object is not configured. |
|
TRUE |
46 |
The provided kinematic result is invalid. |
|
TRUE |
37 |
It is not possible to update a collision group. |
|
TRUE |
51 |
It is not possible to update a collision entity. |
Enumeration name: |
NotConfigured |
Enumeration value: |
26 |
Description: |
The object is not configured. |
Issue |
Cause |
Solution |
---|---|---|
Could not execute an update. |
The collision handler has not been configured, meaning that xConfigured = FALSE. |
Make a successful call of SetParameters before calling this method. |
Enumeration name: |
KinematicResultInvalid |
Enumeration value: |
46 |
Description: |
The provided kinematic result is invalid. |
Issue |
Cause |
Solution |
---|---|---|
Could not execute an update. |
i_stKinematicsResult contains an invalid result, meaning that i_stKinematicsResult.xIsResultValid = FALSE. |
Make sure that i_stKinematicsResult.xIsResultValid = TRUE. |
Enumeration name: |
CollisionGroupUpdateNotPossible |
Enumeration value: |
37 |
Description: |
It is not possible to update a collision group. |
Issue |
Cause |
Solution |
---|---|---|
Could not update the collision handler. |
At least one of the configured interfaces in the property raifCollisionObjects (inside one of the groups of the collision entity ifCollisionEntity) has been set to zero. |
To fix this error it is required to make a successful call of the SetParameters method. |
Enumeration name: |
CollisionEntityUpdateNotPossible |
Enumeration value: |
51 |
Description: |
It is not possible to update a collision entity. |
Issue |
Cause |
Solution |
---|---|---|
Could not update the collision handler. |
At least one of the configured interfaces in the property raifCollisionGroups (inside the collision entity ifCollisionEntity) has been set to zero. |
To fix this error it is required to make a successful call of the SetParameters method. |