Академический Документы
Профессиональный Документы
Культура Документы
Journal of Computing and Information Science in Engineering MARCH 2018, Vol. 18 / 011005-1
Copyright VC 2018 by ASME
where V is the volume of the solid, L is the largest edge of the ori-
ented bounding box (OBB), and L is the smallest edge of the ori-
ented bounding box. The OBB algorithm used in this paper is
based on the approach introduced by Gottschalk [39].
In order to isolate the small objects within the assembly model,
the SM is calculated for every part. Then, n clusters with equal
ranges are generated between the minimum and the maximum of
the calculated SM values. (It is found that the most accurate
results are obtained when n ¼ 30.) Every assembly part is then
assigned to the cluster with closest value to its calculated SM. The
first cluster (c ¼ 1), which has a value equal to the SM of the
smallest part in the assembly, contains the small objects that will
be subsequently checked as fasteners. The remaining clusters (c ¼ Fig. 3 (a) An assembly with 211 parts and (b) result of the
2,…, n) are considered larger objects. Figure 3 shows the result of small and large object clustering algorithm
Journal of Computing and Information Science in Engineering MARCH 2018, Vol. 18 / 011005-3
nut, we can confidently say that the given object is a threaded bolt be used to detect the threads in an object. Figure 8 shows the flow-
or nut. chart of how the algorithm of fastener detection using their
In order to have an accurate detection, a good number of points threads’ helix shape works.
(K) are necessary to be generated for projection. More points will In this approach, an edge (e) with an angle of a is chosen from
produce more accurate results but will obviously impact computa- the set of edges (E) of a tessellated solid ((1) in the figure) and is
tional speed. With K set to 1000 for bolts/screws and 500 for nuts, added to a list, M. This edge is a candidate member of the helix
accurate detections for both large and small objects are achieved. only if at least one of its adjacent edges also has internal angle
Considering the average of around 12,000 triangles on a fastener equal to a. For this purpose, all of the adjacent edges of e with the
(obtained from training data points in our perceptron learner), the internal angle of a are added to the stack S ((2) on the flowchart).
smallest Ks still create large number of ray casting checks. A An edge is then popped from the stack, added to the list M, and
smart way to overcome this time expense is to organize the num- again its adjacent edges with the internal angle of a are added to
ber of triangles for a more efficient detection process. For this pur- the S. This loop continues until the stack is empty. A condition is
pose, a specialized partitioning process is done to divide the defined to ensure that the edges in M are not part of a partial cone
triangles of the solid into Q different partitions. Therefore, every or a closed loop. If the number of edges that are connected to each
ray only needs to check the intersection with triangles in only one other with the angle of a is more than a constant, T, then object
of the partitions. (Note that it is possible for a triangle to exist in contains a helical thread. In order to detect a thread in an object,
more than one partition.) the algorithm runs for every angle in the set of A until either a
As Fig. 6 illustrates, first, the oriented bounding cylinder is gen- thread with the angle of a is detected or it finishes with no thread
erated for the shape (a) following the description of the method detection.
shown in the Appendix. Then, the OBC is divided into Q smaller
cylinders or partitions (b). K points are generated on the surface of
the OBC (c). Ray casting is implemented for every generated sur- 6 Classification-Based Approaches
face point (d). The partitioning helps to speed up the ray casting The two methods above are compared to four generic learning
process. For example, the intersection of the ray generated from classification algorithms: voted perceptron, Gaussian Na€ıve
the first point on the left (point g on Fig. 6(d)) needs to be checked Bayes, linear discriminant analysis, and Gaussian process. Similar
only with triangles of the first partition, P1. to every supervised learner, choosing the appropriate list of fea-
tures that can separate the data points in the best way is the most
important step. For this purpose, we chose the number of con-
5.2 Helix Detector. The second geometry-based approach nected cones (NCC) in the solid and the conical and cylindrical
that we developed is based on the detection of the helix shape of area ratio (CCAR). These two features are described next.
the threads. It is worth mentioning here that not every fastener
created by designers has threads in a helix shape. Some CAD soft- 6.1 NCC. Since the results of the implementation of our
ware packages have built-in fastener toolboxes (like SOLIDWORKS) primitive classification tool [4] are limited to flat, cylindrical, con-
merely creating rings of cones (Fig. 7), where the threads are not ical, spherical surfaces, any kind of surface, regardless of its com-
connected in one consistent coil. These kinds of threads are not plexity, will be eventually classified into these four primitives.
considered in the rest of the paper. Therefore, for unknown surfaces, like fastener threads, different
There are varieties of thread types with unique thread angles. groups of adjacent triangles will be classified into the closest
These unique angles (A ¼ {60 deg (DIN 13), 55 deg (DIN 49301), primitive based on the features defined for every primitive in
30 deg (DIN 405), 45 deg (DIN 2781), 80 deg (DIN 40430)}) can primitive classification.
Most of the triangles in the threads are classified into small con-
nected sections of different cones. For instance, the bolt shown in
Fig. 9 is classified into 355 primitives where 306 of them (86%)
are small cones (shown in lighter color) mostly created with less
than ten triangles. This is a unique feature for the fasteners and
can be helpful to distinguish them among other regular geome-
tries. The NCC feature is a count of the cones found in the model.
X
n X
m and class are assumed to be distributed based on a Gaussian distri-
SPCOi þ SPCyj bution. Based on the available training data, the normal parame-
i¼0 j¼0 ters of each feature are defined for every class in Table 1.
CCAR ¼ (2)
ST
6.5 Linear Discriminant Analysis Classifier. Linear discrim-
where n and m are the number of classified cones and cylinders of inant analysis is a supervised learning technique that reduces the
the solid, respectively, S is the surface area of the ith cone and S is dimensions of the data and projects data into a new space for better
the surface area of the jth cylinder of the solid. separation. LDA has been successfully applied on many applications
The four classifiers in this section require a set of training data. such as face recognition [42] and text document classification [43]. It
Our training data consists of 70 fasteners (including ten nuts) is assumed that the data in the two classes are normally distributed.
from various kinds and sizes and 72 other regular parts classified Since the training data show that the two classes may be separable
as small parts (using the size metric explained in Sec. 4) in five linearly (Fig. 10), LDA seems to be a suitable method to use.
different tessellated assembly models. A plot made from NCC and
CCAR features using the training data is shown in Fig. 10. These
6.6 Gaussian Process Classifier. Gaussian process method is
142 training points can generate a reliable list of weights and
a function of distribution that can predict means and variances
votes for the learner.
with the given training data. Through a sigmoid function, the
Each of the four implemented machine learning techniques
used in this study is briefly described below, and the results of
their implementation are shown next.
Journal of Computing and Information Science in Engineering MARCH 2018, Vol. 18 / 011005-5
PTD HD PTD HD
Part ID Class Class Time (ms) Class Time (ms) Part ID Class Class Time (ms) Class Time (ms)
VP GNB LDA GP
Part ID Class Class Time (ms) Class Time (ms) Class Time (ms) Class Time (ms)
Journal of Computing and Information Science in Engineering MARCH 2018, Vol. 18 / 011005-7
P(Fastener) P(Fastener)
jPa;b Pb;c j
SC ¼ (3)
maxfPb;a ; Pb;c g
Table 8 Details obtained from PTD approach implemented on ten different fasteners. D: values obtained from PTD, R: Real values
# of Threads Total length Threaded length Major diameter Root diameter Thread angle (degree)
Fas. ID D R D R D R D R D R D R
Journal of Computing and Information Science in Engineering MARCH 2018, Vol. 18 / 011005-9
Fig. 15 Example scenario implementation on an assembly model, (a) an assembly with 28 parts including 16 bolts and two
nuts, (b) a wizard to show the certainty of detections, and (c) detected fasteners
Fig. 16 Complex industrial and mechanical geometries. (a) gear, (b) O-ring, and (c) spring.
Journal of Computing and Information Science in Engineering MARCH 2018, Vol. 18 / 011005-11