-
Gebiet der Technik
-
Die vorliegende Erfindung betrifft eine Positionssteuerungseinrichtung und ein Positionssteuerungsverfahren.
-
Stand der Technik
-
Im Allgemeinen erfordert das Herstellen eines Produktionssystems, in dem ein Roboterarm Montagearbeiten durchführt, einen manuellen Anweisungsvorgang, der als Teachen bezeichnet wird und von einem Bediener durchzuführen ist. In diesem Fall wiederholt der Roboter Bewegungen nur für die beim Teachen gespeicherte Position, sodass der Roboter möglicherweise nicht richtig reagieren kann, wenn Fertigungs- oder Montagefehler auftreten. Wird eine Positionskorrekturtechnik entwickelt, bei der einzelne Positionsfehler zugelassen sein können, wird folglich in Aussicht gestellt, dass sich Roboter fortan in noch mehr Bereichen einsetzen lassen und Produktivitätsverbesserungen erzielt werden.
-
Eine herkömmliche Technik ermöglicht Positionskorrekturen unter Nutzung eines Kamerabilds bei Vorgängen bis zur Verbindungselementeinführung (Patentschrift 1). Wenn eine Vielzahl von Einrichtungen wie ein Kraftsensor und eine Stereokamera genutzt wird, ist es zudem möglich, dass Positionsfehler, die sich auf die Produktionsmontage (Einführung, Einspannung etc.) auswirken, zugelassen werden. Zum Ermitteln des Positionskorrekturbetrags müssen jedoch Werte wie die Koordinaten der Mitte des Verbindungselements, das gegriffen wird, und die Koordinaten der Mitte des Verbindungselements, bei dem es sich um das Einführungszielteil handelt, eigens aus den Bildinformationen kalkuliert werden, wie die Patentschrift 1 offenbart. Da diese Kalkulation von den Formen der Verbindungselemente abhängt, muss von einem Konstrukteur für jedes Verbindungselement, das genutzt werden soll, eine Festlegung vorgenommen werden. Wenn die dreidimensionalen Informationen von einer Einrichtung wie einer Entfernungskamera erhalten werden, ist die Kalkulation vergleichsweise einfach. Wenn jedoch die dreidimensionalen Informationen aus zweidimensionalen Bildinformationen erhalten werden müssen, müssen für jedes Verbindungselement Bildverarbeitungsalgorithmen entwickelt werden, wodurch hohe Entwicklungskosten entstehen.
-
Liste der Anführungen
-
Patentschriften
-
Patentschrift 1:
WO 98-017444
-
Zusammenfassung der Erfindung
-
Technische Aufgabe
-
Es ist schwierig, die Position für die Montage nur mit Informationen von einer monokularen Kamera zu steuern.
-
Die vorliegende Offenbarung soll die Aufgabe lösen und eine Ausrichtung nur mit einer monokularen Kamera ermöglichen.
-
Technische Lösung
-
Eine Positionssteuerungseinrichtung gemäß der Offenbarung enthält Folgendes: eine Abbildungseinheit zum Aufnehmen eines Bilds, das zwei Objekte enthält; und eine Steuerparametergenerierungseinheit zum Zuleiten von Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, zu einer Eingangsschicht eines neuronalen Netzes und zum Ausgeben eines Positionssteuerungsbetrags zum Steuern der Positionsbeziehung zwischen den zwei aufgenommenen Objekten als Ausgangsschicht des neuronalen Netzes.
-
Vorteilhafte Wirkungen der Erfindung
-
Die vorliegende Offenbarung ermöglicht eine Ausrichtung nur mit einer monokularen Kamera.
-
Figurenliste
-
- 1 ist eine Abbildung, in der ein Roboterarm 100 gemäß einer Ausführungsform 1, Stecker 110 und Buchsen 120 angeordnet sind.
- 2 ist ein Funktionskonfigurationsdiagramm, das die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 zeigt.
- 3 ist ein Hardwarestrukturdiagramm, das die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 zeigt.
- 4 ist ein Ablaufschema, das die durch die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 durchgeführte Positionssteuerung zeigt.
- 5 ist ein beispielhaftes Schema, das die Kamerabilder und die Steuerungsbeträge zeigt; die Bilder werden durch die monokulare Kamera 102 gemäß der Ausführungsform 1 an der Einführungsanfangsposition und in ihrer jeweiligen Nähe aufgenommen.
- 6 ist ein Beispiel, das ein neuronales Netz und eine Lernregel des neuronalen Netzes gemäß der Ausführungsform 1 zeigt.
- 7 ist ein Ablaufschema, das das neuronale Netz gemäß der Ausführungsform 1, in der eine Vielzahl von Netzen genutzt wird, zeigt.
- 8 ist ein Funktionskonfigurationsdiagramm einer Positionssteuerungseinrichtung gemäß einer Ausführungsform 2.
- 9 ist ein Hardwarestrukturdiagramm der Positionssteuerungseinrichtung gemäß der Ausführungsform 2.
- 10 zeigt einen Stecker 110 und eine Buchse 120 bei einem Versuch einer Zusammensteckung gemäß der Ausführungsform 2.
- 11 ist ein Ablaufschema, das das Pfadlernen der Positionssteuerungseinrichtung gemäß der Ausführungsform 2 zeigt.
- 12 ist ein Ablaufschema, das das Pfadlernen einer Positionssteuerungseinrichtung gemäß einer Ausführungsform 3 zeigt.
- 13 ist ein Beispiel, das ein neuronales Netz und eine Lernregel des neuronalen Netzes gemäß der Ausführungsform 3 zeigt.
-
Beschreibung der Ausführungsformen
-
Ausführungsform 1
-
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung beschrieben.
-
In der Ausführungsform 1 werden ein Roboterarm, der die Einführungspositionen von Steckern lernt und in einer Produktionsstraße arbeitet, sowie ein Positionssteuerungsverfahren für ihn beschrieben.
-
Es werden Konfigurationen beschrieben. 1 ist eine Abbildung, in der ein Roboterarm 100, Steckverbinder 110 und Buchsen 120 gemäß der Ausführungsform 1 angeordnet sind. Der Roboterarm 100 ist mit einer Greifeinheit 101 zum Greifen eines Steckers 110 ausgestattet, und an dem Roboterarm 100 ist eine monokulare Kamera 102 an einer Position, an der die Greifeinheit im Blickfeld der monokularen Kamera 102 ist, angebracht. Während die Greifeinheit 101 am Ende des Roboterarms 100 den Stecker 110 greift, ist die monokulare Kamera 102 so positioniert, dass das Ende des gegriffenen Steckers 110 und die Buchse 120, in die er eingeführt werden soll, in ihrem Blickfeld ist.
-
2 ist ein Funktionskonfigurationsdiagramm, das die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 zeigt.
-
Wie in 2 gezeigt, enthält die Positionssteuerungseinrichtung Folgendes: eine Abbildungseinheit 201 zum Aufnehmen von Bildern, wobei die Abbildungseinheit 201 eine Funktion der in 1 gezeigten monokularen Kamera 102 ist; eine Steuerparametergenerierungseinheit 202 zum Generieren eines Positionssteuerungsbetrags des Roboterarms 100 unter Nutzung der aufgenommenen Bilder; eine Steuereinheit 203 zum Steuern der für die Antriebseinheit 204 des Roboterarms 100 bereitzustellenden Strom- bzw. Spannungswerte unter Nutzung des Positionssteuerungsbetrags; und eine Antriebseinheit 204 zum Ändern der Position des Roboterarms 100 basierend auf den von der Steuereinheit 203 ausgegebenen Strom- bzw. Spannungswerten.
-
Die Steuerparametergenerierungseinheit 202 ermittelt nach dem Empfangen eines Bilds, das durch die Abbildungseinheit 201, die eine Funktion der monokularen Kamera 102 ist, aufgenommen wurde, den Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), der mit der Position des Roboterarms 100 (X, Y, Z, Ax, Ay, Az) korrespondiert, und gibt den Steuerungsbetrag an die Steuereinheit 203 aus. Hierbei sind X, Y und Z Koordinaten der Position des Roboterarms 100, und Ax, Ay und Az sind die Lagewinkel des Roboterarms 100.
-
Die Steuereinheit 203 ermittelt und steuert die Strom- bzw. Spannungswerte 204 für die Einrichtungen, die die Antriebseinheit 204 bilden, basierend auf dem empfangenen Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), der mit der Position (X, Y, Z, Ax, Ay, Az) des Roboterarms 100 korrespondiert.
-
Jede Einrichtung, die die Antriebseinheit 204 bildet, arbeitet gemäß den von der Steuereinheit 203 empfangenen Strom- bzw. Spannungswerten und bewirkt, dass sich der Roboterarm 100 in die Position (X+ΔX, Y+ΔY, Z+ΔZ, Ax+ΔAx, Ay+ΔAy, Az+ΔAz) bewegt.
-
3 ist ein Hardwarestrukturdiagramm der Positionssteuerungseinrichtung gemäß der Ausführungsform 1. Die monokulare Kamera 102 ist über eine Eingabe/Ausgabe-Schnittstelle 301 kommunikationsfähig entweder drahtgebunden oder drahtlos mit einem Prozessor 302 und einem Speicherelement 303 verbunden. Die Eingabe/Ausgabe-Schnittstelle 301, der Prozessor 302 und das Speicherelement 303 realisieren die Funktionen der Steuerparametergenerierungseinheit 202 in 2. Die Eingabe/Ausgabe-Schnittstelle 301 ist kommunikationsfähig entweder drahtgebunden oder drahtlos mit einer mit der Steuereinheit 203 korrespondierenden Steuerschaltung 304 verbunden. Die Steuerschaltung 304 ist auch elektrisch mit einem Motor 305 verbunden. Der Motor 305, der mit der Antriebseinheit 204 in 2 korrespondiert, ist eine Komponente für jede Einrichtung zum Durchführen einer Positionssteuerung. In der vorliegenden Ausführungsform wird der Motor 305 in einer Ausbildung der mit der Antriebseinheit 204 korrespondierenden Hardware genutzt, ausreichend wäre irgendeine zum Bereitstellen der Funktionalität einer solchen Positionssteuerung ausgelegte Hardware. Die monokulare Kamera 201 und die Eingabe/Ausgabe-Schnittstelle 301 können separate Körper sein, und die Eingabe/Ausgabe-Schnittstelle 301 und die Steuerschaltung 304 können separate Körper sein.
-
Als Nächstes wird der Ablauf beschrieben.
-
4 ist ein Ablaufschema, das die durch die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 durchgeführte Positionssteuerung zeigt.
-
Zunächst greift die Greifeinheit 101 des Roboterarms 100 beim Schritt S101 einen Stecker 110. Die Position und die Lage des Steckers 110 werden in der in 2 gezeigten Steuereinheit 203 vorregistriert, und der Vorgang wird gemäß dem ebenfalls in der Steuereinheit 203 vorregistrierten Steuerprogramm durchgeführt.
-
Als Nächstes wird der Roboterarm 100 beim Schritt S102 näher zur Einführungsposition einer Buchse 120 hin geführt. Die ungefähre Position und die ungefähre Lage der Buchse 110 werden in der in 2 gezeigten Steuereinheit 203 vorregistriert, und die Position des Steckers 110 wird gemäß dem in der Steuereinheit 203 vorregistrierten Steuerprogramm gesteuert.
-
Als Nächstes weist die Steuerparametergenerierungseinheit 202 beim Schritt S103 die Abbildungseinheit 201 der monokularen Kamera 102 zum Aufnehmen eines Bilds an, und die monokulare Kamera 103 nimmt ein Bild auf, das sowohl den von der Greifeinheit 101 gegriffenen Stecker 110 als auch die Buchse 120, bei der es sich um das Einführungszielteil handelt, enthält.
-
Als Nächstes erhält die Steuerparametergenerierungseinheit 202 beim Schritt S104 das Bild von der Abbildungseinheit 201 und ermittelt den Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz). Beim Ermitteln des Steuerungsbetrags nutzt die Steuerparametergenerierungseinheit 202 den Prozessor 302 und das Speicherelement 303, die in 3 gezeigt sind, als Hardware und kalkuliert den Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) unter Nutzung eines neuronalen Netzes. Das Verfahren zur Kalkulation des Steuerungsbetrags unter Nutzung des neuronalen Netzes wird später noch beschrieben.
-
Als Nächstes erhält die Steuereinheit 203 beim Schritt S105 den von der Steuerparametergenerierungseinheit 202 ausgegebenen Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) und vergleicht alle Komponenten des Steuerungsbetrags mit ihren jeweiligen vorher ermittelten Grenzwerten. Wenn alle Komponenten des Steuerungsbetrags höchstens gleich ihren jeweiligen Grenzwerten sind, wird bei dem Prozess zum Schritt S107 übergegangen, und die Steuereinheit 203 steuert die Antriebseinheit 204 derart, dass der Stecker 110 in die Buchse 120 eingeführt wird.
-
Wenn eine beliebige der Komponenten des Steuerungsbetrags größer als der mit ihr korrespondierende Grenzwert ist, steuert die Steuereinheit 203 die Antriebseinheit 204 beim Schritt S106 unter Nutzung des durch die Steuerparametergenerierungseinheit 202 ausgegebenen Steuerungsbetrags (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), und bei dem Prozess wird zum Schritt S103 zurückgekehrt.
-
Als Nächstes wird das beim Schritt S104 von 4 durchgeführte Verfahren zur Kalkulation des Steuerungsbetrags unter Nutzung des neuronalen Netzes beschrieben.
-
Bevor mit der Kalkulation des Steuerungsbetrags unter Nutzung des neuronalen Netzes begonnen wird, werden eine Vielzahl von Datensätzen eines Bilds sowie ein erforderlicher Betrag für eine Bewegung erfasst; dies dient der Vorbereitung dessen, dass das neuronale Netz den Betrag für eine Bewegung bis zur erfolgreichen Zusammensteckung unter Nutzung des Eingangsbilds kalkulieren kann. Zum Beispiel werden der Stecker 110 und die Buchse 120, deren Positionen bekannt sind, zusammengesteckt, und der Stecker 110 wird von der Greifeinheit 101 des Roboterarms 100 gegriffen. Dann bewegt sich die Greifeinheit 101 in der bekannten Richtung und zieht den Stecker bis zur Einführungsanfangsposition heraus, und die monokulare Kamera 102 nimmt eine Vielzahl von Bildern auf. Wenn außerdem als Steuerungsbetrag für die Einführungsanfangsposition (0, 0, 0, 0, 0, 0) festgelegt ist, werden nicht nur der Betrag für eine Bewegung von der Zusammensteckzustandsposition bis zur Anfangsposition der Einführung mit ihrem Bild, sondern auch die Beträge für eine Bewegung zu Positionen in der Nähe der Einführungsanfangsposition oder die Steuerungsbeträge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) mit ihren Bildern erfasst.
-
5 ist ein beispielhaftes Schema, das Steuerungsbeträge und ihre jeweiligen Bilder, die durch die monokulare Kamera 102 in der Ausführungsform 1 an der Einführungsanfangsposition und in ihrer jeweiligen Nähe aufgenommen werden, zeigt.
-
Danach erfolgt der Lernvorgang basierend auf einer allgemeinen Lernregel des neuronalen Netzes (etwa eines stochastischen Gradientenverfahrens) unter Nutzung der Vielzahl von Datensätzen, die sich je aus dem Betrag für eine Bewegung von der Zusammensteckposition bis zur Einführungsanfangsposition zusammensetzen, und des durch die monokulare Kamera 102 an der Einführungsanfangsposition oder in ihrer Nähe aufgenommenen Bilds.
-
Es gibt verschiedene Arten neuronaler Netze wie etwa ein CNN oder ein RNN, und für die vorliegende Offenbarung kann irgendeine dieser Arten genutzt werden.
-
6 ist ein Schema, das ein Beispiel für das neuronale Netz und die Lernregel des neuronalen Netzes gemäß der Ausführungsform 1 zeigt.
-
Die von der monokularen Kamera 102 erhaltenen Bilder (etwa die Helligkeit und der Farbunterschied jedes Pixels) werden der Eingangsschicht zugeleitet, und die Steuerungsbeträge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) werden in der Ausgangsschicht ausgegeben.
-
Beim Lernprozess des neuronalen Netzes werden die Parameter der verdeckten Schicht so optimiert, dass die Ausgangswerte der Ausgangsschicht, die über die verdeckte Schicht aus den eingegebenen Bildern erhalten werden, den Steuerungsbeträgen, die in Verbindung mit ihren jeweiligen Bildern gespeichert werden, genähert werden. Zu diesen Näherungsverfahren gehört das stochastische Gradientenverfahren.
-
Folglich kann genaueres Lernen erzielt werden, wie in 5 gezeigt, insofern als diejenigen Bilder erhalten werden, die nicht nur mit dem Betrag für eine Bewegung von der Zusammensteckposition bis zur Einführungsanfangsposition, sondern auch mit den Beträgen für Bewegungen zu Positionen um die Einführungsanfangsposition herum korrespondieren.
-
In 5 ist ein Fall gezeigt, in dem die Position des Steckers 110 mit Bezug zur monokularen Kamera 102 fest ist und nur die Position der Buchse 120 geändert wird. Tatsächlich greift jedoch die Greifeinheit 101 des Roboterarms 100 den Stecker 110 nicht immer genau an der vorgesehenen Position, und die Position des Steckers 110 kann aufgrund seiner einzelnen Differenzen etc. von der normalen Position abweichen. Bei dem Lernprozess werden in einem Zustand, in dem der Stecker 110 von der genauen Position abgewichen ist, Datensätze eines Steuerungsbetrags und ein Bild an der Einführungsanfangsposition sowie die Positionen in ihrer jeweiligen Nähe zur Durchführung des Lernvorgangs erfasst; demzufolge erfolgt der Lernvorgang derart, dass dabei einzelne Differenzen sowohl des Steckers 110 als auch der Buchse 120 berücksichtigt werden können.
-
Hierbei ist zu beachten, dass der Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) zur Zeit der Aufnahme so kalkuliert wird, dass der Betrag für eine Bewegung von der Zusammensteckposition bis zur Einführungsanfangsposition ausgeschlossen wird. Demzufolge muss der Betrag für eine Bewegung von der Zusammensteckposition bis zur Einführungsanfangsposition zur Nutzung beim Schritt S107 in 4 separat gespeichert werden. Hierbei ist auch zu beachten, dass die oben erwähnten Koordinaten mit Bezug zum Koordinatensystem der monokularen Kamera erhalten werden. Wenn das Koordinatensystem der monokularen Kamera nicht mit dem Koordinatensystem des gesamten Roboterarms 100 übereinstimmt, muss die Steuereinheit 203 demzufolge vor dem Steuern des Roboterarms 100 eine Koordinatenumwandlung durchführen.
-
In dieser Ausführungsform ist das Koordinatensystem der Buchse 120 ein anderes als das Koordinatensystem der monokularen Kamera 102, weil die monokulare Kamera am Roboterarm 100 befestigt ist. Wenn sich die monokulare Kamera 102 und die Buchse 120 im selben Koordinatensystem befinden, ist die Umwandlung vom Koordinatensystem für die monokulare Kamera 102 in das Koordinatensystem für den Roboterarm 100 nicht nötig.
-
Als Nächstes werden der Ablauf sowie ein Ablaufbeispiel, das in 4 gezeigt ist, detailliert beschrieben.
-
Beim Schritt S101 greift der Roboterarm 100 einen Stecker 110 auf eine vorregistrierte Weise, und beim Schritt S102 wird der Stecker 110 zu einer sich fast oberhalb der Buchse 120 befindenden Stelle bewegt.
-
Hierbei ist zu beachten, dass die Position des gegriffenen Steckers 110, kurz bevor er gegriffen wird, nicht immer dieselbe ist. Kommt es zu einer geringfügigen Abweichung der Maschinenabläufe, welche die Position des Steckers 110 vorgibt, besteht immer eine Möglichkeit, dass ein geringfügiger Positionsfehler aufgetreten sein kann. Aus demselben Grund kann auch die Buchse 120 einige Fehler aufweisen.
-
Folglich ist es wichtig, dass die beim Schritt S103 erfassten Bilder sowohl den Stecker 110 als auch die Buchse 120 zeigen, wobei die Bilder wie in 5 durch die Abbildungseinheit 201 der monokularen Kamera 102, die am Roboterarm 100 angebracht ist, aufgenommen werden. Die Position der monokularen Kamera 102 mit Bezug zum Roboterarm 100 ist immer fest, sodass die Bilder die Informationen zur Positionsbeziehung zwischen dem Stecker 110 und der Buchse 120 enthalten.
-
Beim Schritt S104 wird der Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) durch die Steuerparametergenerierungseinheit 202 mit dem neuronalen Netz, wie in 6 gezeigt, kalkuliert, wobei dieses zuvor die Informationen zur Positionsbeziehung gelernt hat. Jedoch ist abhängig von der Genauigkeit des Lernens die Bewegung bis zur Einführungsanfangsposition unter Nutzung des durch die Steuerparametergenerierungseinheit 202 ausgegebenen Steuerungsbetrags unmöglich. In diesem Fall kann die Steuerparametergenerierungseinheit 202 durch wiederholtes Durchlaufen der Schleife vom Schritt S103 bis zum Schritt S106 so lange Kalkulationen durchführen, bis alle Komponenten des Steuerungsbetrags höchstens gleich ihren jeweiligen Grenzwerten werden, wie beim Schritt S105 gezeigt, und die Steuereinheit 203 und die Antriebseinheit 204 steuern ferner die Position des Roboterarms 100.
-
Die bei S105 gezeigten Grenzwerte werden basierend auf der erforderlichen Genauigkeit des Steckers 110 und der Buchse 120, die zusammenzustecken sind, ermittelt. Wenn diese zum Beispiel lose zusammengesteckt sind, also zunächst keine hohe Genauigkeit als Eigenschaft des Steckers erforderlich ist, können große Grenzwerte festgelegt werden. Im gegenteiligen Fall werden kleine Grenzwerte festgelegt. Bei einem normalen Fertigungsprozess können für die Grenzwerte Fertigungstoleranzen, die in vielen Fällen vorgegeben sind, genutzt werden.
-
Falls abhängig von der Genauigkeit des Lernens die Bewegung bis zur Einführungsanfangsposition unter Nutzung des durch die Steuerparametergenerierungseinheit 202 ausgegebenen Steuerungsbetrags unmöglich ist, kann zudem eine Vielzahl von Einführungsanfangspositionen festgelegt werden. Wird eine Einführungsanfangsposition ohne einen hinreichenden Abstand zwischen dem Stecker 110 und der Buchse 120 festgelegt, können diese vor der Einführung aneinander stoßen und einzeln oder beide brechen. Um dieses Risiko zu umgehen, kann die Einführungsanfangsposition stufenweise abhängig davon festgelegt werden, wie oft die Schritte S103 bis S106, die in 4 gezeigt sind, durchlaufen werden. Zum Beispiel kann für das erste Mal ein Abstand von 5 mm zwischen dem Stecker 110 und der Buchse 120 festgelegt werden, für das zweite Mal ein Abstand von 20 mm, für das dritte Mal ein Abstand von 10 mm und so weiter.
-
Die vorliegende Ausführungsform wird zwar anhand von Steckverbindungen beschrieben, jedoch ist die Anwendung der Technik nicht auf das Zusammenstecken von Verbindungselementen begrenzt. Dieses Verfahren ist praktisch zum Beispiel bei der Montage von IC-Chips auf einem Substrat und insbesondere bei der Einführung von Kondensatoren oder dergleichen mit Beinchen mit einem großen Maßfehler in Löcher eines Substrats anwendbar.
-
Dieses Verfahren ist nicht nur auf die Steuerung zur Einführung in Substrate anwendbar, sondern auch auf die Positionssteuerung im Allgemeinen, um von einer bekannten Beziehung zwischen Bildern und Steuerungsbeträgen einen Steuerungsbetrag abzuleiten. In der vorliegenden Offenbarung werden durch das neuronale Netz die Beziehungen zwischen Bildern und Steuerungsbeträgen gelernt; demzufolge können einzelne Differenzen in den Objekten bei der Durchführung der Ausrichtung der Objekte zugelassen werden.
-
In der Ausführungsform 1 sind eine Abbildungseinheit 201, eine Steuerparametergenerierungseinheit 202, eine Steuereinheit 203 und eine Antriebseinheit 204 bereitgestellt. Die Abbildungseinheit 201 nimmt ein Bild auf, das zwei Objekte enthält. Die Steuerparametergenerierungseinheit 202 leitet Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, einer Eingangsschicht eines neuronalen Netzes zu und gibt einen Positionssteuerungsbetrag zum Steuern der Positionsbeziehung zwischen den zwei aufgenommenen Objekten als Ausgangsschicht des neuronalen Netzes aus. Die Steuereinheit 203 steuert den Strom bzw. die Spannung zum Steuern der Positionsbeziehung zwischen den zwei Objekten unter Nutzung des ausgegebenen Positionssteuerungsbetrags. Die Antriebseinheit 204 ändert eine Position eines der zwei Objekte unter Nutzung des Stroms bzw. der Spannung. Selbst wenn Differenzen zwischen Objekten oder Fehler in der Positionsbeziehung zwischen den zwei Objekten vorliegen, kann eine Ausrichtung folglich nur mit einer monokularen Kamera durchgeführt werden.
-
Oben wird eine Ausführungsform beschrieben, in der nur ein neuronales Netz genutzt wird. In manchen Fällen muss hingegen eine Vielzahl neuronaler Netze genutzt werden. Denn wenn wie in der Ausführungsform die Eingaben Bilder und die Ausgaben Zahlenwerte sind, können die Ausgaben Fehler von ungefähr einigen Prozent enthalten; dies ist darauf zurückführbar, dass die Näherungsgenauigkeit unter den Zahlenwerten begrenzt ist. Das Ermittlungsergebnis kann abhängig vom Abstand von der Einführungsanfangsposition zur Position in ihrer Nähe beim Schritt 2 von 4 immer „nein“ lauten, und deshalb kann der Vorgang beim Schritt S105 nicht erfolgen. Für das Vorgehen in einem solchen Fall wird eine Vielzahl von Netzen genutzt, wie in 7 gezeigt.
-
7 ist ein Ablaufschema für die Nutzung einer Vielzahl neuronaler Netze im Gegensatz zur Nutzung nur des einen neuronalen Netzes, das in der Ausführungsform 1 oben gezeigt ist. Dabei wird der Schritt S104 aus 4 detailliert gezeigt. Die Vielzahl von Parametern ist in der in 2 gezeigten Steuerparametergenerierungseinheit enthalten.
-
Beim Schritt S701 wählt die Steuerparametergenerierungseinheit 202 das Netz, das genutzt werden soll, basierend auf dem eingegebenen Bild aus.
-
Wenn die Schleifenanzahl eins ist oder der vorher erhaltene Steuerungsbetrag mindestens gleich 25 mm ist, wird das neuronale Netz 1 ausgewählt, woraufhin bei dem Prozess zum Schritt S702 übergegangen wird. Wenn die Schleifenanzahl mindestens zwei ist und der vorher erhaltene Steuerungsbetrag mindestens gleich 5 mm sowie kleiner als 25 mm ist, wird das neuronale Netz 2 ausgewählt, woraufhin bei dem Prozess zum Schritt S703 übergegangen wird. Wenn die Schleifenanzahl mindestens zwei ist und der vorher erhaltene Steuerungsbetrag kleiner als 5 mm ist, wird das neuronale Netz 3 ausgewählt, woraufhin bei dem Prozess zum Schritt S704 übergegangen wird. Das neuronale Netz für einen Schritt, der aus S702 bis S704 ausgewählt wird, wird zur Kalkulation des Steuerungsbetrags genutzt.
-
Jedes der neuronalen Netze hat basierend auf dem Abstand zwischen dem Stecker 110 und der Buchse 120 oder dem Steuerungsbetrag gelernt. In der Figur werden zum Beispiel die Bereiche der Lerndaten stufenweise geändert; das neuronale Netz 3 nutzt die Lerndaten, die Fehler in einem Bereich von ±1 mm und ±1 Grad aufweisen, und das neuronale Netz 2 nutzt die Lerndaten, die Fehler in einem Bereich von ±1 mm bis ±10 mm und von ±1 Grad bis ±5 Grad aufweisen. Es ist effizienter, wenn die Bereiche von Bildern, die in jedem neuronalen Netz genutzt werden, nicht überlappen.
-
Das in 7 gezeigte Beispiel enthält drei Netze, jedoch ist die Anzahl der Netze nicht begrenzt. Wird ein solches Verfahren genutzt, muss eine Ermittlungsfunktion beim Schritt S701, die ermittelt, welches Netz genutzt werden soll, als „Netzauswahl-Switch“ vorbereitet werden. Dieser Netzauswahl-Switch kann auch unter Nutzung eines neuronalen Netzes konfiguriert werden. In diesem Fall ist die Eingabe in die Eingangsschicht ein Bild, und die Ausgabe in der Ausgangsschicht ist eine Netznummer. Als Bilddatensatz werden ein Bild, das in allen Netzen genutzt wird, und eine Netznummer genutzt.
-
Es wird ein Beispiel für die Nutzung einer Vielzahl neuronaler Netze unter Nutzung von Steckverbindungen beschrieben. Die Anwendung dieser Technik ist jedoch nicht auf das Zusammenstecken von Verbindungselementen begrenzt. Dieses Verfahren ist praktisch zum Beispiel bei der Montage von IC-Chips auf einem Substrat und insbesondere bei der Einführung von Kondensatoren oder dergleichen mit Beinchen mit einem großen Maßfehler in Löcher eines Substrats anwendbar.
-
Dieses Verfahren, bei dem eine Vielzahl neuronaler Netze genutzt wird, ist nicht nur auf die Steuerung zur Einführung in Substrate anwendbar, sondern auch auf die Positionssteuerung im Allgemeinen, um von einer bekannten Beziehung zwischen Bildern und Steuerungsbeträgen einen Steuerungsbetrag abzuleiten. In der vorliegenden Offenbarung werden durch das neuronale Netz die Beziehungen zwischen Bildern und Steuerungsbeträgen gelernt; demzufolge können einzelne Differenzen in den Objekten bei der Durchführung der Ausrichtung der Objekte zugelassen werden, und die Steuerungsbeträge sind genau kalkulierbar.
-
In dem obigen Beispiel sind eine Abbildungseinheit 201, eine Steuerparametergenerierungseinheit 202, eine Steuereinheit 203 und eine Antriebseinheit 204 bereitgestellt. Die Abbildungseinheit 201 nimmt ein Bild auf, das zwei Objekte enthält. Die Steuerparametergenerierungseinheit 202 leitet Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, einer Eingangsschicht eines neuronalen Netzes zu und gibt einen Positionssteuerungsbetrag zum Steuern der Positionsbeziehung zwischen den zwei aufgenommenen Objekten als Ausgangsschicht des neuronalen Netzes aus. Die Steuereinheit 203 steuert den Strom bzw. die Spannung zum Steuern der Positionsbeziehung zwischen den zwei Objekten unter Nutzung des ausgegebenen Positionssteuerungsbetrags. Die Antriebseinheit 204 ändert eine Position eines der zwei Objekte unter Nutzung des Stroms bzw. der Spannung. Hierbei wählt die Steuerparametergenerierungseinheit 202 das neuronale Netz aus einer Vielzahl neuronaler Netze aus. Selbst wenn Differenzen zwischen Objekten oder Fehler in der Positionsbeziehung zwischen den zwei Objekten vorliegen, kann folglich eine genauere Ausrichtung erfolgen.
-
Ausführungsform 2
-
In der Ausführungsform 1 werden der Stecker 110 und die Buchse 120, deren Positionen bekannt sind, zusammengesteckt, und der Stecker 110 wird von der Greifeinheit 101 des Roboterarms 100 gegriffen. Dann bewegt sich die Greifeinheit 101 in der bekannten Richtung und zieht den Stecker bis zur Einführungsanfangsposition heraus, und die monokulare Kamera 102 nimmt eine Vielzahl von Bildern auf. In der Ausführungsform 2 wird ein Fall beschrieben, in dem die Zusammensteckposition des Steckers 110 und der Buchse 120 unbekannt ist.
-
Es wurde bereits ein Verfahren namens Reinforcement Learning untersucht, bei dem ein Roboter selbstständig lernt, sich eigene Aktionen anzueignen. Bei diesem Verfahren führt ein Roboter diverse Aktionen nach der Trial-and-Error-Methode durch, speichert die Aktion, die zu einem besseren Ergebnis führt, und erhält am Ende die optimierte Aktion. Zur Optimierung der Aktion sind leider sehr viele Versuche erforderlich.
-
Zu den Verfahren zur Verringerung der Anzahl von Versuchen gehört ein Rahmenverfahren namens „On Policy“, das allgemein im Bereich des Reinforcement Learning genutzt wird. Allerdings erfordert die Anwendung dieses Rahmenverfahrens auf das Teachen eines Roboterarms verschiedene speziell den Roboterarm und die Steuersignale betreffende Verbesserungen und hat bislang keinen Eingang in die Praxis gefunden.
-
In einer Konfiguration, die für die Ausführungsform 2 noch beschrieben wird, führt der Roboter, wie in der Ausführungsform 1 gezeigt, verschiedene Aktionen nach der Trial-and-Error-Methode durch, und die Aktion, die zu einem guten Ergebnis führt, wird gespeichert, wodurch nicht mehr so viele der momentan zum Optimieren der Aktion erforderlichen Versuche nötig sind.
-
Als Nächstes wird die Systemkonfiguration beschrieben. Was hier nicht beschrieben wird, ist genauso wie in der Ausführungsform 1. Die gesamte Hardwarestruktur ist genauso wie in 1 in der Ausführungsform 1, allerdings ist sie insofern anders, als der Roboterarm 100 mit einem Kraftsensor 801 (der in 1 nicht abgebildet ist) zum Messen der auf die Greifeinheit 101 aufgebrachten Last ausgestattet ist.
-
8 ist ein Funktionskonfigurationsdiagramm, das eine Positionssteuerungseinrichtung gemäß der Ausführungsform 2 zeigt. Der Unterschied zu 2 besteht darin, dass zusätzlich ein Kraftsensor 801 und eine Pfadermittlungseinheit 802 vorhanden sind, wobei die Pfadermittlungseinheit 802 eine Critic-Einheit 803, eine Actor-Einheit 804, eine Bewertungseinheit 805 und eine Pfadfestlegungseinheit 806 enthält.
-
9 ist ein Hardwarestrukturdiagramm, das die Positionssteuerungseinrichtung gemäß der Ausführungsform 2 zeigt. Der einzige Unterschied zu 3 besteht darin, dass der Kraftsensor 801 mit einer Eingabe/Ausgabe-Schnittstelle 301 elektrisch bzw. kommunikationsfähig verbunden ist. Zudem führen die Eingabe/Ausgabe-Schnittstelle 301, der Prozessor 302 und das Speicherelement 303 die Funktionen der Steuerparametergenerierungseinheit 202 und der Pfadermittlungseinheit 802, die in 8 gezeigt sind, durch. Der Kraftsensor 801, die monokulare Kamera 201 und die Eingabe/Ausgabe-Schnittstelle 301 können separate Körper sein, und die Eingabe/Ausgabe-Schnittstelle 301 und die Steuerschaltung 304 können separate Körper sein.
-
Als Nächstes wird 8 detailliert beschrieben.
-
Der Kraftsensor 801 misst die auf die Greifeinheit 101 des Roboterarms 100 aufgebrachte Last; er misst zum Beispiel den Wert der Kraft, die ausgeübt wird, wenn der Stecker 110 und die Buchse 120, die in 1 gezeigt sind, einander berühren.
-
Die Critic-Einheit 803 und die Actor-Einheit 804, S3, S4 entsprechen dem Critic und dem Actor beim herkömmlichen Reinforcement Learning.
-
Als Nächstes wird das herkömmliche Reinforcement-Learning-Verfahren beschrieben.
-
In der vorliegenden Ausführungsform wird ein Modell namens Actor-Critic-Modell beim Reinforcement Learning genutzt (Quelle: Reinforcement Learning: R. S. Sutton und A. G. Barto, veröffentlicht im Dez. 2000). Die Actor-Einheit 804 und die Critic-Einheit 803 erhalten über die Abbildungseinheit 201 und den Kraftsensor 801 einen Zustand einer Umgebung. Die Actor-Einheit 804 ist eine Funktion zum Empfangen des Umgebungszustands I, der durch die Sensoreinrichtung erhalten wird, und zum Ausgeben des Steuerungsbetrags A an die Robotersteuerung. Die Critic-Einheit 803 ist so konfiguriert, dass bewirkt wird, dass die Actor-Einheit 804 eine Ausgabe A für die Eingabe I entsprechend lernt, sodass das Zusammenstecken mit der Actor-Einheit 804 in der richtigen Weise gelingt.
-
Als Nächstes wird das herkömmliche Reinforcement-Learning-Verfahren beschrieben.
-
Beim Reinforcement Learning wird ein Betrag, der sich Belohnung R nennt, definiert, und die Actor-Einheit 804 eignet sich die Aktion A an, die die Belohnung R maximiert. Wenn beispielsweise der zu lernende Arbeitsvorgang das Zusammenstecken eines Steckers 110 und einer Buchse 120 ist, wie in der Ausführungsform 1 gezeigt, ergibt sich R = 1, sobald das Zusammenstecken erfolgreich war, und andernfalls R = 0. In diesem Beispiel gibt die Aktion A einen „Bewegungskorrekturbetrag“ zur momentanen Position (X, Y, Z, Ax, Ay, Az) an, wobei A = (dX, dY, dZ, dAx, dAy, dAz) gilt. Hier sind X, Y und Z Positionskoordinaten mit dem Mittelpunkt des Roboters als Ursprung; Ax, Ay und Az sind Beträge von Drehungen um die X-Achse, die Y-Achse bzw. die Z-Achse. Der „Bewegungskorrekturbetrag“ ist der Betrag für eine Bewegung von der momentanen Position bis zur Einführungsanfangsposition bei einem ersten Versuch einer Zusammensteckung mit dem Stecker 110. Der Umgebungszustand bzw. das Versuchsergebnis wird durch die Abbildungseinheit 201 und den Kraftsensor 801 überwacht und als ein Bild bzw. ein Wert davon erhalten.
-
Beim Reinforcement Learning lernt die Critic-Einheit
803 eine Funktion namens State Value Function V(I). Wenn hier etwa Zeit t = 1 (zum Beispiel wenn der erste Zusammensteckversuch unternommen wird) gilt, wird die Aktion A(1) im Zustand I(1) durchgeführt, wenn hingegen Zeit t = 2 gilt (zum Beispiel nach dem Ende des ersten Zusammensteckversuchs sowie vor dem Beginn des zweiten Zusammensteckversuchs), ändert sich die Umgebung in I(2), und es ergibt sich der Belohnungsbetrag R(2) (das Ergebnis des ersten Zusammensteckversuchs). Als Nächstes werden diverse beispielhafte Aktualisierungsformeln, die möglich sind, gezeigt. Die Aktualisierungsformel von V(I) ist wie folgt definiert.
-
Hier ist δ ein Prädiktionsfehler, α eine Lernrate, bei der es sich um eine positive reelle Zahl von 0 bis 1 handelt, und γ ein Abzugsfaktor, bei dem es sich um eine positive reelle Zahl von 0 bis 1 handelt. Die Actor-Einheit 804 aktualisiert A (I) wie folgt mit I als Eingabe und A (I) als Ausgabe.
-
Wenn δ > 0,
-
Wenn δ ≤ 0,
-
Hier bezeichnet σ die Standardabweichung der Ausgaben. Im Zustand I addiert die Actor-Einheit Zufallszahlen mit einer Verteilung mit dem Mittelwert 0 und der Dispersion σ2 zu A(I). Hierdurch wird der Bewegungskorrekturbetrag für den zweiten Versuch unabhängig vom Ergebnis des ersten Versuchs zufällig ermittelt.
-
Hierbei ist zu beachten, dass von den diversen Aktualisierungsformeln im Actor-Critic-Modell ein beliebiges der üblicherweise genutzten Modelle die Aktualisierungsformel, die oben beispielhaft gezeigt wird, ersetzen kann.
-
Bei einer solchen Konfiguration lernt die Actor-Einheit 804 die für jeden Zustand geeignete Aktion. Jedoch wird die Aktion, wie in der Ausführungsform 1 gezeigt, erst durchgeführt, wenn der Lernvorgang beendet ist. Während des Lernvorgangs kalkuliert die Pfadfestlegungseinheit 806 die empfohlene Aktion für den Lernvorgang und sendet sie an die Steuereinheit 203. Mit anderen Worten, während des Lernvorgangs empfängt die Steuereinheit 203 das Bewegungssignal so, wie es ist, von der Pfadfestlegungseinheit 806 und steuert die Antriebseinheit 204.
-
Hierdurch erfolgt das Lernen nach dem herkömmlichen Actor-Critic-Modell erst, wenn die Zusammensteckung erfolgreich ist, was bedingt ist durch die Definition, dass R = 1 für eine erfolgreiche Zusammensteckung und andernfalls R = 0 gilt, wobei die für die nachfolgenden Versuche zu nutzenden Bewegungskorrekturbeträge bis zu einer erfolgreichen Zusammensteckung zufällig bereitgestellt werden. Deshalb wird bis zu einer erfolgreichen Zusammensteckung das Ermitteln des Bewegungskorrekturbetrags für den nächsten Versuch abhängig von einem Grad des Fehlschlagens des Versuchs nicht durchgeführt. Selbst wenn andere Reinforcement-Learning-Modelle wie Q-Learning genutzt werden, werden ähnliche Ergebnisse wie bei der Nutzung herkömmlicher Actor-Critic-Modelle erzielt, denn es wird nur der Erfolg bzw. das Fehlschlagen der Zusammensteckung bewertet. In der vorliegenden Ausführungsform der Offenbarung wird ein Ermittlungsprozess beschrieben, bei dem der Grad des Fehlschlagens zum Kalkulieren des Bewegungskorrekturbetrags für den nächsten Versuch bewertet wird.
-
Die Bewertungseinheit 805 generiert eine Funktion zum Durchführen der Bewertung bei jedem Zusammensteckversuch. 10 zeigt den Stecker 110 und die Buchse 120 bei einem Zusammensteckversuch gemäß der Ausführungsform 2.
-
Angenommen, es wird ein Bild, wie in 10(A) gezeigt, als Ergebnis des Versuchs erhalten. Dieser Versuch ist fehlgeschlagen, da die Verbindungselemente in einer von der Zusammensteckposition stark abweichenden Position sind. Hier wird der Abstand zum Erfolg gemessen und quantifiziert, um einen Bewertungswert, der den Erfolgsgrad angibt, zu erhalten. Ein beispielhaftes Quantifizierungsverfahren besteht darin, dass der Flächeninhalt (die Anzahl der Pixel) des Verbindungselements, bei dem es sich um das Einführungszielteil in dem Bild, wie in 10 (B) gezeigt, handelt, kalkuliert wird. Wenn bei diesem Verfahren vom Kraftsensor 801 des Roboterarms 100 erkannt wird, dass das Einführen des Steckers 110 in die Buchse 120 fehlgeschlagen ist, falls nur die Auflagefläche der Buchse 120 eine Beschichtung oder einen Aufkleber mit einer Farbe, die anders ist als diejenige anderer Hintergrundflächen, aufweist, ist es einfacher, Daten aus dem Bild zu erfassen und die Kalkulation durchzuführen. Bei dem oben beschriebenen Verfahren wurde nur eine Kamera genutzt; jedoch kann auch eine Vielzahl ausgerichteter Kameras Bilder aufnehmen, und die aus jedem Bild abgeleiteten Ergebnisse können integriert werden.
-
Eine ähnliche Bewertung kann auch durchgeführt werden, indem statt des Flächeninhalts des Verbindungselements die Anzahl der Pixel in den zweidimensionalen Richtungen (in der X-Richtung und der Y-Richtung) erhalten wird.
-
Die Verarbeitung in der Pfadfestlegungseinheit 806 ist in zwei Schritte unterteilt.
-
Beim ersten Schritt lernt die Pfadfestlegungseinheit 806 das in der Bewertungseinheit 805 verarbeitete Bewertungsergebnis und die tatsächliche Bewegung des Roboters. Angenommen, der Bewegungskorrekturbetrag für den Roboter ist A und der durch die Bewertungseinheit 805 verarbeitete Bewertungswert, der den Erfolgsgrad angibt, ist E. Dann erstellt die Pfadfestlegungseinheit 806 eine Funktion mit A als Eingabe und E als Ausgabe zur Durchführung der Näherung. Die Funktion enthält zum Beispiel ein Radial-Basis-Function(RBF)-Netz. Die RBF ist bekannt als eine Funktion, mittels derer eine einfache Näherung verschiedener unbekannter Funktionen möglich ist.
-
Es wird zum Beispiel von der k. Eingabe wie folgt ausgegangen.
Dann ist die Ausgabe f(x) wie folgt definiert.
Hier bezeichnet σ die Standardabweichung; µ bezeichnet die RBF-Mitte.
-
Die von der RBF genutzten Lerndaten sind keine einzelnen Daten, sondern sämtliche Daten vom Beginn des Versuch bis zum letzten. Wenn der momentane Versuch zum Beispiel der N. Versuch ist, werden N Datensätze erstellt. Durch das Lernen muss W = (w_1, w_J), wie oben erwähnt, ermittelt werden. Von den verschiedenen Ermittlungsverfahren sei beispielhaft die RBF-Interpolation wie folgt dargestellt.
-
Angenommen, Formel 8 und Formel 9 lauten wie folgt.
-
Dann erfolgt das Lernen über die Formel 10.
-
Nachdem die Näherung über die RBF-Interpolation erfolgt ist, wird durch das RBF-Netz mittels eines allgemeinen Optimierungsverfahrens, etwa eines Gradientenabstiegs und einer Partikelschwarmoptimierung (PSO), der Mindestwert kalkuliert. Dann wird der Mindestwert als empfohlener Wert für den nächsten Versuch an die Actor-Einheit 804 übertragen.
-
Der obige Fall kann noch konkreter so erklärt werden, dass die Flächeninhalte bzw. die Anzahlen von Pixeln in der zweidimensionalen Richtung für die jeweiligen Bewegungskorrekturbeträge in einer Zeitreihe für jede Versuchsnummer als Bewertungswerte angeordnet und die angeordneten Werte dazu genutzt werden, um die optimale Lösung zu erhalten. Noch einfacher kann der Bewegungskorrekturbetrag erhalten werden, woraufhin eine Bewegung mit einer konstanten Geschwindigkeit in der Richtung, in der die Anzahl der Pixel in der zweidimensionalen Richtung abnimmt, ausgelöst wird.
-
Als Nächstes wird in 11 der Ablauf gezeigt.
-
11 ist ein Ablaufschema, das das Pfadlernen der Positionssteuerungseinrichtung gemäß der Ausführungsform 2 zeigt.
-
Zunächst greift beim Schritt S1101 die Greifeinheit 101 des Roboterarms 100 den Stecker 110. Die Position und die Lage des Steckers 110 werden in der Steuereinheit 203 in 8 vorregistriert, und der Vorgang wird gemäß dem in der Steuereinheit 203 vorregistrierten Steuerprogramm durchgeführt.
-
Als Nächstes wird der Roboterarm 100 beim Schritt S1102 näher zur Einführungsposition der Buchse 120 hin geführt. Die ungefähre Position und die ungefähre Lage der Buchse 110 werden in der Steuereinheit 203 in 8 vorregistriert, und die Position des Steckers 110 wird gemäß dem in der Steuereinheit 203 vorregistrierten Steuerprogramm gesteuert. Die Schritte bis hierhin entsprechen den Schritten S101 bis S102 in dem in 4 in der Ausführungsform 1 gezeigten Ablaufschema.
-
Beim Schritt S1103 weist die Pfadermittlungseinheit 802 die Abbildungseinheit 201 der monokularen Kamera 102 zum Aufnehmen eines Bilds an. Die monokulare Kamera 102 nimmt ein Bild auf, das sowohl den von der Greifeinheit 101 gegriffenen Stecker 110 als auch die Buchse 120, bei der es sich um das Einführungszielteil handelt, enthält. Außerdem weist die Pfadermittlungseinheit 802 die Steuereinheit 203 und die monokulare Kamera 102 zum Aufnehmen von Bildern in der Nähe der momentanen Position an. Die monokulare Kamera wird durch die Antriebseinheit 204 basierend auf Beträgen für eine Bewegung gemäß Anweisungen der Steuereinheit 203 zu einer Vielzahl von Positionen hin bewegt und nimmt an jeder Position ein Bild auf, das sowohl den Stecker 110 als auch die Buchse 120, bei der es sich um das Einführungszielteil handelt, enthält.
-
Beim Schritt S1104 stellt die Actor-Einheit 804 der Pfadermittlungseinheit 802 einen Betrag für eine Bewegung zum Anbringen an die Steuereinheit 203 bereit; die Steuereinheit 203 bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 derart bewegt, dass ein Versuch einer Zusammensteckung des Steckers 110 und der Buchse 120, bei der es sich um das Einführungszielteil handelt, erfolgen kann.
-
Beim Schritt S1105 speichern die Bewertungseinheit 805 und die Critic-Einheit 803 der Pfadermittlungseinheit 802, wenn die Verbindungselemente einander berühren, während der Roboterarm 100 durch die Antriebseinheit 204 bewegt wird, die vom Kraftsensor 801 erhaltenen Werte und die von der monokularen Kamera 102 erhaltenen Bilder pro Betrag einer Einheit der Bewegung.
-
Beim Schritt S1106 prüfen die Bewertungseinheit 805 und die Critic-Einheit 803, ob die Zusammensteckung erfolgreich war.
-
In den meisten Fällen ist die Zusammensteckung zu diesem Zeitpunkt nicht erfolgreich. Demzufolge bewertet die Bewertungseinheit 805 beim Schritt S1108 den Erfolgsgrad mittels des in 10 beschriebenen Verfahrens und liefert den Bewertungswert, der den Erfolgsgrad bei der Ausrichtung angibt, an die Pfadfestlegungseinheit 806.
-
Beim Schritt S1109 führt die Pfadfestlegungseinheit 806 den Lernvorgang mittels des oben erwähnten Verfahrens durch und übermittelt einen empfohlenen Wert für den nächsten Versuch an die Actor-Einheit 804. Die Critic-Einheit 803 kalkuliert einen Wert gemäß dem Belohnungsbetrag und gibt den Wert aus. Die Actor-Einheit 804 empfängt den Wert. Beim Schritt S1110 addiert die Actor-Einheit 804 den Wert, der gemäß dem Belohnungsbetrag erhalten und durch die Critic-Einheit 803 ausgegeben wird, und den empfohlenen Wert für den nächsten Versuch, der durch die Pfadfestlegungseinheit 806 ausgegeben wird, um den Bewegungskorrekturbetrag zu erhalten. Wenn aber allein der empfohlene Wert für den nächsten Versuch, der von der Pfadfestlegungseinheit 806 ausgegeben wird, zu einer hinreichenden Wirkung führen kann, muss bei diesem Schritt der Wert, der gemäß dem Belohnungsbetrag erhalten wird, nicht addiert werden. Außerdem kann die Actor-Einheit 804 beim Kalkulieren des Bewegungskorrekturbetrags ein Additionsverhältnis des empfohlenen Werts für den nächsten Versuch, der von der Pfadfestlegungseinheit 806 ausgegeben wird, zu dem Wert, der gemäß dem Belohnungsbetrag erhalten und durch die Critic-Einheit 803 ausgegeben wird, festlegen, wodurch der Bewegungskorrekturbetrag gemäß dem Belohnungsbetrag geändert werden kann.
-
Danach übermittelt die Actor-Einheit 804 beim Schritt S1111 den Bewegungskorrekturbetrag an die Steuereinheit 203, und die Steuereinheit 203 bewegt die Greifeinheit 101 des Roboterarms 100.
-
Danach wird bei dem Prozess zum Schritt 1103 zurückgekehrt, die Bilder werden an der Position, in die der Roboterarm 100 gemäß dem Bewegungskorrekturbetrag bewegt wird, aufgenommen, und danach wird der Zusammensteckvorgang durchgeführt. Diese Schritte werden so lange wiederholt, bis die Zusammensteckung erfolgreich ist.
-
Wenn die Zusammensteckung erfolgreich ist, lernen die Actor-Einheit 804 und die Critic-Einheit 803 beim Schritt S1107, in welchem Umgebungszustand I vom Schritt S1102 bis zum Schritt S1106 die Zusammensteckung erfolgreich ist. Schließlich übermittelt die Pfadermittlungseinheit 802 die gelernten Daten des neuronalen Netzes an die Steuerparametergenerierungseinheit 202, damit der Vorgang gemäß der Ausführungsform 1 durchgeführt werden kann.
-
Hierbei ist zu beachten, dass die Actor-Einheit 804 und die Critic-Einheit 803 beim Schritt S1107 lernen, in welchem Umgebungszustand I die Zusammensteckung erfolgreich ist; die Actor-Einheit 804 und die Critic-Einheit 803 lernen jedoch möglicherweise unter Nutzung der Daten, die für alle Zusammensteckversuche vom Beginn bis zum Erfolg der Zusammensteckung erhalten werden. In der Ausführungsform 1 wird ein Fall beschrieben, in dem eine Vielzahl neuronaler Netze gemäß dem Steuerungsbetrag gebildet wird. Wenn die zu einer erfolgreichen Zusammensteckung führende Position bekannt ist, ist es in diesem Zusammenhang möglich, eine Vielzahl geeigneter neuronaler Netze gemäß der Größe des Steuerungsbetrags gleichzeitig zu bilden.
-
Diese Beschreibung beruht auf dem Actor-Critic-Modell als Reinforcement-Learning-Modul, jedoch kann auch ein anderes Reinforcement-Learning-Modell wie Q-Learning genutzt werden.
-
Das RBF-Netz ist beispielhaft für die Näherungsfunktion, es kann aber auch ein anderes Näherungsfunktionsverfahren (lineare Funktion, quadratische Funktion etc.) genutzt werden.
-
Bei dem obigen beispielhaften Bewertungsverfahren wurde ein Verbindungselement mit einer Oberfläche genutzt, deren Farbe anders als diejenige von anderen Oberflächen war; jedoch kann für die Bewertung auch der unter Nutzung einer anderen Bildverarbeitungstechnik erhaltene Betrag für einen Unterschied zwischen Verbindungselementen oder dergleichen genutzt werden.
-
Wie für die Ausführungsform 1 und die vorliegende Ausführungsform angegeben, ist die Anwendung dieser Technik nicht auf das Zusammenstecken von Verbindungselementen begrenzt. Dieses Verfahren ist praktisch zum Beispiel bei der Montage von IC-Chips auf einem Substrat und insbesondere bei der Einführung von Kondensatoren oder dergleichen mit Beinchen mit einem großen Maßfehler in Löcher eines Substrats anwendbar.
-
Dieses Verfahren ist nicht nur auf die Steuerung zur Einführung in Substrate anwendbar, sondern auch auf die Positionssteuerung im Allgemeinen, um von einer bekannten Beziehung zwischen Bildern und Steuerungsbeträgen einen Steuerungsbetrag abzuleiten. In der vorliegenden Offenbarung werden durch das neuronale Netz die Beziehungen zwischen Bildern und Steuerungsbeträgen gelernt; demzufolge können einzelne Differenzen in den Objekten bei der Durchführung der Ausrichtung der Objekte zugelassen werden, und die Steuerungsbeträge sind genau kalkulierbar.
-
Gemäß der vorliegenden Ausführungsform kalkuliert die Actor-Einheit 804 bei einer Anwendung des Actor-Critic-Modells auf das Lernen der Steuerungsbeträge die Bewegungskorrekturbeträge für die Versuche, indem sie den Wert, der durch die Critic-Einheit 803 gemäß dem Belohnungsbetrag erhalten wird, und den empfohlenen Wert, der durch die Pfadfestlegungseinheit 806 basierend auf dem Bewertungswert erhalten wird, addiert. Demzufolge kann nach der vorliegenden Offenbarung die Anzahl der Versuche der Ausrichtung erheblich verringert werden, während hingegen für die herkömmlichen Actor-Critic-Modelle sehr viele Versuche und Irrtümer bis zur erfolgreichen Ausrichtung erforderlich sind.
-
Es ist zu beachten, dass in der vorliegenden Ausführungsform beschrieben wird, dass die Anzahl der Versuche der Ausrichtung durch Bewerten der Fehlausrichtungsbilder, die von der Abbildungseinheit 201 erhalten werden, verringert werden kann; jedoch kann die Anzahl der Versuche auch mittels der vom Kraftsensor 801 während der Ausrichtungsversuche erhaltenen Werte verringert werden. Zum Beispiel erfolgt bei der Zusammensteckung von Verbindungselementen oder bei der Ausrichtung von zwei Objekten, die eine Einführung enthält, die Erkennung eines Fehlschlagens üblicherweise derart, dass, wenn der vom Kraftsensor 801 erhaltene Wert einen Grenzwert überschreitet, die Actor-Einheit 804 prüft, ob die zwei Objekte in einer Position sind, in der eine Zusammensteckung bzw. eine Einführung ganz erfolgt ist. In einem solchen Fall sind folgende Fälle denkbar. Einer dieser Fälle ist ein Fall, in dem die Zusammensteckung bzw. die Einführung nicht ganz erfolgt ist (Fall A), und ein anderer dieser Fälle ist ein Fall, in dem die Zusammensteckung bzw. die Einführung zwar ganz erfolgt ist, jedoch während der Zusammensteckung bzw. der Einführung mit dem vom Kraftsensor 801 erhaltenen Wert ein bestimmter Wert erreicht worden ist (Fall B).
-
Im Fall A kann mittels eines Verfahrens vorgegangen werden, bei dem ein Lernvorgang sowohl mit dem Wert vom Kraftsensor 801 als auch mit dem Bild erfolgt. Dies wird in der Ausführungsform 3 detailliert beschrieben.
-
Im Fall B kann mittels eines Verfahrens vorgegangen werden, bei dem ein Lernvorgang nur mit dem Wert vom Kraftsensor 801, der in der Ausführungsform 3 beschrieben wird, erfolgt. Eine ähnliche Wirkung kann erzielt werden, wenn ein anderes Verfahren genutzt wird, bei dem die Belohnung R des Actor-Critic-Modells so definiert ist, dass zum Zeitpunkt des Erfolgs R = (1- A / F) und zum Zeitpunkt des Fehlschlagens R = 0 gilt. Hierbei ist F die maximale Last, die während der Zusammensteckung bzw. der Einführung aufgebracht wird, und A ist eine positive Konstante.
-
Ausführungsform 3
-
In der vorliegenden Ausführungsform wird ein Verfahren zu einer effizienten Datenerfassung beim Lernprozess beschrieben, das nach einer erfolgreichen Ausrichtung in der Ausführungsform 2 durchgeführt wird. Es wird davon ausgegangen, dass das, was hier nicht konkret erwähnt wird, genauso wie in der Ausführungsform 2 ist. Folglich wird, was die Positionssteuerungseinrichtung gemäß der Ausführungsform 3 betrifft, in 8 das Funktionskonfigurationsdiagramm gezeigt, während in 9 das Hardwarestrukturdiagramm gezeigt wird.
-
Was die Aktion betrifft, wird unten ein Verfahren zu einer effizienteren Lerndatenerfassung bei dem Vorgang beim Schritt S1107 in 11 in der Ausführungsform 2 beschrieben.
-
12 ist ein Ablaufschema, das einen Pfadlernprozess der Positionssteuerungseinrichtung gemäß der Ausführungsform 3 zeigt.
-
Wenn die Zusammensteckung des Steckers 110 und der Buchse 120 beim Schritt S1107 von 11 erfolgreich ist, initialisiert die Pfadfestlegungseinheit 806 beim Schritt S1201 zunächst die Variablen mit i = 0, j = 1 und k = 1. Hierbei gibt die Variable i die Anzahl der Lernvorgänge für den Roboterarm 100 im Anschluss an, die Variable k gibt die Anzahl der Lernvorgänge nach dem Lösen der Steckverbindung des Steckers 110 und der Buchse 120 an; und die Variable j gibt die Schleifenanzahl in dem in 12 gezeigten Ablaufschema an.
-
Als Nächstes übermittelt die Pfadfestlegungseinheit 806 beim Schritt S1202 einen Betrag für eine Bewegung über die Actor-Einheit 804 an die Steuereinheit 203 zu einer Zurückziehung um 1 mm aus einem Zustand, der durch den beim Schritt S1104 in 11 zur Zusammensteckung bereitgestellten Betrag für eine Bewegung bewirkt wird, und bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 entsprechend zurückbewegt. Dann wird die Variable i um eins inkrementiert. Hierbei wird der Betrag für eine Bewegung zu einer Zurückziehung um 1 mm bereitgestellt, jedoch ist der Abstand nicht auf 1 mm begrenzt, sondern kann auch 0,5 mm, 2 mm etc. betragen.
-
Beim Schritt S1203 speichert die Pfadfestlegungseinheit 806 die momentanen Koordinaten als O(i) (zu diesem Zeitpunkt i = 1).
-
Beim Schritt S1204 generiert die Pfadfestlegungseinheit 806 einen zufälligen Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) vom Punkt O(i) und übermittelt den generierten zufälligen Betrag für eine Bewegung über die Actor-Einheit 804 an die Steuereinheit 203. Dann bewegt die Antriebseinheit 204 entsprechend den Roboterarm 100. Hierbei kann ein beliebiger Betrag in dem Bereich, in dem sich der Roboterarm 100 bewegen kann, als Bewegungshöchstbetrag festgelegt werden.
-
Beim Schritt S1205 erfasst die Actor-Einheit 804 an der beim Schritt S1204 erreichten Position den durch den Kraftsensor 801 erhaltenen Wert, der mit dem zufälligen Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) korrespondiert. Beim Schritt S1206 werden von der Critic-Einheit 803 und der Actor-Einheit 804 als Lerndatensatz der Wert (-ΔX, -ΔY, -ΔZ, -ΔAx, -ΔAy, -ΔAz), nämlich der Bewegungswert multipliziert mit -1, und der Sensorwert des Kraftsensors 801, der die Kraft zum Halten des Steckers 110 misst, aufgezeichnet.
-
Beim Schritt S1207 beurteilt die Pfadfestlegungseinheit 806, ob die Anzahl der erfassten Datensätze die vorher ermittelte Anzahl J erreicht hat. Wenn die Anzahl der Datensätze darunter liegt, wird beim Schritt S1208 die Variable j um eins inkrementiert, und nach einer Rückkehr zum Schritt S1204 wird der Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) mittels einer beliebigen Zufallszahl aktualisiert, um einen weiteren Datensatz zu erhalten. Demzufolge werden die Schritte S1204 bis S1207 so lange wiederholt, bis die Anzahl der Datensätze die vorher ermittelte Anzahl J erreicht.
-
Sobald die Anzahl der Datensätze die vorher ermittelte Anzahl erreicht, setzt die Pfadfestlegungseinheit 806 die Variable j beim Schritt S1209 auf eins und prüft beim Schritt S1210, ob die Steckverbindung des Steckers 110 und der Buchse 120 gelöst ist.
-
Wenn sie nicht gelöst ist, wird bei dem Prozess über den Schritt S1211 zum Schritt S1202 zurückgekehrt.
-
Beim Schritt S1211 übermittelt die Pfadfestlegungseinheit 806 den Betrag für eine Bewegung über die Actor-Einheit 804 an die Steuereinheit 203, sodass wieder die Koordinaten des Roboterarms 100 bei O(i) vorliegen, also die Koordinaten vor der Übermittlung der zufälligen Beträge für eine Bewegung. Dann bewegt die Antriebseinheit 204 entsprechend den Roboterarm 100.
-
Danach wird die Schleife vom Schritt S1202 bis zum Schritt S1210 erneut durchlaufen; das heißt, die zwei folgenden Prozesse werden so lange wiederholt, bis die Steckverbindung des Steckers 110 und der Buchse 120 gelöst ist: der Prozess, bei dem eine Zurückziehung um 1 mm oder einen anderen Abstand aus einem Zustand, der durch den zur Zusammensteckung bereitgestellten Betrag für eine Bewegung bewirkt wird, und eine entsprechende Zurückziehung des Roboterarms 100 erfolgen; und ein Prozess, bei dem die zufälligen Beträge für eine Bewegung aus der Position nach der Zurückziehung bereitgestellt und Daten des Kraftsensors 801 an dieser Stelle erfasst werden. Sobald die Steckverbindung des Steckers 110 und der Buchse 120 gelöst wurde, wird bei dem Prozess zum Schritt S1212 übergegangen.
-
Beim Schritt S1212 setzt die Pfadfestlegungseinheit 806 den Wert der Variablen i auf I, wobei I eine ganze Zahl ist, die größer als der Wert der Variablen i ist, wenn ermittelt wird, dass die Steckverbindung des Steckers 110 und der Buchse 120 gelöst ist. Die Pfadfestlegungseinheit 806 übermittelt dann mit der Steuereinheit 203 über die Actor-Einheit 804 einen Betrag für eine Bewegung zu einer Zurückziehung um 10 mm (wobei keine Begrenzung auf diesen Wert besteht) aus dem Zustand, der durch den zur Zusammensteckung bereitgestellten Betrag für eine Bewegung bewirkt wird, und bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 entsprechend zurückbewegt.
-
Beim Schritt S1213 speichert die Pfadfestlegungseinheit 806 die Koordinaten der Position, in die sich der Roboterarm 100 beim Schritt S1212 bewegt hat, als die Koordinaten der Mittelposition O (i + k).
-
Beim Schritt S1214 generiert die Pfadfestlegungseinheit 806 einen zufälligen Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) von der Mittelposition O(i+k) und übermittelt den generierten zufälligen Betrag für eine Bewegung über die Actor-Einheit 804 an die Steuereinheit 203. Dann bewegt die Antriebseinheit 204 entsprechend den Roboterarm 100.
-
Beim Schritt S1215 erhalten die Critic-Einheit 803 und die Actor-Einheit 804 das Bild, das durch die Abbildungseinheit 201 der monokularen Kamera 102 an der Position des Roboterarms 100, der sich um den zufälligen Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) bewegt hat, aufgenommen wurde.
-
Beim Schritt S1216 werden von der Critic-Einheit 803 und der Actor-Einheit 804 der Betrag (-ΔX, -ΔY, -ΔZ, -ΔAx, -ΔAy, -ΔAz), der durch Multiplizieren des zufälligen Betrags für eine Bewegung mit -1 erhalten wird, und das aufgenommene Bild als Lerndatensatz aufgezeichnet.
-
Beim Schritt S1217 prüft die Pfadfestlegungseinheit 806, ob die Anzahl der erfassten Datensätze die vorher ermittelte Anzahl J erreicht hat. Wenn die Anzahl der Datensätze darunter liegt, wird beim Schritt S1212 die Variable j um eins inkrementiert, und bei dem Prozess wird zum Schritt S1214 zurückgekehrt. Die Pfadfestlegungseinheit 806 ändert den Betrag für eine Bewegung (ΔX, ΔY, ΔZ , ΔAx, ΔAy, ΔAz) zufällig und erhält einen weiteren Datensatz für eine Bewegung. Die Schritte S1214 bis S1217 werden so lange wiederholt, bis die Anzahl der Datensätze die vorher ermittelte Anzahl J erreicht.
-
Hierbei ist zu beachten, dass der zufällige Höchstbetrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) bei S1204 und der zufällige Höchstbetrag für eine Bewegung bei S1204 möglicherweise unterschiedlich sind.
-
Die Actor-Einheit 804 und die Critic-Einheit 803 führen den Lernvorgang unter Nutzung der Lerndatensätze durch, die durch das oben beschriebene Verfahren erhalten werden.
-
13 ist ein Schema, das ein beispielhaftes neuronales Netz und die Lernregel des neuronalen Netzes gemäß der Ausführungsform 3 zeigt.
-
In den Ausführungsformen 1 und 2 wird nicht das Lernverfahren beschrieben, bei dem die durch den Kraftsensor 801 erhaltenen Daten genutzt werden. In den Ausführungsformen 1 und 2 werden nur die Bilder für die Eingangsschicht genutzt, dahingegen können in der Ausführungsform 3 statt der Bilder die Werte, die durch den Kraftsensor 801 erhalten werden, der Eingangsschicht zugeleitet werden. Vom Kraftsensor 801 werden möglicherweise drei Werte (eine Kraft und Momente um zwei Richtungen) oder sechs Werte (Kräfte in drei Richtungen und Momente um drei Richtungen) bereitgestellt. Der Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) wird in der Ausgangsschicht ausgegeben. Hierbei ist zu beachten, dass, sobald die Steckverbindung des Steckers 110 und der Buchse 120 gelöst wurde, sowohl die Bilder als auch die Werte, die durch den Kraftsensor 801 erhalten werden, der Eingangsschicht gleichzeitig zugeleitet werden.
-
Bei dem Lernprozess des neuronalen Netzes werden die Parameter der verdeckten Schicht so optimiert, dass die Ausgangswerte der Ausgangsschicht die Steuerungsbeträge nähern; hierbei werden die Ausgangswerte von den Eingangsbildern und den Werten vom Kraftsensor 801 über die verdeckte Schicht abgeleitet, und die Steuerungsbeträge werden mit ihren jeweiligen Bildern und ihren jeweiligen Werten vom Kraftsensor 801 gespeichert. Schließlich übermittelt die Pfadermittlungseinheit 802 die gelernten Daten des neuronalen Netzes an die Steuerparametergenerierungseinheit 202, damit der Vorgang gemäß der Ausführungsform 1 durchgeführt werden kann.
-
Der Beschreibung der vorliegenden Ausführungsform liegen folgende Annahmen zugrunde. Um den Lernvorgang durchzuführen, bewegt sich der Roboterarm 100 nach und nach von der Zusammensteckposition des Steckers 110 und der Buchse 120 nach hinten und bewegt sich dann ein wenig zu den Randpositionen hin, wobei der Lernvorgang abhängig von der Anzahl der Pixel des Bilds der monokularen Kamera 102 erst dann in zufriedenstellender Weise erfolgen kann, wenn die Steckverbindung gelöst wurde. Wenn jedoch die monokulare Kamera 102 Bilder mit einer hinreichend hohen Auflösung erzeugt und der Lernvorgang mithin in zufriedenstellender Weise erfolgen kann und hierbei die Bilder genutzt werden, die erhalten werden, wenn sich der Roboterarm 100 ein wenig zu den Randpositionen hin bewegt, kann der Lernvorgang allein unter Nutzung der durch die monokulare Kamera 102 gelieferten Bilder erfolgen. Außerdem können sowohl die Bilder der monokularen Kamera 102 als auch die vom Kraftsensor 801 erhaltenen Werte selbst dann genutzt werden, wenn der Stecker 110 und die Buchse 120 im zusammengesteckten Zustand sind.
-
In den Ausführungsformen 1 und 2 wird ein Fall beschrieben, in dem eine Vielzahl neuronaler Netze genutzt wird. Ebenso können in der vorliegenden Ausführungsform zum Beispiel unterschiedliche neuronale Netze genutzt werden, wenn der Stecker 110 und die Buchse 120 zusammengesteckt sind oder auch wenn diese nicht zusammengesteckt sind. Wie oben beschrieben, ist der Lernvorgang genauer, wenn die Werte vom Kraftsensor 801 dazu genutzt werden, um die Eingangsschicht zu bilden, wenn der Stecker 110 und die Buchse 120 zusammengesteckt sind, und wenn die Bilder dazu genutzt werden, um die Eingangsschicht zu bilden, wenn die Steckverbindung gelöst ist. Ferner ist selbst dann, wenn nur die Bilder zum Lernen genutzt werden, der Lernvorgang genauer, wenn die Verarbeitung für den zusammengesteckten Zustand und die Verarbeitung für den gelösten Zustand getrennt voneinander erfolgen, weil die Konfiguration der mit jedem Zustand korrespondierenden Bilder jeweils anders ist.
-
Wie für die Ausführungsformen 1 und 2 angegeben, ist die Anwendung dieser Technik nicht auf das Zusammenstecken von Verbindungselementen begrenzt. Dieses Verfahren ist praktisch zum Beispiel bei der Montage von IC-Chips auf einem Substrat und insbesondere bei der Einführung von Kondensatoren oder dergleichen mit Beinchen mit einem großen Maßfehler in Löcher eines Substrats anwendbar.
-
Dieses Verfahren ist nicht nur auf die Steuerung zur Einführung in Substrate anwendbar, sondern auch auf die Positionssteuerung im Allgemeinen, um von einer bekannten Beziehung zwischen Bildern und Steuerungsbeträgen einen Steuerungsbetrag abzuleiten. In der vorliegenden Offenbarung werden durch das neuronale Netz die Beziehungen zwischen Bildern und Steuerungsbeträgen gelernt; demzufolge können einzelne Differenzen in den Objekten bei der Durchführung der Ausrichtung der Objekte zugelassen werden, und die Steuerungsbeträge sind genau kalkulierbar.
-
In der vorliegenden Ausführungsform sind für den Fall, dass Vorgänge durchgeführt werden, die eine Ausrichtung und eine Einführung von zwei Objekten enthalten, eine Pfadfestlegungseinheit 806 und eine Actor-Einheit 804 zum Lernen eines Steuerungsbetrags vorgesehen. Die Pfadfestlegungseinheit 806 liefert den Betrag für eine Bewegung zum Entfernen eines Objekts aus seiner Einführungsposition und zu seiner Lokalisierung auf und um den Entfernungsweg. Die Actor-Einheit 804 erhält Positionen des Objekts und die Werte eines Kraftsensors 801 an dieser Stelle, um einen Lernvorgang durchzuführen, indem sie zulässt, dass die Positionen des Objekts die Werte für die Ausgangsschicht sind und die Werte des Kraftsensors 801 die Werte für die Eingangsschicht sind. Folglich können Lerndaten effizient erfasst werden.
-
Bezugszeichenliste
-
- 100:
- Roboterarm
- 101:
- Greifeinheit
- 102:
- monokulare Kamera
- 110:
- Stecker
- 120:
- Buchse
- 201:
- Abbildungseinheit
- 202:
- Steuerparametergenerierungseinheit
- 203:
- Steuereinheit
- 204:
- Antriebseinheit
- 301:
- Eingabe/Ausgabe-Schnittstelle
- 302:
- Prozessor
- 303:
- Speicherelement
- 304:
- Steuerschaltung
- 305:
- Motor
- 801:
- Kraftsensor
- 802:
- Pfadermittlungseinheit
- 803:
- Critic-Einheit
- 804:
- Actor-Einheit
- 805:
- Bewertungseinheit
- 806:
- Pfadfestlegungseinheit
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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.
-
Zitierte Patentliteratur
-