Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MODELING OBJECTS BY MEANS OF ROBOT-GUIDED CAMERAS
Document Type and Number:
WIPO Patent Application WO/2021/209530
Kind Code:
A1
Abstract:
A method according to the invention for modeling an object by means of a camera guided by means of a robot comprises the steps of: orienting (S30) the robot-guided camera toward a target point; moving (S40) the robot-guided camera into different poses relative to the object while maintaining the orientation toward the target point; capturing (S50) images of the object by means of the camera in the different poses; storing (S50) pose data, which depend on the pose in question, and image data, which depend on an image captured in said pose; and determining (S60, S70) a model of the object on the basis of the stored pose data and image data.

Inventors:
MUNOZ OSORIO JUAN (DE)
SAFRONOV KIRILL (DE)
Application Number:
PCT/EP2021/059734
Publication Date:
October 21, 2021
Filing Date:
April 15, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KUKA DEUTSCHLAND GMBH (DE)
International Classes:
B25J9/16
Foreign References:
US20170160737A12017-06-08
Other References:
GUILLAUME WALCK ET AL: "Automatic observation for 3D reconstruction of unknown objects using visual servoing", INTELLIGENT ROBOTS AND SYSTEMS (IROS), 2010 IEEE/RSJ INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 18 October 2010 (2010-10-18), pages 2727 - 2732, XP031888230, ISBN: 978-1-4244-6674-0, DOI: 10.1109/IROS.2010.5649507
WALCK G ET AL: "Progressive 3D reconstruction of unknown objects using one eye-in-hand camera", ROBOTICS AND BIOMIMETICS (ROBIO), 2009 IEEE INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 19 December 2009 (2009-12-19), pages 971 - 976, XP031642038, ISBN: 978-1-4244-4774-9
BONE G M ET AL: "Automated modeling and robotic grasping of unknown three-dimensional objects", 2008 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION. THE HALF-DAY WORKSHOP ON: TOWARDS AUTONOMOUS AGRICULTURE OF TOMORROW; PASADENA, CA, USA, MAY 19-23, 2008, IEEE, PISCATAWAY, NJ, USA, 19 May 2008 (2008-05-19), pages 292 - 298, XP031340167, ISBN: 978-1-4244-1646-2
STEVEN C COLBERT ET AL: "Efficient shape and pose recovery of unknown objects from three camera views", MECHATRONICS AND ITS APPLICATIONS (ISMA), 2010 7TH INTERNATIONAL SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 20 April 2010 (2010-04-20), pages 1 - 6, XP031685152, ISBN: 978-1-4244-6665-8
UYANIK CIHAN ET AL: "SPGS: A New Method for Autonomous 3D Reconstruction of Unknown Objects by an Industrial Robot", 21 July 2018, ICIAP: INTERNATIONAL CONFERENCE ON IMAGE ANALYSIS AND PROCESSING, 17TH INTERNATIONAL CONFERENCE, NAPLES, ITALY, SEPTEMBER 9-13, 2013. PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 15 - 27, ISBN: 978-3-642-17318-9, XP047480113
SERAJI H ET AL: "SINGULARITY-ROBUSTNESS AND TASK-PRIORITIZATION IN CONFIGURATION CONTROL OF REDUNDANT ROBOTS", PROCEEDINGS OF THE CONFERENCE ON DECISION AND CONTROL. HONOLULU, DEC. 5 - 7, 1990; [PROCEEDINGS OF THE CONFERENCE ON DECISION AND CONTROL], NEW YORK, IEEE, US, vol. 5 OF 06, 5 July 1990 (1990-07-05), pages 3089 - 3095, XP000207334
KHATIB, O.: "A unified approach for motion and force control of robot manipulators: The operational space formulation", IEEE JOURNAL ON ROBOTICS AND AUTOMATION, vol. 3, no. 1, 1987, pages 43 - 53, XP011217372, DOI: 10.1109/JRA.1987.1087068
JUAN D. MUNOZFIORE, MARIO D.ALLMENDINGER, FELIX: "ASME 2018 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference", 2018, AMERICAN SOCIETY OF MECHANICAL ENGINEERS, article "Operational Space Formulation Under Joint Constraints", pages: V05BT07A022 - V05BT07A022
Attorney, Agent or Firm:
TILLMANN, Axel (DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Modellieren eines Objekts (1) mittels einer durch einen Roboter (2) geführten Kamera (3), mit den Schritten:

- Ausrichten (S30) der robotergeführten Kamera auf einen Zielpunkt;

- Bewegen (S40) der robotergeführten Kamera in verschiedene Posen relativ zu dem Objekt unter Beibehaltung der Ausrichtung auf den Zielpunkt;

- Aufnehmen (S50) von Bildern des Objekts mit der Kamera in den verschiedenen Posen;

- Abspeichern (S50) von Posendaten, die von der jeweiligen Pose abhängen, und Bilddaten, die von einem in dieser Pose aufgenommenem Bild abhängen; und

- Ermitteln (S60, S70) eines Modells des Objekts auf Basis der abgespeicherten Posen- und Bilddaten.

2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die robotergeführte Kamera in wenigstens eine der Posen durch Aufprägen von Kräften auf den Roboter bewegt wird.

3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die robotergeführte Kamera automatisiert in wenigstens eine der Posen bewegt wird.

4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Bewegen der robotergeführten Kamera in wenigstens eine der Posen Antriebe des Roboters auf Basis von Operational Space Framework und/oder einer vorgegebenen minimalen Distanz des Roboters und/oder der Kamera zu dem Zielpunkt und/oder vorgegebener Gelenkgrenzen des Roboters gesteuert werden.

5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens eine zu erfassende Ansicht des Objekts ermittelt und wenigstens eine der Posen auf Basis dieser ermittelten Ansicht ermittelt wird.

6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Zielpunkt auf Basis wenigstens eines mit der Kamera aufgenommenen Bildes ermittelt wird (S30).

7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Ermitteln von Bilddaten ein Hintergrund im aufgenommenen Bild wenigstens teilweise ausgeblendet wird (S20).

8. System (4), das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.

9. 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.

Description:
Beschreibung

Modellieren von Objekten mittels robotergeführter Kameras

Die vorliegende Erfindung betrifft ein Verfahren, System und Computerprogrammprodukt zum Modellieren eines Objekts mittels einer durch einen Roboter geführten Kamera.

Aufgabe der vorliegenden Erfindung ist es, die Modellierung von Objekten zu verbessern.

Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 8, 9 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.

Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Modellieren eines Objekts mittels einer durch einen Roboter geführten Kamera die Schritte:

- Ausrichten der robotergeführten Kamera (mittels des Roboters) auf einen, insbesondere vorgegebenen und/oder objektfesten, Zielpunkt;

- Bewegen der robotergeführten Kamera (mittels des Roboters) in verschiedene Posen relativ zu dem Objekt unter Beibehaltung der Ausrichtung (der Kamera) auf den Zielpunkt;

- Aufnehmen von Bildern des Objekts mit der Kamera in diesen verschiedenen Posen;

- Abspeichern

- von Posendaten, die von der jeweiligen Pose abhängen, in einer Ausführung die jeweilige Pose angeben bzw. definieren und/oder auf Basis von gemessenen Gelenk- bzw. Achssteilungen des Roboters ermittelt werden, und

- von Bilddaten, die von einem in dieser bzw. der jeweiligen Pose aufgenommenem Bild abhängen, in einer Ausführung auf Basis des aufgenommenen Bildes ermittelt, insbesondere berechnet, werden; und - Ermitteln, in einer Ausführung Berechnen, eines, in einer Ausführung zwei- oder dreidimensionalen, Modells des Objekts, in einer Ausführung Generieren eines neuen Modells oder Modifizieren eines vorhandenen Modells, auf Basis bzw. in Abhängigkeit von diesen abgespeicherten Posen und Bilddaten, wobei in einer Ausführung Bilddaten, die von einem in einer Pose aufgenommenem Bild abhängen, den Posendaten, die von dieser Pose abhängen, jeweils zugeordnet sind bzw. werden.

Hierdurch kann in einer Ausführung ein Modell des Objekts vorteilhaft, insbesondere rasch und/oder präzise, ermittelt werden. Eine Pose umfasst in einer Ausführung eine ein-, zwei- oder dreidimensionale Position und/oder eine ein-, zwei- oder dreidimensionale Orientierung.

In einer Ausführung wird die robotergeführte Kamera in eine oder mehrere der Posen durch Aufprägen von Kräften auf den Roboter bewegt, in einer Ausführung durch manuelles Aufprägen bzw. Aufprägen bzw. Handführen durch einen Bediener. Hierdurch kann in einer Ausführung ein Modell des Objekts vorteilhaft, insbesondere rasch und/oder präzise, ermittelt werden.

Zusätzlich oder alternativ wird in einer Ausführung die robotergeführte Kamera automatisiert in eine oder mehrere der Posen bewegt, in einer Ausführung ohne extern auf den Roboter ausgeübte Kräfte bzw. ohne Bewegungsbefehlseingaben eines Bedieners. Hierdurch kann in einer Ausführung ein Modell des Objekts vorteilhaft, insbesondere rasch und/oder präzise, ermittelt werden.

In einer Ausführung werden beim bzw. zum Bewegen der robotergeführten Kamera in eine oder mehrere der Posen (jeweils) Antriebe des Roboters mittels bzw. auf Basis von Operational Space Framework und/oder auf Basis von einer vorgegebenen minimalen Distanz des Roboters und/oder der Kamera zu dem Zielpunkt, insbesondere derart bzw. mit der Maßgabe, dass der Roboter und/oder die Kamera eine vorgegebene minimale Distanz zu dem Zielpunkt einhalten, und/oder auf Basis vorgegebener Gelenkgrenzen des Roboters, insbesondere derart bzw. mit der Maßgabe, dass der Roboter vorgegebene Gelenkgrenzen einhält, gesteuert. Hierdurch kann in einer Ausführung ein Modell des Objekts vorteilhaft, insbesondere rasch und/oder präzise, ermittelt werden. Beim Operational Space Framework wird ein (operationales) Koordinatensystem verwendet, um die Position und Orientation eines operationeilen Punkts („operational point“) in einem Referenzsystem in Abhängigkeit von einer Aufgabe zu beschreiben, wobei der Raum dieser Aufgabe als Operational Space bezeichnet wird. Entsprechend sind in dem Operational Space nur die Koordinaten zu spezifizieren, die zur Beschreibung der Aufgabe erforderlich sind.

Aufgaben können insbesondere im kartesischen bzw. Arbeitsraum und/oder im Gelenkkoordinatenraum des Roboters beschrieben werden.

Mehrere simultane Aufgaben können insbesondere durch mehrere Operational Spaces implementiert werden. Zusätzlich oder alternative können Aufgaben in einer Ausführung als operationeile Kräfte beschrieben werden, beispielsweise als Kräfte, um einen Endeffektor in eine Soll-Position zu bewegen und Gelenke von ihren Gelenkgrenzen wegzutreiben bzw. -halten. Diese operationeilen Kräfte können mittels einer Jacobi-Matrix auf Kräfte, insbesondere (Dreh)Momente, im Gelenkkoordinatenraum abgebildet werden, um den Roboter zu steuern, wobei vorliegend auch ein Regeln verallgemeinernd als Steuern bezeichnet wird.

Das dynamische Verhalten eines Punktes („operational point”) im sogenannten Operational Space kann insbesondere durch mit dem Vektor der (virtuellen) operationeilen Kräfte im Operational Space f t , der symmetrischen Trägheits- bzw. Massenmatrix Λ t (x t ), dem Vektor der Zentrifugal- und Corioliskräfte und dem Vektor der Gravitationskräfte p t (x t ) (alle im Operational Space) beschrieben werden. Ergänzend wird zum Operational Space Framework auf Khatib, O., A unified approach for motion and force control of robot manipulators: The operational space formulation, IEEE Journal on Robotics and Automation, 1987, 3(1), S. 43-53, Bezug genommen und der Inhalt dieses Artikels vollumfänglich in die vorliegende Offenbarung einbezogen.

Im Gelenkkoordinatenraum kann das dynamische Verhalten des Roboters insbesondere beschrieben werden durch: mit der T rägheits- bzw. Massenmatrix M(q), dem Vektor der Zentrifugal- und Corioliskräfte , dem Vektor der Gravitationskräfte g(q) und den generalisierten Kräften, insbesondere Antriebskräften, τ im Gelenkkoordinatenraum. Antiparallele Kräftepaare bzw. (Dreh)Momente werden vorliegend verallgemeinernd ebenfalls als Kräfte bezeichnet.

Unter Verwendung der Jacobi-Matrix J t ergibt sich als Beziehung zwischen den operationeilen Kräften ƒ t und den Gelenk- bzw. Antriebskräften, insbesondere -drehmomenten t:

Wenn der Roboter bezüglich der Aufgabe redundant bzw. die Dimension der Minimal- bzw. Gelenkkoordinaten q größer als die Dimension der Aufgabenkoordinaten x t ist ( dim(q) > dim ( x t )), können Bewegungen bzw. (Antriebs) Kräfte bzw. -momente im Nullraum von . hinzugefügt werden, ohne die resultierenden Kräfte am operational point zu beeinflussen: mit mit der Projektion N t in den Nullraum der (Haupt)Aufgabe, wobei τ 0 ein beliebiger generalisierter Gelenk-, insbesondere Antriebskraft-, insbesondere -momentenvektor ist, der in den Nullraum der (Haupt)Aufgabe projiziert wird, und die dynamisch konsistente generalisierte Inverse („dynamically consistent generalized inverse“), die die momentane kinetische Energie des Roboters minimiert: Damit ergibt sich:

Der generalisierte Gelenk-, insbesondere Antriebskraft-, insbesondere -momentenvektor τ 0 in (4) kann für eine zweite bzw. nachranige(re) Aufgabe genutzt werden, die im Nullraum (nur) dann vollständig ausgeführt wird, wenn sie nicht mit der vorrangige(re)n Aufgabe kollidiert bzw. interferiert, welche durch den Kraftvektor ƒ t durchgeführt wird, d.h. welche eine höhere Priorität aufweist. Dies ermöglicht es, eine Priorisierung bzw. priorisierte Struktur für mehrere Aufgaben zu realisieren: wobei der Index von der höchsten Priorität (Index 1) zur niedrigsten Priorität (Index k ) läuft, d.h. τ 1 der Kraftvektor für die Aufgabe mit der höchsten Priorität, die ausgeführt wird, sofern die Kinematik bzw. Dynamik des Roboters dies gestattet, und τ k der Kraftvektor für die Aufgabe mit der niedrigsten Priorität ist, die nur vollständig durchgeführt wird, wenn genug Koordinaten im Nullraum zur Verfügung stehen.

Die Aufgabe, den Endeffektor bzw. einen hierzu ortsfesten Punkt, insbesondere einen Blick- bzw. Ausrichte-, insbesondere Fokuspunkt der Kamera, an der kartesischen (Ziel)Position x E = [x,y, z] T zu halten, kann insbesondere durch ein virtuelles Feder-Dämpfer-System implementiert werden: mit der Differenz Δx E zwischen der gewünschten bzw. Soll-Position und der aktuellen kartesischen Position des Endeffektors (x E,d - x E ) , der Massen-Matrix M , Dämpfungs-Matrix D und Steifigkeits- bzw. Federmatrix K des virtuellen Feder-Dämpfer-Systems, wobei M insbesondere aufgrund von Rauschen gleich Null gesetzt werden kann, so dass: mit dem kommandierten Kraftvektor , der der Aufgabe entspricht bzw. diese repräsentiert, der Federkonstanten k p und der Dämpfungskonstanten k d .

Die entsprechenden Antriebskräfte bzw. -momente zum Kommandieren bzw. Steuern des Roboters ergeben sich durch Projektion in den Gelenkkoordinatenraum: In einer Ausführung werden eine oder mehrere zu erfassende (Soll-)Ansichten des Objekts, in einer Ausführung eine oder mehrere (Soll-)Ansichten, die zu einer vollständigen Erfassung bzw. Abbildung aller (aktuell) sichtbaren Flächen des Objekts erforderlich sind, ermittelt und eine oder mehrere der Posen auf Basis dieser ermittelten Ansicht(en) ermittelt. In einer Ausführung werden diese ermittelten Posen automatisiert angefahren bzw. die robotergeführte Kamera automatisiert in diese

Posen bewegt. Hierdurch kann in einer Ausführung ein Modell des Objekts vorteilhaft, insbesondere rasch und/oder präzise, ermittelt werden.

In einer Ausführung wird der Zielpunkt auf Basis wenigstens eines mit der Kamera aufgenommenen Bildes ermittelt, in einer Ausführung auf Basis eines Zentrums, in einer Ausführung Schwerpunktes, einer Punktewolke, die auf Basis des bzw. der aufgenommenen Bilder ermittelt wird. Hierdurch kann in einer Ausführung ein Modell des Objekts vorteilhaft, insbesondere rasch und/oder präzise, ermittelt werden.

In einer Ausführung wird beim Ermitteln von Bilddaten ein Hintergrund im aufgenommenen Bild wenigstens teilweise ausgeblendet, in einer Ausführung mittels Segmentierung, beispielsweise eines RANSAC-basierten Ebenen-Fittings. Hierdurch kann in einer Ausführung ein Modell des Objekts vorteilhaft, insbesondere rasch und/oder präzise, ermittelt werden.

Die Kamera ist in einer Ausführung eine 2D- oder 3D-Kamera, die aufgenommenen Bilder entsprechend in einer Ausführung 2D- bzw. 3D-Bilder des Objekts.

In einer Ausführung kann eine beschränkte Handführung verwendet werden, wobei die Ausrichtung auf den Zielpunkt beibehalten bzw. das Objekt im Blick der Kamera gehalten wird. Der Bediener kann den Roboter manuell bewegen und der Roboter passt die Orientierung automatisch an, wobei das Objekt immer in der Mitte des Kamerabildes gehalten und die minimale Distanz zum Objekt eingehalten wird.

In einer Ausführung können Bewegungen um das Objekt herum derart geplant und automatisiert durchgeführt werden, dass nur ein kartesischer Punkt (der Flansch oder das Handgelenk) programmiert werden muss und die Orientierung automatisch angepasst wird.

Die Erfindung kann in einer Ausführung einen oder mehrere der folgenden Vorteile bieten:

- der Bediener muss nur den Ort des Objekts bzw. den Zielpunkt definieren, was auch automatisiert mittels 3D-Bildverarbeitung erfolgen kann;

- Arbeitsraumbeschränkungen können automatisch bzw. implizit berücksichtigt bzw. eingehalten werden. Dies kann Programmieraufwand, insbesondere -zeit sparen, indem die Komplexität der Planung reduziert wird;

- verwendete Robotertrajektorien können abgespeichert und wieder verwendet werden, was eine Offline-Programmierung unnötig machen kann;

- der Bediener muss sich nicht um kollisionsfreie Bahnplanung kümmern, indem Gelenkbegrenzungen festgelegt werden.

Die Verwendung des Roboters kann die Genauigkeit der Modellierung verbessern, da die Posen der Kamera unter Verwendung der sehr präzisen Vorwärts-Kinematik ermittelt werden und nur von der Kamerakalibrierung abhängen, die ebenfalls sehr präzise sein kann. 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), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit 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 Verarbeitungseinheit Schritte solcher Verfahren ausführen kann und damit insbesondere ein Objekt modellieren, insbesondere den kameraführenden Roboter entsprechend kommandieren bzw. bewegen kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht- flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.

