DE102021107453A1 - Schnelle roboterbewegungsoptimierung mit distanzfeld - Google Patents

Schnelle roboterbewegungsoptimierung mit distanzfeld Download PDF

Info

Publication number
DE102021107453A1
DE102021107453A1 DE102021107453.3A DE102021107453A DE102021107453A1 DE 102021107453 A1 DE102021107453 A1 DE 102021107453A1 DE 102021107453 A DE102021107453 A DE 102021107453A DE 102021107453 A1 DE102021107453 A1 DE 102021107453A1
Authority
DE
Germany
Prior art keywords
robot
distance
distance field
obstacle
matrix
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.)
Pending
Application number
DE102021107453.3A
Other languages
English (en)
Inventor
Hsien-Chung Lin
Tetsuaki Kato
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102021107453A1 publication Critical patent/DE102021107453A1/de
Pending legal-status Critical Current

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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/087Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • 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
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35145Voxel map, 3-D grid map

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Es wird eine Roboter-Kollisionsvermeidungs-Bewegungsoptimierungstechnik unter Verwendung einer Distanzfeld-Bedingungsfunktion aufgezeigt. CAD- oder Sensordaten, die Hindernisse in einem Roboterarbeitsbereich darstellen, werden in Voxel umgewandelt und es wird eine dreidimensionale binäre Matrix der Voxelbelegung erstellt. Anschließend wird eine entsprechende Distanzfeld-Matrix berechnet, wobei jede Zelle in der Distanzfeld-Matrix einen Abstand zu einer nächstgelegenen belegten Zelle enthält. Die Distanzfeld-Matrix wird als Bedingungsfunktion in einem Optimierungsproblem der Bewegungsplanung verwendet, wobei das Optimierungsproblem konvexifiziert und dann iterativ gelöst wird, um ein Bewegungsprofil des Roboters zu erhalten, das die Hindernisse vermeidet und eine Zielfunktion wie die zurückgelegte Strecke minimiert. Die Distanzfeld Optimierungstechnik ist schnell berechnet und hat eine Rechenzeit, die unabhängig von der Anzahl der Hindernisse ist. Die beschriebene Optimierungstechnik ist einfach einzurichten, da sie keine Erstellung von Geometriegrundkörpern zur Approximation von Roboter- und Hindernisformen erfordert.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Bewegungssteuerung von Industrierobotern und insbesondere auf eine Bewegungsplanungstechnik zur Kollisionsvermeidung von Robotern, die Hindernisdaten in Voxel umwandelt, eine dreidimensionale binäre Matrix von besetzten und unbesetzten Voxeln erstellt und eine Distanzkarte berechnet, in der jede Zelle einen Abstand zu einer nächstgelegenen besetzten Zelle enthält, und dann die Distanzkarte als Einschränkung in einer Bewegungsoptimierungsberechnung verwendet, um den effizientesten Roboterarmpfad zu berechnen, der die Hindernisse vermeidet.
  • STAND DER TECHNIK
  • Der Einsatz von Industrierobotern zur Durchführung einer Vielzahl von Fertigungs-, Montage- und Materialbewegungsvorgängen ist allgemein bekannt. In vielen Arbeitsumgebungen von Robotern sind Hindernisse vorhanden und können sich im Pfad der Roboterbewegung befinden. Bei den Hindernissen kann es sich um permanente Strukturen wie Maschinen und Vorrichtungen handeln, oder die Hindernisse können temporär oder mobil sein. Ein großes Werkstück, an dem der Roboter arbeitet, kann selbst ein Hindernis sein, da der Roboter in dem oder um das Werkstück herum manövrieren muss, während er einen Vorgang wie z.B. Schweißen ausführt. Kollisionen zwischen dem Roboter und einem Hindernis müssen unbedingt vermieden werden.
  • Bisherige Techniken zur Planung von Roboterbewegungen zur Kollisionsvermeidung beinhalten die Definition von Geometriegrundkörpern - wie Kugeln, Zylinder, etc. - um jeden Arm des Roboters und um jedes Hindernis herum. Geometriegrundkörper werden verwendet, um die Komplexität der Kollisionsvermeidungs-Bewegungsoptimierungsberechnung auf ein überschaubares Maß zu reduzieren. Die Definition der Geometriegrundkörper um jedes Hindernis und jeden Roboterarm ist jedoch ein mühsamer und zeitaufwendiger Prozess. Darüber hinaus eignen sich einige Objekte, wie z.B. eine Fahrzeugkarosserie, die vom Roboter geschweißt oder lackiert wird, nicht gut für die Approximation mit Geometriegrundkörpern.
  • Ein weiteres Problem bei bekannten Verfahren zur Kollisionsvermeidung bei der Bewegungsplanung von Robotern ist, dass die Rechenzeit für das Optimierungsproblem mit der Anzahl der Hindernisse dramatisch ansteigt. Wenn mehr als ein paar Hindernisse im Arbeitsbereich des Roboters vorhanden sind, dauert die Bewegungsplanungsberechnung zu lange, um in einer Umgebung praktikabel zu sein, in der Kollisionsvermeidungsberechnungen in Echtzeit durchgeführt werden müssen, während der Roboter arbeitet.
  • In Anbetracht der oben beschriebenen Umstände besteht ein Bedarf an einer verbesserten Roboterbewegungs-Optimierungstechnik, die einfach einzurichten ist und die unabhängig von der Anzahl der Hindernisse im Roboterarbeitsraum schnell eine kollisionsvermeidende Roboterbewegung berechnet.
  • Gemäß den Lehren der vorliegenden Erfindung wird eine Roboter-Kollisionsvermeidungs-Bewegungsoptimierungstechnik unter Verwendung einer Distanzfeld-Bedingungsfunktion aufgezeigt. CAD- oder Sensordaten, die Hindernisse in einem Roboterarbeitsraum darstellen, werden in Voxel umgewandelt, und es wird eine dreidimensionale (3D) binäre Matrix der Voxelbelegung erstellt. Eine entsprechende 3D-Distanzfeld-Matrix wird dann berechnet, wobei jede Zelle in der Distanzfeld-Matrix einen Abstand zu einer nächstgelegenen Zelle enthält, die von einem Hindernis-Voxel besetzt ist. Die Distanzfeld-Matrix wird als Bedingungsfunktion in einem Optimierungsproblem der Bewegungsplanung verwendet, wobei das Optimierungsproblem konvexifiziert und dann iterativ gelöst wird, um ein Bewegungsprofil des Roboters zu erhalten, das die Hindernisse vermeidet und eine Zielfunktion wie die zurückgelegte Strecke minimiert. Die Distanzfeld Optimierungstechnik ist schnell berechnet und hat eine Rechenzeit, die unabhängig von der Anzahl der Hindernisse ist. Die aufgezeigte Optimierungstechnik ist einfach einzurichten, da sie keine Erstellung von Geometriegrundkörpern zur Approximation von Roboter- und Hindernisformen erfordert.
  • Weitere Merkmale der hier aufgezeigten Vorrichtungen und Verfahren werden aus der folgenden Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen ersichtlich.
  • Figurenliste
    • 1 ist eine Darstellung eines Industrieroboters, der in der Nähe von Hindernissen arbeitet, wobei der Roboter und die Hindernisse entsprechende Geometriegrundkörper haben, die definiert sind und für Kollisionsvermeidungsberechnungen verwendet werden, wie sie in einem in der Technik bekannten Verfahren verwendet werden;
    • 2 ist eine Darstellung eines Industrieroboters, der in der Nähe einer Fahrzeugkarosserie arbeitet, wobei der Roboter entsprechende Geometriegrundkörper hat, wie in 1 gezeigt, aber die Fahrzeugkarosserie nicht ohne weiteres in Form von Geometriegrundkörpern modelliert ist, wie es in einer bekannten Technik verwendet wird;
    • 3A ist eine Veranschaulichung von Hindernissen in einem als CAD-Daten definierten Roboterarbeitsbereich gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 3B ist eine Darstellung der Hindernisse aus 3A, umgewandelt in Volumenelemente (Voxel), gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 4 ist ein Blockdiagramm zur Veranschaulichung des Datenflusses zur Konvertierung von Hindernis-CAD- oder Sensordaten in Voxel und dann in eine binäre Matrix der Voxelbelegung und schließlich in eine Distanzfeld-Matrix, gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 5 ist eine Darstellung eines Roboters, der in einem Arbeitsraum arbeitet, der durch die Distanzfeld-Matrix von 4 dargestellt ist, gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 6A ist eine mehrstufige Darstellung eines Roboters, der einem Pfad folgt, der ohne in die Bewegungsplanung einbezogene Einschränkungen der Kollisionsvermeidung definiert ist, mit resultierenden Hinderniskollisionen;
    • 6B ist eine mehrstufige Darstellung eines Roboters, der einem mit Kollisionsvermeidung definierten Pfad folgt, gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 7 ist ein Diagramm der Abstandsberechnungszeit in Abhängigkeit von der Anzahl der Hindernisse, für herkömmliche Abstandsberechnungstechniken unter Verwendung von Geometriegrundkörpern und für die Abstandsberechnung unter Verwendung einer Distanzfeld-Matrix gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 8 ist eine Darstellung eines Systems zur Bewegungsoptimierung der Kollisionsvermeidung von Robotern unter Verwendung einer Distanzfeld-Bedingungsfunktion gemäß Ausführungsformen der vorliegenden Erfindung; und
    • 9 ist ein Flussdiagramm eines Verfahrens zur Roboter-Kollisionsvermeidungs-Bewegungsoptimierung unter Verwendung einer Distanzfeld-Bedingungsfunktion, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die folgende Beschreibung der Ausführungsformen der Erfindung, die auf eine Roboter-Kollisionsvermeidungs-Bewegungsoptimierungstechnik unter Verwendung einer Distanzfeld-Bedingungsfunktion gerichtet ist, hat lediglich exemplarischen Charakter und soll in keiner Weise die aufgezeigten Vorrichtungen und Techniken oder deren Anwendungen oder Verwendungen einschränken.
  • Es ist allgemein bekannt, dass Industrieroboter für eine Vielzahl von Fertigungs-, Montage- und Materialbewegungsvorgängen eingesetzt werden. In vielen Arbeitsumgebungen von Robotern sind Hindernisse vorhanden und können sich im Pfad der Roboterbewegung befinden - das heißt, die Hindernisse können sich zwischen der aktuellen Position eines Roboters und der Zielposition des Roboters befinden. Bei den Hindernissen kann es sich um permanente Strukturen wie Maschinen und Vorrichtungen handeln, oder die Hindernisse können temporär oder mobil sein. Ein großes Werkstück, an dem der Roboter arbeitet, kann selbst ein Hindernis sein, da der Roboter in oder um das Werkstück herum manövrieren muss, während er einen Vorgang wie z.B. Schweißen durchführt. In der Industrie wurden Techniken entwickelt, um Roboterbewegungen so zu berechnen, dass das Werkzeug einem Pfad folgt, der eine Kollision des Roboters mit einem definierten Hindernis vermeidet.
  • Zum Stand der Technik gehörende Verfahren zur Planung von Roboterbewegungen zur Kollisionsvermeidung beinhalten die Definition von Geometriegrundkörpern - wie Kugeln, Zylinder usw. - , die um jeden Arm des Roboters und um jedes Hindernis herumlaufen. Geometriegrundkörper werden verwendet, um die Komplexität der Kollisionsvermeidungs-Bewegungsoptimierungsberechnung auf ein überschaubares Maß zu reduzieren, indem die realen Objektgeometrien durch vereinfachte Formen approximiert werden.
  • 1 ist eine Darstellung eines Industrieroboters, der in der Nähe von Hindernissen arbeitet, wobei für den Roboter und die Hindernisse entsprechende Geometriegrundkörper definiert sind und für Kollisionsvermeidungsberechnungen verwendet werden, wie sie in einer in der Industrie bekannten Technik verwendet werden. Ein Roboter 100 führt eine programmierte Operation in einem Arbeitsbereich aus - wobei die Operation z.B. das Bewegen von Teilen von einem Förderband zu einer Palette oder einem Behälter oder das Schweißen oder Lackieren eines Werkstücks sein kann. Der Roboter 100 besteht aus mehreren Gelenkarmen - unter anderem aus einem inneren Arm 110, einem äußeren Arm 120 und einem Handgelenk/Werkzeug 130. Im Arbeitsbereich gibt es eine Reihe von Hindernissen, denen der Roboter 100 ausweichen muss. Die Hindernisse 140, 150 und 160 sind Beispiele für verschiedene Arten von Hindernissen, die vorhanden sein können. In vielen Fällen sind die Hindernisse 140, 150 und 160 stationär; es können jedoch auch bewegliche Hindernisse im Arbeitsraum vorhanden sein, die in den unten beschriebenen Techniken der vorliegenden Erfindung berücksichtigt werden können.
  • Wie oben erwähnt, sind zur Vereinfachung von Kollisionsvermeidungsberechnungen Techniken bekannt, die eine Sicherheitszonengeometrie aus Grundkörpern um jeden Roboterarm und jedes Hindernis definieren. Der innere Roboterarm 110 hat einen Grundkörper 112, der äußere Arm 120 hat einen Grundkörper 122, und das Handgelenk/Werkzeug 130 hat einen Grundkörper 132, wobei die Grundkörper 112, 122 und 132 als Zylinder mit halbkugelförmigen Enden definiert sind. Andere Teile des Roboters haben einen Sicherheitszonen-Grundkörper, der als Kugel definiert ist. Der Grundkörper 112 bewegt sich in den Berechnungen der Roboterbewegung und der Kollisionsvermeidung mit dem Innenarm 110, und dasselbe gilt für die anderen Grundkörper. In ähnlicher Weise hat das Hindernis 140 einen darüber definierten Grundkörper 142, das Hindernis 150 einen Grundkörper 152 und das Hindernis 160 einen Grundkörper 162.
  • Um dann Roboterbewegungen zu berechnen, die Interferenzen/Kollisionen vermeiden, werden Abstände von den Roboterarm-Grundkörpern zu den Hindernis-Grundkörpern berechnet, was wesentlich einfacher ist als die Berechnung von Abständen zwischen tatsächlichen Detailformen der Arme und Hindernisse. Die Definition der Geometriegrundkörper um jedes Hindernis und jeden Roboterarm ist jedoch ein langwieriger und zeitraubender Prozess. Da reale Roboterarmteile und reale Hindernisse typischerweise unregelmäßige Formen haben, werden die Geometriegrundkörper oft mit erheblichen Leerräumen innerhalb des Volumens des Grundkörpers definiert. Dies führt dazu, dass das resultierende Roboterbewegungsprogramm den Roboter weiter bewegt, als es eigentlich notwendig ist, um eine Kollision zu vermeiden. Darüber hinaus eignen sich einige Objekte nicht gut für die Approximation mit Geometriegrundkörpern.
  • 2 ist eine Darstellung des Industrieroboters 100, der in der Nähe einer Fahrzeugkarosserie 200 arbeitet, wobei der Roboter 100 entsprechende Geometriegrundkörper wie in 1 hat, die Fahrzeugkarosserie 200 aber nicht ohne weiteres in Form von Geometriegrundkörpern modelliert ist, wie es in einem in der Technik bekannten Verfahren verwendet wird. In dem in 2 dargestellten Fall wäre es möglich, einen Geometriegrundkörper in Form eines Hexaeders („Ziegelsteinform“) um die Fahrzeugkarosserie 200 herum zu definieren, um eine Kollision durch den Roboter 100 zu verhindern, aber der Hexaeder würde eine große Menge an freiem Raum um die Fahrzeugkarosserie 200 herum enthalten, wobei der freie Raum verhindern würde, dass der Roboter 100 die Fahrzeugkarosserie 200 schweißen oder lackieren kann. Außerdem würde das Hexaeder eine Bewegung des Roboters 100 innerhalb von Hohlräumen oder Öffnungen in der Fahrzeugkarosserie 200 ausschließen. Die Alternative wäre, eine große Anzahl von Geometriegrundkörpern zu definieren, die sich der Form der Fahrzeugkarosserie 200 annähern (z.B. ein zylindrischer Grundkörper für die Windschutzscheiben-„A“-Säule, ein weiterer zylindrischer Grundkörper für die Tür-„B“-Säule usw.), was ein äußerst mühsamer und zeitraubender Prozess wäre.
  • Ein weiteres Problem mit Methoden des Standes der Technik für die Bewegungsplanung für die Kollisionsvermeidung von Robotern ist, dass selbst dann, wenn komplexe Roboter- und Hindernisformen mit Geometriegrundkörpern approximiert werden, die Berechnungszeit für das Bewegungsoptimierungsproblem mit der Anzahl der Hindernisse dramatisch ansteigt. Wenn mehr als ein paar Hindernisse im Arbeitsbereich des Roboters vorhanden sind, dauert die Bewegungsplanungsberechnung zu lange, um in einer Echtzeitumgebung, in der die Bewegungsplanungsberechnungen kontinuierlich und schnell durchgeführt werden müssen, praktikabel zu sein.
  • Um die oben beschriebenen Probleme zu überwinden, wird hier eine neue Roboter-Kollisionsvermeidung-Bewegungsoptimierungstechnik unter Verwendung einer Distanzfeld-Bedingungsfunktion aufgezeigt. Die Kollisionsvermeidungs-Bewegungsoptimierungstechnik der vorliegenden Erfindung bietet eine einfache Einrichtung unter Verwendung von computergestützten Konstruktionsdaten (CAD) oder Sensordaten zur Definition von Hindernissen und vermeidet die Notwendigkeit einer manuellen Definition von Geometriegrundkörpern, die um Roboterarme und Hindernisse herumlaufen. Die beschriebene Technik bietet auch eine schnelle Optimierungsberechnung und die Berechnungszeit steigt nicht mit zunehmender Anzahl von Hindernissen.
  • 3A ist eine Darstellung von Hindernissen in einem als CAD-Daten definierten Roboterarbeitsbereich 302 gemäß einer Ausführungsform der vorliegenden Erfindung. Unter Verwendung der Techniken der vorliegenden Erfindung können Hindernisse im Roboterarbeitsbereich 302 durch CAD-Daten oder durch Daten von Objektsensoren definiert werden. Im Beispiel von 3A werden CAD-Daten verwendet, um die Hindernisse zu beschreiben. CAD-Daten können eine bevorzugte Option für die Definition von Hindernissen sein, wenn das Layout des Arbeitsraums 302 einschließlich der Hindernisse während der Konstruktionsphase des Roboterbetriebs im Voraus bekannt ist (z.B. Schweißen oder Lackieren). Wenn die CAD-Daten der Hindernisse nicht verfügbar sind oder wenn bewegliche Hindernisse im Arbeitsraum 302 möglich sind, dann können Daten von Objektsensoren verwendet werden, um die Hindernisse zu definieren.
  • In 3A existieren die Hindernisse 310, 320, 330, 340, 350 und 360, die jeweils unterschiedliche Größen und Formen haben. Die Hindernisse 310-360 können jede Art von realen Teilen, Vorrichtungen oder anderen Objekten sein und die Hindernisse 310-360 sind in den aufgezeigten Techniken nicht von Geometriegrundkörpern umgeben oder als solche modelliert. Die meisten der Hindernisse 310-360 sind als einfache geometrische Formen dargestellt, aber dies dient lediglich der Einfachheit und Klarheit der Darstellung. Die Hindernisse 310-360 der 3A, die durch CAD-Daten definiert sind, haben glatte und gut definierte Oberflächen. Wären die Hindernisse 310-360 durch Objektsensordaten definiert, würden sie die für Objektsensordaten typischen Unregelmäßigkeiten und Näherungen enthalten. Objektsensoren, die zur Bestimmung der Hindernisse 310-360 verwendet werden, könnten eine oder mehrere Digitalkameras, Radarsensoren, LiDAR-Sensoren, Ultraschallsensoren und/oder Infrarotsensoren umfassen.
  • 3B ist eine Darstellung der Hindernisse aus 3A, umgewandelt in Volumenelemente (Voxel), gemäß einer Ausführungsform der vorliegenden Erfindung. 3B zeigt denselben Arbeitsbereich 302 wie 3A, wobei der einzige Unterschied in der Voxelisierung der Hindernisse in 3B besteht. Ein Voxel repräsentiert eine Zelle in einem regelmäßigen Gitter im dreidimensionalen Raum, wie es in der Technik bekannt ist. Voxel sind besonders nützlich bei der Darstellung von regelmäßig abgetasteten Räumen, die nicht homogen gefüllt sind - wie der Arbeitsbereich 302, der größtenteils offener Raum ist, aber an einigen Stellen massive Hindernisse hat. Die Hindernisse 310-360 wurden in Polyeder unterteilt, wie Hexaeder oder genauer gesagt Würfel, wobei jedes Polyeder ein Voxel ist. Die Hindernisse 310-360 werden jeweils als Voxelsätze 312-362 dargestellt. Das heißt, ein Voxelsatz 312 repräsentiert das Hindernis 310, ein Voxelsatz 362 repräsentiert das Hindernis 360, und so weiter. Eine Voxel-Darstellung eines Bodens 370 ist ebenfalls vorgesehen. Die Umwandlung von Daten aus makroskopischen Objekten (aus CAD- oder Sensordaten) in diskrete Voxel ist ein in der Technik bekannter Prozess. Dieser Prozess wird als vorbereitender Schritt in den Techniken der vorliegenden Erfindung verwendet.
  • 4 ist ein Blockdiagramm, das den Datenfluss für die Konvertierung von Hindernis-CAD- oder Sensordaten in Voxel und dann in eine binäre Matrix der Voxelbelegung und schließlich in eine Distanzkartenmatrix gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Block 410, in dem CAD- oder Sensordaten bereitgestellt werden, die Hindernisse definieren, und Block 420, in dem die Hindernisse in Voxel konvertiert (voxeliert) werden, wurden bereits in Bezug auf die 3A und 3B besprochen. Aus den Voxeln des Blocks 420 wird dann eine dreidimensionale Binärmatrix 430 erstellt. Die binäre Matrix 430 ist eine dreidimensionale (3D) Matrix, die den Arbeitsbereich 302 repräsentiert, wobei jede Zelle in der Matrix 430 einen binären Wert von entweder Null oder Eins hat. Eine Zelle in der Matrix 430 hat den Wert Null, wenn die Zelle von keinem der Voxel aus 3B belegt ist. Wenn eines der Voxel aus 3B eine Zelle in der Matrix 430 ganz oder teilweise belegt, dann hat diese Zelle den Wert Eins.
  • Die Matrix 430 ist in 4 der Einfachheit halber als zweidimensionales Gitter dargestellt, aber die Matrix 430 ist tatsächlich dreidimensional und repräsentiert das Volumen des Arbeitsbereichs 302. Das in 4 gezeigte 5x5-Gitter könnte z.B. die unterste Ebene der Matrix 430 sein. Eine Zelle 432 hat den Wert eins und repräsentiert damit ein Voxel, das von einem Teil eines der Hindernisse 310-360 eingenommen wird. Eine Zelle 434 hat ebenfalls einen Wert von eins. Eine Zelle 436 hat den Wert Null und repräsentiert damit ein Voxel, das nicht von einem Teil eines der Hindernisse 310-360 belegt ist. Eine Zelle 438 hat ebenfalls den Wert Null. Bezieht man sich wieder auf die voxelierten Hindernisdaten des Blocks 420, würden alle Voxel, die die Hindernisse 310-360 bilden, einen Wert von eins in der Matrix 430 haben und die gesamte Luft oder der freie Raum (der nicht von den Hindernissen 310-360 belegt ist) würde einen Wert von null in der Matrix 430 haben. Der Boden 370 könnte als eine Schicht von Einsen (belegt) in der Matrix 430 dargestellt werden, oder die Matrix 430 könnte so definiert werden, dass der Boden 370 unterhalb der Matrix 430 liegt und daher nicht in der Matrix 430 enthalten ist.
  • Die binäre Matrix 430 kann eine beliebige Größe und Abmessungen haben, die für die Zwecke der beschriebenen Roboterbewegungsoptimierung geeignet sind. In einem Beispiel, das weiter unten beschrieben wird, hat der Arbeitsraum 302 eine Größe von 1,5 Meter mal 1,5 Meter (Grundfläche) und eine Höhe von 1,0 Meter. Dieses 1,5x1,5x1,0 Meter große Volumen kann in eine binäre Matrix 430 mit den Abmessungen 300x300x200 Zellen unterteilt werden, wobei jede Zelle ein Würfel mit 5 mm Seitenlänge (5x5x5) ist. Diese Abmessungen sind lediglich beispielhaft, stellen aber ein Beispiel dar, das einem realen Roboterarbeitsbereich entspricht und mit leicht verfügbarer Prozessorhardware schnell berechnet werden kann.
  • Wie oben beschrieben, ist die binäre Matrix 430 eine 3D-Matrix aus Einsen und Nullen, die den Arbeitsraum 302 repräsentiert, wobei die Einsen die Zellen der Matrix 430 sind, die von den Hindernissen 310-360 belegt werden. Der nächste Schritt im Prozess ist die Berechnung einer Distanzkarte oder Distanzfeld-Matrix 440. Die Distanzfeld-Matrix 440 ist eine 3D-Matrix mit der gleichen Größe und den gleichen Abmessungen wie die binäre Matrix 430. Die Distanzfeld-Matrix 440 ist in 4 auch als zweidimensionales Gitter dargestellt, um die Erkennbarkeit zu erleichtern.
  • Jede Zelle in der Distanzfeld-Matrix 440 wird mit einem Wert gefüllt, der den Abstand von dieser bestimmten Zelle zur nächsten belegten Zelle darstellt. Man betrachte zum Beispiel die Freiraumzelle 436 der binären Matrix 430. Die nächstgelegene belegte Zelle ist die Zelle 434, die sich zwei Zelleneinheiten weiter links befindet. Somit ist der Wert einer Zelle 446 in der Distanzfeld-Matrix 440 2,0, was bedeutet, dass die nächstgelegene besetzte Zelle 2,0 Einheiten entfernt ist. Man betrachte die Freiraumzelle 438 der binären Matrix 430. Die nächstgelegene belegte Zelle ist die Zelle 432, die zwei Zelleneinheiten nach rechts und eine Einheit nach oben versetzt ist. Somit ist der Wert einer Zelle 448 in der Distanzfeld-Matrix 440 2,23 (Quadratwurzel aus 5, was die Hypotenusenlänge eines Dreiecks mit den Seiten 2 und 1 ist), was bedeutet, dass die nächstgelegene besetzte Zelle 2,23 Zelleneinheiten entfernt ist. Dieses Beispiel für den Distanzfeldwert wird in zwei Dimensionen berechnet (die Quadratwurzel aus der Summe der Quadrate der Abstände in zwei Richtungen), um der zweidimensionalen Gitterdarstellung in 4 zu entsprechen. In der Praxis, wo die Distanzfeld-Matrix 440 eine 3D-Matrix ist, wird der Distanzwert in drei Dimensionen berechnet (die Quadratwurzel aus der Summe der Quadrate der Abstände in drei Richtungen). Wenn die Distanzfeld-Matrix 440 Werte enthält, die eine Anzahl von Zellen repräsentieren, dann kann der wahre Abstand durch Multiplikation mit der Zellengröße ermittelt werden. Wenn z.B. eine Zelle in der Distanzfeldkarte 440 einen Wert von 10,0 Zellen zur nächsten belegten Zelle hat und die Zellengröße 5 mm beträgt, dann ist der tatsächliche Abstand zum nächsten Hindernis 50,0 mm. Alternativ könnten die Zellen in der Distanzfeldkarte 440 mit tatsächlichen Abstandswerten statt mit einer Anzahl von Zelleneinheiten gefüllt werden.
  • Die Zelle 442 in der Distanzfeld-Matrix 440 hat einen Distanzwert von 0,0, weil sie der belegten Zelle 432 entspricht. Die Zelle 444 in der Distanzfeld-Matrix 440 hat einen Distanzwert von 1,0, weil sie direkt neben (eine Zelle entfernt) der belegten Zelle 434 liegt. Da die Distanzfeld-Matrix 440 dreidimensional ist, ist es verständlich, dass einige Zellen in der Distanzfeld-Matrix 440 selbst besetzt sind und von besetzten Zellen umgeben sind. Für solche Zellen, die sich „innerhalb“ eines der Hindernisse 310-360 befinden, erhält das Distanzfeld einen negativen Wert und stellt den Abstand zur nächsten unbesetzten Zelle dar, der auf dieselbe dreidimensionale Weise berechnet wird, wie zuvor besprochen (die Quadratwurzel aus der Summe der Quadrate der Abstände in drei Richtungen).
  • 5 ist die Darstellung eines Roboters 500, der in einem Arbeitsraum 502 arbeitet, der durch die Distanzfeld-Matrix 440 aus 4 dargestellt wird, gemäß einer Ausführungsform der vorliegenden Erfindung. Der Roboter 500 ist ein mehrarmiger Knickarmroboter, und jeder Arm hat eine oder mehrere kugelförmige Sicherheitszonenblasen, die um ihn herum definiert sind. Eine Blase 510 ist um die Roboterbasis definiert, eine Blase 512 ist um das Hüftgelenk definiert, Blasen 514-518 umgeben den inneren Arm, eine Blase 520 umgibt das Ellbogengelenk und Blasen 522-528 umgeben den äußeren Arm und das Handgelenk/Werkzeug. Die Sicherheitszonenblasen 510-528 definieren räumliche Volumina, die die Arme des Roboters 500 umschließen, und werden in den Berechnungen zur Kollisionsvermeidung verwendet, die weiter unten besprochen werden. Jede der Blasen hat einen bekannten Mittelpunkt und Radius. Zum Beispiel hat die Blase 520 einen Mittelpunkt 540 und einen Radius 542.
  • Es ist zu verstehen, dass die in 3A gezeigten Hindernisse 310-360 im Arbeitsbereich 502 von 5 existieren. Die Distanzfeldkarte 440, die auf der Grundlage der Hindernisse 310-360 berechnet wurde, wird dem Arbeitsraum 502 überlagert, so dass der Roboter 500 seine Arbeit im Raumvolumen der Distanzfeldkarte 440 ausführt. Wenn sich der Roboter 500 durch seinen Bewegungsbereich bewegt, kann jeder der Mittelpunkte der Blasen 510-528 eine der Zellen der Distanzfeld-Matrix 440 einnehmen. Bei jeder bestimmten Stellung des Roboters 500 kann ein Abstand von jeder Blase zur nächstgelegenen belegten Zelle der Distanzfeld-Matrix 440 berechnet werden als: D i s t ( p i , r i , D F ) = D F ( x i , y i , z i ) r i
    Figure DE102021107453A1_0001
  • Wobei pi ein Mittelpunkt einer bestimmten (i) der Blasen 510-528 ist, rider Radius der Blase mit dem Mittelpunkt pi ist, DF der Wert der Distanzfeldkarte 440 für die Zelle bei den Koordinaten (xi,yi,zi) ist, die der Ort des Mittelpunkts pi ist.
  • Mit anderen Worten, wenn sich der Mittelpunkt 540 der Blase 520 beispielsweise an einer Position (xi,yi,zi) (in einem festen Arbeitsbereichskoordinatensystem) befindet, dann ist der Mindestabstand von der Blase 520 zu einem der Hindernisse 310-360 der Wert der Zelle in der Distanzfeldkarte 440, die gerade vom Mittelpunkt 540 belegt wird, minus dem Radius der Blase 520. Diese Berechnung wird für den Mittelpunkt und den Radius jeder der Blasen 510-528 bei jeder Stellung des Roboters 500 durchgeführt, die während einer Bewegungsoptimierungsberechnung ausgewertet wird. Da die Distanzfeldkarte 440 für ein bestimmtes Hindernisfeld vorberechnet wird, ist Gleichung (1) ein sehr einfaches Subtraktionsproblem, das für jede der zehn Blasen 510-528 leicht gelöst werden kann.
  • Dann ist für die bestimmte Stellung des Roboters 500 der minimale Abstand vom Roboter 500 zu einem der Hindernisse 310-360, Dist(Robot,Obs), das Minimum der aus Gleichung (1) für jede der zehn Blasen berechneten Werte (i). Das bedeutet: D i s t ( R o b o t , O b s ) = min i D i s t ( p i , r i D F )
    Figure DE102021107453A1_0002
  • Zum Beispiel kann in einer Stellung, in der der Roboter 500 nach unten in Richtung der Hindernisse 310-360 greift, die Blase 528 den minimalen Abstand zu einem Hindernis haben, weil ihr Mittelpunkt eine Zelle in der Distanzfeldkarte 440 mit einem sehr niedrigen Wert belegt.
  • Wenn eine Stellung des Roboters 500 ausgewertet wird, bei der sich einer oder mehrere der Mittelpunkte tatsächlich innerhalb eines Hindernisses befinden (und mit diesem kollidieren), dann wird der minimale Abstand als negativer Wert für diese Stellung errechnet. Da der minimale Abstandswert als Bedingungsfunktion verwendet wird, die größer sein muss als ein Sicherheitsschwellenwert in der Bewegungsoptimierungsberechnung (wird unten besprochen), werden Stellungen mit Interferenzen/Kollisionen bestraft und veranlassen die Bewegungsoptimierungsberechnung, eine andere Lösung ohne Interferenzen/ Kollisionen zu finden.
  • 6A ist eine mehrstufige Darstellung eines Roboters 600, der einem Pfad 610 folgt, der ohne die bei der Bewegungsplanung berücksichtigten Einschränkungen durch Kollisionsvermeidung definiert ist. Der Pfad 610 ist so definiert, dass er sich von einer Startposition 612 (qstart) zu einer Zielposition 614 (qgoal) bewegt. Die Startposition 612 könnte ein Ort sein, an dem ein Werkzeug 620 des Roboters 600 ein Teil aus einem ersten Behälter aufnimmt, und die Zielposition 614 könnte ein Ort sein, an dem der Roboter 600 das Teil z.B. in einem zweiten Behälter ablegt. In 6A ist der Roboter 600 in drei Stellungen dargestellt, wobei sich das Werkzeug 620 an der Startposition 612, einer Zwischenposition und der Zielposition 614 befindet.
  • Bei den Berechnungen zur Bewegungsoptimierung, die zur Berechnung eines Pfads wie des Pfads 610 verwendet werden, können viele Faktoren berücksichtigt werden. Die Start- und die Zielposition (612, 614) müssen natürlich erfüllt sein, daher werden diese als Gleichheitseinschränkung definiert. Eine weitere Gleichheitseinschränkung kann definiert werden, die Systemdynamik- oder Kinematikgleichungen enthält, die sicherstellen, dass die berechneten Bewegungen tatsächlich vom Roboter physikalisch ausgeführt werden können. Ungleichheitseinschränkungen können definiert werden, um zu verhindern, dass die Rotationsgeschwindigkeiten und -beschleunigungen der Gelenke sowie die kartesische Beschleunigung und der Ruck des Werkzeugmittelpunkts Grenzwerte überschreiten. Außerdem muss eine Optimierungszielfunktion definiert werden - und kann verwendet werden, um die Effizienz des Pfads zu optimieren, indem ein Parameter wie z.B. die zurückgelegte Strecke, die Pfadkrümmung, die Fahrzeit oder die vom Roboter verbrauchte Energie minimiert wird.
  • Wenn die Kollisionsvermeidung nicht als Bedingungsfunktion definiert ist, wird die Bewegungsoptimierung wahrscheinlich dazu führen, dass der Roboter 600 einem Pfad ähnlich dem Pfad 610 folgt, bei dem das Werkzeug 620 des Roboters 600 gegen ein Hindernis wie eine Wand 630 oder einen Behälter 640 prallt. Kollisionen mit einem solchen Hindernis sind natürlich nicht akzeptabel, so dass Kollisionsvermeidungsbedingungen als Bedingungsfunktion hinzugefügt werden müssen. In der Technik der vorliegenden Erfindung wird die Kollisionsvermeidung Bedingungsfunktion in Bezug auf die Distanzfeldkarte 440 unter Verwendung der Berechnungen der Gleichungen (1) und (2) definiert.
  • 6B ist eine mehrstufige Darstellung eines Roboters, der einem mit der Kollisionsvermeidungs-Bewegungsplanung definierten Pfad gemäß einer Ausführungsform der vorliegenden Erfindung folgt. In 6B wird ein Pfad 650 für das Werkzeug 620 des Roboters 600 berechnet. Der Pfad 650 verwendet die gleiche Startposition 612 und die gleiche Zielposition 614 wie der Pfad 610. Bei der Berechnung des Pfads 650 wird jedoch eine Kollisionsvermeidung Bedingungsfunktion in der Bewegungsoptimierung verwendet.
  • Insbesondere wird bei der Berechnung der Bewegungsoptimierung eine Kollisionsvermeidungs- Ungleichheits- Einschränkungs- Funktion verwendet, wobei die Kollisionsvermeidungs-Bedingungsfunktion so definiert ist, dass der Mindestabstand des Roboters 600 (dargestellt durch die oben beschriebenen Sicherheitszonenblasen) zu einem der Hindernisse (der Wand 630 und dem Behälter 640), der aus einer Distanzfeldkarte der Wand 630 und des Behälters 640 unter Verwendung der Gleichungen (1) und (2) bestimmt wird, größer sein muss als ein bestimmter Sicherheitsschwellenwert (z.B. 50 mm). Wenn die Bewegungsoptimierungsberechnung diese Kollisionsvermeidungs-Ungleichheitseinschränkung zusammen mit den anderen Bedingungsfunktionen und der zuvor in Bezug auf 6A besprochenen Zielfunktion einbezieht, ist der Pfad 650 das Ergebnis. In 6B ist zu erkennen, dass der Pfad 650 das Werkzeug 620 und alle Teile des Roboters 600 dazu veranlasst, die Wand 630 und den Behälter 640 zu vermeiden.
  • 7 ist ein Diagramm 700 der Abstandsberechnungszeit in Abhängigkeit von der Anzahl der Hindernisse, für herkömmliche Abstandsberechnungsverfahren unter Verwendung von Geometriegrundkörpern und für die Abstandsberechnung unter Verwendung einer Distanzfeld-Matrix gemäß einer Ausführungsform der vorliegenden Erfindung. Das Diagramm 700 umfasst eine Kurve 710 und eine Kurve 720, die jeweils die Distanzberechnungszeit auf einer vertikalen Achse 702 gegen die Anzahl der Hindernisse auf einer horizontalen Achse 704 zeigen. Die Kurve 710 zeigt, dass bei konventionellen Abstandsberechnungsverfahren, bei denen Hindernisse und Roboterarme durch Geometriegrundkörper dargestellt werden, die Berechnungszeit mit der Anzahl der Hindernisse dramatisch ansteigt. Im Gegensatz dazu zeigt die Kurve 720, dass bei den Abstandsberechnungstechniken der vorliegenden Erfindung, bei denen Hindernisse durch eine Distanzfeldkarte und Roboterarme durch eine Anzahl von Punkten und kugelförmigen Blasen dargestellt werden, die Berechnungszeit gering und unabhängig von der Anzahl der Hindernisse ist.
  • Es ist leicht nachvollziehbar, dass die schnellen Abstandsberechnungen mit der Distanzfeld-Map-Technik besonders vorteilhaft sind, wenn die Berechnungen zur Bewegungsoptimierung während des Roboterbetriebs in Echtzeit erfolgen müssen. Man betrachte zum Beispiel eine Anwendung, bei der Teile auf einem eingehenden Förderband vom Roboter entnommen und an einem nächsten freien Platz in einem Versandbehälter abgelegt werden müssen. In dieser Beispielanwendung sind sowohl die Startposition (qstart) als auch die Zielposition (qgoal) für jeden Entnahme- und Ablagevorgang eindeutig, was bedeutet, dass ein neuer Pfad mithilfe der Bewegungsoptimierung berechnet werden muss. Wenn die Berechnung des Roboter-zu-Hindernis-Abstands (für die Kollisionsvermeidungs-Bedingungsfunktion) mit der Distanzfeld-Kartentechnik durchgeführt wird, kann die iterative Optimierungsberechnung schnell genug abgeschlossen werden, um Roboteroperationen in Echtzeit zu unterstützen.
  • 8 ist eine Darstellung eines Systems zur Bewegungsoptimierung der Kollisionsvermeidung von Robotern unter Verwendung einer Distanzfeld-Bedingungsfunktion, gemäß Ausführungsformen der vorliegenden Erfindung. Ein Roboter 800 bewegt sich in einem Arbeitsraum 802 mit einem oder mehreren Hindernissen 810. Die Hindernisse 810 sind lediglich der Vergleichbarkeit halber als die Hindernisse 310-360 aus 3A dargestellt. Eine Steuerung 820 kommuniziert mit dem Roboter 800, typischerweise über eine festverdrahtete Kabelverbindung. Die Steuerung 820 steuert die Bewegung des Roboters 800, indem sie Gelenkmotorbefehle an den Roboter 800 sendet und Positionsdaten der Gelenkmotoren von den Gelenkgebern im Roboter 800 empfängt, wie es in der Technik bekannt ist.
  • Ein Computer 830, der mit der Steuerung 820 in Verbindung steht, kann für verschiedene Aufgaben verwendet werden - einschließlich der Bereitstellung von Hindernis-Geometriedaten in Form von CAD-Volumen- oder Flächenmodellen. Falls verwendet kommuniziert der Computer 830 mit der Steuerung 820 über jede geeignete drahtlose oder festverdrahtete Netzwerkverbindung. Alternativ zur Verwendung von CAD-Daten zur Definition der Hindernisse 810 können auch ein oder mehrere Sensoren, wie z.B. ein Sensor 840, verwendet werden. Der/die Sensor(en) 840 kann/können eine Kamera oder eine beliebige Art von Objektsensor sein, der in der Lage ist, die 3D-Geometrie der Hindernisse 810 im Arbeitsbereich 802 bereitzustellen. Der/die Sensor(en) 840 könnte(n) eine oder mehrere 3D-Kameras oder eine Vielzahl von 2D-Kameras sein, deren Daten zu 3D-Hindernisdaten kombiniert werden. Der/die Sensor(en) 840 könnte(n) auch andere Gerätetypen wie Radar, LiDAR und/oder Ultraschall umfassen. Der/die Sensor(en) 840 kommunizieren auch mit der Steuerung 820 und/oder dem Computer 830 über eine beliebige drahtlose oder festverdrahtete Netzwerkverbindung.
  • In einer Ausführungsform empfängt die Steuerung 820 Hindernis-Geometriedaten entweder vom Computer 830 oder von dem/den Sensor(en) 840. Die Hindernis-Geometriedaten definieren die 3D-Formen aller Hindernisse 810, die im Arbeitsraum 802 existieren. Die Steuerung 820 wandelt die Hindernis-Geometriedaten in eine Distanzfeld-Matrix um, indem sie die Hindernis-Geometriedaten voxeliert, eine binäre 3D-Matrix des Arbeitsraums 802 erstellt, in der jede Zelle eine Eins enthält, wenn sie belegt ist, und eine Null, wenn sie nicht belegt ist, und die Distanzfeld-Matrix aus der binären Matrix berechnet. Die Distanzfeld-Matrix oder -Karte könnte alternativ vom Computer 830 berechnet und der Steuerung 820 zur Verfügung gestellt werden. Die Steuerung 820 modelliert den Roboter 800 als eine Menge von Punkten auf den Roboterarmen, wobei jeder Punkt eine entsprechende kugelförmige Sicherheitszonenblase mit einem vordefinierten Radius hat. Unter Verwendung des Blasenmodells des Roboters 800 und der Distanzfeldkarte, die die Hindernisse 810 repräsentiert, kann die Steuerung 820 einen minimalen Roboter-zu-Hindernis-Abstand extrem schnell für jede Stellung des Roboters 800 berechnen, indem sie die Gleichungen (1) und (2) verwendet. Unter Verwendung des berechneten minimalen Roboter-zu-Hindernis-Abstandes als Bedingungsfunktion führt die Steuerung 820 Bewegungsoptimierungsberechnungen durch, die zur Steuerung des Betriebs des Roboters 800 erforderlich sind.
  • In einer anderen Ausführungsform führt der Computer 830 die meisten Berechnungen durch - einschließlich der Erstellung der Distanzfeld-Matrix, der Modellierung des Bewegungsoptimierungsproblems unter Verwendung der Distanzfeld-Einschränkung und anderer Einschränkungen und der Lösung des Optimierungsproblems. In dieser Ausführungsform liefert der Rechner 830 ein Roboterbewegungsprogramm aus der konvergierten Optimierungslösung an die Steuerung 820. Die Rechenaufgaben können in beliebiger Weise zwischen dem Rechner 830 und der Steuerung 820 aufgeteilt werden.
  • In einer Beispielanwendung führt der Roboter 800 Aufgaben aus, die ständig wechselnde Start- und Zielpositionen beinhalten, so dass die Berechnungen zur Bewegungsoptimierung für jede Roboteraufgabe durchgeführt werden müssen. In einer anderen Anwendung können sich eines oder mehrere der Hindernisse 810 bewegen, in diesem Fall muss die Distanzfeldkarte vor der Bewegungsoptimierungsberechnung neu berechnet werden. In beiden Fällen ist die schnelle Berechnung des minimalen Roboter-zu-Hindernis-Abstands unter Verwendung der Distanzfeld-Kartentechnik äußerst vorteilhaft für die Unterstützung der Roboterbewegungssteuerung in Echtzeit.
  • 9 ist ein Flussdiagramm 900 eines Verfahrens zur Bewegungsoptimierung der Roboter-Kollisionsvermeidung unter Verwendung einer Distanzfeld-Bedingungsfunktion, gemäß einer Ausführungsform der vorliegenden Erfindung. In Schritt 902 werden die Hindernisse im Roboterarbeitsraum durch CAD-Daten oder durch Sensordaten definiert, wie zuvor beschrieben. In Schritt 904 wird eine Distanzfeld-Matrix erstellt, die die Hindernisse im Arbeitsraum repräsentiert. Die Distanzfeld-Matrix wird erstellt, indem die Hindernisdaten in ein Voxelmodell umgewandelt werden, eine binäre 3D-Matrix der Arbeitsraumumgebung erstellt wird, in der belegte Zellen oder Voxel eine Eins und unbelegte Zellen oder Voxel eine Null enthalten, und dann die Distanzfeld-Matrix berechnet wird, in der jede Zelle einen Wert enthält, der der Entfernung zur nächsten belegten Zelle oder zum nächsten Voxel entspricht. Zellen, die besetzt und von anderen besetzten Zellen umgeben sind, haben einen negativen Wert in der Distanzfeld-Matrix, der den Abstand zur nächsten unbesetzten Zelle darstellt.
  • In Schritt 906 werden Start- und Zielpunkte für einen Roboterpfad definiert, basierend auf einer Aufgabe, die der Roboter ausführen soll. In Schritt 908 wird ein anfänglicher Referenzpfad erzeugt. Der anfängliche Referenzpfad könnte eine gerade Linie vom Startpunkt zum Zielpunkt sein, oder er könnte ein angenäherter Pfad sein, der auf einem zuvor berechneten Pfad mit ähnlichen Start- und Zielpunkten basiert. Der anfängliche Referenzpfad liefert einen Startpunkt (eine Anfangslösung) für die Berechnung der Bewegungsoptimierung. In Schritt 910 wird das Bewegungsoptimierungsproblem in der Robotersteuerung modelliert. Die Modellierung des Bewegungsoptimierungsproblems beinhaltet die Definition der Zielfunktion und der Bedingungsfunktionen, wie zuvor beschrieben. Dazu gehört insbesondere eine Kollisionsvermeidungs- UngleichheitsEinschränkung, bei der der minimale Abstand des Roboters zu einem beliebigen Hindernis mit Hilfe der Distanzfeld-Matrix des Schrittes 904 modelliert wird, zusammen mit einem Satz von Punkten und sphärischen Blasen auf den Roboterarmen, und mit Hilfe von Gleichungen (1) und (2) berechnet wird.
  • Somit kann das Bewegungsoptimierungsproblem wie folgt definiert werden: q = { q 1 , q r } min   f ( q )
    Figure DE102021107453A1_0003
  • So dass; g ( q ) 0
    Figure DE102021107453A1_0004
    h ( q ) = 0
    Figure DE102021107453A1_0005
    D F ( q t ) d s a f e       t = 1, , T
    Figure DE102021107453A1_0006
  • Dabei ist f(q) die Optimierungszielfunktion (z.B. Pfadlänge des Werkzeugmittelpunkts), die über die gesamte Roboterbewegung einschließlich der Stellungen q={q1,... ,qT} zu minimieren ist, g(q) sind Ungleichheitseinschränkungen, die erfüllt sein müssen (z.B. Gelenkgrenzen, Gelenkgeschwindigkeiten, Beschleunigungen und Ruck sowie Geschwindigkeit, Beschleunigung und Ruck des Werkzeugmittelpunkts, die unterhalb der Grenzen bleiben müssen), h(q) sind Gleichheitseinschränkungen, die erfüllt sein müssen (wie z.B. die Positionen der Start- und Zielpunkte und die Gleichungen der Systemdynamik oder -kinematik), und DF(qt) ist eine weitere Ungleichheitseinschränkung (Kollisionsvermeidung), bei der der minimale Roboter-zu-Hindernis-Abstand größer sein muss als der Schwellenwert dsafe für alle Roboterstellungen qt, wie oben im Detail besprochen.
  • Die Gleichheit Einschränkung bezogen auf die Systemdynamik oder Kinematik wird einbezogen, um sicherzustellen, dass die berechneten Bewegungen tatsächlich physikalisch vom Roboter ausgeführt werden können. Diese Einschränkung kann durch eine systemdynamische Gleichung der Form M q ¨ + C q ˙ + K q + G = τ
    Figure DE102021107453A1_0007
    modelliert werden, wobei q die Winkelposition des Gelenks (und ihre üblichen ersten und zweiten Ableitungen), M das Massenträgheitsmoment, C ein Corioliskoeffizient, K die Steifigkeit, G die Schwerkraft und τ das Gelenkdrehmoment sind. Eine Gleichung dieser Art würde für jedes der Gelenke des Roboters ausgewertet werden.
  • Alternativ kann die Gleichheitsbeschränkung als kinematische Gleichungen der Doppelintegratorform modelliert werden, x ˙ = A x + B u
    Figure DE102021107453A1_0008
  • Dabei gilt: x = [ q q ˙ ] , A = [ 0 0 0 1 ] , B = [ 0 1 ]
    Figure DE102021107453A1_0009
  • Und u = q ¨
    Figure DE102021107453A1_0010
  • Auch hier würde jedes Gelenk des Roboters mit den Kinematik-Gleichungen modelliert werden.
  • In Schritt 912 wird das Bewegungsoptimierungsproblem in Vorbereitung auf die Lösung konvexifiziert. Die Konvexifizierung des Optimierungsproblems beinhaltet die Approximation einer oder mehrerer der Einschränkungen als Polynomial-Zeitfunktionen, wobei die resultierende Berechnung leichter lösbar ist und nur eine optimale Lösung ergibt. In einer Ausführungsform wird die Kollisionsvermeidungs- Ungleichheits- Einschränkung linearisiert, um das Konvergenzverhalten des Optimierungsproblems zu verbessern. In dieser Ausführungsform wird Gleichung (6) als Taylorentwicklung erster Ordnung wie folgt approximiert: D F ( q t r ) + D F ( q t r ) ( q t q t r ) d s a f e
    Figure DE102021107453A1_0011
  • Dabei ist q t r
    Figure DE102021107453A1_0012
    Referenzposition zum Zeitpunkt t (die Referenzposition ist die aus der Eingabe oder der vorherigen Optimierungsiteration gegebene Anfangsreferenz), qt ist die Planungsposition zum Zeitpunkt t, für die in der Optimierung gelöst wird, und V DF ist der Gradient der Abstandsfunktion DF an der Position q t r
    Figure DE102021107453A1_0013
    Der Gradiententerm der linearisierten Einschränkung dient dazu, den Punkt am Roboterarm vom Hindernis in der Distanzfeldkarte „wegzuschieben“.
  • Im Schritt 914 wird das konvexe Optimierungsproblem gelöst, wobei im Entscheidungsschritt 916 geprüft wird, ob die Lösung innerhalb einer vordefinierten Toleranz konvergiert hat. Methoden zum Lösen des konvexen Optimierungsproblems sind in der Technik bekannt, und mit der Kollisionsvermeidung Distanzfeld Einschränkung linearisiert, konvergiert die Lösung schnell. In Schritt 918 wird die konvergierte Optimierungslösung interpoliert, um eine vollständige Robotertrajektorie einschließlich aller Gelenkbewegungen und der Werkzeugbewegung zu definieren, die die Bedingungsfunktionen - einschließlich der Kollisionsvermeidung Einschränkung - erfüllt.
  • Ausgehend von der Definition der Hindernisdaten aus dem CAD oder den Sensoren können alle Verfahrensschritte des Flussdiagramms 900 in einer Robotersteuerung wie der Steuerung 820 und/oder dem Computer 830 durchgeführt werden. Das heißt, in einer Ausführungsform berechnet die Steuerung 820 die Distanzfeld-Matrix, die die Hindernisse repräsentiert, und berechnet den Roboter-zu-Hindernis-Abstand für jede Roboterstellung unter Verwendung der Distanzfeld-Matrix und des Mehrpunktmodells des Roboters, wie besprochen. In dieser Ausführungsform modelliert die Robotersteuerung 820 auch das Optimierungsproblem basierend auf dem Start- und Zielpunkt und dem anfänglichen Referenzpfad, dem Distanzfeld-Matrix-Modell und anderen Einschränkungen, und die Steuerung 820 löst dann das Optimierungsproblem und steuert die Bewegung des Roboters 800 in Echtzeit.
  • In einer anderen Ausführungsform steuert die Robotersteuerung 820 nur die Bewegung des Roboters 800 unter Verwendung eines Bewegungsprogramms, das vom Rechner 830 berechnet wird. In dieser Ausführungsform berechnet der Computer 830 die Distanzfeld-Matrix, die die Hindernisse repräsentiert, berechnet den Roboter-zu-Hindernis-Abstand für jede Roboterstellung unter Verwendung der Distanzfeld-Matrix und des Mehrpunktmodells des Roboters, modelliert das Optimierungsproblem basierend auf dem Start- und Zielpunkt und dem anfänglichen Referenzpfad, dem Distanzfeld-Matrix-Modell und anderen Einschränkungen und löst dann das Optimierungsproblem. Die Rechenaufgaben können auch auf andere Weise aufgeteilt werden, wie es für den Fachmann verständlich wäre. Zum Beispiel könnte der Computer 830 die Distanzfeld-Matrix bereitstellen und die Steuerung 820 könnte den Rest der Modellierung und Lösung des Optimierungsproblems durchführen. In einigen Ausführungsformen wird der Computer 830 nicht benötigt.
  • In der gesamten vorangegangenen Diskussion werden verschiedene Computer und Steuerungen beschrieben und angedeutet. Es ist zu verstehen, dass die Softwareanwendungen und -module dieser Computer und Steuerungen auf einem oder mehreren Rechengeräten mit einem Prozessor und einem Speichermodul ausgeführt werden können. Dazu gehört insbesondere jeweils ein Prozessor in der oben beschriebenen Robotersteuerung 820 und dem Computer 830. Insbesondere ist der Prozessor in der Steuerung 820 und/oder dem Computer 830 so konfiguriert, dass er die Distanzfeld-Matrix als Bedingungsfunktion in einer Kollisionsvermeidungs-Optimierungs-Pfadplanungsberechnung in der in der vorangehenden Erfindung beschriebenen Weise verwendet.
  • Wie oben beschrieben, verbessern die beschriebenen Techniken für eine Roboter-Kollisionsvermeidungs-Bewegungsoptimierungstechnik unter Verwendung einer Distanzfeld-Bedingungsfunktion die Geschwindigkeit und Zuverlässigkeit der Roboter-Pfadplanung für die Kollisionsvermeidung. Die beschriebenen Techniken vermeiden den Aufwand, Hindernisse als Geometriegrundkörper zu modellieren, erlauben es, komplexe Formen einfach und automatisch als Voxel darzustellen und zur Berechnung der Distanzfeld-Matrix zu verwenden, und ermöglichen eine schnelle Berechnung des Roboter-zu-Hindernis-Abstands, selbst wenn viele Hindernisse vorhanden sind.
  • Während eine Reihe von beispielhaften Aspekten und Ausführungsformen der Roboter-Kollisionsvermeidungs-Bewegungsoptimierungstechnik unter Verwendung einer Distanzfeld-Bedingungsfunktion oben besprochen wurden, wird der Fachmann Modifikationen, Permutationen, Ergänzungen und Unterkombinationen davon erkennen. Es ist daher beabsichtigt, dass alle derartigen Modifikationen, Permutationen, Ergänzungen und Unterkombinationen umfasst sind.

