FB_TeachingFixedSystem - EstimateCartesianPose (Method)

Overview

Type:

Method

Available as of:

V1.8.0.0

This chapter provides information on:

Task

Estimates a cartesian pose based on sampled data.

Description

With the method EstimateCartesianPose(...), a cartesian pose from a source to a target coordinate system is estimated.

NOTE: At least three sets of samples must be acquired before calling this method. This can be verified by monitoring the property udiNumberOfCompleteSets.

Access: PUBLIC

Interface

Input

Data type

Description

i_etOrientationConvention

GEM.ET_OrientationConvention

Orientation convention that must be used for the estimated cartesian pose.

Default value: GEM.ET_OrientationConvention.ZYX

i_lrQualityTolerance

LREAL

Value used to make a comparison between the provided samples and the estimated pose. Refer to the outputs q_lrSamplesDirectionQuality and q_lrSamplesPlaneQuality for more information.

Default value: 1.0 mm

Output

Data type

Description

q_xError

BOOL

TRUE: An error occurred during last command. For more information refer also to q_etResult and q_sResultMsg.

q_etResult

ET_Result

Provides diagnostic and status information.

If q_xError = FALSE, then q_etResult provides status information.

If q_xError = TRUE, then q_etResult provides diagnostic/error information.

The enumeration ET_Result contains the possible values of the POU operation results.

q_sResultMsg

STRING[80]

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

q_stRobotToOtherSystemPose

ST_CartesianPose

Relative cartesian pose of the other system defined with reference to the coordinate system of the robot. It is defined as position and roll, pitch, and yaw orientation.

q_lrSamplesDirectionQuality

LREAL

Percentage value providing an indication of the quality of the estimated X direction. It depends on the number of samples that are more distant from the estimated X direction than i_lrQualityTolerance.

Range: [0, 100]

q_lrSamplesPlaneQuality

LREAL

Percentage value providing an indication of the quality of the estimated XY plane. It depends on the number of samples that are more distant from the estimated XY plane than i_lrQualityTolerance.

Range: [0, 100]

q_lrMaxErrorOnSamples

LREAL

Each provided sample is verified based on the estimated pose to verify that the estimation allows a correct reconstruction of the sample. This value represents the maximum measurement error found for the provided samples and their equivalent values calculated using the estimated pose.

Return Value

Data type

Description

GEM.ST_CartesianPose

Estimated cartesian pose with the position defined as a 3D vector and the orientation described as roll, pitch and yaw angles. The applied orientation convention is the same provided as input.

This pose is referred to the global coordinate system and is related to either the robot or the other system involved in the teaching, depending on the value of the property xIsRobotRefenceSystem. If the robot is used as reference system, the global pose is referred to the other system involved in the teaching. If the robot is not used as reference system, the returned pose is the global pose of the robot.

Diagnostic Messages

q_xError

q_etResult

Enumeration value of q_etResult

Description

FALSE

Ok

0

Success.

TRUE

NoSolutionFound

46

Not possible to find a solution using the provided samples.

TRUE

NumberOfSetsInvalid

32

Not enough samples to evaluate a cartesian pose.

TRUE

OrientationConventionInvalid

39

The provided orientation convention contains an invalid value.

TRUE

QualityToleranceRange

41

The provided value for the quality tolerance is out of range.

NoSolutionFound

Enumeration name:

NoSolutionFound

Enumeration value:

46

Description:

Not possible to find a solution using the provided samples.

Issue

Cause

Solution

Not possible to estimate an orientation.

Not possible to estimate a cartesian pose based on the provided set of samples.

Try to acquire a different set of samples.

NumberOfSetsInvalid

Enumeration name:

NumberOfSetsInvalid

Enumeration value:

32

Description:

Not enough samples to evaluate a cartesian pose.

Issue

Cause

Solution

Not possible to estimate an orientation.

Not enough sets of samples are acquired.

Ensure that udiNumberOfCompleteSets >= 3.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Success.

Status message: Estimating a cartesian pose was successful.

OrientationConventionInvalid

Enumeration name:

OrientationConventionInvalid

Enumeration value:

39

Description:

The provided orientation convention contains an invalid value.

Issue

Cause

Solution

Not possible to estimate an orientation.

The input i_etOrientationConvention contains an invalid orientation convention value.

The input i_etOrientationConvention must contain one of the values of GEM.ET_OrientationConvention and must be different from GEM.ET_OrientationConvention.None.

QualityToleranceRange

Enumeration name:

QualityToleranceRange

Enumeration value:

41

Description:

The provided value for the quality tolerance is out of range.

Issue

Cause

Solution

Not possible to estimate an orientation.

The value of i_lrQualityTolerance is either zero or negative.

Verify that i_lrQualityTolerance >0.0.