In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.

In einer Ausführung weist das System den Roboter auf.

Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:

Fig. 1 : ein System beim Modellieren eines Objekts mittels einer durch einen Roboter geführten Kamera nach einer Ausführung der vorliegenden Erfindung; und Fig. 2: ein Verfahren zum Modellieren des Objekts mittels der durch den Roboter geführten Kamera nach einer Ausführung der vorliegenden Erfindung.

Fig. 1 zeigt ein System beim Modellieren eines Objekts 1 mittels einer durch einen Roboter 2 geführten Kamera 3 nach einer Ausführung der vorliegenden Erfindung. Der Roboter wird durch eine Steuerung 4 gesteuert, die die Schritte des Verfahrens ausführt, insbesondere den Roboter 2 bzw. dessen Antriebe kommandiert.

In Fig. 1 ist ein roboterbasisfestes Koordinatensystem 0 durch dessen x- und z-Koordinatenachse 0 x, 0 z sowie ein roboterendeffektorfestes Koordinatensystem EE durch dessen y- und z-Koordinatenachse EE y, EE z angedeutet.

Bei einem Handführen soll der Bediener die Orientierung ändern können, wobei ein Zielpunkt im Zentrum des Objekts 1 im roboterendeffektorfesten Koordinatensystem EE derart festgehalten wird, dass der Roboterendeffektor bzw. die daran befestigte Kamera 3 sich auch in EE z-Richtung bewegen kann, d.h. in dieser Richtung ebenfalls “frei” ist. Hierzu werden die Jacobi-Matrix und die kartesischen Positionen und Geschwindigkeiten in dem roboterendeffektorfesten Koordinatensystem beschrieben und die Zeile der Jacobi-Matrix in der z-Richtung gestrichen:

