FB_CollisionHandlerDelta3AxUpdateFromKinematicsResult (Method)

Overview

Type:

Method

Available as of:

V1.0.0.0

This chapter provides information on:

Task

Update the position and orientation of the default collision objects of the collision handler.

Description

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.

NOTE: This method does not affect the position and orientation of the collision objects inside the collision groups that have been added by you. When calling this method, the collision objects that are part of the groups must have xConfigured = TRUE, so that the groups can be successfully updated.

Interface

The function block implements the interface IF_CollisionHandlerDelta3Ax.

Access: PUBLIC

Input

Data type

Description

i_stKinematicsResult

ST_Delta3AxKinematicsResult

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

ET_Result

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.

Diagnostic Messages

q_xError

q_etResult

Enumeration value

Description

FALSE

OK

0

Success

TRUE

NotConfigured

26

The object is not configured.

TRUE

KinematicResultInvalid

46

The provided kinematic result is invalid.

TRUE

CollisionGroupUpdateNotPossible

37

It is not possible to update a collision group.

TRUE

CollisionEntityUpdateNotPossible

51

It is not possible to update a collision entity.

OK

Enumeration name:

Ok

Enumeration value:

0

Description:

Success

NotConfigured

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.

KinematicResultInvalid

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.

CollisionGroupUpdateNotPossible

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.

CollisionEntityUpdateNotPossible

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.