DE102017005194C5 - Steuern einer Roboteranordnung - Google Patents

Steuern einer Roboteranordnung Download PDF

Info

Publication number
DE102017005194C5
DE102017005194C5 DE102017005194.1A DE102017005194A DE102017005194C5 DE 102017005194 C5 DE102017005194 C5 DE 102017005194C5 DE 102017005194 A DE102017005194 A DE 102017005194A DE 102017005194 C5 DE102017005194 C5 DE 102017005194C5
Authority
DE
Germany
Prior art keywords
pose data
modified
time interval
arrangement
robot
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.)
Active
Application number
DE102017005194.1A
Other languages
English (en)
Other versions
DE102017005194B3 (de
Inventor
Günter Schreiber
Felix Allmendinger
Jan Bandouch
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 Deutschland 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=62235940&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE102017005194(C5) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Priority to DE102017005194.1A priority Critical patent/DE102017005194C5/de
Priority to US16/617,790 priority patent/US11839985B2/en
Priority to CN201880035502.4A priority patent/CN110891741A/zh
Priority to PCT/EP2018/062937 priority patent/WO2018219673A1/de
Priority to EP18726763.8A priority patent/EP3630418A1/de
Publication of DE102017005194B3 publication Critical patent/DE102017005194B3/de
Application granted granted Critical
Publication of DE102017005194C5 publication Critical patent/DE102017005194C5/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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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/37Measurements
    • G05B2219/37017Calibration of vision system, set correct attidude of sensor to workpiece
    • 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/39391Visual servoing, track end effector with camera image feedback

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

Ein erfindungsgemäßes Verfahren zum Steuern einer Roboteranordnung mit wenigstens einem Roboter (1) umfasst die Schritte: Erfassen von Posendaten (xs) von einer Objektanordnung mit wenigstens einem Objekt (4), die einen ersten Zeitabstand (T1) aufweisen; Ermitteln von modifizierten Posendaten (y) von der Objektanordnung, die einen zweiten Zeitabstand (T2) aufweisen, der kleiner oder größer als der erste Zeitabstand oder gleich dem erste Zeitabstand ist, auf Basis der erfassten Posendaten; und Steuern der Roboteranordnung auf Basis dieser modifizierten Posendaten.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und System zum Steuern einer Roboteranordnung mit wenigstens einem Roboter sowie eine Anordnung mit dem System und ein Computerprogrammprodukt zur Durchführung des Verfahrens.
  • Aus betriebsinterner Praxis ist es bekannt, Positionen von Objekten, beispielsweise mithilfe von Kameras, zu erfassen und Roboter auf Basis dieser erfassten Positionen zu steuern, beispielsweise den Objekten zu folgen, ihnen auszuweichen, sie aufzunehmen oder dergleichen.
  • Dabei sind die Zeitabstände, in denen die erfassten Positionen vorliegen, häufig größer als ein Regeltakt zum Steuern der Roboter.
  • Entsprechend werden nach betriebsinterner Praxis für das Steuern der Roboter auf Basis der erfassten Positionen der Objekte zunächst auf Basis dieser Roboter-Soll-Stellungen ermittelt (beispielsweise durch entsprechende Rückwärtskinematik oder dergleichen) und dann zwischen diesen Roboter-Soll-Stellungen auf den Regeltakt der Robotersteuerung (fein)interpoliert.
  • Die DE 10 2010 017 857 A1 offenbart eine 3D-Sicherheitsvorrichtung zur Absicherung und Bedienung mindestens einer Maschine an einem kooperativen Arbeitsplatz mit einem 3D-Sensor zur Erfassung dreidimensionaler Bilddaten des Arbeitsplatzes, der Maschine und mindestens einer Bedienperson an dem Arbeitsplatz und mit einer Auswertungseinheit, die dafür ausgebildet ist, Bewegungsmuster der Bedienperson zu bestimmen und bei Erkennung einer Gefährdung der Bedienperson einen Absicherungsbefehl an die Maschine auszugeben, wobei die Auswertungseinheit dafür ausgebildet ist, aus den Bewegungsmustern Benutzereingaben an den 3D-Sensor oder an die Maschine abzuleiten.
  • Aus der DE 20 2013 104 860 U1 ist eine Arbeitsvorrichtung mit einem Industrieroboter, der ein Prozesswerkzeug trägt, und mit einer Steuerung bekannt, wobei die Arbeitsvorrichtung für eine Mensch-Roboter-Kooperation oder -Kollaboration ausgebildet ist und eine mit der Steuerung verbundene Erfassungseinrichtung mit einer Sensoreinrichtung für die Detektion einer aufgetretenen Kollision des Industrieroboters oder des Prozesswerkzeugs mit einem Hindernis aufweist, wobei die Erfassungseinrichtung zusätzlich einen Abstand zwischen dem Industrieroboter und/oder dem Prozesswerkzeug und dem Hindernis erfasst und die Arbeitsvorrichtung dazu ausgebildet ist, bei einer aus dem Abstand ermittelten Kollisionsgefahr den Industrieroboter eine Ausweichbewegung gegenüber dem Hindernis ausführen zu lassen.
  • Nach der DE 40 21 330 A1 wird ein Portalroboter gleichlaufend mit einem bewegten Werkstück bewegt, wobei hierzu eine parallel zur Bewegungsrichtung des Werkstückes verlaufende Trägerachse für einen Positionsübermittler vorgesehen ist, dessen Signale auf elektronischem Weg in der Steuereinheit des Roboters berücksichtigt werden und zur Reduzierung der Signalverarbeitungsdauer die vom Positionsübermittler ermittelten Kennwerte im Feininterpolationstakt in eine Lageregelkarte der Robotersteuerung eingespeist werden.
  • Die DE 42 38 938 C2 offenbart ein Verfahren zur Erzeugung und Interpolation eines Lageführungssignals zur konturtreuen Bahnsteuerung eines numerisch gesteuerten Manipulators, insbesondere einer Achse einer Werkzeugmaschine, entlang einer Bewegungssollbahn, wobei zwischen je zwei aufeinanderfolgende, von einer Steuerung vorgegebene Bahnstützpunkte immer k Zwischenstützstellen eingefügt werden, wobei zur Bestimmung einer Zwischenstützstelle jeweils eine vorgegebene Anzahl von vor der Zwischenstützstelle liegenden Bahnstützpunkten sowie von hinter der Zwischenstützstelle liegenden Bahnstützpunkten mit geeigneten Koeffizienten gewichtet und die gewichteten Bahnstützpunkte durch Bildung der Summe verknüpft werden.
  • Nach der DE 102 51 600 A1 ist bei einem Verfahren zur Bewegungssteuerung eines Industrieroboters verbunden mit einer Interpretation einer gegebenen Punktfolge von Posen durch Splines vorgesehen, dass Komponenten der Bewegung getrennt parametrisiert werden.
  • Die DE 10 2005 060 967 B4 betrifft ein Verfahren zum Einrichten einer Bahnkurve für eine Robotereinrichtung, wobei ein Werkstück mit wenigstens einer zu bearbeitenden Oberfläche im Arbeitsbereich der Robotervorrichtung angeordnet wird, eine Zeigereinrichtung an einer Mehrzahl von Stützpunkten auf der zu bearbeitenden Oberfläche positioniert wird, die Koordinaten der Stützpunkte durch Erfassen der zugehörigen Koordinaten der Zeigereinrichtung festgelegt werden, zwischen jeweils zwei benachbarten Stützpunkten automatisch gemäß einem vorbestimmten Algorithmus interpoliert wird, um die Bahnkurve festzulegen, und die Bahnkurve K auf die zu bearbeitende Oberfläche O projiziert wird.
  • Aufgabe der vorliegenden Erfindung ist es, ein Steuern einer Roboteranordnung mit wenigstens einem Roboter zu verbessern.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 12 - 14 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens bzw. eine Anlage mit einer Roboteranordnung und einem hier beschriebenen System zum Steuern der Roboteranordnung nach einem hier beschriebenen Verfahren unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
  • Nach einem Ausführung der vorliegenden Erfindung weist eine Roboteranordnung einen oder mehrere Roboter auf, der bzw. von denen einer oder mehrere in einer Weiterbildung (jeweils) wenigstens drei, insbesondere wenigstens sechs, insbesondere wenigstens sieben, insbesondere motorisch, aktuierte Achsen bzw. Gelenke, insbesondere Drehachsen bzw. -gelenke, aufweisen.
  • Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Steuern der Roboteranordnung die, insbesondere zyklisch wiederholten und/oder sequentiellen bzw. aufeinanderfolgenden, Schritte auf:
    • - Erfassen von (ersten) Posendaten von einer Objektanordnung mit einem oder mehreren Objekten, wobei die erfassten Posendaten einen ersten, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, Zeitabstand aufweisen, insbesondere mithilfe wenigstens eines (ersten) Sensors;
    • - Ermitteln von modifizierten (ersten) Posendaten von der Objektanordnung, die einen zweiten, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, Zeitabstand aufweisen, der kleiner oder größer, in einer Ausführung höchstens um den Faktor 20, insbesondere höchstens um den Faktor 2, größer, in einer Ausführung um wenigstens den Faktor 2, insbesondere um wenigstens den Faktor 10, und/oder um höchstens den Faktor 200, insbesondere um höchstens den Faktor 120, kleiner, als der erste Zeitabstand oder gleich dem ersten Zeitabstand ist, auf Basis bzw. in Abhängigkeit von, insbesondere aus, den erfassten (ersten) Posendaten; und
    • - Steuern der Roboteranordnung, insbesondere Ermitteln, Kommandieren und/oder Anfahren, von Soll-Stellungen der Roboteranordnung, insbesondere des bzw. eines oder mehrerer ihrer Roboter, auf Basis der modifizierten (ersten) Posendaten, insbesondere zum Folgen, Aufnehmen und/oder Auszuweichen von dem bzw. einem oder mehreren Objekt(en) durch die Roboteranordnung, wobei zur kompakteren Darstellung auch ein Regeln des bzw. eines oder mehrerer Roboter der Roboteranordnung als Steuern bezeichnet wird. In einer Weiterbildung umfasst das Steuern der Roboteranordnung auf Basis von modifizierten Posendaten eine Überlagerung von modifizierten Posendaten mit Manipulationsvorschriften, insbesondere Bahnen oder dergleichen, die relativ zu der Objektanordnung vorgegeben, insbesondere definiert, sind, insbesondere das Abfahren von Bahnen auf bzw. relativ zu Objekten, deren Posen durch die modifizierten Posendaten bestimmt sind bzw. werden.
  • In einer Ausführung werden somit nicht mehr zuerst Roboter-Soll-Stellungen auf Basis erfasster Posendaten ermittelt und erst bzw. nur anschließend zwischen diesen bzw. im Achs- bzw. Gelenkraum der Roboteranordnung (fein)interpoliert, sondern bereits modifizierte Posendaten mit einer höheren (Abtast)Rate zur Verfügung gestellt bzw. zum Steuern genutzt.
  • Hierdurch können in einer Ausführung ein oder mehrere Nachteile, die sich infolge einer solchen späten bzw. verzögerten Feininterpolation erst bzw. nur im Achsraum der Roboter ergeben, zum Beispiel Rauschen, Unstetigkeiten, Achsbrummen, Jitter, Latenz oder dergleichen, reduziert, vorzugsweise vermieden werden.
  • Ein zweiter Zeitabstand, der kleiner als der erste Zeitabstand ist, entspricht einer Feininter- bzw. -extrapolation im engeren Sinne. Hierdurch kann insbesondere eine langsameren Abtastrate der (Erfassung der bzw. erfassten) Posendaten vorteilhaft mit einem kürzeren Steuer- bzw. Regeltakt kombiniert werden. So kann etwa vorteilhaft ein erster Zeitabstand von etwa 20 ms einer 50 Hz Kamera mit Halb-Bildverfahren mit einer Steuer- bzw. Regel-Bezugstaktung von 1 ms kombiniert werden. Durch einen zweiten Zeitabstand, der gleich dem ersten Zeitabstand ist, kann in einer Ausführung vorteilhaft ein glatte(re)s Signal realisiert, insbesondere eine vorteilhafte Geschwindigkeitsbestimmung und/oder Vorausrechnung auch bei Paketausfällen genutzt werden. Durch einen zweiten Zeitabstand, der größer als der erste Zeitabstand ist, kann in einer Ausführung eine schnellere Abtastrate der (Erfassung der bzw. erfassten) Posendaten mit einem langsameren Steuer- bzw. Regeltakt kombiniert werden. In einer bevorzugten Ausführung beträgt ein Quotient des ersten Zeitabstands der erfassten Posendaten dividiert durch den zweiten Zeitabstand der modifizierten Posendaten wenigstens 0,9, vorzugsweise wenigstens 1, insbesondere wenigstens 1,1, und/oder höchstens 120, was vorliegend verallgemeinernd ebenfalls als (Fein)Interpolation bezeichnet wird. Entsprechend ist in einer bevorzugten Ausführung der zweite Zeitabstand kleiner oder gleich dem ersten Zeitabstand bzw. höchstens so groß wie der erste Zeitabstand, in einer Weiterbildung (echt) kleiner als der erste Zeitabstand.
  • Durch die erfindungsgemäße wenigstens teilweise Verlagerung der (Fein)Interpolation in den Raum der Posen der Objekte können in einer Ausführung besonders vorteilhaft verschiedene zeitgleich erfasste Posendaten, insbesondere durch unterschiedliche Sensoren, insbesondere mit unterschiedlichen Zeitabständen, erfasste Posendaten, zum Steuern der Roboteranordnung genutzt, insbesondere zusammengeführt, insbesondere überlagert, und/oder an eine Steuerung zum Steuern der Roboteranordnung übermittelt werden.
  • Entsprechend weist das Verfahren in einer Ausführung die Schritte auf:
    • - Erfassen von weiteren Posendaten von der Objektanordnung, in einer Ausführung dem- bzw. denselben und/oder anderen Objekten der Objektanordnung, zeitlich parallel zu bzw. zusammen mit dem Erfassen der (ersten) Posendaten, insbesondere mithilfe wenigstens eines zusätzlichen Sensors, wobei die weiteren erfassten Posendaten einen weiteren, insbesondere denselben oder einem anderen, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, ersten Zeitabstand aufweisen;
    • - Ermitteln von weiteren modifizierten Posendaten von der Objektanordnung, die einen weiteren, insbesondere denselben oder einem anderen, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, zweiten Zeitabstand, der kleiner oder größer als dieser weitere erste Zeitabstand oder gleich diesem weiteren ersten Zeitabstand ist, aufweisen, auf Basis bzw. in Abhängigkeit von, insbesondere aus, den weiteren erfassten Posendaten; und
    • - Steuern der Roboteranordnung, insbesondere Ermitteln, Kommandieren und/oder Anfahren, von Soll-Stellungen der Roboteranordnung, insbesondere des- bzw. derselben und/oder anderer Roboter der Roboteranordnung, auf Basis (auch) der weiteren modifizierten Posendaten, die in einer Weiterbildung dieselbe oder eine andere Taktrate und/oder Phasenlager aufweise (können) als die (ersten) modifizierten Posendaten.
  • In einer bevorzugten Ausführung beträgt ein Quotient des weiteren ersten Zeitabstands der weiteren erfassten Posendaten dividiert durch den weiteren zweiten Zeitabstand der weiteren modifizierten Posendaten wenigstens 0,9, vorzugsweise wenigstens 1, insbesondere wenigstens 1,1, und/oder höchstens 120. Entsprechend ist in einer bevorzugten Ausführung der weitere zweite Zeitabstand kleiner oder gleich dem weiteren ersten Zeitabstand bzw. höchstens so groß wie der weitere erste Zeitabstand, in einer Weiterbildung (echt) kleiner als der weitere erste Zeitabstand.
  • Eine Pose eines Objekts im Sinne der vorliegenden Erfindung hängt von einer, insbesondere kartesischen und/oder ein-, zwei- oder dreidimensionalen, Position und/oder Orientierung, insbesondere Winkelstellung, des entsprechenden Objekts, insbesondere relativ zu der Roboteranordnung und/oder einer Umgebung bzw. im (kartesischen) Raum ab, sie kann insbesondere die Position und/oder Orientierung beschreiben bzw. angeben, insbesondere sein.
  • Entsprechend hängen in einer Ausführung die (ersten und/oder weiteren) erfassten Posendaten und/oder die (ersten und/oder weiteren) modifizierten Posendaten, insbesondere auch oder nur, von einer, insbesondere kartesischen und/oder ein-, zwei- oder dreidimensionalen, Position und/oder Orientierung der Objektanordnung, insbesondere des bzw. einer oder mehrerer ihrer Objekte, insbesondere relativ zu der Roboteranordnung und/oder einer Umgebung bzw. im (kartesischen) Raum ab, sie können diese insbesondere beschreiben bzw. angeben, insbesondere sein.
  • Es hat sich überraschend herausgestellt, dass die wenigstens teilweise (Fein)Interpolation bereits im Raum (auch) der Orientierung bzw. Winkellage bzw. -stellung von erfassten Objekten ein besonders vorteilhaftes Steuern von Robotern ermöglicht.
  • In einer Weiterbildung werden die (ersten und/oder weiteren) modifizierten Posendaten derart bzw. mit der Maßgabe ermittelt, dass eine, insbesondere (absolute) Drehung der Objektanordnung bzw. des bzw. eines oder mehrerer Objekte der Objektanordnung im Raum zwischen (ersten bzw. weiteren) modifizierten Posendaten, die aufeinanderfolgen oder zwischen denen ein oder mehrere Posendaten liegen, (jeweils) minimal ist bzw. wird.
  • Betrachtet man, wie in 1 exemplarisch dargestellt, ein objektfestes Koordinatensystem K und eine, in 1 strich-doppelpunktierte, Kugel um dessen Mittelpunkt, so beschreiben bei einer Drehung des entsprechenden Objekts 4 die Durchstoßpunkte des Koordinatensystems bzw. seiner Achsen durch die Kugel Bahnen b auf der Kugel, deren Längen ein Maß für die Drehung des Objekts darstellen.
  • Entsprechend werden in einer Weiterbildung die (ersten und/oder weiteren) modifizierten Posendaten derart bzw. mit der Maßgabe ermittelt, dass diese Bahn(läng)en minimiert sind bzw. werden bzw. auf Großkreisen einer solchen Kugel liegen bzw. Durchstoßpunkte eines objektfesten Koordinatensystems durch eine Kugel um dessen Mittelpunkt sich auf Großkreisen der Kugel bewegen.
  • Hierdurch kann in einer Ausführung ein unerwartetes Verhalten, insbesondere ein unerwünschtes Torkeln, der auf Basis der (ersten bzw. weiteren modifizierten) Posendaten gesteuerten Roboteranordnung reduziert, vorzugsweise vermieden werden.
  • Insbesondere hierzu können die (ersten und/oder weiteren) erfassten Posendaten und/oder die (ersten und/oder weiteren) modifizierten Posendaten Quaternionen aufweisen, insbesondere sein.
  • Zusätzlich oder alternativ sind in einer Ausführung die (ersten und/oder weiteren) modifizierten Posendaten derart (gewählt), dass ihre, insbesondere erste, Zeitableitung eine, insbesondere absolute, Winkelgeschwindigkeit der Objektanordnung, insbesondere des bzw. eines oder mehrerer der Objekte, beschreibt bzw. angibt, insbesondere direkt bzw. unmittelbar, wie dies insbesondere bei Quaternionen der Fall ist, im Gegensatz beispielsweise zu Zeitableitungen von EULER- oder KARDAN-Winkeln.
  • Hierdurch können in einer Ausführung die vorstehen erläuterten minimalen Drehungen bzw. minimale Bahnen bzw. Großkreise realisiert und/oder eine Rechenzeit vorteilhaft verkürzt werden.
  • Quaternionen sind dem Fachmann zur Beschreibung von Orientierungen bzw. Orientierungsänderungen bzw. Drehungen bekannt, so dass auf diese nicht weiter einzugehen ist. Sofern die (ersten bzw. weiteren) erfassten Posendaten nicht in Quaternionendarstellung vorliegen, werden sie in einer Ausführung zur bzw. bei der Ermittlung der (ersten bzw. weiteren) modifizierten Posendaten in Quaternionendarstellung transformiert, in einer Ausführung beispielsweise aus einer Darstellung mit EULER- oder KARDAN-Winkeln, wie sie bei Sensoren zur Erfassung von Orientierungen üblich ist.
  • In einer Ausführung werden die (ersten und/oder weiteren) modifizierten Posendaten derart bzw. mit der Maßgabe ermittelt, dass sie einer Funktion, insbesondere stückweise definierten Polynomen, insbesondere dritter Ordnung, genügen bzw. durch diese beschrieben werden, die (erste bzw. weitere) erfasste Posendaten approximiert, insbesondere durch (erste bzw. weitere) erfasste Posendaten und/oder, insbesondere durch lineare Interpolation bestimmte, Stützstellen zwischen aufeinanderfolgenden (ersten bzw. weiteren) erfassten Posendaten verläuft.
  • Hierdurch können die modifizierten Posendaten in einer Ausführung besonders vorteilhaft ermittelt werden, insbesondere durch Abtasten bzw. Auswerten der Funktion in dem (jeweiligen) zweiten Zeitabstand.
  • In einer Weiterbildung weist die Funktion an Stützstellen vorgegebene, insbesondere durch aufeinanderfolgende erfasste Posendaten, insbesondere durch lineare Interpolation zwischen diesen, bestimmte, (Zeit)Ableitungen auf, die in einer Ausführung translatorische und/oder rotatorische Geschwindigkeiten, insbesondere (absoluten) Winkelgeschwindigkeiten, der Objektanordnung angeben. Zusätzlich oder alternativ weisen in einer Weiterbildung die stückweise definierten Polynome an ihren Übergangsstellen dieselbe Ableitung auf.
  • Hierdurch können in einer Ausführung besonders vorteilhafte modifizierte Posendaten ermittelt werden, diese insbesondere einen (wenigstens C1-stetigen) Verlauf aufweisen und/oder, insbesondere hierdurch, ein unerwünschtes Antriebsbrummen reduziert und/oder eine Auswertung verbessert werden.
  • In einer Ausführung werden die (ersten und/oder weiteren) modifizierten Posendaten mithilfe einer oder mehrerer Filterungen bzw. Filterstufen, insbesondere Tiefpassfilterungen bzw. -stufen, insbesondere der (ersten bzw. weiteren) erfassten modifizierten Posendaten ermittelt.
  • Hierdurch können in einer Ausführung vorteilhafte modifizierte Posendaten ermittelt, insbesondere diese geglättet und/oder Messfehler, insbesondere -rauschen reduziert, werden.
  • In einer Ausführung werden bei einem bzw. infolge eines Ausbleiben(s) (erster und/oder weiterer) erfasster Posendaten für eine, insbesondere vorgegebene, Nachlaufzeit die modifizierten bzw. weiteren modifizierten Posendaten derart bzw. mit der Maßgabe ermittelt, dass eine, insbesondere translatorische und/oder rotatorische, Geschwindigkeit, insbesondere (absolute) Winkelgeschwindigkeit, der Objektanordnung, insbesondere relativ zu der Roboteranordnung und/oder einer Umgebung bzw. im (kartesischen) Raum, zwischen diesen modifizierten Posendaten konstant ist bzw. gehalten wird.
  • Hierdurch kann in einer Ausführung eine Zeitverzögerung bei der Erfassung von Posendaten und/oder deren Übermittlung vorteilhaft kompensiert werden.
  • Zusätzlich oder alternativ wird in einer Ausführung bei bzw. infolge eines Ausbleiben(s) (erster und/oder weiterer) erfasster Posendaten für eine, insbesondere vorgegebene, Abbruchzeit, die in einer Weiterbildung größer als die Nachlaufzeit ist, das Steuern der Roboteranordnung auf Basis der modifizierten bzw. weiteren modifizierten Posendaten gestoppt und/oder eine Warnung ausgegeben.
  • Hierdurch kann in einer Ausführung vorteilhaft auf eine übermäßige Zeitverzögerung bei der Erfassung von Posendaten und/oder deren Übermittlung reagiert und/oder die Gefahr eines dadurch bedingten inkorrekten Steuerns der Roboteranordnung reduziert werden.
  • Die (ersten und/oder weiteren) Posendaten der Objektanordnung werden mithilfe eines oder mehrerer, insbesondere berührungsloser und/oder optischer, (ersten bzw. zusätzlichen) Sensoren, insbesondere (jeweils) einer oder mehrerer, insbesondere umgebungs- oder roboterfester, Kameras, insbesondere mithilfe einer Bildverarbeitung, erfasst.
  • Zusätzlich oder alternativ werden in einer Ausführung die (ersten und/oder weiteren) modifizierten Posendaten, in einer Weiterbildung über ein Netzwerk, insbesondere das Internet und/oder ein LAN, insbesondere WLAN, und/oder eine Cloud, an eine Steuerung übermittelt, die die Roboteranordnung bzw. den oder einen oder mehrere ihrer Roboter steuert, insbesondere von Soll-Stellungen der Roboteranordnung, insbesondere des bzw. eines oder mehrerer ihrer Roboter, auf Basis der (ersten und/oder weiteren) modifizierten Posendaten ermittelt, kommandiert und/oder anfährt, insbesondere zum Folgen, Aufnehmen und/oder Auszuweichen von dem bzw. einem oder mehreren Objekt(en) durch die Roboteranordnung, bzw. hierzu, insbesondere hard- und/oder software-, insbesondere programmtechnisch, eingerichtet ist bzw. verwendet wird.
  • Gleichermaßen können die (ersten und/oder weiteren) modifizierten Posendaten auch wenigstens teilweise verteilt bzw. auf mehreren Rechnern und/oder in der Robotersteuerung ermittelt werden.
  • Hierdurch können die Posendaten in einer Ausführung besonders vorteilhaft, insbesondere störungsfrei, präzise und/oder schnell, erfasst und/oder die wenigstens teilweise Verlagerung der (Fein)Interpolation in den Raum der Posen der Objekte und/oder die Überlagerung von ersten und weiteren modifizierten Posendaten besonders vorteilhaft durchgeführt werden.
  • Wie bereits erwähnt, kann in einer Ausführung das Steuern der Roboteranordnung auf Basis der modifizierten Posendaten und/oder der weiteren modifizierten Posendaten ein Kombinieren, insbesondere Überlagern, dieser Posendaten mit Manipulationsvorschriften, insbesondere Bahnen oder dergleichen, umfassen, insbesondere sein, die relativ zu der Objektordnung, insbesondere dem bzw. einem oder mehreren ihrer Objekte, vorgegeben, insbesondere definiert, sind („objektordnungsbezogene Manipulationsvorschriften“), beispielsweise ein Abfahren von Bahnen, die auf bzw. relativ zu der Objektordnung vorgegeben sind, durch die Roboteranordnung.
  • Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Steuern der Roboteranordnung, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist (wenigstens) auf:
    • - Mittel zum Ermitteln von modifizierten (ersten) Posendaten von einer Objektanordnung mit einem oder mehreren Objekten, die einen zweiten, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, Zeitabstand aufweisen, auf Basis bzw. in Abhängigkeit von erfassten (ersten) Posendaten der Objektanordnung, wobei der zweite Zeitabstand kleiner oder größer als ein erster Zeitabstand oder gleich einem ersten Zeitabstand der erfassten Posendaten ist, zum Steuern der Roboteranordnung.
  • In einer Ausführung weist das System auf:
    • - Mittel zum Erfassen von den (ersten) Posendaten von der Objektanordnung, wobei die erfassten Posendaten den ersten, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, Zeitabstand aufweisen; und/oder
    • - Mittel zum Steuern der Roboteranordnung, insbesondere Ermitteln, Kommandieren und/oder Anfahren, von Soll-Stellungen der Roboteranordnung, insbesondere des bzw. eines oder mehrerer ihrer Roboter, auf Basis der modifizierten (ersten) Posendaten, insbesondere zum Folgen, Aufnehmen und/oder Auszuweichen von dem bzw. einem oder mehreren Objekt(en) durch die Roboteranordnung.
  • Zusätzlich oder alternativ weist das System bzw. sein(e) Mittel in einer Ausführung auf: Mittel zum Erfassen von weiteren Posendaten von der Objektanordnung, die einen weiteren ersten Zeitabstand aufweisen, zeitlich parallel zu dem Erfassen der (ersten) Posendaten, insbesondere mithilfe wenigstens eines zusätzlichen Sensors; und/oder Mittel zum Ermitteln von weiteren modifizierten Posendaten von der Objektanordnung, die einen weiteren zweiten Zeitabstand aufweisen, der kleiner oder größer als der weitere erste Zeitabstand oder gleich dem weiteren ersten Zeitabstand ist, auf Basis der weiteren erfassten Posendaten; und/oder
    Mittel zum Steuern der Roboteranordnung auf Basis dieser weiteren modifizierten Posendaten.
    Mittel zum Ermitteln der modifizierten Posendaten und/oder weiteren modifizierten Posendaten derart, dass eine Drehung der Objektanordnung im Raum zwischen modifizierten Posendaten minimal ist; und/oder
    Mittel zum Ermitteln modifizierten Posendaten und/oder weiteren modifizierten Posendaten derart, dass sie einer Funktion, insbesondere stückweise definierten Polynomen, insbesondere dritter Ordnung, genügen, die erfasste Posendaten approximiert, insbesondere durch erfasste Posendaten und/oder Stützstellen zwischen aufeinanderfolgenden erfassten Posendaten verläuft; und/oder Mittel zum Ermitteln der modifizierten Posendaten und/oder die weiteren modifizierten Posendaten mithilfe wenigstens einer Filterung; und/oder
    Mittel zum Ermitteln der modifizierten Posendaten bei Ausbleiben erfasster Posendaten für eine Nachlaufzeit derart, dass eine Geschwindigkeit der Objektanordnung im Raum zwischen modifizierten Posendaten konstant ist; und/oder Mittel zum Stoppen des Steuerns der Roboteranordnung auf Basis der modifizierten Posendaten und/oder Ausgeben einer Warnung bei Ausbleiben erfasster Posendaten für eine Abbruchzeit; und/oder
    Mittel zum Erfassen der (ersten und/oder weiteren) Posendaten der Objektanordnung mithilfe wenigstens eines, insbesondere berührungslosen und/oder optischen, Sensors; und/oder
    Mittel zum Übermittelt der (ersten und/oder weiteren) modifizierten Posendaten an eine Steuerung zum Steuern der Roboteranordnung; und/oder Mittel zum Kombinieren, insbesondere Überlagern, der modifizierten Posendaten und/oder der weiteren modifizierten Posendaten mit objektordnungsbezogenen Manipulationsvorschriften zum Steuern der Roboteranordnung.
  • 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 Roboteranordnung steuern kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nichtflüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen
  • In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.
  • Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert,:
    • 1: eine Anordnung mit einem Roboter und einem System zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung;
    • 2: erfasste und modifizierte Posendaten; und
    • 3: ein Verfahren zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung.
  • 1 zeigt eine Anordnung mit einem Roboter 1 und einem System zum Steuern des Roboters 1 nach einer Ausführung der vorliegenden Erfindung.
  • Das System umfasst eine Robotersteuerung 2 und eine damit kommunizierende Erfassungs- und Verarbeitungseinrichtung 30 zum Erfassen von Posendaten von Objekten 4, die eine Kamera 31 aufweist.
  • Mithilfe der Kamera 31 erfasst die Erfassungs- und Verarbeitungseinrichtung 30 (erste) Posendaten xs, welche die dreidimensionale kartesische Position und Orientierung der Objekte 4, von denen in 1 exemplarisch nur eines dargestellt ist, zu bestimmten Zeiten t1, t5, t9 beschreiben und die in 2 durch ausgefüllte Rechtecke angedeutet sind.
  • Entsprechend weisen diese ersten Posendaten xs einen ersten Zeitabstand T1 auf, der im Ausführungsbeispiel konstant ist und der Abtast- bzw. Auswerterate der Kamera 31 bzw. Erfassungs- und Verarbeitungseinrichtung 30 entspricht. Die erfassten Posendaten beschreiben die Orientierung des Objekts 4, gegebenenfalls nach entsprechender Transformation, in Quaternionen.
  • Die Kamera 31 erfasst in einem Schritt S90 Posen des Objekts 4 (vgl. 3). Die Erfassungs- und Verarbeitungseinrichtung 30 prüft in einem Schritt S100, ob bereits eine vorgegebene Abbruchzeit vergangen ist, seit die letzte erfasste Pose von der Kamera 31 empfangen wurde.
  • Ist dies der Fall (S100: „Y“), d.h. bleiben für die Abbruchzeit (neue) erfasste Posendaten aus, wird in einem Schritt S110 ein Steuern des Roboters 1 auf Basis der Posendaten gestoppt und eine Warnung ausgegeben.
  • Andernfalls (S100: „N“) prüft die Erfassungs- und Verarbeitungseinrichtung 30 in einem Schritt S120, ob eine vorgegebene Nachlaufzeit vergangen ist, seit die letzte erfasste Pose von der Kamera 31 empfangen wurde.
  • Ist dies der Fall (S120: „Y“), d.h. bleiben für die Nachlaufzeit (neue) erfasste Posendaten aus, werden in nachfolgend mit Bezug auf 2 erläuterter Weise in einem Schritt S130 modifizierte Posendaten y(t) derart ermittelt, dass eine translatorische und rotatorische Geschwindigkeit des Objekts 4 im Raum zwischen modifizierten Posendaten bzw. die zeitliche Ableitung der ermittelten modifzierten Posendaten konstant ist, und der Roboter 1 in einem Schritt S140 auf Basis dieser modifizierten Posendaten gesteuert, bis entweder die Abbruchzeit vergangen ist oder inzwischen doch noch ein neue erfasste Pose von der Kamera 31 empfangen wurde (S90).
  • Mit anderen Worten wird bei einer Verzögerung neuer erfasster Posen angenommen, dass das Objekt 4 sich von einem letzten Stützpunkt aus mit konstanter kartesischer und (absoluter) Winkelgeschwindigkeit weiterbewegt, und der Roboter 1 auf Basis dieser Annahme gesteuert, bis entweder neue Posen erfasst oder die Abbruchzeit erreicht ist.
  • Falls rechtzeitig bzw. innerhalb der Nachlaufzeit neue erfasste Posen von der Kamera 31 empfangen wurde (S120: „N“), fährt die Erfassungs- und Verarbeitungseinrichtung 30 mit einem Schritt S150 fort.
  • In diesem ermittelt sie durch lineare Interpolation eine in 2 durch ein leeres Rechteck angedeutet Stützstelle xd in der Mitte zwischen der neuen und der vorhergehenden erfassten Pose sowie eine Geschwindigkeit vd an dieser Stützstelle, die sich ebenfalls aus der lineare Interpolation ergibt bzw. dem Quotienten aus dem Abstand von der Stützstelle zu der neuen Pose dividiert durch die entsprechende Zeit entspricht.
  • Exemplarisch ist in 2 eine solche Stützstelle xd(t7), die sich durch lineare Interpolation zwischen den Posendaten xs(t5) und xs(t9) ergibt, wie in 2 gestrichelt angedeutet, sowie die entsprechende Geschwindigkeit vd(t7) an dieser Stützstelle bezeichnet, die sich aus [xs(t9) - xd(t7)]/ (t9 - t7) ergibt.
  • Dann ermittelt die Erfassungs- und Verarbeitungseinrichtung 30 in einem Schritt S160 ein Polynom dritter Ordnung einer stückweise durch Polynome dritter Ordnung definierten Funktion f derart, dass es an das vorhergehende Polynom C1-stetig anschließt bzw. an der Übergangsstelle dieselbe (Zeit)Ableitung aufweist, sowie durch die neue Stützstelle xd verläuft und dort die ermittelte Geschwindigkeit vd(t7) aufweist.
  • Diese Funktion f bzw. dieses Polynom(stück) wird in einem Schritt S170 im Regeltakt der Robotersteuerung 2, d.h. mit einem kürzeren Zeitabstand T2 ausgewertet und ergibt die modifizierten Posendaten y, die in 2 durch ausgefüllte Kreise angedeutet und für die Zeitpunkte t4, t5, t6, t11 und t12 exemplarisch bezeichnet sind.
  • Auf Basis dieser modifizierten Posendaten y steuert die Robotersteuerung 2 in Schritt S170 den Roboter 1, beispielsweise zum Greifen des Objekts 4 oder dergleichen. In einer Ausführung kann zum Steuern den modifizierten Posendaten y eine objektbezogene Manipulationsvorschrift, beispielsweise eine relativ zum Objekt 4 definierte B(earbeitungsb)ahn, überlagert und der Roboter 1 auf Basis der modifizierten Posendaten y und der objektbezogenen Manipulationsvorschrift gesteuert werden.
  • Man erkennt in 2, dass für den Zeitpunkt t13 = t9 + T1 eine neue erfasste Pose vorliegen müsste, um in der beschriebenen Weise eine neue Stützstelle für t11 und so das nächste Polynomstück ermitteln zu können.
  • Da jedoch im Ausführungsbeispiel innerhalb der Nachlaufzeit eine solche neue erfasste Pose noch nicht vorliegt, wird in Schritt S130 (vgl. 3) die Funktion f an der entsprechenden Stelle t11 mit der dort vorliegenden Steigung f'(t11) linear fortgesetzt, wie in 2 gestrichelt angedeutet, so dass die translatorische und rotatorische Geschwindigkeit des Objekts 4 im Raum zwischen modifizierten Posendaten ab t11 konstant ist.
  • In Schritt S140 wird dann analog zu Schritt S170 diese Funktion im Regeltakt der Robotersteuerung 2 bzw. mit dem kürzeren Zeitabstand T2 ausgewertet und ergibt die modifizierten Posendaten y(t12).
  • Sofern auch nach der Abbruchzeit noch keine neue erfasste Pose vorliegt (S100: „Y“), wird das Verfahren abgebrochen.
  • Bei dem beschriebenen Verfahren ist die Drehung des Objekts 4 im Raum zwischen modifizierten Posendaten y insbesondere aufgrund der Polynominterpolation der Quaternionen vorteilhafterweise minimal, so dass insbesondere ein Torkeln vermieden wird.
  • Parallel können auch für durch eine Kamera 32 zeitlich parallel erfassten weitere Posendaten in analoger, hier beschriebener Weise weitere modifzierte Posendaten ermittelt und der Roboter 1 auch auf Basis dieser weiteren modifzierten Posendaten gesteuert werden.
  • Vorteilhafterweise können dabei der Robotersteuerung 2 die modifzierten Posendaten von Kamera 31 und die weiteren modifzierten Posendaten von Kamera 32 mit demselben Takt zur Verfügung gestellt werden, indem die modifzierten Posendaten und die weiteren modifzierten Posendaten mit demselben zweiten Zeitabstand T2 ermittelt werden bzw. denselben zweiten Zeitabstand aufweisen. Gleichermaßen können die modifizierten Posendaten und die weiteren modifizierten Posendaten auch unterschiedliche Taktraten und/oder Phasenlagen aufweisen.
  • Man erkennt in 2, dass die modifzierten Posendaten y den erfassten Posendaten xs um T1/2 zeitversetzt „nachlaufen“, da erst nach Erhalt der neuen erfassten Pose (z.B. xs(t9)) die entsprechende Stützstelle (z.B. xd(t7)) und die dort vorgegebene Geschwindigkeit bzw. Zeitableitung (z.B. vd(t7)) ermittelt und zur Approximation durch die Funktion f bzw. (Fein)Interpolation verwendet wird, sofern nicht die erwartete nächste bzw. neue erfasste Pose ausbleibt (z.B. xs(t13)).
  • Bezugszeichenliste
  • 1
    Roboter(anordnung)
    2
    Robotersteuerung
    30
    Erfassungs- und Verarbeitungseinrichtung
    31, 32
    Kamera
    4
    Objekt(anordnung)
    F
    Funktion
    T1
    erster Zeitabstand
    T2
    zweiter Zeitabstand
    vd
    Geschwindigkeit
    xs
    erfasste Pose(ndaten)
    xd
    Stützstellen
    y
    modifzierte Posendaten

Claims (14)

  1. Verfahren zum Steuern einer Roboteranordnung mit wenigstens einem Roboter (1), mit den Schritten: - Erfassen von Posendaten (xs) von einer Objektanordnung mit wenigstens einem Objekt (4), die einen ersten Zeitabstand (T1) aufweisen, wobei die Posendaten der Objektanordnung mithilfe wenigstens eines Sensors (31) erfasst werden; - Ermitteln von modifizierten Posendaten (y) von der Objektanordnung, die einen zweiten Zeitabstand (T2) aufweisen, der kleiner oder größer als der erste Zeitabstand oder gleich dem ersten Zeitabstand ist, auf Basis der erfassten Posendaten; und - Steuern der Roboteranordnung auf Basis dieser modifizierten Posendaten, - wobei eine Pose eines Objekts von einer Position und/oder Orientierung dieses Objekts abhängt, wobei a) die modifizierten Posendaten durch Auswerten einer Funktion (f), die die erfassten Posendaten approximiert und an Stützstellen durch aufeinanderfolgende erfasste Posendaten bestimmte Zeitableitungen aufweist, in dem zweiten Zeitabstand ermittelt werden; und/oder b) die modifizierten Posendaten eine Orientierung, insbesondere eine Position und Orientierung, des wenigstens einen Objekts (4) der Objektanordnung beschreiben und derart ermittelt werden, dass eine Drehung dieses Objekts im Raum zwischen modifizierten Posendaten minimal ist, wobei die modifizierten Posendaten Quaternionen aufweisen; und/oder c) das Verfahren die Schritte aufweist: - Erfassen von weiteren Posendaten von wenigstens einem anderen Objekt der Objektanordnung, die einen von dem einen ersten Zeitabstand verschiedenen weiteren ersten Zeitabstand aufweisen, zeitlich parallel zu dem Erfassen der Posendaten, insbesondere mithilfe wenigstens eines zusätzlichen Sensors (32); - Ermitteln von weiteren modifizierten Posendaten von der Objektanordnung, die einen weiteren zweiten Zeitabstand aufweisen, der kleiner oder größer als der weitere erste Zeitabstand oder gleich dem weiteren ersten Zeitabstand ist, auf Basis der weiteren erfassten Posendaten, und - Steuern der Roboteranordnung auf Basis dieser weiteren modifizierten Posendaten.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch die Schritte: - Erfassen von weiteren Posendaten von der Objektanordnung, die einen weiteren ersten Zeitabstand aufweisen, zeitlich parallel zu dem Erfassen der Posendaten, insbesondere mithilfe wenigstens eines zusätzlichen Sensors (32); - Ermitteln von weiteren modifizierten Posendaten von der Objektanordnung, die einen weiteren zweiten Zeitabstand aufweisen, der kleiner oder größer als der weitere erste Zeitabstand oder gleich dem weiteren ersten Zeitabstand ist, auf Basis der weiteren erfassten Posendaten; und - Steuern der Roboteranordnung auf Basis dieser weiteren modifizierten Posendaten.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die erfassten und/oder modifizierten Posendaten und/oder die weiteren erfassten und/oder weiteren modifizierten Posendaten von einer Orientierung der Objektanordnung abhängen, insbesondere die Posendaten Quaternionen aufweisen und/oder eine Zeitableitung der Posendaten eine Winkelgeschwindigkeit der Objektanordnung beschreibt.
  4. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die modifizierten Posendaten und/oder die weiteren modifizierten Posendaten derart ermittelt werden, dass eine Drehung der Objektanordnung im Raum zwischen modifizierten bzw. weiteren modifizierten Posendaten minimal ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die modifizierten Posendaten und/oder die weiteren modifizierten Posendaten derart ermittelt werden, dass sie einer Funktion (f), insbesondere stückweise definierten Polynomen, insbesondere dritter Ordnung, genügen, die die erfassten bzw. weiteren erfassten Posendaten approximiert, insbesondere durch erfasste bzw. weitere erfasste Posendaten und/oder Stützstellen (xd) zwischen aufeinanderfolgenden erfassten bzw. weiteren erfassten Posendaten verläuft.
  6. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Funktion an Stützstellen (xd) vorgegebene, insbesondere durch aufeinanderfolgende erfasste Posendaten bestimmte, Ableitungen (vd) aufweist und/oder die stückweise definierten Polynome an ihren Übergangsstellen dieselbe Ableitung aufweisen.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die modifizierten Posendaten und/oder die weiteren modifizierten Posendaten mithilfe wenigstens einer Filterung ermittelt werden.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Ausbleiben erfasster Posendaten für eine Nachlaufzeit die modifizierten Posendaten derart ermittelt werden, dass eine Geschwindigkeit der Objektanordnung im Raum zwischen modifizierten Posendaten konstant ist.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Ausbleiben erfasster Posendaten für eine Abbruchzeit das Steuern der Roboteranordnung auf Basis der modifizierten Posendaten gestoppt und/oder eine Warnung ausgegeben wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Posendaten der Objektanordnung mithilfe wenigstens eines berührungslosen und/oder optischen Sensors (31) erfasst und/oder die modifizierten Posendaten und/oder die weiteren modifizierten Posendaten an eine Steuerung (2) zum Steuern der Roboteranordnung übermittelt werden.
  11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Steuern der Roboteranordnung auf Basis der modifizierten Posendaten und/oder der weiteren modifizierten Posendaten deren Kombination mit objektordnungsbezogenen Manipulationsvorschriften umfasst.
  12. System zum Steuern einer Roboteranordnung mit wenigstens einem Roboter (1), das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und aufweist: Mittel (30) zum Ermitteln von modifizierten Posendaten (y) von einer Objektanordnung mit wenigstens einem Objekt (4), die einen zweiten Zeitabstand (T2) aufweisen, auf Basis von erfassten Posendaten (xs) der Objektanordnung, wobei der zweite Zeitabstand kleiner oder größer als ein erster Zeitabstand (T1) oder gleich einem ersten Zeitabstand (T1) der erfassten Posendaten ist, zum Steuern der Roboteranordnung.
  13. Anordnung mit einer Roboteranordnung mit wenigstens einem Roboter (1) und einem System zum Steuern der Roboteranordnung nach dem vorhergehenden Anspruch.
  14. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 11.
