FB_RandomPoseGenerator - SetPoseInPlaneRotationList (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 SetPoseInPlaneRotationList allows you to define constraints on position and orientation for the generation of a random Cartesian pose contained in a selected working plane.

The rotation of the poses is randomly selected from a list of possible rotations provided.

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

Example

i_alrRotationList[1] := 90.0;
i_alrRorationList[2] := 180.0;
i_alrRotationProbabilityList[1] := 3.5;
i_alrRotationProbabilityList[2] := 1.5;

oIn 1.5/5 (30%) of the cases, a rotation value of 90.0 is used.

oIn 3.5/5 (70%) of the cases, a rotation value of 180.0 is used.

Interface

Input

Data type

Description

i_etPlane

ET_WorkingPlane

Used to select a working plane (for example, XY, XZ, YZ). The value of this input cannot be ROB.ET_WorkingPlane.None.

While a specific working plane is selected, any generated pose describes a position contained in the plane (the position along the third 3D axis is set to 0) and a rotation about a vector normal to the plane.

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.

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.

i_alrRotationList

ARRAY [1...Gc_uiMaxNumberOfRotations] OF LREAL

List of rotations. On each call of the method, a rotation value is selected in accordance to the values listed in i_alrRotationProbabilityList.

i_alrRotationProbabilityList

ARRAY [1...Gc_uiMaxNumberOfRotations] OF LREAL

List used to define the probabilities related to the random selection of a rotation from i_alrRotationList. The probability of each rotation 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

PlaneInvalid

37

The selected working plane is invalid.

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.

InputParameterInvalid

RotationProbabilitiesSumInvalid

47

The sum of the rotation probabilities provided is zero.

InputParameterInvalid

RotationProbabilityRange

48

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

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.

PlaneInvalid

Enumeration name:

PlaneInvalid

Enumeration value:

37

Description:

The selected working plane is invalid.

Issue

Cause

Solution

The selected working plane is invalid.

The provided value does not identify a known working plane.

Verify that the value is chosen from this set:

oROB.ET_WorkingPlane.XY

oROB.ET_WorkingPlane.XZ

oROB.ET_WorkingPlane.YZ

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.

oProvide a range that respects the following condition:

i_stMinPosition.lrX ≤ i_stMaxPosition.lrX

oIf a working plane was selected, verify that i_stMinPosition.lrX and i_stMaxPosition.lrX are contained in the plane.

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.

oProvide a range that respects the following condition:

i_stMinPosition.lrY ≤ i_stMaxPosition.lrY

oIf a working plane was selected, verify that i_stMinPosition.lrY and i_stMaxPosition.lrY are contained the plane.

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.

oProvide a range that respects the following condition:

i_stMinPosition.lrZ ≤ i_stMaxPosition.lrZ

oIf a working plane was selected, verify that i_stMinPosition.lrZ and i_stMaxPosition.lrZ are contained the plane.

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.

RotationProbabilitiesSumInvalid

Enumeration name:

RotationProbabilitiesSumInvalid

Enumeration value:

47

Description:

The sum of the rotation probabilities provided is zero.

Issue

Cause

Solution

The sum of the provided rotation probabilities is 0.

The sum of the probabilities listed inside the input i_alrRotationProbabilityList must be greater than 0.

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

RotationProbabilityRange

Enumeration name:

RotationProbabilityRange

Enumeration value:

48

Description:

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

Issue

Cause

Solution

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

One of the probabilities inside i_alrRotationProbabilityList has a negative value.

Verify that every probability has a value of zero or a positive value.