Good morning community,

Where words/descriptions might fail, pictures I'm hoping make up. therefore please find my two examples of the task I need to query and reach out for assistance on:

Firstly the tech specs:

KR3 - R540

KSS 8.6.6

KRC4 Compact

**Machine Concept:**

The machine is a fixtureless design, where an operator can present a mechanical component that is detected by a STATIC Cognex camera mounted to the roof of the machine. ( each part is taught into the machine so that parts presented position is a mathematical sum from its "Gold-Standard" ). The robot then moves end of arm tooling to the position of this part for indepth evaluation.

**[ Pose to part constant even when part is presented differently ]**

**Status Quo:**

### The Cognex optical axis's ( X/Y ) are orientated and aligned to the exact same direction as the BASE_DATA[1] ###

## The Cognex optical axis's ( X/Y ) are calibrated to metric mm units ##

_{}^{}

I'm using simplistic Base switching / Geometric maths to apply the sum / delta from the Cognex ( X / Y ) and the already calibrated base ( Base_Data[1] ) to an available base : BASE_DATA[10].

BASE_DATA[10] = BASE_DATA[1] : fCognexOffset ; fCognexOffset.X/Y = sum of part position minus "GoldStandard"

I then apply the Cognex ANGLE math to the end effector TCP.A so that the evaluation pose of the end effector is always consistent regardless of part presentation.

This all works fine for TOP DOWN inspections where no angle is applied to the inspection and therefore the end effector is parallel to the machine plate that the parts are placed on.

The above is limiting as if a part inspection requires an angled evaluation angle then applying a TCP.A correction is negated and actually incorrect.

I have applied the .A delta to the fCognexOffset FRAME, but this then behaves incorrectly too, as the pose of the robot is now presented out of FOV of the part. I believe because it is orientating on the BASE_DATA[1] origin.

**Question:**

Can anyone aid in a calculation that can accommodate part orientation that can be applied to BASE_DATA[10]?. There could be multiple checks per part but for ease of understanding I reference just this one evaluation pose.

Thank you in advance community......