# Vision Systems for a UR5 Cobot on a Quality Control Robotic Station
## 1 Introduction
Vision measurements enable the determination of objects' geometric features [14; 22; 23; 24; 25]. An example of such applications in identifying image features is presented [26], where an original algorithm based on the ORB (Oriented Fast and Rotated Brief) algorithm concerning image processing on FPGA systems is also discussed. Another work [27] focuses on assessment using SIFT and SURF feature detectors for analyzing underwater images. The work [28] addresses using Fast R-CNNs (Fast Region-Based Convolutional Neural Network) to develop a waste identification system in a garbage-sorting plant. The system is complemented by a robotic line that performs the sorting process. The area of application of vision systems in robotics employing image processing methods is the automated identification of positions of workcell components with Aruco markers and OpenCV library [29]. Another group of works covering the issue of using vision systems in robotics are applications built based on the ROS (Robot Operating System) environment engaging OpenCV libraries and C++ or Python languages [30; 31; 32; 33; 34; 35; 36; 37]. In existing solutions of stationary robotic cells, the most common image acquisition hardware configurations of cobot vision systems are as follows:  
* One camera [31; 38]/one [30; 35] or two [37] RGB-D cameras affixed to the cobot's flange ('eye-in-hand')
* One stationary camera [32; 36; 39] permanently mounted ('eye-to-hand'). In the eye-in-hand configuration, a vision system based on an RGB-D RealSense D435 camera was used to recognize a part's type and inspect a gluing process [30]; in [35], the same type of RGB-D D435 camera was employed for grasping moving objects based on a deep learning framework. Two depth cameras were deployed on [PERSON], a dual-arm cobot, where each arm equipped with a Kinect v2 camera [37] was used for gripping feedback. A vision system involving a UR5e cobot equipped with a USB web camera was utilized for single, simple object localization in the cobot workspace and pick and place tasks [31], and a vision system involving a UR5e cobot with one industrial camera was deployed for screw detection and classification based on YOLO architecture [38]. The RGB-D Intel RealSense D415 camera mounted above the main worktable of a UR5 cobot was applied to detect selected components of mobile phones (for an assembly task) by employing a YOLO network [32]; the grasping system was based on a stationary vision system involving a UR5 cobot equipped with a Kinect camera [36; 39]. In this paper, the deployed solution of a hardware part of the cobot's vision system in stationary robotic cells consists of two independent cameras: one in 'eye-in-hand' configuration and one 'eye-to-hand' configuration. Robot vision is a process of extracting, identifying, and interpreting the information obtained from a 3D scene. Two- and three-dimensional robot vision systems belong to standard non-contact measurement systems for object localization and identification in the robot workspace. It provides accurate information about parts' position, orientation, and location changes [33; 40; 41] as well as the robot's location [42; 43]. The main merit of robot vision systems is their ability to intelligently locate and recognize parts in 3D space by means of one or more cameras. Cameras can be installed either in a stationary (permanently mounted above the robot workspace) or mobile manner--installed on the robot arm. Thus, the calibration of the vision system with a robot becomes a key element [10; 11; 12; 13; 15]. Therefore, two types of robot vision systems are to be distinguished: dedicated to the specific robot type (i.e., Omron/ACE Sight [44], Fanuc/iRVision [45]) and of general use (i.e., Cognex, Keyence, Omorn, Matrox, National Instruments, Stemmer-Imaging, Sick, etc.). In the case of dedicated systems embedded in the robot controller, image processing and calibration take place in one operating system and programming environment reserved for a given robot manufacturer (i.e., ACE Sight [44], iRVision [45]).