Wenn die Jacobi-Matrix zunächst im roboterbasisfesten Koordinatensystem 0 beschrieben ist, muss die Jacobi-Matrix in die Roboterendeffektor-Koordinaten gedreht werden. Hierzu werden folgende Schritte ausgeführt:

1. Berechnen der Drehung 0 R E vom roboterbasisfesten Koordinatensystem 0 in das roboterendeffektorfeste Koordinatensystem EE unter Verwendung der Vorwärtskinematik bzw. -transformation des Roboters.

2. Rotieren der Jacobi-Matrix unter Verwendung der Gleichung: 3. Verwendung der ersten und zweiten Zeile von EE J pos zum Definieren der Aufgabe.

4. Bestimmen des Kommando-Vektors im roboterendeffektorfesten Koordinatensystem:

5. Berechnen des Kommando-Drehmoments für die Aufgabe:

Dabei sind [2x1 ]-Vektoren in den x- und y-Koordinaten des Endeffektors, ist ein [2x1]-Null-Vektor und Λ pos, μ pos und p pos werden unter Verwendung nur der ersten zwei Reihen von EE J pos berechnet.

Eine Gelenkdämpfungsaufgabe mit niedrig(st)er Priorität wird verwendet, um Energie zu dissipieren und das System passiv zu halten. Somit ergibt sich schließlich als finaler Aufgabenstapel („stack of tasks“): τ stack = τ pos + N pos τ 2 τ 2 = τ damp mit , wobei eine [nxn]-ldentitäts-Matrix mit der Anzahl n der Freiheitsgrade des Roboters ist.