Claims (20)

  1. Verfahren zum Planen eines Pfades eines Industrieroboters, wobei das Verfahren folgende Schritte aufweist: Bereitstellen von Hindernisdaten, die Hindernisse in einem Arbeitsraum des Roboters definieren; Berechnen einer Distanzfeld-Matrix aus den Hindernis-Daten, wobei die Distanzfeld-Matrix eine dreidimensionale (3D) Matrix ist, die den Arbeitsraum repräsentiert, wobei jede Zelle in der Distanzfeld-Matrix einen Wert enthält, der einen Abstand zu einer nächstgelegenen Zelle bezeichnet, die von irgendeinem Teil irgendeines der Hindernisse besetzt ist; Modellieren eines Roboterbewegungs-Optimierungsproblems unter Verwendung eines Computers mit einem Prozessor und einem Speicher, einschließlich des Definierens einer Zielfunktion, des Definierens von Start- und Zielpunkten des Pfades als Gleichheitseinschränkungen, und des Definierens einer Kollisionsvermeidungs- Ungleichheits- Einschränkung unter Verwendung der Distanzfeld-Matrix; und Lösen des Bewegungsoptimierungsproblems durch den Computer, um den Pfad des Roboters zu ermitteln.
  2. Verfahren nach Anspruch 1, wobei das Bereitstellen von Hindernisdaten das Bereitstellen der Hindernisdaten von einem computergestützten Konstruktionssystem (CAD) beinhaltet.
  3. Verfahren nach Anspruch 1, wobei das Bereitstellen von Hindernisdaten das Bereitstellen der Hindernisdaten von einem oder mehreren Sensoren beinhaltet, die so konfiguriert sind, dass sie die Hindernisse im Arbeitsbereich erkennen.
  4. Verfahren nach Anspruch 1, wobei das Berechnen der Distanzfeld-Matrix aus den Hindernis-Daten das Konvertieren der Hindernis-Daten in Voxel, das Erzeugen einer binären 3D-Matrix von Belegungsdaten und das Berechnen der Distanzfeld-Matrix aus der binären 3D-Matrix von Belegungsdaten beinhaltet.
  5. Verfahren nach Anspruch 1, wobei das Definieren der Kollisionsvermeidungs-Ungleichheits- Einschränkung unter Verwendung der Distanzfeld-Matrix das Definieren einer Vielzahl von Punkten auf Armen des Roboters und das Bestimmen, für jede berechnete Stellung des Roboters, eines Abstands-zu-Hindernis für jeden der Punkte als der Wert in der Zelle, die den Punkt enthält, minus einem vordefinierten Radius für den Punkt beinhaltet.
  6. Verfahren nach Anspruch 5, wobei für jede berechnete Stellung des Roboters ein Roboter-zu-Hindernis-Abstand als minimaler Abstand-zu-Hindernis für jeden der Punkte bestimmt wird, und die Kollisionsvermeidungs- UngleichheitsEinschränkung ist, dass der Roboter-zu-Hindernis-Abstand einen vordefinierten Schwellenwert überschreiten muss.
  7. Verfahren nach Anspruch 1, wobei das Modellieren des Roboterbewegungs-Optimierungsproblems auch das Erzeugen eines anfänglichen Referenzpfads auf der Basis des Start- und des Zielpunkts beinhaltet.
  8. Verfahren nach Anspruch 1, wobei die Modellierung des Roboterbewegungs-Optimierungsproblems auch das Definieren von Bewegungsgrenzwert-Ungleichheitseinschränkungen beinhaltet, einschließlich Robotergelenk-Drehgeschwindigkeit, -Beschleunigung und -Ruck, die vordefinierte Schwellenwerte nicht überschreiten, Roboterwerkzeug-Mittelpunktsgeschwindigkeit, -Beschleunigung und -Ruck, die vordefinierte Schwellenwerte nicht überschreiten, und Gelenkpositionen, die vordefinierte Grenzen nicht überschreiten, und ferner das Definieren von Gleichheitseinschränkungen basierend auf Systemdynamik- oder Kinematik-Gleichungen für jedes Gelenk des Roboters.
  9. Verfahren nach Anspruch 1, ferner umfassend die Konvexifizierung des Roboterbewegungs-Optimierungsproblems vor dem Lösen des Roboterbewegungs-Optimierungsproblems, einschließlich des Approximierens der Kollisionsvermeidungs- Ungleichheits- Einschränkung als eine Taylorreihenentwicklung erster Ordnung.
  10. Verfahren nach Anspruch 9, wobei das Lösen des Bewegungsoptimierungsproblems das iterative Lösen des Bewegungsoptimierungsproblems beinhaltet, bis eine Lösung zu einem vordefinierten Konvergenzkriterium konvergiert.
  11. Verfahren nach Anspruch 1, wobei das Lösen des Bewegungsoptimierungsproblems einen Lösungsvektor ergibt, der den Start- und Zielpunkt und eine Anzahl von Zwischenpunkten enthält, und eine kontinuierliche Robotertrajektorie aus dem Lösungsvektor interpoliert wird.
  12. Verfahren zum Planen eines Pfades eines Industrieroboters, wobei das Verfahren das Modellieren und Lösen eines Roboterbewegungs-Optimierungsproblems unter Verwendung eines Computers beinhaltet, wobei das Modellieren des Optimierungsproblems das Definieren einer Zielfunktion, das Definieren von Start- und Zielpunkten des Pfades als Gleichheitseinschränkungen und das Definieren einer Kollisionsvermeidungs- Ungleichheits- Einschränkung unter Verwendung einer Distanzfeld-Matrix, wobei die Distanzfeld-Matrix eine dreidimensionale Matrix ist, die einen Arbeitsraum des Roboters repräsentiert, wobei jede Zelle in der Distanzfeld-Matrix einen Wert enthält, der einen Abstand zu einer nächstgelegenen Zelle bezeichnet, die von irgendeinem Teil eines beliebigen Hindernisses in dem Arbeitsraum besetzt ist.
  13. Pfad-Planungssystem für einen Industrieroboter, wobei das System Folgendes aufweist: eine Einrichtung zum Bereitstellen von Hindernisdaten, die Hindernisse in einem Arbeitsraum des Roboters definieren; und einen Computer, der mit dem Roboter und den Mitteln zum Bereitstellen von Hindernisdaten in Verbindung steht, wobei der Computer einen Prozessor und einen Speicher aufweist, der zur Durchführung folgender Schritte ausgebildet ist: Berechnen einer Distanzfeld-Matrix aus den Hindernis-Daten, wobei die Distanzfeld-Matrix eine dreidimensionale (3D) Matrix ist, die den Arbeitsraum darstellt, wobei jede Zelle in der Distanzfeld-Matrix einen Wert enthält, der einen Abstand zu einer nächstgelegenen Zelle bezeichnet, die von irgendeinem Teil irgendeines der Hindernisse besetzt ist; Modellieren eines Roboterbewegungs-Optimierungsproblems, einschließlich des Definierens einer Zielfunktion, des Definierens von Start- und Zielpunkten des Pfades als Gleichheitseinschränkungen, und des Definierens einer Kollisionsvermeidungs- Ungleichheits- Einschränkung unter Verwendung der Distanzfeld-Matrix; und Lösen des Bewegungsoptimierungsproblems, um den Pfad des Roboters zu ermitteln.
  14. System nach Anspruch 13, wobei das Bereitstellen von Hindernisdaten das Bereitstellen der Hindernisdaten von einem computergestützten Konstruktionssystem (CAD) oder das Bereitstellen der Hindernisdaten von einem oder mehreren Sensor(en) beinhaltet, der/die konfiguriert ist/sind, um die Hindernisse im Arbeitsbereich zu erfassen, wobei der eine oder die mehreren Sensor(en) eine oder mehrere Kamera(s), Radarsensor(en), LiDAR-Sensor(en), Ultraschallsensor(en) oder Infrarotsensor(en) umfassen.
  15. System nach Anspruch 13, wobei das Berechnen der Distanzfeld-Matrix aus den Hindernisdaten das Konvertieren der Hindernisdaten in Voxel, das Erzeugen einer binären 3D-Matrix von Belegungsdaten und das Berechnen der Distanzfeld-Matrix aus der binären 3D-Matrix von Belegungsdaten beinhaltet.
  16. System nach Anspruch 13, wobei das Definieren der Kollisionsvermeidungs-Ungleichheits- Einschränkung unter Verwendung der Distanzfeld-Matrix das Definieren einer Vielzahl von Punkten auf Armen des Roboters und für jede berechnete Stellung des Roboters das Bestimmen eines Abstands zum Hindernis für jeden der Punkte als der Wert in der Zelle, die den Punkt enthält, minus einem vordefinierten Radius für den Punkt beinhaltet.
  17. System nach Anspruch 16, wobei für jede berechnete Stellung des Roboters ein Roboter-zu-Hindernis-Abstand als minimaler Abstand-zu-Hindernis für jeden der Punkte bestimmt wird, und die Kollisionsvermeidungs- UngleichheitsEinschränkung ist, dass der Roboter-zu-Hindernis-Abstand einen vordefinierten Schwellenwert überschreiten muss.
  18. System nach Anspruch 13, wobei das Modellieren des Roboterbewegungs-Optimierungsproblems auch das Erzeugen eines anfänglichen Referenzpfads auf der Basis des Start- und des Zielpunkts beinhaltet.
  19. System nach Anspruch 13, wobei die Modellierung des Roboterbewegungs-Optimierungsproblems auch das Definieren von Bewegungsgrenzen-Ungleichheitseinschränkungen beinhaltet, einschließlich der Robotergelenk-Drehgeschwindigkeit, -Beschleunigung und -Ruck, die vordefinierte Schwellenwerte nicht überschreiten, der Roboterwerkzeug-Mittelpunkt-Geschwindigkeit, -Beschleunigung und -Ruck, die vordefinierte Schwellenwerte nicht überschreiten, und der Gelenkpositionen, die vordefinierte Grenzen nicht überschreiten, und ferner das Definieren von Gleichheitseinschränkungen auf der Grundlage von Systemdynamik- oder Kinematik-Gleichungen für jedes Gelenk des Roboters.
  20. System nach Anspruch 13, wobei der Computer ferner zur Konvexifizierung des Roboterbewegungs-Optimierungsproblems konfiguriert ist, einschließlich des Approximierens der Kollisionsvermeidungs- Ungleichheits- Einschränkung als eine Taylorreihenentwicklung erster Ordnung, und wobei das Lösen des Roboterbewegungs-Optimierungsproblems das iterative Lösen des Bewegungs-Optimierungsproblems beinhaltet, bis eine Lösung zu einem vordefinierten Konvergenzkriterium konvergiert.