DE102017005194.1A 2017-05-31 2017-05-31 Steuern einer Roboteranordnung Active DE102017005194C5 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102017005194.1A DE102017005194C5 (de) 2017-05-31 2017-05-31 Steuern einer Roboteranordnung
US16/617,790 US11839985B2 (en) 2017-05-31 2018-05-17 Control of a robot assembly
CN201880035502.4A CN110891741A (zh) 2017-05-31 2018-05-17 对机器人单元的控制
PCT/EP2018/062937 WO2018219673A1 (de) 2017-05-31 2018-05-17 Steuern einer roboteranordnung
EP18726763.8A EP3630418A1 (de) 2017-05-31 2018-05-17 Steuern einer roboteranordnung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017005194.1A DE102017005194C5 (de) 2017-05-31 2017-05-31 Steuern einer Roboteranordnung

Publications (2)

Publication Number Publication Date
DE102017005194B3 DE102017005194B3 (de) 2018-09-13
DE102017005194C5 true DE102017005194C5 (de) 2022-05-19

Family

ID=62235940

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017005194.1A Active DE102017005194C5 (de) 2017-05-31 2017-05-31 Steuern einer Roboteranordnung

Country Status (5)

Country Link
US (1) US11839985B2 (de)
EP (1) EP3630418A1 (de)
CN (1) CN110891741A (de)
DE (1) DE102017005194C5 (de)
WO (1) WO2018219673A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019206010A1 (de) * 2019-04-26 2020-10-29 Kuka Aktiengesellschaft Verfahren und System zur Überwachung einer Roboteranordnung
CN114945884A (zh) * 2020-01-22 2022-08-26 Abb瑞士股份有限公司 用于控制机器人的系统和方法、电子设备和计算机可读介质
JP2021168069A (ja) * 2020-04-13 2021-10-21 富士通株式会社 情報処理プログラム、情報処理装置、および情報処理方法
CN116100562B (zh) * 2023-04-11 2023-06-09 四川大学 多机器人协同上下料的视觉引导方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4021330A1 (de) 1990-07-03 1992-01-16 Mannesmann Ag Verfahren zum betrieb eines roboters und eine vorrichtung dazu
DE4238938C2 (de) 1992-11-19 2003-10-30 Bosch Gmbh Robert Verfahren zur Interpolation eines Lageführungssignals
DE10251600A1 (de) 2002-11-06 2004-05-27 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten
DE102005060967B4 (de) 2005-12-20 2007-10-25 Technische Universität München Verfahren und Vorrichtung zum Einrichten einer Bahnkurve einer Robotervorrichtung
DE102010017857A1 (de) 2010-04-22 2011-10-27 Sick Ag 3D-Sicherheitsvorrichtung und Verfahren zur Absicherung und Bedienung mindestens einer Maschine
DE202013104860U1 (de) 2013-10-30 2015-02-02 Daimler Ag Arbeitsvorrichtung
US20160318187A1 (en) 2015-05-01 2016-11-03 General Electric Company Systems and methods for control of robotic manipulation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2369845A1 (en) 2002-01-31 2003-07-31 Braintech, Inc. Method and apparatus for single camera 3d vision guided robotics
JP2007011978A (ja) * 2005-07-04 2007-01-18 Toyota Motor Corp ロボットの運動制御装置
JP5306313B2 (ja) * 2010-12-20 2013-10-02 株式会社東芝 ロボット制御装置
EP2708334B1 (de) * 2011-05-12 2020-05-06 IHI Corporation Vorrichtung und verfahren zur steuerung der vorhersage von bewegungen
JP6000579B2 (ja) * 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
JP6021533B2 (ja) * 2012-09-03 2016-11-09 キヤノン株式会社 情報処理システム、装置、方法及びプログラム
US9914222B2 (en) * 2015-02-05 2018-03-13 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and computer readable storage medium that calculate an accuracy of correspondence between a model feature and a measurement data feature and collate, based on the accuracy, a geometric model and an object in an image

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4021330A1 (de) 1990-07-03 1992-01-16 Mannesmann Ag Verfahren zum betrieb eines roboters und eine vorrichtung dazu
DE4238938C2 (de) 1992-11-19 2003-10-30 Bosch Gmbh Robert Verfahren zur Interpolation eines Lageführungssignals
DE10251600A1 (de) 2002-11-06 2004-05-27 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten
DE102005060967B4 (de) 2005-12-20 2007-10-25 Technische Universität München Verfahren und Vorrichtung zum Einrichten einer Bahnkurve einer Robotervorrichtung
DE102010017857A1 (de) 2010-04-22 2011-10-27 Sick Ag 3D-Sicherheitsvorrichtung und Verfahren zur Absicherung und Bedienung mindestens einer Maschine
DE202013104860U1 (de) 2013-10-30 2015-02-02 Daimler Ag Arbeitsvorrichtung
US20160318187A1 (en) 2015-05-01 2016-11-03 General Electric Company Systems and methods for control of robotic manipulation

