Copyright ACM, 2000



Khalil Khalili, University of Birjand, POBox 79, Birjand, Iran




KEYWORDS: PCB Assembly, Vision Systems, Flexible Assembly, Fiducial marks



Current vision assisted printed circuit board assembly systems use fiducial marks to locate the position of pads relative to pick and place mechanism (or robot). Although, the fiducial marks are desired patterns to be located by a vision system but the accuracy of object locating is limited by the accuracy of hardware implemented and this may not be adequate. In this paper it is suggested to use pads itself instead of fiducial marks. This way some prior information will be available that can be used in conjunction with the readings of the vision system to improve the accuracy of object locating. A simulated experiment has been performed and the results are presented. It is shown that the accuracy is improved.


Detecting the position and orientation of objects are of interest in many applications such as the robotic assembly of parts where the pose (position and orientation) of mating parts have to be determined. Although both parts can be registered to a fixed and known co-ordinate system [1] using special or flexible fixtures [2], there are certain difficulties [4]. Fixturing errors, errors of robot related to the accuracy and repeatability of robot, variations in the size of components, component distortions, may result in an unsuccessful assembly.

Sensory devices have been widely used to detect the position and orientation of parts just before assembly, this provides more flexibility to the assembly of parts as they can be presented in random pose. However, the problem with this method is that either the locating accuracy is not very high due to the use of low cost sensors or the cost of equipment is high and the processing time is long e.g. a high resolution vision system can provide higher accuracy but such systems are expensive and the processing time is usually not appropriate for many assembly applications.

Many efforts have been made to increase the accuracy of vision systems in finding the positions of objects [6], but in general they suffer from reduced flexibility and increased system cost and processing time [5].

Currently, the vision guided PCB assembly systems use global and local fiducial to locate pads on the board [3]. Usually two or three fiducial marks in the form of a plus sign, circle, square, etc. printed on the corners of pads on the PCB are used. Since the relative position of fiducial marks and pads are known the pose of pads can be determined easily. The use of local fiducial marks reduces the risk of large errors in locating pads for a particular portion of the board as errors such as those associated with board distortion are minimised. Although, these special patterns (fiducials) are easy to be located accurately, the accuracy of vision system may not be adequate for assembly of ultra fine pitch components. The assembly of ultra-fine pitch components with a lead gap as small as 0.25 will require a very accurate system to locate the pads on the board and the legs on the component.

Instead of using fiducial marks, pads may be used directly. This will bring difficulties such as light reflections from metallic pads and poor quality images due to irregular shape of paste on the pad, but at the same time it will make use of large amount of useful prior knowledge possible. The distances between pads as the prior knowledge may be used to increase the accuracy of object locating.

This paper describes the result of an experiment in locating the position of pads on PCB based on a statistical method. The method uses prior knowledge about the object under inspection to reduce the probability of large positioning errors occurring and to thus reduce the uncertainty in locating parts.


Modern manufacturing is based on interchangebility of parts which means, at least, that part features are repeatable. Modern manufacturing equipment is also usually able to produce features at a high level of accuracy and this leads to the proposition that, in general, features on components are manufactured to tolerances which are usually significantly better than those required for assembly (at least one order of magnitude) [6].

For many parts in typical products there is some useful information available from design (realised in manufacturing process) which can be used at assembly stage. This information can be used in assembly to improve the accuracy of object locating when a sensory system is used to detect the positions and orientations of parts. The present work uses simulated readings of a vision system to locate the position and orientation of pads on PCB. The prior knowledge available is in the form of the relative positions of pads (distance between pads) on the PCB, Figure 1.


Ten points with known positions were considered (Fig. 2-a). Using a random number generator each point (in both X and Y directions) was added a value between -1 to 1. This is similar to readings of a vision system with errors maximum at +1 pixel. Now, the position of point P0 is to be determined experimentally.

In the experiment the position of all ten points are read and the distances between point P0 to all others are calculated, that is:

Dr1=ABS (Pr0-Pr1)

Dr2=ABS (Pr0-Pr2)

Dr3=ABS (Pr0-Pr3)

Dr4=ABS (Pr0-Pr4)

