-
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.