DE102022208769B3 - Roboterbahnplanung und -steuerung - Google Patents

Roboterbahnplanung und -steuerung Download PDF

Info

Publication number
DE102022208769B3
DE102022208769B3 DE102022208769.0A DE102022208769A DE102022208769B3 DE 102022208769 B3 DE102022208769 B3 DE 102022208769B3 DE 102022208769 A DE102022208769 A DE 102022208769A DE 102022208769 B3 DE102022208769 B3 DE 102022208769B3
Authority
DE
Germany
Prior art keywords
path
robot
sections
section
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102022208769.0A
Other languages
English (en)
Inventor
Yevgen Kogan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Priority to DE102022208769.0A priority Critical patent/DE102022208769B3/de
Priority to PCT/EP2023/069746 priority patent/WO2024041808A1/de
Application granted granted Critical
Publication of DE102022208769B3 publication Critical patent/DE102022208769B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Ein Verfahren zur Roboterbahnplanung umfasst die Schritte: Aufteilen (S10) der Applikation in wenigstens zwei aufeinanderfolgende Abschnitte; Vorgeben (S20) von Nebenbedingungen für diese Abschnitte; Zuordnen (S30) von Prioritäten zu den Nebenbedingungen; Planen (S40) einer Teilbahn zur Durchführung desjenigen Abschnitts, für den die Nebenbedingung vorgegeben ist, der die höhere Priorität zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung; nachfolgend (S50) Planen einer Teilbahn zur Durchführung desjenigen Abschnitts, für den die Nebenbedingung vorgegeben ist, der die niedrigere Priorität zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis der geplanten Teilbahn; und Planen (S70) der Bahn des Roboters, wobei die geplanten Teilbahnen in einem Übergangsbereich miteinander verbunden werden und diese verbundenen Teilbahnen die Bahn des Roboters oder einen Teil dieser Bahn bilden.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Planung einer Bahn eines Roboters zur Durchführung einer Applikation bzw. zum Steuern des Roboters sowie ein System, Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens.
  • Zur Durchführung einer Applikation mit einem Roboter muss häufig dessen Bahn geplant werden. Unter einer Bahn eines Roboters wird vorliegend in einer Ausführung in fachüblicher Weise eine Abfolge von Stellungen qi des Roboters bzw. seiner (Bewegungs)Achsen bzw. Gelenke verstanden. Dabei kann eine Stellung des Roboters vorliegend in einer Ausführung in fachüblicher Weise durch die Stellungen seiner (Bewegungs)Achsen bzw. Gelenke, beispielsweise Achs- bzw. Gelenkwinkel, oder durch eine, vorzugsweise sechsdimensionale, Pose X einer roboterfesten Referenz, insbesondere eines Endeffektors oder TCPs, gegebenenfalls in Verbindung mit zusätzlichen Redundanzparametern (beispielsweise Ellbogen- bzw. Redundanzwinkel oder dergleichen), oder in anderer Weise definiert, insbesondere vorgegeben sein. Eine Pose, insbesondere eine Pose einer roboterfesten Referenz, definiert vorliegend in einer Ausführung in fachüblicher Weise eine ein-, zwei- oder dreidimensionale Position und/oder eine ein-, zwei- oder dreidimensionale Orientierung (der roboterfesten Referenz), eine roboterfeste Referenz kann vorliegend insbesondere ein Endeffektor, Endflansch bzw. Endglied oder TCP des Roboters oder ortsfest hierzu sein.
  • Insbesondere, wenn der Roboter bezüglich der Applikation redundant ist, rein beispielhaft ein siebenachsiger Roboterarm mit seinem Endeffektor vorgegebene dreidimensionale Positionen ohne Vorgabe einer Orientierung anfahren soll, werden nach interner Praxis Optimierungsverfahren eingesetzt, für die bestimmte Nebenbedingungen vorgegeben werden. Beispielsweise soll ein Roboter mit seinem Endeffektor von einer Start- bzw. aktuellen Pose bzw. Stellung aus kollisionsfrei und möglichst rasch und/oder energiesparend eine Anfangspose einer Bearbeitungs-, Inspektions- und/oder Messbahn zum Bearbeiten, Inspizieren bzw. Messen eines Werkstücks anfahren und anschließend auf der Bearbeitungs-, Inspektions- und/oder Messbahn ein Bearbeitungs-, Inspektions- und/oder Messwerkzeug längs einer Werkstückkontur kollisionsfrei bis zu einer Endpose der Bearbeitungs-, Inspektions- und/oder Messbahn führen und dabei gegebenenfalls mit seinem Endeffektor der Werkstückkontur folgen, gegebenenfalls eine vorgegebene Orientierung des Endeffektors realisieren (beispielsweise das Werkzeug senkrecht zur Werkstückoberfläche ausrichten).
  • Anhand dieses Beispiels wird deutlich, dass allgemein bei einer Roboterapplikation häufig abschnittsweise unterschiedliche Nebenbedingungen eingehalten werden sollen, wobei manche Nebenbedingungen wichtiger sind als andere (im obigen Beispiel kann es beispielsweise wichtiger sein, der Werkstückkontur zu folgen als die Anfangspose möglichst rasch und energiesparend anzufahren). Dabei ist die vorliegende Erfindung nicht auf die rein beispielhafte Anwendung bei bezüglich der Applikation redundanten Robotern und/oder den Einsatz von Optimierungsverfahren beschränkt, diese stellt jedoch eine besonders vorteilhafte Anwendung der vorliegenden Erfindung dar.
  • Ein denkbarer Ansatz besteht darin, die gesamte Bahn für die Applikation integral bzw. in einem über ihre gesamte Länge zu planen und dabei die abschnittsweise unterschiedlichen Nebenbedingungen gemeinsam zu berücksichtigen. Dies stellt jedoch ein sehr komplexes Optimierungsproblem dar, was nicht nur zu hohen Anforderungen an Rechenzeit und -leistung führen, sondern insbesondere auch unerwünscht sackgassenartig in lokalen Minima enden kann.
  • DE 10 2020 214 231 A1 betrifft ein Verfahren zum Steuern einer Robotervorrichtung, bei dem für einen Ablaufplan für eine von dem Roboter durchzuführende Aufgabe mit einer durchzuführenden Sequenz aus Bewegungsfertigkeiten und Aktionsprimitiven ein zusammengesetzten Robotertrajektorienmodells aus Robotertrajektorienmodellen der Bewegungsfertigkeiten erzeugt wird und der Roboter gesteuert wird, indem, wenn nach einer Bewegungsfertigkeit gemäß dem Ablaufplan ein oder mehrere Aktionsprimitive vor der nächsten Bewegungsfertigkeit auszuführen ist, die Steuerung des Roboters gemäß dem zusammengesetzten Robotertrajektorienmodell nach der Durchführung der Bewegungsfertigkeit unterbrochen wird und die ein oder mehreren Aktionsprimitive ausgeführt werden und dann die Steuerung des Roboters gemäß dem zusammengesetzten Robotertrajektorienmodell fortgesetzt wird.
  • Die DE 10 2020 206 913 A1 betrifft eine Vorrichtung und ein Verfahren zum Betreiben eines Roboters, wobei abhängig von einem ersten Zustand des Roboters und/oder seiner Umgebung und abhängig von einem Ausgang eines ersten Modells ein erster Teil einer Stellgröße zum Ansteuern des Roboters für einen Übergang vom ersten Zustand in einen zweiten Zustand des Roboters bestimmt wird, wobei ein zweiter Teil der Stellgröße abhängig vom ersten Zustand und unabhängig vom ersten Modell bestimmt wird, wobei abhängig vom ersten Zustand und abhängig vom Ausgang des ersten Modells mit einem zweiten Modell ein Gütemaß bestimmt wird, wobei wenigstens ein Parameter des ersten Modells abhängig vom Gütemaß bestimmt wird, wobei abhängig vom Gütemaß und einem Sollwert wenigstens ein Parameter des zweiten Modells bestimmt wird, wobei der Sollwert abhängig von einer Belohnung bestimmt wird, die dem Übergang vom ersten Zustand in den zweiten Zustand zugeordnet ist.
  • Die DE 10 2020 201 398 B3 betrifft ein Verfahren zum Betreiben einer Applikation eines Robotersystems umfassend die Schritte: Auswählen eines ersten Robotersystem-Situationsmoduls aus einer Situationsmodulbibliothek mit mehreren vorgegebenen applikationsunabhängigen Robotersystem-Situationsmodulen für das Robotersystem, die jeweils wenigstens ein Eingangssignal auf wenigstens ein Ausgangssignal abbilden; Verknüpfen dieses ersten Robotersystem-Situationsmoduls mit wenigstens einem weiteren ausgewählten Robotersystem-Situationsmodul aus der Situationsmodulbibliothek; und/oder wenigstens einem applikationsklassenspezifischen Applikationsklassen-Situationsmodul, das für eine Klasse von mehreren Applikationen vorgegeben ist und wenigstens ein Eingangssignal auf wenigstens ein Ausgangssignal abbildet; und/oder wenigstens einem applikationsspezifischen Applikations-Situationsmodul, das wenigstens ein Eingangssignal auf wenigstens ein Ausgangssignal abbildet, zu einem ersten Applikations-Situationsmodul, das Eingangssignale seiner verknüpften Situationsmodule auf wenigstens ein Ausgangssignal abbildet; und Betreiben der Applikation auf Basis des ersten Applikations-Situationsmoduls.
  • Die DE 10 2017 129 665 B3 betrifft ein Verfahren zur kollisionsfreien Bewegungsplanung eines ersten Manipulators bei geschlossener Kinematik, mit den Schritten: Definieren eines dynamischen Optimierungsproblems, Lösen des Optimierungsproblems über einen numerischen Ansatz und Bestimmen einer ersten Bewegungsbahn für den ersten Manipulator anhand der Lösung des Optimierungsproblems, wobei das dynamische Optimierungsproblem ein Kostenfunktional umfasst, welches Zustände und Stellgrößen des ersten Manipulators gewichtet, eine Dynamik, welche Zustände und Stellgrößen des ersten Manipulators in Abhängigkeit der Zeit definiert, und mindestens eine Ungleichungsbeschränkung für einen Abstand zu Kollisionen, wobei das Optimierungsproblem ferner mindestens eine Gleichungsbeschränkung für die geschlossene Kinematik umfasst.
  • Die DE 10 2017 011 130 B4 betrifft ein Verfahren zum Steuern eines Roboters zur Durchführung einer Aufgabe, bezüglich der der Roboter redundant ist, wobei für wenigstens ein Paar aus zwei Bewegungsachsen des Roboters eine Verstellung einer ersten dieser beiden Achsen und eine Verstellung einer zweiten dieser beiden Achsen in Abhängigkeit von einer Betriebsmodus-Vorgabe derart vorgegeben werden, dass beide Achsen zur Durchführung dieser Aufgabe verstellbar sind und die Verstellung der ersten Achse gegenüber der Verstellung der zweiten Achse priorisiert wird, wenn ein erster Betriebsmodus vorgegeben ist, und beide Achsen zur Durchführung dieser Aufgabe verstellbar sind und die Verstellung der zweiten Achse gegenüber der Verstellung der ersten Achse priorisiert wird, wenn ein zweiter Betriebsmodus vorgegeben ist.
  • Die DE 10 2011 005 513 A1 betrifft ein Verfahren zum Betreiben eines Roboters und einen entsprechend eingerichteten Roboter, wobei der Roboter einen mehrere, nacheinander folgende Glieder, eine Befestigungsvorrichtung zum Befestigen eines Endeffektors und Antriebe zum Bewegen der Glieder aufweisenden Roboterarm und eine mit den Antrieben verbundene Steuervorrichtung aufweist, in der eine hierarchische Regelungs-/Steuerungsstrategie mit mehreren, unterschiedlich priorisierten Regelungs-/Steuerungsfunktionalitäten gespeichert ist und das Verfahren folgenden Verfahrensschritt aufweist: während der Bewegung des Roboterarms, Umschalten in eine höher priorisierte Regelungs-/Steuerungsfunktionalität, sobald eine stabile Bewegung des Roboterarms mittels der höher prioristierten Regelungs-/Steuerungsfunktionalität möglich ist und eine, von der höher prioristierten Regelungs-/Steuerungsfunktionalität unabhängige Ausführungsbedingung erfüllt ist.
  • Aufgabe der vorliegenden Erfindung ist es, die Bahnplanung und/oder Steuerung eines Roboters zu verbessern.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 8 gelöst. Ansprüche 9, 10 stellen ein System bzw. Computerprogramm 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 zur Planung einer Bahn eines Roboters zur Durchführung einer Applikation (mit dem Roboter; „Roboterapplikation“ bzw. „Roboterbahn“) die Schritte:
    • - Aufteilen der Applikation in wenigstens zwei aufeinanderfolgende Abschnitte, in einer Ausführung Vorgeben eines Übergangsbereichs, in einer Weiterbildung einer Übergangspose der roboterfesten Referenz oder Übergangsstellung des Roboters, zwischen den zwei aufeinanderfolgenden Abschnitten, in einer Ausführung Aufteilen der Applikation in wenigstens drei aufeinanderfolgende Abschnitte, insbesondere Vorgeben eines Übergangsbereichs, in einer Weiterbildung je einer Übergangspose der roboterfesten Referenz oder Übergangsstellung des Roboters, zwischen je zwei aufeinanderfolgenden Abschnitten;
    • - Vorgeben einer Nebenbedingung für den einen Abschnitt der wenigstens zwei aufeinanderfolgenden Abschnitte und einer hiervon verschiedenen anderen Nebenbedingung für den anderen Abschnitt der wenigstens zwei aufeinanderfolgenden Abschnitte, in einer Ausführung Vorgeben je einer Nebenbedingung für jeden der wenigstens drei aufeinanderfolgenden Abschnitte, wobei vorzugsweise wenigstens zwei dieser Nebenbedingungen voneinander verschieden sind; und
    • - Zuordnen je einer Priorität(sstufe) zu diesen Nebenbedingungen.
  • Der Roboter weist in einer Ausführung wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, (Bewegungs)Achsen bzw. Gelenke, insbesondere Drehachsen bzw. -gelenke, auf. In einer Ausführung weist der Roboter einen, insbesondere stationären oder mobilen, Roboterarm mit wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, (Bewegungs)Achsen bzw. Gelenken, insbesondere Drehachsen bzw. -gelenken, auf. In einer Ausführung weist der Roboter eine roboterfeste Referenz auf, die insbesondere ein Endeffektor, Endflansch bzw. Endglied oder TCP des Roboters oder ortsfest hierzu sein kann, wobei die Applikation Posen, insbesondere also jeweils eine ein-, zwei- oder dreidimensionale Position und/oder ein-, zwei- oder dreidimensionale Orientierung der roboterfesten Referenz umfassen kann, die der Roboter mit der roboterfesten Referenz zur bzw. bei Durchführung der Applikation nacheinander bzw. sukzessive anfahren bzw. einnehmen soll.
  • Für solche Roboter ist die vorliegende Erfindung aufgrund von deren Anwendungsgebieten und Kinematiken besonders geeignet.
  • Das Aufteilen der Applikation in aufeinanderfolgende Abschnitte erfolgt in einer Ausführung auf Basis einer Benutzerein- bzw. -vorgabe oder einer übergeordneten automatischen Applikationsplanung und/oder auf Basis unterschiedlicher Arbeitsvorgänge bzw. -ziele für die einzelnen Applikationsabschnitte, beispielsweise Transfer- bzw. Transportvorgänge bzw. -abschnitte, insbesondere von und/oder zu Arbeitsstationen und/oder von und/oder zu Förder- oder Ablagestationen, einerseits und (Be)Arbeit(ung)svorgänge bzw. -abschnitte andererseits oder dergleichen. In einer Ausführung grenzen je zwei aufeinanderfolgende Abschnitte jeweils in einem Übergangsbereich, in einer Weiterbildung in einer Übergangspose der roboterfesten Referenz oder Übergangsstellung des Roboters, aneinander, wobei in einer Weiterbildung diese(r) Übergangsbereich(e) vorgegeben sind bzw. werden, in einer Ausführung bei bzw. zur Aufteilen der Applikation in die Abschnitte und/oder auf Basis einer Benutzerein- bzw. -vorgabe oder einer übergeordneten automatischen Applikationsplanung.
  • Eine oder mehrere der Nebenbedingungen kann bzw. können (jeweils) eine Kollisionsvermeidung, (das Einnehmen) eine(r) oder mehrere(r) vorgegebene(r) Posen der roboterfesten Referenz und/oder eine Optimierung einer Fahrzeit, einer Belastung, insbesondere Beanspruchung und/oder Beschleunigung, und/oder eines Energiebedarfs des Roboters zur Durchführung des entsprechenden Abschnitts der Applikation oder dergleichen umfassen und/oder ein- oder mehrdimensionale Nebenbedingungen für ein Optimierungsverfahren darstellen bzw. als solche vorgegeben sein.
  • Das Zuordnen der Priorität(sstuf)en zu den Nebenbedingungen erfolgt in einer Ausführung auf Basis einer Benutzerein- bzw. -vorgabe oder automatisch, in einer Weiterbildung auf Basis einer vorgegebenen Hierarchisierung von Nebenbedingungen oder dergleichen. Dabei können Priorität(sstuf)en auch defaultmäßig zugeordnet sein, so dass beispielsweise durch eine Vorgabe einer (höheren bzw. niedrigeren) Priorität(sstufe) für eine von zwei Nebenbedingungen diese Nebenbedingung gegenüber der anderen höher bzw. niedriger priorisiert wird bzw. ist, ohne dass dieser anderen Nebenbedingung eine Priorität(sstufe) explizit zugeordnet werden muss. Entsprechend können zum Beispiel durch eine Vorgabe einer höheren und einer niedrigeren Priorität(sstufe) für zwei von drei Nebenbedingungen diesen Nebenbedingungen gegenüber der dritten Nebenbedingung höher bzw. niedriger priorisiert werden bzw. sein, ohne dass dieser dritten Nebenbedingung eine Priorität(sstufe) explizit zugeordnet werden muss.
  • Nach einer Ausführung der vorliegenden Erfindung umfasst das Verfahren die Schritte:
    • - Planen einer Teilbahn zur Durchführung desjenigen Abschnitts der wenigstens zwei, gegebenenfalls wenigstens drei, Abschnitte, für den die Nebenbedingung vorgegeben ist, der die höhere bzw. höchste der Prioritäten zugeordnet ist, unter Berücksichtigung dieser (am höchsten priorisierten) Nebenbedingung („am höchsten priorisierte Teilbahn“);
    • - nachfolgend Planen einer Teilbahn („zweitpriorisierte Teilbahn“) zur Durchführung desjenigen Abschnitts der wenigstens zwei, gegebenenfalls wenigstens drei, Abschnitte, für den die Nebenbedingung vorgegeben ist, der die (nächst)niedrigere der Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis der zuvor bereits geplanten am höchsten priorisierte Teilbahn, in einer Ausführung auf Basis bzw. unter Verwendung einer Pose der roboterfesten Referenz und/oder einer Stellung des Roboters an einem bzw. demjenigen Ende der zuvor bereits geplanten Teilbahn, das der gerade zu planenden Teilbahn zugewandt ist, vorzugsweise derart, dass beide Teilbahnen in ihrem Übergangsbereich diese Pose bzw. Stellung aufweisen;
    • - gegebenenfalls nachfolgend Planen einer Teilbahn zur Durchführung desjenigen Abschnitts der wenigstens drei Abschnitte, für den die Nebenbedingung vorgegeben ist, der die niedrigste der drei Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis der bereits geplanten am höchsten priorisierte oder zweitpriorisierte Teilbahn, in einer Ausführung auf Basis bzw. unter Verwendung einer Pose der roboterfesten Referenz und/oder einer Stellung des Roboters an einem bzw. demjenigen Ende der zuvor bereits geplanten am höchsten priorisierten bzw. zweitpriorisierten Teilbahn, das der gerade zu planenden Teilbahn zugewandt ist, vorzugsweise derart, dass beide Teilbahnen in ihrem Übergangsbereich diese Pose bzw. Stellung aufweisen; und
    • - Planen der Bahn des Roboters zur Durchführung der Applikation, wobei die geplante am höchsten priorisierte Teilbahn und die geplante zweitpriorisierte Teilbahn in einem Übergangsbereich miteinander verbunden werden, gegebenenfalls die dritte bzw. zuletzt geplante Teilbahn in einem weiteren Übergangsbereich mit derjenigen von der am höchsten priorisierten Teilbahn und der zweitpriorisierte Teilbahn verbunden wird, auf deren Basis sie geplant worden ist; und diese verbundenen Teilbahnen die Bahn des Roboters oder einen Teil dieser Bahn bilden.
  • Einer Ausführung der vorliegenden Erfindung liegt die Idee zugrunde, die abschnittsweise einzuhaltenden Nebenbedingungen untereinander zu priorisieren, dann (jeweils) für einen Abschnitt mit der höher priorisierten Nebenbedingung eine Teilbahn zu planen und diese bereits geplante Teilbahn bei der nachfolgenden Planung der Teilbahn für den Abschnitt mit der niedriger priorisierten Nebenbedingung zu berücksichtigen. In einer bevorzugten Weiterbildung wird dabei eine Pose der roboterfesten Referenz und/oder eine Stellung des Roboters an demjenigen Ende der bereits geplanten dieser beiden Teilbahnen, das der noch zu planenden der beiden Teilbahnen zugewandt ist, bei der Planung dieser noch zu planenden Teilbahn verwendet, in einer Ausführung als Pose bzw. Stellung dieser zu planenden Teilbahn. Hieraus wird besonders deutlich, dass in einer Ausführung die Planung der noch zu planenden Teilbahn verbessert werden kann, insbesondere kann in einer Ausführung ein Suchraum eines Optimierungsverfahrens vorteilhaft deutlich reduziert werden und/oder die noch zu planende Teilbahn so geplant werden, dass die bereits geplante Teilbahn, insbesondere direkt, ausführbar ist. Gleichermaßen ist es auch möglich, die Pose bzw. Stellung der bereits geplanten Bahn zunächst weiterzuverarbeiten, beispielsweise in vorgegebener Weise zu transformieren, insbesondere zu verschieben und/oder -drehen bzw. -stellen, und dann als Pose bzw. Stellung der zu planenden Teilbahn zu verwenden, oder diese Teilbahn auf andere, vorzugsweise vorgegebene Weise, auf Basis der bereits geplanten Teilbahn zu planen.
  • In einer Ausführung weist wenigstens einer der Abschnitte der Applikation einen Bearbeitungs-, Inspektions- und/oder Messabschnitt zum robotergestützten Bearbeiten und/oder Inspizieren und/oder Messen eines Werkstücks, insbesondere zum Halten und/oder Bewegen eines robotergeführten Bearbeitungs-, Inspektions- und/oder Messwerkzeugs, während dieses ein Werkstück bearbeitet bzw. inspiziert bzw. misst, oder zum Halten und/oder Bewegen eines robotergeführten Werkstücks, während dieses von einem Bearbeitungs-, Inspektions- und/oder Messwerkzeug bearbeitet bzw. inspiziert bzw. gemessen wird, und die zur Durchführung dieses Abschnitts geplante Teilbahn eine Bearbeitungs-, Inspektions- und/oder Messbahn des Roboters auf, kann insbesondere ein(e) solche sein. Unter einem Bearbeiten wird vorliegend insbesondere ein materialabtragendes Bearbeiten wie beispielsweise Schleifen, Sägen, Bohren oder dergleichen, ein materialauftragendes Bearbeiten wie beispielsweise Lackieren, Beschichten oder dergleichen, ein verbindendes Bearbeiten wie beispielsweise Schweißen, Kleben, Nieten oder dergleichen, und ein trennendes Bearbeiten wie beispielsweise Sägen oder dergleichen, verstanden. Unter einem Messen wird vorliegend insbesondere ein Vermessen verstanden.
  • Zusätzlich oder alternativ weist in einer Ausführung wenigstens einer der Abschnitte der Applikation ein Anfahrabschnitt zum Anfahren einer Bearbeitungs-, Inspektions- und/oder Messbahn oder einer Förder- oder Lagerstelle und die zur Durchführung dieses Abschnitts geplante Teilbahn eine Anfahrbahn des Roboters auf, kann insbesondere ein(e) solche sein.
  • Zusätzlich oder alternativ weist in einer Ausführung wenigstens einer der Abschnitte der Applikation ein Wegfahrabschnitt zum Wegfahren von einer Bearbeitungs-, Inspektions- und/oder Messbahn oder einer Förder- oder Lagerstelle und die zur Durchführung dieses Abschnitts geplante Teilbahn eine Wegfahrbahn des Roboters auf, kann insbesondere ein(e) solche sein.
  • Für solche Applikationen ist die vorliegende Erfindung, insbesondere aufgrund der dabei oft zu beachtenden Nebenbedingungen, besonders vorteilhaft.
  • In einer Ausführung wird beim Planen wenigstens einer der Teilbahnen zur Durchführung eines der Abschnitte der Applikation ein Teil derjenigen Nebenbedingung berücksichtigt, die zur Durchführung eines vorhergehenden oder anschließenden Abschnitts der Applikation vorgegeben ist und der eine niedrigere der Prioritäten zugeordnet ist. Dieser Teil betrifft in einer Ausführung, vorzugsweise nur, den Übergangsbereich bzw. eine Pose der roboterfesten Referenz und/oder eine Stellung des Roboters an demjenigen Ende der gerade zu planenden Teilbahn, das der Teilbahn zur Durchführung des vorhergehenden bzw. anschließenden Abschnitts der Applikation zugewandt ist, dem die niedrigere Priorität zugeordnet ist. Hierdurch kann in einer Ausführung auch beim Planen der Teilbahn zur Durchführung des Abschnitts der Applikation, dem die höhere Priorität zugewiesen ist, vorteilhaft der Suchraum reduziert und so die Planung verbessert werden. Rein beispielhaft und zur Illustration sei der Fall betrachtet, bei dem priorisiert ein Anfahren einer Bearbeitungs-, Inspektions- und/oder Messbahn und anschließend die Bearbeitungs-, Inspektions- und/oder Messbahn selber geplant wird. Dann kann es vorteilhaft sein, bei der Planung der Anfahrbahn bereits eine für die Bearbeitungs-, Inspektions- und/oder Messbahn vorgegebene bzw. zu berücksichtigende Orientierung zu berücksichtigen bzw. (nur) die Redundanz auszunutzen, die aus Sicht der nachfolgend zu planenden Teilbahn, insbesondere am Übergangsbereich, (noch) zur Verfügung steht. Eine Nebenbedingung im Sinne der vorliegenden Erfindung kann insbesondere eine vorgegebene Anfang- und/oder eine vorgegebene Endbedingung des Applikationsabschnitts bzw. der Teilbahn umfassen.
  • Wie an anderer Stelle bereits erläutert, ist die vorliegende Erfindung insbesondere für Roboter vorteilhaft, die bezüglich eines oder mehrerer der Abschnitte der Applikation redundant sind, da hier häufig abschnittsweise verschiedene Nebenbedingungen zu berücksichtigen sind.
  • Vorzugsweise werden eine oder mehrere der Teilbahnen (jeweils) mithilfe eines, in einer Ausführung des gleichen, Optimierungsverfahrens geplant. Dies ist in Kombination mit der Berücksichtigung der priorisierten Nebenbedingungen besonders vorteilhaft und führt so zu einer mehrstufigen Optimierung, bei der nacheinander Teilbahnen jeweils durch (Einzel)Optimierung der jeweiligen Teilbahn mithilfe eines Optimierungsverfahrens unter Berücksichtigung der jeweiligen Nebenbedingung und gegebenenfalls auf Basis einer bereits geplanten Teilbahn, die in einem Übergangsbereich an die gerade zu planende Teilbahn anschließt, und/oder eines Teils einer Nebenbedingung für eine nachfolgend zu planende Teilbahn, die in einem Übergangsbereich an die gerade zu planende Teilbahn anschließt.
  • Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Steuern des Roboters die Schritte:
    • - Planen einer Bahn des Roboters nach einem hier beschriebenen Verfahren; und
    • - Steuern des Roboters zum Abfahren der geplanten Bahn, insbesondere zur Durchführung einer bzw. der Applikation.
  • Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
    • - Mittel zum Aufteilen der Applikation in wenigstens zwei aufeinanderfolgende Abschnitte, in einer Ausführung Vorgeben eines Übergangsbereichs, in einer Weiterbildung einer Übergangspose der roboterfesten Referenz oder Übergangsstellung des Roboters, zwischen den zwei aufeinanderfolgenden Abschnitten, in einer Ausführung Aufteilen der Applikation in wenigstens drei aufeinanderfolgende Abschnitte, insbesondere Vorgeben eines Übergangsbereichs, in einer Weiterbildung je einer Übergangspose der roboterfesten Referenz oder Übergangsstellung des Roboters, zwischen je zwei der drei aufeinanderfolgenden Abschnitten;
    • - Mittel zum Vorgeben einer Nebenbedingung für den einen Abschnitt der wenigstens zwei aufeinanderfolgenden Abschnitte und einer hiervon verschiedenen anderen Nebenbedingung für den anderen Abschnitt der wenigstens zwei aufeinanderfolgenden Abschnitte, in einer Ausführung Vorgeben je einer Nebenbedingung für jeden der wenigstens drei aufeinanderfolgende Abschnitte, wobei vorzugsweise wenigstens zwei dieser Nebenbedingungen voneinander verschieden sind;
    • - Mittel zum Zuordnen je einer Priorität(sstufe) zu diesen Nebenbedingungen;
    • - Mittel zum Planen einer Teilbahn zur Durchführung desjenigen Abschnitts der wenigstens zwei, gegebenenfalls wenigstens drei, Abschnitte, für den die Nebenbedingung vorgegeben ist, der die höhere bzw. höchste der Prioritäten zugeordnet ist, unter Berücksichtigung dieser (am höchsten priorisierten) Nebenbedingung („am höchsten priorisierte Teilbahn“);
    • - Mittel zum nachfolgenden Planen einer Teilbahn („zweitpriorisierte Teilbahn“) zur Durchführung desjenigen Abschnitts der wenigstens zwei, gegebenenfalls wenigstens drei, Abschnitte, für den die Nebenbedingung vorgegeben ist, der die (nächst)niedrigere der Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis der zuvor bereits geplanten am höchsten priorisierte Teilbahn, in einer Ausführung auf Basis bzw. unter Verwendung einer Pose der roboterfesten Referenz und/oder einer Stellung des Roboters an einem bzw. demjenigen Ende der zuvor bereits geplanten Teilbahn, das der gerade zu planenden Teilbahn zugewandt ist, vorzugsweise derart, dass beide Teilbahnen in ihrem Übergangsbereich diese Pose bzw. Stellung aufweisen;
    • - gegebenenfalls Mittel zum nachfolgenden Planen einer Teilbahn zur Durchführung desjenigen Abschnitts der wenigstens drei Abschnitte, für den die Nebenbedingung vorgegeben ist, der die niedrigste der drei Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis der bereits geplanten am höchsten priorisierten oder zweitpriorisierten Teilbahn, in einer Ausführung auf Basis bzw. unter Verwendung einer Pose der roboterfesten Referenz und/oder einer Stellung des Roboters an einem bzw. demjenigen Ende der zuvor bereits geplanten am höchsten priorisierten bzw. zweitpriorisierten Teilbahn, das der gerade zu planenden Teilbahn zugewandt ist, vorzugsweise derart, dass beide Teilbahnen in ihrem Übergangsbereich diese Pose bzw. Stellung aufweisen; und
    • - Mittel zum Planen der Bahn des Roboters zur Durchführung der Applikation, wobei die geplante am höchsten priorisierte Teilbahn und die geplante zweitpriorisierte Teilbahnen in einem Übergangsbereich miteinander verbunden werden, gegebenenfalls die dritte bzw. zuletzt geplante Teilbahn in einem weiteren Übergangsbereich mit derjenigen von der am höchsten priorisierten Teilbahn und der zweitpriorisierte Teilbahn verbunden wird, auf deren Basis sie geplant worden ist; und diese verbundenen Teilbahnen die Bahn des Roboters oder einen Teil dieser Bahn bilden;
    • - und in einer Ausführung Mittel zum Steuern des Roboters zum Abfahren der geplanten Bahn, insbesondere zur Durchführung einer bzw. der Applikation.
  • In einer Ausführung ist das System bzw. sein(e) Mittel dazu eingerichtet, dass beim Planen wenigstens einer der Teilbahnen zur Durchführung eines der Abschnitte der Applikation ein Teil derjenigen Nebenbedingung berücksichtigt wird, die zur Durchführung eines vorhergehenden oder anschließenden Abschnitts der Applikation vorgegeben ist und der eine niedrigere der Prioritäten zugeordnet ist.
  • In einer Ausführung umfasst das System bzw. sein(e) Mittel zum Planen einer Teilbahn einen Optimierer zum Planen der Teilbahn mithilfe eines Optimierungsverfahrens.
  • Ein System und/oder ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystemdaten- 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 die Schritte solcher Verfahren ausführen kann und damit insbesondere die Bahn planen bzw. den Roboter steuern kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. eine Steuerung, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System bzw. die Steuerung, insbesondere den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.
  • In einer Ausführung sind ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise computerimplementiert bzw. 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 einen bzw. den Roboter auf.
  • Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
    • 1: ein Verfahren nach einer Ausführung der vorliegenden Erfindung; und
    • 2: ein System nach einer Ausführung der vorliegenden Erfindung.
  • 2 zeigt ein System nach einer Ausführung der vorliegenden Erfindung mit einem siebenachsigen Roboter(arm) 1 und einer Steuerung 2 zum Steuern des Roboter(arm)s 1 bzw. einer Bahnplanung hierfür nach einer Ausführung der vorliegenden Erfindung.
  • Exemplarisch soll der Roboter(arm) 1 mit seinem TCP aus einer Startpose bzw. -stellung eine vorgegebene Anfangspose S einer Bearbeitungs-, Inspektions- und/oder Messbahn anfahren („Anfahrbahn“), den TCP dann längs einer vorgegebenen Strecke in eine vorgegebene Endpose E führen, und von dort mit seinem TCP in eine Zielpose bzw. -stellung fahren („Wegfahrbahn“).
  • Auf der Bearbeitungs-, Inspektions- und/oder Messbahn soll dabei eine Nebenbedingung NSE eingehalten werden, beispielsweise der vorgegebenen Strecke, zum Beispiel einer Werkstückkontur, kollisionsfrei und mit einer vorgegebenen Orientierung des TCPs zu folgen.
  • Auf der Anfahrbahn soll eine andere Nebenbedingung Ns eingehalten werden, beispielsweise die Anfangspose S kollisionsfrei und möglichst rasch anzufahren.
  • Auf der Wegfahrbahn soll eine andere Nebenbedingung NE eingehalten werden, beispielsweise die Zielpose bzw. -stellung kollisionsfrei und möglichst energiesparend anzufahren.
  • Zur Bahnplanung wird die oben beschriebene Applikation bzw. zu planende Bahn zunächst in einem Schritt S10 in mehrere Abschnitte bzw. Teilbahnen aufgeteilt, im Beispiel das Anfahren bzw. die Anfahrbahn, das Bearbeiten bzw. Inspizieren bzw. Messen bzw. die Bearbeitungs-, Inspektions- und/oder Messbahn und das Wegfahren bzw. die Wegfahrbahn. Die Aufteilung kann insbesondere auf Basis einer Benutzerein- bzw. -vorgabe oder einer übergeordneten automatischen Applikationsplanung erfolgen und das Vorgeben der Übergangsbereiche zwischen den einzelnen Teilbahnen umfassen, in einer Ausführung hieraus bestehen.
  • Für diese Abschnitte bzw. Teilbahnen werden in einem Schritt S20 unterschiedliche Nebenbedingungen vorgegeben, im Beispiel die vorstehend genannten Nebenbedingungen NS für das Anfahren bzw. die Anfahrbahn, NSE für das Bearbeiten bzw. Inspizieren bzw. Messen bzw. die Bearbeitungs-, Inspektions- und/oder Messbahn und NE für das Wegfahren bzw. die Wegfahrbahn. Die Vorgabe kann insbesondere auf Basis einer Benutzerein- bzw. -vorgabe erfolgen oder automatisch erfolgen, beispielsweise auf Basis einer Zuordnung vorgegebener Nebenbedingungen zu unterschiedlichen Applikationsabschnitts- bzw. Teilbahntypen oder dergleichen.
  • In einem Schritt S30 werden den unterschiedlichen Nebenbedingungen verschiedene Priorität(sstuf)en zugeordnet. Diese Zuordnung kann insbesondere auf Basis einer Benutzerein- bzw. -vorgabe erfolgen oder automatisch erfolgen, beispielsweise auf Basis einer vorgegebenen Hierarchisierung von Nebenbedingungen oder dergleichen. So kann beispielsweise ein Einhalten einer vorgegebenen Orientierung längs einer Bearbeitungs-, Inspektions- und/oder Messbahn einer Minimierung einer Fahrzeit und eines Energiebedarfs vorgehen oder dergleichen. Durch eine Zuordnung auf Basis einer Benutzerein- bzw. -vorgabe kann besonders vorteilhaft Expertenwissen genutzt werden, da Applikationsingenieure oftmals am besten beurteilen können, welche Nebenbedingungen am wichtigsten bzw. wenig(er) wichtig sind. Im obigen Beispiel wird der Nebenbedingung NSE für die Bearbeitungs-, Inspektions- und/oder Messbahn die höchste Priorität(sstufe) zugeordnet, der Nebenbedingungen NE für die Wegfahrbahn die niedrigste Priorität(sstufe) und der Nebenbedingungen NS für die Anfahrbahn eine mittlere Priorität(sstufe), die niedriger als die höchste, der Nebenbedingung NSE für die Bearbeitungs-, Inspektions- und/oder Messbahn zugeordnete Priorität(sstufe) und höher als die niedrigste, der Nebenbedingung NE für die Wegfahrbahn zugeordnete Priorität(sstufe) ist.
  • In einem Schritt S40 wird nun zunächst die Teilbahn geplant, deren bei ihrer Planung einzuhaltende Nebenbedingung die höchste Priorität(sstufe) zugeordnet (worden) ist, im obigen Beispiel die Bearbeitungs-, Inspektions- und/oder Messbahn. Diese Planung erfolgt in an sich bekannter Weise auf Basis der vorgegebenen Anfangspose S und vorgegebenen Endpose E unter Berücksichtigung der vorgegebenen Nebenbedingung NSE mithilfe eines Optimierungsverfahrens und definiert Stellungen qi = [q1, q2,...q7]i des Roboter(arm)s 1 längs der Bearbeitungs-, Inspektions- und/oder Messbahn, insbesondere (s)eine Stellung qs in der bzw. für die Anfangspose S und (s)eine Stellung qE in der bzw. für die Endpose E.
  • In einem Schritt S50 wird danach die Teilbahn geplant, deren bei ihrer Planung einzuhaltende Nebenbedingung die nächstniedrigere Priorität(sstufe) zugeordnet (worden) ist, im obigen Beispiel die Anfahrbahn. Diese Planung erfolgt in an sich bekannter Weise auf Basis der vorgegebenen Startpose bzw. -stellung und der in Schritt S40 ermittelten Roboter(arm)stellung qs unter Berücksichtigung der vorgegebenen Nebenbedingung Ns mithilfe des gleichen oder eines anderen Optimierungsverfahrens und definiert entsprechend Stellungen qi des Roboter(arm)s 1 längs der Anfahrbahn.
  • Dabei wird die Anfahrbahn so geplant, dass sie den Roboter(arm) 1 an ihrem Ende in die in Schritt S40 ermittelte Stellung qs überführt.
  • Man erkennt an diesem Beispiel, dass der Suchraum für die Planung der Anfahrbahn durch die bereits in Schritt S40 ermittelte Stellung qs deutlich reduziert ist. Auf diese Weise kann in einer Ausführung die (Teil)Bahn mit geringer(er) Rechenzeit und/oder -leistung geplant und/oder die Gefahr reduziert werden, dass das Optimierungsverfahren nur lokale Minima auffindet, insbesondere in einem solchen sackgassenartig endet. Man erkennt zudem, dass primär versucht wird, die am höchsten priorisierte Nebenbedingung NSE einzuhalten, und die demgegenüber niedriger priorisierte Nebenbedingung Ns (noch) soweit eingehalten wird, wie dies durch die höher priorisierte Nebenbedingung NSE (noch) möglich ist.
  • In einem Schritt S60 wird danach die Teilbahn geplant, deren bei ihrer Planung einzuhaltende Nebenbedingung die nächstniedrigere Priorität(sstufe) zugeordnet (worden) ist, im obigen Beispiel die Wegfahrbahn. Diese Planung erfolgt in an sich bekannter Weise auf Basis der vorgegebenen Zielpose bzw. -stellung und der in Schritt S40 ermittelten Roboter(arm)stellung qE unter Berücksichtigung der vorgegebenen Nebenbedingung NE mithilfe des gleichen oder eines anderen Optimierungsverfahrens und definiert entsprechend Stellungen qi des Roboter(arm)s 1 längs der Wegfahrbahn.
  • Dabei wird die Wegfahrbahn so geplant, dass sie bei bzw. in der in Schritt S40 ermittelten Stellung qE beginnt.
  • Auch dies illustriert exemplarisch die Reduzierung des Suchraum für die Planung der Wegfahrbahn durch die bereits in Schritt S40 ermittelte Stellung qE, so dass in einer Ausführung die (Teil)Bahn mit geringer(er) Rechenzeit und/oder -leistung geplant und/oder die Gefahr reduziert werden kann, dass das Optimierungsverfahren nur lokale Minima auffindet, insbesondere in einem solchen sackgassenartig endet. Man erkennt zudem, dass primär versucht wird, die am höchsten priorisierte Nebenbedingung NSE einzuhalten, dann die demgegenüber niedriger priorisierte Nebenbedingung NS (noch) soweit einzuhalten, wie dies durch die höher priorisierte Nebenbedingung NSE (noch) möglich ist, und schließlich die demgegenüber noch niedriger priorisierte Nebenbedingung NE (noch) soweit einzuhalten, wie dies durch die höher priorisierten Nebenbedingungen NSE, NS (noch) möglich ist.
  • In einem Schritt S70 verbindet die Steuerung 2 die geplanten Teilbahnen und steuert den Roboter(arm) 1 zum Abfahren der geplanten Bahn zur Durchführung der Applikation. Dabei kann das Verbinden insbesondere auch dadurch erfolgen, dass eine nachfolgend geplante Teilbahn bereits bei ihrer Planung mit der bereits geplanten Teilbahn verbunden wird, sich insbesondere an diese anschließt bzw. diese fortsetzt. Somit kann allgemein ein Planen der Bahn des Roboters zur Durchführung der Applikation, wobei die geplanten Teilbahnen in einem Übergangsbereich miteinander verbunden werden und diese verbundenen Teilbahnen die Bahn des Roboters oder einen Teil dieser Bahn bilden, (bereits) durch das Planen der einzelnen Teilbahnen, im Ausführungsbeispiel die Schritte S40-S60, realisiert sein bzw. werden.
  • Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.
  • So könnte, wiederum rein beispielhaft und nur zu Illustrationszwecken, die Planung der An- oder Wegfahrbahn entfallen und/oder die Nebenbedingung NS bzw. NE für die An- oder Wegfahrbahn höher priorisiert werden als die Nebenbedingung für die Bearbeitungs-, Inspektions- und/oder Messbahn NSE.
  • Beispielsweise wird in einer Abwandlung in Schritt S40 dann entsprechend statt der Bearbeitungs-, Inspektions- und/oder Messbahn zuerst die Anfahrbahn geplant. Diese Planung erfolgt dann in an sich bekannter Weise auf Basis der vorgegebenen Startpose bzw. -stellung und der vorgegebenen Anfangspose S unter Berücksichtigung der vorgegebenen Nebenbedingung Ns mithilfe eines Optimierungsverfahrens und definiert Stellungen qi des Roboter(arm)s 1 längs der Bearbeitungs-, Inspektions- und/oder Messbahn, insbesondere (s)eine Stellung qs in der bzw. für die Anfangspose S. Dabei wird in einer Ausführung ein Teil der Nebenbedingung, der sich nur auf die Anfangspose S bezieht, bereits mit berücksichtigt, im Beispiel die hierfür vorgegebene Orientierung des TCPs realisiert werden. Mit anderen Worten wird hier die aus Sicht der nachfolgenden Bearbeitungs-, Inspektions- und/oder Messbahn (noch) erlaubte bzw. zur Verfügung stehende Redundanz ausgenutzt. Natürlich ist es gleichermaßen möglich, analog bereits bei der priorisierten Planung einer nachfolgenden Teilbahn bereits den Teil der Nebenbedingung für die ihr vorhergehende Teilbahn, der sich nur auf den Übergangsbereich zwischen diesen beiden Teilbahnen bezieht, bereits mit zu berücksichtigen.
  • In Schritt S50 wird dann die Bearbeitungs-, Inspektions- und/oder Messbahn geplant. Diese Planung erfolgt in an sich bekannter Weise auf Basis der vorgegebenen Endpose E und der in Schritt S40 ermittelten Roboter(arm)stellung qs unter Berücksichtigung der vorgegebenen Nebenbedingung NSE mithilfe des gleichen oder eines anderen Optimierungsverfahrens und definiert Stellungen qi des Roboter(arm)s 1 längs der Bearbeitungs-, Inspektions- und/oder Messbahn, insbesondere (s)eine Stellung qE in der bzw. für die Endpose E.
  • Auch dies illustriert exemplarisch die Reduzierung des Suchraum für die Planung der Bearbeitungs-, Inspektions- und/oder Messbahn durch die bereits in Schritt S40 ermittelte Stellung qs, so dass in einer Ausführung die (Teil)Bahn mit geringer(er) Rechenzeit und/oder -leistung geplant und/oder die Gefahr reduziert werden kann, dass das Optimierungsverfahren nur lokale Minima auffindet, insbesondere in einem solchen sackgassenartig endet. Man erkennt wiederum, dass primär versucht wird, die höher priorisierte Nebenbedingung Ns einzuhalten, und dann die demgegenüber niedriger priorisierte Nebenbedingung NSE (noch) soweit einzuhalten, wie dies durch die höher priorisierte Nebenbedingung Ns (noch) möglich ist.
  • In obigen Beispielen wurde jeweils durch die Planung einer Teilbahn mit höher priorisierter Nebenbedingung eine Roboterstellung ermittelt und diese bei der Planung einer Teilbahn mit niedriger priorisierter Nebenbedingung verwendet. Es kann dabei besonders vorteilhaft sein, diese bei der höher priorisierten Planung ermittelte Roboterstellung als Ausgangs- bzw. Endstellung bei der niedriger priorisierten Planung zu verwenden, in obigem Beispiel also die Anfahrbahn zum Anfahren der bei der höher priorisierten Planung der Bearbeitungs-, Inspektions- und/oder Messbahn ermittelten Roboter(arm)stellung qs bzw. umgekehrt die Bearbeitungs-, Inspektions- und/oder Messbahn zum Weiterfahren aus der bei der höher priorisierten Planung der Anfahrbahn ermittelten Roboter(arm)stellung qs bzw. die Wegfahrbahn zum Weiterfahren aus der bei der höher priorisierten Planung der Bearbeitungs-, Inspektions- und/oder Messbahn ermittelten Roboter(arm)stellung qE zu planen. Gleichermaßen ist es jedoch auch möglich, die bei der niedriger priorisierten Planung verwendete Ausgangs- bzw. Endstellung auf Basis der bei der höher priorisierten Planung ermittelte Roboterstellung zu berechnen, insbesondere aufgrund einer vorgegebenen Abbildung bzw. Transformation. So könnte, wiederum rein beispielhaft und nur zu Illustrationszwecken, der Roboter(arm) 1 der 1 auf einer mobilen Plattform angeordnet sein, die zwischen dem Beenden der geplanten Anfahrbahn und dem Beginn der geplanten Bearbeitungs-, Inspektions- und/oder Messbahn um eine vorgegebene Strecke verfahren wird. Dann kann für die priorisiert geplante Bearbeitungs-, Inspektions- und/oder Messbahn zunächst eine Roboter(arm)stellung qs ermittelt werden und die auf der Anfahrbahn anzufahrende Roboter(arm)stellung qs' auf deren Basis unter Kompensation der Verfahrstrecke geplant werden. In diesem Fall umfasst ein Übergangsbereich zwischen Anfahrbahn und Bearbeitungs-, Inspektions- und/oder Messbahn die Verfahrstrecke.
  • Bezugszeichenliste
  • 1
    Roboter(arm)
    2
    Steuerung
    TCP
    Tool Center Point (roboterfeste Referenz)
    q1,...q7
    Gelenkkoordinate