Zwei Aufgaben mit höherer Priorität werden inkluidert:

• eine vorgegebene minimale Distanz der Kamera zu dem Zielpunkt bzw. Objekt einzuhalten bzw. nicht zu unterschreiten; und

• vorgegebene Gelenkgrenzen einzuhalten bzw. nicht zu überschreiten, vorzugsweise zu vermeiden. Die höchste Priorität wird der Aufgabe, die Gelenkgrenzen einzuhalten bzw. nicht zu überschreiten, vorzugsweise zu vermeiden, zugewiesen und wird beispielsweise unter Verwendung einer Sättigung im Gelenkkoordinatenraum berechnet („Saturation in Joint Space algorithm“, SJS). Hierzu wird ergänzend auf Osorio, Juan D. Munoz;

Fiore, Mario D.; Allmendinger, Felix: Operational Space Formulation Under Joint Constraints, ASME 2018 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, American Society of Mechanical Engineers, 2018. Seiten V05BT 07A022-V05BT 07A022 Bezug genommen und der Inhalt dieses Artikels vollumfänglich in die vorliegende Offenbarung einbezogen.

Die Aufgabe, die vorgegebene minimale Distanz einzuhalten, kann als eine kartesische Zwangsbedingung implementiert werden, beispielsweise unter analoger Verwendung einer Sättigung im kartesischen bzw. Arbeitsraum („Saturation in Cartesian Space algorithm“, SCS) und die zweithöchste Priorität erhalten (durch Verwendung der rotierten Jacobi-Matrix in SCS ist es möglich, die Koordinaten längs der Achse von der Kamera zum Objekt zu beschränken bzw. fesseln). Somit wird τ stack an den SCS-Algorithmus gesandt und die Drehmomentausgabe des SCS an den SJS-Algorithmus gesandt.