DE102021107453.3A 2020-04-03 2021-03-25 Schnelle roboterbewegungsoptimierung mit distanzfeld Pending DE102021107453A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/839,642 2020-04-03
US16/839,642 US11724387B2 (en) 2020-04-03 2020-04-03 Fast robot motion optimization with distance field

Publications (1)

Publication Number Publication Date
DE102021107453A1 true DE102021107453A1 (de) 2021-10-07

Family

ID=77749834

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021107453.3A Pending DE102021107453A1 (de) 2020-04-03 2021-03-25 Schnelle roboterbewegungsoptimierung mit distanzfeld

Country Status (4)

Country Link
US (1) US11724387B2 (de)
JP (1) JP2021160080A (de)
CN (1) CN113492402A (de)
DE (1) DE102021107453A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018133472B3 (de) * 2018-12-21 2020-03-12 Franka Emika Gmbh Bewegungsüberwachung eines Robotermanipulators
US20220032461A1 (en) * 2020-07-31 2022-02-03 GrayMatter Robotics Inc. Method to incorporate complex physical constraints in path-constrained trajectory planning for serial-link manipulator
US20230027130A1 (en) * 2021-07-21 2023-01-26 Omnirobotic Inc Method and server for calculating a trajectory of an articulated arm of a robot
DE102021127337A1 (de) * 2021-10-21 2023-04-27 Still Gesellschaft Mit Beschränkter Haftung System und Verfahren zur dreidimensionalen Absicherung eines Lasthandhabungs-Umfeldes einer Lasthandhabungskinematik in einer wechselnden Arbeitsumgebung
US20230169781A1 (en) * 2021-11-30 2023-06-01 Texas Instruments Incorporated Free space detection and park-able free space detection for occupancy grids using sensor measurements
CN114367988B (zh) * 2022-02-11 2023-11-17 煤炭科学研究总院有限公司 一种煤矿自主巡检平台上的机械臂运动规划方法和装置
CN114559435B (zh) * 2022-03-23 2023-08-29 杭州电子科技大学 基于球体包络且性能最优目标下的机械臂轨迹规划方法
CN114851187B (zh) * 2022-03-25 2023-07-07 华南理工大学 一种避障机械臂抓取方法、系统、装置及存储介质
CN114918913B (zh) * 2022-03-31 2024-04-19 杭州芯控智能科技有限公司 一种碰撞检测方法、装置、计算机设备和存储介质
CN115338873B (zh) * 2022-10-19 2022-12-16 四川爱麓智能科技有限公司 一种基于多参多维距离场数字化的机器人运动规划方法
CN116424315A (zh) * 2023-03-31 2023-07-14 阿波罗智联(北京)科技有限公司 碰撞检测方法、装置、电子设备、自动驾驶车辆及介质
CN116141341B (zh) * 2023-04-21 2023-08-08 之江实验室 满足笛卡尔空间约束的五自由度机械臂指向动作实现方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150026A (en) * 1990-11-19 1992-09-22 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Obstacle avoidance for redundant robots using configuration control
US5347459A (en) 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
WO2002082195A2 (de) 2001-04-05 2002-10-17 Siemens Aktiengesellschaft Roboterintelligenz in natürlichen umgebungen
AU2002322504A1 (en) * 2001-07-13 2003-01-29 Broks Automation, Inc. Trajectory planning and motion control strategies for a planar three-degree-of-freedom robotic arm
US6678582B2 (en) 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
US8315738B2 (en) 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
US9144904B2 (en) 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
US8265909B2 (en) * 2009-05-19 2012-09-11 Mitsubishi Electric Research Laboratories, Inc. Method for reconstructing a distance field of a swept volume at a sample point
US8386080B2 (en) 2009-09-15 2013-02-26 Harris Corporation Robotic apparatus implementing collision avoidance scheme and associated methods
WO2011056633A1 (en) 2009-10-27 2011-05-12 Battelle Memorial Institute Semi-autonomous multi-use robot system and method of operation
EP2973074B1 (de) * 2013-03-15 2019-04-24 Carnegie Mellon University Überwachtes autonomes robotersystem für komplexe oberflächeninspektion und -verarbeitung
US9076337B2 (en) * 2013-09-19 2015-07-07 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectory of multi-motor control system avoiding obstacle
DE102015007395A1 (de) 2015-06-08 2016-12-08 Kuka Roboter Gmbh Verfahren und System zum Betreiben und/oder Überwachen einer Maschine, insbesondere eines Roboters
US9996944B2 (en) 2016-07-06 2018-06-12 Qualcomm Incorporated Systems and methods for mapping an environment
WO2018071724A1 (en) * 2016-10-12 2018-04-19 Google Llc Selecting actions to be performed by a robotic agent
DE102017129665B3 (de) * 2017-12-12 2019-01-24 Pilz Gmbh & Co. Kg Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
US10613490B2 (en) * 2018-02-05 2020-04-07 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for preconditioned predictive control
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
US11573574B2 (en) * 2018-08-30 2023-02-07 Canon Kabushiki Kaisha Information processing apparatus, information processing method, information processing system, and storage medium
TW202107232A (zh) * 2019-06-24 2021-02-16 美商即時機器人股份有限公司 用於多個機械手臂於共用工作空間中之移動規劃
WO2021033594A1 (ja) * 2019-08-22 2021-02-25 ソニー株式会社 情報処理装置、情報処理方法、および、プログラム
WO2021041223A1 (en) * 2019-08-23 2021-03-04 Realtime Robotics, Inc. Motion planning for robots to optimize velocity while maintaining limits on acceleration and jerk
US20210197377A1 (en) * 2019-12-26 2021-07-01 X Development Llc Robot plan online adjustment