Claims (10)

  1. Verfahren zur Planung einer Bahn eines Roboters (1) zur Durchführung einer Applikation, mit den Schritten: - Aufteilen (S10) der Applikation in wenigstens zwei aufeinanderfolgende Abschnitte; - Vorgeben (S20) einer Nebenbedingung für den einen Abschnitt dieser beiden Abschnitte und einer hiervon verschiedenen anderen Nebenbedingung für den anderen Abschnitt dieser beiden Abschnitte; - Zuordnen (S30) einer Priorität zu der einen dieser beiden Nebenbedingung und einer demgegenüber höheren oder niedrigeren Priorität zu der anderen dieser beiden Nebenbedingungen; - Planen (S40) einer Teilbahn zur Durchführung desjenigen Abschnitts der beiden Abschnitte, für den die Nebenbedingung vorgegeben ist, der die höhere der beiden Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung; - nachfolgend (S50) Planen einer Teilbahn zur Durchführung desjenigen Abschnitts der beiden Abschnitte, für den die Nebenbedingung vorgegeben ist, der die niedrigere der beiden Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis der zuvor bereits zur Durchführung desjenigen Abschnitts der beiden Abschnitte, für den die Nebenbedingung vorgegeben ist, der die höhere der beiden Prioritäten zugeordnet ist, geplanten Teilbahn; und - Planen (S70) der Bahn des Roboters zur Durchführung der Applikation, wobei die geplanten Teilbahnen in einem Übergangsbereich miteinander verbunden werden und diese verbundenen Teilbahnen die Bahn des Roboters oder einen Teil dieser Bahn bilden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass - die Applikation in wenigstens drei aufeinanderfolgende Abschnitte aufgeteilt wird; - für jeden dieser drei Abschnitte jeweils eine Nebenbedingung vorgegeben wird, - jeder dieser drei Nebenbedingungen jeweils eine unterschiedliche Priorität zugeordnet wird; - zunächst eine Teilbahn zur Durchführung desjenigen Abschnitts der drei Abschnitte geplant wird, für den die Nebenbedingung vorgegeben ist, der die höchste der drei Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung; - nachfolgend eine Teilbahn zur Durchführung desjenigen Abschnitts der drei Abschnitte geplant wird, für den die Nebenbedingung vorgegeben ist, der die nächstniedrigere der drei Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis der zuvor bereits zur Durchführung desjenigen Abschnitts der drei Abschnitte, für den die Nebenbedingung vorgegeben ist, der die höchste der drei Prioritäten zugeordnet ist, geplanten Teilbahn; - nachfolgend eine Teilbahn zur Durchführung desjenigen Abschnitts der drei Abschnitte geplant wird, für den die Nebenbedingung vorgegeben ist, der die niedrigste der drei Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis eines der beiden bereits geplanten Teilbahnen; und - die geplanten Teilbahnen jeweils paarweise in je einem Übergangsbereich miteinander verbunden werden und diese verbundenen Teilbahnen die Bahn des Roboters oder einen Teil dieser Bahn bilden.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass - wenigstens einer der Abschnitte der Applikation einen Bearbeitungs-, Inspektions- und/oder Messabschnitt zum robotergestützten Bearbeiten, Inspizieren und/oder Messen eines Werkstücks und die zur Durchführung dieses Abschnitts geplante Teilbahn eine Bearbeitungs-, Inspektions- und/oder Messbahn des Roboters; und/oder - wenigstens einer der Abschnitte der Applikation einen Anfahrabschnitt zum Anfahren einer Bearbeitungs-, Inspektions- und/oder Messbahn oder einer Förder- oder Lagerstelle und die zur Durchführung dieses Abschnitts geplante Teilbahn eine Anfahrbahn des Roboters; und/oder - wenigstens einer der Abschnitte der Applikation einen Wegfahrabschnitt zum Wegfahren von einer Bearbeitungs-, Inspektions- und/oder Messbahn oder einer Förder- oder Lagerstelle und die zur Durchführung dieses Abschnitts geplante Teilbahn eine Wegfahrbahn des Roboters aufweist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Planen wenigstens einer der Teilbahnen zur Durchführung eines der Abschnitte der Applikation ein Teil derjenigen Nebenbedingung berücksichtigt wird, die zur Durchführung eines vorhergehenden oder anschließenden Abschnitts der Applikation vorgegeben ist und der eine niedrigere der Prioritäten zugeordnet ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens eine der Nebenbedingungen eine Kollisionsvermeidung, wenigstens eine Pose einer roboterfesten Referenz des Roboters und/oder eine Optimierung einer Fahrzeit, einer Belastung und/oder eines Energiebedarfs des Roboters zur Durchführung des entsprechenden Abschnitts der Applikation umfasst.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Roboter bezüglich wenigstens eines der Abschnitte der Applikation redundant ist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens eine der Teilbahnen mithilfe eines Optimierungsverfahrens geplant wird.
  8. Verfahren zum Steuern eines Roboters, mit den Schritten: - Planen einer Bahn des Roboters nach einem der vorhergehenden Ansprüche; und - Steuern des Roboters zum Abfahren der geplanten Planen, insbesondere zur Durchführung einer Applikation.
  9. System zur Planung einer Bahn eines Roboters zur Durchführung einer Applikation, insbesondere zum Steuern des Roboters, wobei das System zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: - Mittel zum Aufteilen der Applikation in wenigstens zwei aufeinanderfolgende Abschnitte; - Mittel zum Vorgeben einer Nebenbedingung für den einen Abschnitt dieser beiden Abschnitte und einer hiervon verschiedenen anderen Nebenbedingung für den anderen Abschnitt dieser beiden Abschnitte; - Mittel zum Zuordnen einer Priorität zu der einen dieser beiden Nebenbedingung und einer demgegenüber höheren oder niedrigeren Priorität zu der anderen dieser beiden Nebenbedingungen; - Mittel zum Planen einer Teilbahn zur Durchführung desjenigen Abschnitts der beiden Abschnitte, für den die Nebenbedingung vorgegeben ist, der die höhere der beiden Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung; - Mittel zum nachfolgenden Planen einer Teilbahn zur Durchführung desjenigen Abschnitts der beiden Abschnitte, für den die Nebenbedingung vorgegeben ist, der die niedrigere der beiden Prioritäten zugeordnet ist, unter Berücksichtigung dieser Nebenbedingung und auf Basis der zuvor bereits zur Durchführung desjenigen Abschnitts der beiden Abschnitte, für den die Nebenbedingung vorgegeben ist, der die höhere der beiden Prioritäten zugeordnet ist, geplanten Teilbahn; und - Mittel zum Planen der Bahn des Roboters zur Durchführung der Applikation, wobei die geplanten Teilbahnen in einem Übergangsbereich miteinander verbunden werden und diese verbundenen Teilbahnen die Bahn des Roboters oder einen Teil dieser Bahn bilden.
  10. Computerprogramm oder Computerprogrammprodukt, wobei das Computerprogramm oder Computerprogrammprodukt, insbesondere auf einem computerlesbaren und/oder nicht-flüchtigen Speichermedium gespeicherte, Anweisungen enthält, die bei der Ausführung durch einen oder mehrere Computer oder ein System nach Anspruch 9 den oder die Computer oder das System dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 8 durchzuführen.
