DE102009039988A1 - Travels for painting robots - Google Patents

Travels for painting robots Download PDF

Info

Publication number
DE102009039988A1
DE102009039988A1 DE102009039988A DE102009039988A DE102009039988A1 DE 102009039988 A1 DE102009039988 A1 DE 102009039988A1 DE 102009039988 A DE102009039988 A DE 102009039988A DE 102009039988 A DE102009039988 A DE 102009039988A DE 102009039988 A1 DE102009039988 A1 DE 102009039988A1
Authority
DE
Germany
Prior art keywords
painted
strips
paint
painting
circuit board
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102009039988A
Other languages
German (de)
Inventor
Peter Fige
Christian Porzel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102009039988A priority Critical patent/DE102009039988A1/en
Priority to PCT/EP2010/061058 priority patent/WO2011026698A1/en
Publication of DE102009039988A1 publication Critical patent/DE102009039988A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/0091Apparatus for coating printed circuits using liquid non-metallic coating compositions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B05SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05BSPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
    • B05B13/00Machines or plants for applying liquids or other fluent materials to surfaces of objects or other work by spraying, not covered by groups B05B1/00 - B05B11/00
    • B05B13/02Means for supporting work; Arrangement or mounting of spray heads; Adaptation or arrangement of means for feeding work
    • B05B13/04Means for supporting work; Arrangement or mounting of spray heads; Adaptation or arrangement of means for feeding work the spray heads being moved during spraying operation
    • B05B13/0431Means for supporting work; Arrangement or mounting of spray heads; Adaptation or arrangement of means for feeding work the spray heads being moved during spraying operation with spray heads moved by robots or articulated arms, e.g. for applying liquid or other fluent material to 3D-surfaces
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2203/00Indexing scheme relating to apparatus or processes for manufacturing printed circuits covered by H05K3/00
    • H05K2203/13Moulding and encapsulation; Deposition techniques; Protective layers
    • H05K2203/1333Deposition techniques, e.g. coating
    • H05K2203/1366Spraying coating
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/0008Apparatus or processes for manufacturing printed circuits for aligning or positioning of tools relative to the circuit board
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/22Secondary treatment of printed circuits
    • H05K3/28Applying non-metallic protective coatings
    • H05K3/284Applying non-metallic protective coatings for encapsulating mounted components

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Spray Control Apparatus (AREA)
  • Manipulator (AREA)
  • Application Of Or Painting With Fluid Materials (AREA)

Abstract

Verfahren und System zur Bestimmung von Verfahrwegen von Lackierrobotern, insbesondere für die Elektronikfertigung. Durch gemischt ganzzahlige lineare Programmierung (Mixed Integer Linear Programming, MILP) wird in einem hierarchischen Ansatz eine zu lackierende Fläche in horizontal und in vertikal zu lackierende Bereiche und Streifen zerlegt, diie in vorteilhafter Weise von einem Lackierroboter verfahren werden.Method and system for determining travel paths of painting robots, in particular for electronics production. By means of mixed integer linear programming (Mixed Integer Linear Programming, MILP), a surface to be painted is broken down into horizontally and vertically painted areas and strips in a hierarchical approach, which are advantageously moved by a painting robot.

Description

Die Erfindung betrifft ein Verfahren zur Bestimmung von Verfahrwegen von Lackierrobotern, insbesondere für die Elektronikfertigung.The invention relates to a method for determining travel distances of painting robots, in particular for electronics production.

In der Elektronikfertigung können Baugruppen (beispielsweise bestehend aus einer Leiterplatte und Bauelementen) mit einem Schutzlack besprüht werden, um die Leiterplatten von physikalischen und chemischen Einflüssen zu schützen. Durch diese Lackierung wird eine Erhöhung der Robustheit gegenüber äußeren Einflüssen (Feuchtigkeit, Verschmutzung, Schadgase, etc.) erreicht. Die Lackierung erfolgt üblicherweise nach der Bestückung und Prüfung einer Baugruppe. Eine Lackierung einer Baugruppe kann einseitig oder beidseitig erfolgen. Baugruppen können je nach Anforderungen teilweise oder vollständig lackiert werden.In electronics manufacturing assemblies (for example consisting of a printed circuit board and components) can be sprayed with a protective lacquer to protect the PCB from physical and chemical influences. By this coating, an increase in robustness against external influences (moisture, pollution, harmful gases, etc.) is achieved. The painting usually takes place after the assembly and testing of an assembly. A coating of an assembly can be done on one side or on both sides. Subassemblies can be painted partially or completely depending on the requirements.

Dieser Lackiervorgang wird üblicherweise von einer Lackiermaschine durchgeführt, die mit einem Roboterarm, an dem eine Düse befestigt ist, über die Leiterplatte fährt und die gewünschten Teilflächen der Platte in Streifen lackiert. Dazu müssen die Fahrtwege des Roboterarms und die Platzierung der Lackstreifen bestimmt werden. Bei einer manuellen Eingabe bei der Roboterprogrammierung sind die Fehlerwahrscheinlichkeiten und der Zeitaufwand sehr hoch, weiterhin ist die Qualität des Lackiervorganges nicht immer sichergestellt. Bei einer manuellen Eingabe werden die Lackstreifen und die Verfahrwege des Lackierroboters von einem Mitarbeiter mit Hilfe eines Bildes der Leiterplatte eingegeben. Dazu werden auf dem Bild zuerst die Koordinaten gemessen, dann trägt der Mitarbeiter die Koordinaten in eine Software ein, die später die Lackiermaschine steuert. Das erstellte Lackierprogramm wird auf der Maschine getestet. Falls das Programm fehlerhaft war (Zusammenstöße mit Bauelementen, usw.), wird es nachher manuell korrigiert und wieder getestet.This painting process is usually carried out by a painting machine, which moves with a robot arm to which a nozzle is attached, over the circuit board and painted the desired faces of the plate in strips. For this, the travel paths of the robotic arm and the placement of the paint strips must be determined. With a manual input in the robot programming, the error probabilities and the time required are very high, furthermore, the quality of the painting process is not always ensured. During a manual input, the paint strips and the travel paths of the painting robot are entered by an employee using an image of the printed circuit board. For this purpose, the coordinates are first measured on the image, then the employee enters the coordinates in a software that later controls the painting machine. The created painting program is tested on the machine. If the program was faulty (collisions with components, etc.), it will be manually corrected and retested afterwards.

Aus der deutschen Offenlegungsschrift DE 10 2007 041 424 A1 sind ein Verfahren und ein System zur optimierten Planung komplexer Produktionsabfolgen in großtechnischen Anlagenbetrieben, insbesondere für die Stahlindustrie, basierend auf Methoden des Mixed Integer Linear Programming (MILP) bekannt.From the German patent application DE 10 2007 041 424 A1 are a method and a system for the optimized planning of complex production sequences in large-scale plant operations, especially for the steel industry, based on methods of Mixed Integer Linear Programming (MILP) known.

Die Aufgabe der vorliegenden Erfindung ist es, ein Verfahren und ein System zur möglichst optimalen Bestimmung von Verfahrwegen für Lackierroboter, insbesondere für die Elektronikfertigung, bereitzustellen.The object of the present invention is to provide a method and a system for optimally determining travel paths for painting robots, in particular for electronics production.

Die Aufgabe wird gelöst durch ein Verfahren zur Bestimmung von Verfahrwegen von Lackierrobotern, insbesondere für die Elektronikfertigung, umfassend die folgenden Schritte:

  • a1) Bestimmung von Parametern einer zu verfahrenden und zu lackierenden Leiterplatte;
  • a2) Bestimmung von Parametern für den Lackierroboter;
  • a3) Festlegen von Sicherheits- und Nebenbedingungen für das Verfahren und Lackieren der Leiterplatte;
  • b) Modellieren der zu lackierenden Flächen der Leiterplatte als eine Vereinigung von Rechtecken, wobei die Kanten der Rechtecke parallel zu den Achsen eines kartesischen Koordinatensystems der Leiterplatte angeordnet sind;
  • c) Generieren von Lackierrichtungen für das Verfahren der zu lackierenden Rechtecke durch Gemischt Ganzzahlige Lineare Programmierung (Mixed Integer Linear Programming, MILP),
