DE112012004592T5 - Vorrichtung und Verfahren zur Echtzeit-Steuerung von Wedelbewegungen - Google Patents

Vorrichtung und Verfahren zur Echtzeit-Steuerung von Wedelbewegungen Download PDF

Info

Publication number
DE112012004592T5
DE112012004592T5 DE112012004592.0T DE112012004592T DE112012004592T5 DE 112012004592 T5 DE112012004592 T5 DE 112012004592T5 DE 112012004592 T DE112012004592 T DE 112012004592T DE 112012004592 T5 DE112012004592 T5 DE 112012004592T5
Authority
DE
Germany
Prior art keywords
motion
uniform
time
movement
reference value
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.)
Granted
Application number
DE112012004592.0T
Other languages
English (en)
Other versions
DE112012004592B4 (de
Inventor
Youngjun PARK
Youngyoul Ha
Sangmin Kang
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.)
Samsung Heavy Industries Co Ltd
Original Assignee
Samsung Heavy Industries Co Ltd
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 Samsung Heavy Industries Co Ltd filed Critical Samsung Heavy Industries Co Ltd
Publication of DE112012004592T5 publication Critical patent/DE112012004592T5/de
Application granted granted Critical
Publication of DE112012004592B4 publication Critical patent/DE112012004592B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/49Nc machine tool, till multiple
    • G05B2219/49384Control of oscillatory movement like filling a weld, weaving

Abstract

Bereitgestellt werden eine Vorrichtung und Verfahren zur Steuerung einer Wedelbewegung in Echtzeit. Zur Steuerung des Betriebs eines Roboters in einem Arbeitsbereich wird eine Hauptbewegungsstrecke des Roboters im Arbeitsbereich bestimmt, eine einheitliche Bewegung, die die bestimmte Hauptstrecke bildet, wird erzeugt, während eine kontinuierliche Bewegung ausgeführt wird, bei der einheitliche Bewegungen miteinander verbunden sind, wodurch der Versatz dynamisch verändert wird, und ein ausgleichender Versatz oder eine ausgleichende Drehung erzeugt wird, die sich nach dem Arbeitsbereich bestimmen. Eine Position und eine Drehung des Roboters im Arbeitsbereich werden nach mindestens einem von der einheitlichen Bewegung, dem Wedeln, dem ausgleichenden Versatz und der ausgleichenden Drehung berechnet.

Description

  • FACHGEBIET
  • Die vorliegende Erfindung betrifft eine Vorrichtung und Verfahren, bei denen ein in einem Arbeitsbereich arbeitender Roboter eine Wedelbewegung in Echtzeit steuert.
  • Stand der Technik
  • Heutzutage werden industrielle Aufgaben verschiedenerlei Arten von Robotern vorgenommen. Wird eine Position eines von einem Roboter bearbeiteten Arbeitsziels verschoben, ist ein Steuerungssystem zur Steuerung der Bewegungen des Roboters erforderlich.
  • Ein System zur Steuerung der Bewegung des Roboters steuert den Roboter derart, dass er sich entlang einer vorprogrammierten Bewegungsstrecke bewegt. Außerdem steuert das System den Betrieb des Roboters gemäß einem programmierten Arbeitsinhalt.
  • Ändert sich eine Echtzeit-Situation infolge einer Veränderung der Arbeitsumgebung des Roboters und der Bewegungsstrecke kann ein Steuerungssystem, das den Roboter nach einem programmierten Inhalt steuert, Bewegungen und Betrieb des Roboters nicht entsprechend steuern.
  • Beschreibung
  • Technisches Problem
  • Mit der vorliegenden Erfindung sollen eine Vorrichtung und Verfahren bereitgestellt werden, deren Vorteile darin bestehen, dass sie bei einer Veränderung einer Echtzeit-Situation Bewegungen und Betrieb eines Roboters steuern können.
  • Lösung
  • Ein Ausführungsbeispiel der vorliegenden Erfindung betrifft eine Vorrichtung zur Echtzeit-Steuerung von Wedelbewegungen, die den Betrieb eines Roboters in einem Arbeitsbereich steuert, umfassend: einen Präprozessor, der eine Hauptbewegungsstrecke des Roboters im Arbeitsbereich bestimmt und eine einheitliche Bewegung, die die bestimmte Hauptstrecke bildet und ein Wedeln erzeugt, das den Versatz dynamisch verändert und dabei eine kontinuierliche Bewegung ausführt, bei der einheitliche Bewegungen miteinander verbunden sind, und wodurch mindestens eines von einem ausgleichenden Versatz und einer ausgleichenden Drehung erzeugt werden, die sich nach dem Arbeitsbereich bestimmen; sowie eine Einheit zur Synthese der Bewegungen im Arbeitsbereich, die eine Position und eine Drehung des Roboters im Arbeitsbereich nach mindestens einem von der einheitlichen Bewegung, dem Wedeln, dem ausgleichenden Versatz und der ausgleichenden Drehung berechnet.
  • Der Präprozessor kann umfassen: einen Prozessor für kontinuierliche Bewegungen, die eine vor der Aufnahme einer Bewegung des Roboters bestimmte Hauptstrecke oder eine in Echtzeit nach Verfahrenswahldaten über kontinuierliche Bewegungen erzeugte Hauptstrecke bestimmt und die einheitliche Bewegung erzeugt; einen Wedelbewegungs-Prozessor, der ein Wedeln wählt, das vor vor der Aufnahme einer Bewegung des Roboters oder in Echtzeit nach Verfahrenswahldaten über Wedelbewegungen bestimmt wird und ein relatives Ausmaß des Wedelns erzeugt; sowie einen Ausgleichshaltungs-Prozessor, der zur Widerspiegelung eines nach dem Zufallsprinzip bestimmten Versatzes oder Drehung aufgrund einer infolge einer Bewegung veränderten Situation des Arbeitsbereichs den ausgleichenden Versatz oder die ausgleichende Drehung erzeugt.
  • Der Prozessor für kontinuierliche Bewegungen (KBP) kann umfassen: einen Streckenlistenspeicher, der eine nach der Aufnahme der Bewegung bestimmte Hauptstrecke speichert; einen Echtzeit-Streckengenerator, der in Echtzeit eine neue einheitliche Bewegung erzeugt, wenn sich ein Grund zur Veränderung der Situation des Arbeitsbereichs oder eine Veränderung der Bewegungsstrecke ergibt; ein Streckenzeichen, das eine im Echtzeit-Streckengenerator (EzS) erzeugte einheitliche Bewegung speichert; einen Streckenselektor, der eine von einer einheitlichen Bewegung des Streckenzeichens und einer einheitlichen Bewegung des Streckenlistenspeichers (SLS) nach den Verfahrenswahldaten für kontinuierliche Bewegungen auswählt; sowie einen Generator für kontinuierliche Bewegungen im Arbeitsbereich (ABKBG), der eine vom Streckenselektor nach den Start-/Enddaten über kontinuierliche Bewegung, die einen Start- und Endpunkt vorbestimmter Aufgaben darstellt, als kontinuierliche Bewegung übertragene einheitliche Bewegung verbindet.
  • Der ABKBG kann eine (n + 1). einheitliche Bewegung einer kontinuierlichen Bewegung nach einem Startverfahren für einheitliche Bewegungen beginnen kann und eine n. einheitliche Bewegung nach einem Verarbeitungsverfahren für frühere Bewegungen verarbeiten kann.
  • Das Startverfahren für einheitliche Bewegungen kann sein: ein Verfahren zum Starten der (n + 1). einheitlichen Bewegung zu einem Zeitpunkt, zu dem die n. einheitliche Bewegung von einer Beschleunigung oder konstanten Geschwindigkeit zu einer Verlangsamung übergeht; ein Verfahren zum Starten der (n + 1). einheitlichen Bewegung zu einem Zeitpunkt, zu dem die n. einheitliche Bewegung von einer Beschleunigung zu einer konstanten Geschwindigkeit oder Verlangsamung übergeht; ein Verfahren zum Starten der (n + 1). einheitlichen Bewegung zu einem vorbestimmten Zeitpunkt vor dem Stoppen der n. einheitlichen Bewegung; ein Verfahren zum Starten der (n + 1). einheitlichen Bewegung zu einem Zeitpunkt, zu dem eine überlappende Bewegung zwischen der n. einheitlichen Bewegung und einer früheren (n – 1). einheitlichen Bewegung beendet wird.
  • Das Verarbeitungsverfahren für frühere Bewegungen kann sein: ein Verfahren zur Verlangsamung der n. einheitlichen Bewegung und zur Einleitung der (n + 1). einheitlichen Bewegung; sowie ein Verfahren zur Beibehaltung der n. einheitlichen Bewegung und zur Einleitung der (n + 1). einheitlichen Bewegung.
  • Der Prozessor für Wedelbewegungen (WBP) kann umfassen: einen Wedellistenspeicher, der eine vor der Aufnahme der Bewegung bestimmte Wedelliste speichert; einen Echtzeit-Wedelgenerator (EWG), der in Echtzeit ein Wedeln erzeugt, wenn sich bei der Arbeit ein Grund zur Veränderung der Situation des Arbeitsbereichs oder eine Veränderung der Bewegungsstrecke ergibt; ein Wedelzeichen, das ein im EWG erzeugtes Wedeln speichert; einen Wedelselektor, der ein in der Wedelliste aufgeführtes einheitliches Wedeln oder ein einheitliches Wedeln des Wedelzeichens nach den Verfahrenswahldaten für Wedelbewegungen auswählt; sowie einen Wedelgenerator für den Arbeitsbereich (ABWG), der eine Eingabe der Start-/Enddaten des Wedeln sowie eine Wedel-Abtastzeit und Wedel-Referenzwertdaten zur Unterscheidung eines vom Wedelselektor ausgewählten einheitlichen Wedelns empfängt und ein relatives Ausmaß des Wedelns innerhalb der Wedel-Abtastzeit unter Zuhilfenahem des ausgewählten Wedelns und der Wedel-Referenzwertdaten bestimmt, wobei die Referenzwertdaten einen Wedel-Referenzwert zur Einstellung eines Wedel-Veränderungspunktes, in dem das nächste einheitliche Wedeln bei der Ausführung des aktuellen einheitlichen Wedelns ausgeführt wird.
  • Der ABWG kann den Wedel-Referenzwert nach einer Zeit, Streckenlänge oder Streckendrehung der kontinuierlichen Bewegung bestimmen.
  • Der ABWG kann den Wedel-Referenzwert, eine erste Variable, bei der sich die Wedelfunktion wiederholt, und den bestimmten Wedel-Referenzwert bestimmen und die Wedelfunktion in Abhängigkeit der ersten Variablen erzeugen.
  • Der ABWG kann den Wedel-Referenzwert und die erste Variable erzeugen, wenn der Wedel-Referenzwert den Wedel-Veränderungspunkt nicht erreicht.
  • Die Syntheseeinheit, der ABKBG, der ABWG und der Ausgleichshaltungs-Generator (AHG) können beim Betrieb mit der Wedel-Abtastzeit synchronisiert werden.
  • Die Echtzeit-Steuereinrichtung kann ferner einen Gelenkraumwandler umfassen, der eine Eingabe einer Position und eines Ausmaßes einer Drehung eines Roboters von der Syntheseeinheit empfängt und den Betrieb eines Gelenks des Roboters derart veranlasst, dass das Wedeln realisiert wird, wobei der Gelenkraumwandler beim Betrieb mit dem Wedel-Abtastzyklus synchronisiert werden kann.
  • Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung betrifft ein Verfahren zur Echtzeit-Steuerung von Wedelbewegungen, das den Betrieb eines Roboters in einem Arbeitsbereich steuert, umfassend: Erzeugen einer einheitlichen Bewegung in Echtzeit je nachdem, ob ein Echtzeit-Veränderungsgrund, insbesondere ein Grund zur Veränderung der Situation des Arbeitsbereichs und eine Veränderung der Bewegungsstrecke bei der Arbeit, auftritt und Auswählen entweder einer einheitlichen Bewegung, die vor der Aufnahme einer Bewegung des Roboters bestimmt wird, oder einer in Echtzeit erzeugte einheitliche Bewegung; Erzeugen eines einheitlichen Wedelns in Echtzeit je nachdem, ob ein Echtzeit-Veränderungsgrund auftritt, und Auswählen entweder eines einheitlichen Wedelns, das vor der Aufnahme einer Bewegung des Roboters bestimmt wird, oder eines in Echtzeit erzeugte einheitlichen Wedelns; Erzeugen mindestens eines von einem ausgleichenden Versatz und einer ausgleichenden Drehung, die sich nach einer Veränderung der Situation des Arbeitsbereichs bestimmen; sowie eine Einheit zur Synthese der Bewegungen im Arbeitsbereich, die eine Position und eine Drehung des Roboters im Arbeitsbereich nach mindestens einem von der einheitlichen Bewegung, dem Wedeln, dem ausgleichenden Versatz und der ausgleichenden Drehung berechnet.
  • Das Verfahren kann ferner das Bestimmen eines relativen Ausmaßes des Wedelns auf der Grundlage des ausgewählten einheitlichen Wedelns umfassen, wobei das Bestimmen eines relativen Ausmaßes des Wedenls das Bestimmen eines relativen Ausmaßes des Wedelns innerhalb einer Wedel-Abtastzeit unter Zuhilfenahme der ausgewählten Daten über das einheitliche Wedeln und den Wedel-Referenzwert, und wobei die Wedel-Referenzwertdaten einen Wede-Referenzwert zur Einstellung eines Wedel-Veränderungspunktes enthalten können, an dem das nächste einheitliche Wedeln bei der Ausführung des aktuellen einheitlichen Wedelns ausgeführt wird.
  • Das Bestimmen eines relativen Ausmaßes des Wedelns kann ferner umfassen: Bestimmen des Wedel-Referenzwerts nach einer Zeit, Streckenlänge oder Streckendrehung der kontinuierlichen Bewegung; und Bestimmen einer ersten Variablen unter Zuhilfenahme eines Wedelzyklus, der die Wedelfunktion und den bestimmten Wedel-Referenzwert wiederholt und Erzeugen der Wedelfunktion in Abhängigkeit von der ersten Variablen.
  • Vorteilhafte Wirkungen
  • Die Erfindung betrifft eine Vorrichtung und Verfahren, die Bewegungen und Betrieb eines Roboters im Falle von Echtzeit-Veränderungen der Situation entsprechend steuern können.
  • Beschreibung der Zeichnungen
  • 1 ist ein Diagramm eines Bewegungs-Steuerungssystems zur Steuerung einer Bewegung eines Schweißroboters nach einem erfindungsgemäßen Ausführungsbeispiel.
  • 2 ist ein Diagramm des Verhältnisses der Geschwindigkeit jeweils einer (n – 1). einheitlichen Bewegung und einer n. einheitlichen Bewegung zur Zeit.
  • 3A ist ein Diagramm des Verhältnisses der Geschwindigkeit einer geplanten n. Bewegung zur Zeit.
  • 3B und 3C sind graphische Darstellungen des Verhältnisses der Geschwindigkeit jeweils einer n. einheitlichen Bewegung und einer (n + 1). einheitlichen Bewegung zur Zeit nach verschiedenen Verfahren zur Verarbeitung früherer Bewegungen.
  • 4 ist eine graphische Darstellung des Verhältnisses einer einheitlichen Bewegung und eines Referenzwerts, wenn der Referenzwert einer Streckenlängenreferenz folgt.
  • 5 ist ein Flussdiagramm des Betriebs eines ABWG.
  • 6A ist ein Diagramm des Falls, in dem eine Wedelfunktion eine Sinusfunktion ist und in dem ein Wedel-Referenzwert eine auf der Zeit basierende Variable darstellt.
  • 6B ist ein Diagramm des Falls, in dem eine Wedelfunktion eine lineare Funktion ist und in dem ein Wedel-Referenzwert eine auf der Zeit basierende Variable darstellt.
  • 6C ist ein Diagramm des Falls, in dem eine Wedelfunktion eine Sinusfunktion ist und in dem ein Wedel-Referenzwert eine auf einer Streckenlänge basierende Variable darstellt.
  • 6D ist ein Diagramm des Falls, in dem eine Wedelfunktion eine lineare Funktion ist und in dem ein Wedel-Referenzwert eine auf einer Streckenlänge basierende Variable darstellt.
  • Ausführungsform
  • In der nachfolgenden ausführlichen Beschreibung werden lediglich einige Ausführlungsbeispiele zur Veranschaulichung dargestellt und beschrieben. Dem Fachmann ist jedoch klar, dass die beschriebenen Ausführungsformen auf verschiedenerlei Weisen verändert werden können, ohne von Geist und Umfang der Erfindung abzuweichen. Die Zeichnungen und die Beschreibung sind also als Veranschaulichung und nicht als Beschränkung aufzufassen. Gleiche Referenzzahlen beziehen sich in der ganzen Patentschrift auf gleiche Elemente.
  • In dieser Beschreibung und den beigefügten Patentansprüchen ist unter dem ”Koppeln” eines Elements an ein anderes Elements zu verstehen, dass das Element an das andere Element ”unmittelbar gekoppelt” oder über ein drittes Element an das andere Element ”elektrisch gekoppelt” sein kann. Außerdem ist, sofern nicht ausdrücklich etwas anderes angegeben wird, unter ”umfassen” und dessen Varianten zu verstehen, dass die aufgeführten Elemente eingeschlossen sind, ohne weitere Elemente auszuschließen.
  • In der nachfolgenden ausführlichen Beschreibung werden lediglich einige Ausführlungsbeispiele zur Veranschaulichung dargestellt und beschrieben.
  • 1 ist ein Diagramm eines Beispiels, bei dem eine Vorrichtung und Verfahren zur Steuerung einer Wedelbewegung zur Steuerung einer Bewegung eines Schweißroboters nach einem erfindungsgemäßen Ausführungsbeispiel angewendet werden. Ein erfindungsgemäßes Ausführungsbeispiel zeigt einen Schweißroboter, der unter Industrierobotern Schweißarbeiten ausführt. Die vorliegende Erfindung jedoch darauf nicht beschränkt, und die in einem Ausführungsbeispiel beschriebene Lehre der Erfindung kann zur Bewegungssteuerung eines anderen Roboters verwendet werden.
  • Wie in 1 dargestellt, umfasst ein System 1 zur Bewegungssteuerung einen Präprozessor 10, eine Einheit 20 zur Synthese von Bewegungen in einem Arbeitsbreich, einen Gelenkraumwandler 30 und eine Servosteuerung 40. 1 zeigt ferner einen Robotermechanismus 2, der Steuerungsziel des Systems 1 ist.
  • Der Präprozessor 10 bestimmt eine Hauptbewegungsstrecke des Roboters im Arbeitsbereich, erzeugt eine einheitliche Bewegung aufgrund der bestimmten Hauptstrecke, erzeugt ein Wedeln, das den Versatz dynamisch verändert und dabei eine kontinuierliche Bewegung ausführt, und erzeugt einen ausgleichenden Versatz und eine ausgleichende Drehung, die sich nach dem Arbeitsbereich bestimmen. Nachfolgend umfasst ein Wedeln eine Bewegung, in der eine einheitliche Bewegung und ein Wedeln kombiniert sind. Eine kontinuierliche Bewegung ist eine Kombination aus einheitlichen Bewegungen. Ein ausgleichender Versatz oder eine ausgleichende Drehung wird von einer Wedelbewegung widerspiegelt.
  • Der Präprozessor 10 umfasst einen Prozessor für kontinuierliche Bewegungen (KBP), einen Prozessor für Wedelbewegungen (WBP) 200 und einen Ausgleichshaltungsprozessor (AHP) 300.
  • Der KBP 100 bestimmt eine Hauptstrecke in einem Arbeitsbereich eines Roboters und erzeugt eine einheitliche Bewegung auf der bestimmten Hauptstrecke. In diesem Fall kann die Hauptstrecke vor der Aufnahme einer Bewegung oder beim Betrieb in Echtzeit bestimmt werden, und zur Auswahl einer vor der Aufnahme einer Bewegung bestimmten Hauptstrecke oder einer in Echtzeit erzeugten Bewegung werden Auswahldaten über kontinuierliche Bewegungen A1 erzeugt.
  • Der KBP 100 umfasst einen Streckenlistenspeicher (SLS) 110, einen Echtzeit-Streckengenerator (EzSG) 120, ein Streckenzeichen 130, einen Streckenselektor 140 und einen ABKBG 150.
  • Die Daten A1 werden aufgrund einer Veränderung der äußeren Situation, die bei der Ausführung einer Bewegung des Roboters auftreten kann, und aufgrund einer Veränderung der Bewegungsstrecke beim Arbeiten erzeugt. Mit anderen Worten: Wenn eine Veränderung der äußeren Situation und eine Veränderung der Bewegungsstrecke auftreten, werden Daten A1, die eine in Echtzeit erzeugte Hauptstrecke statt einer vor der Aufnahme einer Bewegung erzeugte Hauptstrecke wählen, erzeugt. Sonst werden Daten A1 erzeugt, die eine vor der Aufnahme einer Bewegung bestimte Hauptstrecke wählen.
  • Es folgen Beispiele einer Veränderung der äußeren Situation, die bei der Arbeit eines Roboters auftreten kann:
    • 1) Verformung eines Elements durch Schweißen;
    • 2) Veränderung eines Anstrichziels durch eine Farbströmung;
    • 3) Veränderung eines Ziels durch eine Saugkraft eines Sammelstrahls.
  • Beispiele der Gründe zur Veränderung einer Bewegungsstrecke beim Arbeiten sind z. B.:
    • 1) Wenn ein in einem vorbestimmten Plan vorher nicht vorhandenes äußeres Ziel einen Arbeitsbereich betritt;
    • 2) Wenn ein weiterer Roboter vorher geplante Arbeiten unter mehreren Roboteraufgaben verarbeitet;
    Der Inhalt ist ein Beispiel, und verschiedene Anforderungen können je nach dem Einsatz des Roboters erfolgen. Wenn derartige Anforderungen erfolgen, muss stets eine Hauptstrecke in Echtzeit erzeugt werden.
  • Der KBP 100 erzeugt eine Bewegung auf einer in einem Arbeitsbereich bestimmten Hauptstrecke. Die Hauptstrecke ist eine Reihe einheitlicher Bewegungen. Die einheitliche Bewegung wird von einem Profil definiert, das eine Reihenfolge, eine Zielhaltung, eine Roboterkonfiguration, Beschleunigung oder Beschleunigungszeit, Verlangsamung oder Verlangsamungszeit, Höchstgeschwindigkeit oder ein konstantes Verhältnis der Geschwindigkeit zur Zeit, Winkelbeschleunigung oder Winkelbeschleunigungszeit, Winkelverlangsamung oder Winkelverlangsamungszeit, Höchst-Winkelgeschwindigkeit oder konstantes Verhältnis der Geschwindigkeit zur Zeit, Startverfahren für einheitliche Bewegungen und Verarbeitungsverfahren für frühere Bewegungen.
  • Die Haltung enthält Daten über eine Haltung und Rotation eines Roboters. Eine Reihenfolge der einheitlichen Bewegungen bestimmt sich nach einer Reihenfolge zwischen den einheitlichen Bewegungen, die eine Strecke darstellt. Jede der einheitlichen Bewegungen enthält dieser entsprechende Reihenfolgedaten. Eine Zielhaltung ist ein Datensatz, der eine Zielposition und -richtung enthält.
  • Die Roboterkonfiguration gibt die Haltung eines Roboters an. Der Roboter wird je nach Aufgaben in eine entsprechende Haltung gebracht, und kann in deserlben Position unterschiedliche Haltungen einnehmen. Beispielsweise nimmt ein Schweißroboter eine Haltung ein, die dem Arm eines Menschen ähnlich sieht, und wenn der Schweißroboter dieselbe Position bezieht, kann der Schweißroboter eine Haltung eines linken oder rechten Arms einnehmen. Mit anderen Worten: Selbst wenn der Schweißroboter dieselbe Rotation in derselben Position in einem Arbeitsbereich ausführt, ändert sich der Arbeitsinhalt je nachdem, ob der Schweißroboter eine Linkshand- oder Rechtshandhaltung einnimt.
  • Die Roboterkonfigurationen unterscheiden sich nach Anzahl und Art der Achsen des Roboters und können je nach Roboter festgestellt werden.
  • Eine Bewegungsstrecke des Roboters kann in ein Beschleunigungssegment, in dem eine Bewegungsgeschwindigkeit zunimmt, ein Segment mit konstanter Geschwindigkeit, in dem die Höchstgeschwindigkeit beibehalten wird, und ein Verlangsamungssegment, in dem eine Bewegungsgeschwindigkeit abnimmt, je nach Bewegungsgeschwindigkeit unterteilt werden. Ferner kann eine Rotationsstrecke des Roboters kann in ein Winkelbeschleunigungssegment, in dem eine Winkelgeschwindigkeit zunimmt, ein Segment mit konstanter Winkelgeschwindigkeit, in dem die Höchst-Winkelgeschwindigkeit beibehalten wird, und ein Winkelverlangsamungssegment, in dem eine Winkelgeschwindigkeit abnimmt, je nach Winkelgeschwindigkeit unterteilt werden.
  • Die Beschleunigung oder Beschleunigungszeit ist eine Information, die einem Beschleunigungssegment entspricht; die Verlangsamung oder Verlangsamungszeit ist eine Information, die einem Verlangsamungssegment entspricht; eine Höchstgeschwindigkeit oder konstantes Verhältnis der Geschwindigkeit zur Zeit ist eine Information, die einem Segment mit konstanter Geschwindigkeit entspricht; die Winkelbeschleunigung oder Winkelbeschleunigungszeit ist eine Information, die einem Winkelbeschleunigungssegment entspricht, die Winkelverlangsamung oder Winkelverlangsamungszeit ist eine Information, die einem Winkelverlangsamungssegment entspricht, und eine Höchst-Winkelgeschwindigkeit oder konstantes Verhältnis der Geschwindigkeit zur Zeit ist eine Information, die einem Segment mit konstanter Winkelgeschwindigkeit entspricht.
  • Eine vor der Aufnahme einer Bewegung bestimmte Strecke wird im SLS 110 gespeichert. Eine Bewegungsstrecke ist eine Reihe einheitlicher Bewegungen, d. h. eine Reihe einheitlicher Bewegungen, die eine bestimmte Strecke darstellen, wird im SLS 110 gespeichert.
  • Tritt ein Grund zur Veränderung einer äußeren Situation oder einer Strecke beim Arbeiten auf, erzeugt der EzSG 120 in Echtzeit eine neue Strecke. D. h. der EzSG 120 erzeugt in Echtzeit eine einheitliche Bewegung.
  • Der EzSG 120 kann nach verschiedenen Verfahren eine neue Strecke in Echtzeit erzeugen. Beispielsweise kann eine Zielhaltung einer Strecke nach einem Verfahren zur Wahl (Erzeugung einer einheitlichen Bewegung) einer Haltung über eine Videokamera aufgrund eines verarbeiteten Videoergebnisses von der Vidokamera verändert werden. Zur Verflechtung des Wedelns mit einer derart erzeugten Strecke steuert ein Wedel-Prozessor eine Wedelbewegung.
  • Da eine Streckenerzeugungszeit, die die für die Videoverarbeitung verbrauchte Zeit enthält, unbestimmt ist, kann eine Bewegung des Roboters gestoppt werden. Um dies zu verhindern, muss ein Puffer vorgesehen sein, und gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird ein ”Streckenzeichen” als Puffer verwendet. Im Einzelnen kann eine einheitliche Bewegung im Streckenzeichen 130 gespeichert werden, da die Erzeugung einheitlicher Bewegungen durch den EzSG 120 verzögert wird, um zu verhindern, dass eine Bewegung gestoppt wird.
  • Das Streckenzeichen 130 umfasst einen Speicher zur Speicherung einer einheitlichen Bewegung und der Speicher kann mit einem Speicher versehen sein, der in eine Einheit für einheitliche Bewegungen unterteilt ist. Eine Größe des Streckenzeichens 130 lässt sich einer zur Erzeugung einer einheitlichen Bewegung durch den EzSG 120 verbrauchten Zeit entsprechend festlegen.
  • Im Einzelnen, wenn die Start-/Enddaten B1 über kontinuierliche Bewegungen die Aufnahme einer einheitlichen Bewegung anzeigen, überträgt das Streckenzeichen 130 eine entsprechende einheitliche Bewegung auf den Streckenselektor 140. Wenn die Ddaten B1 die Aufnahme das Ende einer einheitlichen Bewegung anzeigen, löscht das Streckenzeichen 130 eine entsprechende einheitliche Bewegung aus dem Speicher.
  • Der Streckenselektor wählt eine von einer einheitlichen Bewegung des SLS 110 und einer vom Streckenzeichen 130 übertragenen einheitlichen Bewegungen nach den Daten A1 aus.
  • Der ABKBG 150 empfängt eine Eingabe der Daten B1 und eine vom Streckenselektor 140 übertragene Einheitsstrecke und bestimmt eine Zielhaltung durch Erzeugen einer Bahn einer Echtzeit-Reaktion einer Bewegungssteuerung eines Roboters, der auf einer Arbeitsstrecke zwischen einem vorbestimmten Start- und Endpunkt Arbeiten ausführt. Die Zielhaltung kann von einer Matrix eines Positionsvektors T_p(t), der eine Zielposition darstellt, und eines Rotationsvektors T_r(t), der ein Sollausmaß der Rotation darstellt, dargestellt werden.
  • The continuous motion startend information B1 includes information about a predetermined work starting point and ending point. Mit anderen Worten handelt es sich bei den Daten B1 um Daten zur Unterscheidung einer einheitlichen Bewegung einer Mehrzahl einheitlicher Bewegungen. Die Bewegungssteuerung 1 steuert verschiedene einheitliche Bewegungen. Beispielsweise handelt es sich bei den Daten B1 um Daten, die Anfang und Ende einer einheitlichen Bewegung darstellen, die von einer vorhandenen Bewegungssteuersystem 1 unter mehreren einheitlichen Bewegungen nach ”POSE to POSE” (P2P: Verfahren zur Verschiebung eines Roboters aus einer Starthaltung in eine Endhaltung und Verschiebung des Roboters durch Festlegen einer optimierten Form auf jeder Gelenkbasis des Roboters auf einer Zwischenstrecke) oder JOG (verfahren zur Verschiebung des Roboters mit Befehlen über eine Geschwindigkeit auf Achsenbasis oder einer Haltungsgeschwindigkeit) gesteuert wird. Der ABKBG 150 unterscheidet einer kontinuierlichen Bewegung einer einheitlichen Bewegung, die sich von einer derzeit erzeugten kontinuierlichen Bewegung unterscheidet, aufgrund der Daten B1.
  • Der ABKBG 150 startet jede einheitliche Bewegung einer kontinuierlichen Bewegung nach einem Startverfahren für einheitliche Bewegungen. Ein Startverfahren für einheitliche Bewegungen ist ein Verfahren zur Bestimmung einer Startzeit einer einheitlichen Bewegung einer nachfolgenden Reihenfolge einer kontinuierlichen einheitlichen Bewegung.
  • Unter Bezugnahme auf 2 wird nun ein Verfahren zur Aufnahme einer einheitlichen Bewegung beschrieben.
  • 2 ist ein Diagramm des Verhältnisses der Geschwindigkeit jeweils einer (n – 1). einheitlichen Bewegung und einer n. einheitlichen Bewegung zur Zeit. Unter Bezugnahme auf 2 wird nun ein Verfahren zur Aufnahme einer (n + 1). einheitlichen Bewegung beschrieben.
  • Ein Verfahren zur Aufnahme einer (n + 1). einheitlichen Bewegung kann in einem der nachfolgenden 4 Fälle ausgeführt werden:
    • 1) Ein Zeitpunkt t1 der Umwandlung von der Beschleunigung einer früheren einheitlichen Bewegung (einer n. einheitlichen Bewegung) zu einer konstanten Geschwindigkeit oder einer Verlangsamung;
    • 2) Ein Zeitpunkt t2, zu dem eine überlappende Bewegung zwischen einer früheren einheitlichen Bewegung (einer n. einheitlichen Bewegung) und einer einheitlichen Bewegung ((n – 1). einheitlichen Bewegung) vor dem Abschluss der früheren einheitlichen Bewegung;
    • 3) Ein Zeitpunkt t3, der eine vorbestimmte Zeit t_b vor dem Stoppen einer früheren einheitlichen Bewegung (einer n. einheitlichen Bewegung);
    • 4) Ein Zeitpunkt t4 der Umwandlung von der Beschleunigung oder konstanten Geschwindigkeit einer früheren einheitlichen Bewegung (einer n. einheitlichen Bewegung) zu einer Verlangsamung.
  • Zu einem beliebigen Zeitpunkt t1 bis t4 kann eine nächste einheitliche Bewegung (n + 1). einheitliche Bewegung) aufgenommen werden. Außerdem kann eine (n + 1). einheitliche Bewegung zu einem zufällig gewählten Zeitpunkt zwischen einem Zeitraum t2 – t4, einem Zeitpunkt t4 – t3 und einem Zeitpunkt t3 – t1 aufgenommen werden.
  • Der ABKBG 150 bearbeitet eine frühere einheitliche Bewegung einer kontinuierlichen Bewegung nach einem Verarbeitungsverfahren für frühere Bewegungen. Das Verarbeitungsverfahren ist ein Verfahren zur Verarbeitung einer früheren einheitlichen Bewegung einer neu aufgenommenen einheitlichen Bewegung.
  • Nachfolgend wird nun ein Verfahren zur Verarbeitung einer früheren Bewegung unter Bezugnahme auf 3A3C beschrieben.
  • 3A ist ein Diagramm des Verhältnisses der Geschwindigkeit einer geplanten n. Bewegung zur Zeit.
  • 3B und 3C sind Diagramme des Verhältnisses der Geschwindigkeit jeweils einer n. einheitlichen Bewegung und einer (n + 1). einheitlichen Bewegung zur Zeit nach verschiedenen Verfahren zur Verarbeitung früherer Bewegungen.
  • Wie in 3B und 3C gezeigt, wird ein Verfahren zur Verarbeitung früherer Bewegungen wie folgt dargestellt:
    • 1) Ein Verfahren zur Verlangsamung einer früheren Bewegung (n. einheitlichen Bewegung) und zur Einleitung einer nächsten (n + 1). einheitlichen Bewegung ((n + 1) einheitlichen Bewegung);
    • 2) Ein Verfahren zur Beibehaltung einer früheren Bewegung (n. einheitlichen Bewegung) und zur Einleitung einer nächsten (n + 1). einheitlichen Bewegung ((n + 1) einheitlichen Bewegung);
    Es wird davon ausgegangen, dass bei einem Verfahren zur Verarbeitung früherer Bewegungen, die in 3B und 3C dargestellt wird, eine nächste einheitliche Bewegung ”1) einem Zeitpunkt t4 der Umwandlung von der Beschleunigung oder konstanten Geschwindigkeit einer früheren einheitlichen Bewegung (einer n. einheitlichen Bewegung) zu einer Verlangsamung” folgt. Die vorliegende Erfindung ist darauf nicht beschränkt, und bei einem Ausführungsbeispiel werden die vorgenannten Verfahren als Einstellungen beschrieben, die ein Verfahren zur Verarbeitung früherer Bewegungen beschreiben.
  • Nach einem Verfahren zur Verarbeitung früherer Bewegunen ist 1) eine geplante n. einheitliche Bewegung zu einem Zeitpunkt t4 noch nicht abgeschlossen, zu dem eine nächste einheitliche Bewegung ((n + 1). einheitliche Bewegung) beginnt, was durch eine gestrichtelte Linie gekennzeichnet wird, wird aber gegenüber dem Zeitpunkt t4 verlangsamt und beendet.
  • Alternativ wird eine geplante n. einheitliche Bewegung beibehalten und zu einem Zeitpunkt t4 wird eine nächste (n + 1). einheitliche Bewegung aufgenommen, also überlappen sich zwei Bewegungen nach einem Verfahren 2 zur Verarbeitung früherer Bewegungen.
  • Unter den vorgenannten Verfahren zur Verarbeitung nächster Bewegungen wird ein Verfahren zur Verarbeitung früherer Bewegungen nach demselben Prinzip selbst zu anderen Zeitpunkten als dem Zeitpunkt t4.
  • Ist eine Ausgangsgeschwindigkeit des Roboters gleich ”0” zum Zeitpunkt der Aufnahme einer einheitlichen Bewegung, teilt der ABKBG 150 ein Segment in drei Beschleunigungssegmente, konstante Geschwindigkeit und Verlangsamung je nach einer Bewegungsgeschwindigkeit des Roboters.
  • Der ABKBG 150 erzeugt ein Geschwindigkeitsprofil jedes der voreingestellten drei Segmente. Im Einzelnen erzeugt der ABKBG 150 ein Geschwindigkeitsprofil eines Beschleunigungs- und eines Verlangsamungssegments in einer vorbestimmten polynomen Reihenfolge und erzeugt ein Geschwindigkeitsprofil in einem Segment mit konstanter Geschwindigkeit in einem Geschwindigkeitsprofil mit einem konstanten Wert.
  • Ist eine Ausgangsgeschwindigkeit des Roboters nicht gleich ”0” zum Zeitpunkt der Aufnahme einer einheitlichen Bewegung, teilt der ABKBG 150 ein Segment in drei Segmente aus Mischen, konstanter Geschwindigkeit und Verlangsamung. Da eine Ausgangsgeschwindigkeit eines Mischsegments nicht gleich 0 ist, ist das Mischsegment ein Segment, bei dem eine frühere einheitliche Bewegung und eine aktuelle einheitliche Bewegung kombiniert sind.
  • Der ABKBG 150 fügt die in den Haltungen jeder einer früheren einheitlichen Bewegung und einer aktuellen einheitlichen Bewegung enthaltene Positionsdaten hinzu, multipliziert die in jeder Haltung enthaltenen Rotationsdatenmatrizen und kombiniert die frühere und aktuelle einheitliche Bewegung. Daher wird wine Endposition, die sich für eine Mischzeit verschieben soll, bestimmt.
  • Der ABKBG 150 mischt ein Geschwindigkeitsprofil, das eine Ausgangsgeschwindigkeit in einem Mischsegment gleich ”0” einstellt, und ein Geschwindigkeitsprofil eines Beschleunigungssegments, um in eine Endposition überzugehen. Durch Hinzufügen eines Unterschieds zwischen einer in einem Mischsegment zurückzulegenden Strecke und einer in einem Zeitraum zurückgelegten Strecke, die die Geschwindigkeit 0 bei einer Ausgangsgeschwindigkeit einstellt zu einem Geschwindigkeitsprofil zur Verschiebung eines beliebigen Mischsegments wird ein Geschwindigkeitsprofil des Mischsegments erzeugt.
  • In einem Verlangsamungssegment, in dem eine Ausgangsgeschwindigkeit nicht gleich 0 ist, kann der ABKBG 150 ein Geschwindigkeitsprofil mit einer vorbestimmten polynomen Reihenfolge erzeugen. In diesem Fall ist eine polynome Reihenfolge höher als eine Reihenfolge des Geschwindigkeitsprofils in einem Verlangsamungssegment, wenn die vorgenannte Ausgangsgeschwindigkeit gleich 0 ist. In einem Segment mit konstanter Geschwindigkeit, in dem eine Ausgangsgeschwindigkeit nicht gleich 0 ist, erzeugt der ABKBG 150 ein Geschwindigkeitsprofil mit einer vorbestimmten polynomen Reihenfolge.
  • Der ABKBG 150 erzeugt eine Zielhaltung, die eine Matrix eines Positionsvektors T_p(t), der eine Zielposition darstellt, enthält, indem er aufgrund eines derart erzeugten Geschwindigkeitsprofils eine Bahn sowie einen Rotationsvektor T_r(t), der ein Sollausmaß der Rotation darstellt, erzeugt. Der ABKBG 150 überträgt eine erzeugte Zielhaltung auf die Syntheseeinheit 20.
  • Der Prozessor 200 erzeugt eine Bewegung, d. h. Wedeln, die den Versatz zwischen kontinuierlichen Bewegungen dynamisch verändert. Der Prozessor 200 verwendet eine vorher geplante Wedelliste oder einen EzWG nach dem Verfahren der dynamischen Veränderung des Versatzes.
  • Der Prozessor 200 erzeugt eine Wedelbewegung je nach einer in einem Arbeitsbereich bestimmten Wedelliste. Wie in einer Beschreibung des EzSG bescrieben, wenn sich ein Grund zur äußeren Veränderung der Situation oder der Bewegungsstrecke auf, kann der Prozessor 200 keine Liste früher geplanter Wedelbewegungen verwenden. In diesem Fall erzeugt der Prozessor 200 erzeugt ein relatives Ausmaß des Wedelns je nach einer im EzWG bestimmten Wedelliste.
  • D. h., zur Erzeugung eines relativen Ausmaßes des Wedelns aufgrund einer Situation kann der Prozessor 200 eine Echtzeit-Wedelliste erzeugen oder eine gespeicherte Wedelliste selektiv verwenden.
  • Der Prozessor 200 umfasst einen Wedellistenspeicher (WLS) 210, einen Echtzeit-Wedelgenerator (EzWG) 220, ein Wedelzeichen 230, einen Wedelselektor und einen ABKBG 250.
  • Der Wedellistenspeicher 210 speichert eine vor der Aufnahme einer Bewegung bestimmte Wedelliste.
  • Die Daten A2 zur Wahl des Wedelbewegungsverfahrens werden je nach dem erzeugt, ob sich ein Grund zur Veränderung der äußeren Situation, die bei der Ausführung einer Bewegung des Roboters auftreten kann, und aufgrund einer Veränderung der Bewegungsstrecke beim Arbeiten erzeugt. Mit anderen Worten: Wenn ein Grund zur Veränderung der äußeren Situation und eine Veränderung der Bewegungsstrecke auftreten, werden Daten A2, die eine in Echtzeit erzeugte Hauptstrecke statt eines vor der Aufnahme einer Bewegung erzeugten Hauptwedelns wählen, erzeugt. Sonst werden Daten A2 erzeugt, die ein vor der Aufnahme einer Bewegung bestimtes Wedeln wählen.
  • Der EWG erzeugt in Echtzeit ein Wedeln, wenn sich bei der Arbeit ein Grund zur Veränderung der äußeren Situation oder eine Veränderung der Bewegungsstrecke beim Arbeiten ergibt. D. h. der EWG 220 erzeugt in Echtzeit ein einheitliches Wedeln. Zur Erzeugung eines neuen Wedelns in Echtzeit kann der EWG verschiedene Verfahren verwenden.
  • Das Wedelzeichen 230 umfasst einen Speicher zur Speicherung eines einheitlichen Wedelns und der Speicher kann mit einem Speicher versehen sein, der in eine Einheit für einheitliches Wedeln unterteilt ist. Eine Größe des Wedelzeichens 230 lässt sich einer zur Erzeugung eines einheitlichen Wedelns durch den EWG 220 verbrauchten Zeit entsprechend festlegen. Das Wedelzeichen 230 überträgt und löscht das gespeicherte einheitliche Wedeln je nach den Start-/Enddaten B2 des Wedelns.
  • Im Einzelnen, wenn die Start-/Enddaten B2 die Aufnahme eines einheitlichen Wedelns anzeigen, überträgt das Wedelzeichen 230 das entsprechende einheitliche Wedeln auf den Wedelselektor 240. Wenn die Start-/Enddaten B2 den Abschluss eines einheitlichen Wedelns anzeigen, löscht das Wedelzeichen 230 das entsprechende einheitliche Wedeln aus einem Speicher.
  • Der Wedelselektor 240 wählt ein aus dem Wedellistenspeicher 210 übertragenes oder ein aus dem Wedelzeichen 230 nach den Daten A2 übertragenes einheitliches Wedeln aus.
  • Der ABWBG 250 empfängt eine Eingabe der Daten B2 und ein aus dem Wedelselektor 240 übertragenes einheitliches Wedeln und bestimmt ein relatives Ausmaß des Wedelns der kontinuierlichen Bewegung nach dem einheitlichen Wedeln. Das relative Ausmaß des Wedelns kann von einer Matrix eines Positionsvektors W_p(t) und eines Rotationsvektors W_r(t) dargestellt werden.
  • Die Daten B2 werden auf den ABWBG 250 und das Wedelzeichen 230 übertragen. Wenn die Start-/Enddaten B2 den Abschluss eines Wedelns anzeigen, wird das Wedelzeichen 230 entleert. Bei den Daten B2 handelt es sich um Daten zur Unterscheidung eines einer Mehrzahl Wedelbewegungen anhand der Daten B1. Der ABWBG 250 unterscheidet ein Wedeln einer kontinuierlichen Bewegung, das sich von einem derzeit erzeugten Wedeln einer kontinuierlichen Bewegung unterscheidet, aufgrund der Daten B2.
  • Wie oben beschrieben, entleeren Streckenzeichen 130 und Wedelzeichen 230 ein Zeichen aufgrund der Daten B1 und der Daten B2. Mit anderen Worten werden die Daten der derzeitigen Wedelbewegung gelöscht, um ein Mischung einer anschließend einzuleitenden Wedelbewegung und einer derzeit erzeugten Wedelbewegung zu verhindern. Hierdurch wird ein Fehler verhindert, der bei der Erzeugung einer Wedelbewegung auftreten kann.
  • Die obige Wedelliste ist eine Reihe einheitlicher Wedelbewegungen. Einheitliches Wedeln definiert sich nach der Richtungswahl, einem Referenzvektor, einem Wedel-Veränderungspunkt, einer höchsten Wedelhaltung, einem Wedelzyklus und einer Wedelfunktion.
  • Die Richtungswahl des einheitlichen Wedelns bestimmt sich nach einem Bewegungsrichtungs- und einem Referenzvektor. Ein Vektor, der eine Richtung des einheitlichen Wedelns darstellt, wird asl Wedelrichtungsvektor (WRV) Wd bezeichnet. Wd besteht aus Wd_x, Wd_y und Wd_z je nach einer xyz-Koordinatenachse.
  • Der Prozessor 200 stellt einen Vektor Wd zur Bestimmung eines relativen Ausmaßes des Wedelns ein. Es können verschiedene Verfahren zur Einstellung eines Wedelrichtungsvektors W existieren.
  • Beispielsweise kann der Prozessor 200 eines der nachfolgenden Verfahren anwenden: 1) Bestimmen eines Vektors W in einer orthogonal zu einem Bewegungsrichtungsvektor (BRV) D und einem Referenzvektor N verlaufenden Wedelrichtung; und 2) Bestimmen eines Vektors W anhand eines zufällig ausgewählten Vektors aufgrund eines Arbeitsbereichs.
  • Beim Verfahren 1) stellt der Vektor D eine aus dem KMP 100 gewählte Strecke dar und der Referenzvektor N ist ein senkrecht zum Vektor D auf derselben Ebene verlaufender Vektor. In diesem Fall wird der Vektor D von (D_x, D_y, D_z), und der Vektor N von (N_x, N_y, N_z) dargestellt.
  • Beim Verfahren 2) kann der Bewegungsrichtungsvektor D mit (1, 0, 0), der Vektor N mit (0, 1, 0) und der Wedelrichtungsvektor W mit (0, 0, 1) bestimmt werden.
  • Der Wedelveränderungspunkt stellt einen Punkt dar, an dem das nächste einheitliche Wedeln des aktuell ausgeführten einheitlichen Wedelns ausgeführt wird. Erfolgt das einheitliche Wedeln in Echtzeit, kann das Wedeln an einem zufällig gewählten gewünschten Punkt verändert werden, wenn eine Größe eines Wedelzeichens gleich 0 ist, also wird ein Wedelveränderungspunkt innerhalb des einheitlichen Wedelns ignoriert.
  • Erfolgt das einheitliche Wedeln in Echtzeit, könnte ein Punkt, an dem das nächste einheitliche Wedeln des aktuell ausgeführten einheitlichen Wedelns nach einer Größe eines Wedelzeichens ausgeführt wird, da das Wedeln an einem gewünschten Punkt nicht verändert werden kann. Mit anderen Worten: Wenn ein Wedelzeichen vorhanden ist (eine Zeichengröße nicht gleich 0 ist), sollte das Wedelzeichen Zeitdaten über einen Zeitpunkt (Wedelveränderungspunkt) aufweisen, zu dem das nächste einheitliche Wedeln zu widerspiegeln ist. Sind diese Daten nicht vorhanden, werden in einem Wedelzeichen gespeicherte Wedeldaten gleichzeitig ausgeführt.
  • Der Wedelveränderungspunkt sollte mit einer einheitlichen Bewegung einer kontinuierlichen Bewegung synchron eingestellt werden. Alternativ kann ein vorbestimmter Punkt ”s_d” eines Wedel-Referenzewrts ”S” zur Einstellung eines Wedelveränderungspunktes als Wedelveränderungspunkt eingestellt werden.
  • Wird ein vorbestimmter Punkt s_d von s als Wedelveränderungspunkt eingestellt, ist ein Startpunkt, an dem das nächste einheitliche Wedeln beginnt, ein Punkt, der zunächst s > s_d erfüllt.
  • Ein Wedel-Referenzwert kann nach einer Zeit, Streckenlänge oder Streckendrehung eingestellt werden. Basiert der Wedel-Referenzwert auf einer Zeit, wird der Wedel-Referenzwert zu s(t).
  • Basiert der Wedel-Referenzwert auf einer Streckenlänge, wird eine Bewegungslänge d als Wedel-Referenzwert eingesteltl, wenn eine Bewegung eine Reihe geradliniger einheitlicher Bewegungen ist. Daher wird der Wedel-Referenzwert zu s(d).
  • Ist eine kontinuierliche Bewegung eine konstante Geschwindigkeit, sind ein Ergebnis in einem Arbeitsbereich nach einem auf einer Zeit basierenden Wedel-Referenzwert und ein Ergebnis in einem Arbeitsbereich nach einem auf einer Streckenlänge basierenden Wedel-Referenzwert gleich. Ist eine kontinuierliche Bewegung keine konstante Geschwindigkeit, sind ein Ergebnis in einem Arbeitsbereich nach einem auf einer Streckenlänge basierenden Wedel-Referenzwert und ein Ergebnis in einem Arbeitsbereich nach einem auf einer Zeit basierenden Wedel-Referenzwert nicht gleich.
  • 4 ist eine graphische Darstellung des Verhältnisses einer einheitlichen Bewegung und eines Wedel-Referenzwerts, wenn der Referenzwert auf einer Streckenlängen basiert.
  • Da fortgesetzte einheitliche Bewegungen d(1), d(2) und d(3) hinzugefügt werden, die in 4 dargestellt werden, wird ein Wedel-Referenzwert ”s(d)” erzeugt.
  • Basiert ein Wedel-Referenzwert auf einer Streckendrehung, wird eine Streckendrehung r als Wedel-Referenzwert eingestellt, wenn eine Bewegung eine Reihe einheitlicher Rotationsbewegungen ist. Dies ist dasselbe wie das auf einer Streckenlänge basierende Verfahren zur Erzeugung eines Wedel-Referenzwerts aus 4. D. h. es werden einheitliche Rotationsbewegungen hinzugefügt und also ein Wedel-Referenzwert ”s(r)” erzeugt.
  • Eine höchste Wedelhaltung P_max bestimmt eine relative Haltung nach einem Wedelrichtungsvektor. Eine relative Haltung ist ein WRV und lässt erkennen, mit welcher Größe und Richtung das Wedeln erfolgt. Mit anderen Worten bestimmen sich Richtung und Größe des Wedelns nach einem höchsten Wedelhaltung P_max und einem Vektor W. Die höchste Wedelhaltung P_max definiert sich nach P_x, P_y, P_z, P_roll, P_pitch und P_yaw. Beispielsweise wird die höchste Wedelhaltung P_max in Form eines Produktes einer homogenen Transformationsmatrix berechnet. Die homogene Transformationsmatrix enthält die ganzen Daten über eine Position und Rotation. In diesem Fall stellen P_x, P_y und P_z eine Position in xyz-Koordinaten dar und P_roll, P_pitch und P_yaw sind Daten, die einen Rotationsgrad der xyz-Koordinaten darstellen.
  • Die Wedelfunktion f(k) ist eine Funktion zur bestimmung, ob und mit welcher Bewegung eine höchste Wedelhaltung P_max zu erzeugen ist. Mit anderen Worten ist die höchste Wedelhaltung P_max eine Funktion zur Bestimmung einer vorkommenden Bewegungsform. Die Wedelfunktion f(k) kann als periodische Funktion gewählt werden, bei der ein Zyklus und ein Höchstwert gleich 1 [max f(k) = 1] sind.
  • Da das Ausmaß des Wedelns von der höchsten Wedelhaltung P_max widerspiegelt wird, wird ein maximales Ausmaß der Wedelfunktion f(k) gleich 1 eingestellt und die Wedelfunktion f(k) wird derart eingestellt, dass ein Zyklus der Wedelfunktion f(k) zu 1 wird.
  • Beispielsweise kann die Wedelfunktion f(k) als trigonometrische Funktion wie z. B. sin(k/2pi) oder cos(k/pi) oder als quadratischer oder dreieckiger Impuls eingestellt werden, bei denen eine maximale Größe 1 und ein Zyklus 1 darstellen. In diesem Fall ist die Wedelfunktion f(k) eine kontinuierliche Wedelfunktion, wenn die Wedelfunktion f(k) eine trigonometrische Funktion ist, und wenn die Wedelfunktion f(k) ein quadratischer oder dreieckiger Impuls ist, ist die Wedelfunktion eine nicht kontinuierliche Wedelfunktion.
  • Bei der kontinuierlichen Wedelfunktion f(k) ist ein Differenzwert d(f(k))/dt zu einer Zeit nicht gleich 0, und dessen Ausgangs- und Endepunkt sind gleich [f(0) = f(1)].
  • Ein Wedelzykus sp stellt eine Zeit dar, in der eine Wedelfunktion wiederholt wird, und ein Verhältnis der Gleichung 1 bildet sich zwischen dem Wedel-Referenzwert s(t) und der Variablen k. mod(s(t), sp) = k(t) (Gleichung 1)
  • Hier stellt eine mod-Rechnung einen Rest dar, der einen sequentiellen Wedel-Referenzwert s(t) durch einen Wedelzyklus sp teilt. Mit anderen Worten handelt es sich bei einem Rest, der einen sequentiellen Wedel-Referenzwert s(t) durch einen Wedelzyklus sp teilt, um eine Variable k.
  • Der Prozessor 200 betreibt eine Wedel-Abtastzeit ts als Zyklus. Daher sollte der Prozessor 200 ein Ausmaß des Wedelns innerhalb der Abtastzeit ts berechnen. Die Wedel-Referenzwertdaten SI, die ein Verfahren zur Einstellung der Abtastzeit ts und des Wedel-Referenzwerts s anzeigen, wird auf den ABWBG 250 übertragen.
  • Der ABWBG 250 bestimmt einen Wedel-Referenzwert s aufgrund der Wedel-Referenzwertdaten SI und, wenn der Referenzwert s bestimmt wird, bestimmt der ABWBG 250 eine Variable k, während der ABWBG 250 ein relatives Ausmaß des Wedelns aufgrund des einheitlichen Wedelns und des Referenzwerts s erzeugt. In diesem Fall funktioniert der ABWBG 250 zu jedem Zeitpunkt ts in einer konstanten Reihenfolge, wodurch ein relatives Ausmaß des Wedelns bestimmt wird. Basiert der Wedel-Referenzwert s auf einer Zeit, ist ein relatives Ausmaß des Wedelns ein Vektor W_p(t) und eine Matrix W_r(t).
  • Die Referenzwertdaten SI enthalten Daten darüber, ob der Referenzwert s auf einer Zeit, einer Streckenlänge oder einer Streckendrehung basiert. Daher bestimmt der ABWBG 250 einen Wedel-Referenzwert s und eine Variable k je nach den Referenzwertdaten SI. Basieren die Wedel-Referenzwertdaten SI auf einer Zeit, wird eine Referenz k(t) nach der Gleichung 1 bestimmt. Im ABWBG 250 wird vorher ein Verfahren zur Einstellung einer Variablen k aufgrund eines Referenzwerts s festgelegt.
  • Legen die Referenzwertdaten SI den Wedel-Referenzwert s als Variable festlegen, die auf einer Streckenlänge oder -drehung basiert, erzeugt der ABWBG 250 eine Streckenlänge oder -drehung zu jeder Abtastzeit ts. Der ABWBG 250 empfängt eine einheitliche Bewegung vom ABKBG 150 und fügt einheitliche Bewegungen noch hinzu, wodurch eine Streckenlänge oder -drehung ereugt wird.
  • Beispielsweise empfängt der ABWBG 250 das einheitliche Wedeln (d(1), d(2), ...) vom ABKMG 150 und fügt diese nach einem Verfahren des Hinzufügens einer unter Bezugnahme auf 4 beschriebenen Streckenlänge hinzu, wodurch ein Wedel-Referenzwert s(d) erzeugt wird.
  • Außerdem fügt der ABWBG 250 eine Drehung (r(1), r(2), ...) des einheitlichen Wedelns aus dem ABKBG 150 hinzu, wodurch ein Wedel-Referenzwert s(r) erzeugt wird.
  • 5 ist ein Flussdiagramm des Betriebs eines ABWBG, wenn ein Wedel-Referenzwert auf einer Zeit basiert. Der nachfolgend beschriebene Betrieb lässt sich gleichermaßen auf den Fall anwenden, in dem ein Wedel-Referenzwert auf einer Streckenlänge oder -drehung basiert. Eine Variable wird nur von einer Zeit zu einer Streckenlänge und -drehung gewechselt.
  • Wie in 5 dargestellt, erzeugt der ABWBG 250 einen Wedel-Referenzwert s(t) und eine Variable k(t) (S100). Es wird beschrieben, dass der Referenzwert s(t) auf einer Zeit basiert. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt.
  • Der ABWBG 250 ermittelt, ob der Referenzwert s(t) gleich einem Wedelveränderungspunkt sd ist (S110).
  • Ist der Referenzwert s(t) gleich einem Veränderungspunkt sd, wählt der ABWBG 250 das nächste einheitliche Wedeln und initialisiert den Wedel-Referenzwert s(t) (S120) [s(t) = 0].
  • Ist der Referenzwert s(t) nicht gleich einem Veränderungspunkt sd, wiederholt der ABWBG 250 den Schritt S100 des Erzeugens des Wedel-Referenzwerts s(t) und der Variablen k(t).
  • Der ABWBG 250 berechnet ein Ausmaß des aktuellen einheitlichen Wedelns (S130). Das Ausmaß des Wedelns P_r(t) wird als Produkt einer höchsten Wedelhaltung P_max und einer Wedelfunktion f(k) dargestellt, wie in der Gleichung 2 dargestellt. Das Produkt beider Faktoren stellt eine Position und Rotation des Roboters dar, und die Position des Roboters kann mit Koordinaten in einem xyz-Koordinatensystem, und die Drehung des Roboters mit einer Rotation eines xyz-Koordinatensystems dargestellt werden.
  • Das Produkt der höchsten Wedelhaltung P_max und der Wedelfunktion f(k) wird zum Austausch einer einer Komponente der höchsten Wedelhaltung P_max entsprechenden Komponente der Wedelfunktion f(k) verwendet. P_r(t) = P_max·f(k(t)) =(P_r_x(t), P_r_y(t), P_r_z(t), P_r_roll(t), P_r_pitch(t), P_r_yaw(t)) (Gleichung 2)
  • In diesem Fall wird ein Ausmaß des Wedelns, das eine Position darstellt, als Positions-Wedelausmaß P_r_p(t) und ein Ausmaß des Wedelns, das eine Rotation darstellt, als Rotations-Wedelaus P_r_r(t) bezeichnet.
  • Bei den in der Gleichung 2 erzeugten AUsmaßen ist ein Ausmaß P_r_p(t) gleich P_r_x(t), P_r_y(t) und P_r_z(t), und ein Ausmaß P_r_r(t) ist gleich P_r_roll(t), P_r_pitch(t) und P_r_yaw(t).
  • Der ABWBG 250 berechnet eine Wedelrichtung (S140). Die Wedelrichtung wird mit einem Wedelvektor Rw(t) dargestellt. Wie oben beschrieben, berechnet der ABWBG 250 ein äußeres Produkt eines Bewegungsrichtungsvektors D und eines Referenzvektors N und berechnet einen Wedelrichtungsvektor Rw(t).
  • Der ABWBG 250 berechnet ein relatives Ausmaß des Wedelns mit dem Produkt einer Wedelrichtung und eines Ausmaßes des Wedelns (S150). Das relative Ausmaß des Wedelns wird mit den Vektoren des relativen Wedelausmaßes W_p(t) und W_r(t) dargestellt. Ein Positions-Wedelausmaßvektor (PWAV) W_p(t) eines relativen Wedelausmaßvektors (WAV) ist ein Produkt des Positions-Wedelausmaßes und des Vektors Rw(t) P_r_p(t), wie es in der Gleichung 3 dargestellt wird. Ein Rotations-Wedelausmaßvektor (RWAV) W_r(t) eines WAV ist ein Produkt des Wedelausmaßes P_r_r(t) und des Vektors Rw(t), wie es in der Gleichung 4 dargestellt wird. W_p(t) = Rw(t)·P_r_p(t) (Gleichung 3) W_r(t) = Rw(t)·P_r_r(t) (Gleichung 4)
  • Auf diese Weise berechnet der ABWBG 250 berechnet relatives Ausmaß des Wedelns. Der ABWBG 250 unterscheidet ein Wedeln einer Wedelbewegung, das sich von einem derzeit erzeugten Wedeln einer Wedelewegung unterscheidet, aufgrund der Daten B2.
  • Der Ausgleichshaltungsprozessor (AHP) 300 spiegelt einen zufällig gewählten Versatz oder Rotation nach einer Veränderung der äußeren Situation an eine Bewegung wider. Ein Versatz oder Rotation nach einer äußeren Veränderung der Situation lässt sich nach verschiedenen Verfahren berechnen. In einem Ausführungsbeispiel der vorliegenden Erfindung berechnet der AHP 300 einen zufällig gewählten Versatz oder Rotation nach einer Veränderung der äußeren Situation nach einem vorbestimmten Verfahren.
  • Der AHP 3000 umfasst einen Ausgleichshaltungsgenerator (AHG) 310, der eine Eingabe einer äußeren Situation empfängt. Der AHG 310 erkennt eine äußere Situation, und wenn sich die äußere Situation ändert, berechnet der AHG 310 einen Versatz oder Rotation zum Ausgleich der Veränderung der äußeren Situation nach einem vorbestimmten Verfahren.
  • Der AHP 300 erzeugt einen ausgleichenden Versatz M_p(t) und eine ausgleichende Rotation M_r(t), die sich nach einem zufällig gewählten Ausgleichshaltungswert bestimmen, der einer äußeren Situation entspricht.
  • Die Syntheseeinheit 20 empfängt eine Eingabe jeweils des ABKBG 150, des ABWBG 250 und des AHG 310 und berechnet eine Position und eine Rotation des Roboters im Arbeitsbereich.
  • Die Syntheseeinheit 20, der ABKBG 150, der ABWBG 250, der AHG 310 und der Gelenkraumwandler 30 werden mit demselben Wedel-Abtastzyklus des Arbeitsbereichs synchronisiert werden. Der Abtastzyklus wird dabei mit einem Wedel_Abtastzyklus ts synchronisiert.
  • Die Syntheseeinheit 20 berechnet eine Position TS_p(t) im Arbeitsbereich und eine Rotation TS_r(t) im Arbeitsbereich aufgrund einer Eingabe, wie es in den Gleichungen 5 und 6 dargestellt wird. TS_p(t) = T_p(t) + W_p(t) + M_p(t) (Gleichung 5) TS_r(t) = T_r(t)·W_r(t)·M_r(t) (Gleichung 6)
  • Wie in den Gleichungen 5 und 6 dargestellt, kann die Syntheseeinheit 20 in jedem Abtastzyklus des Arbeitsbereichs in Echtzeit ein Wedeln erzeugen und einen Ausgleichshaltungswert widerspiegeln.
  • Der Gelenkraumwandler 30 empfängt eine Eingabe einer Position und einer Rotation im Arbeitsbereich von der Syntheseeinheit 20 und erzeugt eine Operation, die an einem Gelenk des Roboters auszuführen ist, um eine im Arbeitsbereich erzeugte Wedelbewegung auszuführen. Mit anderen Worten wandelt der Gelenkraumwandler 30 eine Wedelbewegung des Arbeitsbereichs in eine Bewegung des Gelenkraums um. Als konkretes Verfahren kann auf den Gelenkraumwandler 30 die umgekehrte Kinematik angewendet werden.
  • Die Servosteuerung 40 ist ein Bestandteil, der die Steuerung einer Gelenkeinheit eines Roboters, z. B. Impedanzregelung, Positionssteuerung, Geschwindigkeits- und Drehmomentregelung, ausführt.
  • 6A6D zeigen jeweils eine Wedelbewegung, bei der ein Bewegungs-Steuerungssystem nach einem erfindungsgemäßen Ausführungsbeispiel angewendet und erzeugt wird.
  • 6A ist ein Diagramm des Falls, in dem eine Wedelfunktion eine Sinusfunktion ist und in dem ein Wedel-Referenzwert eine auf der Zeit basierende Variable darstellt.
  • In 6A wird eine kontinuierliche Bewegungsstrecke von einem Ausgangs-ST1 zu einem Endpunkt EN1 von einer Linie aus zusammengeketteten Punkten gekennzeichnet. Außerdem wird eine Wedelbewegung im Arbeitsbereich, in dem das Wedeln einer kontinuierlichen Bewegung hinzugefügt wird, von einer durchgezogenen Linie gekennzeichnet. Eine Wedelfunktion f(k) der 6A ist sin(k/2pi).
  • In 6A ist eine Geschwindigkeit V1 in einem Segment PE1 zwischen Ausgangs- ST1 und Durchgangspunkt TH1 schneller als eine Geschwindigkeit V2 in einem Segment PE2 zwischen dem Durchgangs- TH1 und dem Endpunkt EN1.
  • Da die Wedelfunktion f(k) einem Referenzwert s(t) folgt, der auf der Zeit basiert, ist ein im Segment PE2 enthaltener Wedelzyklus größer als der des Segments PE1, wie in 6A dargestellt. Da die Geschwindigkeit V1 schneller als die Geschwindigkeit V2 ist, ist eine zur Zurücklegung derselben Strecke verbrauchte Zeit kürzer. Da der Referenzwert s(t) auf der Zeit basiert, reduziert sich ein in einem entsprechenden Zeitraum enthaltener Wedezyklus, da die Zeit kürzer ist.
  • 6B ist ein Diagramm des Falls, in dem die Wedelfunktion eine lineare Funktion ist und in dem ein Wedel-Referenzwert eine auf der Zeit basierende Variable darstellt. Wie im Fall der 6A, wird eine kontinuierliche Bewegungsstrecke in 6B von einer verketteten Punktlinie gekennzeichnet und im Arbeitsbereich wird eine Wedelbewegung von einer durchgezogenen Linie gekennzeichnet. Eine Wedelfunktion f(k) der 6A ist k.
  • In 6B ist eine Geschwindigkeit V3 in einem Segment PE2 zwischen Ausgangs- ST2 und Durchgangspunkt TH2 schneller als eine Geschwindigkeit V4 im Segment PE2 zwischen dem Durchgangs- TH2 und dem Endpunkt EN2. Daher ist ein in einem Segment PE4 enthaltener Wedelzyklus größer als der eines Segments P3.
  • 6C ist ein Diagramm des Falls, in dem eine Wedelfunktion eine Sinusfunktion ist und in dem ein Wedel-Referenzwert eine auf einer Streckenlänge basierende Variable darstellt. Wie im Fall der 6A, wird eine kontinuierliche Bewegungsstrecke in 6C von einer verketteten Punktlinie gekennzeichnet und im Arbeitsbereich wird eine Wedelbewegung von einer durchgezogenen Linie gekennzeichnet. Eine Wedelfunktion f(k) der 6C ist sin(k/2pi).
  • Wie in 6C dargestellt, wenn der/die Wedel-Referenzwert(e) auf einer Streckenlänge basiert, bestimmt sich die Anzahl der in einem Segment PE5 und einem Segment PE6 enthaltenen Wedelzyklen ohne Rücksicht auf eine Geschwindigkeit V5 und V6 nach einer kontinuierlichen Bewegungsstrecke.
  • Wenn also die Längen des Segments PE5 und des Segments PE6 gleich sind, ist die Anzahl der in jedem Segment enthaltenen Wedelzyklen auch gleich. Eine Zeit, in der der Arbeitsroboter das Arbeitssegment PE5 durchläuft, und eine Zeit, in der der Arbeitsroboter das Arbeitssegment PE6 durchläuft, unterscheiden sich in der Geschwindigkeit voneinander.
  • 6D ist ein Diagramm des Falls, in dem eine Wedelfunktion eine lineare Funktion ist und in dem ein Wedel-Referenzwert eine auf einer Streckenlänge basierende Variable darstellt. Wie im Fall der 6A, wird eine kontinuierliche Bewegungsstrecke in 6D von einer verketteten Punktlinie gekennzeichnet und im Arbeitsbereich wird eine Wedelbewegung von einer durchgezogenen Linie gekennzeichnet. Eine Wedelfunktion f(k) der 6D ist k.
  • Wie in 6D dargestellt, wenn der/die Wedel-Referenzwert(e) auf einer Streckenlänge basiert, bestimmt sich die Anzahl der in einem Segment PE7 und einem Segment PE8 enthaltenen Wedelzyklen ohne Rücksicht auf eine Geschwindigkeit V7 und V8 nach einer Länge einer kontinuierlichen Bewegungsstrecke.
  • Zwar ist die vorliegende Erfindung im Zusammenhang mit derzeit für praktisch erachteten Ausführungsbeispiele erläutert werden, jedoch ist anzumerken, dass die Erfindung sich nicht auf die offenbarten Ausführungsformen beschränkt, sondern vielmehr verschiedene Änderungen und gleichwertige Anordnungen umfassen soll, die vom Geist und Umfang der unten aufgeführten Patentansprüche umfasst werden.
  • Industrielle Anwendung
  • Auf diese Weise kann nach einem Ausführungsbeispiel der vorliegenden Erfindung, das in Echtzeit eine Wedelbewegung steuern kann, kann eine Vorrichtung zur Echtzeit-Steuerung von Wedelbewegungen in Echtzeit mit einer veränderung einer äußeren Arbeitsumgebung fertig werden kann.

Claims (15)

  1. Vorrichtung zur Echtzeit-Steuerung von Wedelbewegungen, die den Betrieb eines Roboters in einem Arbeitsbereich steuert, umfassend: einen Präprozessor, der eine Hauptbewegungsstrecke des Roboters im Arbeitsbereich bestimmt und eine einheitliche Bewegung, die die bestimmte Hauptstrecke bildet und ein Wedeln erzeugt, das den Versatz dynamisch verändert und dabei eine kontinuierliche Bewegung ausführt, bei der einheitliche Bewegungen miteinander verbunden sind, und wodurch mindestens eines von einem ausgleichenden Versatz und einer ausgleichenden Drehung erzeugt werden, die sich nach dem Arbeitsbereich bestimmen; und eine Einheit zur Synthese der Bewegungen im Arbeitsbereich, die eine Position und eine Drehung des Roboters im Arbeitsbereich nach mindestens einem von der einheitlichen Bewegung, dem Wedeln, dem ausgleichenden Versatz und der ausgleichenden Drehung berechnet.
  2. Vorrichtung nach Anspruch 1, wobei der Präprozessor umfasst: einen Prozessor für kontinuierliche Bewegungen, die eine vor der Aufnahme einer Bewegung des Roboters bestimmte Hauptstrecke oder eine in Echtzeit nach Verfahrenswahldaten über kontinuierliche Bewegungen erzeugte Hauptstrecke bestimmt und die einheitliche Bewegung erzeugt; einen Wedelbewegungs-Prozessor, der ein Wedeln wählt, das vor vor der Aufnahme einer Bewegung des Roboters oder in Echtzeit nach Verfahrenswahldaten über Wedelbewegungen bestimmt wird und ein relatives Ausmaß des Wedelns erzeugt; und sowie einen Ausgleichshaltungs-Prozessor, der zur Widerspiegelung eines nach dem Zufallsprinzip bestimmten Versatzes oder Drehung aufgrund einer infolge einer Bewegung veränderten Situation des Arbeitsbereichs den ausgleichenden Versatz oder die ausgleichende Drehung erzeugt.
  3. Vorrichtung nach Anspruch 2, wobei der Prozessor für kontinuierliche Bewegungen umfasst: einen Streckenlistenspeicher, der eine nach der Aufnahme der Bewegung bestimmte Hauptstrecke speichert; einen Echtzeit-Streckengenerator, der in Echtzeit eine neue einheitliche Bewegung erzeugt, wenn sich ein Grund zur Veränderung der Situation des Arbeitsbereichs oder eine Veränderung der Bewegungsstrecke ergibt; ein Streckenzeichen, das eine im Echtzeit-Streckengenerator (EzS) erzeugte einheitliche Bewegung speichert; einen Streckenselektor, der eine von einer einheitlichen Bewegung des Streckenzeichens und einer einheitlichen Bewegung des Streckenlistenspeichers (SLS) nach den Verfahrenswahldaten für kontinuierliche Bewegungen auswählt; und einen Generator für kontinuierliche Bewegungen im Arbeitsbereich (ABKBG), der eine vom Streckenselektor nach den Start-/Enddaten über kontinuierliche Bewegung, die einen Start- und Endpunkt vorbestimmter Aufgaben darstellt, als kontinuierliche Bewegung übertragene einheitliche Bewegung verbindet.
  4. Vorrichtung nach Anspruch 3, wobei der ABKBG eine (n + 1). einheitliche Bewegung einer kontinuierlichen Bewegung nach einem Startverfahren für einheitliche Bewegungen einleitet und eine n. einheitliche Bewegung nach einem Verarbeitungsverfahren für frühere Bewegungen verarbeitet.
  5. Vorrichtung nach Anspruch 4, wobei das Verfahren zur Einleitung einheitlicher Bewegungen eines der nachfolgenden Verfahren ist: ein Verfahren zum Starten der (n + 1). einheitlichen Bewegung zu einem Zeitpunkt, zu dem die n. einheitliche Bewegung von einer Beschleunigung oder konstanten Geschwindigkeit zu einer Verlangsamung übergeht; ein Verfahren zum Starten der (n + 1). einheitlichen Bewegung zu einem Zeitpunkt, zu dem die n. einheitliche Bewegung von einer Beschleunigung zu einer konstanten Geschwindigkeit oder Verlangsamung übergeht; ein Verfahren zum Starten der (n + 1). einheitlichen Bewegung zu einem vorbestimmten Zeitpunkt vor dem Stoppen der n. einheitlichen Bewegung; und ein Verfahren zum Starten der (n + 1). einheitlichen Bewegung zu einem Zeitpunkt, zu dem eine überlappende Bewegung zwischen der n. einheitlichen Bewegung und einer früheren (n – 1). einheitlichen Bewegung beendet wird.
  6. Vorrichtung nach Anspruch 4, wobei das Verfahren zur Verarbietung früherer Bewegungen eines der nachfolgenden Verfahren ist: ein Verfahren zur Verlangsamung der n. einheitlichen Bewegung und zur Einleitung der (n + 1). einheitlichen Bewegung; und ein Verfahren zur Beibehaltung der n. einheitlichen Bewegung und zur Einleitung der (n + 1). einheitlichen Bewegung.
  7. Vorrichtung nach Anspruch 2, wobei der Prozessor für Wedelbewegungen umfasst: einen Wedellistenspeicher, der eine vor der Aufnahme der Bewegung bestimmte Wedelliste speichert; einen Echtzeit-Wedelgenerator (EWG), der in Echtzeit ein Wedeln erzeugt, wenn sich bei der Arbeit ein Grund zur Veränderung der Situation des Arbeitsbereichs oder eine Veränderung der Bewegungsstrecke ergibt; ein Wedelzeichen, das ein im EWG erzeugtes Wedeln speichert; einen Wedelselektor, der ein in der Wedelliste aufgeführtes einheitliches Wedeln oder ein einheitliches Wedeln des Wedelzeichens nach den Verfahrenswahldaten für Wedelbewegungen auswählt; und einen Wedelgenerator für den Arbeitsbereich (ABWG), der eine Eingabe der Start-/Enddaten des Wedeln sowie eine Wedel-Abtastzeit und Wedel-Referenzwertdaten zur Unterscheidung eines vom Wedelselektor ausgewählten einheitlichen Wedelns empfängt und ein relatives Ausmaß des Wedelns innerhalb der Wedel-Abtastzeit unter Zuhilfenahem des ausgewählten Wedelns und der Wedel-Referenzwertdaten bestimmt, wobei die Referenzwertdaten einen Wedel-Referenzwert zur Einstellung eines Wedel-Veränderungspunktes umfasst, in dem das nächste einheitliche Wedeln bei der Ausführung des aktuellen einheitlichen Wedelns ausgeführt wird.
  8. Vorrichtung nach Anspruch 7, wobei der ABWG den Wedel-Referenzwert nach einer Zeit, Streckenlänge oder Streckendrehung der kontinuierlichen Bewegung bestimmt.
  9. Vorrichtung nach Anspruch 8, wobei der ABWG den Wedel-Referenzwert, unter Zuhilfenahme eines Wedelzylus, in dem sich die Wedelfunktion wiederholt, und des bestimmten Wedel-Referenzwerts eine erste Variable bestimmt und die Wedelfunktion in Abhängigkeit der ersten Variablen erzeugt.
  10. Vorrichtung nach Anspruch 9, wobei der ABWG den Wedel-Referenzwert und die erste Variable erzeugt, wenn der Wedel-Referenzwert den Wedel-Veränderungspunkt nicht erreicht.
  11. Vorrichtung nach Anspruch 7, wobei die Syntheseeinheit, der ABKBG, der ABWG und der AHG beim Betrieb mit der Wedel-Abtastzeit synchronisiert werden.
  12. Vorrichtung nach Anspruch 11, ferner umfassend einen Gelenkraumwandler, der eine Eingabe einer Position und eines Ausmaßes einer Drehung eines Roboters von der Syntheseeinheit empfängt und den Betrieb eines Gelenks des Roboters derart veranlasst, dass das Wedeln realisiert wird, wobei der Gelenkraumwandler beim Betrieb mit dem Wedel-Abtastzyklus synchronisiert wird.
  13. Verfahren zur zur Echtzeit-Steuerung von Wedelbewegungen zur Steuerung des Betriebs eines Roboters in einem Arbeitsbereich, umfassend: Erzeugen einer einheitlichen Bewegung in Echtzeit je nachdem, ob ein Echtzeit-Veränderungsgrund, umfssend einen Grund zur Veränderung der Situation des Arbeitsbereichs und eine Veränderung der Bewegungsstrecke bei der Arbeit, auftritt und Auswählen entweder einer einheitlichen Bewegung, die vor der Aufnahme einer Bewegung des Roboters bestimmt wird, oder einer in Echtzeit erzeugte einheitliche Bewegung; Erzeugen eines einheitlichen Wedelns in Echtzeit je nachdem, ob ein Echtzeit-Veränderungsgrund auftritt, und Auswählen entweder eines einheitlichen Wedelns, das vor der Aufnahme einer Bewegung des Roboters bestimmt wird, oder eines in Echtzeit erzeugte einheitlichen Wedelns; Erzeugen mindestens eines von einem ausgleichenden Versatz und einer ausgleichenden Drehung, die sich nach einer Veränderung der Situation des Arbeitsbereichs bestimmen; und eine Einheit zur Synthese der Bewegungen im Arbeitsbereich, die eine Position und eine Drehung des Roboters im Arbeitsbereich nach mindestens einem von der einheitlichen Bewegung, dem Wedeln, dem ausgleichenden Versatz und der ausgleichenden Drehung berechnet.
  14. Verfahren nach Anspruch 13, ferner umfassend das Bestimmen eines relativen Ausmaßes des Wedelns nach dem ausgewählten einheitlichen Wedeln, wobei das Bestimmen eines relativen Ausmaßes des Wedelns das Bestimmen eines relativen Ausmaßes des Wedelns innerhalb einer Wedel-Abtastzeit mithilfe des ausgewählten einheitlichen Wedelns und der Wedel-Refernzwertdaten umfasst, und wobei die Referenzwertdaten einen Wedel-Referenzwert zur Einstellung eines Wedel-Veränderungspunktes umfasst, in dem das nächste einheitliche Wedeln bei der Ausführung des aktuellen einheitlichen Wedelns ausgeführt wird.
  15. Verfahren nach Anspruch 14, wobei das Bestimmen eines relativen Ausmaßes des Wedelns ferner umfasst: Bestimmen des Wedel-Referenzwerts nach einer Zeit, Streckenlänge oder Streckendrehung der kontinuierlichen Bewegung; und Bestimmen einer ersten Variablen unter Zuhilfenahme eines Wedelzyklus, der die Wedelfunktion und den bestimmten Wedel-Referenzwert wiederholt und Erzeugen der Wedelfunktion in Abhängigkeit von der ersten Variablen.
