-
Die vorliegende Erfindung betrifft ein Verfahren und System zum Programmieren und insbesondere Ausführen eines Roboterprozesses sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.
-
Aus der Literatur sind verschiedene Möglichkeiten bekannt, mit Robotern vorgegebene Soll-Bahnen abzufahren und dabei mit dem Roboter vorgegebene Soll-Arbeitskräfte auf die Umgebung, insbesondere Werkstücke, auszuüben. So schlägt beispielsweise Khatib in „A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation", (IEEE Journal of Robotics and AutomationVol. RA-3, No. 1, Februar 1987, ISSN 0882-4967, S. 43-53) eine hybride Positions- und Kraft-Regelung vor.
-
Aufgabe der vorliegenden Erfindung ist es, den Betrieb, insbesondere die Programmiern, von Robotern zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 6, ein System mit den Merkmalen des Anspruchs 9 bzw. ein Computerprogrammprodukt mit den Merkmalen des Anspruchs 10 gelöst. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Programmieren eines Roboterprozesses die Schritte auf:
- - manuelles Anfahren mehrerer Soll-Posen eines Roboters, in denen ein robotergeführtes Werkzeug, insbesondere ein Arbeits- oder Lernwerkzeug, eine Umgebung kontaktiert;
- - Abspeichern einer Soll-Bahn des Roboters auf Basis der angefahrenen Soll-Posen; und, in einer Ausführung vor, mit oder nach dem Anfahren bzw. Abspeichern
- - manuelles Vorgeben von Soll-Arbeitskräften des Roboters (auf die Umgebung) an Bahnpunkten der Soll-Bahn, insbesondere in den Soll-Posen und/oder von diesen verschiedenen Punkten der Soll-Bahn.
-
Hierdurch kann in einer Ausführung ein Roboterprozess, der das Abfahren einer abgespeicherten Soll-Bahn und Aufprägen von Soll-Arbeitskräfte durch einen Roboter an Punkten dieser Soll-Bahn umfasst, in einer Ausführung hieraus besteht, verbessert, insbesondere schnell(er), einfach(er), präzise(r) und/oder intuitiv(er), insbesondere auch durch unerfahrene(re) Anwender, durchgeführt werden.
-
Zur kompakteren Darstellung werden vorliegend auch anti-parallele Kräftepaare bzw. Drehmomente verallgemeinernd als Kräfte im Sinne der vorliegenden Erfindung bezeichnet. Eine (Soll-)Arbeitskraft kann in einer Ausführung eine Kraft zwischen dem Werkzeug und der Umgebung, also eine von der Umgebung auf das robotergeführte Werkzeug ausgeübte bzw. von dem robotergeführten Werkzeug auf die Umgebung aufgeprägte (Kontakt- bzw. (Re)Aktions)Kraft umfassen, insbesondere sein.
-
In einer Ausführung werden die Soll-Posen, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus bzw. falls ein Handführ-Betriebsmodus ausgewählt (worden) ist, in Abhängigkeit von, insbesondere manuell, auf den Roboter aufgeprägten externen Führungskräften angefahren bzw. der Roboter manuell in die Soll-Posen handgeführt, wobei der Roboter hierzu in einer Ausführung wenigstens teilweise nachgiebig geregelt wird bzw. ist.
-
Hierdurch können in einer Ausführung die Soll-Posen schnell(er), einfach(er) und/oder intuitiv(er), insbesondere auch durch unerfahrene(re) Anwender, angefahren werden.
-
In einer Ausführung werden die Soll-Posen, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus bzw. falls ein Fernsteuer-, insbesondere Jogging-Betriebsmodus ausgewählt (worden) ist, in Abhängigkeit von Daten angefahren, die über eine, in einer Ausführung tragbare und/oder von dem Roboter verschiedene, insbesondere separate, Eingabeeinrichtung manuell, in einer Ausführung mittels hard- und/oder softwaretechnisch ausgebildeter Tasten, Schalter oder ähnlicher Eingabemittel, eingegebenen werden bzw. worden sind, wobei die Eingabeeinrichtung, in einer Ausführung drahtlos oder drahtgebunden, mit dem Roboter, insbesondere (über) eine(r) Robotersteuerung, kommuniziert bzw. hierzu eingerichtet ist bzw. verwendet wird.
-
Hierdurch können in einer Ausführung die Soll-Posen schnell(er), einfach(er), und/oder präzise(r) angefahren werden, insbesondere durch unerfahrene(re) Anwender.
-
Zur kompakteren Darstellung wird vorliegend auch ein Regeln bzw. (An)Steuern in Abhängigkeit erfasster Ist-Größen verallgemeinernd als Steuern im Sinne der vorliegenden Erfindung bezeichnet.
-
In einer Ausführung wird durch bzw. in Abhängigkeit von eine(r) Benutzereingabe der Handführ- oder Fernsteuer-Betriebsmodus ausgewählt bzw. zwischen diesen Betriebsmodi umgeschaltet.
-
Hierdurch können in einer Ausführung ein für die jeweilige Situation vorteilhafter Betriebsmodus bzw. die Vorteile beider Betriebsmodi genutzt werden.
-
In einer Ausführung werden die Soll-Arbeitskräfte, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus bzw. falls ein Aufzeichnungs-Betriebsmodus ausgewählt (worden) ist, in Abhängigkeit von, insbesondere manuell, auf den Roboter aufgeprägten externen Arbeitskräften vorgegeben, die beim manuellen Anfahren der Soll-Posen, insbesondere in den (manuell) angefahrenen Soll-Posen, erfasst werden.
-
In einer Ausführung werden die Soll-Arbeitskräfte somit, falls ein Handführ-Aufzeichnungs-Betriebsmodus ausgewählt (worden) ist, in Abhängigkeit von, insbesondere manuell, auf den Roboter aufgeprägten externen Arbeitskräften vorgegeben, die beim manuellen Anfahren der Soll-Posen in Abhängigkeit von, insbesondere manuell, auf den Roboter aufgeprägten externen Führungskräften bzw. manuellen Handführen des Roboters in die Soll-Posen erfasst werden, insbesondere in den (manuell) angefahrenen Soll-Posen.
-
Hierdurch können in einer Ausführung die Soll- Arbeitskräfte schnell(er), einfach(er) und/oder intuitiv(er), insbesondere auch durch unerfahrene(re) Anwender, vorgegeben werden.
-
Gleichermaßen können die Soll-Arbeitskräfte in einer Ausführung, falls ein Fernsteuer-Aufzeichnungs-Betriebsmodus ausgewählt (worden) ist, in Abhängigkeit von, insbesondere manuell, auf den Roboter aufgeprägten externen Arbeitskräften vorgegeben werden, die beim manuellen Anfahren der Soll-Posen in Abhängigkeit von Daten, die über die Eingabeeinrichtung eingegebenen werden bzw. worden sind bzw. manuellen Fernsteuern des Roboters in die Soll-Posen erfasst werden, insbesondere in den (manuell) angefahrenen Soll-Posen.
-
Hierdurch können in einer Ausführung die Soll-Posen schnell(er), einfach(er), und/oder präzise(r) angefahren werden, insbesondere durch unerfahrene(re) Anwender. Zudem kann hierbei der Roboter positionsgeregelt ferngesteuert werden, so dass in einer Ausführung die Arbeitskräfte mittels an Achsen des Roboters angeordneten Gelenksensoren erfasst werden können.
-
In einer Ausführung werden die Soll-Arbeitskräfte, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus bzw. falls ein Abfahr-Betriebsmodus, insbesondere
- - ein Handführ-Abfahr-Betriebsmodus mit vorhergehendem manuellen Anfahren der Soll-Posen in Abhängigkeit von auf den Roboter aufgeprägten externen Führungskräften oder
- - ein Fernsteuer-Abfahr-Betriebsmodus mit vorhergehendem manuellen Anfahren der Soll-Posen in Abhängigkeit von über die Eingabeeinrichtung eingegebenen Daten, ausgewählt (worden) ist,
in Abhängigkeit von, insbesondere manuell, auf den Roboter aufgeprägten externen Arbeitskräften vorgegeben, die bei einem, in einer Ausführung wenigstens teilweise positionsgeregelten, Ab- bzw. Nachfahren der (bereits) abgespeicherten Soll-Bahn erfasst werden, insbesondere also bei einem an das manuelle Anfahren der Soll-Posen anschließenden Ab- bzw. Nachfahren.
-
Mit anderen Worten werden zweistufig zunächst in einer ersten Stufe die Soll-Bahn abgespeichert und hierzu die Soll-Posen angefahren und in einer zweiten Stufe beim darauffolgenden Ab- bzw. Nachfahren dieser Soll-Bahn die Arbeitskräfte erfasst.
-
Hierdurch können in einer Ausführung die Soll- Arbeitskräfte schnell(er), einfach(er), präzise(r) und/oder intuitiv(er), insbesondere auch durch unerfahrene(re) Anwender, vorgegeben werden.
-
In einer anderen Ausführung werden die Soll-Arbeitskräfte, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus bzw. falls ein Versatz-Betriebsmodus, insbesondere
- - ein Handführ-Versatz-Betriebsmodus mit vorhergehendem manuellen Anfahren der Soll-Posen in Abhängigkeit von auf den Roboter aufgeprägten externen Führungskräften oder
- - ein Fernsteuer-Versatz-Betriebsmodus mit vorhergehendem manuellen Anfahren der Soll-Posen in Abhängigkeit von über die Eingabeeinrichtung eingegebenen Daten, ausgewählt (worden) ist,
in Abhängigkeit von, insbesondere manuell, auf den Roboter aufgeprägten externen Arbeitskräften vorgegeben, die bei einem, in einer Ausführung wenigstens teilweise positionsgeregelten, Ab- bzw. Nachfahren einer Eingabebahn erfasst werden, welche in Abhängigkeit von der (bereits) abgespeicherten Soll-Bahn ermittelt wird, insbesondere gegenüber dieser, in einer Ausführung um einen einstellbaren und/oder über die Bahn konstanten Versatz, versetzt ist.
-
Mit anderen Worten werden zweistufig zunächst in einer ersten Stufe die Soll-Bahn abgespeichert und hierzu die Soll-Posen angefahren und in einer zweiten Stufe beim darauffolgenden Ab- bzw. Nachfahren einer hiergegen versetzten Eingabebahn-Bahn die Arbeitskräfte erfasst.
-
Hierdurch können in einer Ausführung die Soll- Arbeitskräfte auch vorgegeben werden, ohne Kontaktkräfte zu messen, da diese durch entsprechende Reaktionskräfte aufgehoben und daher durch Gelenksensoren nicht erfasst werden.
-
In einer Ausführung werden die Soll-Arbeitskräfte, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus bzw. falls ein Prädispositions-Betriebsmodus ausgewählt (worden) ist, in Abhängigkeit von, insbesondere manuell, auf den Roboter aufgeprägten externen Arbeitskräften vorgegeben, die (bereits) vor dem manuellen Anfahren der Soll-Posen, insbesondere in einer oder mehreren Posen des Roboters, die keinem der Bahnpunkte entsprechen, erfasst werden.
-
Mit anderen Worten werden (umgekehrt) zweistufig zunächst in einer ersten Stufe die Arbeitskräfte erfasst und in einer darauffolgenden zweiten Stufe die Soll-Posen angefahren und die Soll-Bahn abgespeichert.
-
So kann insbesondere zunächst, in einer Ausführung bei wenigstens teilweise positionsgeregeltem Roboter, durch manuelles Ziehen an einem robotergeführten Werkzeug, einem distalen Roboter- bzw. Werkzeugflansch oder dergleichen, eine Arbeitskraft erfasst und (erst) anschließend der Roboter, insbesondere wenigstens teilweise nachgiebig geregelt, in die Soll-Posen handgeführt werden, in denen er diese Arbeitskraft oder eine in Abhängigkeit von dieser ermittelte Soll-Arbeitskraft aufbringen soll.
-
In einer Ausführung werden die Soll-Arbeitskräfte, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus bzw. falls ein Eingabe-Betriebsmodus, insbesondere
- - ein Handführ-Eingabe-Betriebsmodus mit vorhergehendem manuellen Anfahren der Soll-Posen in Abhängigkeit von auf den Roboter aufgeprägten externen Führungskräften oder
- - ein Fernsteuer-Eingabe-Betriebsmodus mit vorhergehendem manuellen Anfahren der Soll-Posen in Abhängigkeit von über die Eingabeeinrichtung eingegebenen Daten, ausgewählt (worden) ist,
in Abhängigkeit von (Kraft)Werten vorgegeben, die über eine Eingabeeinrichtung eingegeben werden, insbesondere die mit dem Roboter kommunizierende Eingabeeinrichtung, mittels der die Soll-Posen angefahren werden, oder eine hiervon verschiedene, insbesondere separate, in einer Ausführung tragbare, Eingabeeinrichtung, insbesondere in numerischer Form, in einer Ausführung mittels hard- und/oder softwaretechnisch ausgebildeter Tastatur, Schalter oder ähnlicher Eingabemittel.
-
Mit anderen Worten werden zweistufig zunächst in einer ersten Stufe die Soll-Bahn abgespeichert und hierzu die Soll-Posen angefahren und in einer zweiten Stufe die Arbeitskräfte über eine Eingabeeinrichtung, in einer Ausführung numerisch, eingegeben.
-
Hierdurch können in einer Ausführung die Soll- Arbeitskräfte schnell(er), einfach(er), präzise(r), und/oder ohne Kräfte zu messen vorgegeben werden.
-
In einer Ausführung werden die Führungskräfte mithilfe wenigstens eines Sensors, der an einer Achse des Roboters angeordnet ist, insbesondere mithilfe an mehreren Achsen des Roboters angeordneter (Gelenk)Sensoren und/oder auf Basis eines, insbesondere dynamischen, mathematischen Ersatzmodells des Roboters, erfasst.
-
Zusätzlich oder alternativ werden in einer Ausführung die Arbeitskräfte mithilfe wenigstens eines, insbesondere desselben, Sensors, der an einer Achse des Roboters angeordnet ist, insbesondere mithilfe, in einer Ausführung derselben, an mehreren Achsen des Roboters angeordneter (Gelenk)Sensoren und/oder auf Basis eines bzw. des, insbesondere dynamischen, mathematischen Ersatzmodells des Roboters, erfasst.
-
Hierdurch kann in einer Ausführung eine separate Messung an einem Handgriff oder dergleichen vorteilhaft entfallen.
-
In einer Ausführung werden die Führungskräfte mithilfe wenigstens eines Sensors, der zwischen einer Kontaktfläche des Werkzeugs und einem benachbarten, distal(st)en Gelenk des Roboters angeordnet ist, insbesondere mithilfe eines mehrachsigen Kraftsensors, insbesondere also eines Kraft-Momenten-Sensors, erfasst.
-
Zusätzlich oder alternativ werden in einer Ausführung die Arbeitskräfte mithilfe wenigstens eines, insbesondere desselben, Sensors, der zwischen einer Kontaktfläche des Werkzeugs und einem benachbarten, distal(st)en Gelenk des Roboters angeordnet ist, insbesondere mithilfe eines mehrachsigen Kraftsensors, insbesondere also eines Kraft-Momenten-Sensors, erfasst.
-
Hierdurch können in einer Ausführung Führungs- bzw. Arbeitskräfte präzise(r) erfasst werden.
-
Ein Sensor kann eine Kraft erfassen, indem er diese bzw. eine hierdurch bewirkte Verformung misst, beispielsweise mithilfe von Dehnmessstreifen, Piezoelementen oder dergleichen. In einer anderen Ausführung erfasst ein Sensor eine Kraft indirekt, insbesondere auf Basis einer gemessenen elektrischen Spannung, eines elektrischen Stroms, einer Leistung oder dergleichen, die in einem Antrieb der entsprechenden Achse bzw. des entsprechenden Gelenks auftritt.
-
In einer Ausführung werden bzw. sind zum bzw. während des Erfassen(s) der Arbeitskraft ein(e) oder mehrere Gelenke bzw. Achsen zwischen der Werkzeugkontaktfläche und einem Angriffspunkt bzw. einer Einleitung einer manuell aufgeprägten externen Kraft, die die Arbeitskraft bewirkt, positionsgeregelt oder, insbesondere mittels Bremsen, blockiert und/oder ein(e) oder mehrere (proximale(re)) Gelenke bzw. Achsen, die diesen nachfolgen bzw. zwischen diesen und einer Basis des Roboters angeordnet sind, wenigstens teilweise nachgiebig geregelt.
-
Auf diese Weise können, insbesondere bei insofern redundanten Robotern, die distale(re)n Gelenksensoren (auch) zur Erfassung der Arbeitskraft genutzt werden, während die (proximale(re)n) Gelenksensoren zum Handführen verwendet werden. Werden beispielsweise bei einem siebenachsigen Roboter dessen proximalen bzw. basisnäheren sechs Gelenke nachgiebig geregelt und sein siebtes bzw. distales Gelenk blockiert oder positionsgeregelt, kann ein Bediener den Roboter an dessen vorletztem Glied, das in dem distalen Gelenk mit dem Werkzeug verbunden ist, in die Soll-Posen führen und mit dem Gelenksensor des distalen Gelenks eine Arbeitskraft erfasst werden, die zwischen Werkzeugkontaktfläche und Umgebung wirkt.
-
In einer Ausführung werden die erfassten Arbeitskräfte nachbearbeitet, in einer Ausführung gefiltert, geglättet, skaliert und/oder, insbesondere durch bzw. auf vorgegebene Minimal- und/oder Maximalwerte, begrenzt, insbesondere beschnitten, und die Soll-Arbeitskräfte in Abhängigkeit von diesen nachbearbeiteten Arbeitskräften vorgegeben.
-
Hierdurch können in einer Ausführung eine Handführung und/oder Soll-Kraft-Vorgabe verbessert, insbesondere Messfehlereinflüsse reduziert, werden.
-
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Ausführen des Roboterprozesses die Schritte auf:
- - Programmieren des Roboterprozesses in hier beschriebener Weise;
- - ,insbesondere wiederholtes, Abfahren der abgespeicherten Soll-Bahn durch den (beim bzw. zum Programmieren des Roboterprozesses verwendeten) oder einen anderen Roboter, insbesondere eines anderen Robotertyps; und dabei
- - (jeweils) Aufprägen der Soll-Arbeitskräfte durch diesen Roboter an den Bahnpunkten.
-
Die vorliegende Erfindung wird mit besonderem Vorteil bei Robotern mit mehr-, insbesondere wenigstens sechs-, in einer Ausführung wenigstens siebenachsigen Roboterarmen und/oder einer mobilen Basis verwendet, da hier insbesondere die schnelle, einfache, präzise und/oder intuitive Programmierung, insbesondere auch durch unerfahrene(re) Anwender, besonders wichtig und/oder komplex ist.
-
Die Soll-Bahn kann in einer Ausführung eine oder mehrere der angefahrenen Soll-Posen enthalten, insbesondere aus den angefahrenen Soll-Posen bestehen. Somit können die Soll-Posen in einer Ausführung diskrete Soll-Posen sein, zwischen denen beispielsweise interpoliert wird. Gleichermaßen können die Soll-Posen die, insbesondere kontinuierliche, Bahn bilden, insbesondere also eine(n) kontinuierliche(n) Verlauf bzw. Folgen aufweisen bzw. bilden. In einer Ausführung wird die Soll-Bahn manuell abgefahren und dabei die Soll-Posen in vorgegebenen Zeit- und/oder Wegabständen abgespeichert, insbesondere als Soll-Bahn („playback“). In einer anderen Ausführung werden einzelne Soll-Posen manuell angefahren, als Stützpunkte durch einen entsprechenden Befehl abgespeichert, und die Soll-Bahn auf Basis dieser Stützpunkte generiert („touch-up“).
-
Abgespeicherte Punkte der Soll-Bahn können in einer Ausführung Achs- bzw. Gelenkstellungen bzw. -koordinaten des Roboters aufweisen, insbesondere sein. Gleichermaßen können abgespeicherte Punkte der Soll-Bahn in einer Ausführung Posen des Roboters, insbesondere Posen bzw. ein-, zwei- oder dreidimensionale Positionen und/oder ein-, zwei- oder dreidimensionale Orientierungen, einer roboterfesten Referenz, insbesondere des TCPs, und/oder einen oder mehrere Redundanzparameter, beispielsweise eine Ellbogenstellung oder dergleichen, aufweisen, insbesondere sein.
-
Mit anderen Worten kann die Soll-Bahn in einer Ausführung im Achsraum, in einer anderen Ausführung im (gegebenenfalls um den Raum der Redundanzparameter erweiterten) Arbeitsraum des Roboters abgespeichert sein bzw. werden. Ersteres kann in einer Ausführung vorteilhaft direkt auf Basis erfasster Achs- bzw. Gelenkstellungen bzw. -koordinaten des Roboters erfolgen, letzteres in einer Ausführung vorteilhaft auf verschiedene Roboter(typen) übertragen werden bzw. roboter(typ)unabhängig bzw. -übergreifend sein.
-
Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- - Mittel zum manuellen Anfahren mehrerer Soll-Posen des Roboters, in denen das robotergeführte Werkzeug die Umgebung kontaktiert;
- - Mittel zum Abspeichern der Soll-Bahn des Roboters auf Basis der angefahrenen Soll-Posen; und
- - Mittel zum manuellen Vorgeben von Soll-Arbeitskräften des Roboters an Bahnpunkten der Soll-Bahn, insbesondere in den Soll-Posen und/oder von diesen verschiedenen Punkten der Soll-Bahn.
-
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- - Mittel zum Anfahren der Soll-Posen, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus, in Abhängigkeit von auf den Roboter aufgeprägten externen Führungskräften oder in Abhängigkeit von über eine mit dem Roboter kommunizierende Eingabeeinrichtung eingegebenen Daten;
- - Mittel zum Vorgeben der Soll-Arbeitskräfte, insbesondere in Abhängigkeit von einem ausgewählten Betriebsmodus, in Abhängigkeit von auf den Roboter aufgeprägten externen Arbeitskräften, die bei oder vor dem manuellen Anfahren der Soll-Posen oder bei einem Abfahren der abgespeicherten Soll-Bahn oder einer Eingabebahn in Abhängigkeit von der abgespeicherten Soll-Bahn erfasst werden, oder in Abhängigkeit von über eine Eingabeeinrichtung eingegebenen Werte werden;
- - wenigstens einen Sensor zum Erfassen der Führungs- und/oder Arbeitskräfte, der an einer Achse des Roboters oder zwischen einer Werkzeugkontaktfläche und einem benachbarten Gelenk des Roboters angeordnet ist;
- - Mittel zum Nachbearbeiten der erfassten Arbeitskräfte und Vorgeben der Soll-Arbeitskräfte in Abhängigkeit von den nachbearbeiteten Arbeitskräften;
- - Mittel zum Abfahren der abgespeicherten Soll-Bahn durch den oder einen anderen Roboter und dabei Aufprägen der Soll-Arbeitskräfte durch diesen Roboter an den Bahnpunkten.
-
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die CPU die Schritte solcher Verfahren ausführen kann und damit insbesondere den Roboter steuern bzw. regeln kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.
-
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel. In einer Ausführung weist das System den Roboter auf.
-
Auch ein Anfahren von Soll-Posen bzw. ein Vor- bzw. Eingeben mittels akustischer oder optischer Eingaben bzw. Befehle, insbesondere eine Gestensteuerung oder dergleichen, wird vorliegend verallgemeinernd als manuelles Anfahren bzw. Vor- bzw. Eingeben im Sinne der vorliegenden Erfindung verstanden. Mit anderen Worten wird als manuell insbesondere „händisch“ bzw. „durch physischen Kontakt“, aber verallgemeinernd auch „durch einen menschlichen Bediener“ bezeichnet.
-
In einer Ausführung wird somit das Problem gelöst, dass beim Teachen einer Soll-Bahn, in der ein robotergeführtes Werkzeug wenigstens abschnittsweise eine Umgebung kontaktiert, Soll-Arbeitskräfte, die der Roboter bzw. das Werkzeug auf die Umgebung ausüben soll, nicht mittels derjenigen Gelenksensoren erfasst werden können, mit denen eine Handführkraft erfasst wird, da eine manuell aufgeprägte Kontaktkraft durch eine entsprechende Reaktionskraft kompensiert und somit durch die Gelenksensoren nicht erfasst wird. Zur Lösung dieses Problems wird in einer Ausführung die Nutzung eines Kraftsensors zwischen Werkzeugkontaktfläche und benachbartem Gelenk oder Gelenksensoren an blockierten oder positionsgeregelten Gelenken vorgeschlagen, die distal von einem Angriffspunkt einer Handführung angeordnet sind. In einer anderen Ausführung wird ein zweistufiges Verfahren vorgeschlagen, bei dem Soll-Bahn und Soll-Arbeitskräfte nacheinander vorgegeben werden, wobei vorteilhafterweise dieselben Kraftsensoren, insbesondere ein Kraftsensor zwischen Werkzeugkontaktfläche und benachbartem Gelenk oder Gelenksensoren, einerseits zum Handführen und andererseits zur Vorgabe der Soll-Arbeitskräfte verwendet werden.
-
Die (Aus)Wahl eines Betriebsmodus kann in einer Ausführung manuell und/oder mithilfe einer der genannten Eingabeeinrichtungen oder auch über ein am Roboter, insbesondere dessen Roboterarm oder mobiler Basis, selber angeordnetes Auswahlmittel, insbesondere Tasten, Schalter oder dergleichen, erfolgen bzw. die Eingabeeinrichtung bzw. das Auswahlmittel hierzu eingerichtet sein bzw. verwendet werden.
-
Die Soll-Arbeitskräfte können in einer Ausführung an diskreten Bahnpunkten vorgegeben werden. Gleichermaßen können in einer Ausführung ein kontinuierlicher Kräfteverlauf entlang der Soll-Bahn bzw. Soll-Arbeitskräfte an kontinuierlichen Bahnpunkten der Soll-Bahn vorgegeben werden.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: ein System zum Ausführen eines Roboterprozesses nach einer Ausführung der vorliegenden Erfindung; und
- 2: ein Verfahren zum Ausführen des Roboterprozesses nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt ein System zum Ausführen eines Roboterprozesses nach einer Ausführung der vorliegenden Erfindung, das einen Roboter 1 mit sieben Achsen bzw. Gelenken 11-17 mit Gelenk(momenten)sensoren 21-27 sowie einem sechsachsigen Kraft-Momenten-Sensor 28, der zwischen einer Kontaktfläche 19 eines robotergeführten Werkzeugs 18 angeordnet ist, eine Robotersteuerung 2 und ein damit kommunizierendes Teach-Panel 3 aufweist.
-
In einem ersten Schritt S10 wird geprüft, ob, beispielsweise am Teach-Panel 3, ein Handführ-Aufzeichnungs-Betriebsmodus ausgewählt worden ist.
-
Ist dies der Fall (S10: „Y“), wird in einem Schritt S15 der Roboter handgeführt in verschiedene Soll-Posen gefahren, wobei mithilfe der Gelenksensoren 21-27 auf Basis eines mathematischen Ersatzmodells von einem Bediener 4 manuell auf den Roboter aufgeprägte externe Führungskräften erfasst und in entsprechende Steuerbefehle an den Roboter umgesetzt werden, mit denen dieser den externen Führungskräften folgt bzw. ausweicht. Die angefahrenen Soll-Posen werden als Soll-Bahn abgespeichert.
-
In den Soll-Posen werden mithilfe des Kraft-Momenten-Sensors 28 vom Bediener mit dem bzw. über den Roboter 1 bzw. dessen Werkzeug 18 auf die Umgebung ausgeübte Arbeitskräfte erfasst und, gegebenenfalls nach Nachbearbeitung, als Soll-Arbeitskräfte abgespeichert. Dann fährt das Verfahren mit Schritt S70 fort.
-
In einer Abwandlung kann statt des Handführ-Aufzeichnungs-Betriebsmodus ein Fernsteuer-Aufzeichnungs-Betriebsmodus ausgewählt werden, in dem die Soll-Posen mittels des Teach-Panels 3 angefahren werden.
-
Falls der Handführ-Aufzeichnungs-Betriebsmodus (bzw. Fernsteuer-Aufzeichnungs-Betriebsmodus) nicht ausgewählt worden ist (S10: „N“), wird in Schritt S20 geprüft, ob, beispielsweise am Teach-Panel 3, ausgewählt worden ist, dass zunächst die Soll-Bahn oder die Soll-Arbeitskräfte vorgegeben werden soll(en).
-
Soll zunächst die Soll-Bahn vorgegeben werden (S20: „Y“), werden in einem Schritt S25 mit dem Roboter 1 die Soll-Posen, insbesondere wahlweise, handgeführt oder mittels des Teach-Panels 3, angefahren und die Soll-Bahn in Abhängigkeit von diesen Soll-Posen abgespeichert.
-
Dann wird in Schritt S30 geprüft, ob, beispielsweise am Teach-Panel 3, ausgewählt worden ist, dass die Soll-Arbeitskräfte numerisch vorgegeben werden sollen.
-
Ist dies der Fall (S30: „Y“), kann der Bediener 4 diese in einem Schritt S35 manuell über das Teach-Panel 3 numerisch eingeben. Anschließend fährt das Verfahren wiederum mit Schritt S70 fort.
-
Sollen die Soll-Arbeitskräfte hingegen nach dem manuellen Anfahren der Soll-Posen bzw. Abspeichern der Soll-Bahn (vgl. Schritt S25) in Abhängigkeit von auf den Roboter aufgeprägten externen Arbeitskräften vorgegeben werden (S30: „N“), wird in Schritt S40 geprüft, ob, beispielsweise am Teach-Panel 3, ausgewählt worden ist, dass Arbeitskräfte beim Abfahren der abgespeicherten Soll-Bahn erfasst werden sollen.
-
Ist dies der Fall (S40: „Y“), fährt der Roboter in einem Schritt S45 die abgespeicherte Soll-Bahn positionsgeregelt ab. Dabei werden mithilfe der Gelenksensoren 21-27 auf Basis des mathematischen Ersatzmodells vom Bediener 4 manuell auf den Roboter aufgeprägte externe Arbeitskräfte erfasst und, gegebenenfalls nach Nachbearbeitung, als Soll-Arbeitskräfte abgespeichert. Dann fährt das Verfahren wiederum mit Schritt S70 fort.
-
Sollen hingegen Arbeitskräfte beim Abfahren einer Eingabebahn erfasst werden, die gegen die bzw. gegenüber der abgespeicherte(n) Soll-Bahn versetzt ist (S40: „N“), fährt der Roboter stattdessen in einem Schritt S50 die um einen vorgegebenen Versatz versetzte Eingabebahn positionsgeregelt ab. Dabei werden wiederum mithilfe der Gelenksensoren 21-27 auf Basis des mathematischen Ersatzmodells vom Bediener 4 manuell auf den Roboter aufgeprägte externe Arbeitskräfte erfasst und, gegebenenfalls nach Nachbearbeitung, als Soll-Arbeitskräfte abgespeichert. Dann fährt das Verfahren ebenfalls mit Schritt S70 fort.
-
Sollen zunächst die Soll-Arbeitskräfte vorgegeben werden (S20: „N“), werden in einem Schritt S60 der Roboter 1 positionsgeregelt in einer Pose gehalten und mithilfe der Gelenksensoren 21-27 auf Basis des mathematischen Ersatzmodells vom Bediener 4 manuell auf den Roboter aufgeprägte externe Arbeitskräfte erfasst und, gegebenenfalls nach Nachbearbeitung, als Soll-Arbeitskräfte abgespeichert.
-
In einem anschließenden Schritt S65 wird der Roboter in eine nachgiebige Regelung umgeschaltet und in dieser, wie vorstehend mit Bezug auf Schritt S25 erläutert, in die Soll-Posen gefahren und die Soll-Bahn in Abhängigkeit von diesen Soll-Posen abgespeichert.
-
In einer Abwandlung kann der Roboter stattdessen mittels des Teach-Panels 3 in die Soll-Posen gefahren werden.
-
Dann fährt das Verfahren ebenfalls mit Schritt S70 fort.
-
In Schritt S70 wird der solcherart programmierte Roboterprozess testweise durchgeführt, indem der Roboter die abgespeicherte Soll-Bahn abfährt und dabei mit seinem Werkzeug 18 die vorgegebenen Soll-Arbeitskräfte auf seine Umgebung aufprägt. Gegebenenfalls wird der Roboterprozess, insbesondere die abgespeicherte Soll-Bahn und/oder die vorgegebenen Soll-Arbeitskräfte, in Schritt S70 anschließend modifiziert, beispielsweise mittels numerischer Korrekturen über das Teach-Panel 3.
-
In einem Schritt S75 führt der Roboter 1 oder auch ein hiervon (typ)verschiedener Roboter (nicht dargestellt) wiederholt den solcherart programmierten Roboterprozess durch.
-
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.
-
So kann insbesondere der Roboter, mit dem der Prozess programmiert und/oder durchgeführt wird, ein mobiler Roboter sein.
-
Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
-
Bezugszeichenliste
-
- 1
- Roboter
- 2
- Steuerung
- 3
- Teach-Panel
- 4
- Bediener
- 11-17
- Gelenk/Achse
- 18
- Werkzeug
- 19
- Werkzeugkontaktfläche
- 21-27
- Gelenk(momenten)sensor
- 28
- Kraft-Momenten-Sensor
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- „A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation“, (IEEE Journal of Robotics and AutomationVol. RA-3, No. 1, Februar 1987, ISSN 0882-4967, S. 43-53) [0002]