wobei die zu lackierende Fläche in horizontal und in vertikal zu lackierende Bereiche zerlegt wird;
  • d) Generieren von Lackstreifen für jeden zusammenhängenden zu lackierenden Bereich je Lackierrichtung durch Gemischt Ganzzahlige Lineare Programmierung (Mixed Integer Linear Programming). Wenn eine Lackiermaschine oder ein Lackierroboter keine Optimierungssoftware hat, müssen die Fahrtwege des Roboterarms und die Bestimmung der Lackstreifen manuell bestimmt werden. Bei einer Manuellen Eingabe sind Fehlerwahrscheinlichkeiten und der Zeitaufwand für die Eingabe sehr hoch. Ein automatisch erstelltes, optimiertes Lackierprogramm ermöglicht es, die Fehlermöglichkeiten (z. B. Verkleben von Löchern durch den Lack, Lackspritzer auf frei zubleibenden Flächen, Hängenbleiben des Roboterarms an Bauelementen)) zu eliminieren, den Planungsaufwand drastisch zu reduzieren und den gesamten Lackierprozess effizienter und schneller zu machen. Mit der Gemischt Ganzzahligen Linearen Programmierung (Mixed Integer Linear Programming, MILP) lassen sich Softwareprogramme zur optimalen Bestimmung von Lackstreifen und zur Berechnung von optimalen Fahrtwegen des Roboterarms beschreiben.
The object is achieved by a method for determining travel distances of painting robots, in particular for electronics production, comprising the following steps:
  • a1) determination of parameters of a circuit board to be traversed and painted;
  • a2) determination of parameters for the painting robot;
  • a3) defining safety and ancillary conditions for the process and painting of the printed circuit board;
  • b) modeling the surfaces of the printed circuit board to be painted as a union of rectangles, the edges of the rectangles being arranged parallel to the axes of a Cartesian coordinate system of the printed circuit board;
  • c) Generating painting directions for the method of the rectangles to be painted by Mixed Integer Linear Programming (MILP),
wherein the surface to be painted is divided into horizontally and vertically to be painted areas;
  • d) Generating paint strips for each contiguous area to be painted per coating direction by Mixed Integer Linear Programming. If a painting machine or a painting robot has no optimization software, the travel distances of the robot arm and the determination of the paint strips must be determined manually. With a manual input, error probabilities and the time required for the input are very high. An automatically created, optimized coating program makes it possible to eliminate the possibility of errors (eg sticking of holes through the paint, paint spatter on free surfaces, sticking of the robot arm to components), drastically reducing the planning effort and making the entire painting process more efficient and efficient to make faster. Mixed Integer Linear Programming (MILP) software can be used to describe software programs for the optimal determination of paint strips and the calculation of optimum travel distances of the robot arm.

Eine erste vorteilhafte Ausgestaltung der Erfindung liegt darin, dass der Schritt c weiterhin umfasst:
Erstellen eines Gitters der Leiterplatte, so dass jede Zelle der Leiterplatte entweder komplett in einer zu lackierenden Fläche liegt, oder außerhalb; und
Minimieren der Summen der Längen der Gitterkanten nach einer der folgenden Bedingungen:
die zwei Zellen zu beiden Seiten der Gitterkante gehören zu der zu lackierenden Fläche, aber die Lackierrichtungen beider Zellen sind unterschiedlich, oder
nur eine der zwei Zellen zu beiden Seiten der Gitterkante gehört zu der zu lackierenden Fläche, und die Lackierrichtung und die Kantenrichtung dieser Zellen sind unterschiedlich. Das Verfahren beruht auf einem hierarchischen Ansatz und bestimmt schrittweise optimale Lösungen für die jeweiligen Problembeschreibungen. Damit lassen sich in einem Top-Down-Ansatz gemischt ganzzahlige Lineare Programme und Heuristiken für die Problemlösungen erstellen.
A first advantageous embodiment of the invention is that the step c further comprises:
Creating a grid of the circuit board so that each cell of the circuit board is either completely in a surface to be painted, or outside; and
Minimize the sums of lattice edge lengths according to one of the following conditions:
the two cells on either side of the grid edge belong to the area to be painted, but the painting directions of both cells are different, or
only one of the two cells on both sides of the grating edge belongs to the surface to be painted, and the painting direction and the edge direction of these cells are different. The method is based on a hierarchical approach and determines step-by-step optimal solutions for the respective problem descriptions. Thus, in a top-down approach mixed integer linear programs and heuristics for problem solving can be created.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass der Schritt d weiterhin umfasst:
Erstellen je einer Liste von allen horizontal und von allen vertikalen Kandidaten für eine Lackstreifenauswahl, wobei die Lackstreifen entweder an den Eckpunkten des entsprechenden zu lackierenden Bereiches oder an anderen schon generierten Lackstreifen ausgerichtet sind, und bezüglich der Nebenbedingungen zulässig sind; und
Auswählen von zu lackierenden Streifen durch Gemischt Ganzzahlige Lineare Programmierung (Mixed Integer Linear Programming), wobei mindestens ein vorgegebener Prozentsatz der Leiterplattenfläche mit den ausgewählten Lackstreifen bedeckt werden kann, wobei überlappende Streifen minimiert werden und wobei die Gesamtlaufzeit, die zum Durchfahren der ausgewählten Lackstreifen nötig ist, minimiert wird. Es wird zuerst eine sehr große Liste von möglichen Streifen erstellt und dann mit dem MILP ein Teil davon als Lösung ausgewählt. Alle Flächen der Probleminstanz (zu lackierende Leiterplatte) werden als Vereinigung von Rechtecken modelliert, wobei die Kanten der Rechtecke parallel zu den Achsen des Koordinatensystems sind. Falls eine Fläche diesen Anforderungen nicht entspricht (z. B. ein quaderförmiges, um 45° gedrehtes Bauelement), wird es mit einer vorgegebenen Auflösung in eine Fläche konvertiert, deren Kanten horizontal oder vertikal sind. Dies vereinfacht die Programmerstellung zur Problemlösung.
A further advantageous embodiment of the invention is that the step d further comprises:
Producing a list of all horizontally and all vertical candidates for a paint strip selection, the paint strips being aligned either at the corner points of the corresponding area to be painted or on other already generated paint strips, and permissible with respect to the constraints; and
Selecting Strips to Be Painted by Mixed Integer Linear Programming, where at least a predetermined percentage of the printed circuit board area can be covered by the selected paint strips, minimizing overlapping stripes and reducing the total run time required to travel through the selected paint strips , is minimized. First a very large list of possible stripes is created and then with the MILP a part of it is selected as a solution. All surfaces of the problem instance (PCB to be painted) are modeled as a union of rectangles with the edges of the rectangles parallel to the axes of the coordinate system. If a surface does not meet these requirements (eg, a cuboid component rotated 45 °), it is converted at a given resolution into an area whose edges are horizontal or vertical. This simplifies the program development for problem solving.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass Schritt d) weiterhin umfasst:
Verkürzen eines Streifens, wenn dadurch die bedeckte Fläche nicht verkleinert wird, oder
Verlängern eines Streifens, wenn dadurch andere überlappende Streifen verkürzt werden und die Gesamtdurchlaufzeit kleiner wird. Dies erhöht die Effizienz des erstellten Programmes bezüglich der Verfahrwege des Lackierroboters.
A further advantageous embodiment of the invention is that step d) further comprises:
Shortening a strip if it does not reduce the covered area, or
Lengthening a strip, as a result of which other overlapping strips are shortened and the overall cycle time becomes smaller. This increases the efficiency of the program created with respect to the travel paths of the painting robot.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass wobei Schritt d) weiterhin umfasst:
Verschieben eines Streifens, wenn dadurch die bedeckte Fläche vergrößert wird oder die bedeckte Fläche gleich bleibt, aber die Überlappungen reduziert werden. Auch dadurch wird die Effizienz des erstellten Programmes bezüglich der Verfahrwege des Lackierroboters erhöht.
A further advantageous embodiment of the invention is that wherein step d) further comprises:
Moving a strip if it increases the area covered, or keeps the covered area the same, but reduces the overlaps. This also increases the efficiency of the program created with respect to the travel paths of the painting robot.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass Schritt d) weiterhin umfasst:
Hinzufügen eines Streifens, wenn dadurch andere Streifen verkürzt oder eliminiert werden können, und die Durchlaufzeit kleiner wird. Auch dadurch wird die Effizienz des erstellten Programmes bezüglich der Verfahrwege des Lackierroboters erhöht.
A further advantageous embodiment of the invention is that step d) further comprises:
Adding a strip, if it can shorten or eliminate other strips, and the throughput time is smaller. This also increases the efficiency of the program created with respect to the travel paths of the painting robot.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt im Bestimmen der kürzesten Wege zwischen allen Randpunkten unterschiedlicher Lackierstreifen unter Berücksichtigung von Beschleunigungs- und Bremsweg des Lackierroboters. So werden z. B. zwischen den Streifen (a → b) und Streifen (c → d) vier kürzeste Wege berechnet (a → c, a → d, b → c, b → d). Dies erfolgt für alle möglichen Streifenpaare. Es werden dabei geometrische Bedingungen der Leiterplatte und des Lackierroboters berücksichtigt, dadurch wird zwischen zwei Punkten ein zeitoptimaler Verfahrweg für den Roboterarm berechnet. Hindernisse werden dabei berücksichtigt.A further advantageous embodiment of the invention lies in determining the shortest paths between all edge points of different paint strips, taking into account the acceleration and braking distance of the painting robot. So z. For example, between the stripes (a → b) and stripes (c → d) four shortest paths are calculated (a → c, a → d, b → c, b → d). This is done for all possible pairs of stripes. Geometric conditions of the printed circuit board and the painting robot are taken into account, thereby calculating a time-optimized travel path for the robot arm between two points. Obstacles are taken into account.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt im Bestimmen der Fahrtwege des Lackierroboters, wobei die Streifen in eine Reihenfolge gebracht werden, die ein Spritzen vermeiden und wobei die Summe der Fahrtzeiten zwischen den Streifen minimiert wird. Dadurch werden die Verfahrwege des Roboters minimiert und die Qualität des Lackiervorganges erhöht.A further advantageous embodiment of the invention is in determining the travel paths of the painting robot, wherein the strips are placed in an order that avoid spraying and wherein the sum of the travel times between the strips is minimized. This minimizes the travel distances of the robot and increases the quality of the painting process.

