DE102019117219A1 - System zum Bedienen einer grafischen Benutzeroberfläche - Google Patents

System zum Bedienen einer grafischen Benutzeroberfläche Download PDF

Info

Publication number
DE102019117219A1
DE102019117219A1 DE102019117219.5A DE102019117219A DE102019117219A1 DE 102019117219 A1 DE102019117219 A1 DE 102019117219A1 DE 102019117219 A DE102019117219 A DE 102019117219A DE 102019117219 A1 DE102019117219 A1 DE 102019117219A1
Authority
DE
Germany
Prior art keywords
robot manipulator
user interface
input
pose
current
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
DE102019117219.5A
Other languages
English (en)
Other versions
DE102019117219B4 (de
Inventor
Andreas Spenninger
Saskia Golz
Sven Parusel
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.)
Franka Emika GmbH
Original Assignee
Franka Emika GmbH
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 Franka Emika GmbH filed Critical Franka Emika GmbH
Priority to DE102019117219.5A priority Critical patent/DE102019117219B4/de
Publication of DE102019117219A1 publication Critical patent/DE102019117219A1/de
Application granted granted Critical
Publication of DE102019117219B4 publication Critical patent/DE102019117219B4/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
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39194Compensation gravity
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40099Graphical user interface for robotics, visual robot user interface
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40382Limit allowable area where robot can be teached

Abstract

Die Erfindung betrifft ein System (100) zum Bedienen einer grafischen Benutzeroberfläche, aufweisend einen Robotermanipulator (1) mit einem Eingabeelement (3), eine Recheneinheit (5), eine Sensoreinheit (7), und einen Bildschirm (9), wobei die Recheneinheit (5) zum schwerkraftkompensierten Ansteuern des Robotermanipulators (1) ausgeführt ist, wobei die Sensoreinheit (7) zum Erfassen einer aktuellen Pose und zum Übermitteln von zugehörigen Vektorkomponenten an die Recheneinheit (5) ausgeführt ist, wobei die Recheneinheit (5) zum Transformieren der Vektorkomponenten in eine Eingabegröße und zum Zuordnen der Eingabegröße zu Objekten auf der grafischen Benutzeroberfläche ausgeführt ist, wobei die Eingabegröße eine Projektion der Vektorkomponenten auf einen Eingaberaum der Benutzeroberfläche ist, wobei der Eingaberaum der Benutzeroberfläche mit den Abmessungen des Bildschirms (9) korrelierende Grenzen aufweist, und wobei die Recheneinheit (5) dazu ausgeführt ist, bei Vorliegen eines Signals des Eingabeelements (3) dasjenige Objekt auf der grafischen Benutzeroberfläche zu aktivieren, das aktuell der Eingabegröße zugeordnet ist.