Also Published As

Publication number Publication date
JP2021160080A (ja) 2021-10-11
US11724387B2 (en) 2023-08-15
US20210308862A1 (en) 2021-10-07
CN113492402A (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
DE102021107453A1 (de) Schnelle roboterbewegungsoptimierung mit distanzfeld
DE112021001104T5 (de) Bewegungsplanungsverfahren mit kollisionsvermeidung für industrieroboter
DE102012007254B4 (de) Verfahren und Vorrichtung zum Vorausberechnen einer Behinderung zwischen einem Zielteil eines Roboters und einem peripheren Objekt
Glass et al. Real-time collision avoidance for redundant manipulators
US6493607B1 (en) Method for planning/controlling robot motion
EP3705663B1 (de) Gelenkarm-steuerung einer betonpumpe
DE102006007623B4 (de) Roboter mit einer Steuereinheit zum Steuern einer Bewegung zwischen einer Anfangspose und einer Endpose
DE102009006256B4 (de) Verfahren zur Vermeidung von Kollisionen gesteuert beweglicher Teile einer Anlage
EP3705664B1 (de) Gelenkarm-steuerung einer betonpumpe
DE102021107495A1 (de) Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern
EP2353802A2 (de) Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters
WO2007096240A1 (de) Verfahren zur detektion von objekten mit einer schwenkbaren sensoreinrichtung
Wenna et al. A digital twin for 3D path planning of large-span curved-arm gantry robot
DE102021120633A1 (de) Verfahren und system zur industrieroboter-bewegungssteuerung
DE102015202616A1 (de) Verfahren zum Bearbeiten der Oberfläche eines dreidimensionalen Objekts
Alhijaily et al. Teams of robots in additive manufacturing: a review
Lee et al. The kinematics of motion planning for multilegged vehicles over uneven terrain
DE102022130341A1 (de) Punktmengen-störungsprüfung
DE102022122663A1 (de) Verfahren zur dynamischen geschwindigkeitsändrung für ein robotiksystem
CN115097848A (zh) 一种由人工势场诱导的组合体人工洛伦兹力构造及避障控制方法
US20170282370A1 (en) Position monitoring of a kinematic linkage
EP3705662B1 (de) Gelenkarm-steuerung einer betonpumpe
DE102021109195A1 (de) Auf demontage basierende montageplanung
DE102012010856A1 (de) Verfahren und Mittel zur Überwachung einer Roboteranordnung
DE102021125628B3 (de) Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken