Product Assembly

The automation task is widespread and has a great variety of applications in industry and manufacturing. Nowadays most part of the work in part factories assembly plants are replaced by robots with automated behavior. This project demonstrates how Learning in Artificial Intelligence can be used to learn based on prior experience and optimize the sequence. (Implemented in C# and MySQL).

 Graph generation

Example rule graph generation is shown below, based on the input of the sketch of mechanical object consisting of four parts (up, down, left and right) (1a) the graph of the rules is generated (1b). If the parts on the sketch are adjacent, that means those parts should be joined together, represented by common edge in the graph of the rules.






Figure 1: Graph generation (a) Sketch of the mechanical object.
(b) Graph of the rules. 


In assembly examples containing large number of parts in case of some incorrect assembly sequences situations leading to deadlocks are possible. 





Figure 2: Deadlock based on geometric limitations.
(a) Occurrence of deadlock (b) Merged deadlock

The assembly decision sequence can start from attaching any two parts, and continue which might lead to the deadlock situation. The strategy of handling the deadlock occurrences is first finding the innermost part that cause deadlock and requiring that it needs to be attached to other parts first. For the deadlock example shown (3a), the graph (3b) is constructed and deadlocks are eliminated by introducing directed graph (3c). 







Figure 3: (a) Deadlock graph example (b) Constructed graph
(c) Partially-directed graph that resolved deadlocks 

In directed graph, if there is an incoming directed edge for a vertex, the part corresponding to the source node of directed edge should be attached to its destination, before the destination node is attached to any other node. E.g. part G cannot be attached to any other part, unless part E is attached to it. Parts A and B can be attached together only if they are attached to all the other parts. Thus attachment of A and B should be the last action.

Using more complex and real-life example of drawer parts above, using the special software tool developed the following results were produced for the schema (sketch) of the object:


Figure 4: Screenshot of the desk assembly rules generation

Vertexes have common edge if the parts have to be attached together (N and M parts are the rails that attach drawer to the desk). The rules graph has undirected edges where the order of joining parts is not important. Therefore graph has undirected edges everywhere except the deadlock occurrence case for bottom of the drawer. Only the vertexes corresponding to sides of the drawer have incoming edges, which mean that those need to be attached to the bottom of drawer before attaching them to any other parts.