Description

  • Die Erfindung betrifft ein System zum Bedienen einer grafischen Benutzeroberfläche sowie ein Verfahren zum Bedienen einer grafischen Benutzeroberfläche.
  • Aufgabe der Erfindung ist es, das Bedienen einer grafischen Benutzeroberfläche für einen Anwender eines Robotermanipulators zu vereinfachen, wobei insbesondere die grafische Benutzeroberfläche mit dem Robotermanipulator verbunden ist.
  • 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 System zum Bedienen einer grafischen Benutzeroberfläche, aufweisend
    • - einen Robotermanipulator mit einem an dem Robotermanipulator angeordneten Eingabeelement,
    • - eine mit dem Robotermanipulator verbundene Recheneinheit,
    • - eine mit der Recheneinheit verbundene Sensoreinheit, und
    • - einen mit der Recheneinheit verbundenen Bildschirm zum Anzeigen der Benutzeroberfläche,
    wobei die Recheneinheit zum schwerkraftkompensierten Ansteuern des Robotermanipulators ausgeführt ist, sodass ein Anwender den Robotermanipulator durch manuelles Führen in seiner Pose verändern kann, wobei die Sensoreinheit zum Erfassen einer aktuellen Pose des Robotermanipulators, insbesondere einer durch manuelles Führen des Anwenders erzeugten Pose, und zum Übermitteln von die aktuelle Pose des Robotermanipulators beschreibenden Vektorkomponenten an die Recheneinheit ausgeführt ist, wobei die Recheneinheit zum Transformieren der Vektorkomponenten in eine Eingabegröße für die grafische Benutzeroberfläche und zum Zuordnen der Eingabegröße zu Objekten auf der grafischen Benutzeroberfläche ausgeführt ist, wobei die Eingabegröße eine Projektion der Vektorkomponenten auf einen Eingaberaum der Benutzeroberfläche ist, wobei der Eingaberaum der Benutzeroberfläche mit den Abmessungen des Bildschirms korrelierende Grenzen aufweist, und wobei das Eingabeelement dazu ausgeführt ist, bei einer vom Anwender getätigten Eingabe ein Signal an die Recheneinheit zu übermitteln, und wobei die Recheneinheit dazu ausgeführt ist, bei Vorliegen des Signals dasjenige Objekt auf der grafischen Benutzeroberfläche zu aktivieren, das aktuell der Eingabegröße zugeordnet ist.
  • Die Pose des Robotermanipulators umfasst zumindest eine Position und weiterhin bevorzugt zusätzlich zur Position eine Orientierung des Robotermanipulators, insbesondere seiner Glieder und, wenn vorhanden, bevorzugt seines Endeffektors. Die die Pose beschreibenden Vektorkomponenten beinhalten daher zumindest eine Position eines Punktes auf einem Glied des Robotermanipulators und weiterhin bevorzugt auch die Orientierung zumindest dieses Gliedes, an dem sich der Punkt befindet, dessen Position von Interesse ist. Alternativ bevorzugt ist absichtlich die Orientierung außer Acht gelassen, um die Anwendung des Robotermanipulators als Eingabegerät für die grafische Benutzeroberfläche zu vereinfachen. Dann ist lediglich bevorzugt genau eine Position genau eines Punktes genau eines Gliedes, insbesondere des Endeffektors, in bevorzugt kartesischen Koordinaten eines erdfesten Koordinatensystems in den Vektorkomponenten enthalten.
  • Beim schwerkraftkompensierten Ansteuern des Robotermanipulators werden abhängig von der aktuellen Pose des Robotermanipulators und insbesondere eines Modells des Robotermanipulators zur Masseverteilung die Aktuatoren des Robotermanipulators mit genau solchen Gelenkkräften beaufschlagt, dass sich unter Abwesenheit externer Krafteinwirkung (abgesehen von der Schwerkraft) der Robotermanipulator nicht von alleine bewegt, das heißt, dass er beschleunigungsfrei ortsfest verbleibt. Zusätzlich zu dieser schwerkraftkompensierten Ansteuerung weist bevorzugt der Robotermanipulator Kraft-/Momentensensoren auf, bevorzugt in seinen Gelenken, um eine extern auf den Robotermanipulator wirkende Kraft zu detektieren. Wird eine solche, insbesondere vom Anwender erzeugte Kraft detektiert, werden bevorzugt bei großen Robotermanipulatoren die Aktuatoren so angesteuert, dass sie der Richtung der extern auf den Robotermanipulator wirkenden Kraft folgen. Auf diese Weise ist ein Anwender dazu in der Lage, einen Robotermanipulator manuell durch Drücken oder Ziehen der Glieder des Robotermanipulators zu führen.
  • Bevorzugt ist die Benutzeroberfläche eine grafische Benutzeroberfläche, die im Gegensatz zu einer Kommandozeileneingabe über reinen Text hinausgehende Symbole anzeigen kann. Die Benutzeroberfläche weist daher bevorzugt interaktive Elemente wie Menüs, Verknüpfungen, Funktionsknöpfe, Schaltflächen oder dergleichen auf, wobei als Objekt auch insbesondere eine neutrale Oberfläche gilt. Der Bildschirm, auf dem die Objekte der Benutzeroberfläche angezeigt werden, ist bevorzugt ein Bildschirm einer als typischer Anwenderrechner ausgebildeten Recheneinheit, die mit dem Robotermanipulator verbunden ist. Der Anwenderrechner selbst kann daher die Recheneinheit ausbilden, wobei der Bildschirm ein Bildschirm des Anwenderrechners ist. Alternativ bevorzugt dazu ist der Bildschirm ein Bildschirm des Anwenderrechners, der Anwenderrechner aber ein eigener Rechner, der mit der Recheneinheit des Systems verbunden ist.
  • Die Sensoreinheit umfasst bevorzugt die Gesamtheit aller Gelenkwinkelsensoren, welche einzeln jeweils einen zwischen zwei Gliedern vorherrschenden Winkel messen. Durch die Gesamtheit all dieser Gelenkwinkel kann mittels der bekannten Geometrie der Glieder selbst und mittels Randbedingungen der Glieder zueinander eine aktuelle Position und eine aktuelle Orientierung eines jeden Gliedes bis hin zum Endeffektor ermittelt werden, wobei sich die aktuelle Position eines bestimmten Gliedes auf die Position eines auf dem jeweiligen Glied bzw. Endeffektor definierten Punktes bezieht.
  • Das Transformieren der Vektorkomponenten in eine Eingabegröße für die grafische Benutzeroberfläche erfolgt durch Projektion der Vektorkomponenten auf einen Eingaberaum der Benutzeroberfläche. Während die Vektorkomponenten im Allgemeinen eine räumliche Information aufweisen, da sie für die zu beschreibende Pose zumindest eine Position eines Punktes auf dem Robotermanipulator angeben, ist der Eingaberaum der Benutzerfläche grundsätzlich zweidimensional. Der Eingaberaum ist in einem zweidimensionalen Koordinatensystem beschreibbar, so dass die Eingabegröße einem Ort auf der Benutzerfläche eindeutig zugeordnet ist. Darüber hinaus können weitere Eingabedimensionen vorgesehen sein, insbesondere zum Rollen bzw. Blättern in Menüs bzw. zum zoomen. Um von den räumlichen Vektorkomponenten zu Werten im flächigen Eingaberaum zu gelangen, dient o.g. Projektion. Diese Projektion ist eine mathematische Operation zur Überführung der Werte der Vektorkomponenten in den flächigen Eingaberaum. Korrelierend zu den endlichen Abmessungen des Bildschirms sind die Grenzen des Eingaberaums der Benutzeroberfläche definiert. Jede durch manuelles Führen des Robotermanipulators getätigte Eingabe des Anwenders, die diese Grenzen überschreiten würde, so dass auch die Grenzen des Eingaberaums überschritten würden, werden auf dem letzten projizierten Wert an der jeweiligen Grenze des Eingaberaums festgehalten, solange nicht die durch manuelles Führen des Robotermanipulators getätigte Eingabe des Anwenders zur Rückführung der Eingabegröße innerhalb der Grenzen des Eingaberaums führt.
  • Objekte der grafischen Bedienoberfläche, wie Menüs, Schaltflächen, Verknüpfungen, Anwendungen und dergleichen sind zu jedem aktuellen Zeitpunkt einem Ort oder einem flächigen Abschnitt auf der Bedienoberfläche zugeordnet, und damit eindeutig mit Koordinaten im Eingaberaum verknüpft. Derart ist eine Zuordnung der Eingabegröße zu dem jeweiligen Objekt möglich, wobei die Zuordnung dann aktiviert wird, wenn durch Betätigung des Eingabeelements am Robotermanipulator durch den Anwender das Signal ausgelöst wird.
  • Das Eingabeelement ist bevorzugt ein Taster, Knopf oder Schalter, alternativ bevorzugt eine Mikrofoneinheit zum Erfassen von Spracheingaben des Anwenders.
  • Es ist eine vorteilhafte Wirkung der Erfindung, dass der Anwender beim manuellen Führen des Robotermanipulators mit Objekten auf einem Bildschirm interagieren kann, ohne dabei seine Hände vom Robotermanipulator nehmen zu müssen oder auf das Vorhandensein einer Computermaus oder ähnlichen externen Eingabegeräten angewiesen zu sein.
  • Gemäß einer vorteilhaften Ausführungsform umfasst die mit der Recheneinheit verbundene Sensoreinheit die Gesamtheit aller Gelenkwinkelsensoren des Robotermanipulators.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist der Eingaberaum eine virtuelle Ebene, wobei die Recheneinheit dazu ausgeführt ist, die Projektion der Vektorkomponenten auf den Eingaberaum der Benutzeroberfläche durch Projektion der aktuellen Vektorkomponenten in die virtuelle Ebene auszuführen. Vorteilhaft wird hierdurch ein leicht zu implementierendes und numerisch stabiles Verfahren bereitgestellt, um die räumlichen Vektorkomponenten in den ebenen Eingaberaum zu transformieren.
  • Gemäß eine weiteren vorteilhaften Ausführungsform ist der Eingaberaum ein dreidimensionaler virtueller Raum, und die Recheneinheit ist dazu ausgeführt, die Projektion der Vektorkomponenten auf den Eingaberaum der Benutzeroberfläche durch Matrix-Transformation der aktuellen Vektorkomponenten in den Eingaberaum auszuführen. Insbesondere bei räumlicher Darstellung von Modellen des Robotermanipulators, eines zu bearbeitenden physischen Objekts in der Umgebung des Robotermanipulators oder auch räumlichen interaktiven Elementen auf der grafischen Benutzeroberfläche kann mit entsprechender räumlicher Darstellung insbesondere ein Zeiger im Eingaberaum verfahren werden. Insbesondere zeigt die grafische Benutzeroberfläche eine perspektivische Darstellung von anzuzeigenden Elementen. Vorteilhaft kann hierdurch die räumliche Bewegungsmöglichkeit eines Robotermanipulators voll ausgenutzt werden, um möglichst effizient die grafische Benutzeroberfläche zu bedienen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform weisen die Objekte der grafischen Benutzeroberfläche zumindest eines der folgenden Elemente auf: Menüs, Symbole, virtuelle Schieberegler, Funktionselemente zur Organisation der grafischen Benutzeroberfläche.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist die Recheneinheit dazu ausgeführt, den Robotermanipulator so anzusteuern, dass der Robotermanipulator nur in vorgegebenen Freiheitsgraden zum Ermöglichen eines manuellen Führens durch einen Anwender freigegeben wird und dass der Robotermanipulator in alle anderen Freiheitsgraden gegen das manuelle Führen durch den Anwender gesperrt ist. Ist insbesondere der Eingaberaum als Ebene mit Grenzen ausgebildet, kann mittels dieser Ausführungsform die Bewegung desjenigen Punktes auf dem Robotermanipulator, dessen Position zum Ermitteln des Eingabevektors erfasst wird, auf eine Bewegung in einer Ebene begrenzt werden. Vorteilhaft kann der Robotermanipulator auch auf die Bewegung entlang einer vorgegebenen geradlinigen oder gekrümmten Strecke begrenzt werden, insbesondere dann, wenn auf der grafischen Benutzerfläche Schieberegler oder Drehregler angezeigt werden, und die aus dem manuellen Führen resultierende Bewegung des Robotermanipulators mit einer Stellung des virtuellen Schiebereglers oder Drehreglers durch die Transformation der Pose in den Eingaberaum korreliert wird.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist die Sensoreinheit zum Erfassen einer aktuellen zeitlichen Ableitung einer aktuellen Pose des Robotermanipulators ausgeführt, wobei die Recheneinheit zum Transformieren der die Pose des Robotermanipulators beschreibenden Vektorkomponenten in den Eingabevektor ausgeführt ist, wobei die Transformation in den Eingabevektor auf Basis der aktuellen Pose und/oder auf Basis der aktuellen zeitlichen Ableitung der aktuellen Pose des Robotermanipulators erfolgt. Vorteilhaft erlaubt die Erfassung der ersten zeitlichen Ableitung, das heißt der translatorischen oder auch rotatorischen Geschwindigkeit des Robotermanipulators, eine Transformation in den Eingaberaum mit verringertem Phasenverzug. Die erfasste Geschwindigkeit wird alternativ bevorzugt als PD-Vorwärtszweig für die Transformation benutzt, das heißt die erste zeitliche Ableitung der aktuellen Position und/oder Orientierung des Robotermanipulators wird zur der aktuellen Position und/oder Orientierung des Robotermanipulators addiert, und das Ergebnis der Addition zu der Transformation in den Eingaberaum weitergeführt. Ferner sind hiermit Anwendungen auf der grafischen Benutzeroberfläche ausführbar, die als Eingabe eine Geschwindigkeit benötigen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist die Sensoreinheit zum Erfassen einer aktuellen zweiten zeitlichen Ableitung einer aktuellen Pose des Robotermanipulators ausgeführt, wobei die Recheneinheit zum Transformieren der die Pose des Robotermanipulators beschreibenden Vektorkomponenten in den Eingabevektor ausgeführt ist, wobei die Transformation in den Eingabevektor auf Basis der aktuellen Pose und/oder auf Basis der aktuellen zweiten zeitlichen Ableitung der aktuellen Pose des Robotermanipulators erfolgt. Die zweite zeitliche Ableitung der Pose des Robotermanipulators umfasst eine translatorische und/oder rotatorische Beschleunigung. Vorteilhaft erlaubt die Erfassung der zweiten zeitlichen Ableitung eine Transformation in den Eingaberaum mit weiter verringertem Phasenverzug. Die erfasste Beschleunigung wird alternativ bevorzugt als PDD-Vorwärtszweig für die Transformation benutzt, das heißt die zweite zeitliche Ableitung der aktuellen Position und/oder Orientierung des Robotermanipulators wird zur der aktuellen Position und/oder Orientierung des Robotermanipulators addiert, und das Ergebnis der Addition zu der Transformation in den Eingaberaum weitergeführt. Ferner sind hiermit Anwendungen auf der grafischen Benutzeroberfläche ausführbar, die als Eingabe eine Beschleunigung benötigen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist die Recheneinheit zum Ansteuern des Bildschirms zum Anzeigen einer dem aktuellen Eingabevektor zugeordneten aktuellen Koordinate auf dem Bildschirm ausgeführt. Die aktuelle Koordinate wird insbesondere durch einen Mauszeiger dargestellt, welcher sich an dem Ort auf der grafischen Benutzeroberfläche befindet, der dem aktuellen Eingabevektor zugeordnet ist. Vorteilhaft erhält hierdurch der Anwender durchgehend einen Rückmeldung über den aktuellen Eingabevektor, und welches Objekt auf der grafischen Benutzeroberfläche dem aktuellen Eingabevektor zugeordnet wird und bei Betätigen des Eingabeelements am Robotermanipulator aktiviert werden würde.
  • Ein weiterer Aspekt der Erfindung betrifft ein Verfahren zum Bedienen einer grafischen Benutzeroberfläche, aufweisend die Schritte:
    • - Schwerkraftkompensiertes Ansteuern eines Robotermanipulators durch eine mit dem Robotermanipulator verbundene Recheneinheit, sodass ein Anwender den Robotermanipulator durch manuelles Führen in seiner Pose verändern kann,
    • - Erfassen einer aktuellen Pose des Robotermanipulators, insbesondere einer durch manuelles Führen eines Anwenders erzeugten Pose, durch eine mit der Recheneinheit verbundene Sensoreinheit und Übermitteln von die aktuelle Pose des Robotermanipulators beschreibenden Vektorkomponenten an die Recheneinheit,
    • - Transformieren der Vektorkomponenten in eine Eingabegröße für die grafische Benutzeroberfläche durch die Recheneinheit und Zuordnen der Eingabegröße zu Objekten auf einer grafischen Benutzeroberfläche eines mit der Recheneinheit verbundenen Bildschirms, wobei die Eingabegröße eine Projektion der Vektorkomponenten auf einen Eingaberaum der Benutzeroberfläche ist und wobei der Eingaberaum der Benutzeroberfläche mit den Abmessungen des Bildschirms korrelierende Grenzen aufweist,
    • - Erfassen eines Signals bei einer vom Anwender getätigten Eingabe durch ein am Robotermanipulator angeordnetes Eingabeelement und Übermitteln des Signals an die Recheneinheit, und
    • - bei Vorliegen des Signals: Aktivieren desjenigen Objekts auf der grafischen Benutzeroberfläche durch die Recheneinheit, das aktuell der Eingabegröße zugeordnet ist.
  • Vorteile und bevorzugte Weiterbildungen des vorgeschlagenen Verfahrens ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit dem vorgeschlagenen System 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 System zum Bedienen einer grafischen Benutzeroberfläche gemäß einem Ausführungsbeispiel der Erfindung, und
    • 2 ein Verfahren zum Bedienen einer grafischen Benutzeroberfläche gemäß einem weiteren Ausführungsbeispiel der Erfindung.
  • Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
  • 1 zeigt ein System 100 zum Bedienen einer grafischen Benutzeroberfläche. Das System 100 weist einen Robotermanipulator 1 mit einem an dem Robotermanipulator 1 angeordneten Druckknopf als Eingabeelement 3 auf. Ferner sind im System 100 eine mit am Robotermanipulator 1 angeordnete und mit diesem verbundene Recheneinheit 5 enthalten, eine mit der Recheneinheit 5 verbundene Sensoreinheit 7, und ein mit der Recheneinheit 5 verbundener Bildschirm 9 zum Anzeigen der grafischen Benutzeroberfläche vorgesehen. Die Recheneinheit 5 weist ein derartiges Computersteuerprogramm auf, dass beim Ausführen des Computersteuerprogramms der Robotermanipulator 1, insbesondere seine elektrischen Aktuatoren, ein Gegenmoment gegen die auf den Robotermanipulator 1 wirkende Schwerkraft ausübt, sodass ein schwerkraftkompensiertes Ansteuern des Robotermanipulators 1 erfolgt. Ein Anwender ist hiermit in der Lage, den Robotermanipulator 1 durch manuelles Führen in seiner Pose zu verändern. An den Aktuatoren in den Gelenken des Robotermanipulators 1 sind Momentensensoren vorgesehen. Die aus der Gesamtheit der Momentensensoren bestehende Sensoreinheit 7 dient dabei zum Erfassen einer aktuellen Pose des Robotermanipulators 1, insbesondere einer durch manuelles Führen eines Anwenders erzeugten Pose, und zum Übermitteln von die aktuelle Pose des Robotermanipulators 1 beschreibenden Vektorkomponenten an die Recheneinheit 5. Die Recheneinheit 5 dient dann zum Transformieren der Vektorkomponenten in eine Eingabegröße für die grafische Benutzeroberfläche und zum Zuordnen der Eingabegröße zu Objekten auf der grafischen Benutzeroberfläche, wobei die Eingabegröße eine Projektion der Vektorkomponenten auf einen Eingaberaum der Benutzeroberfläche ist und wobei der Eingaberaum der Benutzeroberfläche mit den Abmessungen des Bildschirms 9 korrelierende Grenzen aufweist. Das Eingabeelement 3 dient dazu, bei einer vom Anwender getätigten Eingabe ein Signal an die Recheneinheit 5 zu übermitteln. Die Recheneinheit 5 aktiviert bei Vorliegen des Signals genau dasjenige Objekt auf der grafischen Benutzeroberfläche, das aktuell der Eingabegröße zugeordnet ist, wobei das jeweilige Objekt auch nur der Bildschirmhintergrund sein kann, der bei seiner Aktivierung passiv verbleibt, sodass keine weitere Ausführung einer Anwendung oder dergleichen stattfindet. Der Eingaberaum selbst ist eine virtuelle Ebene mit Grenzen in allen Richtungen, die mit den Rändern der Anzeigefläche des Bildschirms korrelieren. Die Recheneinheit 5 führt hierbei die Projektion der Vektorkomponenten auf den ebenen Eingaberaum der Benutzeroberfläche durch Projektion der aktuellen Vektorkomponenten in die virtuelle Ebene aus. Die Objekte der grafischen Benutzeroberfläche weisen Menüs, Symbole, und Funktionselemente zur Organisation der grafischen Benutzeroberfläche auf. Ferner wird eine dem aktuellen Eingabevektor zugeordnete aktuelle Koordinate auf dem Bildschirm 9 in Form eines Mauszeigers angezeigt. Der Bildschirm 9 ist hierbei der Bildschirm eines mit der Recheneinheit 5 verbundenen mobilen Anwenderrechners mit einer integrierten Grafikeinheit, der zudem mit einer konventionellen Maus oder auch mit dem eigenen Touchpad des Anwenderrechners bedient werden kann. Der mobile Anwenderrechner weist bevorzugt ein vollwertiges Betriebssystem auf, insbesondere eine gängige Linux-Distribution. Die Recheneinheit 5 fungiert dabei insbesondere als Terminaleinheit, während der Anwenderrechner über einen Grafikserver, wie dem „X-Server“ oder via einer Implementierung des „Wayland“ Protokolls, verfügt, um somit die Darstellung der Objekte auf der grafischen Benutzeroberfläche auf unterer technischer Ebene zu übernehmen.
  • 2 zeigt ein Verfahren zum Bedienen einer grafischen Benutzeroberfläche, aufweisend die Schritte:
    • - Schwerkraftkompensiertes Ansteuern S1 des Robotermanipulators 1 durch eine mit dem Robotermanipulator 1 verbundene Recheneinheit 5, sodass ein Anwender den Robotermanipulator 1 durch manuelles Führen in seiner Pose verändern kann,
    • - Erfassen S2 einer aktuellen Pose des Robotermanipulators 1, insbesondere einer durch manuelles Führen eines Anwenders erzeugten Pose, durch eine mit der Recheneinheit 5 verbundene Sensoreinheit 7 und Übermitteln von die aktuelle Pose des Robotermanipulators 1 beschreibenden Vektorkomponenten an die Recheneinheit 5,
    • - Transformieren S3 der Vektorkomponenten in eine Eingabegröße für die grafische Benutzeroberfläche durch die Recheneinheit 5 und Zuordnen der Eingabegröße zu Objekten auf einer grafischen Benutzeroberfläche eines mit der Recheneinheit 5 verbundenen Bildschirms 9, wobei die Eingabegröße eine Projektion der Vektorkomponenten auf einen Eingaberaum der Benutzeroberfläche ist, wobei der Eingaberaum der Benutzeroberfläche mit den Abmessungen des Bildschirms 9 korrelierende Grenzen aufweist, und
    • - Erfassen S4 eines Signals bei einer vom Anwender getätigten Eingabe durch ein am Robotermanipulator 1 angeordnetes Eingabeelement 3 und Übermitteln des Signals an die Recheneinheit 5, und
    • - bei Vorliegen des Signals: Aktivieren S5 desjenigen Objekts auf der grafischen Benutzeroberfläche durch die Recheneinheit 5, das aktuell der Eingabegröße zugeordnet ist.
  • 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
    Robotermanipulator
    3
    Eingabeelement
    5
    Recheneinheit
    7
    Sensoreinheit
    9
    Bildschirm
    100
    System
    S1
    Ansteuern
    S2
    Erfassen
    S3
    Transformieren
    S4
    Erfassen
    S5
    Aktivieren

