DE102015016255A1 - Iteratives Programmieren eines Prozesses einer beweglichen Maschine, insbesondere eines Roboters - Google Patents

Iteratives Programmieren eines Prozesses einer beweglichen Maschine, insbesondere eines Roboters Download PDF

Info

Publication number
DE102015016255A1
DE102015016255A1 DE102015016255.1A DE102015016255A DE102015016255A1 DE 102015016255 A1 DE102015016255 A1 DE 102015016255A1 DE 102015016255 A DE102015016255 A DE 102015016255A DE 102015016255 A1 DE102015016255 A1 DE 102015016255A1
Authority
DE
Germany
Prior art keywords
operator
machine
input
programmed
detected
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
DE102015016255.1A
Other languages
English (en)
Other versions
DE102015016255B4 (de
Inventor
Volker Schmirgel
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.)
KUKA Deutschland GmbH
Original Assignee
KUKA Roboter 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 KUKA Roboter GmbH filed Critical KUKA Roboter GmbH
Priority to DE102015016255.1A priority Critical patent/DE102015016255B4/de
Publication of DE102015016255A1 publication Critical patent/DE102015016255A1/de
Application granted granted Critical
Publication of DE102015016255B4 publication Critical patent/DE102015016255B4/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36056Modify program, machining order in real time, during operation, dynamically
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36418Modify trajectory by operator gesture, gesture force sensed by end effector

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

