DE19781682B4 - Präzisionsvorrichtung mit nicht-steifer, nicht-präziser Struktur und Verfahren zum Betreiben derselben - Google Patents

Präzisionsvorrichtung mit nicht-steifer, nicht-präziser Struktur und Verfahren zum Betreiben derselben Download PDF

Info

Publication number
DE19781682B4
DE19781682B4 DE19781682A DE19781682A DE19781682B4 DE 19781682 B4 DE19781682 B4 DE 19781682B4 DE 19781682 A DE19781682 A DE 19781682A DE 19781682 A DE19781682 A DE 19781682A DE 19781682 B4 DE19781682 B4 DE 19781682B4
Authority
DE
Germany
Prior art keywords
signal
control signal
learned
manipulator
space curve
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.)
Expired - Lifetime
Application number
DE19781682A
Other languages
English (en)
Other versions
DE19781682T1 (de
Inventor
Stephen Lang Dickerson
Wayne J. Book
Nader Sadegh
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.)
Georgia Tech Research Institute
Georgia Tech Research Corp
Original Assignee
Georgia Tech Research Institute
Georgia Tech Research Corp
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 Georgia Tech Research Institute, Georgia Tech Research Corp filed Critical Georgia Tech Research Institute
Application granted granted Critical
Publication of DE19781682B4 publication Critical patent/DE19781682B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37563Ccd, tv camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37565Camera to detect precisely, crosshair, positions on workpiece by operator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37572Camera, tv, vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41116Compensation for instability
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41117Cancel vibration during positioning of slide
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41144Element used such as low pass filter to cut resonance at non needed regions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41423Noise filter as function of rate of displacement, speed, for stabilisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S700/00Data processing: generic control systems or specific applications
    • Y10S700/90Special robot structural element

Abstract

Vorrichtung zum Erreichen von Präzisionsbewegung, mit
einer Trägerstruktur, die einen Grad von Nachgiebigkeit aufweist;
einem Manipulator, der innerhalb der Trägerstruktur vorgesehen ist, wobei der Manipulator zu einer gesteuerten Bewegung relativ zu einem festen Punkt in der Lage ist, wobei der Grad von Nachgiebigkeit eine äußere Verschiebung des Manipulators relativ zu dem festen Punkt hervorrufen kann, wobei die äußere Verschiebung einen größeren Wert haben kann als eine vorgegebene Positionstoleranz;
einem auf ein Steuersignal reagierenden Motor, der die gesteuerte Bewegung des Manipulators verursacht; und
einem Steuersystem, das das Steuersignal erzeugt und dadurch den Manipulator innerhalb der vorgegebenen Positionstoleranz positioniert,
wobei das Steuersignal ein digitales Signal mit einer ersten Abtastrate ist;
dadurch gekennzeichnet, dass das Steuersystem weiterhin ein Lernmodul (465) aufweist, das ein Gelernte-Versuche-Signal (473) erzeugt, welches bei einer sich wiederholenden gesteuerten Bewegung wiederholt auftretende Fehler kompensiert, wobei das Lernmodul:
ein reduziertes Steuersignal mit einer zweiten...

