Robot Vision Automation

Robot vision automation — making vision move the robot

Simply taking a picture with a camera won't move a robot. Coordinate transformation, communication design, and inspection flow have to sit between vision and the robot. This page walks through the topics you actually have to handle when building robot vision automation.

01

Robot vision and inspection vision are different

Inspection vision looks at an image and outputs pass/fail (1/0). Robot vision is different. It computes where a part is and which way it faces, producing X / Y / θ coordinates the robot can use right away.

Connect inspection vision straight to a robot without understanding this difference, and there are no pick coordinates — the robot has no idea where to go. Shooting distance, field of view, and the form of the output are all different.

See the Vision Engine →
Robot arm interference — min shooting distance 650 mm

650 mm+

Shooting distance accounting for arm interference

Many parts across a wide area — 200–400× range

200–400×

Many parts captured across a wide area

0.8×1.6 mm micro part — pick by X/Y/θ

X / Y / θ

The result is robot coordinates, not OK/NG

02

Calibration — aligning camera and robot coordinates

The coordinates the camera sees and the coordinates the robot moves in start out different. Calibration is the process of aligning these two coordinate systems. Map real robot positions to image coordinates using a 9-point reference, and from then on every position the vision recognizes converts into mm-scale coordinates the robot can use directly.

If calibration isn't accurate, picks miss no matter how good the recognition rate is. AIM handles everything from calibration-sheet recognition to robot coordinate input and automatic tool-error calculation within AimFactoryCore.

See AimFactoryCore →
Orientation difference between camera and robot coordinate systems — angle θ1
The camera origin (0,0) and the robot origin (0,0) differ in both position and orientation. θ1 is the rotation angle between the two coordinate systems.

03

Coordinate transfer — TCP/IP and IO

There are two main ways to pass the pick coordinates vision computed to the robot controller. Send the X/Y/θ coordinate string directly over TCP/IP socket communication, or exchange trigger / done / interlock via digital IO signals.

22+ brands — ABB, UR, Hyundai and more — support standard TCP/IP communication. AimFactoryCore ties capture request → vision processing → coordinate transfer → pick confirmation into one operating flow.

See robot integration →

TCP/IP communication flow

1

Send trigger

sio_Vision = "002"

Robot → vision PC: capture/recognize request

2

Wait for response

wait( sioGet(sio_Vision, ln_Num) > 0 )

Wait until the vision PC sends the CSV string

3

Parse received data

"OK, X, Y, RZ, nFound"

OK/NG

Result

X

Position

Y

Position

RZ

Angle

n

Count

4

Confirm robot move conditions

If OK and nFound > 0 → pick-move to n_X / n_Y / n_RZ

04

Coordinate transfer — vendor-specific protocols

Some robots use manufacturer-specific protocols instead of TCP/IP standard. FANUC communicates via PCDK, YASKAWA via Motocom/MotoPlus. In these cases coordinates must be passed through that SDK or a dedicated interface rather than a standard socket.

AIM can integrate these vendor protocols with dedicated handling. Because the communication setup differs by robot brand and controller model, we confirm your robot/controller details before deployment.

See robot integration →
FANUC logo
Yaskawa logo
IAI logo

AGILEBOT

05

Template matching and recognition performance

RoboEYE compares a reference image (template) with the captured image to find a part's position and rotation angle. With good lighting, exposure, and ROI conditions, processing time stays around tens of milliseconds and recognition stabilizes above 99%.

Conversely, if lighting fluctuates or surface reflections are strong, the recognition rate drops sharply. Template-matching performance comes from lighting, lens, and capture environment before the algorithm. AIM saves per-part lighting and exposure conditions as a recipe so recognition holds even when the model changes.

See AimFactoryCore →
Template matching setup — register reference image and ROI

① Matching setup

Register the reference image (template) and save ROI, lighting, and exposure conditions as a recipe.

Template matching result — recognize part position and rotation

② Recognition result

Detect part position and rotation in real time and pass the coordinates to the robot.

06

Inspections robot vision needs

In pick automation, vision does more than "find a position." It also inspects whether the part was gripped correctly, whether the orientation is right, and whether it's OK to pass to the next process.

Circle center correction — compute center coordinates by vision

Circle center correction

Checks a part's front/back and orientation before pickup, filtering out flipped or misoriented parts so only correctly oriented ones move on.

Overlap inspection — detect overlapping parts

Overlap inspection

Decides whether parts can be picked when overlapping. Picking overlapped parts can lift two at once or cause grip failures, so only cleanly separated parts are selected.

Gripper inspection — verify grip state after pickup

Gripper inspection

After picking, vision verifies the part is gripped correctly, catching grip failures or misalignment before the next process.

Case studies

Applied on real parts and lines.

Contact sales →
Silicone part tray auto-feeding with AIVE + RoboEYE (4×6 mm)

Electronic-parts manufacturing · Undisclosed (silicone parts)

Silicone part tray auto-feeding with AIVE + RoboEYE (4×6 mm)

Ultra-small SMD reel-taping automation with IAI robot, AIVE & RoboEYE

Electronic-parts manufacturing · IAI Robotics

Ultra-small SMD reel-taping automation with IAI robot, AIVE & RoboEYE

Hyundai Robotics HH7 case study | Flexible feeder & machine-vision automation

Automotive parts · Hyundai Heavy Industries

Hyundai Robotics HH7 case study | Flexible feeder & machine-vision automation

Want to check if it works with your parts and robot?

Tell us your robot, part types, and process conditions, and we'll review a suitable configuration with you.