DE10393527T5 - Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung - Google Patents

Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung Download PDF

Info

Publication number
DE10393527T5
DE10393527T5 DE10393527T DE10393527T DE10393527T5 DE 10393527 T5 DE10393527 T5 DE 10393527T5 DE 10393527 T DE10393527 T DE 10393527T DE 10393527 T DE10393527 T DE 10393527T DE 10393527 T5 DE10393527 T5 DE 10393527T5
Authority
DE
Germany
Prior art keywords
dimensional
curve
describes
curves
electronically controlled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10393527T
Other languages
English (en)
Inventor
Walter E. Provo Red
Robert M. Provo Cheatham
C. Gregory Provo Jensen
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.)
Brigham Young University
Original Assignee
Brigham Young University
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 Brigham Young University filed Critical Brigham Young University
Publication of DE10393527T5 publication Critical patent/DE10393527T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35126Bezier or Ferguson surface
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35133B-spline surface fitting
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35146Enter data, calculate 3-D curve or surface, sculptured surface, okisurf
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35151Modeling geometric, generation or forming of curved surface
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Verfahren zum Steuern eines Mechanismus' unter Verwendung höher-dimensionaler n-Kurven, umfassend:
Bereitstellen eines elektronisch gesteuerten Mechanismus';
Herstellen einer elektronischen Kommunikation durch einen Computer mit dem elektronisch gesteuerten Mechanismus;
Ausführen einer Steuerung auf dem Computer, um Maschinenbefehle an den elektronisch gesteuerten Mechanismus zu senden; und
Ausführen von Prozesssteuerungssoftware zum Steuern des elektronisch gesteuerten Mechanismus', wobei die Prozesssteuerungssoftware höher-dimensionale n-Kurven zur Steuerung des elektronisch gesteuerten Mechanismus' verwendet.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein das Gebiet des computergestützten Designs (CAD) und der computergestützten Fertigung (CAM). Insbesondere betrifft die vorliegende Erfindung Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Mechanische Systeme für computergestütztes Design (CAD) und computergestützte Fertigung (CAM) gibt es seit vielen Jahren. Zu Beginn wurden CAD/CAM-Systeme zur Herstellung detaillierter Designs von mechanischen Teilen und zur Dokumentierung von Designs unter Verwendung von Anmerkungen wie beispielsweise Abmessungen und Bemerkungen verwendet. CAD/CAM-Systeme verbreiteten sich dann schrittweise in andere Gebiete hinein, wie beispielsweise Analyse und Fertigung. Wenn Teile mittels CAD/CAM-Systemen konstruiert werden, so erstellt das System Computermodelle der Teile. Nachdem ein Teil auf einem CAD/CAM-System konstruiert wurde, können Werkzeugpfade ausgearbeitet werden, um die maschinelle Bearbeitung des Teils zu automatisieren. Werkzeugpfade steuern den Betrieb der Werkzeugmaschine, während das Werkzeug das Teil aus dem Rohmaterial herausarbeitet. Ein CAD-System wird verwendet, um Modelle des Teils zu erstellen, zu dokumentieren und zu analysieren, während ein CAM-System dazu dient, anhand des Konstruktionsmodells Werkzeugpfade zu erstellen.
  • Bis heute haben CAD/CAM-Systeme eine breite Anwendung in der Fertigungsindustrie gefunden. CAD-Technologie dient in der Regel dazu, ein oder mehrere Teile eines Fabrikats zu konstruieren. Während des Fertigungsprozesses kommen dann automatisierte Mechanismen (beispielsweise Roboter) zum Einsatz, um die Teile zu verschweißen, zu lackieren, zu vermessen und zu einem Erzeugnis zu montieren. Beispielsweise kann ein Teil mittels einer Spritzpistole lackiert werden, die mittels eines Werkzeugs oder Roboters entlang der Oberfläche des Teils bewegt wird. In ähnlicher Weise kann ein Teil mittels eines kontaktlosen Vermessungssensors, der mittels eines Roboters entlang der Oberfläche des Teils bewegt wird, auf Mängel untersucht werden. In beiden Fällen kann CAM-Technologie verwendet werden, um die Bewegungen des Roboters zu lenken.
  • In dem Maße, wie CAD/CAM-Systeme zur Durchführung komplexerer Aufgaben verwendet werden, wird es immer schwieriger, die Mechanismen oder Werkzeuge effektiv und effizient zu steuern. Es wäre darum von Vorteil, wenn Mittel zur Verfügung ständen, die eine effiziente und effektive Steuerung der Mechanismen und/oder Werkzeuge, die in CAD/CAM-Systemen verwendet werden, ermöglichen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Es werden nicht-erschöpfende Ausführungsformen der Erfindung anhand der Figuren beschrieben.
  • 1 ist ein Blockschaubild eines Systems zum Steuern einer Werkzeugbewegung mittels komplexer n-Kurven.
  • 2 ist ein Blockschaubild eines weiteren Systems zum Steuern einer Werkzeugbewegung mittels komplexer n-Kurven.
  • 3 ist ein Blockschaubild von Hardwarekomponenten einer Ausführungsform eines Computersystems.
  • 4 ist ein Ablaufdiagramm, das ein Verfahren zum Verwenden von Kurvendefinitionen für die Steuerung eines elektronisch gesteuerten Mechanismus' veranschaulicht.
  • 5 ist ein allgemeines Software-Blockschaubild eines weiteren Systems zum Steuern einer Werkzeugbewegung mittels komplexer n-Kurven.
  • 6 ist eine dreidimensionale Kurvendarstellung, die das Werkzeug eines Mechanismus' zeigt, das entlang einer komplexen Kurve auf einer komplexen Oberfläche bewegt wird.
  • 7 ist eine Kurvendarstellung eines Werkzeugpfades, die eine zusammengesetzte Folge kleiner segmentierter linearer oder kreisbogenförmiger (inkrementeller) Bewegungen veranschaulicht.
  • 8 ist ein Ablaufdiagramm, das ein Verfahren zum Verwenden von Kurvendefinitionen für die direkte Steuerung eines elektronisch gesteuerten Mechanismus' veranschaulicht.
  • 9 veranschaulicht, dass kartesische parametrische n-Kurven in der Regel eine Position entlang der Kurve zu einem Kurvenparameter in Beziehung setzen, der die Grenzen oder die Ausdehnung der Kurve beschreibt.
  • 10 veranschaulicht, dass die Steuerung der Werkzeugbewegung oftmals erfordert, dass sowohl die Werkzeugposition als auch die Werkzeugausrichtung gemäß prozessbezogenen Beschränkungen verändert werden.
  • 11 zeigt, dass Pfad- und Bewegungssteuerungsparameter zu einem n-dimensionalen Sollwertvektor zusammengefasst werden können.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Es wird ein Verfahren zum Steuern eines Mechanismus' mittels höher-dimensionaler n-Kurven offenbart. Es wird ein elektronisch gesteuerter Mechanismus bereitgestellt. Es wird eine elektronische Kommunikation zwischen einem Computer und dem elektronisch gesteuerten Mechanismus hergestellt. Auf dem Computer läuft oder arbeitet eine Steuerung, die Maschinenbefehle an den elektronisch gesteuerten Mechanismus sendet. Mittels Prozesssteuerungssoftware werden Steuerbefehle an die Steuerung geleitet. Die Prozesssteuerungssoftware und die Steuerung verwenden höher-dimensionale n-Kurven zur Steuerung des elektronisch gesteuerten Mechanismus'.
  • Die höher-dimensionale n-Kurve kann eine Vielfalt verschiedener Parameter beschreiben. Die n-Kurve kann beispielsweise, und nicht ausschließlich, die mechanische Position, die Ausrichtung des Mechanismus', die Schweißspannung, die Kleberate, die Laserintensität und -brennweite, die Spindeldrehzahl, die Vorschubrate, die kartesische Bewegung, die Ausrichtungsbewegung, die Geschwindigkeit usw. beschreiben. Die höher-dimensionale n-Kurve kann Unterteilungs-, B-Spline-, ungleichmäßige rationale B-Spline- und Bezier-Mathematik beinhalten.
  • Der elektronisch gesteuerte Mechanismus kann in einer breiten Vielfalt unterschiedlicher Vorrichtungen verkörpert sein. Beispielsweise kann es sich bei dem elektronisch gesteuerten Mechanismus um eine Werkzeugmaschine oder einen Roboter handeln.
  • Es wird außerdem ein Verfahren zur Direktsteuerung eines Mechanismus' mittels höher-dimensionaler n-Kurven offenbart. Es wird ein elektronisch gesteuerter Mechanismus bereitgestellt. Es wird eine elektronische Kommunikation zwischen einem Computer und dem elektronisch gesteuerten Mechanismus hergestellt. Auf dem Computer läuft oder ar beitet eine Steuerung, die Maschinenbefehle an den elektronisch gesteuerten Mechanismus sendet. Mittels Prozesssteuerungssoftware wird der elektronisch gesteuerte Mechanismus direkt gesteuert, ohne dass eine nachträgliche Umarbeitung in Zwischenprogrammiersprachen oder -dateien wie beispielsweise APT-, CL- oder M&G-Code (durch den Standard EIA RS-274-D und spätere Revisionen definiert) erforderlich ist. Die Prozesssteuerungssoftware verwendet höher-dimensionale n-Kurven zur Steuerung des elektronisch gesteuerten Mechanismus'. Die Prozesssteuerungssoftware erzeugt außerdem Befehle, die direkt von der Steuerung verwendet werden können.
  • Die Prozesssteuerungssoftware kann je nach dem Anwendungsumfeld verschieden konfiguriert sein. Bei einer Ausführungsform verwendet die Prozesssteuerungssoftware eine einzige komplexe n-Kurve. Bei einer anderen Ausführungsform verwendet die Prozesssteuerungssoftware jede beliebige Kombination komplexer n-Kurven.
  • Es wird ein System zum Steuern eines Mechanismus' mittels höher-dimensionaler n-Kurven offenbart. Das System enthält einen elektronisch gesteuerten Mechanismus, der mit einem Computer elektronisch kommuniziert. Der Computer enthält einen oder mehrere Prozessoren, einen Speicher, der mit dem einen oder den mehreren Prozessoren elektronisch kommuniziert, sowie Prozesssteuerungssoftware. Die Prozesssteuerungssoftware dient dazu, Steuerbefehle zur Steuerung zu leiten, die dann den Mechanismus elektronisch steuert. Die Prozesssteuerungssoftware arbeitet mit höher-dimensionalen n-Kurven, um den elektronisch gesteuerten Mechanismus zu steuern.
  • Es wird außerdem ein System zur Direktsteuerung eines Mechanismus' mittels höher-dimensionaler n-Kurven offenbart. Das System enthält einen elektronisch gesteuerten Mechanismus, der mit einem Computer elektronisch kommuni ziert. Der Computer enthält einen oder mehrere Prozessoren, einen Speicher, der mit dem einen oder den mehreren Prozessoren elektronisch kommuniziert, sowie Prozesssteuerungssoftware. Die Prozesssteuerungssoftware dient dazu, Steuerbefehle zur Steuerung zu leiten, die dann den Mechanismus elektronisch steuert. Die Prozesssteuerungssoftware und die Steuerung arbeiten mit höher-dimensionalen n-Kurven, um den elektronisch gesteuerten Mechanismus zu steuern. Die Prozesssteuerungssoftware erzeugt Befehle, die direkt von der Steuerung verwendet werden können.
  • 1 ist ein Blockschaubild des Systems 100 zum Steuern einer Werkzeugbewegung mittels komplexer n-Kurven. Das System enthält einen Computer 102, der mit einem elektronisch gesteuerten Mechanismus 104 elektronisch kommuniziert, bei dem es sich um ein Werkzeug, einen Roboter, einen Sensor usw. handeln kann. Dem Fachmann ist klar, dass weitere Computer verwendet werden können, wobei die Prozesse und Funktionen, die weiter unten offenbart werden, über mehrere Computersysteme verteilt werden. Eine Softwaresteuerung 106 steuert den elektronisch gesteuerten Mechanismus 104 über Maschinenbefehle 108, die an den Mechanismus 104 gesendet werden. Die Prozesssteuerungssoftware 110 gibt Befehle 112 an die Softwaresteuerung 106, anhand derer die Softwaresteuerung 106 die Maschinenbefehle 108 bestimmt, die an den Mechanismus 104 zu senden sind.
  • Bei der Prozesssteuerungssoftware 110 kann es sich um jede beliebige Art von Software handeln, die eine Prozesssteuerung ermöglicht, einschließlich beispielsweise Software für computergestützte Fertigung (CAM), Robotersimulationsanwendungssoftware, Koordinatenmessgerätesoftware (CMM) und Werkssteuerungs- und -planungssoftware.
  • Die Prozesssteuerungssoftware 110 verwendet eine oder mehrere Kurvendefinitionen 114 zum Steuern des elektronisch gesteuerten Mechanismus' 104 über die Steuerung 106. Die Kurvendefinitionen 114 können jede beliebige Anzahl von Parametern definieren, die sich auf den elektronisch gesteuerten Mechanismus 104 beziehen, einschließlich beispielsweise Oberflächengeometrien, Kurvengeometrien und Mechanismusbewegungs- und -steuerungsparameter.
  • Bei dem hier offenbarten System können die Kurvendefinitionen 114 durch Unterteilungs-, B-Spline-, ungleichmäßige rationale B-Spline- (Non-Uniform Rational B-Spline – NURBS) und Bezier-Mathematik beschrieben werden. Allgemeiner ausgedrückt, können die Kurvendefinitionen 114 durch alle algebraischen, polynomischen und parametrischen Kurven- und Oberflächenformeln beschrieben werden. Der Begriff "n-Kurve" meint im Sinne des vorliegenden Textes jegliche allgemeine algebraische, polynomische oder parametrische Kurve oder Oberfläche, die in einer solchen Weise konstruiert ist, dass Positions- und/oder Lage- und/oder Prozessparameter zu einem Einzel- oder Mehrkurvenausdruck kombiniert werden.
  • 2 veranschaulicht ein System 200, das eine alternative Ausführungsform des Systems 100 von 1 darstellt. In 2 befinden sich die Prozesssteuerungssoftware 210 und die Steuerung 206 auf verschiedenen Computersystemen 202, 203, die über ein Computernetzwerk 220 elektronisch miteinander kommunizieren. Das Computersystem 203 mit der Softwaresteuerung 206 kommuniziert elektronisch mit dem Mechanismus 204. Das Prozesssteuerungscomputersystem 202 und das Softwaresteuerungscomputersystem 203 können über viele verschiedene Arten von Computervernetzungstechnologien miteinander kommunizieren, wie dem Fachmann bekannt ist.
  • 3 ist ein Blockschaubild von Hardwarekomponenten einer Ausführungsform eines Computersystems 302. Es können viele verschiedene Arten von Computersystemen verwendet werden, um die hier veranschaulichten Computer 302 zu implementieren. Das Schaubild von 3 veranschaulicht typische Komponenten eines Computers 302 mit einem Prozessor 304, einem Speicher 30b, einer Speichervorrichtung 308 und einem oder mehreren Kommunikationsports 310. Ein Bus 312 verbindet alle Komponenten in dem Computer 302 elektronisch miteinander. Jede dieser Komponenten ist dem Fachmann bekannt.
  • Dem Fachmann ist klar, dass in den Computer 302 noch mehr Komponenten integriert sein können, wie beispielsweise verschiedene Eingabegeräte 314 wie Tastatur, Maus, Joystick usw. Des Weiteren können verschiedene Ausgabegeräte 316 enthalten sein, wie beispielsweise ein Bildschirm, ein Drucker usw. Dem Fachmann ist somit klar, dass dem Computer 302 weitere Komponenten hinzugefügt werden können, ohne dass der Computer seine Fähigkeit verliert, als der Computer 302 zu fungieren.
  • Bei dem Computer 302 kann es sich um einen herkömmlichen Schreibtischrechner handeln. Schreibtischrechner sind auf dem freien Markt erhältlich. Dem Fachmann leuchtet allerdings ein, dass es sich bei dem Computer 302 um einen breit definierten digitalen Computer handelt. Ein Computer 302 ist im Sinne des vorliegenden Textes ein jedes Gerät, das einen digitalen Prozessor enthält, der Daten empfangen und verarbeiten kann. Ein Computer 302 umfasst die breite Palette der digitalen Computer, einschließlich Mikrosteuerungen, handhaltbarer Computer, Personalcomputer, Server, Großrechner, Supercomputer und jeglicher Abarten oder zugehöriger Geräte solcher Computer. Derzeit ist der Computer 302 in der Regel ein IBM-kompatibler Personalcomputer, der mit dem Betriebssystem Linux oder Microsoft Windows arbeitet. Natürlich können auch andere Arten von Computern mit anderen Betriebssystemen verwendet werden. Beispielsweise kann ein Apple-Computer oder eine Unix-Workstation als Computer 302 verwendet werden.
  • 4 ist ein Ablaufdiagramm, das ein Verfahren zum Verwenden von Kurvendefinitionen 114 für die Steuerung eines elektronisch gesteuerten Mechanismus' 104 veranschaulicht. Zuerst werden die Kurvendefinitionen 114 für den Zielmechanismus 104 definiert 402. Die Kurvendefinitionen 114 sind je nach der Art des Werkzeugs, des Prozesses, der Maschine usw., die gesteuert wird, verschieden. Die Kurvendefinitionen 114 werden von der Prozesssteuerungssoftware 110 verwendet, um die Befehle zu bestimmen 404, die an die Steuerung 106 zu senden sind, um den Mechanismus 104 zu steuern.
  • Die Prozesssteuerungssoftware 110 erzeugt 406 Befehle für die Steuerung 106. Die Steuerung 106 verarbeitet 408 die Befehle und sendet zugehörige Maschinenbefehle an den Mechanismus 104. Die Softwaresteuerung 106 wandelt die Befehle in Maschinenbefehle um. Maschinenbefehle sind Anweisungen, die direkt an den Mechanismus 104 gesandt werden können und vom Mechanismus 104 verstanden werden. Wenn der Mechanismus 104 die Maschinenbefehle empfängt, so arbeitet er so, wie die Maschinenbefehle es anweisen. Wenn der Prozess abgeschlossen ist 412, so kann das gezeigte Verfahren enden. Wenn eine weitere Steuerung erforderlich ist, so bestimmt 404 die Prozesssteuerungssoftware 110 erneut die Befehle anhand der Kurvendefinitionen 114, und die gezeigten Schritte können wiederholt werden.
  • 5 ist ein allgemeines Software-Blockschaubild eines weiteren Systems 500 zum Steuern einer Werkzeugbewegung mittels komplexer n-Kurven. Die Softwaresteuerung 506 steuert den elektronisch gesteuerten Mechanismus 104 oder das Werkzeug über Maschinenbefehle 108, die an den Mechanismus 104 gesandt werden. CAM-Software (Software für computergestützte Fertigung) 502 erzeugt Befehle für die Softwaresteuerung 506, anhand derer die Steuerung 506 Maschinenbefehle 108 bestimmt, die an den Mechanismus 104 gesandt werden.
  • Die CAM-Software 502 enthält eine Prozessplanung 512, die Werkzeugpfade 514 erzeugt, wie weiter unten noch besprochen wird. Ein interner Bewegungsbahngenerator 516 ist ebenfalls enthalten, um Datenpunkte zur Steuerung des Mechanismus' 104 zu erzeugen. Die CAM-Software 502 verwendet in der Regel ein mittels computergestütztem Design (CAD) erzeugten Teilmodells 518. Die CAM-Software 502 kann direkt mit der Steuerung 506 kommunizieren, oder sie 502 kann Daten im Datenspeicher 520 speichern. Die Steuerung 506 kann auf den Datenspeicher 520 zugreifen, um verschiedene Arten von Daten oder Informationen zu speichern und/oder abzurufen, wie im vorliegenden Text offenbart wird.
  • Eine derzeitige und häufige Klasse von n-Kurven (NURBS) wird im vorliegenden Text als ein Beispiel verwendet, um aufzuzeigen, was für ein leistungsfähiges und effizientes Steuerungsverfahren die Prozesssteuerungssoftware 102 oder CAM-Software 502 ist. Der Begriff "n-Kurve" beinhaltet beispielsweise, und nicht ausschließlich, alle existierenden Formeln algebraischer, polynomischer und parametrischer Kurven, beispielsweise Unterteilung, Bezier, Hermite, Gordon, B-Splines, Splines, NURBS usw. NURBS wird im vorliegenden Text als ein Beispiel verwendet, um die allgemeine Klasse komplexer, parametrisch beschriebener Kurven darzustellen. Der Begriff "Kurve" umfasst die mathematische Darstellung der Änderung von Position, Ausrichtung (Lage) oder sonstiger Parameter, die zu einem Mechanismus gehören. Eine parametrische n-Kurve ist die mathematische Darstellung von Werkzeugpositions-, Ausrichtungs- (Lage-) und Prozessparametern, die sich in Abhängigkeit von einem Wegparameter ändern. Dieser Wegparameter wird oft mit der Variable u bezeichnet.
  • Die direkte Steuerung komplexer Maschinenbewegungen (beispielsweise des elektronisch gesteuerten Mechanismus' 104) ist definiert als die Verwendung algebraischer und para metrischer n-Kurvenpfadbeschreibungen zur Steuerung der Bewegung von Effektoren und maschinellen Werkzeugen, die ein Teil des Mechanismus' 104 sind, ohne dass eine Umwandlung in Zwischenprogrammiersprachen oder -dateien notwendig ist. Anstelle dieser Zwischenprogrammiersprachen oder -dateien sendet die Prozesssteuerungssoftware 110 Befehle direkt an die Softwaresteuerung 106. Die Steuerung der Bewegung entlang parametrischer n-Kurven ist nicht einfach, weil die Pfadparameter in keiner linearen Beziehung zur Pfadlänge stehen, wie beispielsweise in Linien und Kreisbögen. Das maschinelle Herausarbeiten solcher komplexer Geometrien oder die Bewegung entlang solcher komplexer Geometrien mit mitunter als Profil- oder Konturenbearbeitung bzw. -bewegung bezeichnet.
  • 6 ist eine dreidimensionale Kurvendarstellung 600, die das Werkzeug 606 eines Mechanismus' zeigt, das entlang einer komplexen Kurve 610 auf einer komplexen Oberfläche 612 bewegt wird. In der Kurvendarstellung sind verschiedene Parameter gezeigt. Ein Positionsvektor p 602 markiert einen Sollwert 604 am Werkzeug 606. Ein Einheitsvektor e 608 richtet die Mittelachse des Werkzeugs 606 aus. Die Geschwindigkeit v des Werkzeugs 606 entlang der Kurve 610 ist ebenfalls veranschaulicht. Der Rahmen X-Y-Z dient als Referenz für die Pfadparameter. Der Liste der hier genannten Pfadparameter könnten noch weitere Parameter hinzugefügt werden. Wenn das Werkzeug 606 gedreht wird, so könnte beispielsweise die Spindeldrehzahl als weiterer Parameter in Betracht gezogen werden. Als weitere nichteinschränkende Beispiele seien die Schweißspannung, die möglicherweise entlang eines Teils mit schwankender Dicke verändert werden muss, die Kleberate einer Klebstoffabgabevorrichtung und die Laserintensität und -brennweite genannt.
  • Als Erklärung sei angemerkt, dass die CAM-Prozessplanungssoftware 502 als eine Ausführungsform der Prozess steuerungssoftware 110 verwendet werden kann. Der Fachmann erkennt jedoch, dass jede Simulationssoftware, die eine Arbeitszellen- oder Teilgeometrie zu einem Fertigungsprozess in Beziehung setzt, ebenfalls in Verbindung mit den hier offenbarten erfindungsgemäßen Prinzipien verwendet werden kann. Die Aufgabenplanungsaktivitäten, die derzeit für die Planung eines Fertigungsprozesses verwendet werden, sind indirekt.
  • Die typische CAM-Anwendung 502 verwendet ein mittels computergestütztem Design (CAD) erzeugtes Teilmodell 518 in Verbindung mit Zerlegungs- und Schnittpunktverfahren, um die Werkzeugpfade 514 auszuarbeiten. Diese Werkzeugpfade 514 werden zusammen mit Einstellungen wie Vorschubraten, Drehzahlen, Prozessreihenfolge-Befehlen und Signalinformationen (E/A-Informationen) zur Erstellung von APT-, CL- und M&G-Code-Darstellungen der Prozessaufgaben verwendet, die von herkömmlichen Mechanismussteuerungen 506 interpretiert werden können. Die Prozessinformationen und die Steuersequenz werden in Zwischendateien gespeichert (was man "Nachverarbeitung" nennt), die im Datenspeicher 520 abgelegt werden können. Die residente Steuerung 506 benutzt diese Prozessdateien und geordneten Informationen zum Ansteuern des Mechanismus' 104 und von Zusatzausrüstung 104.
  • Derzeit nehmen CAM-Prozessplanungsanwendungen 502 komplexe Bewegungen über einer Oberfläche und zerlegen den Werkzeugpfad 514 in eine zusammengesetzte Folge kleiner segmentierter linearer oder kreisbogenförmiger (inkrementeller) Bewegungen, wie in 7 zu sehen. Diese Vorgehensweise wird verwendet, weil derzeitige Steuerungen nicht direkt innerhalb des CAD/CAM-Teilmodells auf der Basis komplexer n-Kurven-Geometrien agieren können. Die derzeitigen Mechanismussteuerungen sind in der Art und Weise der Darstellung komplexer Geometrien oder Kurven und hinsichtlich der Art der Bewegung, die von der Mechanismussteuerung unterstützt wird, beschränkt. Um ein Beispiel anzuführen: Für die Werkzeugmaschinenprogrammierung werden normalerweise M&G-Code-Programme für die Steuerung der Mechanismusbewegung und anderer Betriebsaktivitäten benutzt. Der M&G-Code-Standard integriert keine komplexen Pfaddarstellungen wie beispielsweise n-Kurven in den Standard. Um diese Einschränkung zu vermeiden, haben einige Hersteller von Mechanismussteuerungen proprietäre Codes entwickelt, die auf den M&G-Code-Standard aufgesetzt werden, um die komplexen Bewegungen darzustellen, die von einer Art von n-Kurven, beispielsweise NURBS, beschrieben werden. Viele Steuerungen haben die Beschränkung, dass die inkrementellen Bewegungen, die von dem CAM-Vorprozessor erzeugt werden, dann nachträglich in eine mathematische NURBS-Darstellung eingefügt werden. Das ist ineffizient und führt zu geometrischen Fehlern.
  • Die zusammengesetzten Bewegungen werden in der Regel als eine große Folge kleiner linearer Bewegungen ohne Berücksichtigung der Werkzeugausrichtung beschrieben, wenn X-Y-Z-Mechanismen (Dreiachsenmechanismen) verwendet werden, oder wenn die Werkzeugausrichtung berücksichtigt wird – als eine große Zahl eng beieinander liegender Gelenkwerte, wenn Fünf- oder Sechsachsenmechanismen verwendet werden. Die Effektivität der Bewegung hängt davon ab, wie schnell die Mechanismussteuerung die große Zahl eng beieinander liegender Bewegungen verarbeiten oder sich durch die große Zahl eng beieinander liegender Bewegungen hindurch bewegen kann. Dies ist einer der Beschränkungsfaktoren für die Erhöhung der Vorschubrate einer Werkzeugmaschine, weil das Risiko der Einschränkung durch die Blocktransferrate (Bewegungsdatentransferrate) besteht.
  • Einige der neueren Werkzeugmaschinensteuerungen akzeptieren einige Arten von n-Kurven (beispielsweise NURBS) ohne die Notwendigkeit einer nachträglichen Einfügung, aber das geschieht ebenfalls unter Verwendung von Zwischen programmiersprachen oder -dateien und nicht auf direkt gesteuerte Weise. Des Weiteren beschränken diese neueren Steuerungen die verwendeten Arten der n-Kurven auf kartesische Kurven. Ausrichtungsbewegungen und andere Mechanismusparameter werden immer noch in zusammengesetzter Form beschrieben.
  • Der Begriff "kartesische Kurve" meint im Sinne des vorliegenden Textes eine n-Kurve mit maximal 3 Dimensionen, welche die Positionsbewegung eines Mechanismus' in einem dreidimensionalen Raum (d. h. X-Y-Z) beschreibt. Der Begriff "kartesische Kurve" meint keine Bewegungen, die mit Rotations- oder anderen Mechanismussteuerungsparametern zu tun haben. Der Begriff "kartesisch" bezieht sich auf die Position im dreidimensionalen Raum (d. h. X-Y-Z) eines Objekts oder Mechanismus'.
  • Die hier offenbarten Ausführungsformen können in Verbindung mit der Verwendung höher-dimensionaler n-Kurven für die allgemeine Steuerung von Mechanismen 104 genutzt werden. Die hier gezeigten Ausführungsformen können des Weiteren in Verbindung mit der Verwendung höher-dimensionaler Kurven für die Direktsteuerung von Mechanismen entlang n-Kurven, einschließlich höher-dimensionaler n-Kurven, genutzt werden. Dem Fachmann ist klar, dass die hier gezeigten Ausführungsformen auch in einer Vielzahl weiterer Umgebungen und Implementierungen verwendet werden können.
  • Im Folgenden wird die Vorgehensweise in Verbindung mit der Verwendung höher-dimensionaler n-Kurven für die allgemeine Steuerung von Mechanismen 104 beschrieben. Der Begriff "höher-dimensional" im Sinne des vorliegenden Textes bezieht sich auf die Verwendung von n-Kurven, die beispielsweise, und nicht ausschließlich, folgende Definitionen beinhalten können: kartesische Bewegung, Ausrichtungsbewegung, Geschwindigkeit, Vorschubrate, Spindeldrehzahl und sonstige Mechanismusparameter wie beispielsweise Schweiß spannung, Kleberate und Laserintensität und -brennweite. Die erfindungsgemäßen Prinzipien offenbaren die Verwendung höher-dimensionaler n-Kurven für die Steuerung von Mechanismen im Allgemeinen und beschränken die Ausführungsformen nicht auf bestimmte mathematische, elektronische oder physikalische Konstruktion oder Speicherungen von höherdimensionalen n-Kurven.
  • Die Verwendung höher-dimensionaler n-Kurven gestattet die Beschreibung der Mechanismusaktivität in Positions-, Ausrichtungs- und sonstigen Mechanismusparametern (wie beispielsweise Schweißspannung, Kleberate einer Klebstoffabgabevorrichtung und Laserintensität und -brennweite) in Form einer n-Kurve. Auf diese Weise kann jede beliebige Anzahl oder Kombination von Positions-, Ausrichtungs-, Gelenkwert- und sonstigen Mechanismussteuerungsparametern zu einer Einzel- oder Mehrkurvendefinition kombiniert werden.
  • Höher-dimensionale n-Kurven gestatten überdies die Steuerung von Mechanismen 104 in einer anderen nichtherkömmlichen Weise. Bei parametrischen kartesischen Kurven zum Beispiel wird die Mechanismusbewegung in der Regel durch eine Geschwindigkeits- oder Vorschubrate vorgegeben. Die Steuerung 106 bewegt dann den Mechanismus 104 in einer solchen Weise, dass die Geschwindigkeit des Mechanismus' 104 bei der vorgesehenen Geschwindigkeits- oder Vorschubrate gehalten wird. Die nicht-herkömmliche Steuerung von Mechanismen 104 unter Verwendung höher-dimensionaler n-Kurven ermöglicht es, auch andere Parameter als den Steuerungsparameter vorzugeben. Wenn beispielsweise eine Klebstoffpistole einem vorgegebenen Pfad folgen soll und die Klebstoffmenge, die an jedem einzelnen Punkt abzugeben ist, variiert, aber die Flussrate des Klebstoffs konstant gehalten werden soll, so kann die Flussrate des Klebstoffs als der Steuerungsparameter verwendet werden. In diesem Fall hängen die Geschwindigkeit des Mechanismus' 104 und alle übrigen Parameter von der Kleberate ab.
  • Höher-dimensionale n-Kurven gestatten außerdem die koordinierte Steuerung mehrerer Mechanismen 104. In diesem Fall kann die Bewegung und/oder Aktivität von zwei oder mehr separaten und/oder kombinierten Mechanismen 104 in einer koordinierten Weise gesteuert werden, indem ihre jeweiligen Bewegungen und/oder Steuerungsparameter zu einer einzelnen oder mehrfachen höher-dimensionalen n-Kurve kombiniert werden.
  • Wie oben angesprochen, können die hier gezeigten Ausführungsformen auch in Verbindung mit der Verwendung höherdimensionaler Kurven bei der Direktsteuerung von Mechanismen 104 entlang n-Kurven, einschließlich höher-dimensionalen n-Kurven, benutzt werden. Im Folgenden wird die Vorgehensweise in Verbindung mit der Verwendung höherdimensionaler Kurven für die Direktsteuerung von Mechanismen 104 entlang n-Kurven beschrieben.
  • Dieses Verfahren basiert auf einem Konzept der Direktsteuerung, wobei die CAM-Software 502 oder eine andere Prozesssteuerungssoftware 110 entweder auf demselben Computer 102 wie die Steuerungssoftware installiert ist (beispielsweise Bewegungsplanungs- und Servosteuerungssoftware) oder über ein Netzwerk, einschließlich ein drahtloses Netzwerk, in den Steuerungscomputer 203 eingespeist wird. Diese unterschiedlichen Konfigurationen sind in den 1 und 2 veranschaulicht. Ein Unterschied bei diesem Verfahren ist, dass der CAM-Prozess 502 oder der Prozess, der von einer sonstigen Prozesssteuerungssoftware 110 erzeugt wird, direkt von einer softwaregestützten Steuerung angesteuert werden kann, ohne dass die Befehle nachträglich zu Zwischendateien und Steuerungsprogrammiersprachen umgeschrieben werden müssen.
  • 8 ist ein Ablaufdiagramm, das ein Verfahren zum Verwenden von Kurvendefinitionen für die direkte Steuerung eines elektronisch gesteuerten Mechanismus' 104 entlang n-Kurven veranschaulicht. Zuerst werden die Kurvendefinitionen für den Zielmechanismus 104 definiert 802. Die Kurvendefinitionen sind je nach der Art des Werkzeugs, des Prozesses, der Maschine usw., die gesteuert wird, verschieden. Die Kurvendefinitionen werden von der Prozesssteuerungssoftware 110 verwendet, um die Befehle zu bestimmen 804, die an die Steuerung 106 zu senden sind, um den Mechanismus 104 zu steuern.
  • Die Prozesssteuerungssoftware 110 erzeugt 806 Befehle für die Steuerung 106, die von der Steuerung 106 unmittelbar genutzt werden können. Die Befehle für die Steuerung 106 können insofern unmittelbar von der Steuerung 106 genutzt werden, als die Befehle nicht verarbeitet werden müssen, bevor sie von der Steuerung verwendet werden können. Die Steuerung 106 verarbeitet 808 die Befehle und sendet zugehörige Maschinenbefehle an den Mechanismus 104. Die Steuerung 106 wandelt die Befehle in Maschinenbefehle um. Maschinenbefehle sind Anweisungen, die direkt an den Mechanismus 104 (beispielsweise ein Werkzeug, ein Gerät usw.) gesandt werden können und vom Mechanismus 104 verstanden werden. Wenn der Mechanismus 104 die Maschinenbefehle empfängt, so arbeitet er so, wie die Maschinenbefehle es anweisen. Wenn der Prozess abgeschlossen ist, so kann das gezeigte Verfahren enden. Wenn eine weitere Steuerung erforderlich ist, so bestimmt die Prozesssteuerungssoftware 110 erneut die Befehle anhand der Kurvendefinitionen, und die gezeigten Schritte können wiederholt werden.
  • Beim Verfahren der direkten Steuerung verarbeitet die Bewegungsplanungssoftware direkt die komplexen n-Kurven-Darstellungen in der CAM-Anwendung 502, ohne dass komplexe n-Kurven wie beispielsweise NURBS in Formen niederer Ordnung, wie beispielsweise Linien und Bögen, stückweise zusammengesetzt werden müssen. Ein softwaregestützter interner Bewegungsbahngenerator 516 bewegt den Mechanismus 104 mit einer bestimmten Bewegungsbahnrate entlang der n-Kurve und erzeugt dabei die Gelenksollwerte, mit denen die softwaregestützten Servosteuerungskreise geschlossen werden.
  • Kartesische parametrische n-Kurven setzen normalerweise eine Position entlang der Kurve zu einem Kurvenparameter in Beziehung, der die Grenzen oder die Ausdehnung der Kurve beschreibt, wie in 9 gezeigt. Die Position wird oft durch einen Positionsvektor der Größe drei für X-Y-Z-Koordinaten eines Referenzpunktes eines Werkzeugs 906 entsprechend seiner Veränderung in Abhängigkeit vom n-Kurven-Parameterwert dargestellt. Diese Darstellung beschreibt nicht die Werkzeuglage (Position und Ausrichtung) bei Mechanismen, die mehr als drei Gelenke haben, von denen einige Ausrichtungsgelenke aufweisen, um das Werkzeug eindeutig entlang der Kurve auszurichten. Als Beispiele seien Fünfachsen-Werkzeugmaschinen mit X-, Y-, Z-, A- und B-Achsen, Sechsachsen-Roboter mit sechs Drehgelenken usw. genannt.
  • Höher-dimensionale n-Kurven bieten den optimalen mathematischen Ansatz zum Steuern von Maschinen mit mehr als einer Achse und einer beliebigen Anzahl von Prozesssteuerungsparametern. Beispielsweise erfordert die Steuerung einer Werkzeugbewegung oftmals, dass sowohl Werkzeugposition als auch Werkzeugausrichtung entsprechend prozessbezogenen Beschränkungen, beispielsweise ein Schweißneigungswinkel, verändert werden, wie in 10 gezeigt. Dieses System beinhaltet die Direktsteuerung einer komplexen Werkzeuglage (Position und Ausrichtung) entlang komplexer Kurven, die gemäß einem von zwei Verfahren, wie im Folgenden beschrieben, dargestellt werden können. Des Weiteren gestattet das Verfahren auch, dass andere Steuerungsparameter, wie beispielsweise die Werkzeugvorschubrate oder die Spindeldrehzahl, die in den folgenden beiden Verfahren beschriebenen Steuervektoren erweitern, wodurch eine 5- oder 6-dimensionale Kurve zu einer 7- oder 8-dimensionalen oder sogar n-dimensionalen Kurve erweitert wird.
  • Die Werkzeuglage kann in verschiedener Weise ausgedrückt werden. Die Position wird anhand von drei Koordinaten (X, Y, Z) ausgedrückt, während die Ausrichtung anhand einer Reihe von Winkeln oder – bei achsensymmetrischen Werkzeugen als eine Reihe von Richtungskosinuswerten ausgedrückt werden kann. Ein Richtungskosinus ist der Kosinus eines Ausrichtungswinkels. Die Lage kann dann allgemein als eine oder mehrere Sollwertvektorgleichungen dargestellt werden, die in komplexen n-Kurven-Formeln verwendet werden, indem die Positionskoordinaten und die Ausrichtungsparameter miteinander kombiniert werden. Auch hier können diese Vektorgleichungen um zusätzliche Steuerungsparameter erweitert werden, wie beispielsweise Vorschubrate (Pfadgeschwindigkeit), Spindeldrehzahl, Schweißspannung usw., die gemäß einem bestimmten Planungsalgorithmus, der in dem CAM-Programm 502 oder einer sonstigen Prozesssteuerungssoftware 110 verwendet wird, entlang des Pfades variieren können.
  • Das erste Verfahren zur Darstellung einer komplexen Kurve besteht in der Verwendung einer komplexen n-Kurve, wie beispielsweise NURBS, Bezier, Hermite usw. Diese n-Kurve verwendet einen n-dimensionalen Vektor zur Darstellung von Positions-, Ausrichtungs- und Prozesssteuerungsparametern. Obgleich bei Verwendung als n-dimensional spezifiziert, wird n als eine Zahl gewählt, welche die Anzahl der gleichzeitig gesteuerten Dimensionen darstellt. Dies hängt von der Art des Mechanismus' oder vom Prozess ab. Der Vektor kombiniert die Positionskoordinaten und die Ausrichtungsparameter (Winkel oder Richtungskosinuswerte) zu einem Lagevektor. Dieser Vektor kann auch zusätzliche Prozesssteuerungsparameter enthalten, wie beispielsweise Vorschubrate und Spindeldrehzahl, oder vielleicht sogar einen Signalwert, um an einem Punkt entlang der komplexen Kurve einen Ausgabewert an einen Sensor zu schicken oder eine Vorrichtung zu aktivieren. Beispielsweise verwendet eine Fünfachsen-Werkzeugmaschine in der Regel drei Positionskoordinaten und nur zwei Ausrichtungswinkel, um die Werkzeuglage als eine Funktion der Bewegung entlang der komplexen Kurve zu beschreiben. Es können weniger Parameter verwendet werden, wenn ein bestimmter Prozess erfordert, dass eine Teilmenge der Mechanismusgelenke während der Dauer des Prozesses verwendet wird beispielsweise dann, wenn die Werkzeugausrichtung während der nächsten Bewegungssequenz unverändert bleiben soll.
  • Die n-dimensionale Kurve wird in dem CAM-Programm 502 durch die Prozessplanungssoftware 512 erzeugt, die unter Berücksichtigung der Prozessbeschränkungen Werkzeugpfade 514 erzeugt. Für das Verfahren, das zum Erzeugen dieser n-dimensionalen Kurve verwendet wird, gelten keinerlei Einschränkungen. Jeder Punkt entlang der n-Kurve repräsentiert einen eindeutigen Werkzeuglagevektor (Position und Ausrichtung), der durch die Ausdehnung (oder Grenze) der Kurve begrenzt ist, welche durch den Ausdehnungsparameter definiert wird, gegebenenfalls um zusätzliche Steuerungsparameter erweitert. Neben dem Ausdehnungsparameter sind typische Kurvenparameter die Sollwerte und Knotenvektoren, welche die Form dieser Kurve im n-dimensionalen Raum eindeutig darstellen, einschließlich der Änderung anderer Steuerungsparameter, wie beispielsweise Vorschubrate und Spindeldrehzahl, während wir uns entlang der komplexen n-Kurve bewegen.
  • Mathematisch können wir die wichtigen Pfad- und Bewegungssteuerungsparameter zu einem n-dimensionalen Sollwertvektor 1102 zusammenfassen, wie in 11 gezeigt. In diesem Beispiel haben wir acht Parameter für Werkzeuglage, Werkzeugvorschubrate und Spindeldrehzahl aufgenommen, aber es könnten auch mehr sein. Eine n-dimensionale NURBS-Kurve würde diese Vektordarstellung zur Darstellung der Änderung aller acht Parameter als eine Funktion des Ausdehnungsparameters entlang der Kurve vom Start-Ausdehnungsparameter bis zum End-Ausdehnungsparameterwert verwenden. Obgleich die Ausrichtung durch die drei Richtungskosinuswerte dargestellt wird, gibt es auch andere Darstellungen der Ausrichtung, die anstelle dieser Darstellungsweise verwendet werden könnten. Beispielsweise könnte der n-Kurven-Steuerungsvektor in 11 die Winkel α, β und γ anstatt ihrer Kosinuswerte passieren.
  • Es ist notwendig, dass die Bewegungsplanungs- und Servosteuerungssoftware die Einzelkurve für die Werkzeuglage als Funktion des Ausdehnungsparameters verarbeitet und außerdem die Vorschubrate und die Spindeldrehzahl sowie weitere Steuerungsparameter ändert, wenn sie sich entlang des Bewegungspfades ändern. Dadurch werden die Sollwerte für alle Mechanismusachsen erzeugt, die an der korrekten Lageausrichtung des Werkzeugs beteiligt sind, während sich der Mechanismus entlang der Kurve im Raum bewegt.
  • Es folgt ein weiteres Verfahren zur Darstellung der Direktsteuerung einer komplexen Werkzeuglage entlang komplexer Kurven. Dieses Verfahren verwendet jede beliebige Kombination mathematischer Darstellungen von komplexen n-Kurven, wie beispielsweise NURBS, zum Darstellen der Werkzeuglage. Beispielsweise kann ein NURBS (oder Bezier, Splines, algebraische oder polynome Ausdrücke in jeder Kombination) verwendet werden, um die Werkzeugposition mittels eines X-Y-Z-Sollwertvektors darzustellen, und zwei weitere NURBS können zur Darstellung der Werkzeugausrichtung verwendet werden: einer für die A-Achse und einer für die B-Achse. Bei einer anderen Darstellung können die Ausrichtungswinkel durch Richtungskosinuswerte eines Werkzeugausrichtungsvektors ersetzt werden. Typische Parameter sind die Sollwerte und Knotenvektoren, welche die Form der mathematischen n-Kurve eindeutig darstellen. Des Weiteren wird die Änderung dieser Parameter entlang der n-Kurve anhand eines Ausdehnungsparameters ausgedrückt, der die Grenze (Beginn und Ende) der Kurve definiert.
  • In ähnlicher Weise können auch andere n-Kurven-Kombinationen zur Darstellung einer Teilmenge des aus sechs Parametern bestehenden Lagevektors (drei Positionskoordinaten, drei Ausrichtungswinkel oder Richtungskosinuswerte) verwendet werden. Die Kombination aus n-Kurven und die dimensionale Darstellung jeder einzelnen n-Kurve addieren sich zu den maximal sechs Dimensionen, die benötigt werden, um das Werkzeug in eine bestimmte Lage zu bringen.
  • Es können weitere n-Kurven verwendet werden, um weitere Steuerungsparameter, wie beispielsweise Vorschubrate und Spindeldrehzahl, entsprechend ihrer Veränderung entlang des Pfades, der durch die Pfadpositions- und Ausrichtungs-n-Kurven beschrieben wird, darzustellen.
  • Bei einem ineffizienten Verfahren kann eine einzelne n-Kurve für jede Dimension des allgemeinen Lagevektors verwendet werden. Für Mechanismen mit weniger als sechs Gelenken oder für Aufgaben, die weniger Dimensionen verlangen, werden weniger Dimensionen und damit weniger n-Kurven benötigt. Simplere Mechanismen begrenzen die Dimensionalität der Werkzeuglage.
  • Diese mathematischen Darstellungen werden in dem CAM-Programm 502 durch die Prozessplanungssoftware 512 erzeugt, die unter Berücksichtigung der Prozessbeschränkungen Werkzeugpfade 514 erzeugt. Für das Verfahren, das zum Erzeugen dieser Kurven verwendet wird, gelten keinerlei Einschränkungen, nur dass sie durch den Parameterumfang zueinander in Beziehung stehen.
  • Zusammenfassend ist zu sagen, dass sowohl das erste als auch das zweite Verfahren eine oder mehrere n-Kurven (oder andere Darstellungen komplexer Kurven) verwendet, die je nach Art des Mechanismus' jeweils n oder weniger Dimensionen haben. Diese komplexen Kurven setzen ihre Ausdehnungsparameter in einem Verhältnis von 1 : 1 zueinander in Beziehung.
  • Es ist notwendig, dass die Bewegungsplanungs- und Servosteuerungssoftware alle n-Kurven für die Werkzeuglage gleichzeitig als Funktion desselben Ausdehnungsparameters verarbeitet. Dadurch werden die Sollwerte für alle Mechanismusachsen erzeugt, die an der korrekten Lageausrichtung des Werkzeugs beteiligt sind.
  • Obgleich konkrete Ausführungsformen und Anwendungen der vorliegenden Erfindung veranschaulicht und beschrieben wurden, versteht es sich, dass die Erfindung nicht auf die exakte Konfiguration und die genauen Komponenten, die hier offenbart sind, beschränkt ist. Am Aufbau, der Funktionsweise und den Details der hier offenbarten Verfahren und Systeme der vorliegenden Erfindung sind verschiedene Modifikationen, Änderungen und Variationen, die dem Fachmann einfallen, möglich, ohne vom Geist und Geltungsbereich der Erfindung abzuweichen.
  • ZUSAMMENFASSUNG
  • Es wird ein Verfahren zum Steuern eines Mechanismus' unter Verwendung höher-dimensionaler n-Kurven offenbart. Es ist ein elektronisch gesteuerter Mechanismus vorgesehen. Es wird eine elektronische Kommunikation zwischen einem Computer und dem elektronisch gesteuerten Mechanismus hergestellt. Eine Steuerung wird auf dem Computer vorgenommen oder ausgeführt, um Maschinenbefehle an den elektronisch gesteuerten Mechanismus zu senden. Prozesssteuerungssoftware wird eingesetzt, um den elektronisch gesteuerten Mechanismus zu steuern. Die Prozesssteuerungssoftware verwendet höherdimensionale n-Kurven zur Steuerung des elektronisch gesteuerten Mechanismus.
    Hierzu 1 der Zeichnung.

Claims (60)

  1. Verfahren zum Steuern eines Mechanismus' unter Verwendung höher-dimensionaler n-Kurven, umfassend: Bereitstellen eines elektronisch gesteuerten Mechanismus'; Herstellen einer elektronischen Kommunikation durch einen Computer mit dem elektronisch gesteuerten Mechanismus; Ausführen einer Steuerung auf dem Computer, um Maschinenbefehle an den elektronisch gesteuerten Mechanismus zu senden; und Ausführen von Prozesssteuerungssoftware zum Steuern des elektronisch gesteuerten Mechanismus', wobei die Prozesssteuerungssoftware höher-dimensionale n-Kurven zur Steuerung des elektronisch gesteuerten Mechanismus' verwendet.
  2. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Position des Mechanismus' beschreibt.
  3. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Ausrichtung des Mechanismus' beschreibt.
  4. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Schweißspannung beschreibt.
  5. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Kleberate beschreibt.
  6. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Laserintensität beschreibt.
  7. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Brennweite beschreibt.
  8. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Spindeldrehzahl beschreibt.
  9. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Vorschubrate beschreibt.
  10. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve eine kartesische Bewegung beschreibt.
  11. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve eine Ausrichtungsbewegung beschreibt.
  12. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve die Geschwindigkeit beschreibt.
  13. Verfahren nach Anspruch 1, wobei die höher-dimensionale n-Kurve Unterteilungs-, B-Spline-, ungleichmäßige rationale B-Spline- und Bezier-Mathematik und andere Arten von parametrischen Kurven enthält.
  14. Verfahren nach Anspruch 1, wobei der elektronisch gesteuerte Mechanismus ein Werkzeug umfasst.
  15. Verfahren für die Direktsteuerung eines Mechanismus' mittels höher-dimensionaler n-Kurven, umfassend: Bereitstellen eines elektronisch gesteuerten Mechanismus'; Herstellen einer elektronischen Kommunikation durch einen Computer mit dem elektronisch gesteuerten Mechanismus; Ausführen einer Steuerung auf dem Computer, um Maschinenbefehle an den elektronisch gesteuerten Mechanismus zu senden; und Ausführen von Prozesssteuerungssoftware zum Steuern des elektronisch gesteuerten Mechanismus', wobei die Prozesssteuerungssoftware höher-dimensionale n-Kurven zur Steuerung des elektronisch gesteuerten Mechanismus' verwendet und wobei die Prozesssteuerungssoftware Befehle erzeugt, die unmittelbar von der Steuerung genutzt werden können.
  16. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Position des Mechanismus' beschreibt.
  17. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Ausrichtung des Mechanismus' beschreibt.
  18. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Schweißspannung beschreibt.
  19. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Kleberate beschreibt.
  20. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Laserintensität beschreibt.
  21. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Brennweite beschreibt.
  22. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Spindeldrehzahl beschreibt.
  23. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Vorschubrate beschreibt.
  24. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve eine kartesische Bewegung beschreibt.
  25. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve eine Ausrichtungsbewegung beschreibt.
  26. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve die Geschwindigkeit beschreibt.
  27. Verfahren nach Anspruch 15, wobei die höher-dimensionale n-Kurve Unterteilungs-, B-Spline-, ungleichmäßige rationale B-Spline- und Bezier-Mathematik und andere Arten von parametrischen Kurven enthält.
  28. Verfahren nach Anspruch 15, wobei der elektronisch gesteuerte Mechanismus ein Werkzeug umfasst.
  29. Verfahren nach Anspruch 15, wobei die Prozesssteuerungssoftware eine einzelne komplexe n-Kurve verwendet.
  30. Verfahren nach Anspruch 15, wobei die Prozesssteuerungssoftware eine beliebige Kombination komplexer n-Kurven verwendet.
  31. System zum Steuern eines Mechanismus' mittels höherdimensionaler n-Kurven, umfassend: einen elektronisch gesteuerten Mechanismus; einen Computer, der mit dem elektronisch gesteuerten Mechanismus elektronisch kommuniziert, wobei der Computer Folgendes umfasst: einen Prozessor; einen Speicher, der mit dem Prozessor elektronisch kommuniziert; Prozesssteuerungssoftware zum Steuern des elektronisch gesteuerten Mechanismus', wobei die Prozesssteuerungssoftware höher-dimensionale n-Kurven zum Steuern des elektronisch gesteuerten Mechanismus' verwendet.
  32. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Position des Mechanismus' beschreibt.
  33. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Ausrichtung des Mechanismus' beschreibt.
  34. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Schweißspannung beschreibt.
  35. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Kleberate beschreibt.
  36. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Laserintensität beschreibt.
  37. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Brennweite beschreibt.
  38. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Spindeldrehzahl beschreibt.
  39. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Vorschubrate beschreibt.
  40. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve eine kartesische Bewegung beschreibt.
  41. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve eine Ausrichtungsbewegung beschreibt.
  42. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve die Geschwindigkeit beschreibt.
  43. System nach Anspruch 31, wobei die höher-dimensionale n-Kurve Unterteilungs-, B-Spline-, ungleichmäßige rationale B-Spline- und Bezier-Mathematik und andere Arten von parametrischen Kurven enthält.
  44. System nach Anspruch 31, wobei der elektronisch gesteuerte Mechanismus ein Werkzeug umfasst.
  45. System für die Direktsteuerung eines Mechanismus' mittels höher-dimensionaler n-Kurven, umfassend: einen elektronisch gesteuerten Mechanismus; einen Computer, der mit dem elektronisch gesteuerten Mechanismus elektronisch kommuniziert, wobei der Computer Folgendes umfasst: einen Prozessor; einen Speicher, der mit dem Prozessor elektronisch kommuniziert; Prozesssteuerungssoftware zum Steuern des elektronisch gesteuerten Mechanismus', wobei die Prozesssteuerungssoftware höher-dimensionale n-Kurven zum Steuern des elektronisch gesteuerten Mechanismus' verwendet und wobei die Prozesssteuerungssoftware Befehle erzeugt, die unmittelbar von der Steuerung genutzt werden können.
  46. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Position des Mechanismus' beschreibt.
  47. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Ausrichtung des Mechanismus' beschreibt.
  48. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Schweißspannung beschreibt.
  49. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Kleberate beschreibt.
  50. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Laserintensität beschreibt.
  51. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Brennweite beschreibt.
  52. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Spindeldrehzahl beschreibt.
  53. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Vorschubrate beschreibt.
  54. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve eine kartesische Bewegung beschreibt.
  55. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve eine Ausrichtungsbewegung beschreibt.
  56. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve die Geschwindigkeit beschreibt.
  57. System nach Anspruch 45, wobei die höher-dimensionale n-Kurve Unterteilungs-, B-Spline-, ungleichmäßige rationale B-Spline- und Bezier-Mathematik und andere Arten von parametrischen Kurven enthält.
  58. System nach Anspruch 45, wobei der elektronisch gesteuerte Mechanismus ein Werkzeug umfasst.
  59. System nach Anspruch 45, wobei die Prozesssteuerungssoftware eine einzelne komplexe n-Kurve verwendet.
  60. System nach Anspruch 45, wobei die Prozesssteuerungssoftware eine beliebige Kombination komplexer n-Kurven verwendet.
DE10393527T 2002-10-15 2003-10-14 Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung Withdrawn DE10393527T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/272,537 2002-10-15
US10/272,537 US6895299B2 (en) 2001-10-16 2002-10-15 Systems and methods for representing complex n-curves for direct control of tool motion
PCT/US2003/032417 WO2004036355A2 (en) 2002-10-15 2003-10-14 Systems and methods for representing complex n-curves for direct control of tool motion

Publications (1)

Publication Number Publication Date
DE10393527T5 true DE10393527T5 (de) 2005-12-22

Family

ID=32106440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10393527T Withdrawn DE10393527T5 (de) 2002-10-15 2003-10-14 Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung

Country Status (5)

Country Link
US (1) US6895299B2 (de)
JP (1) JP4644490B2 (de)
AU (1) AU2003287065A1 (de)
DE (1) DE10393527T5 (de)
WO (1) WO2004036355A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009020246A1 (de) * 2009-05-07 2010-11-11 Rheinisch-Westfälische Technische Hochschule Aachen Verfahren und Mehrachsen-Bearbeitungsmaschine zur zerspanenden Bearbeitung

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001261347A1 (en) * 2000-05-16 2001-11-26 Brigham Young University Method and system for controlling a machine tool with direct transfer of machining data
DE10164496A1 (de) * 2001-12-28 2003-07-17 Siemens Ag Automatisierungssystem
DE10322340B4 (de) * 2003-05-17 2006-09-14 Mtu Aero Engines Gmbh Verfahren und Vorrichtung zum Fräsen von Freiformflächen
GB2418033B (en) * 2003-06-02 2007-06-20 Honda Motor Co Ltd Teaching data preparing method for articulated robot
US7451013B2 (en) * 2004-04-29 2008-11-11 Surfware, Inc. Engagement milling
US8295972B2 (en) 2008-10-07 2012-10-23 Celeritive Technologies, Inc. High performance milling
CN101995850B (zh) * 2010-11-05 2012-02-29 江俊逢 一种计算机辅助数字控制方法与系统
CN102063088B (zh) * 2010-11-05 2013-05-01 江俊逢 一种计算机辅助离散运动规划方法
CN102354147B (zh) * 2011-07-22 2013-06-12 江俊逢 可重构计算机数字控制系统与数字控制方法、重构方法
US9946245B2 (en) 2011-07-25 2018-04-17 Celeritive Technologies, Inc. Non-concentric milling
US10022833B2 (en) 2012-05-03 2018-07-17 Celeritive Technologies, Inc. High performance multi-axis milling
JP6553508B2 (ja) * 2012-06-19 2019-07-31 ディーピー テクノロジー コーポレーション Cncコントローラに組み込まれたcam機能を有するコンピュータ数値制御(cnc)システム及びcnc機械を修正する方法
KR102173894B1 (ko) * 2014-10-08 2020-11-04 두산공작기계 주식회사 팰릿 이송시스템
WO2018126354A1 (zh) * 2017-01-04 2018-07-12 深圳配天智能技术研究院有限公司 机器人运动轨迹规划方法及相关装置
JP6740199B2 (ja) 2017-10-30 2020-08-12 ファナック株式会社 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
JP6646027B2 (ja) * 2017-10-30 2020-02-14 ファナック株式会社 ポストプロセッサ装置、加工プログラム生成方法、cnc加工システム及び加工プログラム生成用プログラム
EP3640752A1 (de) * 2018-10-18 2020-04-22 Siemens Aktiengesellschaft Optimierte bearbeitung von werkstücken durch werkzeugmaschinen

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4396976A (en) * 1972-09-11 1983-08-02 Hyatt Gilbert P System for interfacing a computer to a machine
US4607325A (en) * 1981-10-21 1986-08-19 Honeywell Inc. Discontinuous optimization procedure modelling the run-idle status of plural process components
US5197013A (en) * 1987-07-28 1993-03-23 David M. Dundorf Method of forming a carved sign using an axially rotating carving tool
US4831549A (en) * 1987-07-28 1989-05-16 Brigham Young University Device and method for correction of robot inaccuracy
US5171417A (en) * 1989-09-13 1992-12-15 Gould Inc. Copper foils for printed circuit board applications and procedures and electrolyte bath solutions for electrodepositing the same
US5215645A (en) * 1989-09-13 1993-06-01 Gould Inc. Electrodeposited foil with controlled properties for printed circuit board applications and procedures and electrolyte bath solutions for preparing the same
US5450205A (en) * 1993-05-28 1995-09-12 Massachusetts Institute Of Technology Apparatus and method for real-time measurement of thin film layer thickness and changes thereof
US5486995A (en) * 1994-03-17 1996-01-23 Dow Benelux N.V. System for real time optimization
JP2783155B2 (ja) * 1994-04-20 1998-08-06 株式会社デンソー 抵抗溶接用制御方法及び装置
US5752008A (en) * 1996-05-28 1998-05-12 Fisher-Rosemount Systems, Inc. Real-time process control simulation method and apparatus
JP2001087990A (ja) * 1999-09-17 2001-04-03 Hitachi Ltd 工作物の円弧溝加工方法
JP3610485B2 (ja) * 1999-09-20 2005-01-12 株式会社日立製作所 数値制御曲面加工装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009020246A1 (de) * 2009-05-07 2010-11-11 Rheinisch-Westfälische Technische Hochschule Aachen Verfahren und Mehrachsen-Bearbeitungsmaschine zur zerspanenden Bearbeitung

Also Published As

Publication number Publication date
US6895299B2 (en) 2005-05-17
AU2003287065A1 (en) 2004-05-04
AU2003287065A8 (en) 2004-05-04
JP2006507571A (ja) 2006-03-02
US20040019394A1 (en) 2004-01-29
WO2004036355A3 (en) 2005-04-14
WO2004036355A2 (en) 2004-04-29
JP4644490B2 (ja) 2011-03-02

Similar Documents

Publication Publication Date Title
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE102010036499B4 (de) Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse
DE602006000648T2 (de) Offline-Lehrgerät für einen Roboter
DE60126937T2 (de) Verfahren und vorrichtung zur steuerung einer werkzeugmaschine mit direkter uebertragung von bearbeitungsdaten
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
DE4291619C2 (de) Verfahren zum Betreiben einer mehrachsigen computernumerisch gesteuerten Werkzeugmaschine
DE2330054C2 (de) Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes
EP2879842B1 (de) Verfahren und programmiermittel zur modifikation einer roboterbahn
EP1604789A2 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
EP3227061A1 (de) Verfahren zur bewegungssimulation eines manipulators
DE102019001207A1 (de) Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks
DE102015223258A1 (de) Verfahren zum Bearbeiten der Oberfläche eines dreidimensionalen Objekts
DE102020124734A1 (de) Simulationsgerät
DE102008013400B4 (de) Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts
DE102012022190B4 (de) Inverse Kinematik
EP2927764B1 (de) Numerische Steuerung mit Anzeige einer Vorschau bei Änderungen des Teileprogramms
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
DE112019007889T5 (de) Bearbeitungsprogramm-umwandlungseinrichtung, numerische-steuereinrichtung und bearbeitungsprogramm-umwandlungsverfahren
DE102017108492A1 (de) Steuervorrichtung eines Roboters, die ein Betriebsprogramm, in dem der Zustand einer zusätzlichen Achse enthalten ist, anzeigt
EP3569367A1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
DE102017222474A1 (de) Numeriksteuerung und datenstruktur
DE10296995T5 (de) Verfahren zum Abstimmen und Synchronisieren der Bewegung von Servounterstützten Achsen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee