-
Die Erfindung betrifft ein Robotersystem sowie ein Verfahren zum Ansteuern eines Robotermanipulators.
-
Aufgabe der Erfindung ist es, die Bedienung eines Robotermanipulators für einen Anwender zu vereinfachen und zu verbessern.
-
Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche.
-
Ein erster Aspekt der Erfindung betrifft ein Robotersystem, aufweisend einen Robotermanipulator, eine mit dem Robotermanipulator verbundene Steuereinheit, und eine jeweils mit der Steuereinheit verbundene Bedieneinheit und Ausgabeeinheit, wobei die Bedieneinheit zum Ausgeben einer Vielzahl von Modi und zum Erfassen einer Eingabe eines Anwenders bezüglich einer Auswahl eines der Modi sowie zum Übermitteln der Eingabe an die Steuereinheit ausgeführt ist, wobei die Steuereinheit eine Schnittstelle zum Bereitstellen von einem oder mehreren Steuerprogrammen aufweist und dazu ausgeführt ist, auf Basis der erfassten Eingabe jedes aktuell und zukünftig auszuführende der Steuerprogramme gemäß dem ausgewählten Modus zu parametrieren und entsprechend parametriert durch Ansteuern des Robotermanipulators auszuführen, und die Ausgabeeinheit abhängig von dem ausgewählten Modus zum Ausgeben einer entsprechenden Ausgabe während der Ausführung des jeweiligen Steuerprogramms anzusteuern, wobei ein jeweiliger Modus der Minimierung zumindest eines der folgenden Kriterien bezüglich der Ausführung des jeweiligen Steuerprogramms dient: Zeit, Energie, Verschleiß, Geräusche, Kostenfunktion, wobei die Struktur der Kostenfunktion vorgegeben ist und die Kostenfunktion zumindest eine oder eine Kombination der folgenden Variablen aufweist: Zeit, Energie, Verschleiß, Geräusche.
-
Bevorzugt ist die Steuereinheit im oder am Robotermanipulator oder in einem oder an einem Sockel des Robotermanipulators angeordnet. Alternativ bevorzugt ist die Steuereinheit eine externe Steuereinheit des Robotermanipulators, die jedoch datentechnisch mit dem Robotermanipulator und insbesondere mit den Aktuatoren des Robotermanipulators verbunden ist, sodass in jedem Fall die Steuereinheit dazu ausgeführt ist, Aktuatoren des Robotermanipulators anzusteuern.
-
Die Ausgabeeinheit gibt insbesondere während der Ausführung eines Steuerprogramms eine Information über den aktuell ausgewählten Modus an. Die Ausgabeeinheit ist bevorzugt eine Licht emittierende Ausgabeeinheit, die bevorzugt über den Arm des Robotermanipulators verteilt ist; insbesondere können mehrere Leuchtbänder an verschiedenen Gliedern des Robotermanipulators angeordnet sein, die in einer Farbe abhängig vom jeweiligen aktuell aktivierten Modus Licht abgeben.
-
Weiterhin bevorzugt ist die Bedieneinheit Teil der Ausgabeeinheit, die insbesondere ein berührungsempfindlicher Bildschirm ist. Auf diesem berührempfindlichen Bildschirm, auch genannt „Touchscreen“, werden insbesondere Auswahloptionen über die verschiedenen Modi angezeigt. Bevorzugt durch eine Berührung einer entsprechenden Auswahloption, die einem jeweiligen Modus zugeordnet ist, wird in diesem Fall von einem Anwender ein jeweiliger Modus ausgewählt.
-
Alternativ bevorzugt ist die Bedieneinheit ein Spracherfassungssystem, sodass durch Spracheingaben eine entsprechende Eingabe von einem Anwender vorgenommen werden kann. Alternativ dazu können auch die entsprechende Ausführungsformen der Bedieneinheit miteinander kombiniert werden, sodass der oben genannte Touchscreen durch eine entsprechende Spracheingabe angesteuert werden kann. Weitere Ausführungsformen für die Bedieneinheit sind möglich. Wesentlich für die Bedieneinheit ist, dass der Anwender eine Eingabe bezüglich eines gewünschten Modus vornehmen kann, mit dem der Robotermanipulator seine Steuerprogramme ausführt.
-
Der jeweilige Modus ist dabei als eine Grundeinstellung und als eine Metakonfiguration des Robotermanipulators zu verstehen, die als Paradigma für die Ausführung eines Steuerprogramms dient. Ein solches Paradigma bestimmt die Art der Ausführung aller Steuerprogramme dahingehend, wie der Robotermanipulator verwendet werden soll - insbesondere, ob eine Aufgabe möglichst energiearm ausgeführt werden soll, möglichst schnell ausgeführt werden soll, möglichst mit geringen Geräuschentwicklung verbunden sein soll, oder ob die Lebensdauer des Robotermanipulators im Vordergrund steht, sodass insbesondere die Ausführungszeit einer Aufgabe nachrangig ist und bevorzugt die Schonung der Komponenten des Robotermanipulators im Vordergrund steht. Weiterhin bevorzugt kann eine Kostenfunktion verwendet werden, die manche oder alle der genannten Kriterien, nach denen der Ablauf eines Steuerprogramms optimiert werden soll, kombiniert. Bevorzugt wird eine solche Kostenfunktion aus einer gewichteten Summe der Quadrate von ausgewählten Kriterien gebildet. Beispielsweise wird das Quadrat der Ausführungszeit zum Quadrat der Geräuschentwicklung addiert, wobei die Summe daraus die Kostenfunktion ergibt, die von der Steuereinheit zu minimieren ist, um entsprechend das eine oder die mehreren Steuerprogramme durch Parametrierung zu optimieren.
-
Dass jedes aktuell und zukünftig auszuführende der Steuerprogramme gemäß dem ausgewählten Modus parametriert werden, heißt nicht notwendigerweise, dass all diese Steuerprogramme instantan nach Auswahl des Modus durch den Anwender parametriert werden, obgleich dies eine mögliche Variante der Ausführung ist. Da die Schnittstelle der Steuereinheit zum Bereitstellen von einem oder mehreren Steuerprogrammen unter anderem neben einer Netzwerkschnittstelle auch eine Speichereinheit mit einer sehr großen Vielzahl von abgespeicherten Steuerprogrammen sein kann, werden insbesondere zumindest die für eine Ausführung geplanten oder infrage kommenden Steuerprogramme zunächst durch den entsprechenden Modus parametriert. Während je nach erforderlichen Modifikationen und Einstellungen bei der Ausführung eines aktuellen auszuführenden Steuerprogramms einerseits die Parametrierung während der Ausführung des Steuerprogramms selbst erfolgen kann, oder aber es andererseits notwendig sein kann, ein auszuführendes Steuerprogramm vor einer Ausführung vollständig zu parametrieren, müssen insbesondere auch im zweiten Fall nicht a priori sämtliche der Steuerprogramme durch die Steuereinheit parametriert werden, sondern werden bei Bedarf vor ihrer Ausführung entsprechend parametriert. Dies ist jedoch nur eine Möglichkeit einer technisch machbaren Umsetzung, die Funktion der Auswahl eines bestimmten Modus als Metakonfiguration und Paradigma für die Ausführung von Steuerprogrammen gemäß den Vorstellungen des Anwenders bleibt dadurch erhalten.
-
Die Parametrierung eines jeweiligen Steuerprogramms erfolgt dabei bevorzugt durch nichtlineare Optimierung, durch Anwendung von Tabellen, durch Anwendung von weiteren heuristisch ermittelten Funktionen, durch vordefinierte Funktionen und Zusammenhänge, sowie durch Einstellung bestimmter Grenzwerte in einem Regler der Steuereinheit, insbesondere Grenzwerte im elektrischen Strom, Drehmoment, Geschwindigkeit, Beschleunigung, Ableitung der Beschleunigung, etc..
-
Bevorzugt ist die Steuereinheit dazu ausgeführt, sämtliche Steuerprogramme abhängig von dem aktuell ausgewählten Modus unmittelbar nach Auswahl des jeweiligen Modus zu parametrieren. Eine Änderung der Parametrierung der Steuerprogramme ergibt sich demnach insbesondere erst dann, wenn ein neuer Modus vom Anwender an der Bedieneinheit ausgewählt wird.
-
Die intuitiv mögliche Auswahl aus den vorgegebenen Modi sowie die leichte Verständlichkeit der Modi erlauben es einem Anwender vorteilhaft, sehr einfach seine Ziele bezüglich des Umgangs mit der Maschine „Robotermanipulator“ bei der Ausführung von Steuerprogrammen zur Erfüllung von Aufgaben generell zu berücksichtigen, ohne dabei jedes einzelne der Steuerprogramme einzelnen neu einstellen zu müssen.
-
Es ist daher eine vorteilhafte Wirkung der Erfindung, dass durch die Definition der Modi das grundsätzliche Verhalten des Robotermanipulators aus einer für den Anwender semantisch leicht verständlichen Kategorie in eine technische Grundeinstellung für den Roboter umgewandelt wird, und für sämtliche Steuerprogramme bis zur Eingabe eines neuen Modus der aktuell aktivierte Modus für alle Steuerprogramme angewendet wird.
-
Gemäß einer vorteilhaften Ausführungsform ist die Bedieneinheit zum Erfassen einer weiteren Eingabe des Anwenders bezüglich einer Definition der Kostenfunktion sowie zum Übermitteln der weiteren Eingabe an die Steuereinheit ausgeführt, wobei die Steuereinheit dazu ausgeführt ist, gemäß der weiteren Eingabe eine Struktur der Kostenfunktion und/oder Wichtungsfaktoren einer Kostenfunktion, die aus einer gewichteten Summe basierend auf mindestens zwei der Variablen gebildet ist, zu ermitteln.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Schnittstelle eine Speichereinheit der Steuereinheit, wobei die Speichereinheit dazu ausgeführt ist, ein Steuerprogramm abzuspeichern und bei Bedarf zu laden und zur Ausführung auf der Steuereinheit bereitzustellen. Vorteilhaft können alle auf der Speichereinheit gespeicherten Steuerprogramme mit dem entsprechenden Modus parametriert werden und bei Bedarf im richtigen Modus ausgeführt werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Ausgabeeinheit eine visuelle Ausgabeeinheit und die Ausgabe erfolgt abhängig von dem Modus durch zumindest eines aus:
- - einer bestimmten Farbe,
- - einem bestimmten Symbol,
- - einer bestimmten Textausgabe auf der Ausgabeeinheit.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Ausgabeeinheit eine am Robotermanipulator angeordnete Leuchteinheit, die dazu ausgeführt ist, Licht in verschiedenen Farben zu emittieren. Die aktuelle Farbe wird insbesondere danach ausgewählt, welcher Modus zuletzt vom Anwender an der Bedieneinheit ausgewählt wurde und daher für die Parametrierung der Steuerprogramme anzuwenden ist. Vorteilhaft wird dem Anwender ein sehr intuitives Signal übermittelt, welcher Modus aktuell am Robotermanipulator aktiv ist und für die Ausführung der Steuerprogramme verwendet wird.
-
Gemäß einer weiteren vorteilhaften Ausführungsform sind das oder die Steuerprogramme durch manuelles Führen des Robotermanipulators erzeugt, wobei die Steuereinheit dazu ausgeführt ist, jedes aktuell und zukünftig auszuführende der Steuerprogramme durch nichtlineare Optimierung gemäß dem ausgewählten Modus zu optimieren und entsprechend zu parametrieren. Hierbei können bekannte Verfahren der nichtlinearen Optimierung, insbesondere gradientenbasierte Verfahren, quadratische Optimierung und dabei wiederum Methoden des sogenannten „line-search“ wie die Methode des goldenen Schnitts verwendet werden, um iterativ ein lokales und insbesondere möglichst auch globales Optimum für die jeweilige Kategorie zu ermitteln.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Steuereinheit dazu ausgeführt, jedes der Steuerprogramme unabhängig von ihrer geplanten Ausführung unmittelbar nach Auswahl des gewünschten Modus durch den Anwender entsprechend zu parametrieren und eine jeweilige entsprechend parametrierte Version der Steuerprogramme abzuspeichern. Vorteilhaft steht damit für die spontane Anwendung eines Steuerprogramms die entsprechende parametrierte Version eines Steuerprogramms bei Auswahl eines beliebigen Modus unmittelbar zur Verfügung.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Steuereinheit dazu ausgeführt, das jeweils aktuell ausgeführte Steuerprogramm während seiner Laufzeit gemäß dem ausgewählten Modus zu parametrieren. Vorteilhaft spart dies Rechenaufwand, da nicht jedes der abgespeicherten Steuerprogramme abhängig vom aktuell ausgewählten Modus entsprechend sofort nach dem Erfolgen der Auswahl eines Modus durch den Anwender parametriert werden muss.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Steuereinheit zum Anpassen zumindest eines der folgenden Parameter zum parametrieren eines Steuerprogramms ausgeführt:
- - ein maximales Moment für Aktuatoren des Robotermanipulators,
- - eine maximale Geschwindigkeit der Bewegung des Robotermanipulators,
- - eine künstliche Dämpfung für die Bewegung des Robotermanipulators,
- - eine künstliche Federkonstante für die Bewegung des Robotermanipulators,
- - sämtliche Parameter einer Impedanzregelung des Robotermanipulators,
- - eine maximale Beschleunigung der Bewegung des Robotermanipulators,
- - eine Pose des Robotermanipulators,
- - im Falle eines redundanten Robotermanipulators mit zueinander redundanten Freiheitsgraden: Pose und/oder Bewegung von Gliedern des Robotermanipulators in ihrem Nullraum,
- - eine maximale elektrische Stromstärke bei der Ausführung des aktuell auszuführenden Steuerprogramms,
- - ein Spektrum bezüglich der Frequenzen, die bei der Ansteuerung von Aktuatoren des Robotermanipulators bei der Ausführung des aktuell auszuführenden Steuerprogramms auftreten.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Steuereinheit dazu ausgeführt, bei der Ausführung des Steuerprogramms eine Gütefunktion zu ermitteln, wobei die Gütefunktion das bei der Ausführung des jeweiligen Steuerprogramms tatsächlich auftretende Kriterium eines jeweiligen Modus umfasst, wobei die Steuereinheit dazu ausgeführt ist, eine heuristische Funktion basierend auf der Gütefunktion zu ermitteln und eine Parametrierung eines später auszuführenden Steuerprogramms auf Basis der heuristischen Funktion anzupassen. Vorteilhaft erlaubt es diese Ausführungsform, bei einer wiederholten Ausführung eines Steuerprogramms oder einer Ausführung eines weiteren Steuerprogramms aus der ersten Ausführung Funktionen und Zusammenhänge zu lernen und die Parametrierung für einen bestimmten Modus entsprechend anzupassen, sodass das Optimierungsziel eines Modus bei weiteren Ausführungen noch besser erreicht wird.
-
Ein weiterer Aspekt der Erfindung betrifft ein Verfahren zum Ansteuern eines Robotermanipulators, aufweisend die Schritte:
- - Bereitstellen eines oder mehrerer Steuerprogramme an einer Schnittstelle einer mit dem Robotermanipulator verbundenen Steuereinheit,
- - Ausgeben einer Vielzahl von Modi an einer mit der Steuereinheit verbundenen Bedieneinheit,
- - Erfassen einer Eingabe eines Anwenders bezüglich einer Auswahl eines der Modi und Übermitteln der Eingabe an die Steuereinheit,
- - Parametrieren jedes aktuell und zukünftig auszuführenden der Steuerprogramme auf Basis der erfassten Eingabe gemäß dem ausgewählten Modus durch die Steuereinheit, und
- - Ansteuern einer Ausgabeeinheit durch die Steuereinheit abhängig von dem Modus, gemäß dem ein aktuell ausgeführtes Steuerprogramm parametriert ist, zum Ausgeben einer entsprechenden Ausgabe während der Ausführung des jeweiligen Steuerprogramms,
wobei ein jeweiliger Modus der Minimierung zumindest eines der folgenden Kriterien bezüglich der Ausführung des jeweiligen Steuerprogramms dient: Zeit, Energie, Verschleiß, Geräusche, Kostenfunktion, wobei die Struktur der Kostenfunktion vorgegeben ist und die Kostenfunktion zumindest eine oder eine Kombination der folgenden Variablen aufweist: Zeit, Energie, Verschleiß, Geräusche.
-
Vorteile und bevorzugte Weiterbildungen des vorgeschlagenen Verfahrens ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit dem vorgeschlagenen Robotersystem vorstehend gemachten Ausführungen.
-
Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen.
-
Es zeigen:
- 1 ein Robotersystem gemäß einem Ausführungsbeispiel der Erfindung, und
- 2 ein Verfahren gemäß einem weiteren Ausführungsbeispiel der Erfindung.
-
Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
-
1 zeigt ein Robotersystem 1 mit einem Robotermanipulator 3, mit einer am Robotermanipulator 3 angeordneten Steuereinheit 5, und mit einer jeweils mit der Steuereinheit 5 verbundenen Bedieneinheit 7 und Ausgabeeinheit 9. Die Bedieneinheit 7 ist ein mit der Steuereinheit 5 verbundener Laptop. Am Laptop werden eine Vielzahl von möglichen Modi angezeigt. Der Laptop erfasst eine Maus-Eingabe eines Anwenders bezüglich einer Auswahl eines der Modi und übermittelt die Eingabe an die Steuereinheit 5. Die Steuereinheit 5 weist einen Speicher zum Bereitstellen von mehreren Steuerprogrammen auf und parametriert gemäß der erfassten Eingabe, das heißt gemäß dem gewünschten Modus jedes der Steuerprogramme, das zur Ausführung ansteht. Nur wenn fertig parametriert, steuer auf Initiierung der Ausführung des jeweiligen Steuerprogramms die Steuereinheit 5 die Aktuatoren des Robotermanipulators entsprechend dem jeweiligen parametrierten Steuerprogramm an. Der jeweilige zuletzt ausgewählte Modus gilt dann für die Ausführung aller weiterer Steuerprogramme, solange kein anderer Modus ausgewählt wird. Die Modi dienen der Minimierung jeweils der folgenden Kriterien bezüglich der Ausführung des jeweiligen Steuerprogramms: Zeit, Energie, Verschleiß, Geräusche, Kostenfunktion. Die Kostenfunktion ist eine Summe der Quadrate aus Zeit und Energie. Eine Ausgabeeinheit 9 gibt abhängig von dem ausgewählten Modus verschiedene Farben aus. Die Ausgabeeinheit 9 weist dabei farbige LED-Ringe an den Gliedern des Robotermanipulators 1 auf.
-
2 zeigt ein Verfahren zum Ansteuern eines Robotermanipulators 3, aufweisend die Schritte:
- - Bereitstellen S1 eines oder mehrerer Steuerprogramme an einer Schnittstelle einer mit dem Robotermanipulator 3 verbundenen Steuereinheit 5,
- - Ausgeben S2 einer Vielzahl von Modi an einer mit der Steuereinheit 5 verbundenen Bedieneinheit 7,
- - Erfassen S3 einer Eingabe eines Anwenders bezüglich einer Auswahl eines der Modi und Übermitteln der Eingabe an die Steuereinheit 5,
- - Parametrieren S4 jedes aktuell und zukünftig auszuführende der Steuerprogramme auf Basis der erfassten Eingabe gemäß dem ausgewählten Modus durch die Steuereinheit 5, und
- - Ansteuern S5 einer Ausgabeeinheit 9 abhängig von dem Modus, gemäß dem ein aktuell ausgeführtes Steuerprogramm parametriert ist, zum Ausgeben einer entsprechenden Ausgabe während der Ausführung des jeweiligen Steuerprogramms anzusteuern, wobei ein jeweiliger Modus der Minimierung der folgenden Kriterien bezüglich der Ausführung des jeweiligen Steuerprogramms dient: Zeit, Energie, Verschleiß, Geräusche, Kostenfunktion. Die Kostenfunktion gibt dabei die Summe der Beträge aus: Verschleiß und Geräusche wieder.
-
Obwohl die Erfindung im Detail durch bevorzugte Ausführungsbeispiele näher illustriert und erläutert wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Es ist daher klar, dass eine Vielzahl von Variationsmöglichkeiten existiert. Es ist ebenfalls klar, dass beispielhaft genannte Ausführungsformen wirklich nur Beispiele darstellen, die nicht in irgendeiner Weise als Begrenzung etwa des Schutzbereichs, der Anwendungsmöglichkeiten oder der Konfiguration der Erfindung aufzufassen sind. Vielmehr versetzen die vorhergehende Beschreibung und die Figurenbeschreibung den Fachmann in die Lage, die beispielhaften Ausführungsformen konkret umzusetzen, wobei der Fachmann in Kenntnis des offenbarten Erfindungsgedankens vielfältige Änderungen, beispielsweise hinsichtlich der Funktion oder der Anordnung einzelner, in einer beispielhaften Ausführungsform genannter Elemente, vornehmen kann, ohne den Schutzbereich zu verlassen, der durch die Ansprüche und deren rechtliche Entsprechungen, wie etwa weitergehende Erläuterungen in der Beschreibung, definiert wird.
-
Bezugszeichenliste
-
- 1
- Robotersystem
- 3
- Robotermanipulator
- 5
- Steuereinheit
- 7
- Bedieneinheit
- 9
- Ausgabeeinheit
- S1
- Bereitstellen
- S2
- Ausgeben
- S3
- Erfassen
- S4
- Parametrieren
- S5
- Ansteuern