# Stage Validator

The Motion Stage Validator Block performs motion stage validation. The purpose of this process is to verify that a stage moves to its commanded poses (X, Y, Theta), and to characterize certain types of systematic errors in the observed motion. This block is a Cognex Designer wrapper for the VisionPro CogMotionStageValidator operator and implements most of its functionality.

The VisionPro CogMotionStageValidator uses a fully configured CogHandEyeCalibrator object during execution. This block constructs a CogHandEyeCalibrator internally, but exposes its properties as Cognex Designer properties in order to help the user to configure it. All the properties of the CogHandEyeCalibrator object are exposed by the Motion Stage Validator Block except the MotionCapability property. The MotionCapability is inferred from the stage poses that are supplied as input.

## General Information

Class name: HandEyeCalibrationBlock

Namespace: Cognex.Designer.AlignPlus.Calibration

Assembly: Cognex.Designer.AlignPlus.Calibration.dll

## Inputs

Name | Type | Description
--- | --- | ---
Calibration Image PelRects | System.Drawing.Rectangle[] | The pelrects used to extract the correspondence point pairs. These pelrects are used to define the camera coordinate system (i.e. Camera2D) to be at the center of the pelrect. There should be one pelrect for each camera. There is no relationship between the pelrects of two separate cameras.
FeatureCrspsMCamerasNPoses | Cognex.VisionPro.CogFeatureCrspsMCamerasNPoses | The correspondence point pairs to be processed.
Stage Pose Collection | Cognex.VisionPro.CogTransform2DRigid[] | The sequence of UncorrectedHome2DFromStage2D poses that were used to move the stage when the images that provided the correspondence point pairs were acquired.

## Outputs

Name | Type | Description
--- | --- | ---
Validation Timed Out | Boolean | This output will be true if the validation operation times out.
Validation Result | Cognex.VisionPro.CalibFix.CogMotionStageValidationResult | Contains the results of the motion stage validation process.

## Properties

These properties are described as below in two groups:

- Calibration Parameters

Name | Type | Description
--- | --- | ---
Home2D Unit Length Reference | Cognex.VisionPro.CalibFix. CogHandEyeHome2DUnitLengthReferenceConstants | Specifies how unit length in Home2D is established. Refer to the VisionPro CogHandEyeCalibrator documentation for more details
Is Moving Camera | Boolean | Indicates if the cameras are moving or stationary. Refer to the VisionPro CogHandEyeCalibrator documentation for more details.
Lens Distortion Model | Cognex.VisionPro. CogLensDistortionModelConstants | The optical distortion model to be used in computing Raw2DFromCamera2D. Refer to the VisionPro CogHandEyeCalibrator documentation for more details.
Minimum Rotation Span | Double | The minimum required rotation angle span in degrees among all input motion-x-y-theta poses for motion capabilities that allow rotation. When executed, this block will throw an exception if the rotation angle span among all input motion-x-y-theta poses is less than this minimum requirement. Refer to the VisionPro CogHandEyeCalibrator documentation for more details.

- Parameters

Name | Type | Description
--- | --- | ---
Number of Cameras | Int32 | Sets/Gets the number of cameras supplying images to the feature extractor. This property has a minimum value of MinNumberOfCameras and a maximum value of MaxNumberOfCameras. Throws System.ArgumentOutOfRangeException: If the setter value is less than MinNumberOfCameras or more than MaxNumberOfCameras
Timeout Enabled | Boolean | Enable or disable timeout for validation. Refer to the VisionPro CogMotionStageValidator documentation for more details.
Timeout Value | Double | The validation time out value in milliseconds. Refer to the VisionPro CogMotionStageValidator documentation for more details.

## Published Methods

Void ResetBlock()

This method resets this block to a default state.