Claims (10)

  1. System (100) zum Bedienen einer grafischen Benutzeroberfläche, aufweisend - einen Robotermanipulator (1) mit einem an dem Robotermanipulator (1) angeordneten Eingabeelement (3), - eine mit dem Robotermanipulator (1) verbundene Recheneinheit (5) - eine mit der Recheneinheit (5) verbundene Sensoreinheit (7), und - einen mit der Recheneinheit (5) verbundenen Bildschirm (9) zum Anzeigen der Benutzeroberfläche, wobei die Recheneinheit (5) zum schwerkraftkompensierten Ansteuern des Robotermanipulators (1) ausgeführt ist, sodass ein Anwender den Robotermanipulator (1) durch manuelles Führen in seiner Pose verändern kann, wobei die Sensoreinheit (7) zum Erfassen einer aktuellen Pose des Robotermanipulators (1), insbesondere einer durch manuelles Führen eines Anwenders erzeugten Pose, und zum Übermitteln von die aktuelle Pose des Robotermanipulators (1) beschreibenden Vektorkomponenten an die Recheneinheit (5) ausgeführt ist, wobei die Recheneinheit (5) zum Transformieren der Vektorkomponenten in eine Eingabegröße für die grafische Benutzeroberfläche und zum Zuordnen der Eingabegröße zu Objekten auf der grafischen Benutzeroberfläche ausgeführt ist, wobei die Eingabegröße eine Projektion der Vektorkomponenten auf einen Eingaberaum der Benutzeroberfläche ist, wobei der Eingaberaum der Benutzeroberfläche mit den Abmessungen des Bildschirms (9) korrelierende Grenzen aufweist, und wobei das Eingabeelement (3) dazu ausgeführt ist, bei einer vom Anwender getätigten Eingabe ein Signal an die Recheneinheit (5) zu übermitteln, und wobei die Recheneinheit (5) dazu ausgeführt ist, bei Vorliegen des Signals dasjenige der Objekte auf der grafischen Benutzeroberfläche zu aktivieren, das aktuell der Eingabegröße zugeordnet ist.
  2. System (100) nach Anspruch 1, wobei die mit der Recheneinheit (5) verbundene Sensoreinheit (7) die Gesamtheit aller Gelenkwinkelsensoren des Robotermanipulators (1) umfasst.
  3. System (100) nach einem der Ansprüche 1 bis 2, wobei der Eingaberaum eine virtuelle Ebene ist, und wobei die Recheneinheit (5) dazu ausgeführt ist, die Projektion der Vektorkomponenten auf den Eingaberaum der Benutzeroberfläche durch Projektion der aktuellen Vektorkomponenten in die virtuelle Ebene auszuführen.
  4. System (100) nach einem der Ansprüche 1 bis 2, wobei der Eingaberaum ein dreidimensionaler virtueller Raum ist, und wobei die Recheneinheit (5) dazu ausgeführt ist, die Projektion der Vektorkomponenten auf den Eingaberaum der Benutzeroberfläche durch Matrix-Transformation der aktuellen Vektorkomponenten in den Eingaberaum auszuführen.
  5. System (100) nach einem der vorhergehenden Ansprüche, wobei die Objekte der grafischen Benutzeroberfläche zumindest eines der folgenden Elemente aufweisen: Menüs, Symbole, virtuelle Schieberegler, Funktionselemente zur Organisation der grafischen Benutzeroberfläche.
  6. System (100) nach einem der vorhergehenden Ansprüche, wobei die Recheneinheit (5) dazu ausgeführt ist, den Robotermanipulator (1) so anzusteuern, dass der Robotermanipulator (1) nur in vorgegebenen Freiheitsgraden zum Ermöglichen eines manuellen Führens durch einen Anwender freigegeben wird und dass der Robotermanipulator (1) in alle anderen Freiheitsgraden gegen das manuelle Führen durch den Anwender gesperrt ist.
  7. System (100) nach einem der vorhergehenden Ansprüche, wobei die Sensoreinheit (7) zum Erfassen einer aktuellen zeitlichen Ableitung einer aktuellen Pose des Robotermanipulators (1) ausgeführt ist, und wobei die Recheneinheit (5) zum Transformieren der die Pose des Robotermanipulators (1) beschreibenden Vektorkomponenten in den Eingabevektor ausgeführt ist, wobei die Transformation in den Eingabevektor auf Basis der aktuellen Pose und/oder auf Basis der aktuellen zeitlichen Ableitung der aktuellen Pose des Robotermanipulators (1) erfolgt.
  8. System (100) nach einem der vorhergehenden Ansprüche, wobei die Sensoreinheit (7) zum Erfassen einer aktuellen zweiten zeitlichen Ableitung einer aktuellen Pose des Robotermanipulators (1) ausgeführt ist, und wobei die Recheneinheit (5) zum Transformieren der die Pose des Robotermanipulators (1) beschreibenden Vektorkomponenten in den Eingabevektor ausgeführt ist, wobei die Transformation in den Eingabevektor auf Basis der aktuellen Pose und/oder auf Basis der aktuellen zweiten zeitlichen Ableitung der aktuellen Pose des Robotermanipulators (1) erfolgt.
  9. System (100) nach einem der vorhergehenden Ansprüche, wobei die Recheneinheit (5) zum Ansteuern des Bildschirms (9) zum Anzeigen einer dem aktuellen Eingabevektor zugeordneten aktuellen Koordinate auf dem Bildschirm (9) ausgeführt ist.
  10. Verfahren zum Bedienen einer grafischen Benutzeroberfläche, aufweisend die Schritte: - Schwerkraftkompensiertes Ansteuern (S1) des Robotermanipulators (1) durch eine mit dem Robotermanipulator (1) verbundene Recheneinheit (5), sodass ein Anwender den Robotermanipulator (1) durch manuelles Führen in seiner Pose verändern kann, - Erfassen (S2) einer aktuellen Pose des Robotermanipulators (1), insbesondere einer durch manuelles Führen eines Anwenders erzeugten Pose, durch eine mit der Recheneinheit (5) verbundene Sensoreinheit (7) und Übermitteln von die aktuelle Pose des Robotermanipulators (1) beschreibenden Vektorkomponenten an die Recheneinheit (5), - Transformieren (S3) der Vektorkomponenten in eine Eingabegröße für die grafische Benutzeroberfläche durch die Recheneinheit (5) und Zuordnen der Eingabegröße zu Objekten auf einer grafischen Benutzeroberfläche eines mit der Recheneinheit (5) verbundenen Bildschirms (9), wobei die Eingabegröße eine Projektion der Vektorkomponenten auf einen Eingaberaum der Benutzeroberfläche ist, wobei der Eingaberaum der Benutzeroberfläche mit den Abmessungen des Bildschirms (9) korrelierende Grenzen aufweist, und - Erfassen (S4) eines Signals bei einer vom Anwender getätigten Eingabe durch ein am Robotermanipulator (1) angeordnetes Eingabeelement (3) und Übermitteln des Signals an die Recheneinheit (5), und - bei Vorliegen des Signals: Aktivieren (S5) desjenigen Objekts auf der grafischen Benutzeroberfläche durch die Recheneinheit (5), das aktuell der Eingabegröße zugeordnet ist.