Die Aufgabe wird weiterhin gelöst durch ein computerlesbares Medium (CD, Floppy Disk, Speicherkarte, USB-Stick etc.) oder Computerprogrammprodukt, umfassend Anweisungen, welche, wenn sie auf einem geeigneten Computer ausgeführt werden, den Computer dazu bringen, das erfindungsgemäße Verfahren auszuführen. Dies erleichtert die Flexibilität des Einsatzes sowie die Verteilung und den kommerziellen Vertrieb des erfindungsgemäßen Verfahrens.The object is further achieved by a computer-readable medium (CD, floppy disk, memory card, USB stick, etc.) or computer program product comprising instructions which, when executed on a suitable computer, cause the computer to carry out the method according to the invention. This facilitates the flexibility of the use as well as the distribution and commercial distribution of the method according to the invention.

Die Aufgabe wird weiterhin gelöst durch ein System zur Durchführung des erfindungsgemäßen Verfahrens. Das System kann durch handelsübliche Lackierroboter oder Lackiermaschinen mit verkehrsüblichen Steuerungen realisiert werden. Die Programmerstellung kann offline textuell (in einer Programmiersprache: z. B. C, C++) und/oder CAD-gestützt erfolgen.The object is further achieved by a system for carrying out the method according to the invention. The system can be realized by commercially available painting robots or painting machines with conventional controls. The program creation can take place offline textually (in a programming language: eg C, C ++) and / or CAD-supported.

Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im Folgenden erläutert.An embodiment of the invention is illustrated in the drawing and will be explained below.

Dabei zeigen:Showing:

1 eine Schemadarstellung für einen Lackiervorgang auf einer Leiterplatte, 1 a schematic representation of a painting process on a printed circuit board,

2 eine Schemadarstellung für eine Leiterplatte, mit horizontal und vertikal zu lackierenden Bereichen, und 2 a schematic representation of a circuit board, with horizontal and vertical areas to be painted, and

3 einen Ausschnitt der Leiterplatte von 2 mit horizontal und vertikal zu lackierenden Lackstreifen, sowie einem dazugehörigen Verfahrweg für einen Lackierroboter. 3 a section of the circuit board of 2 with paint strips to be painted horizontally and vertically, as well as an associated travel path for a painting robot.

1 zeigt eine Schemadarstellung für einen Lackiervorgang auf einer Leiterplatte LP1 durch einen Lackierroboter R. In der Elektronikproduktion werden Baugruppen mit Bauelementen, die mit Löt-, Steck- oder Klebetechnik auf einer Leiterplatte LP1 befestigt sind, üblicherweise mit einer Lackierung versehen, um ihre Robustheit gegenüber äußeren Einflüssen zu erhöhen. Eine Baugruppe kann dabei vollständig oder teilweise lackiert werden. In 1 ist dargestellt, wie der Lack durch eine Düse eines Lackierroboters R aufgetragen wird. Der Roboter R verfährt dabei die Leiterplatte LP1 und besprüht mit der Düse die zu lackierenden Stellen auf der Leiterplatte LP1. Je nach Typ des verwendeten Lackes erfolgt die Härtung bei Raumtemperatur, im Trockenofen oder z. B. durch UV-Licht. Entscheidend zur Qualität und Dauerhaftigkeit der Lackierung ist die Lackschichtdichte innerhalb der definierten zu lackierenden Stellen. Oft ergibt sich hieraus die Anforderung, dass bei der Lackierung jede Lackstelle nur einmal lackiert werden darf. Dies muss bei der Bestimmung des Verfahrwegs des Roboters R berücksichtigt werden. Die Düse zum Lackieren kann üblicherweise bewegt, gedreht, geöffnet oder geschlossen werden. 1 shows a schematic representation of a painting process on a printed circuit board LP1 by a painting robot R. In electronics production assemblies with components that are attached by soldering, plugging or adhesive technology on a printed circuit board LP1, usually provided with a paint to their robustness to the outside To increase influences. An assembly can be completely or partially painted. In 1 is shown how the paint is applied through a nozzle of a painting robot R. The robot R thereby moves the circuit board LP1 and sprayed with the nozzle to be painted areas on the circuit board LP1. Depending on the type of paint used, the curing takes place at room temperature, in a drying oven or z. B. by UV light. Decisive for the quality and durability of the paint finish is the paint coat density within the defined areas to be painted. Often this results in the requirement that during lacquering each lacquer spot may only be painted once. This must be taken into account when determining the travel of the robot R. The nozzle for painting can usually be moved, rotated, opened or closed.

Weiterhin darf es zu keiner Beschädigung von Bauelementen, der Leiterplatte LP1 oder der Lackieranlage R kommen. Kollisionen der Düse mit Bauelementen, der Leiterplatte LP1 oder mit der Lackieranlage R dürfen deshalb nicht stattfinden.Furthermore, there must be no damage to components, the PCB LP1 or the paint shop R. Collisions of the nozzle with components, the circuit board LP1 or with the paint shop R must therefore not take place.

Für eine Leiterplatte LP1 sollen die Platzierung der anzubringenden Lackstreifen und die Verfahrwege des Roboterarms R bestimmt werden, so dass:

  • • der Roboterarm mit keinem Bauelement zusammenstößt,
  • • ein (vorgegebener) hoher Prozentsatz der zu lackierenden Flächen lackiert wird,
  • • vorgegebene Flächen (zum Beispiel Löcher, Kontaktflächen) vom Kopf nicht überfahren werden, um Lacktropfen zu vermeiden,
  • • die Lackstreifen so lackiert werden, dass „Spritzen” vermieden wird und
  • • die für den Lackiervorgang benötigte Zeit minimiert wird.