Somit kann der Bediener den Roboter handführen, während dieser die Hauptaufgabe durchführt, die Ausrichtung der Kamera auf den Zielpunkt beizubehalten.

Im Nullraum dieser Hauptaufgabe kann als weitere Aufgabe bestimmt werden, mit einer vorgegebenen maximalen Geschwindigkeit einen kartesischen Punkt anzufahren, vorzugsweise wie in dem o.g. Artikel von Khatib beschrieben. Der operationeile Punkt bewegt sich außer in den Beschleunigungs- und Verzögerungsabschnitten mit maximaler Geschwindigkeit in gerader Linie zu einem gewünschten Punkt. Die Kraft wird berechnet wie folgt: wobei: und

Der Index op deutet an, dass diese Positionen und Geschwindigkeiten diejenigen des operationeilen Punkts („operational point“) sind, der beispielsweise beim LBR iiwa die sechste Gelenkachse sein kann. Der Endeffektor kann für diese Aufgabe nicht genutzt werden, um Konflikte mit der Hauptaufgabe zu vermeiden. Die kommandierten Drehmomente für diese Aufgabe sind: wobei J goToPoint bis zum operationellen Punkt ausgedrückt bzw. entwickelt ist und nur die Zeilen der Positionskoordinaten verwendet werden. Der neue Aufgabenstapel (“stack of tasks”) ist: τ stack = τ pos + N pos τ 2 τ 2 = τ goToPoint + N goToPoint τ 3 τ 3 = τ damp