Ein erfindungsgemäßes Verfahren zum iterativen Programmieren eines Prozesses wenigstens einer beweglichen Maschine, insbesondere eines Roboters (10), umfasst die Schritte: b) Ausführen (S20) eines programmierten Prozesses durch die Maschine; c) Erfassen (S30) wenigstens einer Eingabe des Bedieners während des Ausführens eines Teils des programmierten Prozesses, insbesondere wenigstens einer Kontaktinteraktion (F) eines Bedieners mit der Maschine während des Ausführens des Teils des programmierten Prozesses als Eingabe des Bedieners; und d) Umprogrammieren (S40) dieses Teils auf Basis dieser Eingabe.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum iterativen Programmieren eines Prozesses wenigstens einer beweglichen Maschine, insbesondere wenigstens eines Roboters, eine Steuerung und ein Computerprogrammprodukt zur Durchführung des Verfahrens sowie eine Maschinenanordnung mit der Steuerung.
  • Wird beispielsweise eine Roboterbahn durch Handführen des Roboters entlang der gewünschten Bahn unter Abspeicherung dieser Bahn programmiert und soll anschließend verändert, insbesondere korrigiert werden, beispielsweise, um Ungenauigkeiten zu korrigieren oder neue Randbedingungen, beispielsweise Hindernisse, zu berücksichtigen, muss bislang die gesamte Roboterbahn durch erneutes Handführen des Roboters entlang der gesamten gewünschten Bahn erneut programmiert werden. Somit werden auch nicht korrekturbedürftige Teile der Bahn nachteilig verworfen, was unter anderem die Akzeptanz eines Programmierens durch Handführen eines Roboters einschränkt.
  • Gleiches gilt allgemein für durch Vormachen programmierte („Programming by demonstration”) Prozesse beweglicher Maschinen, beispielsweise durch Gesten programmierte Roboterprozesse, wie sie die DE 10 2008 062 622 A1 beschreibt, oder auch durch Fernsteuern oder Schieben mobiler Plattformen programmierte Prozesse.
  • Eine Aufgabe eines Aspekts der vorliegenden Erfindung ist es, eine Steuerung einer Maschinenanordnung mit wenigstens einer beweglichen Maschine bzw. die Programmierung eines Prozesses wenigstens der wenigstens einen beweglichen Maschine mittels der Steuerung zu verbessern.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 10–12 stellen eine Steuerung und ein Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens bzw. eine Maschinenanordnung mit einer hier beschriebenen Steuerung unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
  • Nach einer Ausführung der vorliegenden Erfindung weist eine Maschinenanordnung eine oder mehrere, insbesondere durch Aktuatoren, insbesondere Motoren, bewegliche Maschinen, insbesondere einen oder mehrerer Roboter und/oder eine oder mehrere mobile Plattformen, und eine, insbesondere gemeinsame oder verteilte bzw. Einzelsteuerungen umfassende, Steuerung zum Steuern der bzw. einer oder mehrerer der beweglichen Maschinen auf Basis eines Programms zur Durchführung eines (programmierten) Prozesses durch die Maschine(n), insbesondere den bzw. die Roboter bzw. die mobile(n) Plattform(en), auf.
  • In einer Ausführung ist die Maschinenanordnung, insbesondere Steuerung, somit, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zum Ausführen eines (programmierten) Prozesses der bzw. durch die Maschinenanordnung, insbesondere Maschine(n), insbesondere Roboter und/oder mobile(n) Plattform(en), vorgesehen bzw. eingerichtet.
  • Zum iterativen Programmieren des Prozesses umfasst nach einer Ausführung der vorliegenden Erfindung ein Verfahren die Schritte:
    • b) Ausführen eines (bereits) programmierten Prozesses durch die Maschine(n);
    • c) Erfassen einer oder mehrerer Eingaben des Bedieners während des Ausführens eines Teils des programmierten Prozesses, insbesondere Erfassen einer oder mehrerer Kontaktinteraktionen eines Bedieners mit der bzw. den Maschine(n) während des Ausführens des Teils des programmierten Prozesses als Eingabe(n) des Bedieners; und
    • d) Umprogrammieren dieses Teils auf Basis dieser Eingabe(n).
  • Somit kann in einer Ausführung durch eine Eingabe des Bedieners während des Ausführens des bereits programmierten Prozesses, insbesondere durch wenigstens eine als Eingabe erfasste Kontaktinteraktion des Bedieners, der bereits programmierte Prozess umprogrammiert und so vorteilhafterweise insbesondere an neue Randbedingungen, beispielsweise Hindernisse, angepasst, und/oder, insbesondere iterativ, korrigiert werden, vorzugsweise ohne nicht anpassungs-, insbesondere korrekturbedürfte Teile des bereits programmierten Prozesses zu verwerfen und entsprechend erneut vor- bzw. eingeben zu müssen.
  • Unter einem programmierten Prozess wird vorliegend insbesondere eine, insbesondere in der Steuerung abgespeicherte, Abfolge von Handlungsanweisungen bzw. Programm-, insbesondere Bewegungsbefehlen bzw. -instruktionen für die Maschine(n) verstanden, insbesondere eine programmierte, insbesondere abgespeicherte, Bewegungsfolge bzw. Bahn der Maschine(n), insbesondere des bzw. der Roboter bzw. der mobilen Plattform(en).
  • Unter einem Ausführen eines programmierten Prozesses wird entsprechend insbesondere ein Abarbeiten bzw. Ausführen der Handlungsanweisungen durch die Maschine(n) bzw. deren Steuerung(en) verstanden.
  • Eine Eingabe des Bedieners kann in einer Ausführung mittels einer Eingabeeinrichtung, insbesondere einer Fernsteuerkonsole, einer Tastatur, eines Teach-Pedants oder dergleichen, erfolgen bzw. erfasst werden. In einer bevorzugten Ausführung erfolgt eine Eingabe des Bedieners mittels einer ein- oder mehrstufigen Kontaktinteraktion des Bedieners mit der bzw. den Maschine(n) bzw. wird eine solche ein- oder mehrstufigen Kontaktinteraktion als Eingabe des Bedieners erfasst.
  • Unter einer Kontaktinteraktion wird vorliegend insbesondere eine kontaktierende Interaktion bzw. eine Interaktion verstanden, bei der der Bediener die Maschine(n), insbesondere den bzw. die Roboter bzw. mobile(n) Plattform(en), insbesondere ein oder mehrere bewegliche Glieder hiervon, direkt kontaktiert bzw. berührt.
  • In einer Weiterbildung kann insbesondere eine Handführung einer oder mehrerer Maschinen, insbesondere Roboter und/oder mobilen Plattform(en), als Eingabe des Bedieners erfasst werden.
  • In einer Ausführung wird der Teil des Prozesses entsprechend bzw. in Abhängigkeit von der erfassten Eingabe(n) umprogrammiert. Insbesondere können in einer Ausführung ein oder mehrere programmierte Prozess- bzw. Programmschritte dieses Teils durch Prozess- bzw. Programmschritte ersetzt bzw. substituiert werden, die auf Basis der erfassten Eingabe(n) ermittelt werden, insbesondere diesen zugeordnet sind. Beispielsweise kann durch Eingabe eines Befehls mittels einer handgeführten Geste eines Roboters ein Befehl in dem programmierten Prozess ersetzt werden. In einer Ausführung werden ein oder mehrere programmierte Prozess- bzw.
  • Programmschritte des Teils des Prozesses auf Basis bzw. entsprechend der erfassten Eingabe(n) verändert bzw. modifiziert. Entsprechend können Aktionen, insbesondere Kontaktinteraktionen, durch den Bediener in einer Ausführung als Eingabe von Änderungen programmierter Prozessschritte bzw. Programmbefehle erfasst und der Teil des Prozesses entsprechend diesen erfassten eingegebenen Änderungen geändert bzw. umprogrammiert werden.
  • Beispielsweise kann eine programmierte, insbesondere abgespeichert, Position oder Positionsänderung einer Maschine entsprechend einer Eingabe einer Bewegung der Maschine durch den Bediener verändert und diese veränderte Position bzw. Positionsänderung als neue bzw. Ersatz-Position bzw. als neue bzw. Ersatz-Positionsänderung programmiert, insbesondere abgespeichert, und so der Teil des Prozesses mit dieser programmierten Position bzw. Positionsänderung umprogrammiert werden.
  • In einer Ausführung kann der bereits programmierte Prozess seinerseits anfänglich bzw. zunächst bzw. vor dem erstmaligen Ausführen des Schrittes b) ebenfalls auf Basis einer oder mehrerer (jeweils) als Eingabe des Bedieners erfasster Kontaktinteraktion(en) des Bedieners mit der Maschine programmiert sein bzw. werden. Insbesondere kann somit der Prozess in einer Weiterbildung anfänglich bzw. zunächst durch Handführung der Maschine(n) programmiert sein bzw. werden. Auf diese Weise kann der Bediener in einer Ausführung insbesondere einen durch Kontaktinteraktionen programmierten und damit zunächst gegebenenfalls ungenauen Prozess iterativ durch erneute Kontaktinteraktionen während des Ausführens des bereits programmierten Prozesses schrittweise korrigieren, insbesondere präzisieren.
  • Gleichermaßen kann der bereits programmierte Prozess in einer Ausführung auch anfänglich bzw. zunächst bzw. vor dem erstmaligen Ausführen des Schrittes b) ohne Kontaktinteraktion des Bedieners mit der Maschine programmiert sein bzw. werden, insbesondere offline, beispielsweise auf Basis vorgegebener Werkstück- und/oder Bahndaten oder dergleichen. Auf diese Weise kann der Bediener in einer Ausführung insbesondere einen offline programmierten Prozess iterativ durch Kontaktinteraktionen während des Ausführens des bereits programmierten Prozesses an neue Rahmenbedingungen anpassen.
  • In einer Ausführung umfasst wenigstens eine als Eingabe des Bedieners erfasste Kontaktinteraktion ein Aufprägen einer Kraft auf die Maschine(n), insbesondere eine hierdurch manuell geführte Bewegung der Maschine(n), durch den Bediener, in einer Weiterbildung ist eine erfasste Kraft, die durch den Bediener auf die Maschine(n) aufgeprägt wird, insbesondere eine hierdurch manuell geführte erfasste Bewegung der Maschine(n), eine als Eingabe des Bedieners erfasste Kontaktinteraktion.
  • Zur kompakteren Darstellung wird vorliegend auch ein antiparalleles Kräftepaar, d. h. ein (Dreh)Moment verallgemeinernd als Kraft bezeichnet. Eine durch den Bediener auf die Maschine(n) aufgeprägte Kraft kann in einer Ausführung auf Basis bzw. mittels eines durch den Bediener beaufschlagten ein- oder mehrachsigen Krafterfassungsmittels, beispielsweise eines Handgriffs mit einem oder mehreren Kraftmesssensoren, erfasst werden. Gleichermaßen kann eine durch den Bediener auf die Maschine(n) aufgeprägte Kraft in einer Ausführung auf Basis von Krafterfassungsmitteln, beispielsweise Drehmomentsensoren, an Gelenken, insbesondere Antrieben, der Maschine(n) erfasst werden.
  • In einer Weiterbildung wird eine (durch Aufprägen einer Kraft handgeführte) Bewegung der Maschine(n), insbesondere wenigstens eines beweglichen Glieds hiervon, durch den Bediener als Eingabe einer Positionsänderung der Maschine(n) in dem Prozess durch den Bediener, insbesondere als Eingabe eines Programm- bzw. Prozessbefehls (zur Ausführung) einer der Bewegung entsprechenden Positionsänderung oder als Eingabe einer der Bewegung entsprechenden Änderung bzw. Modifikation eines Programm- bzw. Prozessbefehls, insbesondere einer programmierten Position oder Positionsänderung, erfasst. Somit kann eine als Eingabe des Bedieners erfasste Kontaktinteraktion insbesondere eine Handführung der Maschine(n) umfassen, insbesondere sein. Insbesondere bei einem (Um)Programmieren durch Handführen kann die vorliegende iterative Programmierung zur Korrektur von Ungenauigkeiten und/oder Berücksichtigung geänderter Randbedingungen vorteilhaft sein.
  • Zusätzlich oder alternativ können (durch Aufprägen einer Kraft handgeführte) Bewegungen der Maschine(n), insbesondere wenigstens eines beweglichen Glieds hiervon, auch als Eingabe anderer Programm- bzw. Prozessbefehle erfasst werden. Diesbezüglich wird ergänzend insbesondere auf die eingangs genannte DE 10 2008 062 622 A1 Bezug genommen und deren Inhalt ausdrücklich in die vorliegende Offenbarung einbezogen. Hierdurch können in einer Ausführung auch komplexere Prozesse vorteilhaft (um)programmiert werden.
  • In einer Ausführung ist/sind bzw. wird/werden die Maschine(n) während der Kontaktinteraktion nachgiebig geregelt, insbesondere impedanz- oder admittanzgeregelt. Zur kompakteren Darstellung wird vorliegend auch eine Regelung als Steuerung im Sinne der vorliegenden Erfindung bezeichnet. Hierdurch kann in einer Ausführung dem Bediener eine vorteilhafte Rückmeldung seiner Eingabe vermittelt werden.
  • In einer Weiterbildung ist/sind bzw. wird/werden die Maschine(n) infolge bzw. auf Basis der (Erfassung der) Kontaktinteraktion nachgiebig geregelt. Es kann somit insbesondere der (bereits programmierte) Prozess zunächst steif geregelt ausgeführt werden, was vorteilhaft dessen Präzision erhöhen kann. Wird eine Kontaktinteraktion des Bedieners, insbesondere in einer vorgegebenen Form bzw. innerhalb eines vorgegebenen Musters oder Bereichs, erfasst, kann in eine nachgiebige bzw. Nachgiebigkeitsregelung umgeschaltet werden, um eine Eingabe mittels Kontaktinteraktion zu erfassen.
  • In einer Ausführung wird wenigstens ein Teil des programmierten Prozesses, in dem keine Eingabe, insbesondere Kontaktinteraktion, des Bedieners erfasst wird, unverändert erneut programmiert, insbesondere in einem Speicher der Steuerung identisch überschrieben. Hierdurch bleibt dieser (nicht anpassungsbedürftige) Teil inhaltlich unverändert, so dass in einer Weiterbildung der Prozess sukzessive immer feiner, insbesondere in immer kleineren Teilen, korrigiert werden kann. Durch das Überschreiben kann vorteilhaft eine einheitliche Abspeicherung erfolgen, wobei in Teilen des Prozesses bzw. Programms, in denen eine Eingabe, insbesondere Interaktion, erfasst wird, entsprechend der Eingabe, insbesondere Interaktion, neu, insbesondere abweichend von dem bereits programmierten und ausgeführten Prozess- bzw. Programmteil, programmiert werden und Teile des Prozesses bzw. Programms, in denen keine Eingabe, insbesondere Interaktion, erfasst wird, (inhaltlich) unverändert bleiben bzw. identisch übernommen werden. Gleichermaßen kann ein Teil des programmierten Prozesses, in dem keine Eingabe, insbesondere Kontaktinteraktion, des Bedieners erfasst wird, auch ohne Überschreiben übernommen werden bzw. bestehen bleiben bzw. aufrecht- bzw. beibehalten werden.
  • In einer Ausführung ist bzw. wird ein Teil des programmierten Prozesses, in dem eine Eingabe des Bedieners, insbesondere eine Kontaktinteraktion des Bedieners als Eingabe des Bedieners, zum Umprogrammieren erfassbar ist bzw. erfasst wird, vorgebbar bzw. vorgegeben. Zusätzlich oder alternativ ist bzw. wird in einer Ausführung ein Teil des programmierten Prozesses, in dem keine Eingabe des Bedieners, insbesondere keine Kontaktinteraktion des Bedieners als Eingabe des Bedieners, zum Umprogrammieren erfassbar ist bzw. erfasst wird, vorgebbar bzw. vorgegeben. Somit können in einer Ausführung bestimmte Prozess- bzw. Programmteile als durch Eingaben, insbesondere Interaktionen, umprogrammierbar freigegeben bzw. als nicht durch Eingaben, insbesondere Interaktionen, während des Ausführens umprogrammierbar geschützt bzw. -sperrt sein bzw. werden.
  • In einer Ausführung wird dieselbe Aktion, insbesondere Kontaktinteraktion, des Bedieners bei einem Ausführen des Schrittes c) und bei einem Ausführen des Schrittes a) als unterschiedliche Eingaben erfasst. So kann beispielsweise bei einem anfänglichen Programmieren des Prozesses in Schritt a) eine durch den Bediener aufgeprägte Kraft oder eine durch den Bediener ausgeführte Bewegung eines Joysticks einer Fernsteuerkonsole als Eingabe einer (größeren) Positionsänderung und in einem Schritt c) dieselbe durch den Bediener aufgeprägte Kraft bzw. ausgeführte Joystickbewegung als Eingabe einer demgegenüber kleineren Positionsänderung erfasst werden. Zusätzlich oder alternativ wird in einer Ausführung dieselbe Aktion, insbesondere Kontaktinteraktion, des Bedieners bei einem Ausführen des Schrittes c) und bei einem weiteren bzw. nachfolgenden, insbesondere anschließenden bzw. erneuten, Ausführen des Schrittes c) als unterschiedliche Eingaben erfasst. So kann beispielsweise bei einem Umprogrammieren des Prozesses in Schritt c) eine durch den Bediener aufgeprägte Kraft oder eine durch den Bediener ausgeführte Bewegung eines Joysticks einer Fernsteuerkonsole als Eingabe einer (größeren) Positionsänderung und in einem erneut ausgeführten Schritt c) dieselbe durch den Bediener aufgeprägte Kraft bzw. ausgeführte Joystickbewegung als Eingabe einer demgegenüber kleineren Positionsänderung erfasst werden. Auf diese Weise kann der Prozess zunehmend präziser iterativ (um)programmiert werden.
  • In einer Ausführung werden die Schritte b) bis d) ein- oder mehrfach wiederholt. Hierdurch kann der Prozess mehrstufig iterativ in, insbesondere kleiner werdenden, Teilen umprogrammiert und so schrittweise präzisiert und/oder an geänderte Randbedingungen angepasst werden.
  • Nach einer Ausführung der vorliegenden Erfindung ist eine bzw. die Steuerung zum Steuern einer oder mehrerer beweglichen Maschine(n), insbesondere eines oder mehrerer Roboter, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
    Mittel zum Ausführen eines programmierten Prozesses durch die Maschine(n);
    Mittel zum Erfassen einer oder mehrerer Eingaben des Bedieners während des Ausführens eines Teils des programmierten Prozesses, insbesondere einer oder mehrerer Kontaktinteraktionen eines Bedieners mit der bzw. den Maschine(n) während des Ausführens des Teils des programmierten Prozesses als Eingabe(n) des Bedieners; und
    Mittel zum Umprogrammieren dieses Teils auf Basis dieser Eingabe(n).
  • In einer Ausführung weist die Steuerung weiterhin auf:
    Mittel zum Programmieren des Prozesses vor dem erstmaligen Ausführen des programmierten Prozesses, Erfassen wenigstens einer Eingabe des Bedieners während des Ausführens eines Teils des programmierten Prozesses und Umprogrammieren dieses Teils auf Basis dieser Eingabe auf Basis wenigstens einer als Eingabe des Bedieners erfassten Kontaktinteraktion des Bedieners mit der bzw. den Maschine(n) oder ohne Kontaktinteraktion des Bedieners mit der bzw. den Maschine(n);
    Mittel zum Erfassen einer Bewegung der Maschine(n) durch den Bediener als Eingabe einer Positionsänderung der Maschine(n) in dem Prozess durch den Bediener;
    Mittel zum nachgiebigen Regeln der Maschine(n) während der Kontaktinteraktion, insbesondere infolge der Kontaktinteraktion;
    Mittel zum unveränderten erneuten Programmieren wenigstens ein Teil des programmierten Prozesses, in dem keine Eingabe des Bedieners erfasst wird;
    Mittel zum Vorgeben eines Teils des programmierten Prozesses, in dem eine Eingabe des Bedieners zum Umprogrammieren erfassbar ist, und/oder eines Teils des programmierten Prozesses, in dem keine Eingabe des Bedieners zum Umprogrammieren erfassbar ist;
    Mittel zum Erfassen derselben Aktion des Bedieners bei einem Ausführen des Schrittes c) und bei einem Ausführen des Schrittes a) und/oder bei einem weiteren Ausführen des Schrittes c) als unterschiedliche Eingaben; und/oder
    Mittel zum ein- oder mehrfachen Wiederholen der Schritte: b) Ausführen eines programmierten Prozesses durch die Maschine; c) Erfassen wenigstens einer Eingabe des Bedieners während des Ausführens eines Teils des programmierten Prozesses, insbesondere wenigstens einer Kontaktinteraktion eines Bedieners mit der Maschine während des Ausführens des Teils des programmierten Prozesses als Eingabe des Bedieners; und d) Umprogrammieren dieses Teils auf Basis dieser Eingabe.
  • 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 die Maschine(n) steuern kann.
  • Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert,:
  • 1: eine Maschinenanordnung nach einer Ausführung der vorliegenden Erfindung; und
  • 2: ein Verfahren zum iterativen Programmieren eines Prozesses einer beweglichen Maschine der Maschinenanordnung nach einer Ausführung der vorliegenden Erfindung.
  • 1 zeigt eine Maschinenanordnung nach einer Ausführung der vorliegenden Erfindung mit einer beweglichen Maschine in Form eines Roboters 10 und einer Steuerung 2 zum Steuern des Roboters 10 zum Ausführen programmierter Prozesse.
  • Der Roboter 10 ist ein siebenachsiger Roboter mit einer Basis 11, einem Werkzeug 12 und sieben Gelenken, deren Freiheitsgrade mit q1 bis q7 bezeichnet sind.
  • 2 zeigt ein Verfahren zum iterativen Programmieren eines Prozesses des Roboters nach einer Ausführung der vorliegenden Erfindung mittels der Steuerung 2.
  • In einem ersten Schritt S10 wird der Prozess anfänglich programmiert, im Ausführungsbeispiel durch Handführen des nachgiebig geregelten Roboters 10, wobei die dabei mit dem Werkzeug 12 bzw. dem als ausgefüllter Kreis angedeuteten TCP abgefahrene Bahn, beispielsweise in Form von Stützpunkten, abgespeichert wird.
  • Diese anfänglich programmierte Bahn des Werkzeugs 12 bzw. TCPs ist in 1 gestrichelt als vertikale Bahn von unten nach oben angedeutet. Sie wird in Schritt S10 durch Aufprägen einer vertikal nach oben gerichteten Kraft auf das Werkzeug 12 bzw. den TCP durch einen Bediener (nicht dargestellt) programmiert. Dabei erfasst die Steuerung 2 in Schritt S10 die entsprechende Kraft bzw. hierdurch bewirkte Bewegung als Eingabe entsprechender Positionen bzw. Positionsänderungen des Werkzeugs 12 bzw. TCPs und speichert diese in Form entsprechender Prozess- bzw. Programmschritte ab.
  • In einem zweiten Schritt S20 führt die Steuerung 2 den programmierten Prozess durch den Roboter 10 aus, d. h. fährt die zuvor mittels Handführung geteachte Bahn mit dem Werkzeug 12 bzw. TOP ab.
  • Dabei erfasst die Steuerung 2 in einem Schritt S30 eine Kontaktinteraktion des Bedieners mit dem Roboter während des Ausführens eines Teils des programmierten Prozesses als Eingabe des Bedieners.
  • Die Kontaktinteraktion ist in 1 exemplarisch durch eine wechselnde horizontale Kraft F angedeutet, die der Bediener auf das Werkzeug 12 aufprägt und durch die er den Roboter 10 manuell führt.
  • Diese manuell bzw. handgeführte Bewegung des Roboters durch den Bediener, die in 1 durch die ausgezogene Bahn des Werkzeugs 12 bzw. TCPs angedeutet ist, erfasst die Steuerung 2 als Eingabe einer dieser Bewegung entsprechenden Änderung der in Schritt S10 programmierten Positionen bzw. Positionsänderungen in dem Prozess durch den Bediener.
  • Entsprechend programmiert die Steuerung 2 in einem Schritt S40 diesen Teil des Prozesses auf Basis dieser Eingabe um, im Ausführungsbeispiel die in 1 gestrichelt dargestellte in die ausgezogen dargestellte Bahn des Werkzeugs 12 bzw. TCPs.
  • Wie in 1 angedeutet, fällt in dem in 1 oberen Teil der Bahn die Kontaktinteraktion bzw. horizontale Kraft F weg. In diesem Teil der Bahn bzw. des Prozesses erfasst die Steuerung 2 somit keine Eingabe des Bedieners. Daher programmiert sie diesen Teil des programmierten Prozesses unverändert erneut bzw. überschreibt die bereits abgespeicherte Bahn (gestrichelt in 1) mit der erneut abgefahrenen Bahn (ausgezogen in 1) identisch.
  • Auf diese Weise kann beispielsweise nachträglich das Umfahren eines Hindernisses berücksichtigt werden. Gleichermaßen kann, wie ebenfalls an diesem Beispiel deutlich wird, die Bahn zunächst grob als vertikale Gerade vorgegeben und anschließend durch Handführen in den gekrümmten Verlauf präzisiert werden, wobei bereits korrekte Bahnabschnitt (oben in 1) nicht mehr erneut handgeführt werden müssen.
  • In einer Ausführung kann beispielsweise der in 1 obere Bereich der Bahn als nicht umprogrammierbar vorgegeben werden bzw. sein. Dann würde selbst eine Handführung des Roboters 10 in diesem Bereich die abgespeicherte Bahn, d. h. den programmierten Prozess nicht verändern.
  • Am Ausführungsbeispiel wird auch deutlich, dass die Schritte S20–S40 wiederholt werden können, beispielsweise um beim Abfahren der (nun umprogrammierten) Bahn (ausgezogen in 1) den gekrümmten Bahnabschnitt in analoger Weise noch weiter zu verändern. Dies ist in 1 durch eine doppel-strichpunktierte Bahn angedeutet.
  • Im Ausführungsbeispiel erfasst die Steuerung 2 dieselben Kontaktinteraktionen des Bedieners als unterschiedliche Eingaben, je nachdem, ob sie während des anfänglichen Programmierens in Schritt S10, einem ersten Umprogrammieren in Schritten S20–S40 oder einem weiteren Umprogrammieren bei Wiederholung der Schritte S20–S40 erfolgen bzw. erfasst werden. So kann sie beispielsweise, wie durch den Vergleich der ausgezogenen und doppel-strichpunktierte Bahn in 1 angedeutet, dieselbe Kraft F in zunehmend geringerem Maße in Änderungen der programmierten Bahn umsetzen.
  • Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. 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
  • 2
    Steuerung
    10
    Roboter
    11
    (Roboter)Basis
    12
    (Roboter)Werkzeug/TCP
    q1–q7
    Freiheitsgrad
    F
    Kraft (Kontaktinteraktion)
  • 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 Patentliteratur
    • DE 102008062622 A1 [0003, 0023]