For a printed circuit board LP1, the placement of the paint strips to be applied and the travel paths of the robot arm R are to be determined so that:
  • The robot arm does not collide with any component,
  • A (predetermined) high percentage of the surfaces to be painted is painted,
  • • do not run over specified areas (for example, holes, contact surfaces) from the head to avoid paint drops,
  • • the lacquer strips are painted so that "spraying" is avoided and
  • • the time required for the painting process is minimized.

Das gesamte Problem wird hierarchisch gelöst. Mit dem in dieser Erfindungsmeldung beschriebenen Ansatz, Mixed Integer Linear Programming, Graphenalgorithmen und Heuristiken, werden die Lackstreifen und die Fahrtwege des Roboterarms berechnet.The whole problem is solved hierarchically. The approach described in this invention, mixed integer linear programming, graph algorithms and heuristics, the paint strips and the travel paths of the robot arm are calculated.

Erst wird die Probleminstanz (Bestimmen der lackfreien Flächen, Bestimmen der Lackierflächen, Höhe der Bauelemente, Sicherheitsabstände etc.) für die Optimierung aufbereitet, dann werden allgemeine Lackrichtungen über die Lackfläche bestimmt und anschließend werden Streifen erzeugt. Diese Streifen werden mit lokaler Suche nachoptimiert. Kürzeste Wege zwischen allen Paaren von Streifenendpunkten werden berechnet und die Streifen werden in eine optimierte Reihenfolge gebracht.First, the problem instance (determining the paint-free surfaces, determining the Lackierflächen, height of the components, safety distances, etc.) prepared for the optimization, then general paint directions are determined on the paint surface and then strips are generated. These stripes are optimized with local search. Shortest paths between all pairs of strip endpoints are calculated and the strips are placed in an optimized order.

Die Lackiermaschine kann nicht nur Lackstreifen ziehen, sondern sie kann über der Leiterplatte anhalten, die Düse kurz öffnen und dadurch einen so genannten Lackspot erzeugen. Diese Spots werden als Rechtecke modelliert und in der weiteren Beschreibung analog mit regulären Lackstreifen behandelt.The coating machine can not only pull paint strips, but they can stop over the circuit board, the nozzle open briefly and thus produce a so-called paint spot. These spots are modeled as rectangles and treated in the following description analogously with regular paint strips.

Input des Verfahrens:Input of the procedure:

• Beschreibung der Leiterplatte:• Description of the circuit board:

  • • Leiterplattenfläche als Polygon• PCB surface as polygon
  • • als Quader modellierte Bauelemente mit Größe, Posi tion und Drehung• Structured as cuboid components with size, posi tion and rotation
  • • als Zylinder modellierte Bauelemente mit Durchmes ser und Position• as cylinder modeled components with diam water and position
  • • Fräskonturen, als Rechtecke modelliert• Milling contours, modeled as rectangles
  • • Bohrungen mit Mittelpunkt und Durchmesser• Holes with center and diameter
  • • Kontaktflächen, als Kreisflächen modelliert• Contact surfaces, modeled as circular surfaces
  • • zu lackierende Fläche, als Menge von Polygonen be schrieben• area to be painted, described as the quantity of polygons
  • • Liste der Bauelemente, die nicht lackiert werden dürfen• List of components that must not be painted

• Beschreibung der Maschine:• Description of the machine:

  • • Geschwindigkeits- und Beschleunigungsdaten des Ro boterarms• Velocity and acceleration data of the robot arm
  • • maximale Beschleunigungs- und Bremswege vor und nach einem Lackierstreifen• maximum acceleration and braking distances before and after a painting strip
  • • Verlaufen des Lacks für Streifen ohne Beschleuni gungs- und Bremsweg• Bleeding of the paint for stripes without acceleration and braking distance
  • • Durchmesser der Lackierdüse• Diameter of the spray nozzle
  • • maximale Z-Fahrthöhe des Roboterarms• maximum Z travel height of the robot arm
  • • Größen und Parameter von Lackspots• Sizes and parameters of paint spots

• Sicherheits- und Nebenbedingungen:• Security and constraints:

  • • minimaler Abstand des Kopfes von den Kantender Leiterplatte • Minimum distance of the head from the edges of the PCB
  • • minimaler Abstand des Kopfes von Bauelementen, die nicht lackiert werden dürfen• minimum distance of the head from components that must not be painted
  • • minimaler Abstand des Kopfes von den Kontaktflächen• minimum distance of the head from the contact surfaces
  • • minimaler Abstand des Kopfes von den Löchern• minimum distance of the head from the holes
  • • minimaler Abstand in XY Richtung zwischen dem Kopf und einem hohen Bauelement• minimum distance in XY direction between the head and a high component
  • • minimaler Abstand in Z Richtung zwischen dem Kopf und einem Bauelement• minimum distance in the Z direction between the head and a component
  • • minimaler Prozentsatz der Lackfläche, die mit Lack streifenbedeckt werden soll• minimum percentage of paint surface to be covered with paint

2 zeigt eine Schemadarstellung für eine Leiterplatte LP2 mit horizontal HB1–HB4 und vertikal VB1–VB5 zu lackierenden Bereichen. Die zu lackierenden Bereiche werden als MILP formuliert, mit dem Ziel, lange Streifen zu erhalten, da diese billiger zu lackieren sind. 2 shows a schematic representation of a circuit board LP2 with horizontal HB1-HB4 and vertical VB1-VB5 areas to be painted. The areas to be painted are formulated as MILP, with the aim of obtaining long stripes, as they are cheaper to paint.

Alle Flächen der Probleminstanz werden als eine Vereinigung von Rechtecken modelliert, wobei die Kanten der Rechtecke parallel zu den Achsen des Koordinatensystems sind. Falls eine Fläche diesen Anforderungen nicht entspricht (zum Beispiel ein quaderförmiges, um 45° gedrehtes Bauelement), wird es mit einer vorgegebenen Auflösung in eine Fläche konvertiert, deren Kanten horizontal oder vertikal sind.All faces of the problem instance are modeled as a union of rectangles with the edges of the rectangles parallel to the axes of the coordinate system. If a surface does not meet these requirements (for example, a cuboid component rotated 45 °), it is converted at a given resolution into an area whose edges are horizontal or vertical.

Folgende Flächen werden aus den Inputdaten erzeugt:

  • • Lackfreie Fläche: die Fläche darf mit Lack nicht in Berührung kommen. Hier werden die Fräskonturen, Bohrungen, Kontaktflächen, nicht lackierbaren Bauelemente und die Seiten der Leiterplatte mit den gegebenen Sicherheitsabständen berücksichtigt.
  • • Lackfläche: die im Input gegebene zu lackierende Fläche abzüglich der lackfreien und physikalisch unerreichbaren Flächen
The following areas are generated from the input data:
  • • Paint-free surface: the surface must not come into contact with paint. Here, the milling contours, holes, contact surfaces, non-paintable components and the sides of the circuit board with the given safety distances are taken into account.
  • • Paint area: the area to be painted given in the input minus the paint-free and physically unreachable areas

Für jeden Punkt über der Leiterplatte wird die minimale Höhe berechnet, auf der der Kopf über dem Punkt sich aufhalten kann. Bauelemente und Sicherheitsabstände werden berücksichtigt.For each point above the board, the minimum height at which the head is above the point is calculated. Components and safety distances are taken into account.

In einer ersten Phase ist das Ziel, allgemeine Lackrichtungen (horizontal oder vertikal) für Teile (bzw. Bereiche) der Lackfläche zu bestimmen. In dieser Phase werden noch keine Lackstreifen bestimmt, sondern nur die Richtung der Streifen. Es wird ein Gitter erstellt, so dass jede Zelle entweder komplett in der Lackfläche liegt, oder außerhalb. Ein Mixed Integer Linear Program (MILP) wird wie folgt erstellt:

  • • Der Input ist das Gitter der Lackfläche als 0–1 Matrix repräsentiert (1: Zelle gehört zur Lackfläche, 0: Zelle gehört nicht zur Lackfläche).
  • • Für jede Zelle, die zur Lackfläche gehört, wird eine 0–1 Variable definiert (1: wird horizontal lackiert, 0: wird vertikal lackiert).
  • • Manche Variablen können auf Grund physikalischer Bedingungen fixiert werden.
  • • Zielfunktion: Minimieren die Summe der Längen der Gitterkanten, für die eine der folgenden Bedingungen gilt:
  • • Die zwei Zellen zu beiden Seiten der Kante gehören zur Lackfläche, aber die Lackrichtungen beider Zellen sind unterschiedlich.
  • • Nur eine der zwei Zellen zu beiden Seiten der Kante gehört zur Lackfläche, und die Lackrichtung und die Kantenrichtung dieser Zelle sind unterschiedlich.
