FB_CollisionHandlerDelta2AxUpdateFromJointPositions (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 joint positions provided as input. The default collision objects are those that are automatically created and configured inside the collision entity of the collision handler.

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.

The following graphic shows the elements of i_alrJointPositions:

Interface

The function block implements the interface IF_CollisionHandlerDelta2Ax.

Access: PUBLIC

Input

Data type

Description

i_alrJointPositions

ARRAY [1...Gc_udiDelta2AxNumberOfJoints] OF LREAL

Joint positions of a Delta2Ax 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

CollisionGroupUpdateNotPossible

37

It is not possible to update a collision group.

TRUE

CollisionEntityUpdateNotPossible

51

It is not possible to update a collision entity.

TRUE

KinematicResultInvalid

46

The provided kinematic result is invalid.

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 update the collision handler.

The collision handler has not been configured yet, meaning that xConfigured = FALSE

Make a successful call of SetParameters before calling this method, so that xConfigured = 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.

KinematicResultInvalid

Enumeration name:

KinematicResultInvalid

Enumeration value:

46

Description:

The provided kinematic result is invalid.

Issue

Cause

Solution

Could not update the collision handler.

i_alrJointPositions contains an invalid set of joint positions.

Make sure to provide a valid set of joint positions.