Also Published As

Publication number Publication date
US11839985B2 (en) 2023-12-12
DE102017005194B3 (de) 2018-09-13
WO2018219673A1 (de) 2018-12-06
EP3630418A1 (de) 2020-04-08
US20200114518A1 (en) 2020-04-16
CN110891741A (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
DE102017005194C5 (de) Steuern einer Roboteranordnung
EP1521211B1 (de) Verfahren und Vorrichtung zum Bestimmen von Position und Orientierung einer Bildempfangseinrichtung
DE102019126465B4 (de) Verfahren und Vorrichtung zur Trajektorienbestimmung für serielle Manipulatoren
DE102013106514B3 (de) Vorrichtung und Verfahren zum Absichern einer automatisiert arbeitenden Maschine
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102007026299B4 (de) Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
DE102015001579B4 (de) Robotersystem mit Vermeidung unbeabsichtigten Abwurfs geförderter Gegenstände
EP2500789B1 (de) Roboter und Verfahren zum Betreiben eines Roboters
DE102017127950B4 (de) Robotersteuerung, die automatisch eine störzone für einen roboter vorgibt
EP1366867A2 (de) Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
WO2008014909A1 (de) Kamarabasierte überwachung von maschinen mit beweglichen maschinenelementen zur kollisionsverhinderung
DE102017001131C5 (de) Verfahren und System zum Betreiben eines Roboters
EP3988256B1 (de) Absichern eines beweglichen maschinenteils
DE102019109717A1 (de) Arbeitsrobotersystem und Arbeitsroboter
WO2021186068A1 (de) Ermittlung von sicherheitsbereichen um eine automatisiert arbeitende maschine
WO2018010842A1 (de) Redundanzauflösung für einen redundanten manipulator
WO2005039836A2 (de) Verfahren zur einrichtung einer bewegung eines handhabungsgeräts und bildverarbeitung
EP2656980A2 (de) Verfahren und Mittel zum Vorgeben und/oder Steuern eines Manipulatorprozesses
WO2008025577A1 (de) Verfahren zur einrichtung zur kollisionsüberwachung eines maschinenelements mit einem gegenstand bei einer werkzeugmaschine, produktionsmaschine und/oder bei einer als roboter ausgebildeten maschine
DE102015209773B3 (de) Verfahren zur kontinuierlichen Synchronisation einer Pose eines Manipulators und einer Eingabevorrichtung
EP1915239B1 (de) Verfahren zum erzeugen eines umgebungsbildes
DE102018201589A1 (de) Verfahren zur Programmierung der Steuerung eines Industrieroboters, Verfahren zum Betreiben eines Industrieroboters, Programmiervorrichtung sowie Industrierobotersystem mit einer solchen Programmiervorrichtung
DE102018207919B3 (de) Robotersteuerung
DE102022202563B3 (de) Planen einer Bahn eines Roboters
WO2019158270A1 (de) Koordinierungsanlage, handhabungseinrichtung und verfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: WALLINGER RICKER SCHLOTTER TOSTMANN PATENT- UN, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R026 Opposition filed against patent
R034 Decision of examining division/federal patent court maintaining patent in limited form now final
R206 Amended patent specification