DE112012004592.0T 2011-11-02 2012-10-05 Vorrichtung und Verfahren zur Echtzeit-Steuerung von Wedelbewegungen Active DE112012004592B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020110113482A KR101337650B1 (ko) 2011-11-02 2011-11-02 실시간 위빙 모션 제어 장치 및 그 방법
KRKR-10-2011-0113482 2011-11-02
PCT/KR2012/008059 WO2013065955A1 (ko) 2011-11-02 2012-10-05 실시간 위빙 모션 제어 장치 및 그 방법

Publications (2)

Publication Number Publication Date
DE112012004592T5 true DE112012004592T5 (de) 2014-08-21
DE112012004592B4 DE112012004592B4 (de) 2015-11-12

Family

ID=48192266

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012004592.0T Active DE112012004592B4 (de) 2011-11-02 2012-10-05 Vorrichtung und Verfahren zur Echtzeit-Steuerung von Wedelbewegungen

Country Status (6)

Country Link
US (1) US9302390B2 (de)
JP (1) JP5858168B2 (de)
KR (1) KR101337650B1 (de)
CN (1) CN104023922B (de)
DE (1) DE112012004592B4 (de)
WO (1) WO2013065955A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235166B1 (ko) * 2015-09-21 2021-04-02 주식회사 레인보우로보틱스 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법
EP3428754B1 (de) * 2017-07-13 2023-02-15 Siemens Aktiengesellschaft Verfahren zum einrichten eines bewegungsautomaten und einrichtungsanordnung
CN107998656B (zh) * 2017-11-22 2020-12-22 福建天晴数码有限公司 一种编排方法及终端
JP6999444B2 (ja) * 2018-02-16 2022-01-18 日本電産サンキョー株式会社 産業用ロボットの補正値算出方法
KR20210085946A (ko) * 2019-12-31 2021-07-08 주식회사 한화 로봇의 제어 장치, 방법 및 컴퓨터 프로그램
JP2023047209A (ja) 2021-09-24 2023-04-05 株式会社神戸製鋼所 ウィービング制御方法、溶接制御装置、溶接システム及びウィービング制御プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6188975A (ja) * 1984-10-05 1986-05-07 Fanuc Ltd 自動溶接機の経路補正方式
JPH07106454B2 (ja) 1989-06-14 1995-11-15 新明和工業株式会社 溶接線倣い制御方法
JP3146550B2 (ja) 1991-08-26 2001-03-19 株式会社日立製作所 産業用ロボットの制御装置
JPH06222817A (ja) * 1993-01-27 1994-08-12 Komatsu Ltd ロボットのウィービング制御装置
JPH0720919A (ja) 1993-06-22 1995-01-24 Mitsubishi Heavy Ind Ltd マニプレータの制御装置
JP3208261B2 (ja) 1994-10-07 2001-09-10 株式会社神戸製鋼所 アーク溶接ロボット
KR0155913B1 (ko) 1995-10-26 1998-12-15 김광호 위빙기능을 갖는 로봇제어 방법
JPH10244367A (ja) 1997-03-03 1998-09-14 Fanuc Ltd 溶接ロボットシステム
JPH11296215A (ja) 1998-04-07 1999-10-29 Daihen Corp 産業用ロボットの自動プログラミング方法
KR100621100B1 (ko) * 2000-02-11 2006-09-07 삼성전자주식회사 용접로봇 교시위치 보정방법 및 용접로봇시스템
AT410641B (de) 2000-04-05 2003-06-25 Fronius Schweissmasch Prod Verfahren zum fortlaufenden regeln bzw. nachführen einer position eines schweissbrenners bzw. eines schweisskopfes
JP2002096170A (ja) 2000-09-19 2002-04-02 Daihen Corp アーク溶接ロボットの自動プログラミング法における自動センシングプロセスの修正法
CN1255249C (zh) 2002-12-05 2006-05-10 上海交通大学 机器人运行轨迹坐标在线补偿方法
JP2004252814A (ja) * 2003-02-21 2004-09-09 Daihen Corp 多関節型ロボットの速度制御法および制御装置
JP4647325B2 (ja) * 2004-02-10 2011-03-09 株式会社小松製作所 建設機械の作業機の制御装置、建設機械の作業機の制御方法、及びこの方法をコンピュータに実行させるプログラム
DE102004024378B4 (de) 2004-05-17 2009-05-20 Kuka Roboter Gmbh Verfahren zur robotergestützten Vermessung von Objekten
SE0401542D0 (sv) * 2004-06-14 2004-06-14 Abb Ab A method and a device for providing feedback on weaving parameters
JP4498061B2 (ja) 2004-08-18 2010-07-07 株式会社ダイヘン 溶接ロボット制御装置
JP2007061983A (ja) 2005-09-01 2007-03-15 Fanuc Ltd ロボット監視システム
JP4842656B2 (ja) 2006-02-14 2011-12-21 株式会社ダイヘン 溶接ロボット制御装置
JP4891726B2 (ja) * 2006-10-06 2012-03-07 株式会社神戸製鋼所 タンデムアーク溶接システムを制御するロボット制御装置およびそれを用いたアーク倣い制御方法
JP5049916B2 (ja) 2007-10-31 2012-10-17 株式会社神戸製鋼所 アーク溶接ロボットの制御装置、その方法及びそのプログラム
CN101402199B (zh) 2008-10-20 2011-01-26 北京理工大学 基于视觉的手眼式低伺服精度机器人抓取移动目标的方法
JP5498246B2 (ja) * 2010-05-11 2014-05-21 株式会社神戸製鋼所 タンデムアーク溶接システムを制御するロボットコントローラ、それを用いたアーク倣い制御方法およびタンデムアーク溶接システム
KR20120005082A (ko) 2010-07-08 2012-01-16 대우조선해양 주식회사 로봇 연속모션 블랜딩 방법 및 그 방법을 구현하기 위한 로봇 제어 시스템