Pri is the ith read point; i =0,1,…,9 and

Dri , is the ith read distance , i =1,2,…,10.

The actual distances Dai‘s are known accurately (based on the proposition described in section 2) as the prior knowledge. The difference between the read distance and the actual distance is considered as the error;

ei = ABS (Dri - Dai)

and the total error is:

E = SUM (ABS (Dri - Dai)) i =0 to n, n=9

By changing the position of Pr0 the read distances and accordingly the total error will change. By repeatedly changing the position of Pr0 the position where the total error is minimum is obtained and the corresponding Pr0 is determined.

A program was written in C to find the position of the point of interest (P0) based on the idea described. As the position found depends on the errors of other read points (the arrangement of errors) and may vary each time the program is run, the procedure was repeated for 300 times and the results were obtained.


Figure 3 shows the fluctuations on the position of the POI when it is read directly. Figure 4 shows the fluctuations on the position of the POI when the distance information is used and the position of the POI is found. It can be seen that, the range of fluctuations is reduced in most of the times hence reduced errors. The 3s error is reduced from 0.575 to 0.221 meaning that the found position of the POI is closer to its true position more frequently. Although, it is not guaranteed that the position of the point of interest (POI) obtained this way is necessarily the same as its true position but it can be said that it is the most probable position of it.

It is expected that the error reduces as the number of known distances (increased number of known points) is increased. To study this a second test with 100 points (99 known distances) was carried out. Figure 5 shows the fluctuations on the position of the POI when 100 points are used.


Locating the position of pads using fiducial marks relies on the accuracy of the vision system hardware. The distances between pads are known relatively accurately. Using pads instead of fiducial marks makes this information available to compensate for reading errors of a vision system. It was shown that the method works and can improve the accuracy of locating pads significantly. However, in practice there will exist difficulties such as poor quality images of pads. This is due to prosuch as reflections from metallic pads, irregular reflections from pads (paste). Therefore, before implementing the method in real world applications it is required to perform experiments with real situations where different pads and boards are examined to see if the method can still result in acceptable answers.

Currently, the author is testing the method with poor quality images, the result of which will be published later.


1- Chan, C. Y., 1994, “Cell Controller for Printed Circuit Board Assembly Rework”, PhD Thesis, University of Salford, UK.

2- Chan, K. C., Benhabib, B., and Dai, M. Q., 1992, “A Reconfigurable Fixturing System for Robotic Assembly”, Journal of Manufacturing Systems, Vol. 9, Pt3, pp206-221.

3- Chiorboli, G. and Vecchi, 1993, “Comments on Design of Fiducials for Accurate Registration Using Machine Vision”, IEEE Trans. on Pattern Analysis and Machine Intelligence”, Vol. 15, No. 2 pp1330-1332.

4- Davis, J. L. and Gill, K. F., 1992, “Machine Vision and Automated Assembly”, Mechatronics Vol. 3, No. 4, pp493-501.

5- Khalili, K., 1997, ”Enhancing Vision Data Using Prior Knowledge for Assembly Applications”, PhD Thesis, University of Salford, UK.

6- Robinson, M. J. 1994, “Limits to the Accuracy of Dimensional Measurements Using Machine Vision”, PhD Thesis, University of Manchester, UK.


Dr. Khalil Khalili received his MSc (1992) and PhD.(1997) degrees in Manufacturing Eng. from University of Salford ,UK. Currently he is an assistant professor of manufacturing Eng. at the University of Birjand. He is involved in several research projects in industrial applications of machine vision.




Fig. 1- Pattern of a pads, the distance between pads are known relatively accurately


Fig. 2- Actual and read positions of points

a) Actual positions of points (Pai) b) Read positions of points (Pri)


Fig. 3 - Fluctuations on the position of POI when read directly


Fig. 4 - Fluctuations on the position of POI when obtained using distance information

(9 auxiliary points are used).


Fig. 5 - Fluctuations on the position of POI when obtained using distance information

(99 auxiliary points are used).


Copyright 2000 ACM

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and or fee.
SAC 2000 March 19-21 Como, Italy
(c) 2000 ACM 1-58113-239-5/00/003>...>$5.00