Nun bewegt sich der operationeile Punkt zum gewünschten Punkt während der Endeffektor auf einen Zielpunkt bzw. eine Zielposition zeigt. Dies verbessert die Programmierung, da nur gewünschte Punkte beispielsweise für die sechste Gelenkachse vorgegeben werden müssen und der Bediener sich nicht um die gewünschte Orientierung kümmern muss. Der Endeffektor bzw. die Kamera zeigt immer auf den Zielpunkt bzw. das Objekt bzw. ist hierauf ausgerichtet. Dieser Aufgabenstapel gestattet es, Bewegungen des Roboters durchzuführen bzw. zu programmieren, während Bilder für die Modellierung aufgenommen werden. Die gewünschten kartesischen Punkte können auch durch die beschriebene Handführung vor- bzw. eingegeben werden.

Das Verfahren zum Modellieren des Objekts 1 umfasst die folgenden Schritte (vgl.

Fig. 2):

S10: das Objekt 1 wird (bzw. ist) auf einem Tisch 5 oder einer anderen flachen Oberfläche platziert, so dass das gesamte Objekt in dem aufgenommenen zwei- oder dreidimensionalen Bild sichtbar ist.

S20: unter Verwendung eines Segmentierungs-Algorithmus, z.B.. RANSAC-basiertem Ebenen-Fitting, wird die Tisch- bzw. flache Oberfläche aus der 3D-Punktewolke entfernt, so dass Daten nur noch 3D-Punkte enthalten, die zu dem Objekt 1 gehören.

S30: ein 3D-Zentrum des Objekts wird berechnet und als Zielposition bzw. -punkt für die (Ausrichtung der) Kamera 3 verwendet.

S40: ein Bediener (nicht dargestellt) führt den Roboter 2 per Hand um das Objekt und versucht, dessen gesamte (aktuell sichtbare) Oberfläche zu erfassen.

S50: zu verschiedenen Zeitpunkten wird die aktuelle Punktewolke (die aus den Bildern der Kamera ermittelt wird) und die zugehörige bzw. aktuelle Kamerapose im Welt- bzw. Roboterbasiskoordinatensystem abgespeichert.

S60: alle abgespeicherten Punktewolken werden aggregiert, beispielsweise mittels TSDF, wie es in Curles, B., Levoy, M.: A Volumetric Method for Building Complex Models from Range Images, 1996 beschrieben ist, worauf ergänzend Bezug genommen und dessen Inhalt vollumfänglich in die vorliegende Offenbarung einbezogen wird.

S70: aus der resultierenden Punktewolke wird ein Polygongitter (“polygon mesh”) berechnet und, gegebenenfalls nachbearbeitet, als Modell des Objekts 1 verwendet bzw. bereitgestellt, beispielsweise abgespeichert. 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.