DE102019117219.5A 2019-06-26 2019-06-26 System zum Bedienen einer grafischen Benutzeroberfläche Active DE102019117219B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019117219.5A DE102019117219B4 (de) 2019-06-26 2019-06-26 System zum Bedienen einer grafischen Benutzeroberfläche

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019117219.5A DE102019117219B4 (de) 2019-06-26 2019-06-26 System zum Bedienen einer grafischen Benutzeroberfläche

Publications (2)

Publication Number Publication Date
DE102019117219A1 true DE102019117219A1 (de) 2020-12-31
DE102019117219B4 DE102019117219B4 (de) 2021-07-08

Family

ID=73747825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019117219.5A Active DE102019117219B4 (de) 2019-06-26 2019-06-26 System zum Bedienen einer grafischen Benutzeroberfläche

Country Status (1)

Country Link
DE (1) DE102019117219B4 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011079117A1 (de) * 2011-07-14 2013-01-17 Kuka Roboter Gmbh Verfahren zum Programmieren eines Roboters
DE102015009151A1 (de) * 2015-07-14 2017-01-19 Kuka Roboter Gmbh Ermitteln eines Eingabebefehls für einen Roboter, der durch manuelles Ausüben einer Kraft auf den Roboter eingegeben wird
DE102017118982A1 (de) * 2017-04-23 2018-10-25 Franka Emika Gmbh Roboter und Verfahren zum Betrieb eines Roboters
DE102019001207A1 (de) * 2018-02-19 2019-08-22 Boll Automation Gmbh Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks
DE102018204508A1 (de) * 2018-03-23 2019-09-26 Kuka Deutschland Gmbh Verfahren und System zum Betreiben eines Roboters
DE102019101072B3 (de) * 2019-01-16 2020-03-12 Franka Emika Gmbh Unterstützen eines manuellen Führens eines Robotermanipulators

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011079117A1 (de) * 2011-07-14 2013-01-17 Kuka Roboter Gmbh Verfahren zum Programmieren eines Roboters
DE102015009151A1 (de) * 2015-07-14 2017-01-19 Kuka Roboter Gmbh Ermitteln eines Eingabebefehls für einen Roboter, der durch manuelles Ausüben einer Kraft auf den Roboter eingegeben wird
DE102017118982A1 (de) * 2017-04-23 2018-10-25 Franka Emika Gmbh Roboter und Verfahren zum Betrieb eines Roboters
DE102019001207A1 (de) * 2018-02-19 2019-08-22 Boll Automation Gmbh Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks
DE102018204508A1 (de) * 2018-03-23 2019-09-26 Kuka Deutschland Gmbh Verfahren und System zum Betreiben eines Roboters
DE102019101072B3 (de) * 2019-01-16 2020-03-12 Franka Emika Gmbh Unterstützen eines manuellen Führens eines Robotermanipulators