DE102022208769.0A 2022-08-24 2022-08-24 Roboterbahnplanung und -steuerung Active DE102022208769B3 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022208769.0A DE102022208769B3 (de) 2022-08-24 2022-08-24 Roboterbahnplanung und -steuerung
PCT/EP2023/069746 WO2024041808A1 (de) 2022-08-24 2023-07-17 Planung von roboterbahnen und robotersteuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022208769.0A DE102022208769B3 (de) 2022-08-24 2022-08-24 Roboterbahnplanung und -steuerung

Publications (1)

Publication Number Publication Date
DE102022208769B3 true DE102022208769B3 (de) 2023-11-09

Family

ID=87429314

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022208769.0A Active DE102022208769B3 (de) 2022-08-24 2022-08-24 Roboterbahnplanung und -steuerung

Country Status (2)

Country Link
DE (1) DE102022208769B3 (de)
WO (1) WO2024041808A1 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011005513A1 (de) 2011-03-14 2012-09-20 Kuka Laboratories Gmbh Roboter und Verfahren zum Betreiben eines Roboters
DE102017129665B3 (de) 2017-12-12 2019-01-24 Pilz Gmbh & Co. Kg Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
DE102017011130B4 (de) 2017-12-01 2021-03-04 Kuka Deutschland Gmbh Verfahren und System zum Steuern eines Roboters
DE102020201398B3 (de) 2020-02-05 2021-04-01 Kuka Deutschland Gmbh Betreiben einer Applikation eines Robotersystems
DE102020206913A1 (de) 2020-06-03 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben eines Roboters
DE102020214231A1 (de) 2020-11-12 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104192B2 (en) * 2012-06-27 2015-08-11 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling machines according to pattern of contours
JP6114361B1 (ja) * 2015-11-02 2017-04-12 ファナック株式会社 オフラインのロボットプログラミング装置
IT201900021513A1 (it) * 2019-11-19 2021-05-19 Fondazione St Italiano Tecnologia Metodo e dispositivo elettronico per controllare il movimento di un robot umanoide o di un braccio robotico utilizzando il numero minore di gradi di libertà necessari all’esecuzione di un compito e relativo supporto di memorizzazione leggibile da un elaboratore elettronico
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011005513A1 (de) 2011-03-14 2012-09-20 Kuka Laboratories Gmbh Roboter und Verfahren zum Betreiben eines Roboters
DE102017011130B4 (de) 2017-12-01 2021-03-04 Kuka Deutschland Gmbh Verfahren und System zum Steuern eines Roboters
DE102017129665B3 (de) 2017-12-12 2019-01-24 Pilz Gmbh & Co. Kg Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
DE102020201398B3 (de) 2020-02-05 2021-04-01 Kuka Deutschland Gmbh Betreiben einer Applikation eines Robotersystems
DE102020206913A1 (de) 2020-06-03 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben eines Roboters
DE102020214231A1 (de) 2020-11-12 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung

Also Published As

Publication number Publication date
WO2024041808A1 (de) 2024-02-29

Similar Documents

Publication Publication Date Title
EP3013537B1 (de) Verfahren und system zur programmierung eines roboters
DE102019118637B4 (de) Automatische pfadgenerierungsvorrichtung
DE102010052253B4 (de) Verfahren und Steuermittel zur Steuerung einer Roboteranordnung
EP2500789B1 (de) Roboter und Verfahren zum Betreiben eines Roboters
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
WO2010040493A1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
WO2019020818A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
EP2418555A2 (de) Verfahren zur Offline-Programmierung eines NC-gesteuerten Manipulators
EP3067165B1 (de) Verändern einer initial vorgegebenen roboterbahn
DE102016000754A1 (de) Verfahren und System zur Bahnplanung eines redundanten Roboters
DE102017001131A1 (de) Verfahren und System zum Betreiben eines Roboters
DE102015009815A1 (de) Verfahren zum Steuern eines mobilen redundanten Roboters
DE102018203078B3 (de) Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie und zugehöriges Computerprogrammprodukt
DE102017213651A1 (de) Handhabungseinrichtung mit einem Roboter sowie Verfahren und Computerprogramm
EP3115857A1 (de) Trajektorienbestimmungsverfahren für nebenzeitbewegungen
EP2208584A1 (de) Verfahren und Vorrichtung zur Steuerung von Industrierobotern
DE102022208769B3 (de) Roboterbahnplanung und -steuerung
EP3569367A1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
DE102015008188B3 (de) Abfahren einer vorgegebenen Bahn mit einem Roboter
WO2019219790A1 (de) Robotersteuerung
AT525225B1 (de) Verfahren und Vorrichtung zur Bestimmung einer zeitoptimalen Trajektorie
EP3703914A1 (de) Verfahren und steuermittel zum steuern einer roboteranordnung
EP3810377B1 (de) Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose
DE102021212134B3 (de) Verfahren und System zum Betreiben eines Roboters
WO2019219795A1 (de) Steuern eines roboters

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final