Description

  • TECHNISCHES GEBIET
  • Die Erfindung bezieht sich auf eine Vorrichtung zum Erreichen von Präzisionsbewegung mit den Merkmalen des Oberbegriffs des unabhängigen Patentanspruchs 1 und auf ein Verfahren zum Steuern einer sich wiederholenden Bewegung eines Manipulators mit den Merkmalen des Oberbegriffs des unabhängigen Patentanspruchs 12
  • HINTERGRUND DER ERFINDUNG
  • Viele Industrien, in denen fertige Produkte aus Komponenten zusammengebaut werden, haben binnen der letzten Dekade Verwendung von Robotorzusammenbaumaschinen gemacht. Die Verwendung von Robotern hat sich bei vielen verschiedenen Anwendungen verbreitet, die vom Automobilbau bis zum Zusammenbau von elektronischen Schaltkreisen und vielen anderen Konsumgütern reichen. Im Allgemeinen sind Roboterzusammenbaumaschinen traditionell sehr teuer und schwer gewesen, aufgrund der Präzisions-, Genauigkeits- und Dauerlastzyklusanforderungen, die an Sie gestellt werden. Viele Roboterzusammenbaumaschinen haben einen Auslegerarm, der herumschwingen kann, um Komponenten zu ergreifen, und dann zurückschwingen kann, um die Komponenten an dem Produkt zu installieren, das zusammengebaut wird. Einige Maschinen sind "blind", indem sie programmiert sind, sich in einer bestimmten präzisen Weise zu bewegen, ohne jegliche Rückkopplung bezüglich des Orts der Komponenten, an denen sie arbeiten. Bei diesen Maschinen muss sowohl ihre Präzision als auch die Präzision und Anordnung der Komponententeile und der Produkte, die Zusammengebaut werden, hoch sein und sorgfältig kontrolliert werden. Anderenfalls wird der Roboter eine Komponente verfehlen oder die Komponente falsch an dem fertigen Produkt platzieren.
  • Das Bedürfnis nach kostengünstigen, aber genauen und verlässlichen Roboterzusammenbaumaschinen ist ein Resultat einfacher ökonomischer Überlegungen. Wenn amerikanische Hersteller Produkte zusammenbauen, stehen sie im Allgemeinen in einem Weltmarkt im Wettbewerb, der häufig einen effektiven Lohnsatz von weniger als 5 USD pro Tag hat, einschl. Zusatzleistungen und allgemeinen Betriebskosten. So kann es in einigen Fällen ökonomischer sein, mehrere Drittweltarbeiter einzustellen, um die Arbeit eines Roboters zu tun. Wenn jedoch solche Roboter relativ kostengünstig, aber dennoch mit Betriebspräzision, -genauigkeit, -geschwindigkeit und -zuverlässigkeit ähnlich der Leistungsfähigkeit von teureren Robotern hergestellt werden könnten, würden viele Zusammenbaumärkte, auf denen Roboter nicht umsetzbar gewesen sind, für die Verwendung solcher Roboter offen werden. Im Allgemeinen würden Maschinenkosten von 20.000,00 USD oder weniger als ein gutes Ziel für einen Allzweckzusammenbauroboter angesehen.
  • Aus der DE 36 35 076 A1 sind eine Vorrichtung mit den Merkmalen des Oberbegriffs des unabhängigen Patentanspruchs 1 und ein Verfahren mit den Merkmalen des Oberbegriffs des unabhängigen Patentanspruchs 12 bekannt, indem eine Roboteranlage mit einem oder mehreren Manipulatorarmen und einer Sensorik zur Lage- und Bewegungskontrolle sowie Sensoren zur 2D-Mustererkennung mit zugeordneter Steuer- und Auswerteelektronik beschrieben werden. Mittels einer nachführbaren CCD-Kamera mit Zoom-Objektiv und zusätzlichem Laserradar mit 3D-Bildkorrelation wird eine stark vereinfachte Mustererkennung ermöglicht, so dass die Rückwirkung der manipulierten Objekte auf die Manipulatorarm laufend kontrolliert und diese dadurch in Leichtbauweise ausgeführt werden können.
  • Aus der DE 41 11 354 A1 ist eine Einrichtung zur Führung des Endeffektors eines Roboters längs einer Sollbahn bekannt, bei der Mittel zur Vorgabe von Bahnparametern der Sollbahn und Mittel zur Bildung von arbeitsraumbezogenen, z. B. kartesischen, Führungsgrößen, aus den die Sollbahn definierenden Bahnparametern vorgesehen sind. Die Führungsgrößen sind auf einen Roboterregler aufgeschaltet. Dieser schaltet seinerseits Stellgrößen auf Momentengeber des Roboters auf. Durch eine Rückführschleife ist der Ist-Zustand des Roboters auf die Eingangsseite des Roboterreglers rückführbar. Der Roboterregler enthält wenigstens ein trainierbares, neuronales Netzwerk. Auf ein prädiktives Robotermodell ist von einem mit wenigstens einem neuronalem Netzwerk aufgebauten, mit den Führungsgrößen beaufschlagten Regler eine "geplante Stellgröße" aufschaltbar. Durch das Robotermodell ist ein prädizierter Zustand berechenbar. Der prädizierte Zustand wird durch das neuronale Netzwerk des besag ten Rechners mit dem Ist-Zustand des Roboters verglichen. Das neuronale Netzwerk des besagten Reglers enthält Mittel zur Beeinflussung dieses neuronalen Netzwerks nach Maßgabe der Abweichung zwischen prädiziertem Zustand und Ist-Zustand des Roboters.
  • AUFGABE
  • So ist zu sehen, dass ein fortgesetztes Bedürfnis nach kostengünstigen Maschinen mit ungenauen Konstruktions- und geringen Gewichtserfordernissen besteht, die dennoch den Zusammenbau mit hoher Präzision und hoher Geschwindigkeit ausführen. Es ist die Bereitstellung solch einer Roboterzusammenbaumaschine, auf die diese Erfindung primär gerichtet ist, die vorliegende Erfindung ist jedoch auf jeden Typ von Anwendungen anwendbar, so wie Maschinenoperationen, Bearbeitung oder andere Prozesse mit gesteuerter Bewegung.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Aufgabe der Erfindung wird durch eine Vorrichtung mit den Merkmalen des unabhängigen Patentanspruchs 1 und durch ein Verfahren mit den Merkmalen des unabhängigen Patentanspruchs 12 gelöst. Bevorzugte Ausführungsformen der neuen Vorrichtung und des neuen Verfahrens sind in den abhängigen Ansprüchen definiert.
  • Kurz beschrieben stellt die Erfindung eine nicht-steife Präzisionsplazierungsmaschine und ein Verfahren zum Zusammenbauen von Komponenten zu einem fertigen Produkt bereit. Die Maschine weist einen Überkopflinearmotor oder ein äquivalentes Bahnan triebssystem auf, an dem ein verfahrbarer Kopf gelagert ist. Der Kopf kann den Linearmotor entlang an einen gewünschten Ort verfahren werden. Eine Palette, auf der das Produkt, das zusammengebaut wird, positioniert ist, ist auf Schienen angeordnet, die sich unter dem Linearmotor und dem Kopf erstrecken. Die Spuren erstrecken sich rechtwinklig zu der Bewegung des Kopfs. Der Kopf ist vorgesehen, den Linearmotor entlang in der x-Richtung bewegt zu werden, und die Palette ist vorgesehen, die Schienen entlang in einer y-Richtung bewegt zu werden. Der Kopf ist, falls notwendig, auch mit einer Auf- und Ab- bzw. z-Richtungsbewegungsmöglichkeit versehen.
  • Eine Mehrzahl von Teile- oder Komponententrägern bzw. -zuführern sind auf beiden Seiten der Spuren unterhalb des Linearmotors angeordnet. Der Kopf ist ausgebildet, die Spur entlang bewegt zu werden, um ein bestimmtes Teiletablett zu überlagern, ein Teil von dem Tablett aufzunehmen und in eine Position oberhalb der Palette zurückzukehren, wo der Kopf das Teil an dem Produkt, das zusammengebaut wird, installiert. Um die erforderliche Präzision der Antriebe und Spuren zu reduzieren, macht die Erfindung Verwendung von integrierten Sichteinheiten, die unter Verwendung von Abbildungseinrichtungen die relativen Positionen des Kopfes, der Komponenten und des Produkts, das zusammengebaut wird, beurteilen. Da die Komponenten, die von dem Kopf aufgenommen und getragen werden, direkt unterhalb des Kopfes selbst aufgehängt sind, kann die gesamte Anordnung weiterhin leichter gemacht werden, als traditionelle Roboter mit Schwenkarmen. Zusätzlich ist die Verstärkung oder Akkumulation von Bewegungsfehlern, die bei einem langen Roboterarm inhärent ist, bei der vorliegenden Erfindung praktisch eliminiert.
  • Zusätzlich wird die offenbarte Vorrichtung durch ein Rechnersteuerungssystem gesteuert, das nach Steuersoftware arbeitet. Die Steuersoftware umfaßt ein Modul für die Bewegungsraumkurvenerzeugung sowie ein Modul für das Filtern der Bewegungs raumkurve, um ungewollte Systemdynamiken zu minimieren. Es ist auch ein Lernmodul umfaßt, das es dem System erlaubt, sich an wiederholte Fehler zu adaptieren, die in wiederholten Bewegungen auftreten. Die vorliegende Erfindung umfaßt Vorrichtungen und Verfahren, bei denen die obigen Module implementiert sind.
  • So ist jetzt eine stark verbesserte Roboterzusammenbaumaschine bereitgestellt, die leichter ist, weniger Maschinenpräzision erfordert, weniger kostspielig ist und die dennoch genauso genau und zuverlässig ist wie schwere kostspielige Zusammenbauroboter nach dem Stand der Technik. Außerdem erlaubt die vorliegende Erfindung den Betrieb mit einer vergrößerten Bandbreite bei kleinerem Fehler als er bei konventionellen Steuersystemen beobachtet wird.
  • Diese und andere Merkmale, Objekte und Vorteile der Erfindung werden deutlicher werden bei der Durchsicht der detaillierten Beschreibung, die unten ausgeführt ist, in Verbindung mit den beigefügten Zeichnungen, die wiefolgt kurz beschrieben werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung kann besser verstanden werden bei Bezugnahme auf die folgenden Zeichnungen. Die Komponenten in den Zeichnungen sind nicht notwendiger Weise maßstabsgetreu, Betonung ist stattdessen darauf gelegt, die Prinzipien der vorliegenden Erfindung klar zu illustrieren. In den Zeichnungen bezeichnen gleiche Bezugszeichen durch die verschiedenen Ansichten hindurch sich entsprechende Teile.
  • 1 ist eine schematische Ansicht der nicht-steifen Präzisionsplazierungsmaschine mit nicht-präziser Struktur und des Steuersystems der bevorzugten Ausführungsform;
  • 2 ist eine Ansicht von oben auf die Maschine gemäß 1;
  • 3 ist eine perspektivische Ansicht der Trägerstruktur mit dem Kopf und dem Balken der bevorzugten Ausfüh rungsform der Maschine gemäß 1;
  • 4 ist eine teilweise Explosionsansicht des Kopfs, wie er an dem in 3 gezeigten Balken befestigt ist;
  • 5 ist eine Seitenansicht der Kopf- und Balkenanordnung gemäß 4, die weiterhin den Enkoder, die Lager und den Linearmotor umfaßt;
  • 6 ist eine Ansicht der z-Platte und der Kopf- und Balkenanordnung gemäß 5;
  • 7 ist eine Ansicht der z-Platte, die an dem Kopf gemäß 6 befestigt ist;
  • 8 ist eine beispielhafte Ansicht der Kopfplatte, die den Hohlrotormotor umfaßt;
  • 9 ist ein Blockdiagramm der Steuersoftware und der gesteuerten Komponenten;
  • 10 ist ein Flußdiagramm des Raumkurvengeneratormoduls der Steuersoftware;
  • 11 ist eine graphische Darstellung der Software, die bei der bevorzugten Ausführungsform verwendet wird, um die Optimale-Willkürliche-Zeitverzögerung-Filteroperation (OAT-Filteroperation) umzusetzen;
  • 12 ist ein Flußdiagramm des Kompensatormoduls der Steuersoftware;
  • 13 ist ein Flußdiagramm des Betätigungsmoduls der Steuersoftware;
  • 14 ist ein Flußdiagramm des Wahrnehmungsmoduls der Steuersoftware;
  • 15 ist ein Flußdiagramm des Lernmoduls der Steuersoftware;
  • 16 ist eine Illustration der gewichtenden Mittelungsfunktion, die durchgeführt wird, um eine Abtastwertreduktion in dem Lernmodul der Steuersoftware zu erreichen; und
  • 17 ist eine Illustration der Abtastwertrekonstruktionsfunktion, die durchgeführt wird, um die gefilterte Raumkurve in dem Lernmodul der Steuersoftware wieder zu erzeugen.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 1 zeigt eine Übersicht über die bevorzugte Ausführungsform einer nicht-steifen Präzisionsplazierungsmaschine 100 von nicht-präzisem Aufbau gemäß der vorliegenden Erfindung. Gezeigt ist ein steifer Körper 104, der eine nicht-steife Trägerstruktur 109 kontaktiert, die aus einem x-Richtungsbalken 111 und anderer, nicht dargestellter Struktur zusammengesetzt ist. Die Trägerstruktur 109 ist an den steifen Körper 104 über einen Abschnitt angeschlossen, der die Nachgiebigkeit 113 der gesamten Trägerstruktur repräsentiert, ein Begriff, der später definiert werden wird. Der steife Körper 104 kann der Boden sein, so wie beispielsweise der Werkstattboden, oder jede andere geeignete Oberfläche, an der die Trägerstruktur 109 befestigt werden kann. Ein Kopf 115 ist beweglich an dem Balken 111 befestigt und kann sich die Länge des Balkens 111 entlang in beide Richtungen bewegen. Die Kraft, mit der der Kopf 115 die Länge des Balkens 111 entlang bewegt wird, wird von einem Motor 118 erzeugt. Ein endseitiger Effektor 123 ist an dem Kopf 115 befestigt.
  • Teilezuführer 121 sind unter dem Balken 111 angeordnet und enthalten Teile 125, die auf der Zusammenbauplattform 129 zusammenzubauen sind. Die Teilezuführer 121 sind auf variablen Höhen verteilt, um so die Entfernung von einem Teil 125, das in den Teilezuführern 121 angeordnet ist, zu dem Kopf 115 zu minimieren. Die Zusammenbauplattform 129 bewegt sich in einer Richtung senkrecht zu derjenigen des Kopfes 115 auf Schienen 132.
  • Ein Positionsenkoder 135, der an dem Kopf 115 angeordnet ist, tastet das Rückkopplungsband 119 ab, das entlang der Länge des Balkens 111 angeordnet ist, wobei er Positionsdaten basierend auf der Information erzeugt, die der Enkoder 135 auf dem Rückkopplungsband 139 abtastet. Positionsrückkopplungsdaten werden auch von einer ersten, zweiten und dritten Sichtkamera 143, 146 und 149 empfangen, die in solchen Positionen angeordnet sind, daß sie den Teilebehältern 121, der Anordnung 129 und dem Kopf 115 gegenüberliegen.
  • Der gesamte Betrieb der nicht-steifen Präzisionsplazierungsmaschine 100 wird von dem Steuerrechner 153 festgelegt, der gemäß der Steuersoftware 156 arbeitet, die auf dem Steuerrechner 153 läuft. Der Steuerrechner 153 steht über die Rückkopplungskommunikationskabel 161 in elektrischer Kommunikation mit den Positionsrückkopplungseinrichtungen sowie dem Enkoder 135. Der Steuerrechner 153 steht über erste, zweite und dritte Sichtkommunikationskabel 163, 165 bzw. 167 auch in elektrischer Kommunikation mit der ersten, zweiten und dritten Sichtkamera 143, 146 und 149. Der Steuerrechner 153 führt auch die Bewegung des Kopfs 115 durch Senden von Steuersignalen, die den Motor 118 über ein Leistungskabel 169 betätigen. Eine Ansicht von oben auf de nicht-steife Präzisionsplazierungsmaschine 100 ist in 2 gezeigt.
  • Um den Betrieb der in den 1 und 2 gezeigten Anordnung zu beschreiben, wird der Steuerrechner 153, der gemäß der Steuersoftware 156 arbeitet, den Kopf 115 dazu bringen, sich über einen Teilezuführer 120 zu bewegen und ein Teil 125 aufzunehmen. Der Kopf 115 wird dann in gleicher Weise geführt, um das Teil 125 über die Zusammenbauplattform 119 zu tragen und die Zusammenbauaufgabe mit dem Teil 125 auszuführen. Der das Rückkopplungsband 139 abtastende Enkoder 135 und die Sichtkameras 143, 146 und 149 stellen Positionsrückkopplungsinformationen an den Steuerrechner 153 bereit, die von der Steuersoftware 156 verwendet werden, um nachzuvollziehen, ob der Ort der Kopfplazierung innerhalb einer vorgegebenen Positionierungstoleranz liegt.
  • Die Trägerstruktur 109 umfaßt sowohl den Trägerbalken 111 als auch bewegliche Teile, die in Beziehung zu der Bewegung des Kopfes 115 stehen, als auch Teile, die den Kopf 115 selbst ausbilden. Die Komponenten, die die Trägerstruktur 109 ausbilden, sind mit Dimensionstoleranzen hergestellt, die im allgemeinen größer als die zuvor erwähnte Positionierungs toleranz sind. Zusätzlich ist die Trägerstruktur 109 im allgemeinen nicht-steif, so daß aufgrund von einwirkenden Kräften und Inertialkräften ein bestimmtes Maß an Bewegung möglich ist, wobei solche Kräfte den Fachleuten allgemein bekannt sind. Die mögliche Auslenkung der Position eines Teils 125 oder des endseitigen Effektors 123, der an dem Kopf 115 befestigt ist, aufgrund von einwirkenden Kräften und Inertialkräften und sowohl die dimensionalen Toleranzen der Komponenten als auch die nicht-steife Natur der Trägerstruktur 109 werden als Nachgiebigkeit 123 der Trägerstruktur 109 bezeichnet. Es ist ein Charakteristikum der vorliegenden Erfindung, daß, obwohl die Nachgiebigkeit 113 der Trägerstruktur 109 größer ist als die präzise Positionierungstoleranz des Kopfs 115, die Positionstoleranz des Kopfs 115 eingehalten werden wird. Die verschiedenen Aspekte der nicht-steifen Präzisionsplazierungsmaschine 100, die die Steuersoftware 116 umfaßt, werden jetzt diskutiert werden.
  • Trägerstruktur
  • Zuwendend zu 3 ist die spezielle Trägerstruktur 109 der bevorzugten Ausführungsform gezeigt. Die Trägerstruktur 109 umfaßt eine vertikale Stütze 117 und einen A-Rahmen 114. Eine Seitenstrebe 177 ist an der vertikalen Stütze 117 durch einen Schweißpunkt befestigt, es können aber auch Bolzen, Schrauben oder andere Mittel verwendet werden, um die vertikale Stütze 117 und die Seitenstrebe 177 zu verbinden. Ebenfalls an die vertikale Stütze 171 ist eine Dreiecksstrebe 176 angeschlossen, die mit der vertikalen Stütze 171 in derselben Weise wie die Seitenstrebe 177 verbunden sein kann.
  • Angeordnet zwischen der vertikalen Stütze 171 und dem A-Rahmen 174 ist der Balken 111. Der Balken 111 ist durch eine Verschweißung mit der vertikalen Stütze 171 verbunden, aber er kann auch unter Verwendung von Schrauben oder anderen Befestigungsmethoden angebracht sein. Der Balken 111 ist an den A-Rahmen über ein Verlängerungsglied 131 angeschlossen. Das Verlängerungsglied 181 ist an den A-Rahmen 174 und den Balken 111 angeschraubt, aber es kann an diese Elemente auch durch Schweißen oder andere Befestigungsmethoden angebracht sein.
  • Die Trägerstruktur 109 der bevorzugten Ausführungsform, die in 3 gezeigt ist, weist mehrere einzigartige Charakteristika auf. Zuerst ist die Trägerstruktur 109 von nicht-präzisem, leichtgewichtigem Design, was zu einem Mangel an Steifigkeit führt. So wird sich die nicht-präzise, leichtgewichtige Trägerstruktur 109 deformieren, wenn mechanische Energie auf sie übertragen wird. Zum Beispiel kann sich die Trägerstruktur 109 aufgrund der Tatsache deformieren, daß nur eine einzige Dreiecksstrebe 179 verwendet wird, um Bewegung der Trägerstruktur 109 in der Richtung der Achse des Balkens 111 zu verhindern.
  • Außerdem bestehen nur fünf Kontaktpunkte zwischen der Trägerstruktur 109 und dem Boden. Im einzelnen werden die vertikale Stütze 171, die Seitenstrebe 177 und die Dreiecksstrebe 179 eingesetzt, um ein Ende des Balkens 111 hochzuhalten, während das andere Ende des Balkens 111 von dem A-Rahmen 174 hochgehalten wird. So gibt es nicht mehr als drei Punkte die den Boden berühren, um jede Seite des Balkens 111 abzustützen. Dementsprechend muß der Boden nicht perfekt eben sein, noch besteht die Notwendigkeit, daß irgendwelche Einstellungen an der Trägerstruktur 109 vorgenommen werden, um die Trägerstruktur 109 fest in ihrer Betriebsposition zu plazieren. So ist die Installation der Trägerstruktur 109 einfach und kostengünstig gemacht.
  • Zusätzlich sind die Komponenten der Trägerstruktur 109 aus Standardrohrstücken, -balken oder -platten hergestellt, die in der Industrie schnell zur Verfügung stehen. Die Verwendung solcher nicht-präzisen, leichtgewichtigen Materialien kontrastiert mit den massiveren Teilecharakteristika von Präzisionsrobotern bzw. -maschinen nach dem Stand der Technik. Oft werden solche Maschinen aus schweren Gußteilen mit präzisionsbearbeiteten Oberflächen hergestellt, bei denen es sich um einmalige Komponenten handelt und die sehr teuer herzustellen sein können. Der Aufbau von Präzisionsmaschinerie, wie sie als solche durch den Stand der Technik illustriert wird, ist ein Aufwand, der den Fachleuten gut bekannt ist. Das nicht-präzise, leichtgewichtige und weniger massive Design der Trägerstruktur 109 unter Verwendung von mechanischen Standardkomponenten führt zu signifikanten Kosteneinsparungen.
  • Das leichtgewichtige Design der Präzisionsplazierungsmaschine 100 führt so im Vergleich zu Maschinen aus dem Stand der Technik zu einem sehr niedrigen Maschinengewicht zu Nutzlast Verhältnis. Im Fall der bevorzugten Ausführungsform ist dieses Verhältnis im allgemeinen eine 1:1 Entsprechung zwischen den Teilen 125 (1) und den beweglichen Teilen an der Präzisionsplazierungsmaschine 100, bei denen es sich im Fall der bevorzugten Ausführungsform um den Kopf 115 und die daran befestigten Komponenten handelt.
  • Die Präzisionsplazierungsmaschine 100 wird den Kopf 115 mit einem Teil 125 mit einer vorgegebenen Toleranz in einer vorgegebenen Position positionieren, obwohl die Trägerstruktur 109 eine Verformung mit einem Wert größer als die gewünschte Positionierungstoleranz erlaubt. Im Fall der bevorzugten Ausführungsform liegt diese Toleranz innerhalb weniger Mikrometer oder selbst innerhalb eines einzigen Mikrometers. Der Mangel an Steifigkeit der Trägerstruktur 109 aufgrund ihres nicht-präzisen, leichtgewichtigen Designs, erlaubt Oszillationen, Schwingungen und andere Bewegungen von größerem Wert als die nachgesuchte Toleranz. In der Essenz ist es ein Merkmal der bevorzugten Ausführungsform, daß die Positionierungstoleranz eingehalten wird, obwohl die gesamte Trägerstruktur 109 bis zu einem Wert viel größer als die Positionierungstoleranz des Kopfs 115 schwingen, oszillieren oder sich allgemein verformen kann. Weiterhin ist die Dimensionstoleranz der sich bewegenden Teile und anderer Komponenten der Trägerstruktur 109 auch größer als die Positionierungstoleranz.
  • Kopfanordnungsbereich der Trägerstruktur
  • Zuwendend jetzt zu 4 ist ein Abschnitt des Balkens 111 mit dem Kopf 115 illustriert. Der Kopf 115 wird von einer Kopfplatte 185 ausgebildet, die mit einer ersten und einer zweiten zweidimensionalen Beschränkung 191 bzw. 193 und einer eindimensionalen Beschränkung 196 beweglich an dem Balken 111 befestigt ist. Die erste und die zweite zweidimensionale Beschränkung 191 bzw. 193 und die eindimensionale Beschränkung 196 beschränken die Bewegung in fünf von sechs möglichen Freiheitsgraden. Es gibt drei lineare und drei axiale Freiheitsgrade, wie von einem Fachmann verstanden wird. So kann sich die Platte entlang einer einzigen x-Achse 198 bewegen, welche der einzige verbleibende Freiheitsgrad des Kopfs 185 ohne Beschränkung ist. Die Beschränkung eines beweglichen Körpers als solche ist ein Aufwand, der ganz im Verständnis des Fachmanns liegt.
  • Der Kopf 115 könnte auch als ein ("Manipulator" bezeichnet werden, da er der bewegliche Teil der Trägerstruktur 109 ist, der Teile manipuliert oder Aufgaben ausführt. Solch ein Manipulator kann verschiedene andere Formen haben, so z. B. die eines Arms eines Zusammenbauroboters.
  • Die drei zuvor erwähnten Beschränkungen werden verwirklicht unter Verwendung der eindimensionalen x-Achsenbahn 201, die mit der eindimensionalen x-Achsenbeschränkung 196 zusammenpaßt und der vierdimensionalen x-Achsenbahn 205, die mit der ersten und zweiten zweidimensionalen Beschränkung 191 bzw. 193 zusammenpaßt.
  • Jetzt 5 zuwendend ist eine Seitenansicht des Kopfs 115 gezeigt, der auf dem Balken 111 angeordnet ist. An der Oberseite des Balkens 111 befindet sich die eindimensionale bahn 201. An der Oberseite der Kopfplatte 185 ist eine erste L-Strebe 211 befestigt. An der ersten L-Strebe 211 ist eine zweite L-Strebe 213 befestigt. Mit der L-Strebe 213 ist ein erstes Gleitlager 215 verbunden, das die glatte Oberfläche der eindimensionalen Bahn entlang gleitet. Das zweite Gleitlager 217 ist an der Oberfläche der Kopfplatte 185 befestigt und gleitet die glatte Oberfläche der eindimensionalen x-Achsenbahn 201 gegenüber dem ersten Gleitlager 215 entlang. Das erste und das zweite Gleitlager 215 bzw. 217 und die erste und die zweite L-Strebe 211 bzw. 213 bilden zusammen die eindimensionale x-Achsenbeschränkung 196 (4) aus. Das erste und das zweite Gleitlager 215 bzw. 217 sind aus Materialien hergestellt, die eine freie Bewegung mit einem Minimum an Reibung erlauben. Diese Lager sind den Fachleuten gut bekannt. Allgemein schließen Alternativen zu den Gleitlagern 215 un 217 Kugelumlauflagerkonstruktionen, Luftlager und andere Typen ein, die den Fachleuten bekannt sind.
  • In der bevorzugten Ausführungsform ist der Balken 111 aus extrudiertem Aluminium ausgebildet, wobei das eindimensionale Lager 201 ein integraler Bestandteil ist. Der Balken 111 ist im allgemeinen mit einer Toleranz von 0,005 Zoll pro Fuß ausgebildet, die aber ein Vielfaches der Genauigkeit der Positionierungstoleranz des Kopfs 115 betragen kann. Ebenso kann das eindimensionale Lager 201 separat ausgebildet und an dem Balken 185 befestigt sein. Das zweite Gleitlager 217 ist in der bevorzugten Ausführungsform leicht federbelastet, so daß es Variationen in der Dicke des eindimensionalen Lagers 201 ausgleichen kann. Es ist festzustellen, daß die Konstruktionstoleranz des Balkens 111 von Fachleuten relativ leicht erfüllt werden kann, und daß deshalb jegliche Kosten, die normalerweise für einen Präzisionsaufbau notwendig sind, durch die vorliegende Erfindung vermieden werden, da ein Präzisionsaufbau nicht erforderlich ist.
  • Die vierdimensionale Bahn 205 ist an der Unterseite des Balkens 111 befestigt. Die vierdimensionale Bahn 205 ist mit der ersten und zweiten zweidimensionalen Beschränkung 191 (nicht gezeigt) bzw. 193 zusammengepaßt und ist von Kugelumlauflagerdesign, das den Fachleuten bekannt ist. Die erste Beschränkung 193 ist vor der zweiten Beschränkung 191 gezeigt, welche nicht gezeigt ist, wobei beide an der Kopfplatte 185 befestigt sind. Die erste und die zweite zweidimensionale Beschränkung 191 bzw. 193 gleiten die vierdimensionale Bahn 205 entlang, und das erste und das zweite Gleitlager 215 bzw. 217 gleiten die zweidimensionale Bahn 201 entlang, was es dem Kopf 115 ermöglicht, sich zu bewegen. Die Toleranz, mit der die Bahn 205 ausgebildet ist, beträgt etwa 3 Mikrometer, was die Toleranz ist, die mit konventionellen Kugelumlauflagerspindeln erreichbar ist, die den Fachleuten bekannt sind. Andere vergleichbare Bahndesigns, die verwendet werden könnten, schließen Luftlager oder Gleitlager ein, wie sie den Fachleuten bekannt sind. Die vorliegende Erfindung erlaubt auch eine nicht-präzise Ausrichtung zwischen den Bahnen 201 und 205 bis zu einem signifikanten Grad, beispielsweise bis zu einem Zehntel eines Zolls. Der geringere Grad von Präzision, der bei der Art dieser Komponenten notwendig ist, führt zu signifikanten Einsparungen bei den Herstellungskosten.
  • Auch in 5 ist die Seitenansicht des Laufspulenmotors 118 mit Läufer 221 und Statormagneten 225 gezeigt, der die Kraft bereitstellt, die den Kopf den Balkens 111 entlang verschiebt. In der bevorzugten Ausführungsform wird der Laufspulenmotor 118 verwendet, weil keine Anziehungskraft zwischen dem Läufer 221 und den Statormagneten 225 erzeugt wird, die ungewollte Anregungen und Kräfte auf die Präzisionsplazierungsmaschine 100 aufbringen würde. Außerdem ist ein Laufspulenmotor inhärent von leichter Konstruktion, was seinen Einsatz weiter wünschenswert macht. Es wäre jedoch möglich, jeden Typ eines Gleichstrom- oder Wechselstrommotors zu verwenden, der in Verbindung mit einer Ketten-, Band-, Riemen- oder Spindelanordnung verwendet wird, um die Bewegung des Kopfs 115 zu bewerkstelligen, wie den Fachleuten bekannt ist. So wird der Laufspulenmotor 118 der bevorzugten Ausführungsform nicht unter Ausschluß jeglicher elektrischer, hydraulischer, pneumatischer oder anderer Krafterzeugungsmittel verwendet.
  • Es ist eine einzelne Reihe von Startormagneten 225 gezeigt, die an dem Balken 111 in großer Nähe zudem Läufer 221 gelagert ist. Es wäre möglich, ein Design mit einem Laufspulenmotor 118 zu implementieren, das zwei Reihen von Magneten anstelle von einer verwendet.
  • Letztlich stellt 5 eine Seitenansicht des Balkens 111 bereit. Die Konstruktion des Balkens 111 ist von "C"-Form, so daß er Torsionsbiegungen aufgrund von vertikalen Kräften widersteht. Die bevorzugte Ausführungsform weist dieses Design auf, so daß jegliche vertikale Kraft, die durch die Aufgabe erzeugt wird, keine ungewollte Deformation des Balkens 111 erzeugt, so daß eine Rotation des Kopfs 115 entlang des Balkens 111 nicht auftritt. 5 bietet auch eine Ansicht des Enkoders 135 und des Rückkopplungsbands 139.
  • Bezugnehmend auf 6 ist der Balken 111 gezeigt, an dem die Kopfplatte 185 angeordnet ist. Befestigt an der Kopfplatte 185 sind an einem Ende erste und zweite zweidimensionale z-Achsenbeschränkungen 231 und 234, die von identischem Aufbau sind. An dem in der vertikalen Richtung anderen Ende der Kopfplatte 185 ist eine eindimensionale z-Achsenbahn 238 befestigt. Die z-Achsenbeschränkungen 231 und 234 sind den x-Achsenbeschränkungen 191 und 193 (4) identisch. In gleicher Weise ist die z-Achsenbahn 238 von identischer Konstruktion wie die eindimensionale x-Achsenbahn 201 (4 und 5).
  • Unter dem Balken 111 ist in 6 die z-Achsenplatte 241 gezeigt, an der die vierdimensionale z-Achsenbahn 243 angeordnet ist. Die z-Achsenbahn 243 ist an der Rückseite der z-Achsenplatte 241 befestigt, wie in 6 gezeigt ist. Die z-Achsenbahn 243 ist der vierdimensionalen x-Achsenbahn 205 (4 und 5) identisch.
  • An dem anderen Ende der z-Achsenplatte 241 ist die eindimensionale z-Achsenbeschränkung 247 angeordnet, die in ihrer Konstruktion identisch mit der eindimensionalen x-Achsen beschränkung 196 (4 und 5) ist. An der Unterseite der z-Achsenplatte 241 liegt eine horizontale Halterung 249, die eine flache Oberfläche bereitstellt, an der die Nutzlast 251 befestigt ist. Wie es der Fall bei dem Kopf 115 war, ist die z-Platte 241 in fünf von sechs Freiheitsgraden beschränkt, wie der Fachmann versteht.
  • Zuwendend zu 7 ist die z-Platte 241 gezeigt, die an der Kopfplatte 185 angeordnet ist. Konkret sind die Beschränkungen 231 und 234 mit der vierdimensionalen z-Achsenbahn 243 zusammengepaßt. In gleicher Weise ist die Beschränkung 247 mit der eindimensionalen z-Achsenbahn 238 zusammengepaßt. So kann die z-Platte auf und ab in Richtung der z-Achsenbahnen 238 und 243 bewegt werden. Auch befestigt an der Kopfplatte 185 gezeigt ist der Hohlrotormotor 255, durch welchen die Kernspindel 259 angeordnet ist. Die Kernspindel ist an der horizontalen Halterung 249 über ein mit einem Gewinde versehenes Ende befestigt, das in ein Gewindeloch in der horizontalen Halterung 249 geschraubt ist. Der Hohlrotormotor 255 ist mit einer Gewindemutter versehen, die sich bei Betätigung dreht. Die Gewindemutter ist auf die Kernspindel 259 aufgepaßt. Die Kernspindel 259 rotiert nicht, da sie in die horizontale Halterung 249 eingeschraubt worden ist. Wenn der hohle Rotor des Motors 255 sich dreht, wird die Kehrspindel durch den Motor gezogen. Da die z-Platte 241 an der Kernspindel 259 befestigt ist, bewegt sie sich mit der Spindel. So wird die z-Platte 241 in dieser Weise nach oben und unten bewegt. Der Betrieb eines Hohlrotormotors 255 als solcher ist den Fachleuten gut bekannt.
  • Bezugnehmend auf 8 ist eine beispielhafte Ansicht der Kopfplatte 185 der bevorzugten Ausführungsform gezeigt. Bei der Kopfplatte 185 ist viel des Mittelbereichs ausgeschnitten und verworfen. Dies wird mit der Intention getan, das Gewicht der Kopfplatte 185 zu reduzieren. Dies ist ebenso der Fall bei der z-Achsenplatte 241 (6 und 7). Der Hohlrotormotor 255 ist ebenfalls ausgesucht worden, da die Kernspindel durch Ersetzen einer Rotoranordnung und anderer Strukturen, die notwendig gewesen sein können, Gewicht reduziert. Er eliminiert auch im wesentlichen Spiel, das ein den Fachleuten bekanntes Vorkommnis bei motorgetriebenen Mechanismen ist. So sind bei der bevorzugten Ausführungsform die beweglichen Teile, so wie der Kopf 115, an dem die z-Platte 241 angeordnet ist, absichtlich von so leichter Konstruktion wie möglich, um weniger Bewegungskraft während des Betriebs zu erfordern.
  • Um Positionsrückkopplung relativ zu der z-Achse bereitzustellen, ist der Hohlrotormotor 255 mit einem Drehenkoder 257 versehen. Die Verwendung solcher Positionsrückkopplungseinrichtungen als solche ist den Fachleuten gut bekannt und wird nicht im Detail beschrieben werden.
  • Bezugnehmend zurück auf 6 kann die Nutzlast 251 aus jeder Anzahl von Einrichtungen bestehen. Zum Beispiel kann mit einem Teil 125 (1) jeder von verschiedenen endseitigen Effektoren 123 verwendet werden, die den Fachleuten bekannt sind, so wie Einrichtungen zum Greifen, Bohren, Rasseln, Schweißen oder anderen automatisierten Funktionen. Die Nutzlast 251 ist in der bevorzugten Ausführungsform schwerkraftbelastet in dem Sinne, daß die abwärts gerichtete Kraft durch Schwerkraft hervorgerufen wird. Es wäre jedoch auch möglich, daß eine nicht-schwerkraftbelastete Betätigung angewendet wird, wie den Fachleuten bekannt ist.
  • Enkoder
  • Zurückkehrend zu 5 ist am unten in der Zeichnung der Enkoder 135 gezeigt, der angeordnet ist, um das Rückkopplungsband 139 abzutasten. Der Enkoder 135 ist an einer Enkoderhalterung 261 befestigt, welche ihrerseits an der Kopfplatte 185 befestigt ist. Das Rückkopplungsband 139 verläuft die Unterkante des Balkens 111 entlang. Der Enkoder 135 stellt Positionsrückkopplungsinformationen über den Kopf 115 in der folgenden Weise bereit. Wenn der Kopf 115 sich vorwärts und rückwärts den Balken 111 entlang bewegt, tastet der Enkoder 135 Marken ab, die in vorgegebenen Abständen voneinander auf dem Rückkopplungsstreifen 139 angeordnet sind, und erzeugt einen elektronischen Puls für jede abgetastete Marke. Durch Zählen der Pulse und Kennen der Abstände zwischen den Marke kann der Ort des Kopfs 185 in Abhängigkeit von der Startposition der Bewegung bestimmt werden. In der bevorzugten Ausführungsform sind der Enkoder 135 und der Rückkopplungsstreifen 139 durch Renishaw Inc. of Schaumburg, Illinois, USA hergestellt. Der Enkoder ist das Modell Nr. RGHX-2R-30 mit der selbstklebenden Enkoderstreifenskala RGS-S A/9517/0004. Der genannte Enkoder 135 und der Rückkopplungsstreifen 139 stellen einen Puls pro Mikrometer bei einer maximalen Detektionsgeschwindigkeit von ungefähr 2 m/sek bereit.
  • Sichtsystem
  • Bezugnehmend zurück auf 1 sind die erste, die zweite und die dritte Sichteinheit 143, 146 bzw. 149 in ihren Betrachtungspositionen oberhalb der Teilebehälter 121, oberhalb der zusammenbauplattform 129 bzw. unterhalb des Kopfes 115 gezeigt. In der bevorzugten Ausführungsform sind diese Sichteinheiten von dem Typ, der in dem US-Patent 5 146 340 betitelt "Image Data Reading and Processing Apparatus" und ausgegeben für Dickerson et al. beschrieben ist. Dieses Dokument wird ausdrücklich in seiner Gesamtheit durch Referenz hierhinein einbezogen.
  • Die Sichteinheiten 143, 146 und 149 werden gemeinhin ein Bild mit einer bestimmten Rate aufnehmen. Die Sichteinheiten 143, 146 und 149 werden dann das Bild verarbeiten und Positionsdaten von verschiedenen Merkmalen bereitstellen, nach denen die Sichteinheiten 143, 146 und 149 zu suchen programmiert sind. Die Positionsdaten können sich auf Merkmale der Zusammenbauplattform 129, der Teilezuführer 125 oder der endseitigen Effektoren 123, die die Nutzlast 251 (6) ausmachen, sowie auf andere physikalische Merkmale innerhalb des Blickfelds der Sichteinheiten 143, 146 und 149 beziehen.
  • Das Blickfeld der Sichteinheiten 143, 146 und 149 wird abhängig von der gewünschten Genauigkeit größer oder kleiner gemacht. Wie die Fachleute verstehen, werden die Positionsdaten von den Sichteinheiten 143, 146 und 149 durch Auswerten der Pixel, in denen ein Objekt liegen kann, und Auszählen der Distanzen erzeugt. Falls das Blickfeld kleiner ist, dann gibt es dort mehr Pixel pro Einheit der Fläche. Dies führt zu einer größeren Auflösung und Präzision bei der Messung. Die vorangehende Diskussion bezüglich der Sichteinheiten 143, 146 und 149 wird von den Fachleuten gut verstanden.
  • Falls die Sichteinheiten 143, 146 und 149 für enge Toleranzen konfiguriert sind, dann wird das entsprechende Gesichtsfeld kleiner. In solch einem Fall würden die Sichteinheiten 143, 146 und 149 aufgrund ihres beschränkten Blickfelds so positioniert, daß das zu ergreifende Teil 125 oder die Zusammenbauplattform 129 innerhalb des Blickfelds liegt. In der bevorzugten Ausführungsform, wo es mehr als einen einzigen Teilebehälter 125 gibt, ist es wahrscheinlich, daß mehr als die Sichteinheiten 143, 146 und 149 eingesetzt werden. Es kann möglich sein, daß eine einzelne Sichteinheit 143, 146 bzw. 149 in der Lage ist, die notwendige Distanz zu überfahren, um verschiedene unterschiedliche Orte zu betrachten, wie in dem Fall, in dem eine Sichteinheit 143, 146 bzw. 149 an dem Kopf 115 befestigt werden könnte etc. Der entscheidende Faktor, ob eine einzelne oder mehrere Sichteinheiten 143, 146 bzw. 149 verwendet werden, liegt im Verständnis des Fachmanns. Im allgemeinen ist der entscheidende Faktor ein ökonomischer.
  • Letztlich werden die Sichteinheiten 143, 146 und 149 mit einer 24 Volt-Spannung versorgt und kommunizieren seriell mit dem Rechner 153 über zweiadrige verdrillte Kabelpaare 161, 165 und 167. Das Kommunikationsprotokoll zwischen den Sichteinheiten 143, 146 und 149 und dem Computer 153 ist den Fachleuten allgemein bekannt und wird nicht im Detail beschrieben werden.
  • Rechnerhardware
  • Zuwendend erneut zu 1 ist ein Blockdiagramm der Elektronik der bevorzugten Ausführungsform umfaßt. In der bevorzugten Ausführungsform ist der Rechner 153 ein Allzweck-Personalcomputer mit einem PENTIUMTM (Intel Corporation, USA) Mikroprozessor. Die Funktionen des Rechners 153 können aber auch durch jedes Rechnersystem ausgeführt werden, das die Geschwindigkeits- und Berechnungserfordernisse der bevorzugten Ausführungsform erfüllt. Es wäre auch möglich, viele der logischen Operationen, die in der vorliegenden Beschreibung beschrieben sind, mit spezialisierter digitaler Logik oder analogen Schaltkreisen abzuarbeiten. Es ist beabsichtigt, daß diese Alternativen ausdrücklich von dieser Beschreibung umfaßt werden. Die Spezifikation und das Design von mikroprozessorbasierenden Berechnungssystemen und digitalen oder analogen logischen Schaltkreisen, wie hierin beschrieben, ist ein Aufwand, der sicher innerhalb des Fachwissens des Fachmanns liegt.
  • Letztlich wird ein analoges Signal, das von dem Rechner erzeugt wird, über das Leistungskabel 169 zu dem Verstärkermotor 118 gesendet. Der Motor 118 kann einen Verstärker umfassen, um ein Signal zu erzeugen, das den Motor 118 antreibt. Die Verstärkung eines Signals ist als solches ein Aufwand, der den Fachleuten gut bekannt ist, und wird nicht im Detail diskutiert werden.
  • Steuersoftware
  • Zuwendend zu 9 ist ein Blockdiagramm der Steuerlogik der Präzisionsplazierungsmaschine 100 gezeigt, welches die Details der Steuersoftware 156 (1) illustriert. Auch umfaßt sind der Motor 118, der Enkoder 135 und die Sichteinheiten 143, 146 und 149. Zuerst wird eine kursorische Beschreibung der Gesamtoperation der Steuersoftware 156 gegeben und dann wird eine Beschreibung von jedem einzelnen Softwareprogramm folgen.
  • Zu Beginn wird eine nominelle Raumkurve 407 in den Steuerrech ner 153 eingegeben, wo sie von dem Raumkurvengeneratormodul 409 soweit erforderlich abgestimmt wird. Die resultierende abgestimmte Raumkurve 414 wird dann von dem Optimale-Willkürliche-Zeitverzögerung-Filter 417 verarbeitet. Eine gefilterte Raumkurve 421 wird dann zu dem Kompensatormodul 425 gesendet, das, nachdem es auch das Rückkopplungssignal 427 empfängt, ein Steuersignal 428 erzeugt. Das Steuersignal 428 wird dann zu dem Betätigungsmodul 433 gesandt, welches seinerseits eine Motorausgabe 437 zu dem Motor 118 sendet.
  • Die Bewegung 444 aufgrund der Betätigung des Motors 118 wird sowohl von dem Enkoder 135 als auch von den Sichteinheiten 143, 146 und 149 festgestellt. Der Enkoder 135 und die Sichteinheiten 143, 146 und 149 übertragen Enkoderpositionsdaten 447 und Sichtpositionsdaten 451 auf das Wahrnehmungsmodul 459. Das Wahrnehmungsmodul 459 erzeugt ein Rückkopplungssignal 461, das zu dem Kompensatormodul 425 übersandt wird, wodurch eine Rückkopplungssteuerschleife vervollständigt ist, wie von den Fachleuten gut verstanden wird.
  • Letztlich wird das Steuersignal 428 auch von dem Lernmodul 465 empfangen, das ein Gelernte-Versuche-Signal 473 erzeugt, welches zu dem Betätigungsmodul gesandt wird.
  • Die nominelle Raumkurve 407 ist im allgemeinen eine Kurve, die aus diskreten Werten besteht, welche die Position über der Zeit wiedergeben. Die nominelle Raumkurve 407 kann auf viele Weisen erzeugt werden, einschließlich mathematischer Ableitung oder auf andere Weise. In der bevorzugten Ausführungsform wird eine Raumkurve basierend auf einer beschränkten Geschwindigkeit und Beschleunigung erzeugt, die innerhalb eines bestimmten Zeitraums auszuführen sind. Die Grenzen der Geschwindigkeit und der Beschleunigung stehen in Beziehung zu den maximalen Möglichkeiten der Präzisionsplazierungsmaschine 100. Die Erzeugung von nominellen Raumkurven 407 als solche ist ein Aufwand, der den Fachleuten gut bekannt ist und nicht im Detail diskutiert werden wird.
  • Es sollte jedoch bemerkt werden, daß eine separate nominelle Raumkurve 407 für jede signifikante Bewegung erzeugt wird, die von dem Kopf 115 (1) auszuführen ist, oder bei jeder signifikanten Änderung der Masse des Kopfes 115 (1) bei einer existierenden Raumkurve. Die Bewegungen, die eine bestimmte nominelle Raumkurve 407 erfordern, werden von solchen, bei denen eine bestehende nominelle Raumkurve 407 nur geändert werden muß, unterschieden, wie diskutiert werden wird. Nachdem sie einmal erzeugt wurden, können die nominellen Raumkurven 407 in einem Rechnerspeicher gespeichert oder in Echtzeit erzeugt werden, um von der Steuersoftware 156 inplementiert zu werden. So würde das Steuersystem falls nötig die spezielle Raumkurve, die zu implementieren ist, auswählen. Die Schaffung von Software zum Auswählen von gespeicherten oder zum Erzeugen neuer nomineller Raumkurven 407 liegt sicher innerhalb des Fachwissens des Fachmanns. Mit dieser grundsätzlichen Übersicht wird die Steuersoftware 156 weiter erläutert werden.
  • Zuwendend zu 10 ist ein Flußdiagramm des Raumkurvengenerators 409 gezeigt. In dem ersten Schritt 503 bestimmt der Raumkurvengenerator 409 die Abweichung der tatsächlichen Entfernung, die von dem Kopf 115 (1) zurückzulegen ist, von der nominellen Raumkurve 407. Dies wird fertiggestellt durch Erhalten von Daten bezüglich der derzeitigen Position und der Zielposition des Kopfes 115 (1) von den Sichteinheiten 143, 146 und 149 (1). Diese Positionierungsinformationen könnten auch unter Verwendung anderer Verfahren einschließlich Lasermessung oder anderer Positionserfassungstechnologie erhalten werden. Nachdem die tatsächliche Distanz, die zurückzulegen ist, festgestellt wurde, kann der Raumkurvengenerator 409 die Abweichung von der nominellen Raumkurve 407 durch eine einfache Berechnung bestimmen.
  • In dem zweiten Schritt 506 wird die nominelle Raumkurve 407 verschoben, um die Abweichung zu kompensieren. In der Essenz wird die Raumkurve durch eine Berechnung im wahrsten Sinne des Wortes herauf- oder heruntergeschoben. Das Verschieben von Raumkurven als solches ist ein Aufwand, der von den Fachleuten gut verstanden wird.
  • Der dritte Schritt besteht aus dem Korrigieren des Fehlers, der durch das Verschieben der nominellen Raumkurve 407 erzeugt wurde. Wenn die Raumkurve verschoben wird, kann der Anfangswert eine Stufeneingabe sein, die einen sofortigen Fehler verursacht. Dieser Fehler ist ein üblicher Vorfall, wenn eine Verschiebung durchgeführt wird, und ist deshalb ein üblicher Aufwand, der von den Fachleuten verstanden wird. Dieser Fehler kann falls gewünscht ignoriert werden, und die Steuersoftware 156 wird ihn letztendlich kompensieren. In solch einem Fall wird die Stufe ignoriert. Eine zweite Alternative ist es, "Glättungs"-Techniken zu verwenden, bei denen der Fehler durch Ändern der Raumkurve soweit erforderlich geglättet wird. Glättungstechniken als solche sind ebenfalls ein Aufwand, der den Fachleuten gut bekannt ist.
  • Zum Abschluß des Raumkurvengenerators 409 wird eine abgestimmte Raumkurve 414 erzeugt.
  • Als nächstes zuwendend zu 11 ist eine grafische Darstellung eines Optimale-Willkürliche-Zeitverzögerung-Filters (OAT Filters) 417 der bevorzugten Ausführungsform gezeigt. Das OAT-Filter 417, das bei der bevorzugten Ausführungsform verwendet wird, ist Gegenstand der parallel anhängigen US-Patentanmeldung betitelt "Optimal Arbitrary Time-Delay (ORT) Filter And Method To Minimize Unwanted System Dynamics", die unter dem Anwaltszeichen 62002-1670 an demselben Tag wie diese Beschreibung eingereicht wurde. Dieses Dokument wird in seiner Gesamtheit durch Referenz hierhinein einbezogen.
  • Das OAT-Filter 417 wird verwendet, um ungewollte Dynamiken und Schwingungen in der Trägerstruktur 109 (1) aufgrund der abgestimmten Raumkurve 414 zu minimieren. Dies wird erreicht durch Faltung des abgestimmten Signals 414 mit der spezifizierten Filtergleichung, deren Ableitung von der Patentanmeldung mit dem Zeichen 62002-1670 abgedeckt wird, auf die zuvor Bezug genommen wurde. In der bevorzugten Ausführungsform ist das OAT-Filter 417 ausgelegt, sich auf einen einzigen Schwingungsmode zu konzentrieren. Die Filterimpulsantwort hat die allgemeine Form
    Figure 00240001
    , wobei M ein Skalierungsfaktor gleich
    Figure 00240002
    die Eigenfrequenz der Trägerstruktur 109 (1) ist, ξ das Dämpfungsverhältnis der Schwingung und T eine willkürliche Zeitverzögerung ist. So sind für eine einmodige Schwingung die Filterkoeffizienten gleich 1/M,
    Figure 00240003
    und e–2ξωnT/M, wobei M ein Skalierungsfaktor gleich
    Figure 00240004
    ist. Der Skalierungsfaktor M kann durch einen anderen Ausdruck bestimmt werden, wie den Fachleuten bekannt ist. Diese Koeffizienten werden für die folgende Diskussion als C1, C2 bzw. C3 definiert.
  • Die Eigenfrequenz ωn und das Dämpfungsverhältnis ξ der Trägerstruktur 109 (1) können experimentell bestimmt oder mathematisch abgeleitet werden. Die Bestimmung dieser Faktoren ist als solches ein Aufwand, der von den Fachleuten gut verstanden wird.
  • Die willkürliche Zeitverzögerung T wird nicht durch Manipulation einer bestimmten mathematischen Formulierung oder ein physikalisches Experiment bestimmt. Es ist eine wirklich willkürliche Variable, die nur durch die physikalischen Beschränkungen der Präzisionsplazierungsmaschine 100 (1) beschränkt ist. Z. B. können im Fall der bevorzugten Ausführungsform die Kraftanforderungen an den Motor 118 (1) die Möglichkeiten dieser Komponente übersteigen, falls die willkürliche Zeitverzögerung zu klein ist. Auf der anderen Seite kann, falls die willkürliche Zeitverzögerung T zu hoch gesetzt wird, die Filterfunktion vereitelt werden, weil die Trägerstruktur 109 (1) eine ungewollte Bewegung in der Zeit erfährt, die der Filter braucht, um zu arbeiten.
  • So ist die Spezifikation der willkürlichen Zeitverzögerung Sache des Fachmanns basierend auf den Systemparametern und der zu erreichenden gewünschten Bewegung. Z. B. können die verfügbaren Abtastraten des Rechnersteuersystems die Auswahl der willkürlichen Zeitverzögerung beschränken. Eine abgeschätzte Zeitverzögerung könnte ein Viertel einer einzelnen Periode der Eigenfrequenz ωn der Trägerstruktur 109 (1) sein. So ist die einzige Bewegung, die erfahren werden kann, ein Peak der speziellen Schwingung zum Zeitpunkt eines Viertels einer einzelnen Periode der Eigenfrequenz ωn, wie von den Fachleuten verstanden wird.
  • Nachdem die Eigenfrequenz ωn, das Dämpfungsverhältnis ξ und die willkürliche Zeitverzögerung T bestimmt sind, werden die Koeffizienten C1, C2 und C3 des Filters berechnet. Es ist festzustellen, daß, wenn sich die physikalischen Eigenschaften, so wie die Masse oder andere Faktoren der Präzisionsplazierungsmaschine 100 (1) ändern, wodurch sich die Eigenfrequenz ωn und das Dämpfungsverhältnis ξ ändern, die Koeffizienten basierend auf den neuen Parametern neu berechnet werden müssen. Dies kann beispielsweise auftreten, wenn ein anderes Teil 125 (1) von der Präzisionsplazierungsmaschine 100 (1) aufgenommen wird.
  • Es ist festzustellen, daß das OAT-Filter diese Neuberechnung in Echtzeit ausführen kann, vorausgesetzt, daß das Rechnersystem 153 mit der sensorischen Fähigkeit versehen ist, Änderungen der Eigenfrequenz ωn und des Dämpfungsverhältnisses ξ festzustellen. In einigen Anwendungen kann die Präzisionsplazierungsmaschine 100 (1) jedoch zwei oder mehr wiederholte, kontrollierte Bewegungen ausführen, von denen, jede Bewegung mehrmals ausgeführt wird. In einem solchen Fall wäre es möglich, eine Anzahl von "Sätzen" von Koeffizienten zu speichern, die jeweils einer Bewegung mit speziellen physikalischen Eigenschaften entsprechen und mit einer spezifizierten Zeitverzögerungskonstante T berechnet sind. So können die Koeffizienten C1, C2 und C3 von vorprogrammierten "Sätzen" von Koeffizienten basierend auf der auszuführenden vorgegebenen Bewegung zur Verwendung ausgewählt werden.
  • Bei der bevorzugten Ausführungsform werden die Koeffizienten C1, C2 und C3 des verwendeten Filters aus der vorgegebenen Eigenfrequenz ωn, dem Dämpfungsverhältnis ξ und der willkürlichen Zeitverzögerung T bestimmt und in das OAT-Filter 417 hinein vorprogrammiert.
  • In der grafischen Darstellung des OAT-Filters 417 ist die grafische Faltung der Filterkoeffizienten C1, C2 und C3 und der abgestimmten Raumkurve 414 gezeigt. Die abgestimmte Raumkurve 414 liegt in digitaler Form vor, die wie gezeigt aus einem Strang von diskreten Signalwerten besteht. Jeder diskrete Signalwert ist durch einen Zeitraum a getrennt. Nachdem die Faltung durchgeführt ist, wird eine ähnlich gefilterte Raumkurve 421 erzeugt. Das umlaufende Feld 512 ist mit spezifischen Speicherplätzen, 515 gezeigt, die von 0 bis 99 numeriert sind, obwohl nicht alle Speicherplätze des umlaufenden Felds 512 gezeigt sind.
  • Um die Arbeitsweise des Filters zu verstehen, wird der letzte diskrete Steuersignalwert mit den drei Koeffizienten in der Multiplikationsfunktionen 519, 522 und 525 multipliziert. Das Ergebnis dieser drei Multiplikationsoperationen wird zu den Werten auf den ausgewählten Speicherplätzen durch Summe-ist-gleich-Operationen 529 und 532 hinzuaddiert. Die Summe-ist-, gleich-Operation ist eine spezielle Rechnerprogrammieranweisung, die den Wert aus einem Speicherplatz nimmt, diesen Wert mit einem anderen ausgewählten Wert summiert und dann das Ergebnis zurück auf demselben Speicherplatz anordnet. Nachdem ein spezieller diskreter Steuersignalwert in dieser Weise verarbeitet wurde, wird das umlaufende Feld 512 um einen einzelnen Wert verdreht, und der nächste diskrete Steuersignalwert wird verarbeitet.
  • Es ist festzustellen, daß die einzelnen Speicherplätze 515, zu denen die Ergebnisse der Multiplikationsfunktionen 519, 522 und 525 hinzu addiert werden, durch einen Wert getrennt sind, der gleich der willkürlichen Zeitverzögerung T geteilt durch den Zeitraum a ist. So erhalten die Speicherplätze bei m, m – T/a und m – 2T/a Werte, die letztlich zeitlich durch die willkürliche Zeitverzögerung T getrennt sind.
  • Abschließend wird das Ausgabesignal 421 von den in dem Feld gehaltenen Werten erzeugt, die eine Aufsummierung der drei Koeffizientenmultiplikationsfunktionen 519, 522 und 525 sind. Dieser Schritt tritt auf, nachdem die Multiplikationsfunktion 525 (mit dem Koeffizienten C1) stattfindet. Nachdem die Multiplikationsfunktion 525 stattfindet, wird das Resultat zu dem Wert hinzuaddiert, der bei m gespeichert ist, was in diesem Fall eine Position 94 in dem umlaufenden Feld 512 ist. Dieses Resultat wird ausgesandt als das gefilterte digitale Ausgabesignal 421. Der abschließende Schritt umfaßt das Einfügen einer null in den Speicherplatz nach der Position m, so daß der Platz fertig ist, um erneut verwendet zu werden.
  • Die digitale Filteroperation, die in 11 dargestellt ist, ist nicht die einzige Programmiermethode, mit der das OAT-Filter 417 umgesetzt werden kann. Solche anderen Programmierschritte sind hier ausdrücklich eingeschlossen. Grundsätzlich ist die Implementation eines digitalen Filters als solche ein den Fachleuten gut bekannter Aufwand.
  • Als nächstes bezugnehmend auf 12 ist ein allgemeines Flußdiagramm der Funktionen gezeigt, die von dem Kompensatormodul 425 ausgeführt werden. In dem Kompensatormodulschritt 543 wird eine Summierfunktion ausgeführt, wobei die gefilterte Raumkurve 421 mit dem negativen Positionsrückkopplungssignal 427 aufsummiert wird, woraus ein resultierender Fehler bestimmt wird. Im Schritt 546 wird das Fehlersignal verarbeitet durch ein proportionales-integrales-ableitendes (PID) oder ein anderes geeignetes Steuerprogramm, das ein Steuersignal 428 ausgibt. Der genaue Betrieb eines Programms, das das PID ausführt, ist als solches ein Aufwand, der den Fachleuten gut bekannt ist und hier nicht im Detail diskutiert werden wird.
  • Zuwendend zu 13 ist ein grundsätzliches Flußdiagramm der Funktionen gezeigt, die von dem Betätigungsmodul 433 ausgeführt werden. Der erste Betätigungsmodulschritt 551 ist es, eine Summierungsoperation auszuführen, die das gelernte Signal und das PID-Fehlersignal addiert. Das Ergebnis dieser Addition ist die Motorausgabe 437, die an den Motor 118 zu senden ist.
  • Der zweite Betätigungsmodulschritt 555 umfaßt die Abstimmung der Motorausgabe 437, um Motorfehler u. dgl. zu kompensieren. Diese Funktion richtet sich auf die Realität, daß das Ausgangsdrehmoment des Motors 118 aufgrund des Welligkeitseffekts ("Ripple-Effekt"), der ein den Fachleuten gut bekanntes Ereignis ist, nicht immer gleich dem gewünschten Drehmoment basierend auf dem Eingangssignal zu einem gegebenen Zeitpunkt ist. Die Abstimmung der Motorausgabe 437 ist als solches ein von den Fachleuten gut verstandener Aufwand.
  • Jetzt bezugnehmend auf 14 ist ein grundsätzliches Flußdiagramm der Funktionen gezeigt, die von dem Wahrnehmungsmodul 459 ausgeführt werden. Das Wahrnehmungsmodul 459 bestimmt basierend auf den Enkoderpositionsdaten 447 und den Sichtpositionsdaten 451 im wesentlichen die Natur des Rückkopplungssignals 427, das zurück an das Kompensatormodul 425 gesendet wird. In dem ersten Wahrnehmungsmodulschritt 559 werden die Sichtpositionsdaten 151 und die Enkoderpositionsdaten 447 in digitale Signale umgewandelt, die von dem Kompensatormodul 425 verwendet werden können. In der bevorzugten Ausführungsform stellt der Enkoder 135 (1) ein Pulssignal für jeden Mikrometer Bewegung bereit. Diese Pulssignale werden von dem Wahrnehmungsmodul 459 empfangen, und die tatsächliche Position wird durch Aufsummieren der Anzahl der Pulse, die während der Bewegung aufgetreten sind, und durch ihr Multiplizieren mit dem richtigen Abstand pro Puls bestimmt. In der bevorzugten Ausführungsform beträgt dieser Abstand ein Mikrometer, er kann aber jeder geeignete Abstand sein, der durch einen Fachmann festgelegt wird.
  • Die Sichtpositionsdaten 451 sind ein digitaler Wert, der die tatsächliche Position basierend auf vorbestimmten Kriterien wiedergibt, wie es den Fachleuten bekannt ist.
  • Der zweite Wahrnehmungsmodulschritt 462 tritt auf, wenn die Bestimmung gemacht wird, ob der Kopf 115 (1) im Bereich der Zielsichteinheit ist, zu der sich der Kopf 115 (1) hinbewegt. Die Bestimmung kann durch Überprüfen der Position des Kopfs 115 (1), so wie sie durch die Enkoderpositionsdaten 447 bekannt ist, oder durch Überprüfen, ob der Kopf tatsächlich von der Zielsichteinheit gesehen wird, durchgeführt werden.
  • Angenommen der Kopf ist noch nicht innerhalb des Bereichs des Zielsichtsystems, dann wird der Wahrnehmungsmodulschritt 566 dafür sorgen, daß das Rückkopplungssignal 427 allein aus den Positionsinformationen von dem Enkoder 135 (1) besteht. Nachdem der Kopf innerhalb des Bereichs des Zielsichtsensors ist, wird der Wahrnehmungsmodulschritt 559 das Rückkopplungssignal 427 entweder von dem Enkoder 135 oder von den Sichteinheiten 143, 146 oder 149 ableiten oder aus einer Kombination von den von beiden stammenden Positionsdaten festlegen.
  • Zuwendend zu 15 ist ein grundsätzliches Flußdiagramm der Funktionen gezeigt, die von dem Lernmodul 465 ausgeführt werden. In dem ersten Lernmodulschritt 573 wird die Anzahl der Abtastwerte pro Zeiteinheit des Steuersignals 428 auf eine vorbestimmte Anzahl von diskreten Signalwerten reduziert, was in ein reduziertes Steuersignal 581 resultiert. Für den Zweck der folgenden Diskussion wird das Steuersignal 428 durch e[k] wiedergegeben, und das reduzierte Steuersignal 581 wird mit ē[k] bezeichnet, wobei k der Zeitindex des Steuersignals 428 ist und k der Zeitindex des reduzierten Steuersignals 581 ist. Der mathematische Ausdruck, der die Beziehung zwischen e[k] und ē[k] zeigt, wird angegeben als
    Figure 00300001
    , wobei m das Verhältnis der Anzahl von Abtastwerten des Steuersignals 428 zu der Anzahl von Abtastwerten des reduzierten Steuersignals 581 während derselben Zeiteinheit ist. Die Variable m kann auch als Umwandlungsfaktor der beiden Zeitindizes angesehen werden. In der bevorzugten Ausführungsform beträgt die Anzahl der Abtastwerte für eine einzelne Bewegung des Kopfs 115 (1), wie sie durch die Gleichung 1.0 berechnet wird, etwa zweihundert.
  • Der Ausdruck 1.0 gibt die gewichtete Reduktion des Steuersignals 428 wieder. Um dies weiter zu erläutern wird auf 16 Bezug genommen, die diskrete Signalabtastwerte 574 mit dem zentralen Abtastwert 575 zeigt. Wichtungslinien 576 zeigen den speziellen Wichtungsfaktor an, mit dem jeder Abtastwert 574 multipliziert wird, wobei die maximale Wichtung des Peaks bei dem zentralen Abtastwert 575 eins ist. Um ein gewichtetes Mittel zu bilden, werden die nächsten Abtastwerte zu dem Peak der Wichtungslinien 576 mit einem größeren Faktor multipliziert, während jene an den Enden, wo die Wichtungslinien die Achse treffen, mit einem kleineren Faktor multipliziert werden. In dem Fall von 16 ist die Größe des Indexverhältnisses m gleich 4, die Größe des Abtastwerts 575 wird mit l multipliziert, die Größe des Abtastwerts 577 wird mit 0,75 multipliziert, die Größe des Abtastwerts 578 wird mit 0,5 multipliziert, und die Größe des Abtastwerts 579 wird mit 0,25 multipliziert. Die Ergebnisse dieser Multiplikationen werden addiert und das Mittel wird gebildet, was in einen einzelnen repräsentative Abtastwert resultiert.
  • Das resultierende reduzierte Steuersignal 551 wird dann an einem Summierungsknoten 552 Abtastwert für Abtastwert mit einem zuvor gespeicherten, gefilterten Gelernte-Versuche-Signal 586 summiert, was in ein Gelernte-Versuche-Signal 588 resultiert. Diese Summation wird unter Verwendung des folgenden Ausdrucks ausgeführt ū[k + N – 3] = ūf[k – 3] + γē[k], 0 < γ < 1 (2.0)wobei ūf[k] das gefilterte Gelernte-Versuche-Signal 586 ist, ū[k] das Gelernte-Versuche-Signal 588 ist, N die Anzahl der gelernten Versuche pro einzelne Bewegung ist und γ die Verstärkung ist, die die Konvergenzgeschwindigkeit des Lernmoduls 465 bestimmt. Mit anderen Worten bestimmt die Verstärkung γ welcher Prozentsatz des reduzierten Steuersignals 581 zu dem gefilterten Gelernte-Versuche-Signal 586 addiert wird. Falls die Verstärkung γ zu hoch ist, wird das System unstabil. Falls sie zu niedrig gesetzt wird, dann dauert die Konvergenz zu lange und das lernende Steuermodul 465 hat keinen Effekt.
  • Das Gelernte-Versuche-Signal 586 wird im Schritt 588 unter Verwendung eines Low-Pass-Filters gefiltert und gespeichert. Die Low-Pass-Filterfunktion wird unter Verwendung der folgenden Gleichung ausgeführt ūf[k] = σūf[k – 1] + (1 – σ)ū[k], 0 < σ < 1 (3.0), die ein Filter erster Ordnung ist, was den Fachleuten bekannt ist, und die nicht im Detail diskutiert werden wird. Das resultierende gefilterte Gelernte-Versuche-Signal 584 wird im Speicher gespeichert, um mit dem reduzierten Steuersignal 581 an dem Summierungsknoten 582 aufsummiert zu werden.
  • Es ist anzumerken, daß das gefilterte Gelernte-Versuche-Signal 584 aufgrund der reduzierten Anzahl der Abtastwerte in dem Signal mit einem minimalen Speicher gespeichert werden kann. Dies resultiert aus der Reduktion des Steuersignals 428. Konsequenterweise werden die Kosten von Speichereinrichtungen, die benötigt würden, um die Anzahl von Werten mit der originalen Abtastrate zu speichern, vermieden. Außerdem führt die Reduktion des Steuersignals 428 in dieser Weise eine Filterfunktion aus, in der ein fehlerhaftes Verhalten bei dem Steuersignal 428 eliminiert wird.
  • Abschließend wird in dem Expansionsschritt 586 die Anzahl der Abtastwerte pro Zeiteinheit des Gelernte-Versuche-Signals durch Hinzufügen von Abtastwerten zu dem Signal expandiert, so daß es die Anzahl von Abtastwerten pro Zeiteinheit des originalen Steuersignals 428 trifft. Dies wird fertiggestellt durch die lineare Interpolation der fehlenden Abtastwerte, wir durch den Ausdruck festgelegt ist
    Figure 00320001
  • Diese linerare Interpolation ist grafisch in 17 gezeigt. Bei der Ausführung dieser Funktion erzeugt das Lernmodulprogramm eine Linie 591 zwischen jeweils zwei aufeinander folgenden bestehenden Abtastwerten 594 des Gelernte-Versuche-Signals 586. Die fehlenden Abtastwerte 597 werden dann berechnet und zwischen den bestehenden Abtastwerten 594 angeordnet. Das resultierende expandierte Gelernte-Versuche-Signal 473 wird zu dem Betätigungsmodul 433 (9) gesandt.
  • Aufgrund der oben beschriebenen Schritte wird das Lernmodul 465 ein expandiertes Gelernte-Versuche-Signal 473 erzeugen, das wiederholte Fehler in dem dynamischen System kompensiert. Bei der vorliegenden Erfindung ist die Betriebsweise des Lernmoduls wie zuvor beschrieben für wiederholte Bewegungen derselben allgemeinen Raumkurve vorgesehen, so daß das gefilterte gelernte Steuersignal 584, das im Speicher gespeichert ist, bei wiederholten Fehlern, die bei solchen Bewegungen auftreten, konvergieren kann. Falls die ausgeführten Bewegungen weitläufig variieren, dann wird die lernende Steuerung nicht aufgrund der wiederholten Fehler konvergieren, da die Fehler sich aufgrund der unterschiedlichen Raumkurven ihrem Grundsatz nach nicht wiederholen. So ist für Operationen, die sich nicht wiederholen, die lernende Steuerung ineffektiv.
  • Die vorliegende Erfindung erlaubt es Maschinen, die wiederholte Bewegungen ausführen, mit signifikant erhöhter Geschwindigkeit zu betreiben. Konkret wird bei verschiedenen Anwendungen, so wie bei der vorliegenden Ausführungsform, wenn die wiederholte Bewegung mit den höheren Geschwindigkeiten nur unter Verwendung einer fein abgestimmten Standard PID-Schleife, die den Fachleuten bekannt ist, durchgeführt wird, ein signifikanter maximaler Fehler in der Bewegung realisiert. Wenn die Steuersoftware 156 (9) der vorliegenden Erfindung angewendet wird, wird der Fehler, der zuvor bei der PID-Schleife beobachtet wird, um einen Faktor von 10 oder mehr reduziert. So erhöht die vorliegende Erfindung bei einem gegebenen akzeptablen Fehlerniveau die Bandbreite und dadurch die Geschwindigkeit der Ausführung der wiederholten Bewegung bis zu einem Punkt, an dem der entsprechende PID-Fehler mindestens zehnmal größer wäre.
  • Die hier offenbarten Prinzipien sind in ihrer Reichweite nicht auf die Struktur der Zusammenbaumaschine der 1 bis 11 beschränkt. Tatsächlich treffen dieselben Steuerprinzipien auf eine Maschine zu, die sich in axialer Weise bewegt oder in einer Kombination von sowohl linearer als auch axialer Bewegung. Solche Variationen von der in der vorliegenden Anmeldung illustrierten Ausführungsform sollen in den Umfang der vorliegenden Erfindung eingeschlossen sein.
  • Viele Variationen und Modifikationen können bei der bevorzugten Ausführungsform der Erfindung gemacht werden, ohne wesentlich von dem Geist und den Prinzipien der Erfindung abzuweichen. Alle solchen Modifikationen und Variationen sollen hier in den Umfang der vorliegenden Erfindung eingeschlossen sein, wie er durch die folgenden Ansprüche definiert ist.
  • Abschließend ist jegliches "Mittel" Element in den nachfol genden Ansprüchen vorgesehen, jegliche Struktur, Einrichtung, jegliches Material, jegliche Zusammensetzung oder jegliche Handlung zum Ausführen der Funktion(en) und/oder Operation(en), die im Zusammenhang mit dem Mittel angegeben ist/sind, zu spezifizieren.

Claims (18)

  1. Vorrichtung zum Erreichen von Präzisionsbewegung, mit einer Trägerstruktur, die einen Grad von Nachgiebigkeit aufweist; einem Manipulator, der innerhalb der Trägerstruktur vorgesehen ist, wobei der Manipulator zu einer gesteuerten Bewegung relativ zu einem festen Punkt in der Lage ist, wobei der Grad von Nachgiebigkeit eine äußere Verschiebung des Manipulators relativ zu dem festen Punkt hervorrufen kann, wobei die äußere Verschiebung einen größeren Wert haben kann als eine vorgegebene Positionstoleranz; einem auf ein Steuersignal reagierenden Motor, der die gesteuerte Bewegung des Manipulators verursacht; und einem Steuersystem, das das Steuersignal erzeugt und dadurch den Manipulator innerhalb der vorgegebenen Positionstoleranz positioniert, wobei das Steuersignal ein digitales Signal mit einer ersten Abtastrate ist; dadurch gekennzeichnet, dass das Steuersystem weiterhin ein Lernmodul (465) aufweist, das ein Gelernte-Versuche-Signal (473) erzeugt, welches bei einer sich wiederholenden gesteuerten Bewegung wiederholt auftretende Fehler kompensiert, wobei das Lernmodul: ein reduziertes Steuersignal mit einer zweiten Abtastrate produziert, wobei die zweite Abtastrate ein vorgegebener Wert ist, der kleiner als die erste Abtastrate ist; ein reduziertes Gelernte-Versuche-Signal mit der zweiten Abtastrate aus dem reduzierten Steuersignal und einem zuvor gespeicherten gefilterten Versuche-Signal erzeugt; mit einem Low-Pass-Filter das gefilterte Versuche-Signal durch Filtern des reduzierten Gelernte-Versuche-Signals erzeugt und speichert; und aus dem reduzierten Gelernte-Versuche-Signal das Gelernte-Versuche-Signal (473) mit der ersten Abtastrate erzeugt.
  2. Vorrichtung nach Anspruch 1, wobei die Trägerstruktur aus Komponenten ausgebildet ist, die gemäß Dimensionstoleranzen aufgebaut sind, welche größer als die vorgegebene Positionstoleranz sind.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei die Trägerstruktur nicht-steif und zu Deformationen in der Lage ist.
  4. Vorrichtung nach Anspruch 1, 2 oder 3, wobei die Trägerstruktur bewegliche Teile umfasst, die etwa gleich schwer sind wie eine Nutzlast.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei der maximale Positionsfehler des Manipulators, der während der gesteuerten Bewegung auftritt, die von dem von dem Steuersystem erzeugten Steuersignal hervorgerufen wird, etwa zehn mal kleiner ist als der maximale Positionsfehler des Manipulators, wenn er von einem gut abgestimmten Standard-PID-Regler gesteuert würde.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, wobei das Steuersystem weiterhin ein Filter aufweist zum Minimieren der Erzeugung von ungewollten Dynamiken in der Trägerstruktur, die von dem Steuersignal erzeugt werden.
  7. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei das Steuersystem weiterhin ein Wahrnehmungsmodul (459) aufweist, das ein Positionsrückkopplungssignal (427) von einer Mehrzahl von Rückkopplungssensoren (143, 146, 149, 135) erzeugt.
  8. Vorrichtung nach Anspruch 7, wobei die Mehrzahl von Rückkopplungssensoren weiterhin mindestens eine Sichteinheit (143, 146, 149) und/oder einen Enkoder (135) umfasst.
  9. Vorrichtung nach einem der Ansprüche 1 bis 8, wobei das Steuersystem weiterhin einen Raumkurvengenerator aufweist, der eine gewünschte Positionsraumkurve durch Ändern einer vorgegebenen Raumkurve erzeugt, um die gewünschte Positionsraumkurve zu erreichen, wobei die gewünschte Positionsraumkurve durch mindestens eine Positionserfassungseinrichtung festgelegt wird, wobei das Steuersignal aus der gewünschten Positionsraumkurve erzeugt wird.
  10. Vorrichtung nach Anspruch 1, wobei das Lernmodul (465) das reduzierte Steuersignal durch Verwenden des gewichteten Mittels des Steuersignals produziert.
  11. Vorrichtung nach Anspruch 1 oder 10, wobei das Lernmodul (465) das Gelernte-Versuche-Signal durch die lineare Interpolation des reduzierten Gelernte-Versuche-Signals erzeugt.
  12. Verfahren zum Steuern einer sich wiederholenden Bewegung eines Manipulators, wobei der Manipulator innerhalb einer vorgegebenen Positionstoleranz positioniert wird und wobei der Manipulator Teil einer Trägerstruktur ist, die einen Grad von Nachgiebigkeit aufweist, welche einen größeren Wert hat als die vorgegebene Positionstoleranz, mit den Schritten: Erzeugen eines Steuersignals als digitales Signal mit einer ersten Abtastrate; Steuern eines Motors basierend auf der gewünschten Raumkurve, wobei der Motor die gesteuerte Bewegung des Manipulators hervorruft; und Positionieren des Manipulators innerhalb der vorgegebenen Positionstoleranz, gekennzeichnet durch den Schritt Kompensieren von bei der sich wiederholenden gesteuerten Bewegung des Manipulators wiederholt auftretenden Fehlern durch Erzeugen eines Gelernte-Versuche-Signals basierend auf dem Steuersignal, wobei das Gelernte-Versuche-Signal verwendet wird, um die Bewegung des Manipulators zusätzlich zu dem Steuersignal zu steuern, wobei der Schritt des Kompensierens von wiederholt auftretenden Fehlern weiterhin die Schritte aufweist: Reduzieren der ersten Abtastrate des Steuersignals auf eine vorgegebene zweite Abtastrate und damit Erzeugen eines reduzierten Steuersignals; Erzeugen eines reduzierten Gelernte-Versuche-Signals basierend auf einem zuvor gespeicherten, gefilterten Gelernte-Versuche-Signals und dem reduzierten Steuersignal; Erzeugen eines gefilterten Gelernte-Versuche-Signals basierend auf dem reduzierten Gelernte-Versuche-Signals und Speichern des gefilterten Gelernte-Versuche-Signals in einem Speicher; und Erzeugen eines Gelernte-Versuche-Signals mit der ersten Abtastrate des Steuersignals durch Wiederherstellen der Abtastrate des reduzierten Gelernte-Versuche-Signals.
  13. Verfahren nach Anspruch 12, wobei der Schritt des Erzeugens des Steuersignals weiterhin die Schritte aufweist: Erzeugen einer gewünschten Positionsraumkurve, aus der das Steuersignal erzeugt wird; und Minimieren der Erzeugung von ungewollten Dynamiken in der Trägerstruktur durch Filtern der gewünschten Positionsraumkurve.
  14. Verfahren nach Anspruch 13, wobei der Schritt des Reduzierens der ersten Abtastrate des Steuersignals weiterhin den Schritt des Verwendens des gewichteten Mittels des Steuersignals mit der ersten Abtastrate aufweist.
  15. Verfahren nach Anspruch 12 oder 14, wobei der Schritt des Erzeugens eines Gelernte-Versuche-Signals mit der ersten Abtastrate des Steuersignals weiterhin den Schritt des Erzeugens des Gelernte-Versuche-Signals durch lineare Interpolation des reduzierten Gelernte-Versuche-Signals aufweist.
  16. Verfahren nach einem der Ansprüche 12 bis 15, wobei der Schritt des Minimierens der Erzeugung von ungewollten Dynamiken in der Trägerstruktur durch Filtern der gewünschten Positionsraumkurve weiterhin die Schritte aufweist: Berechnen eines ersten Koeffizienten C1, wobei C1 = 1/M, wobei M ein Skalierungsfaktor ist, Berechnen eines zweiten Koeffizienten C2 mit C2 = –2cos(ωn_1 – ξ2T)e–ξωnT/M, wobei ωn gleich der Eigenfrequenz der Trägerstruktur ist, ξ gleich dem Dämpfungsverhältnis der Trägerstruktur ist und T gleich einer willkürlichen Zeitverzögerung ungleich null ist; Berechnen eines dritten Koeffizienten C3 mit C3 = e–2ξωnT/M; und Filtern der gewünschten Positionsraumkurve u(t) unter Verwendung eines digitalen Filters der Form x(t) = C1u(t) + C2u(t – T) + C3u(t – 2T), wobei x(t) die gefilterte Positionsraumkurvenausgabe ist.
  17. Verfahren nach einem der Ansprüche 12 bis 16, das weiterhin den Schritt des Erzeugens eines Positionsrückkopplungssignals (427) von einer Mehrzahl von Rückkopplungssensoren (143, 146, 149, 135) umfasst, aus denen die gewünschte Positionsraumkurve bestimmt wird.
  18. Verfahren nach Anspruch 16, wobei der Schritt des Erzeugens des Positionsrückkopplungssignals weiterhin die Schritte aufweist: Erzeugen von Sichtpositionsdaten (451) unter Verwendung von Sichteinheiten; und Erzeugen von Enkoderpositionsdaten (447) unter Verwendung eines Enkoders.
DE19781682A 1996-04-05 1997-04-03 Präzisionsvorrichtung mit nicht-steifer, nicht-präziser Struktur und Verfahren zum Betreiben derselben Expired - Lifetime DE19781682B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US1490996P 1996-04-05 1996-04-05
US60/014,909 1996-04-05
PCT/US1997/005548 WO1997038361A1 (en) 1996-04-05 1997-04-03 Precision apparatus with non-rigid, imprecise structure, and method for operating same

Publications (1)

Publication Number Publication Date
DE19781682B4 true DE19781682B4 (de) 2009-07-30

Family

ID=21768498

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19781682A Expired - Lifetime DE19781682B4 (de) 1996-04-05 1997-04-03 Präzisionsvorrichtung mit nicht-steifer, nicht-präziser Struktur und Verfahren zum Betreiben derselben
DE19781682T Withdrawn DE19781682T1 (de) 1996-04-05 1997-04-03 Präzisionsvorrichtung mit nicht-steifer, nicht-präziser Struktur und Verfahren zum Betreiben derselben

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE19781682T Withdrawn DE19781682T1 (de) 1996-04-05 1997-04-03 Präzisionsvorrichtung mit nicht-steifer, nicht-präziser Struktur und Verfahren zum Betreiben derselben

Country Status (4)

Country Link
US (1) US5946449A (de)
AU (1) AU2437097A (de)
DE (2) DE19781682B4 (de)
WO (1) WO1997038361A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990033511A (ko) * 1997-10-24 1999-05-15 전주범 가상 현실 운동 재현기의 구동 제어 장치
US6242880B1 (en) 1998-09-08 2001-06-05 Cimplus, Inc. Tolerance based motion control system
US6961628B2 (en) * 1999-04-16 2005-11-01 Siemens Energy & Automation, Inc. Method and apparatus for tuning compensation parameters
US6611823B1 (en) * 2000-04-20 2003-08-26 Board Of Regents, The University Of Texas System Backlash compensation using neural network
US7080055B2 (en) * 2000-10-03 2006-07-18 Board Of Regents, The University Of Texas System Backlash compensation with filtered prediction in discrete time nonlinear systems by dynamic inversion using neural networks
US7158840B2 (en) 2001-06-29 2007-01-02 Cymer, Inc. Tuning control parameters of vibration reduction and motion control systems for fabrication equipment and robotic systems
US6898484B2 (en) 2002-05-01 2005-05-24 Dorothy Lemelson Robotic manufacturing and assembly with relative radio positioning using radio based location determination
DE10312644A1 (de) * 2003-03-21 2004-09-30 Olympus Biosystems Gmbh Verfahren und Vorrichtung zum Verstellen eines Elements
JP4276626B2 (ja) * 2003-05-20 2009-06-10 富士通株式会社 バックラッシュ補償制御方法、バックラッシュ補償制御装置およびバックラッシュ補償制御プログラム
US7081729B2 (en) * 2004-03-23 2006-07-25 The Boeing Company Variable-structure diagnostics approach achieving optimized low-frequency data sampling for EMA motoring subsystem
US7189909B2 (en) * 2004-11-23 2007-03-13 Román Viñoly Camera assembly for finger board instruments
US7792604B2 (en) 2005-03-23 2010-09-07 Hurco Companies, Inc. Method of performing additive lookahead for adaptive cutting feedrate control
DE102005028872B3 (de) * 2005-06-22 2006-08-03 Siemens Ag Maschine mit einem entlang einer Traverse bewegbaren Maschinenelement
US8024068B2 (en) 2006-08-04 2011-09-20 Hurco Companies, Inc. Machine tool control system
EP2049958B1 (de) * 2006-08-04 2012-09-19 Hurco Companies Inc. System und verfahren zur verwaltung der verwendung von werkzeugen
US7933677B2 (en) * 2006-08-04 2011-04-26 Hurco Companies, Inc. System and method for surface finish management
US8725283B2 (en) * 2006-08-04 2014-05-13 Hurco Companies, Inc. Generalized kinematics system
DE102007017578A1 (de) * 2007-04-13 2008-10-16 Kuka Roboter Gmbh Robotersteuerung, Industrieroboter und Verfahren zum Erhalten eines absolutgenauen Modells
US8473103B2 (en) * 2009-01-27 2013-06-25 Fanuc Robotics America, Inc. Secondary position feedback control of a robot
US8626329B2 (en) * 2009-11-20 2014-01-07 Agr Automation Ltd. Product assembly system and control software
US9669432B2 (en) 2013-08-27 2017-06-06 Te Connectivity Corporation Component feeding system
US9427872B1 (en) * 2014-12-21 2016-08-30 Google Inc. Devices and methods for encoder calibration
US10201901B2 (en) * 2015-01-29 2019-02-12 Canon Kabushiki Kaisha Robot apparatus, method for controlling robot, program, and recording medium
CN108602187A (zh) * 2015-09-09 2018-09-28 碳机器人公司 机械臂系统和物体躲避方法
JP6852450B2 (ja) * 2017-02-17 2021-03-31 セイコーエプソン株式会社 表示方法およびロボットシステム
JP7003454B2 (ja) * 2017-06-15 2022-01-20 オムロン株式会社 制御装置、位置制御システム、位置制御方法、および、位置制御プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3408523A1 (de) * 1984-03-08 1985-09-12 Siemens AG, 1000 Berlin und 8000 München Verfahren zur ueberwachung der durch die steuerung der antriebe einer rechnergesteuerten werkzeugmaschine oder eines industrieroboters erzeugten bahn
DE3635076A1 (de) * 1986-10-15 1988-04-28 Messerschmitt Boelkow Blohm Roboteranlage mit beweglichen manipulatoren
DE3724428A1 (de) * 1987-07-23 1989-02-02 Christian Loeffler Verfahren zur direkten speicherung eines bewegungsablaufes in echtzeit und exakter wiedergabe dieser bewegung sowohl in zeit als auch ort
DE3922524A1 (de) * 1989-07-08 1991-01-17 Kuka Schweissanlagen & Roboter Verfahren zur regelung der bewegungen einer achse an programmgesteuerten maschinen und regelsystem
DE4111354A1 (de) * 1991-04-09 1992-10-22 Bodenseewerk Geraetetech Einrichtung zur fuehrung des endeffektors eines roboters laengs einer sollbahn
DE3786477T2 (de) * 1986-04-14 1994-02-17 Ibm Mehrfacher Roboterantrieb.

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2801351A (en) * 1952-10-27 1957-07-30 Calvert Method and apparatus for control of system output in response to system input
DE3244307A1 (de) * 1982-11-30 1984-05-30 Siemens AG, 1000 Berlin und 8000 München Robotersteuerung
US4618938A (en) * 1984-02-22 1986-10-21 Kla Instruments Corporation Method and apparatus for automatic wafer inspection
US4603284A (en) * 1984-06-05 1986-07-29 Unimation, Inc. Control system for manipulator apparatus with resolved compliant motion control
US4998206A (en) * 1988-07-29 1991-03-05 The Boeing Company Automated method and apparatus for fabricating sheet metal parts and the like using multiple manufacturing stations
US4860215A (en) * 1987-04-06 1989-08-22 California Institute Of Technology Method and apparatus for adaptive force and position control of manipulators
US4990840A (en) * 1988-02-19 1991-02-05 The Cross Company Method and system for controlling a machine tool such as a turning machine
JPH0683976B2 (ja) * 1988-03-15 1994-10-26 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン コンプライアンス制御方法
US4916635A (en) * 1988-09-12 1990-04-10 Massachusetts Institute Of Technology Shaping command inputs to minimize unwanted dynamics
US4977494A (en) * 1989-02-17 1990-12-11 Hughes Aircraft Company High speed digital motion controller architecture
US5315526A (en) * 1989-12-07 1994-05-24 Okuma Corporation Numerically controlled lathe
US5049797A (en) * 1990-07-02 1991-09-17 Utah State University Foundation Device and method for control of flexible link robot manipulators
US5255199A (en) * 1990-12-14 1993-10-19 Martin Marietta Energy Systems, Inc. Cutting tool form compensaton system and method
US5220262A (en) * 1992-02-25 1993-06-15 Cincinnati Milacron, Inc. Method and apparatus for reducing cross-coupled movement through the structural dynamics of a computer numerically controlled machine
US5546508A (en) * 1992-04-03 1996-08-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Controlling flexible robot arms using high speed dynamics process
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
US5594309A (en) * 1994-06-15 1997-01-14 Iowa State University Research Foundation, Inc. Robot control scheme

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3408523A1 (de) * 1984-03-08 1985-09-12 Siemens AG, 1000 Berlin und 8000 München Verfahren zur ueberwachung der durch die steuerung der antriebe einer rechnergesteuerten werkzeugmaschine oder eines industrieroboters erzeugten bahn
DE3786477T2 (de) * 1986-04-14 1994-02-17 Ibm Mehrfacher Roboterantrieb.
DE3635076A1 (de) * 1986-10-15 1988-04-28 Messerschmitt Boelkow Blohm Roboteranlage mit beweglichen manipulatoren
DE3724428A1 (de) * 1987-07-23 1989-02-02 Christian Loeffler Verfahren zur direkten speicherung eines bewegungsablaufes in echtzeit und exakter wiedergabe dieser bewegung sowohl in zeit als auch ort
DE3922524A1 (de) * 1989-07-08 1991-01-17 Kuka Schweissanlagen & Roboter Verfahren zur regelung der bewegungen einer achse an programmgesteuerten maschinen und regelsystem
DE4111354A1 (de) * 1991-04-09 1992-10-22 Bodenseewerk Geraetetech Einrichtung zur fuehrung des endeffektors eines roboters laengs einer sollbahn

Also Published As

Publication number Publication date
DE19781682T1 (de) 1999-04-29
WO1997038361A1 (en) 1997-10-16
US5946449A (en) 1999-08-31
AU2437097A (en) 1997-10-29

Similar Documents

Publication Publication Date Title
DE19781682B4 (de) Präzisionsvorrichtung mit nicht-steifer, nicht-präziser Struktur und Verfahren zum Betreiben derselben
DE102012104194B4 (de) Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
DE60129009T2 (de) Bewegungskorrektur eines industrieroboters
DE102011011681B4 (de) Roboter mit einer Lernsteuerfunktion
DE102010036500B4 (de) Steuervorrichtung für einen Elektromotor mit einer Funktion zum zeitgleichen Bestimmen von Trägheit und Reibung
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
DE2330054C2 (de) Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes
DE102019007720B4 (de) Robotervorrichtung
EP0866390B1 (de) Verfahren zur Steuerung von Koordinatenmessgeräten nach Solldaten
DE19963414B4 (de) Numerisch gesteuertes System und für das System zu verwendende Totgang-Kompensationsvorrichtung
DE102017001305A1 (de) Fehlerdiagnosevorrichtung eines Robotersystem zum Beurteilen eines Fehlers anhand eines Kamerabildes
DE112009001414T5 (de) Bearbeitungssystem, Steuerungseinrichtung, Steuerungsverfahren und Programm
DE102006055917B4 (de) Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells
DE102014224193B4 (de) Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters
DE102021107495A1 (de) Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern
DE102020100803B4 (de) Folgeroboter und Roboterarbeitssystem
DE10255585B4 (de) Verfahren und Vorrichtung zum Bestimmen einer zulässigen Geschwindigkeit eines Objektes und zum Steuern des Objektes
DE4212455C2 (de) Verfahren zur Messung von Formelementen auf einem Koordinatenmeßgerät
DE4338223B4 (de) System zur Erfassung von Fehlern in einer Lackierung
DE19841716A1 (de) Steuerungsverfahren und numerische Steuerung zur Bewegungsführung von industriellen Bearbeitungsmaschinen
EP0985989B1 (de) Verfahren und Einrichtung zum Verbessern des dynamischen Verhaltens eines Roboters
DE112017000153T5 (de) Steuerparameter-Einstellvorrichtung
WO1998010339A1 (de) Verfahren und vorrichtung zur steuerung der bewegung eines trägers
DE102016009436B4 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist
DE102019004545B4 (de) Automatische Maschine und Steuervorrichtung für Automatische Maschine