In a first phase, the goal is to determine general paint directions (horizontal or vertical) for parts (or areas) of the paint surface. In this phase, no paint strips are determined, but only the direction of the stripes. A grid is created so that each cell is either completely in the paint surface, or outside. A Mixed Integer Linear Program (MILP) is created as follows:
  • • The input is the lattice of the lacquer surface represented as 0-1 matrix (1: cell belongs to the lacquer surface, 0: cell does not belong to the lacquer surface).
  • • For each cell that belongs to the paint surface, a 0-1 variable is defined (1: is painted horizontally, 0: is painted vertically).
  • • Some variables can be fixed due to physical conditions.
  • • Objective function: Minimize the sum of the lengths of the lattice edges for which one of the following conditions applies:
  • • The two cells on both sides of the edge belong to the paint surface, but the paint directions of both cells are different.
  • • Only one of the two cells on either side of the edge belongs to the paint surface, and the paint direction and edge direction of this cell are different.

Dieses MILP separiert die Lackfläche in Bereiche, die horizontal HB1–HB4 und Bereiche, die vertikal VB1–VB5 lackiert werden sollen. Die Zielfunktion garantiert, dass die Richtungen so gewählt sind, dass die Bereiche mit wenigen langen Streifen lackiert werden können.This MILP separates the paint surface into areas that are horizontal HB1-HB4 and areas that are to be painted vertically VB1-VB5. The aiming function guarantees that the directions are chosen so that the areas can be painted with a few long stripes.

Es gibt verschiedene handelsübliche oder open source Solver (Lösungssoftware) zur Lösung von MILPs, z. B. SYMPHONY MILP solver, LP-Solv, SCIP usw.There are various commercial or open source solvers (solution software) for solving MILPs, eg. SYMPHONY MILP solver, LP Solv, SCIP etc.

Weiterhin zeigt 2 einen Ausschnitt A (dargestellt durch ein gestricheltes Rechteck) der Leiterplatte LP2, der in 3 näher erläutert wird.Further shows 2 a section A (shown by a dashed rectangle) of the circuit board LP2, the in 3 is explained in more detail.

3 zeigt einen Ausschnitt A' der dem Ausschnitt A der Leiterplatte LP2 von 2 entspricht. Der Ausschnitt A' umfasst den horizontalen Bereich HB1 und den vertikalen Bereich VB4 von 2. In 3 entspricht der horizontale Bereich HB1' dem horizontalen Bereich HB1 von 2 und der vertikale Bereich VB4' dem vertikalen Bereich VB4 von 2. Für den horizontale Bereich HB1' werden durch MILP die horizontal zu lackierenden Lackstreifen HS1–HS7 und für den vertikalen Bereich VB4' der vertikal zu lackierenden Lackstreifen VS1 berechnet. Der dazugehörige durch Heuristiken (z. B. Greedy-Heuristiken, Lokale-Such-Heuristiken) berechnete Verfahrweg VW wird für einen Lackierroboter zur Lackierung der Lackstreifen HS1–HS7 und VS1 wird durch eine abzufahrende Linie dargestellt und basiert auf dem kürzesten Wege-Algorithmus nach Dijkstra. 3 shows a section A 'of the section A of the circuit board LP2 of 2 equivalent. The section A 'comprises the horizontal area HB1 and the vertical area VB4 of FIG 2 , In 3 the horizontal area HB1 'corresponds to the horizontal area HB1 of FIG 2 and the vertical area VB4 'is the vertical area VB4 of FIG 2 , For the horizontal area HB1 ', the paint strips HS1-HS7 to be painted horizontally and the vertical area VB4' of the paint strips VS1 to be painted vertically are calculated by MILP. The corresponding travel path VW calculated by heuristics (eg greedy heuristics, local search heuristics) is represented by a painting robot for painting the paint strips HS1-HS7 and VS1 is represented by a line to be traversed and is based on the shortest path algorithm Dijkstra.

Anschließend an die Phase der Bestimmung der horizontalen und vertikalen Bereiche werden Lackstreifen für jeden zusammenhängenden Bereich der Lackfläche HB1', VB4', in dem die Lackrichtung die gleiche ist, generiert.Subsequent to the phase of determining the horizontal and vertical regions, paint strips are generated for each contiguous region of the paint surface HB1 ', VB4' in which the paint direction is the same.

Der Algorithmus geht folgendermaßen vor:

  • • Eine Liste von allen möglichen Streifen, die in die gegebene Richtung laufen, wird erstellt. Diese Streifen sind entweder an den Eckpunkten des Lackflächenbereichs oder an anderen schon generierten Streifen ausgerichtet. Alle generierten Streifen sind bezüglich der Nebenbedingungen zulässig. Die Zahl der erzeugten Streifen ist viel größer als die Zahl der Streifen in der endgültigen Lösung.
  • • Mit Hilfe einer MILP-Formulierung werden aus der oben erzeugten Menge diejenigen Streifen HS1–HS7, VS1 ausgewählt, die zur Lösung gehören,
  • • jedem möglichen Streifen ist eine 0–1 Variable zugeordnet (1: Streifen gehört zur Lösung, 0: Streifen gehört nicht zur Lösung),
  • • wobei mindestens der vorgeschriebene Prozentsatz der Fläche mit den ausgewählten Streifen bedeckt werden soll,
  • • wobei mehrfache Überdeckung von Flächen (überlappende Streifen) möglichst vermieden werden soll,
  • • wobei das Ziel die Minimierung der Gesamtzeit ist, die zum Durchfahren der ausgewählte Streifen nötig ist.
The algorithm works as follows:
  • • A list of all possible stripes running in the given direction is created. These stripes are aligned either at the corners of the paint area or other already generated stripes. All generated stripes are permissible with respect to the constraints. The number of generated stripes is a lot greater than the number of strips in the final solution.
  • • With the aid of a MILP formulation, those strips HS1-HS7, VS1 which belong to the solution are selected from the quantity produced above,
  • • every possible stripe is assigned a 0-1 variable (1: stripe belongs to the solution, 0: stripe does not belong to the solution),
  • Where at least the prescribed percentage of the area is to be covered with the selected strips,
  • • where multiple overlapping of surfaces (overlapping stripes) should be avoided as far as possible,
  • Where the goal is to minimize the total time needed to travel through the selected strips.

Die Lösung dieses MILP wird auch mit handelsüblichen MILP-Solver berechnet (z. B. SCIP). Die erhaltene Lösung kann mit lokalen Suchheuristiken verbessert werden. Die ausgewählten Streifenmenge wird verändert, mit dem Ziel, die für das Durchfahren der Streifen benötigte Zeit zu minimieren.The solution of this MILP is also calculated with commercially available MILP solver (eg SCIP). The solution obtained can be improved with local search heuristics. The selected amount of strip is changed with the aim of minimizing the time required to travel through the strips.

Folgende lokale Modifizierungsschritte werden bei einer Optimierung bewertet bzw. berücksichtigt:

  • • Ein Streifen kann verkürzt werden, wenn dadurch die bedeckte Fläche nicht verkleinert wird.
  • • Ein Streifen kann verlängert werden, wenn dadurch andere überlappende Streifen verkürzt werden können und die Gesamtdurchlaufzeit kleiner wird.
  • • Ein Streifen kann bewegt werden, wenn dadurch
  • • die bedeckte Fläche vergrößert wird, oder
  • • die bedeckte Fläche gleich bleibt, aber die Überlappungen reduziert werden.
  • • Ein zulässiger Streifen kann hinzugefügt werden, wenn dadurch andere Streifen verkürzt oder eliminiert werden können, und die Durchlaufzeit kleiner wird.
