FB_RandomPoseGenerator - SetPoseOrientationList (Method)

Overview

Type:

Method

Available as of:

V1.1.0.0

This chapter provides information on:

oTask

oDescription

oInterface

oDiagnostic Messages

Task

Define constraints on position and orientation for the generation of a random Cartesian pose.

Description

The method SetPoseOrientationList allows you to define constraints on position and orientation for the generation of a random Cartesian pose.

The orientation of the poses is randomly selected from a list of possible orientations provided by you.

To define a specific value for a constraint, set the minimum and the maximum to the same value.

Example

i_astOrientationList[1].lrZ := 90.0;
i_astOrientationList[2].lrZ := 180.0;
i_alrOrientationProbabilityList[1] := 3.5;
i_alrOrientationProbabilityList[2] := 1.5;

oIn 1.5/5 (30%) of the cases, an orientation of 90 degrees about Z is used.

oIn 3.5/5 (70%) of the cases, an orientation of 180 degrees about Z is used.

Interface

Input

Data type

Description

i_stMinPosition

PDL.ST_Vector3D

Minimum position value that a generated pose can take. It can be considered as the minimum Cartesian coordinate contained in a volume defined by you.

i_stMaxPosition

PDL.ST_Vector3D

Maximum position value that a generated pose can take. It can be considered as the maximum Cartesian coordinate contained in a volume defined by you.

i_astOrientationList

ARRAY [1...Gc_udiMaxNumberOfOrientations] OF PDL.ST_Vector3D

List of orientations expressed as roll, pitch, and yaw angles. The resulting Cartesian pose has an orientation randomly picked from this list accordingly with the values listed in i_alrOrientationProbabilityList.

i_alrOrientationProbabilityList

ARRAY [1... Gc_udiMaxNumberOfOrientations] OF LREAL

List used to define the probabilities related to the random selection of an orientation from i_astOrientationList. The probability of each orientation is evaluated as the ratio between the value assigned to each element of the array and the total sum of the listed values.

i_etOrientationConvention

ROB.ET_OrientationConvention

Convention for the rotation angles of the orientation.

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic. A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DiagExt

POU-specific output on the diagnostic.

q_etDiag = ET_Diag.Ok -> Status message

q_etDiag <> ET_Diag.Ok -> Diagnostic message

q_sMsg

STRING[80]

Event-triggered message that gives more detailed information on the diagnostic state.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value of q_etDiagExt

Description

Ok

Ok

0

Ok

InputParameterInvalid

OrientationConventionInvalid

38

Invalid orientation convention.

InputParameterInvalid

OrientationProbabilitiesSumInvalid

49

The sum of the orientation probabilities provided by you is zero.

InputParameterInvalid

OrientationProbabilityRange

50

A negative value for one of the probabilities related to the list of possible orientations was provided.

InputParameterInvalid

PositionXRange

40

The X position range provided as constraint of the random generation is invalid.

InputParameterInvalid

PositionYRange

41

The Y position range provided as constraint of the random generation is invalid.

InputParameterInvalid

PositionZRange

42

The Z position range provided as constraint of the random generation is invalid.

UnexpectedProgramBehavior

RandomSeedInvalid

39

The random seed value was initialized to an invalid value.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The set of constrains were successfully configured.

OrientationConventionInvalid

Enumeration name:

OrientationConventionInvalid

Enumeration value:

38

Description:

Invalid orientation convention.

Issue

Cause

Solution

The orientation convention is invalid.

The input value of i_etOrientationConvention is invalid.

Provide one of the permissible values of ROB.ET_OrientationConvention.

OrientationProbabilitiesSumInvalid

Enumeration name:

OrientationProbabilitiesSumInvalid

Enumeration value:

49

Description:

The sum of the orientation probabilities provided is zero.

Issue

Cause

Solution

The sum of the provided rotation probabilities is zero.

The sum of the values contained in i_alrOrientationProbabilityList must be greater than 0.

Verify that the sum of the provided probabilities is > 0.

OrientationProbabilityRange

Enumeration name:

OrientationProbabilityRange

Enumeration value:

50

Description:

A negative value for one of the probabilities related to the list of possible orientations was provided.

Issue

Cause

Solution

A negative value for one of the probabilities related to the list of possible orientations was provided.

One of the probabilities inside i_alrOrientationProbabilityList has a negative value.

Verify that every element of the array has a value of zero or a positive value.

PositionXRange

Enumeration name:

PositionXRange

Enumeration value:

40

Description:

The X position range provided as constraint of the random generation is invalid.

Issue

Cause

Solution

The X position range provided as constraint of the random generation is invalid.

The provided X position range is invalid.

Provide a range that respects the following condition:

i_stMinPosition.lrX ≤ i_stMaxPosition.lrX

PositionYRange

Enumeration name:

PositionYRange

Enumeration value:

41

Description:

The Y position range provided as constraint of the random generation is invalid.

Issue

Cause

Solution

The Y position range provided as constraint of the random generation is invalid.

The provided Y position range is invalid.

Provide a range that respects the following condition:

i_stMinPosition.lrY ≤ i_stMaxPosition.lrY

PositionZRange

Enumeration name:

PositionZRange

Enumeration value:

42

Description:

The Z position range provided as constraint of the random generation is invalid.

Issue

Cause

Solution

The Z position range provided as constraint of the random generation is invalid.

The provided Z position range is invalid.

Provide a range that respects the following condition:

i_stMinPosition.lrZ ≤ i_stMaxPosition.lrZ

RandomSeedInvalid

Enumeration name:

RandomSeedInvalid

Enumeration value:

39

Description:

The random seed value was initialized to an invalid value.

Issue

Cause

Solution

The random seed value was internally set to an invalid value.

-

Contact your Schneider Electric representative.