Claims (12)

  1. Verfahren zum iterativen Programmieren eines Prozesses wenigstens einer beweglichen Maschine, insbesondere eines Roboters (10), mit den Schritten: b) Ausführen (S20) eines programmierten Prozesses durch die Maschine; c) Erfassen (S30) wenigstens einer Eingabe des Bedieners während des Ausführens eines Teils des programmierten Prozesses, insbesondere wenigstens einer Kontaktinteraktion (F) eines Bedieners mit der Maschine während des Ausführens des Teils des programmierten Prozesses als Eingabe des Bedieners; und d) Umprogrammieren (S40) dieses Teils auf Basis dieser Eingabe.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch den Schritt: a) Programmieren (S10) des Prozesses vor dem erstmaligen Ausführen des Schrittes b): – auf Basis wenigstens einer als Eingabe des Bedieners erfassten Kontaktinteraktion des Bedieners mit der Maschine; oder – ohne Kontaktinteraktion des Bedieners mit der Maschine.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine als Eingabe des Bedieners erfasste Kontaktinteraktion ein Aufprägen einer Kraft (F) auf die Maschine, insbesondere eine hierdurch manuell geführte Bewegung der Maschine, durch den Bediener umfasst, insbesondere ist.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Bewegung der Maschine durch den Bediener als Eingabe einer Positionsänderung der Maschine in dem Prozess durch den Bediener erfasst wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Maschine während der Kontaktinteraktion, insbesondere infolge der Kontaktinteraktion, nachgiebig geregelt wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens ein Teil des programmierten Prozesses, in dem keine Eingabe des Bedieners erfasst wird, unverändert erneut programmiert wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Teil des programmierten Prozesses, in dem eine Eingabe des Bedieners zum Umprogrammieren erfassbar ist, und/oder ein Teil des programmierten Prozesses, in dem keine Eingabe des Bedieners zum Umprogrammieren erfassbar ist, vorgebbar ist.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass dieselbe Aktion, insbesondere Kontaktinteraktion (F), des Bedieners bei einem Ausführen des Schrittes c) und bei einem Ausführen des Schrittes a) und/oder bei einem weiteren Ausführen des Schrittes c) als unterschiedliche Eingaben erfasst wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Schritte b) bis d) ein- oder mehrfach wiederholt werden.
  10. Steuerung (2) zum Steuern wenigstens einer beweglichen Maschine, insbesondere eines Roboters (10), das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: Mittel zum Ausführen eines programmierten Prozesses durch die Maschine; Mittel zum Erfassen wenigstens einer Eingabe des Bedieners während des Ausführens eines Teils des programmierten Prozesses, insbesondere wenigstens einer Kontaktinteraktion (F) eines Bedieners mit der Maschine während des Ausführens des Teils des programmierten Prozesses als Eingabe des Bedieners; und Mittel zum Umprogrammieren dieses Teils auf Basis dieser Eingabe.
  11. Maschinenanordnung mit wenigstens einer beweglichen Maschine, insbesondere wenigstens einem Roboter (10), und einer Steuerung (2) zum Steuern der wenigstens einen beweglichen Maschine nach einem der vorhergehenden Ansprüche.
  12. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.
DE102015016255.1A 2015-12-15 2015-12-15 Iteratives Programmieren eines Prozesses einer beweglichen Maschine, insbesondere eines Roboters Active DE102015016255B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015016255.1A DE102015016255B4 (de) 2015-12-15 2015-12-15 Iteratives Programmieren eines Prozesses einer beweglichen Maschine, insbesondere eines Roboters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015016255.1A DE102015016255B4 (de) 2015-12-15 2015-12-15 Iteratives Programmieren eines Prozesses einer beweglichen Maschine, insbesondere eines Roboters

Publications (2)

Publication Number Publication Date
DE102015016255A1 true DE102015016255A1 (de) 2017-06-22
DE102015016255B4 DE102015016255B4 (de) 2024-06-06

Family

ID=58993340

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015016255.1A Active DE102015016255B4 (de) 2015-12-15 2015-12-15 Iteratives Programmieren eines Prozesses einer beweglichen Maschine, insbesondere eines Roboters

Country Status (1)

Country Link
DE (1) DE102015016255B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019081155A1 (de) * 2017-10-25 2019-05-02 Kuka Deutschland Gmbh Verfahren und system zum betreiben eines mobilen roboters

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025838A (en) * 1974-12-26 1977-05-24 Kawasaki Heavy Industries, Ltd. Signal modification device for memory controlled manipulator apparatus
DE2709335A1 (de) * 1976-03-03 1977-09-15 Unimation Inc Programmierbarer manipulator
DE102008062622A1 (de) 2008-12-17 2010-06-24 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008027008B4 (de) 2008-06-06 2016-03-17 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern eines Manipulators
DE102013218823A1 (de) 2013-09-19 2015-04-02 Kuka Laboratories Gmbh Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
DE102014202145A1 (de) 2014-02-06 2015-08-06 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehörigerIndustrieroboter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025838A (en) * 1974-12-26 1977-05-24 Kawasaki Heavy Industries, Ltd. Signal modification device for memory controlled manipulator apparatus
DE2709335A1 (de) * 1976-03-03 1977-09-15 Unimation Inc Programmierbarer manipulator
DE102008062622A1 (de) 2008-12-17 2010-06-24 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019081155A1 (de) * 2017-10-25 2019-05-02 Kuka Deutschland Gmbh Verfahren und system zum betreiben eines mobilen roboters