The following local modification steps are evaluated or taken into account in an optimization:
  • • A strip can be shortened if it does not reduce the covered area.
  • • A strip can be extended if it can shorten other overlapping strips and reduce the overall cycle time.
  • • A strip can be moved if by doing so
  • • the covered area is increased, or
  • • the covered area stays the same, but the overlaps are reduced.
  • • A permissible strip can be added if it can shorten or eliminate other strips and reduce the cycle time.

Bei sehr langen Streifen kann es passieren, dass der ganzen Streifen von einer höheren Kopfposition lackiert werden muss, um den Zusammenstoß mit Bauelementen zu vermeiden. Da die Qualität der Lackierung besser ist, wenn der Kopf tiefer fährt, werden diese Streifen zu kleineren Streifen zerlegt und nur die Teilstreifen über den großen Bauelementen werden mit einer hohen Kopfposition lackiert.For very long strips, it may happen that the entire strip must be painted from a higher head position to avoid collision with components. Since the quality of the painting is better when the head moves lower, these strips are broken into smaller strips and only the partial strips on the large components are painted with a high head position.

Berechnung der kürzesten Wege zwischen Streifenendpunkten Eine weitere Phase des Verfahrens liegt in der Berechnung der kürzesten Wege zwischen Streifenendpunkten. Für jeden Streifen werden eine Startposition, eine Endposition und eine Fahrthöhe berechnet. Die Start- und Endposition ist in der Regel nicht an den Enden der Streifen, weil ausreichende Beschleunigungs- und Bremswege die Lackierqualität verbessern. Diese Beschleunigungs- und Bremswege werden durch die geometrischen Bedingungen bestimmt.Calculating Shortest Paths Between Strip Endpoints Another phase of the procedure is to calculate the shortest paths between strip endpoints. For each stripe, a start position, an end position and a ride height are calculated. The start and end position is usually not at the ends of the strips, because sufficient acceleration and braking distances improve the paint quality. These acceleration and braking distances are determined by the geometric conditions.

Für jedes Paar von Streifenendpunkten wird der kürzeste Weg für den Kopf mit einer Implementierung des Dijkstra-Algorithmus berechnet.For each pair of strip endpoints, the shortest path for the head is calculated using an implementation of the Dijkstra algorithm.

Dazu wird ein Graph aufgebaut, der alle Eckpunkte der Lackflächen, Bauelemente und lackfreien Flächen sowie die Gitterpunkte eines Gitters von gegebener Auflösung als Knoten hat. Dieser Knotensatz wird auf verschiedenen relevanten Fahrthöhen dupliziert. Kanten werden für jedes Knotenpaar eingeführt, wenn die Kante keine lackfreie Fläche durchquert. Auf den Kanten wird eine Kostenfunktion definiert, die auf der Kantenlänge, der Beschleunigung und der maximalen Geschwindigkeit des Kopfes beruht.For this purpose, a graph is constructed, which has all vertices of the paint surfaces, components and paint-free surfaces and the grid points of a grid of given resolution as a node. This node set is duplicated at various relevant ride heights. Edges are introduced for each node pair if the edge does not traverse a paint-free surface. On the edges a cost function is defined based on the edge length, the acceleration and the maximum speed of the head.

Berechnung der FahrtwegeCalculation of the routes

In dieser Phase werden die Streifen in eine Reihefolge gebracht so dass:

  • • kein „Spritzen” vorkommt: Wenn der Kopf beim Streifenziehen eine so genannte „trocken-nass Kante” durchquert, d. h. von einem noch nicht lackierten Bereich auf einen schon lackierten Bereich fährt, können, Lacktropfen auf andere Teile der Leiterplatte spritzen. Dadurch könnten lackfreie Flächen durch Lacktropfen bedeckt werden, was die Leiterplatte unbrauchbar macht. Durch sorgfältiges Wählen der Reihenfolge von Lackstreifen kann dieses Spritzen vermieden werden, und
  • • die Summe der Fahrtzeiten zwischen den Streifen minimiert wird.
In this phase, the stripes are placed in a sequence so that:
  • • No "spraying" occurs: When the head passes through a so-called "dry-wet edge" during stripping, ie when it moves from an area that has not yet been painted to an already painted area, paint droplets can splash onto other parts of the printed circuit board. As a result, paint-free surfaces could be covered by paint drops, which makes the circuit board unusable. By carefully choosing the order of paint strips this spraying can be avoided, and
  • • the sum of the travel times between the strips is minimized.

Um die Reihenfolge zu Berechnen wird eine lokale Suchheuristik benutzt. Erst wird eine Startreihenfolge generiert, bei der kein Spritzen vorkommt. Diese Startlösung wird durch folgende Modifizierungsschritte verbessert:

  • • Ein Teilintervall der Streifen wird aus der Reihenfolge gelöscht, und die Streifen werden einzeln wieder an einer Position hinzugefügt, wo weiterhin kein Spritzen verursacht wird und die Fahrtzeit nach dem Einfügen minimal ist. Wenn alle gelöschten Streifen wieder hinzugefügt werden können und die Gesamtzeit besser geworden ist, wird die neue Lösung übernommen.
  • • Ein Teilintervall der Streifen wird aus der Reihenfolge gelöscht und umgekehrt wieder an der gleichen Stelle eingefügt. Wenn die neue Reihenfolge kein Spritzen verursacht und die Gesamtzeit besser geworden ist, wird die neue Lösung übernommen.
To calculate the order a local search heuristic is used. First, a startup sequence is generated in which no spraying occurs. This starting solution is improved by the following modification steps:
  • • A sub-interval of the stripes is deleted from the sequence, and the stripes are added one by one at a position where no spraying is still caused and the travel time after insertion is minimum. If all deleted strips can be added again and the total time has improved, the new solution is adopted.
  • • A sub-interval of the strips is deleted from the sequence and vice versa inserted again in the same place. If the new order does not cause splashing and the overall time has improved, the new solution will be adopted.

In den Lösungsansatz fließen folgende Ideen ein:

  • • allgemeine Lackierrichtungen werden mit einer globale Optimierungsmethode (in fast allem Fällen) optimal bestimmt,
  • • die Auswahl der Streifen in der Erstlösung wird global optimiert,
  • • spezielle lokale Verbesserungen liefern eine Lösung, die aus elektrotechnischer Sicht optimal ist,
  • • kürzeste Wege zwischen Punkten werden optimal bestimmt,
  • • die Reihenfolgeoptimierung vermeidet Spritzen und minimiert Fahrtzeiten gleichzeitig
The solution includes the following ideas:
  • • general painting directions are optimally determined with a global optimization method (in almost all cases),
  • • the selection of stripes in the first solution is optimized globally,
  • • Special local improvements provide a solution that is optimal from an electrical point of view
  • • shortest paths between points are optimally determined
  • • Sequence optimization avoids spattering and minimizes travel times at the same time

Vorteile des automatischen Lösungsansatzes basierend auf MILP:

  • • globaler Optimierungsansatz für die Berechnung der Bereiche und Streifen,
  • • fehlerfreie Lösung (im Vergleich zur manuellen Planung),
  • • Planungsaufwand wird erheblich reduziert,
  • • der Lackiervorgang der Maschine ist wesentlich schneller, d. h. bessere Qualität der Lackierung,
  • • Einsatz von Üblichen MILP-Solvern möglich.
Benefits of the automated approach based on MILP:
  • • global optimization approach for the calculation of areas and stripes,
  • • error-free solution (compared to manual planning),
  • • Planning effort is significantly reduced
  • • The painting process of the machine is much faster, ie better quality of the paint,
  • • Use of common MILP solvers possible.