Also Published As

Publication number Publication date
WO2013065955A1 (ko) 2013-05-10
US9302390B2 (en) 2016-04-05
CN104023922A (zh) 2014-09-03
KR101337650B1 (ko) 2013-12-05
DE112012004592B4 (de) 2015-11-12
KR20130048566A (ko) 2013-05-10
US20140316568A1 (en) 2014-10-23
JP2014534083A (ja) 2014-12-18
CN104023922B (zh) 2016-08-24
JP5858168B2 (ja) 2016-02-10

Similar Documents

Publication Publication Date Title
DE112012004592B4 (de) Vorrichtung und Verfahren zur Echtzeit-Steuerung von Wedelbewegungen
DE102014104226B4 (de) Verfahren zur Erzeugung eines Pfades eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE2712169C2 (de) Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter
EP0762250B1 (de) Verfahren zur Steuerung von Koordinatenmessgeräten
EP2303521B1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
DE102011113590B4 (de) Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern
EP3023205B1 (de) Verfahren zum ermitteln einer bewegungsgrenze
DE112019006713B4 (de) Ein Verfahren zur Steuerung einer Bewegung, eine Bewegungssteuereinrichtung und ein System sowie ein Speichermedium desselben
DE102014104220A1 (de) Verfahren zur Erzeugung eines Pfades eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
DE102009049172A1 (de) Verfahren und Vorrichtung zur Steuerung eines Manipulators
DE102015103451B4 (de) Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt
DE102015223258A1 (de) Verfahren zum Bearbeiten der Oberfläche eines dreidimensionalen Objekts
EP3623116A1 (de) Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators
EP2209596B1 (de) Industrieroboter und verfahren zum steuern der bewegung eines industrieroboters
DE102008029657A1 (de) Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE10251600A1 (de) Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten
WO2019166229A1 (de) Verfahren zum automatischen erzeugen einer bewegungstrajektorie und zugehöriges computerprogrammprodukt
DE2313497A1 (de) Digitale steuervorrichtung
EP3569367A1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
EP2628574A1 (de) Verfahren zur Simulation einer Bearbeitungsmaschine
DE102015109708B3 (de) Verfahren zur Steuerung des Bewegungsablaufs einer motorisch angetriebenen Maschinen- oder Werkzeugkomponente
WO2019158270A1 (de) Koordinierungsanlage, handhabungseinrichtung und verfahren
EP2324965A1 (de) Verfahren und Vorrichtung zum Steuern von Manipulatoren
DE112021004080T5 (de) Numerische steuerungsvorrichtung zur kontrolle der relativen positionsbeziehung zwischen bearbeitungswerkzeug und werkstück

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final