Also Published As

Publication number Publication date
DE102015016255B4 (de) 2024-06-06

Similar Documents

Publication Publication Date Title
EP2987592B1 (de) Verfahren zum programmieren eines industrieroboters und zugehöriger industrieroboter
DE102018116053B4 (de) Robotersystem und Roboterlernverfahren
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102019118637B4 (de) Automatische pfadgenerierungsvorrichtung
EP2853354B1 (de) Lageregelung mit Kollisionsvermeidung und Anpassung eines Maschinenmodells an die reale Maschine
EP2964428B1 (de) Verfahren zur überprüfung eines roboterweges
DE102015008144A1 (de) Umschalten einer Steuerung eines Roboters in einen Handführ-Betriebsmodus
DE102018009025A1 (de) Robotersteuervorrichtung zum Einstellen eines Bewegungskoordinatensystems
EP2919081B1 (de) Bearbeitungsmaschine mit Berücksichtigung von Lagefehlern bei Kollisionsprüfung
DE102007026299A1 (de) Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
DE102016000754A1 (de) Verfahren und System zur Bahnplanung eines redundanten Roboters
EP3227061A1 (de) Verfahren zur bewegungssimulation eines manipulators
DE102019006725A1 (de) Steuereinrichtung und Steuersystem
EP3328595A2 (de) Verfahren und system zum steuern eines roboters
DE102012022190B4 (de) Inverse Kinematik
DE112017003706T5 (de) Verfahren zur Bedienung eines Roboters, Computerprogramm und Robotersystem
DE102020209866B3 (de) Verfahren und System zum Betreiben eines Roboters
EP3990231B1 (de) System zum vornehmen einer eingabe an einem robotermanipulator
DE102015118918B3 (de) Roboter mit Ansteuerung zur diskretisierten manuellen Eingabe von Positionen und/oder Posen
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
DE102015016255A1 (de) Iteratives Programmieren eines Prozesses einer beweglichen Maschine, insbesondere eines Roboters
DE102015200319A1 (de) Einmessverfahren aus Kombination von Vorpositionierung und Handführen
DE102020103853B4 (de) Graphisch unterstützte Anpassung von Roboter-Steuerprogrammen
DE102017010244A1 (de) Verfahren und Steuermittel zum Steuern einer Roboteranordnung
DE112021007154T5 (de) Vorrichtung zur einstellung von sicherheitsparametern, lehrvorrichtung und -verfahren

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division