Verfahren und System zur Bestimmung von Verfahrwegen von Lackierrobotern, insbesondere für die Elektronikfertigung. Durch Gemischt Ganzzahlige Lineare Programmierung (Mixed Integer Linear Programming, MILP), wird in einem hierarchischen Ansatz eine zu lackierende Fläche in horizontal und in vertikal zu lackierende Bereiche und Streifen zerlegt, die in vorteilhafter weise von einem Lackierroboter verfahren werden.Method and system for determining the travel distances of painting robots, in particular for electronics production. By Mixed Integer Linear Programming (MILP), in a hierarchical approach a surface to be painted is separated into horizontally and vertically to be painted areas and strips, which are advantageously moved by a painting robot.

Bezugszeichenreference numeral

RR
LackierroboterPainting robots
LP1, LP2LP1, LP2
Leiterplattecircuit board
A, A'A, A '
Ausschnitt einer LeiterplatteDetail of a circuit board
HB1–HB4, HB1'HB1-HB4, HB1 '
Horizontaler LackierbereichHorizontal painting area
VB1–VB5, VB4'VB1-VB5, VB4 '
Vertikaler LackierbereichVertical painting area
VWVW
Verfahrwegtraverse
HS1–HS7HS1-HS7
Horizontaler LackierstreifenHorizontal paint strip
VS1VS1
Vertikaler LackierstreifenVertical paint strip

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102007041424 A1 [0004] DE 102007041424 A1 [0004]

Claims (10)

Verfahren zur Bestimmung von Verfahrwegen (VW) von Lackierrobotern (R), insbesondere für die Elektronikfertigung, umfassend die folgenden Schritte: a1) Bestimmung von Parametern einer zu verfahrenden und zu lackierenden Leiterplatte (LP1, LP2); a2) Bestimmung von Parametern für den Lackierroboter (R); a3) Festlegen von Sicherheits- und Nebenbedingungen für das Verfahren und Lackieren der Leiterplatte (LP1, LP2); b) Modellieren der zu lackierenden Flächen der Leiterplatte (LP1, LP2) als eine Vereinigung von Rechtecken, wobei die Kanten der Rechtecke parallel zu den Achsen eines kartesischen Koordinatensystems der Leiterplatte (LP1, LP2) angeordnet sind; c) Generieren von Lackierrichtungen für das Verfahren der zu lackierenden Rechtecke durch Gemischt Ganzzahlige Lineare Programmierung (Mixed Integer Linear Programming), wobei die zu lackierende Fläche in horizontal (HB1–HB4, HB1') und in vertikal (VB1–VB5, VB4') zu lackierende Bereiche zerlegt wird; d) Generieren von Lackstreifen (HS1–HS7, VS1) für jeden zusammenhängenden zu lackierenden Bereich (HB1–HB4, HB1', VB1–VB5, VB4') je Lackierrichtung durch Gemischt Ganzzahlige Lineare Programmierung (Mixed Integer Linear Programming).Method for determining travel distances (VW) of painting robots (R), in particular for electronics production, comprising the following steps: a1) determination of parameters of a printed circuit board (LP1, LP2) to be traversed and painted; a2) determination of parameters for the painting robot (R); a3) defining safety and ancillary conditions for the process and painting of the PCB (LP1, LP2); b) modeling the surfaces of the printed circuit board (LP1, LP2) to be painted as a union of rectangles, the edges of the rectangles being arranged parallel to the axes of a Cartesian coordinate system of the printed circuit board (LP1, LP2); c) Generating painting directions for the method of the rectangles to be painted by Mixed Integer Linear Programming, the area to be painted being separated into areas to be painted horizontally (HB1-HB4, HB1 ') and vertically (VB1-VB5, VB4'); d) Generating paint strips (HS1-HS7, VS1) for each contiguous area to be painted (HB1-HB4, HB1 ', VB1-VB5, VB4') per coating direction by Mixed Integer Linear Programming. Verfahren nach Anspruch 1, wobei der Schritt c weiterhin umfasst: Erstellen eines Gitters der Leiterplatte (LP1, LP2), so dass jede Zelle der Leiterplatte (LP1, LP2) entweder komplett in einer zu lackierenden Fläche liegt, oder außerhalb; und Minimieren der Summen der Längen der Gitterkanten nach einer der folgenden Bedingungen: die zwei Zellen zu beiden Seiten der Gitterkante gehören zu der zu lackierenden Fläche, aber die Lackierrichtungen beider Zellen sind unterschiedlich, oder nur eine der zwei Zellen zu beiden Seiten der Gitterkante gehört zu der zu lackierenden Fläche, und die Lackierrichtung und die Kantenrichtung dieser Zellen sind unterschiedlich.The method of claim 1, wherein step c further comprises: Creating a grid of the printed circuit board (LP1, LP2) so that each cell of the printed circuit board (LP1, LP2) is either completely in a surface to be painted or outside; and Minimize the sums of lattice edge lengths according to one of the following conditions: the two cells on either side of the grid edge belong to the area to be painted, but the painting directions of both cells are different, or only one of the two cells on both sides of the grating edge belongs to the surface to be painted, and the painting direction and the edge direction of these cells are different. Verfahren nach Anspruch 1, wobei der Schritt d weiterhin umfasst: Erstellen je einer Liste von allen horizontal (HS1–HS7) und von allen vertikalen Kandidaten (VS1) für eine Lackstreifenauswahl, wobei die Lackstreifen (HS1–HS7, VS1) entweder an den Eckpunkten des entsprechenden zu lackierenden Bereiches (HB1–HB4, HB1', VB1–VB5, VB4') oder an anderen schon generierten Lackstreifen (HS1–HS7, VS1) ausgerichtet sind, und bezüglich der Nebenbedingungen zulässig sind; und Auswählen von zu lackierenden Streifen durch Gemischt Ganzzahlige Lineare Programmierung (Mixed Integer Linear Programming), wobei mindestens ein vorgegebener Prozentsatz der Leiterplattenfläche (LP1, LP2) mit den ausgewählten Lackstreifen (HS1–HS7, VS1) bedeckt werden kann, wobei überlappende Streifen minimiert werden und wobei die Gesamtlaufzeit, die zum Durchfahren der ausgewählten Lackstreifen nötig ist, minimiert wird.The method of claim 1, wherein step d further comprises: Creating a list of all horizontally (HS1-HS7) and of all vertical candidates (VS1) for a paint strip selection, wherein the paint strips (HS1-HS7, VS1) either at the vertices of the corresponding area to be painted (HB1-HB4, HB1 ' , VB1-VB5, VB4 ') or other already produced paint strips (HS1-HS7, VS1), and are permissible with regard to the secondary conditions; and Selecting Strips to Be Painted by Mixed Integer Linear Programming, where at least a given percentage of the printed circuit board area (LP1, LP2) can be covered with the selected resist stripe (HS1-HS7, VS1), minimizing overlapping stripes and the total run time required to travel through the selected paint strips is minimized. Verfahren nach Anspruch 1 oder 3, wobei Schritt d) weiterhin umfasst: Verkürzen eines Streifens (HS1–HS7, VS1), wenn dadurch die bedeckte Fläche nicht verkleinert wird, oder Verlängern eines Streifens (HS1–HS7, VS1), wenn dadurch andere überlappende Streifen verkürzt werden und die Gesamtdurchlaufzeit kleiner wird.The method of claim 1 or 3, wherein step d) further comprises: Shortening a strip (HS1-HS7, VS1), if it does not reduce the covered area, or Lengthening of a strip (HS1-HS7, VS1), as a result of which other overlapping strips are shortened and the overall cycle time becomes smaller. Verfahren nach Anspruch 1 oder 3, wobei Schritt d) weiterhin umfasst: Verschieben eines Streifens, wenn dadurch die bedeckte Fläche vergrößert wird oder die bedeckte Fläche gleich bleibt, aber die Überlappungen reduziert werden.The method of claim 1 or 3, wherein step d) further comprises: Moving a strip if it increases the area covered, or keeps the covered area the same, but reduces the overlaps. Verfahren nach Anspruch 1 oder 3, wobei Schritt d) weiterhin umfasst: Hinzufügen eines Streifens, wenn dadurch andere Streifen (HS1–HS7, VS1) verkürzt oder eliminiert werden können, und die Durchlaufzeit kleiner wird.The method of claim 1 or 3, wherein step d) further comprises: Adding a strip, if it can shorten or eliminate other strips (HS1-HS7, VS1), and the cycle time is smaller. Verfahren nach Anspruch 1, weiter umfassend: Bestimmen der kürzesten Wege zwischen allen Randpunkten unterschiedlicher Lackierstreifen (HS1–HS7, VS1) unter Berücksichtigung von Beschleunigungs- und Bremsweg des Lackierroboters (R).The method of claim 1, further comprising: Determining the shortest paths between all edge points of different coating strips (HS1-HS7, VS1) taking into account the acceleration and braking distance of the painting robot (R). Verfahren nach Anspruch 1, weiter umfassend: Bestimmen der Fahrtwege (VW) des Lackierroboters (R), wobei die Streifen (HS1–HS7, VS1) in eine Reihenfolge gebracht werden, die ein Spritzen vermeiden und wobei die Summe der Fahrtzeiten zwischen den Streifen (HS1–HS7, VS1) minimiert wird.The method of claim 1, further comprising: Determining the travel paths (VW) of the painting robot (R), wherein the strips (HS1-HS7, VS1) are placed in an order that avoid spraying and wherein the sum of the travel times between the strips (HS1-HS7, VS1) is minimized , Computerlesbares Medium oder Computerprogrammprodukt, umfassend Anweisungen, welche, wenn sie auf einem geeigneten Computer ausgeführt werden, den Computer dazu bringen, das Verfahren gemäß irgendeinem der Ansprüche 1 bis 8 auszuführen.A computer readable medium or computer program product comprising instructions which, when executed on a suitable computer, cause the computer to carry out the method of any one of claims 1 to 8. System zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 8.System for carrying out a method according to one of claims 1 to 8.
DE102009039988A 2009-09-03 2009-09-03 Travels for painting robots Withdrawn DE102009039988A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102009039988A DE102009039988A1 (en) 2009-09-03 2009-09-03 Travels for painting robots
PCT/EP2010/061058 WO2011026698A1 (en) 2009-09-03 2010-07-29 Travel paths for painting robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102009039988A DE102009039988A1 (en) 2009-09-03 2009-09-03 Travels for painting robots