Also Published As

Publication number Publication date
DE102019117219B4 (de) 2021-07-08

Similar Documents

Publication Publication Date Title
DE102019002898B4 (de) Robotersimulationsvorrichtung
EP1447770B1 (de) Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
EP3359348B1 (de) Robotersystem und verfahren zur steuerung eines robotersystems
DE102013004692B4 (de) 3D-Eingabegerät mit einem zusätzlichen Drehregler
EP3458939B1 (de) Interaktionssystem und -verfahren
DE202008014481U1 (de) Tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters
EP3725472A1 (de) Verfahren zum ermitteln einer trajektorie eines roboters
DE3705262C2 (de) Geräteanordnung zur Übertragung menschlicher Bewegungen
DE102020121561B3 (de) Steuerungsverfahren für ein bilaterales Teleoperationssystem, Controller, Teleoperationssystem und Verwendung des Controllers und/oder des Teleoperationssystems
DE102010008240B4 (de) Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters
EP3990231B1 (de) System zum vornehmen einer eingabe an einem robotermanipulator
WO2017054894A1 (de) Interaktives bediensystem und verfahren zum durchführen einer bedienhandlung bei einem interaktiven bediensystem
DE102019128591B4 (de) Gestensteuerung für einen Robotermanipulator
DE102020112049A1 (de) Roboterbedienvorrichtung, roboter und roboterbedienungsverfahren
DE102015209773B3 (de) Verfahren zur kontinuierlichen Synchronisation einer Pose eines Manipulators und einer Eingabevorrichtung
DE102019117219B4 (de) System zum Bedienen einer grafischen Benutzeroberfläche
DE102015118918B3 (de) Roboter mit Ansteuerung zur diskretisierten manuellen Eingabe von Positionen und/oder Posen
DE102019117217B3 (de) Verfahren zum Vorgeben eines Eingabewerts an einem Robotermanipulator
DE10325284A1 (de) Multidimensionales Eingabegerät zur Navigation und Selektion von vituellen Objekten
EP3268852B1 (de) Verfahren zur gezielten auswahl von angezeigten elementen auf einer berührungssensitiven anzeige
DE102016214391B4 (de) Verfahren zum Steuern eines Betriebes eines Koordinatenmessgerätes und Koordinatenmessgerät mit Steuerung
DE102020103853B4 (de) Graphisch unterstützte Anpassung von Roboter-Steuerprogrammen
DE102015017282B3 (de) Robotersystem und Verfahren zur Steuerung eines Robotersystems
WO2015176707A1 (de) Eingabevorrichtung, rechner oder bedienanlage sowie fahrzeug
WO2018007102A1 (de) Verfahren zur interaktion eines bedieners mit einem modell eines technischen systems

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