Publications (1)

Publication Number Publication Date
DE102009039988A1 true DE102009039988A1 (en) 2011-03-17

Family

ID=42767622

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009039988A Withdrawn DE102009039988A1 (en) 2009-09-03 2009-09-03 Travels for painting robots

Country Status (2)

Country Link
DE (1) DE102009039988A1 (en)
WO (1) WO2011026698A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021204051A1 (en) 2021-04-23 2022-10-27 Zf Friedrichshafen Ag Device with an antenna arrangement and vehicle
WO2024132471A1 (en) * 2022-12-19 2024-06-27 Siemens Aktiengesellschaft System and method for providing a painting program for coating circuit boards

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013006868B4 (en) 2013-04-19 2016-06-23 Dürr Systems GmbH Painting process and paint shop for painting a component with a character edge
CN111539574B (en) * 2020-04-28 2021-04-09 北京洛必德科技有限公司 Order dispatching method and system for multiple robots

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69123120T2 (en) * 1990-09-28 1997-03-06 Hewlett Packard Co Process for the production of printed circuit boards
DE19838595A1 (en) * 1998-08-25 2000-03-23 Siemens Ag Method and device for computer-aided pipette selection for a placement head of an automatic placement machine and for the assignment of components to the types of pipettes specified in a pipette selection
US20030018401A1 (en) * 2001-07-19 2003-01-23 International Business Machines Corporation Punch and die optimization
DE102007048651A1 (en) * 2006-10-11 2008-04-17 Nordson Corp., Westlake Coating system for delivering flexible coating material on substrate, has control device actuated to supply chain of impulses to solenoid valve, needle valve closed for intervals between impulses, and coating material discharged from needle
DE102007041424A1 (en) 2007-08-31 2009-03-05 Abb Research Ltd. Method and system for the optimized planning of complex production sequences in large-scale plant operations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2315823A1 (en) * 1975-06-27 1977-01-21 Schlumberger Prospection Printed circuit card varnishing machine - treats cards placed in vat filled with varnish at pre-determined rate
DE19852079A1 (en) * 1998-11-11 2000-05-18 Thomas Kovarovsky Image generating painting arrangement has controller with device that reacts to image information by actuating robot arm, dosing device to reproduce image on painted surface
US6829514B2 (en) * 2003-01-17 2004-12-07 Motorola, Inc. Balancing workloads in an electronics assembly factory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69123120T2 (en) * 1990-09-28 1997-03-06 Hewlett Packard Co Process for the production of printed circuit boards
DE19838595A1 (en) * 1998-08-25 2000-03-23 Siemens Ag Method and device for computer-aided pipette selection for a placement head of an automatic placement machine and for the assignment of components to the types of pipettes specified in a pipette selection
US20030018401A1 (en) * 2001-07-19 2003-01-23 International Business Machines Corporation Punch and die optimization
DE102007048651A1 (en) * 2006-10-11 2008-04-17 Nordson Corp., Westlake Coating system for delivering flexible coating material on substrate, has control device actuated to supply chain of impulses to solenoid valve, needle valve closed for intervals between impulses, and coating material discharged from needle
DE102007041424A1 (en) 2007-08-31 2009-03-05 Abb Research Ltd. Method and system for the optimized planning of complex production sequences in large-scale plant operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021204051A1 (en) 2021-04-23 2022-10-27 Zf Friedrichshafen Ag Device with an antenna arrangement and vehicle
WO2024132471A1 (en) * 2022-12-19 2024-06-27 Siemens Aktiengesellschaft System and method for providing a painting program for coating circuit boards

Also Published As

Publication number Publication date
WO2011026698A1 (en) 2011-03-10

Similar Documents

Publication Publication Date Title
DE102009039988A1 (en) Travels for painting robots
WO2013037693A2 (en) System and method for the automatic generation of robot programs
WO2018161994A1 (en) Method for additive manufacture of a three-dimensional object
DE102016211129A1 (en) Method for checking a collision between two driverless transport vehicles, driverless transport vehicle and system with several driverless transport vehicles
WO2020210855A1 (en) Positioning aid for laser welding, and positioning method
DE102015205631A1 (en) Method for the automated printing of a curved surface of a three-dimensional object
WO2020234008A1 (en) Coating thickness optimization and programming method for a coating system and corresponding coating system
EP3867715A1 (en) Production system and method for nesting sub-spaces for control of a cutting process
DE112007002637T5 (en) Method for assembling components
DE102022108004A1 (en) Simulation method for a coating system and corresponding coating system
DE10108762A1 (en) Electronic component mounting method for fixing component on substrate, involves detecting dislocation of divided block of substrate based on detected relative position data and substrate entire position
EP4157594A1 (en) Programming method for a coating installation, and corresponding coating installation
EP1078305B1 (en) Coordinate measurement device and method for controlling same
EP1025470B1 (en) Process for determining possible configurations of machining plants
DE102017208102A1 (en) Method for the fully automatic correction of coating defects
DE102008013400A1 (en) Locking areas determining method for industrial robots in room, involves representing area, which is not collision-endangered, and collision-endangered area in table, and determining locking areas of objects from represented areas
EP1302828A2 (en) Program control system and method for controlling a coating plant
DE102016212571A1 (en) Apparatus and method for the production of three-dimensional components with a powder bed-based jet melting process
DE102020105185A9 (en) Data correlation between different machines in a production line for electronic components
DE102008016266B4 (en) Method for optimizing the layout of at least one transfer device for producing direct and indirect structures
DE102004056158B3 (en) Method for monitoring an electrochemical treatment process and electrode arrangement suitable for this method
DE202021002006U1 (en) Production of an etch-resistant mask for the partial passivation of a pressed sheet or endless belt surface, which is then subjected to a chemical surface structuring
DE102020129293B4 (en) Method of compiling a cutting plan, method of cutting out and sorting workpieces and flat bed machine tool
DE10017767A1 (en) Process for the production of masks for the production of semiconductor structures
DE2601823A1 (en) PROCESS FOR CONTROLLING CYCLED FLOW PRODUCTION

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee