DE19625637A1 - Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen - Google Patents

Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen

Info

Publication number
DE19625637A1
DE19625637A1 DE1996125637 DE19625637A DE19625637A1 DE 19625637 A1 DE19625637 A1 DE 19625637A1 DE 1996125637 DE1996125637 DE 1996125637 DE 19625637 A DE19625637 A DE 19625637A DE 19625637 A1 DE19625637 A1 DE 19625637A1
Authority
DE
Germany
Prior art keywords
collision
robot
configuration
area
robots
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.)
Withdrawn
Application number
DE1996125637
Other languages
English (en)
Inventor
Brink Carsten Dipl Ing Ten
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE1996125637 priority Critical patent/DE19625637A1/de
Publication of DE19625637A1 publication Critical patent/DE19625637A1/de
Withdrawn legal-status Critical Current

Links

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/39Robotics, robotics to robotics hand
    • G05B2219/39083Robot interference, between two robot arms

Description

Die vorliegende Erfindung betrifft das Erkennen und Vermeiden von Kollisionen zwischen zwei oder mehr Robotern im koordinierten Betrieb bzw. die damit ermöglichte Bestimmung kollisionsfreier Trajektorien für den koordinierten Betrieb und das Abfahren der so bestimmten Trajektorien.
Im Zeitalter fortschreitender Automatisierung von Fertigungsabläufen kommt dem Industrieroboter eine immer größer werdende Bedeutung zu. Eine große Anzahl der heute auf dem Markt befindlichen Roboter besitzt noch keine Anpassungsfähigkeit und kann nur in einem geordneten Umfeld arbeiten. Solche Roboter führen gewöhnlich nur einfache, sich ständig wiederholende Arbeiten wie zum Beispiel Punktschweißen, Lackieren oder das Beschicken und Entladen von Maschinen aus.
Roboter der folgenden Generation können sich bereits bestimmten Änderungen ihrer Umgebung selbständig anpassen. Voraussetzung für eine solche Fähigkeit ist entweder das Vorhandensein externer Sensorik oder der Einsatz geeigneter Bahnplanungssysteme. Auch diese Roboter finden hauptsächlich in Fertigungsbereichen der Industrie Anwendung. Neben den bereits genannten Aufgaben können diese Roboter durchaus bereits komplexere Werkzeug- bzw Werkstückhandhabungen ausführen. Mit dem Einsatz von Sensorik wird dem Roboter zudem die Möglichkeit gegeben, synchron zu den sich ändernden Anforderungen zu reagieren.
Einen anderen Ansatz verfolgt die Methode der Trajektorienplanung. Hier wird vorausgesetzt, daß der Arbeits­ raum des Roboters bekannt ist und daß vor allem eine adäquate Beschreibung zur weiteren Bearbeitung mit einem Computer-Programm zur Verfügung gestellt werden kann. Aufgrund der Gesamtheit der mit der Beschreibung des Arbeitsraumes zur Verfügung stehenden Informationen wird nun ein Verfahrweg, die Trajektorie, für den Roboter ermittelt.
Mit der Verfügbarkeit globaler Bahnplanungssysteme geht eine deutliche Erweiterung des bisherigen Anwendungsspektrums von Robotern einher. Die Roboter erreichen bereits eine gewisse Autonomie, die einen Einsatz insbesondere auch im Zusammenhang mit solchen Aufgaben nahelegen, die für den Menschen aufgrund der Umgebungsbedingungen (lebensfeindlich, - gefährlich) - wie z. B. Wartungsarbeiten in Kernkraftwerken, Einsatz in der Tiefsee, Umweltkatastrophen - nicht durchzuführen sind. Ein spezielles Einsatzgebiet, das in Zukunft vermutlich stark an Bedeutung gewinnen wird, ist der Einsatz in der Raumfahrt. Hier können Roboter zur Durchführung von Experimenten, zu Erkundungsaufgaben und Instandhaltungsarbeiten eingesetzt werden.
Zur weiteren Steigerung der Produktivität oder Flexibilität von Fertigungs- und Handhabungsprozessen wird insbesondere die Planung kollisionsfreier Trajektorien für einen koordinierten Mehrroboterbetrieb - mehrere Roboter arbeiten unabhängig in einem gemeinsamen oder überlappenden Arbeitsraum - relevant.
Bereits bei der Planung kollisionsfreier Trajektorien für einzelne autonome Roboter ergibt sich eine der hauptsächlichen Schwierigkeiten aus dem exponentiell mit der Anzahl der zu berücksichtigenden Freiheitsgrade zunehmenden Umfang der zu bearbeitenden Daten. Für den koordinierten Mehrroboterbetrieb folgt daraus aufgrund der erhöhten Dimensionalität des Problemes ein nochmaliger erheblicher Zuwachs der Datenmengen. Zudem stellt sich jeder Roboter für alle anderen beteiligten Roboter als bewegliches Hindernis dar, so daß die Datenbasen mit jeder Bewegung eines der Roboter einer kontinuierlichen Veränderung unterworfen sind.
Mit der hier vorliegenden Veröffentlichung soll eine Methode vorgestellt werden, welche die Bestimmung kolli­ sionsfreier Trajektorien für zwei in überlappenden Arbeitsräumen angeordnete Roboter gestattet. Zur Bewältigung dieser Aufgabe müssen bisher bekannte Planungskonzepte erweitert oder völlig neu ausgearbeitet werden.
Es wird ein geometrisches Verfahren entwickelt, das auf geeigneten Projektionen der Robotergeometrien basiert und damit den Umfang der zu bearbeitenden Daten auf noch effizient handhabbare Größenordnungen beschränkt. Durch die Ermittlung kritischer, d. h. kollisionsgefährdeter Bereiche des Arbeitsraumes und deren Transformation in die Konfigurationsebene ergeben sich die Kollisionsbereiche, die, bezogen auf die betrachteten Gelenke oder Gelenkgruppen, sämtliche kollisionsgefährdeten Konfigurationen enthalten und somit eine wirkungsvolle Kol­ lisionserkennung gestatten. Um darüber hinaus eine gleichzeitige kollisionsfreie Bewegung beider Roboter zu ermöglichen, ist eine geeignete Koordination der Bewegungen der beteiligten Roboter erforderlich. Die jeweiligen Bewegungsdaten können aus der Konfigurationsebene gewonnen werden, wobei die Kollisionsfreiheit durch das Vermeiden des Kollisionsbereiches gewährleistet wird. Die Bestimmung der Kollisionsbereiche erfolgt zusammen mit einer nachgeschalteten Trajektorienplanung ausreichend schnell, so daß das Verfahren für eine on-line Kollisionserkennung oder Trajektorienplanung geeignet ist.
Zur Verifikation der von der Trajektorienplanung gelieferten Ergebnisse bietet sich eine entsprechend leistungsfähige graphische Simulation an. Die vorgestellten Algorithmen und Datenstrukturen sind dabei prinzipiell unabhängig von der Kinematik des Roboters. Aufgrund der objekt-orientierten Realisierung der Software-Elemente ist neben der Übersichtlichkeit und der damit einhergehenden erleichterten Verifizierbarkeit sowohl die leichte Übertragbarkeit in andere Software-Pakete als auch eine wohldefinierte Schnittstelle für eventuelle Erweiterungen gegeben.
Die Beschränkung, in einen bestimmten Arbeitsraum nur jeweils einen Roboter einsetzen zu können, führt zwangsläufig zu einer Beschränkung der durchführbaren Aufgaben. Wenn zwei oder mehr Roboter in überlappenden Arbeitsräumen angeordnet werden, läßt sich damit in vielen Fällen sowohl die Produktivität als auch die Flexibilität des Produktionsprozesses selbst steigern. Mehrere Roboter können an einer "Gesamtaufgabe" arbeiten, wobei jeder beteiligte Roboter seine "Teilaufgabe" jeweils unabhängig von den anderen Robotern ausführt. Für Aufgaben dieser Art findet man in der Literatur häufig die Bezeichnung koordinierter Mehrroboterbetrieb [Freund 1984 | Freund, Hoyer 1986 | Freund, Borgolte 1990].
Demgegenüber können mit Mehrroboteranwendungen auch solche speziellen Arbeiten ausgeführt werden, die für einen einzelnen Roboter unmöglich sind. In diesem Zusammenhang ist zum Beispiel der Transport einer Nutzlast zu nennen, deren Gewicht die Kapazität eines einzelnen Roboters überschreiten würde. Für diese Aufgaben hat sich in der Literatur vielfach die Bezeichnung kooperativer Mehrroboterbetrieb [Ahmad 1993 | Tarn et al. 1987] durchgesetzt.
Die beiden Bezeichnungen koordinierter bzw. kooperativer Mehrroboterbetrieb werden im Rahmen dieser Arbeit im Sinne der vorstehenden Erläuterungen verwendet. Thema der Arbeit ist jedoch ausschließlich der koordinierte Mehrroboterbetrieb.
Die Trajektorienplanung sowohl für den koordinierten Betrieb mehrerer Roboter als auch für die kollisionsfreie Bewegung eines einzelnen Roboters kann generell entweder als on-line oder off-line Trajektorienplanung realisiert sein, wobei für die on-line Lösung insbesondere erhebliche Anforderungen bezüglich des Laufzeitverhaltens der entwickelten Verfahren bestehen. Der im Rahmen der vorliegenden Arbeit vorzustellende Ansatz wurde als on-line Lösung konzipiert, um auf diese Weise der drohenden kombinatorischen Explosion der anfallenden Datenmengen entgegenzuwirken. Daß der vorgestellte Ansatz trotz des on-line Konzeptes ein globales Lösungsverfahren darstellt, ist auf die Auswahl der betrachteten Daten sowie die geeignete Aufbereitung der Daten zurückzuführen. Im Gegensatz zu einem lokalen Verfahren werden lokale Extrema vermieden, so daß die optimale Gesamttrajektorie für den koordinierten Betrieb ermittelt werden kann.
1. Stand der Forschung
Der aktuelle Stand der Forschung wird im folgenden, gegliedert in die beiden Bereiche Trajektorienplanung und koordinierter Mehrroboterbetrieb, vorgestellt.
Zunächst werden in dem Abschnitt Trajektorienplanung Verfahren zur Generierung kollisionsfreier Trajektorien erläutert, soweit diese mit der hier vorliegenden Arbeit in Verbindung stehen. Dabei ist insbesondere das Konfigura­ tionsraumverfahren von besonderem Interesse, da es in vielfältigen Variationen im Bereich der Trajektorienplanung zum Einsatz kommt.
Ein Abschnitt, der sich ausschließlich der Trajektorienplanung für den koordinierten Mehrroboterbetrieb widmet, schließt die Übersicht über den Stand der Forschung ab. Die vorgestellten Verfahren werden an dieser Stelle lediglich kurz skizziert, ohne näher auf die sich ergebenden Probleme bzw. die verwendeten Lösungsstrategien einzugehen. Diese Diskussion erfolgt an geeigneter Stelle im Rahmen der weiteren Kapitel dieser Ausarbeitung.
1.1 Trajektorienplanung
Die Trajektorienplanung kennt lokale und globale Verfahren. Bei einem lokalen Verfahren wird vor jedem Bewegungsschritt ermittelt, ob eine Kollision droht; dann ist entweder ein sofortiges Anhalten des Roboters erforderlich oder aber es wird in einem nächsten Schritt ein Verfahren zur Kollisionsvermeidung eingesetzt. Mit einem solchen Verfahren werden bei einer drohenden Kollision Möglichkeiten zu deren Vermeidung ermittelt. Da es sich um ein lokales Verfahren handelt, besteht jedoch stets die Gefahr, daß sich der Roboter in eine "Sackgasse" manövriert. Auf eine Beaufsichtigung durch Bedienungspersonal kann somit nicht verzichtet werden.
Einen anderen Ansatz verfolgen globale Verfahren zur Bahn- oder Trajektorienplanung. Diese Verfahren können aufgrund des "globalen Überblicks" lokale Extrema vermeiden und sind somit in der Lage, für den Fall, daß eine Lösung existiert, diese auch zu finden. Beispiele für solche globale Verfahren sind z. B. die Octree-Methode oder das Konfigurationsraumverfahren.
Beim Konfigurationsraumverfahren [Lozano-P´rez 1983 | Adolphs, Nafziger 1990] wird die dreidimensionale Geometrie aller Elemente des Arbeitsraumes in einen n-dimensionalen (wobei n der Anzahl der Freiheitsgrade des betrachteten Roboters entspricht) Konfigurationsraum transformiert. Obwohl diese Transformation sehr rechenzeitaufwendig ist, profitiert das Verfahren insgesamt von der vereinfachten Trajektorienermittlung. Anstelle der Ermittlung einer Bewegungsbahn für den dreidimensionalen Roboter ist es bei Anwendung dieses Verfahrens ausreichend, die Bewegungsbahn für nur einen Punkt im Konfigurationsraum von einer Start- zu einer Zielkonfiguration zu bestimmen.
1.1.1 Planung kollisionsfreier Trajektorien mit dem Konfigurationsraumverfahren
Unter den bisher bekannten Verfahren zur Generierung kollisionsfreier Trajektorien hat sich in den letzten Jahren das Konfigurationsraumverfahren als ein besonders effizientes Verfahren herausgestellt.
Ein genereller Nachteil des Konfigurationsraumverfahrens ergibt sich jedoch aus der kombinatorischen Explosion der zu bearbeitenden Daten - bedingt durch die kinematische Verkettung der Freiheitsgrade. Dies führt bei einer Realisierung zu hohem Speicherbedarf und entsprechendem Rechenzeitaufwand. Dieser Umstand wirkt sich in gleicher Weise negativ auf die Generierung des Konfigurationsraumes - die Transformation der Daten des Arbeitsraumes - wie auch auf die Suche einer kollisionsfreien Trajektorie innerhalb des Konfigurationsraumes aus.
1.2 Koordinierter Mehrroboterbetrieb
Bereits bei der Planung kollisionsfreier Trajektorien für einen einzelnen Roboter in einem Arbeitsraum mit ortsfesten Hindernissen stellt die kombinatorische Explosion der zu betrachtenden Daten das Hauptproblem dar. Da im Falle zweier koordinierter gleichartiger Roboter die Anzahl der Freiheitsgrade des Gesamtsystemes verdoppelt wird, nimmt die theoretisch zu betrachtende Datenmenge nochmals exponentiell zu. Um die sich damit ergebenden Probleme zu vermeiden, wird von vielen Forschern der Ansatz des sogenannten Trajektorienscheduling (siehe Abschnitt 4.11) verfolgt.
Für den Fall eines gemeinsamen Betriebes zweier koordinierter Roboter können sich die separat - z. B. mit Hilfe des Konfigurationsraumverfahrens - geplanten Trajektorien derart überschneiden, daß es theoretisch zu einer Kollision kommen könnte. Wenn jedoch beide Roboter nicht gleichzeitig in dem kollisionsgefährdeten kritischen Bereich verweilen, kommt es dennoch nicht zu einer Kollision, so daß die geplanten Trajektorien verwendet werden können. Befinden sich dagegen beide Roboter gleichzeitig im kritischen Bereich so kann die drohende Kollision z. B. mittels der von [Lee | Lee 1987, Basta et al. 1988] vorgeschlagenen Verfahren vermieden werden. Mit dem Ansatz unterschiedlicher Prioritäten für die beteiligten Roboter kann sichergestellt werden, daß stets nur einer der Roboter in den kritischen Bereich eintreten darf. Bei einer drohenden Kollision setzt jeweils der Roboter mit höherer Priorität seine Bewegung ungehindert fort: der verbleibende Roboter nimmt seine Bewegung erst wieder auf, wenn der vorrangige Roboter den kritischen Bereich bereits wieder verlassen hat.
Durch einen auf geeignete Weise durchgeführten Vergleich der Parameter der beteiligten Systeme wird in den Arbeiten von [Freund 1984 | Freund 1986] eine Kollisionserkennung und -vermeidung erreicht. Diese Systemparameter ergeben sich als Parameter eines mathematischen Modelles, welches für das jeweils betrachtete System aufgestellt wird. Dabei werden Roboter einer bestimmten Struktur betrachtet, die offensichtlich - aufgrund der relativ geringen Anzahl von Freiheitsgraden sowie der nicht auftretenden Redundanz (der Arbeitspunkt des Roboters (tool-center-point) kann einen bestimmten Punkt im Arbeitsraum nur mit einer ein-eindeutigen Konfiguration erreichen) - mathematisch relativ einfach zu handhaben sind. Es handelt sich um Roboter mit einem zylinderförmigen Arbeitsraum; also mit einem rotatorischen Grundgelenk und zwei weiteren translatorischen Freiheitsgraden, so daß innerhalb eines zylinderförmigen Arbeitsraumes alle Punkte angefahren werden können.
Für einen koordinierten Mehrroboterbetrieb wird in [Freund 1986] einem realen niederprioren Roboter ein fiktiver permanent kollidierender Roboter zugeordnet. Zu einer Kollision kommt es dann, sobald die Parameter des fiktiven Roboters mit denen eines der beteiligten höherprioren Roboter übereinstimmen.
Dieser Ansatz wird schließlich von [Freund 1990] dahingehend erweitert, daß man von der Modellierung des permanent kollidierenden Roboters abgeht und statt dessen einen sogenannten virtuellen Hindernisroboter einführt. Dieser Roboter wird im Ursprung desjenigen Roboters, der bei Kollisionsgefahr ausweichpflichtig ist, konstruiert. Seine Rotationsachse ist so ausgerichtet, daß sie stets auf denjenigen Punkt des anderen beteiligten Roboters zeigt, der den kürzesten Abstand zum Arm des ausweichpflichtigen Roboters hat. Die Länge der Translationsachse hat stets einen solchen Wert, daß der kürzeste Abstand zwischen dem virtuellen und dem realen Roboter eingenommen wird. Die Kollisionserkennung erfolgt getrennt für beide betrachteten Freiheitsgrade. Als Maß für die Kollisionsgefahr gilt diejenige Zeit, die erforderlich ist, um den ausweichpflichtigen Roboter mit dem virtuellen Hindernisroboter zur Deckung zu bringen. Damit ergibt sich für jeden Freiheitsgrad für die Kollisionsgefahr ein Wert größer oder gleich Null, wobei Null gleichbedeutend mit einer bereits eingetretenen Kollision ist.
Zur Kollisionsvermeidung wird für jeden Freiheitsgrad eine zulässige Soll-Stellgröße so errechnet, daß dieser Freiheitsgrad in der Zeit, die der jeweils andere Freiheitsgrad bis zu einer Kollision benötigt, selbst der Kollision ausweichen kann. Diese berechneten Sollwerte werden immer dann zur Robotersteuerung verwendet, wenn sie die ursprünglichen - möglicherweise kollisionserzeugenden - Sollwerte einschränken.
2. Einführung in die Problematik
Bereits das Erkennen einer Kollisionen zwischen zwei ortsfesten Körpern im Raum erfordert einen nicht unerheblichen Rechen(zeit)aufwand. Man kann sich leicht vorstellen wie stark die benötigte Rechenzeit ansteigt, wenn potentielle Kollisionen zwischen N ortsfesten Körpern im Raum überwacht werden sollen. Da in diesem Fall jeder der N Körper mit jedem der (N-1) anderen Körper auf mögliche Kollisionen überprüft werden muß, ergibt sich hier nicht einfach nur ein N-facher Rechenaufwand, statt dessen steigt der Rechenaufwand mit dem Faktor n = ().
Als Beispiel mag von 10 Körpern im Raum ausgegangen werden. Der Rechenaufwand steigt in diesem Falle im Vergleich zu nur zwei Körpern im Raum um den Faktor
an. Im Vergleichsbeispiel mit nur zwei Körpern ist eine einzige Kollisionsprüfung ausreichend. Bei 10 Körpern sind insgesamt 45 dieser Kollisionsberechnungen erforderlich.
Dieses Rechenexempel zeigt bereits unmittelbar wie sehr der erforderliche Rechenaufwand mit zunehmender Anzahl zu berücksichtigender Körper ansteigt. Die Tabelle 1 stellt diesen Zuwachs nochmals anschaulich für einige ausgewählte Anzahlen von beteiligten Körpern dar.
Schon an dieser Stelle ist ersichtlich, daß bei der hier vorliegenden Themenstellung die Problematik weniger in der Komplexität der durchzuführenden Berechnungen als vielmehr in deren Anzahl zu sehen ist.
Betrachtet man jetzt noch zusätzlich bewegliche Körper im Raum, steigt die Anzahl der notwendigen Kollisionsprüfungen nochmals an. In diesem Falle müßten in bestimmten Zeitabständen alle beweglichen Körper nochmals mit allen ortsfesten und allen anderen beweglichen Körpern auf mögliche Kollisionen überprüft werden.
Als Beispiel mag hier eine Konfiguration mit 15 ortsfesten Körpern und 5 beweglichen Körpern betrachtet werden. In diesem Falle müssen die folgenden Kollisionsprüfungen durchgeführt werden: einmalig 190 Kollisionsprüfungen für 15 + 5 ortsfeste Körper, danach kontinuierlich 5 × 15 = 75 Kollisionsprüfungen zwischen jedem beweglichen Körper und den 10 ortsfesten Körpern zuzüglich () = 10 Kollisionsprüfungen zwischen den beweglichen Körpern untereinander. Die ortsfesten Körper müssen nach ihrer einmaligen Berücksichtigung nicht mehr erneut betrachtet werden, da sich an deren Positionen zueinander keine Änderungen ergeben können, so daß die einmalige Betrachtung ausreicht. Damit ergibt sich insgesamt die Notwendigkeit für 85 kontinuierliche Kollisionsprüfungen.
Werden alle diese Kollisionsprüfungen off-line durchgeführt, so ergibt sich aus der Notwendigkeit der Berücksichtigung beweglicher Körper kein zusätzliches Problem. Sollen dagegen die Berechnungen on-line (evtl. sogar in Echtzeit) durchgeführt werden, so ergibt sich aus der Anzahl der notwendigen kontinuierlichen Kollisions­ prüfungen unter Berücksichtigung der zur Verfügung stehenden Rechenleistung die erforderliche Diskretisierung der Zeitachse.
Wenn für die erforderlichen Berechnungen keine besondere Hardware mit einer außergewöhnlich hohen Rechenleistung zur Verfügung steht, so müssen an einer gewissen Anzahl von beweglichen Körpern Verfahren zum Einsatz kommen, mit deren Hilfe die Anzahl der notwendigen Kollisionsprüfungen reduziert werden kann. In der Literatur gibt es zu diesem Zweck bereits verschiedene Ansätze, von denen einige - soweit sie im Zusammenhang mit der hier vorliegenden Arbeit relevant werden - in den folgenden Abschnitten vorgestellt werden.
2.1 Möglichkeiten zur Detektion von Kollisionen
Bei dem hier vorliegenden Problem, Kollisionen eines oder mehrerer Roboter untereinander oder mit Hindernissen im Arbeitsraum zu erkennen, ist es erforderlich, Berührungen oder Durchdringungen von dreidimensionalen Körpern - von grundsätzlich beliebiger Struktur - im dreidimensionalen Raum zu erkennen.
Der bereits im vorangegangenen Abschnitt angedeuteten Problematik einer kombinatorischen Explosion der Anzahl der durchzuführenden Kollisionsprüfungen kann begegnet werden, indem der gesamte zu betrachtende Raum sukzessive in immer kleinere Raumsegmente aufgeteilt wird. Kollisionsprüfungen sind dann nur noch zwischen solchen Körpern erforderlich, die innerhalb ein und desselben Raumsegmentes liegen.
Diesen Umstand macht man sich z. B. bei einem speziellen Ansatz zur Kollisionserkennung zu nutze, der auf der Anwendung eines Octrees [Faverjon 1984 | Samet 1984] beruht.
2.1.1 Das Konfigurationsraumverfahren
Mit Hilfe des sogenannten Konfigurationsraumverfahrens [Lozano-P´rez 1983 | Adolphs 1990] gelingt in ausgezeich­ neter Weise sowohl eine Kollisionserkennung wie auch eine globale Trajektorienplanung für einzelne Roboter in einem Arbeitsraum mit ortsfesten Hindernissen. Das Konfigurationsraumverfahren erfordert die Transformation aller Hindernisse in den Konfigurationsraum. Die Transformation selbst ist unter Umständen sehr rechenzeitaufwendig; da jedoch schließlich sämtliche Kollisionsprüfungen innerhalb des Konfigurationsraumes - der im Falle ortsfester Hindernisse keiner weiteren Anpassungen bedarf - durchgeführt werden können, stellt sich dieses Verfahren insgesamt als sehr effektiv dar.
Eine Konfigurationsraumdarstellung gehört immer explizit zu einem ganz bestimmten Robotertypus. Dies bedeutet insbesondere, daß sich der Konfigurationsraum eines Roboters auch dann von demjenigen eines Roboters mit abweichender Kinematik unterscheidet, wenn der Aufbau des Arbeitsraumes - d. h. Anzahl, Position und Orientierung der Hindernisse - in beiden Fällen identisch ist.
Unter einem Konfigurationsraum versteht man allgemein einen n-dimensionalen (wobei n unmittelbar der Anzahl der Freiheitsgrade des Roboters entspricht) Raum, auf dessen Koordina­ tenachsen die einzelnen Konfigurationen - d. h. die Gelenkstellungen - des Roboters abgetragen werden. Man spricht in diesem Zusammenhang sowohl von der Gelenkskonfiguration - bei der mit einem skalaren Wert ki die Stellung des jeweiligen Gelenkes, z. B. bei einem rotatorischen Gelenk in Winkelgrad, ausgedrückt wird - wie von der Roboterkonfiguration. Im letzteren Falle werden die Konfigurationen ki der einzelnen Gelenke des Roboters zu einem Konfigurationsvektor zusammengefaßt.
Der sich ergebende n-dimensionale Konfigurationsvektor bezeichnet somit unmittelbar einen Punkt des n-dimensionalen Konfigurationsraumes.
Mit Hilfe der Daten des Konfigurationsvektors nach Beziehung (2) können dementsprechend Position und Orientierung jedes Gelenkes eines Roboters durch die Festlegung aller Stellungswerte [k₀, . . ., kn-1] eindeutig bestimmt werden.
Der Konfigurationsraum selbst ist durch die physikalischen Randbedingungen bei der Bewegung der Roboter­ gelenke beschränkt. So gibt es für jeden Freiheitsgrad ein Begrenzungsintervall [ki min, ki max], innerhalb dessen der jeweilige Konfigurationswert ki liegen darf:
ki min ki ki max (3)
Sowohl Darstellung als auch weitergehende Verarbeitung der Daten des Konfigurationsraumes sind sinnvoll nur dann möglich, wenn durch Diskretisierung der Konfigurationswerte eine Reduktion der anfallenden Daten erzielt wird.
Da auf diese Weise ein jedes der Begrenzungsintervalle (für jeden einzelnen Freiheitsgrad) eine abzählbare Anzahl von Konfigurationswerten - abhängig von der gewählten Diskretisierungsweite di - einschließt, ergibt sich der Konfigurationsraum selbst als diskreter Konfigurationsraum.
Die Anzahl der "Punkte" des diskreten Konfigurationsraumes ergibt sich somit nach der folgenden Beziehung:
2.1.2 Kollisionserkennung unter Verwendung des Konfigurationsraumverfahrens (K-Raum-Verfahren)
Bei einer Anwendung des Konfigurationsraumverfahrens zur Kollisionserkennung muß prinzipiell für jeden der N Punkte des Konfigurationsraumes ermittelt werden, ob die zugehörige Konfiguration kollisionsfrei ist oder nicht.
Dies führt - wie [Heine 1992 | Schnare 1992] zeigen - auch noch für den Fall des diskreten Konfigurationsraumes zu einem enormen Datenaufkommen. Wird z. B. für einen Roboter mit fünf Freiheitsgraden für jeden Freiheitsgrad ein Bewegungsbereich von 120° bei einer Diskretisierungsweite von di = 3° angenommen, so ergeben sich nach (Gleichung (4) insgesamt ()⁵ = 102,40 × 10⁶ Punkte innerhalb des diskreten Konfigurationsraumes.
Diese Datenmengen stellen - ohne auf ihre erforderliche weitere Verarbeitung einzugehen - bereits beträchtliche Anforderungen an die Speicherkapazität der Steuerungshardware. Wird für jeden Punkt des diskreten Konfigura­ tionsraumes exakt 1 Bit (z. B. 1 → "Kollision"; 0 → "kollisionsfrei") benutzt, so sind für das oben angeführte Zahlenbeispiel ca. 12M Byte Speicherplatz erforderlich.
Bei den in [Heine 1992 | Schnare 1992] vorgeschlagenen Vorgehen wird die erforderliche Reduktion der Datenmengen durch eine Entkopplung der Haupt- und Handachsen erreicht. Es ergibt sich somit jeweils ein diskreter dreidimensionaler Konfigurationsraum für die Hauptachsen mit - entsprechend dem obigen Zahlenbeispiel - 64 000 "Punkten" sowie ein diskreter zweidimensionaler Konfigurationsraum für die Handachsen mit 1600 "Punkten".
Zur Reduktion der Datenmengen greifen [Find, Wend 1991] auf den Quad- bzw. Octree zurück. In diesem Falle wird anstelle des dreidimensionalen Raumes der Konfigurationsraum durch die Baumstruktur des Quad- bzw. Octrees hierarchisch aufgeteilt, so daß für jeden Endknoten einer solchen Struktur die Speicherung weniger charakteristischer Konfigurationswerte ausreicht.
Die sich so ergebenden Datenmengen werden für eine Problemstellung mit einem einzelnen Roboter in einem Arbeitsraum mit ortsfesten Hindernissen handhabbar, in dem Sinne, daß sowohl ihre Speicherung als auch die anschließende Auswertung zur Trajektorienplanung möglich wird.
Der Roboter selbst reduziert sich innerhalb der Darstellung des Konfigurationsraumes zu einem einzelnen Punkt dieses Raumes. Unmittelbar verständlich wird dies, wenn berücksichtigt wird, daß der n-dimensionale Konfigura­ tionsvektor nach Beziehung (2), der eine vollständige Beschreibung der aktuellen Stellungen der Robotergelenke liefert, genau einen Punkt des n-dimensionalen Konfigurationsraumes bezeichnet.
Wird der Roboter auf diese Weise ausschließlich durch den aktuellen Konfigurationsvektor beschrieben, so wird lediglich die kinematische Struktur des Roboters, nicht aber die räumliche Struktur der einzelnen Segmente des Roboters berücksichtigt. Da jedoch selbstverständlich auch die räumlichen Dimensionen der Robotersegmente zu berücksichtigen sind, werden die ortsfesten Hindernisse des Arbeitsraumes entsprechend der Dimensionen der Elemente des Roboters expandiert. Unter Berücksichtigung der sich so ergebenden Zuwachshindernisse anstelle der realen Hindernisse wird die Darstellung des Roboters als einzelner Punkt innerhalb des Konfigurationsraumes zulässig.
2.1.3 Trajektorienplanung unter Verwendung des Konfigurationsraumverfahrens
Das prinzipielle Vorgehen für die Kollisionserkennung ist jetzt trivial. Eine Kollision liegt dann und nur dann vor, wenn der die Position des Roboters beschreibende Konfigurationsvektor mit einer kollisionsgefährdeten Konfiguration des Konfigurationsraumes übereinstimmt.
Die angestrebte Zielkonfiguration - als Endpunkt der Trajektorie - kann, genauso wie die aktuelle Konfigu­ ration des Roboters, durch einen weiteren Konfigurationsvektor beschrieben werden. Entsprechend kann schließlich die gesamte Trajektorie durch eine Folge solcher Konfigurationsvektoren beschrieben werden, wobei der erste Vektor dieser Folge die aktuelle Startkonfiguration, der letzte Vektor die angestrebte Zielkonfiguration und alle dazwischen liegenden Vektoren Stützstellen auf der Trajektorie beschreiben.
Jede dieser Konfigurationen ist dabei durch den vollständigen Konfigurationsvektor festgelegt, so daß eine Trajektorie in diskretisierter Form - aufgenommen in äquidistanten Zeitpunkten k·Δt - in allgemeiner Form wie folgt beschrieben werden kann
wobei der Index n die Anzahl der Freiheitsgrade des Roboters und der Index j die Anzahl der Stützstellen auf der Trajektorie angibt.
Das Verfahren zur Generierung einer kollisionsfreien Trajektorie für einen einzelnen Roboter in einem Ar­ beitsraum mit ortsfesten Hindernissen kann - stark vereinfacht - auf die beiden folgenden Schritte reduziert werden:
  • - Aufstellen des Konfigurationsraumes anhand der Daten über die Geometrie des Roboters und die im Arbeitsraum vorhandenen ortsfesten Hindernisse.
  • - Auswerten der Daten des Konfigurationsraumes mit anschließender Generierung der kollisionsfreien Trajektorie.
Ziel der Trajektoriengenerierung muß es sein, im Konfigurationsraum einen möglichst kurzen Weg zu finden, der sämtliche kollisionsbehafteten Konfigurationen vermeidet und gleichzeitig die aktuelle Startkonfiguration mit der angestrebten Zielkonfiguration verbindet.
2.2 Eignung des Konfigurationsraumverfahrens für die vorliegende Aufgabenstellung
Das Konfigurationsraumverfahren soll in den sich anschließenden Abschnitten unter dem Gesichtspunkt der eventuellen Eignung zur Bearbeitung der dieser Arbeit zugrunde liegenden Problematik näher untersucht werden.
Zunächst ist für den Fall koordinierter Roboter der Ansatz denkbar, für jeden Roboter alle anderen beteiligten Roboter als bewegliche Hindernisse aufzufassen. Der Vorteil eines solchen Vorgehens läge darin, daß auf aus der Literatur bekannte Planungskonzepte zurückgegriffen werden könnte.
In Abschnitt 2.2.1 wird darum einleitend die Repräsentation beweglicher Hindernisse im Konfigurationsraum zusammen mit den sich daraus ergebenden Problematiken diskutiert. Aufgrund des jedoch auf diese Weise drohenden Verlustes der wichtigen Eigenschaft des Konfigurationsraumverfahrens, globale Lösungen zu liefern, wird sich diese Herangehensweise als ungeeignet zur Lösung der aktuellen Problemstellung erweisen.
Weiterhin bietet sich an, die Dimension des jeweils betrachteten Konfigurationsraumes so zu erhöhen, daß sich für beide betrachteten Roboter ein - jetzt höher-dimensionaler - Konfigurationsraum ergibt. Dieser mögliche Ansatz wird in Abschnitt 2.2.3 untersucht. Es werden sich jedoch auch in diesem Falle eine Anzahl von Problemen auftun - im wesentlichen in Verbindung mit der erforderlichen Speicherkapazität bzw. der benötigten Rechenleistung -, die eine weitere Verfolgung eines solchen Ansatzes zum gegenwärtigen Zeitpunkt nicht ratsam erscheinen lassen.
2.2.1 Anwendung des Konfigurationsraumverfahrens im Falle beweglicher Hindernisse innerhalb des Arbeitsraumes
Beide im vorangegangenen Abschnitt aufgeführten Schritte zur Trajektorienplanung - das Aufstellen des Konfigu­ rationsraumes und dessen sich anschließende Auswertung - können vor der eigentlichen Bewegung des Roboters ausgeführt werden, so daß die Zeit, die zur Aufstellung und Auswertung des Konfigurationsraumes erforderlich ist, nicht von ausschlaggebender Bedeutung ist. Befinden sich dagegen auch bewegliche Hindernisse im Arbeitsraum, so ist dies nicht mehr der Fall:
Satz 1: Befinden sich bewegliche Hindernisse im Arbeitsraum eines Roboters, so ändert sich der (diskrete) Konfigurationsraum mit jeder Bewegung eines solchen Hindernisses.
Somit ist nach jeder Bewegung eines Hindernisses der Konfigurationsraum - zumindest jedoch dessen betrof­ fener Bereich - neu zu bestimmen. Gleichfalls ist, anhand der Daten des veränderten Konfigurationsraumes, eine erneute Generierung der kollisionsfreien Trajektorie vorzunehmen. Dies führt unmittelbar zu den beiden folgenden Problemen, die hier zunächst in Form von Thesen präsentiert und in den sich anschließenden Abschnitten diskutiert werden sollen.
These 1: Bei einer Anwendung des Konfigurationsraumverfahrens im Falle beweglicher Hindernisse kann die Zeit, die bis zur Generierung der kollisionsfreien Trajektorie verstreicht, nicht mehr vernachlässigt werden.
These 2: Im Falle beweglicher Hindernisse innerhalb des Arbeitsraumes degeneriert das Konfi­ gurationsraumverfahren für die Bestimmung der Gesamt-Trajektorie zu einem lokalen Verfahren.
Da im Falle beweglicher Hindernisse der Konfigurationsraum kontinuierlich aktualisiert werden muß, kann die Trajektorienplanung nicht mehr off-line durchgeführt werden, sondern muß synchron zu den Veränderungen des Konfigurationsraumes ablaufen. Für eine solche on-line Trajektorienplanung muß sich ein Zeitbedarf von mehreren Sekunden - auch im Falle sich nur langsam bewegender Hindernisse - als zu groß herausstellen.
Um Kollisionen dennoch auch in diesem Falle wirksam zu vermeiden, müßte die maximale Geschwindigkeit der bewegten Hindernisse geschätzt werden. Die realen Hindernisse wären dann in einem nächsten Schritt - analog zu den Zuwachshindernissen - so auszudehnen, daß in dem ausgedehnten Rauminhalt nicht nur das Hindernis zum gegenwärtigen Zeitpunkt, sondern auch die geschätzte Position des bewegten Hindernisses enthalten wäre. Dies ginge natürlich mit einer Verringerung des im Konfigurationsraum als kollisionsfrei erkannten Raumes zwischen den Hindernissen einher, so daß die Qualität der Kollisionserkennung und mithin die Qualität der schließlich generierten Trajektorie in entscheidendem Maße abnimmt.
Da während der Zeitspanne, in der der Konfigurationsraum aktualisiert und eine Trajektorienplanung durchgeführt wird, sinnvollerweise die Bewegung des Roboters fortgesetzt wird und gleichzeitig mit einer Bewegung der Hindernisse zu rechnen ist, müssen zur ausreichenden Expansion der Hindernisse nicht nur die Bewegungen der Hindernisse selbst, sondern zudem die Bewegungsmöglichkeiten des Roboters berücksichtigt werden. Es ist jedoch unmittelbar einsichtig, daß auf diese Weise die Bewegungsmöglichkeiten des Roboters so extrem eingeschränkt werden, daß unter Umständen eine kollisionsfreie Trajektorie nicht mehr gefunden werden kann.
Somit scheint das Konfigurationsraumverfahren für eine on-line Trajektorienplanung - wie sie im Falle beweglicher Hindernisse im Arbeitsraum erforderlich wird - nur noch dann sinnvoll einsetzbar, wenn durch eine entscheidende Verringerung der Rechenzeiten näherungsweise diejenigen Verhältnisse des beschriebenen off-line Falles hergestellt werden könnten.
Für eine derartige Reduktion der sich ergebenden Rechenzeiten müßte auf entsprechend leistungsfähigere Hardware - z. B. Parallelrechner - zurückgegriffen werden. Allerdings bleibt auch für den Fall einer erheblich reduzierten Rechenzeit die mit These 2 formulierte Aussage zu berücksichtigen.
Der entscheidende Vorteil, der das Konfigurationsraumverfahren gegenüber anderen Verfahren zur Generierung kollisionsfreier Trajektorien für einen einzelnen Roboter in einem Arbeitsraum mit ortsfesten Hindernissen auszeichnet, ist der Umstand, daß es sich um ein globales Verfahren handelt. Mit Hilfe eines solchen globalen Verfahrens ist es z. B. möglich, lokale Extrema zu umgehen, so daß eine kollisionsfreie Trajektorie immer auch gefunden werden kann, falls eine solche existiert. Kommt das Konfigurationsraumverfahren im Falle beweglicher Hindernisse zum Einsatz, so geht unmittelbar dessen Eigenschaft als globales Verfahren verloren; eine Kollisionser­ kennung sowie gleichfalls die Trajektorienplanung gelingt nur noch jeweils für die zu einem bestimmten Zeitpunkt betrachtete Konstellation des Arbeitsraumes anhand des jeweils zugehörigen Konfigurationsraumes.
Naturgemäß ist die Trajektorie, die anhand der Daten des aktuellen Konfigurationsraumes generiert wird, weiterhin global optimal; dies jedoch nur für den jeweils aktuellen Konfigurationsraum. Nach der Bewegung eines Hindernisses kann die zuvor bestimmte Trajektorie zu einer Kollision mit dem bewegten Hindernis führen, so daß nach jeder Bewegung eines Hindernisses die erneute Trajektoriengenerierung unabdingbar erforderlich ist.
Auch wenn das Konfigurationsraumverfahren weiterhin konzeptionell durchaus ein globales Verfahren bleibt - da weiterhin jeweils der gesamte Lösungsraum betrachtet wird -, liefert es aufgrund der veränderten Randbedingungen möglicherweise nur noch solche Lösungen, wie sie auch von lokalen Methoden erwartet werden können. Insbesondere ist in diesem Zusammenhang die Gefahr eines Scheiterns in "lokalen" Extrema zu nennen.
2.2.2 Koordinierte Roboter als bewegliche Hindernisse
Bereits mehrfach wurde darauf hingewiesen, daß sich im Falle eines Betriebes mehrerer Roboter in einem gemeinsamen Arbeitsraum jeder Roboter für alle anderen beteiligten Roboter als bewegliches Hindernis darstellt. Anstelle eines einfachen beweglichen Hindernisses kann also ganz analog ein "Hindernis"-Roboter betrachtet werden.
Ein als bewegliches Hindernis aufgefaßter Roboter stellt sich im Konfigurationsraum jeweils als zusam­ menhängendes Gebiet kollisionsbehafteter Konfigurationen dar. Mit zunehmender Bewegung des Hindernisroboters steigt die Wahrscheinlichkeit einer Ausbildung nicht zusammenhängender Gebiete und damit lokaler Extrema im Konfigurationsraum, in denen die Trajektoriensuche zu scheitern droht. Da dies jedoch im Rahmen der bisher vorgestellten Möglichkeiten erst zum Zeitpunkt des Auftretens der lokalen Extrema erkennbar ist, mithin also erst bei der Betrachtung sämtlicher sich entlang eines relevanten Zeitintervalles ergebender Konfigurationsräume erkannt werden kann, gilt es festzuhalten, daß für eine Realisierung einer solchen Trajektorienplanung nicht nur der jeweils aktuelle Konfigurationsraum, sondern gleichzeitig n zeitlich aufeinander folgende Konfigurationsräume - bis zur angestrebten Zielkonfiguration - einzubeziehen sind. Selbstverständlich muß sich ein solches Vorgehen aufgrund der damit einhergehenden Speicherplatzanforderungen als nicht praktikabel herausstellen.
Aus diesen Beobachtungen ergibt sich, daß eine kollisionsvermeidende koordinierte Bewegung nur dann gelingt, wenn beide Roboter gesteuert werden können. Dementsprechend kann es nicht ausreichen, einen Roboter ausschließlich als bewegliches Hindernis für einen anderen Roboter aufzufassen, der dann diesem Hindernis auszuweichen versucht. Bereits die vorangehenden Überlegungen haben gezeigt, daß es im Falle von beweglichen Hindernissen zu abgeschlossenen Bereichen innerhalb des Konfigurationsraumes kommen kann. Befindet sich der Roboter innerhalb eines solchen abgeschlossenen Bereiches, so muß die Bewegung scheitern, wenn das erforderliche Verlassen des abgeschlossenen Bereiches zum Erreichen der angestrebten Zielkonfiguration nicht möglich ist.
Wäre hingegen auch die Bewegung des als Hindernis aufgefaßten Roboters beeinflußbar, so könnte eine solche Beeinflussung dahingehend erfolgen, daß die Bewegung des Hindernisroboters erst dann erfolgt, wenn der andere beteiligte Roboter bereits denjenigen abgeschlossenen Bereich des Konfigurationsraumes erreicht hat, in dem auch die Zielkonfiguration liegt.
2.2.3 Behandlung zweier koordinierter Roboter mit m bzw. n Freiheitsgraden im (m + n)-dimensionialen Konfigurationsraum
Anhand der bisher angestellten Überlegungen wird offensichtlich, daß die Behandlung des Problemes koordinierter Roboter die Betrachtung eines höher-dimensionalen Konfigurationsraumes erfordert. Richtet sich die Dimension des Konfigurationsraumes im Falle eines einzelnen Roboters nach der Anzahl der Freiheitsgrade dieses Roboters, so ergibt sich die Dimension des Konfigurationsraumes im Falle zweier Roboter aus der Summe der Anzahl der Freiheitsgrade der beteiligten Roboter.
Im Falle zweier koordinierter Roboter in einem gemeinsamen Arbeitsraum ist für eine globale Trajektorienpla­ nung mit Hilfe der Konfigurationsraummethode die Aufstellung eines (m + n)-dimensionalen Konfigurationsraumes erforderlich. Im Falle von jeweils 3 Freiheitsgraden für jeden der beteiligten Roboter ergibt sich also mit m + n = 3 + 3 ein 6-dimensionaler Konfigurationsraum. Der Übergang zur Trajektorienplanung im (m + n)-dimensionalen Konfi­ gurationsraum vermeidet das Scheitern innerhalb eines abgeschlossenen Gebietes. Aufgrund der erhöhten Dimension bilden sich abgeschlossene Gebiete nicht mehr aus.
Auch wenn sich dies auf den ersten Blick als Lösung der zu bearbeitenden Problemstellung darstellt, hat der Ansatz eines (m + n)-dimensionalen Konfigurationsraumes doch nur theoretischen Wert. Das damit verbundene Datenaufkommen hat sich bereits in den Arbeiten von [Heine 1992 | Schnare 1992] als nicht handhabbar herausgestellt. Für koordinierte Roboter mit mehr als jeweils drei Freiheitsgraden wächst das Datenaufkommen nochmals deutlich an, so daß für zwei koordinierte Roboter mit jeweils sechs Freiheitsgraden schließlich ein 12-dimensionaler Konfigurationsraum aufgestellt werden muß.
Um einen Eindruck von den unter diesen Umständen zu erwartenden Datenaufkommen zu vermitteln, sei auf die Tabelle 2 verwiesen. Diese Tabelle zeigt die nach Gleichung (4) bestimmte Anzahl von "Punkten" im n-dimensionalen Konfigurationsraum bei einem Bewegungsbereich von jeweils 120° für jedes Gelenk sowie unterschiedlicher Diskretisierungsweiten dv.
Selbstverständlich ist die schlichte Speicherung der Daten des Konfigurationsraumes, die hier bisher im wesentlichen betrachtet wurde, nicht ausreichend, um das zu erwartende Datenaufkommen zu quantifizieren. Zur Trajektorienplanung müssen diese Daten auch ausgewertet werden. Im allgemeinen werden zur Trajektorien­ suche Verfahren aus der Graphentheorie angewendet. Im Verlauf solcher Verfahren ist es erforderlich, zulässige Verbindungen zwischen einzelnen Knoten des Graphen zu bestimmen. Bis zu einer bestimmten Datenmenge des Konfigurationsraumes kann jede einzelne Konfiguration als Knoten des Graphen aufgefaßt werden. Eine zulässige Kante ist in diesem Falle jede Verbindung von einem Knoten zu seinem direkten Nachbarknoten, sofern dieser selbst keine kollisionsbehaftete Konfiguration darstellt.
Ein solcher Graph erfordert einen zusätzlichen Speicherbereich, der noch dazu erheblich größer ist, als derjenige des zugehörigen Konfigurationsraumes, da zu jedem Knoten die möglichen Verbindungen zu den Nachbarknoten zu speichern sind. Wurde im Beispiel aus Abschnitt 2.1.2 noch 1 Bit für jede Konfiguration des Konfigurationsraumes veranschlagt, so ist in diesem Falle mit einem erforderlichen Speicherplatz von bis zu (n-1) × 32 Bit für jeden einzelnen Konfigurationswert innerhalb des Graphen auszugehen. Hier ergibt sich für den Graphen zu einen 6-dimensionalen Konfigurationsraum bei einem Bewegungsbereich von 120° für jedes Gelenk und einer Diskretisierungsweite von 6° ein Speicherbedarf von 732M Byte, wobei davon ausgegangen wird, daß durchschnittlich von jedem Knoten Verbindungen zu drei Nachbarknoten bestehen. Dies entspricht einer Speicherkapazität, die zum Zeitpunkt der Niederschrift dieser Arbeit üblicherweise erst von Festplattenlaufwerken angeboten wird.
Da aufgrund eines derartigen Speicherbedarfes nicht jeder einzelne Konfigurationsvektor seine Entsprechung in einem Knoten des Graphen finden kann, sind mit Hilfe geeigneter Heuristiken bestimmte Konfigurationen als Knoten des Graphen auszuwählen.
Damit bereitet jedoch die Ermittlung zulässiger Verbindungen zwischen den einzelnen Knoten Schwierigkeiten. Die kollisionsbehafteten Gebiete eines n-dimensionalen Konfigurationsraumes stellen sich entsprechend als n-dimensionale, zerklüftete - also durchaus nicht-konvexe - Körper dar. Zur Überprüfung der Gültigkeit einer Verbindung sind dann - für jede einzelne Verbindung - dementsprechend Kollisionsprüfungen im n-dimensionalen Raum vorzunehmen.
Obwohl also auf diese Weise auf der einen Seite eine Reduktion des erforderlichen Speicherbedarfs erreicht werden kann, führt ein solches Vorgehen andererseits zwangsläufig zu einem nochmals ganz erheblich erhöhten Rechenzeitbedarf, der die Anwendung des Verfahrens scheitern lassen muß.
Weiterhin ist zu berücksichtigen, daß die Erkennung kollisionsfreier Übergänge zwischen zwei Konfigurationsvektoren durch eine eventuell zu grobe Diskretisierung des Konfigurationsraumes - sowie zusätzlich durch die sich anschließende weitere Verringerung der betrachteten Konfigurationen zur Aufstellung eines Graphen - erheblich erschwert wird.
Zur Verdeutlichung sei exemplarisch in einem zweidimensionalen diskreten Konfigurationsraum mit der Diskretisierungsweite d ein einfaches, konvexes Konfigurationsraumhindernis angenommen. Rund um dieses Hindernis sind kollisionsfreie Konfigurationen sowie innerhalb des Hindernisses kollisionserzeugende Konfigurationen bekannt. Zur Aufstellung des Graphen, aus dem in einem abschließenden Schritt die kollisionsfreie Trajektorie zu ermitteln ist, werden nun kollisionsfreie Verbindungen zwischen kollisionsfreien Konfigurationen und ihren gleichfalls kollisionsfreien Nachbarkonfigurationen gesucht.
Werden die Daten des Konfigurationsraumes in einem n-dimensionalen Feld gespeichert - wie sich dies im Falle eines diskretisierten Konfigurationsraumes anbietet -, so sind jeweils die Verbindungen zu den direkten Nachbarkonfigurationen auf mögliche Kollisionen zu untersuchen.
Durch die vorgenommene Diskretisierung des Konfigurationsraumes gehen jedoch kollisionserzeugende Konfigurationen auf der Umrandung des Konfigurationsraumhindernisses verloren, die eigentlich benötigt würden, um eine Kollision entlang einer Verbindung mit Sicherheit ausschließen zu können. Aus diesem Grunde gibt es Verbindungen, die, obwohl sie von einer kollisionsfreien Konfiguration zu einer gleichfalls kollisionsfreien Nachbarkonfiguration führen, dennoch das Konfigurationsraumhindernis schneiden und somit bei einer Bewegung entlang dieser Verbindung eine Kollision hervorrufen würden.
2.3 Zusammenfassende Bewertung
Die bisher in diesem Kapitel angestellten Überlegungen können nunmehr kurz wie folgt zusammengefaßt werden:
  • - Es gibt entweder die Möglichkeit, nach jeder Veränderung des Arbeitsraumes den zugehörigen Konfigura­ tionsraum neu zu bestimmen sowie zusätzlich eine erneute Trajektorienplanung vorzunehmen.
    Damit wird jedoch implizit auf den globalen Charakter der Konfigurationsraummethode verzichtet, so daß ein Scheitern der Trajektoriensuche in einem abgeschlossenen Bereich droht.
  • - Dies kann mit dem Übergang zum (m + n)-dimensionalen Konfigurationsraum entsprechend der insgesamt vorhandenen Freiheitsgrade vermieden werden.
    Allerdings ist in diesem Falle von einem so erheblichen Datenaufkommen auszugehen, daß bereits die Speicherung der Daten des Konfigurationsraumes Schwierigkeiten bereitet. Nochmals zusätzlicher Speicherplatz sowie eine erhebliche Rechenleistung wird für die sich anschließende weitere Verarbeitung dieser Daten im Hinblick auf eine globale Trajektorienplanung erforderlich.
Die Aufgabe der vorliegenden Erfindung besteht darin, die Nachteile des Standes der Technik zu vermeiden und ein Verfahren anzugeben, mit dem eine effiziente Kollisionserkennung, Kollisionsvermeidung und Trajektorien­ planung für einen koordinierten Mehrroboterbetrieb realisierbar ist. Das Verfahren wird vorzugsweise in einer Steuerungshardware implementiert, die unter Ausführung des erfindungsgemäßen Verfahrens einen koordinierten Mehrroboterbetrieb kollisionsfrei steuert.
Die erfindungsgemäße Kollisionserkennung, Kollisionsvermeidung und Trajektorienplanung mit Hilfe der im nachfolgenden Abschnitt vorzustellenden Kollisionsbereiche bietet eine hervorragende Lösung für die beschriebenen Problematiken. Es wird aufgezeigt, wie mit der Anwendung der Kollisionsbereiche eine kombinatorische Explosion der anfallenden Datenmengen vermieden wird, so daß eine on-line Trajektorienplanung - die selbstverständlich eine Kollisionserkennung und -vermeidung einschließt - für koordinierte Roboter erreicht wird.
Das herausragende Problem bestand in diesem Zusammenhang darin, ein Betriebsverfahren für die Kollisionserkennung, insbesondere aber für die Trajektorienplanung, zu entwickeln, mit dem sich die anfallenden Datenmengen sinnvoll handhaben bzw. auf ein handhabbares Maß reduzieren lassen, da eine Erweiterung der bekannten Verfahren auf den Mehrroboterfall aufgrund der einhergehenden Anforderungen hinsichtlich Speicherkapazität und Rechenleistung als nicht praktikabel angesehen werden muß.
Das erfindungsgemäße Verfahren zur Kollisionserkennung, Kollisionsvermeidung und Trajektorienplanung sowie das damit realisierbare Betriebsverfahren zur Kollisionserkennung, Kollisionsvermeidung und Trajektorienplanung für koordinierte Roboter - d. h. mindestens zwei Roboter, die in einem gemeinsamen, überlappenden oder sich durchdringenden Arbeitsraum koordiniert arbeiten - basiert auf einem auf geometrische Anschauungen gestützten Planungsmodell. Dabei werden anstelle der realen dreidimensionalen Struktur stets Projektionen auf geeignet ausgewählte Ebenen betrachtet. Anhand einer eventuellen Überschneidung der Projektionen kann auf eine kollisionsgefährdete Konfiguration geschlossen werden. Der mit der Projektion einhergehende Informationsverlust ist dabei durch die gleichzeitige Betrachtung mehrerer Projektionen auf geeignet aufeinander senkrecht stehende Ebenen kompensierbar.
Mit Hilfe des erfindungsgemäßen geometrischen Ansatzes lassen sich kollisionsgefährdete Konfigurationen stets schnell und sicher bestimmen. Dies geschieht durch die Transformation kollisionsgefährdeter Bereiche in eine zweidimensionale Ebene, die von den Konfigurationen der betrachteten Gelenke oder von den Konfigurationen der dominanten Freiheitsgrade der betrachteten Gelenkgruppen aufgespannt wird.
Aus dem kollisionsgefährdeten Bereich ergibt sich anhand einer detailliert abgeleiteten Transformationsvorschrift der Kollisionsbereich, dessen Bestimmung mit Hilfe des erfindungsgemäßen Algorithmus′ so schnell erfolgt, daß sich der Ansatz für eine on-line Kollisionserkennung eignet.
Es wird weiterhin aufgezeigt, auf welche Weise eine korrekte Berücksichtigung der realen Geometrie der Robotersegmente erreicht wird, so daß das vorgeschlagene Verfahren unmittelbar für Roboter beliebiger Dimension einsetzbar ist. Außerdem gelingt die Betrachtung von Robotern mit versetzten Gelenken - wie etwa beim PUMA- oder PAMIR-Typ -, so daß sich das erfindungsgemäße Verfahren auch hinsichtlich der berücksichtigten kinematischen Strukturen als ausgesprochen flexibel darstellt.
Da der Kollisionsbereich stets alle kollisionsgefährdeten Konfigurationen umfaßt, kann eine effiziente Planung kollisionsfreier Trajektorien durch das Vermeiden des Kollisionsbereiches erreicht werden. Start- und Zielkonfiguration der Trajektorie sowie Stützstellen auf der Trajektorie werden als Knoten eines Graphen modelliert. Damit ist das Problem der Trajektoriensuche auf ein Graphensuchproblem zurückgeführt. In der Literatur findet man häufig Graphen zur Lösung von Wegoptimierungsproblemen eingesetzt; Graphen haben sich in ähnlichem Zusammenhang in anderen Arbeiten bereits bewährt. Durch eine entsprechende Gewichtung der Kanten des Graphen kann je nach Anwendungsfall eine zeit- oder eine wegoptimale Trajektorie generiert werden.
In der nachfolgenden Beschreibung der Erfindung anhand der Figuren und in Verbindung mit den Unteransprüchen werden neben einer detaillierten Diskussion einer exemplarischen Ausweichbewegung mögliche spezielle Ausführungsbeispiele angegeben: Roboter mit zylinderförmigem Arbeitsraum, koordinierter Betrieb von SCARA-Robotern bei Bestückungsaufgaben sowie auf einen koordinierten Betrieb von mehr als zwei Roboter in einer seriell verketteten Montagezelle. Das erfindungsgemäße Betriebsverfahren ist vorteilhaft weiterhin auch für bewegliche und/oder mobile Roboter einsetzbar.
Im einzelnen zeigen die Figuren
Fig. 1 einen einfacher Roboter mit fünf Freiheitsgraden,
Fig. 2 eine Projektion koordinierter Roboter auf die Grundfläche des Arbeitsraumes,
Fig. 3 eine schematische Darstellung eines Roboters mit drei rotatorischen Hauptachsen,
Fig. 4 eine schematische Darstellung zur Bestimmung der Projektionslänge der Robotergeometrie,
Fig. 5 einen Kollisionsbereich für koordinierte Roboter,
Fig. 6 die Kollisionserkennung mit Hilfe des Kollisionsbereiches,
Fig. 7 den Einfluß von variierenden Projektionslängen auf den Kollisionsbereich,
Fig. 8 den überstrichenen Bereich des Arbeitsraumes in Abhängigkeit von der Länge der Projektionslinie,
Fig. 9 den Einfluß veränderlicher Distanzen zwischen den Robotern auf den Kollisionsbereich,
Fig. 10 einen Algorithmus zur Kollisionserkennung für ein Konfigurationspaar,
Fig. 11 eine Projektion koordinierter Roboter auf die Grundfläche des Arbeitsraumes,
Fig. 12 charakteristische Punkte eines Kollisionsbereiches,
Fig. 13 die Bestimmung eines Randbereiches des Kollisionsbereiches,
Fig. 14 die Güte des berechneten Kollisionsbereiches,
Fig. 15 den Algorithmus zur Bestimmung der Randlinien des Kollisionsbereiches,
Fig. 16 die Gewährleistung eines Sicherheitsabstandes durch Vergrößerung des Kollisionsbereiches,
Fig. 17 eine Projektion eines dreidimensionalen Körpers,
Fig. 18 die Berücksichtigung realer Geometrien bei der Berechnung der Kollisionsbereiche,
Fig. 19 die Aufweitung des Kollisionsbereiches zur Berücksichtigung der realen Geometrie,
Fig. 20 die Verzerrung der Kollisionsbereiche bei geringer Überlappung der Projektionsflächen,
Fig. 21 einen Roboter mit versetzten Gelenken,
Fig. 22 eine Projektion eines Roboters mit versetzten Gelenken,
Fig. 23 eine algorithmische Formulierung der Kollisionserkennung mit Hilfe der Kollisionsbereiche,
Fig. 24 die Projektionslängen für die Armgelenken,
Fig. 25 einen Kollisionsbereich für die Armgelenke,
Fig. 26 die gleichzeitige Betrachtung zweier Kollisionsbereiche,
Fig. 27 die Trajektorienplanung unter Verwendung der Kollisionsbereiche,
Fig. 28 die Trajektorienplanung mit Hilfe der Potentialfeldmethode.
Fig. 29 die Trajektorienplanung mit Hilfe eines Potentialfeldes ohne lokale Extrema,
Fig. 30 die Generierung zulässiger Ausweichtrajektorien - I,
Fig. 31 die Generierung zulässiger Ausweichtrajektorien - II,
Fig. 32 das Auffinden gültiger Trajektoriensegmente um den Kollisionsbereich,
Fig. 33 die Bestimmung des Annäherungswinkels eines Trajektoriensegmentes,
Fig. 34 den kürzesten Weg um einen Kollisionsbereich,
Fig. 35 eine Konstellation für erforderliche Ausweichbewegungen,
Fig. 36 Ausweichbewegungen zur Kollisionsvermeidung im koordinierten Betrieb,
Fig. 37 den Zeitbedarf kollisionsvermeidender Ausweichbewegungen im koordinierten Betrieb,
Fig. 38 Bewegungen der koordinierten Roboter über der Zeit,
Fig. 39 die zu koordinierenden Trajektorien für zwei Gelenkarmroboter,
Fig. 40 die Eintrittszeitpunkte und Verweildauer der Gelenkskonfigurationen im Kollisionsbereich,
Fig. 41 die Auswahl der optimalen Ausweichtrajektorie,
Fig. 42 die Beschränkung des Aktionsbereiches der Armgelenke durch die Grundfläche des Arbeitsraumes,
Fig. 43 die Fläche des bei der geknickten Armstruktur berücksichtigten Kreissegmentes,
Fig. 44 einen Algorithmus für die koordinierte Bewegung des zweiten Armgelenkes,
Fig. 45 Kollisionsgefahren für die Grundgelenke durch Änderungen der Konfigurationen der Armgelenke,
Fig. 46 den Start und Zielpunkt einer koordinierten Ausweichbewegung bei sich vergrößernden Kollisionsbe­ reichen,
Fig. 47 ein kollisionsgefährdetes Ziel-Konfigurationspaar,
Fig. 48 entlang der Zeitachse gestapelte Kollisionsbereiche,
Fig. 49 Roboter mit zylinderförmigem Arbeitsraum,
Fig. 50 gestapelte Kollisionsbereiche als Potentialgebirge,
Fig. 51 eine algorithmische Darstellung des Überquerens eines Kollisionsbereiches für Roboter mit zylinderförmi­ gem Arbeitsraum,
Fig. 52 gestapelte Kollisionsbereiche als Potentialgebirge in zweidimensionaler Darstellung,
Fig. 53 Roboter des SCARA-Typs mit drei Freiheitsgraden,
Fig. 54 einen koordinierten Betrieb mit SCARA-Robotern,
Fig. 55 Bauteildaten für eine automatische Bestückung,
Fig. 56 eine koordinierte Bewegung von SCARA-Robotern in der Konfigurationsebene,
Fig. 57 einen koordinierten Mehrroboterbetrieb in einer verketteten Montagezelle,
Fig. 58 koordinierte Roboter mit ortsfestem Hindernis und
Fig. 59 einen koordinierten Betrieb im Falle ortsfester Hindernisse.
3. Berechnung kollisionsgefährdeter Konfigurationen für Roboter mit überlappenden Arbeitsräumen - Kollisionsbereiche
Betrachtet werden zwei zu koordinierende Roboter R₁ und R₂ mit einer zunächst beliebigen Anzahl von Freiheits­ graden in einem gemeinsamen Arbeitsraum, jedoch einer grundlegenden Struktur, wie sie in Fig. 1 dargestellt ist. Roboter einer solchen Struktur, also mit ausschließlich rotatorischen Gelenken, nennt man auch "Knickarmroboter".
Eine Kollisionserkennung kann in einem ersten Ansatz in verschiedenen, hierarchisch gestaffelten Stufen erfolgen. Zunächst einmal ist die Frage relevant, wann - d. h. unter welchen Umständen - es überhaupt zu einer Kollision kommen kann.
In der ersten Stufe der Kollisionserkennung wird darum betrachtet, in welchen Bereichen generell eine Kollision droht und wie diese gefährdeten Bereiche genauer bestimmt werden können.
3.1 Kollisionserkennung für das Grundgelenk
Betrachtet man eine Projektion der beiden Roboter auf die Grundfläche des gemeinsamen Arbeitsraumes, so wird aus der mehrfach verketteten kinematischen Struktur des Roboters eine zweidimensionale Fläche auf der Projek­ tionsebene. Zur mathematisch einfacheren Handhabung wird im folgenden anstelle dieser Projektionsfläche nur eine Projektionslinie betrachtet. Die Projektionslinie ergibt sich dabei, indem zunächst die Breitenausdehnung der Robotersegmente vernachlässigt wird (in Abschnitt 3.3.2 wird gezeigt, auf welche Weise die tatsächliche Breitenausdehnung der Robotersegmente korrekt berücksichtigt wird). Die betrachtete Projektionslinie hat einen konstanten Ursprung (die Position des Fußpunktes des Roboters) und kann ausgehend von diesem Ursprung theoretisch beliebige Orientierungen auf der Grundfläche des Arbeitsraumes einnehmen (siehe Fig. 2).
Anhand dieser Abbildung wird dann auch sofort klar, daß eine Kollision nur dann droht, wenn sich Projektionen der beteiligten Roboter überlappen. Daraus folgt:
Satz 2 (Kollisionsgefahr): Eine Kollision koordinierter Roboter droht dann und nur dann, wenn sich deren Projektionen auf die Grundfläche des gemeinsamen Arbeitsraumes überlappen (dies macht auch die erst später zu verwendende Darstellung aus Fig. 13 nochmal anschaulich klar. Die beiden Kreisbögen bezeichnen den Aktionsradius des jeweiligen Roboters bei einer vollständigen Rotation um das Körpergrundgelenk. Zu Kollisionen kann es nur in dem Bereich kommen, in dem sich die beiden Kreisbögen überlappen).
Aus Satz 2 folgt unmittelbar:
Satz 3 (Kollisionsfreiheit): Überlappen sich die Projektionen zweier koordinierter Roboter auf die Grundfläche des gemeinsamen Arbeitsraumes nicht, so ist eine Kollision ausgeschlossen.
Die Länge der Projektionslinien des Roboters auf der Grundfläche des Arbeitsraumes ist selbstverständlich abhängig von den Winkelstellungen der einzelnen Gelenke. Für einen Roboter mit einem rotatorischen Grundgelenk, das nur Rotationen um eine auf der Grundfläche des Arbeitsraumes senkrecht stehende Rotationsachse durchführt, ist die Länge der Projektionslinie unabhängig von der Stellung dieses Grundgelenkes. Es handelt sich dann um einen Roboter des Typs, wie er in Fig. 3 schematisch dargestellt ist.
Bei insgesamt drei rotatorischen Hauptachsen (ein Körpergrundgelenk, zwei Armgelenke) ist die Länge der Projektionslinie nur noch abhängig von den Gelenkstellungen der beiden Armgelenke, denn die Rotationsachse des Körpergrundgelenkes steht parallel zum Normalenvektor der Projektionsfläche, so daß ein Einfluß der Konfiguration des Körpergrundgelenkes auf die Länge der Projektionslinie unmöglich ist.
Fig. 4 zeigt die Seitenansicht der schematischen Darstellung aus Fig. 3. Die Wahl der zweidimensio­ nalen Seitenansicht zur Bestimmung der Projektionslinie ist zulässig, da, wie bereits gesagt, die Stellung des Körpergrundgelenkes keinen Einfluß auf die Projektionslänge hat.
Unter Berücksichtigung von Fig. 3 und Fig. 4 können leicht die folgenden Beziehungen abgeleitet werden:
α = 90- k₁
β = γ - k₂ |γ = α
=α - k₂
s₁ = l₁cos(90 - k₁)
s₂ = l₂cos(90 - k₁ - k₂) (6)
y′ = l₁cos(90 - k₁) + l₂cos(90 - k₁ - k₂)
= s₁ + s₂ (7)
Hier bezeichnen k₁ und k₂ die Konfigurationen der beiden Armgelenke und l₁ und l₂ die Längen der Armsegmente. Damit kann unmittelbar die Position des Roboterarm-Endpunktes in einem rechtshändigen dreidimensionalen Koordinatensystem ermittelt werden als:
Die gesuchte Projektion auf die Grundfläche des Arbeitsraumes ergibt sich jetzt unmittelbar aus Gleichung (8), indem die z-Komponente gleich Null gesetzt wird. Für die gesuchte Projektion ergibt sich damit insgesamt:
Mit Hilfe dieser Projektionsbeziehung (Gleichung 9) läßt sich für jeden dreidimensionalen Roboter eine zugehörige Darstellung die Projektion angeben, wie sie bereits in Fig. 2 gezeigt wird.
Die eigentlich benötigte Projektionslänge findet sich bereits in den Gleichungen (6) und (7) als s₁ + s₂.
Da hier immer von zwei koordinierten Robotern ausgegangen wird, kann ein zweidimensionales Koordinatensy­ stem aufgespannt werden, auf dessen Achsen die Stellungen des Grundgelenkes des jeweiligen Roboters abgetragen werden. Läßt der Bewegungsbereich der beiden Grundgelenke eine komplette Drehung um die Rotationsachse zu, so müßte auf jeder Achse ein Wertebereich von 0° bis 360° dargestellt werden. Da jedoch eine Kollision nur dann auftreten kann, wenn die Roboter "einander zugewendet sind", ist es ausreichend, wenn nach Fig. 2 für den Roboter R₁ ein Wertebereich von [0° . . . 180°] und entsprechend für den Roboter R₂ ein Wertebereich von [180° . . . 360°] vorgesehen wird (siehe Fig. 2 zur Festlegung der Konfigurationswerte. Die Umrechnung auf evtl. abweichende reale Konfigurationswerte kann stets durch einfache Addition oder Subtraktion der sich ergebenden Differenz erreicht werden). Damit enthält die diskrete Konfigurationsebene 180² = 32.400 mögliche Kombinationen von Gelenkskonfigurationen.
In dem so aufgespannten Koordinatensystem ist jeder Punkt eindeutig bestimmt durch die Angabe der beiden Konfigurationswerte der betrachteten Gelenke. Da ein solcher Punkt durch zwei Konfigurationswerte bestimmt wird, wird er im folgenden als Konfigurationspaar bezeichnet. Ein Konfigurationspaar kann - unter Annahme der oben zugrunde gelegten Wertebereiche für die Konfigurationswerte - als Vektor in der folgenden Form geschrieben werden:
Markiert man jetzt in diesem Koordinatensystem alle diejenigen Paare von Gelenkskonfigurationen (Konfigura­ tionspaare), bei denen es zu einer Überlappung der Projektionen kommt, so erhält man zwei geschlossene konvexe Gebiete, wie sie in den Fig. 5 bis 9 (für alle Fig. 5-9 gilt, daß auf der Abszisse (der waagerechten Achse des Koordinatensystemes) die Konfigurationen von Roboter R₁ (in Fig. 2 der linke Roboter) abgetragen sind; auf der Ordinate werden die Konfigurationen von Roboter R₂ (in Fig. 2 der rechte Roboter) abgetragen) dargestellt sind.
Die beiden so gefundenen Gebiete weisen an genau einem Punkt eine Verbindung auf. Dieser Verbindungspunkt ist durch genau das Konfigurationspaar markiert, bei dem die beiden Projektionslinien parallel zueinander liegen. Aus diesem Grunde wird jetzt auch sofort klar, warum die Gebiete nur in diesem einen Punkt verbunden sind, denn jede weitere Rotation einer der Projektionslängen würde deren Parallelität und damit deren Überlappung aufheben. Die beiden Gebiete sind durch diesen speziellen Nabenpunkt verbunden. Betrachtet man beide Gebiete als zusammenhängenden Bereich, so bildet der Nabenpunkt den Symmetriepunkt.
Definition 1 (Kollisionsbereich): In einem zweidimensionalen Koordinatensystem, auf dessen Ko­ ordinatenachsen jeweils die Gelenkskonfigurationen eines Roboters abgetragen werden, wird für jede Kombination von Konfigurationen, die zu einer Überlappung der Projektionslinien führt, an der entsprechenden Position im Koordinatensystem eine Markierung gesetzt.
Es entsteht auf diese Weise ein geschlossener Bereich, der als "Kollisionsbereich" bezeichnet werden soll. Die von dem aufgespannten Koordinatensystem gebildete Ebene wird als "Konfigurationsebene" oder als "Koordinationsbereich" bezeichnet.
Da der Kollisionsbereich genau die Menge aller Konfigurationspaare umfaßt, die zu einer Überlappung der Projektionslinien führen, müssen diejenigen Konfigurationspaare, die nicht Elemente des Kollisionsbereiches sind, entsprechend zu Konfigurationen gehören, bei denen es nicht zu einer Überlappung der Projektionen kommt. Somit kann über den Kollisionsbereich nach Satz 3 bereits jetzt die folgende Aussage getroffen werden:
Satz 4: Außerhalb der Fläche des Kollisionsbereiches kann es nie zu einer Kollision zwischen den koordinierten Robotern kommen.
Dieser Satz wird unter Berücksichtigung dessen, was durch die Einführung der Projektionen bewirkt wurde, unmittelbar klar. Die Betrachtung der Projektionsflächen zweier koordinierter Roboter gestattet - unabhängig von deren Komplexität - immer eine Aussage darüber, ob unter den aktuellen Konfigurationen eine Kollision droht.
Geeignete Projektionsebenen für das vorliegende Problem eines koordinierten Mehrroboterbetriebes sind die Grundfläche des gemeinsamen Arbeitsraumes sowie eine auf dieser Fläche senkrecht stehende Fläche, deren Normale zusätzlich senkrecht auf der Verbindungslinie steht, die durch die Fußpunkte der beiden Roboter verläuft. Die Projektion auf die Grundfläche des gemeinsamen Arbeitsraumes wird vorwiegend von der Konfiguration des Körpergrundgelenkes bestimmt, wohingegen die Projektion auf die andere Projektionsebene, siehe Abschnitt 3.4, im wesentlichen durch die Armgelenkskonfigurationen beeinflußt wird.
Unabhängig davon, welche dieser beiden Projektionen nun vorrangig betrachtet wird, steht doch - nach Satz 3 bzw. Satz 4 - fest, daß eine Kollision ausgeschlossen ist, wenn keine Überschneidungen der Projektionsflächen festgestellt werden können.
Dies kann nochmals anhand der Darstellung in Fig. 6 im Detail nachvollzogen werden. Die Konfigurationen der Grundgelenke der beteiligten Roboter werden als vertikale bzw. horizontale Linien in die Konfigurationsebene eingetragen. Der Schnittpunkt dieser beiden Linien markiert die Grundgelenkskonfigurationen beider beteiligter Roboter. Man erkennt sofort, daß sowohl in Fig. 6a als auch in Fig. 6b dieser Schnittpunkt außerhalb des Kollisionsbereiches liegt, mithin also keine Kollision droht. In Fig. 6c liegt dagegen der Schnittpunkt innerhalb des Kollisionsbereiches, so daß es - bezogen auf die Konfigurationen der Grundgelenke - zu einer Kollision kommen kann.
Der Unterschied zwischen Fig. 6a und Fig. 6b besteht darin, daß bei Fig. 6b das Lot der Grundgelenks­ konfiguration von Roboter R₂ den Kollisionsbereich schneidet. Dies stellt gewissermaßen die "Vorstufe" zu einer drohenden Kollision dar. D.h. bei Fig. 6b nimmt das Grundgelenk von Roboter R₂ eine Konfiguration ein, in der - bei entsprechender Grundgelenkskonfiguration von Roboter R₁ - eine Kollision möglich wird. Hingegen befinden sich in Fig. 6a beide Roboter außerhalb des potentiell gefährdeten Bereiches.
Die Kollisionsbereiche verändern sich mit den Gelenkstellungen der Roboter. Da sich die Gelenkskonfigura­ tionen der Roboter entsprechend der Vorgaben durch die Trajektorie mit der Zeit ändern, sind mithin auch die Kollisionsbereiche zeitabhängig.
Fig. 5 zeigte bereits den sich ergebenden Kollisionsbereich für zwei ortsfeste koordinierte Roboter mit konstanter Projektionslänge.
Die nachfolgenden Abbildungen zeigen die Veränderung der Kollisionsbereiche für variierende Projektionslängen (Fig. 7) und für variierende Abstände zwischen den beteiligten Robotern (Fig. 9).
Für die Bestimmung der Kollisionsbereiche aus Fig. 7 wurden beide beteiligten Roboter als ortsfest angenommen. Der Abstand zwischen den beiden Robotern beträgt 200 Längeneinheiten. In der linken Darstellung von Fig. 7 wird die Projektionslänge des Roboters R₁ mit einer Länge von 170 Einheiten konstant gehalten. Hingegen wird die Projektionslänge des anderen Roboters R₂ im Bereich von 120 . . . 170 Längeneinheiten mit einer Schrittweite von jeweils 10 Einheiten variiert.
Insgesamt sind in den Abbildungen somit jeweils sechs Kollisionsbereiche dargestellt - durch unterschiedliche Schraffuren voneinander getrennt -, wobei die flächenmäßig kleineren Kollisionsbereiche Teile der größeren Kollisionsbereiche überdecken.
Wieder ist dies unmittelbar einsichtig, da es bei zunehmenden Projektionslängen zahlenmäßig mehr Konfi­ gurationspaare geben muß, die zu einer Überlappung der Projektionen führen. Aus diesem Grunde gehört der flächenmäßig größte Kollisionsbereich zu den Projektionslängen R₁ : p₁ = 170 = const. und R₂ : p₂ = 170.
Auffällig ist, daß offenbar für kleinere Projektionslängen p₂ des Roboters R₂ die Anzahl der Konfigurationen des Grundgelenkes des Roboters R₁, die zu einer Überlappung der Projektionen führen, abnimmt. Dieser Umstand wird jedoch klar, wenn dazu die Abbildung aus Fig. 8 herangezogen wird. Diese Abbildung zeigt als Kreisbögen diejenigen Bereiche des gemeinsamen Arbeitsraumes, welche von Projektionslinien bestimmter Länge überstrichen werden können. Auf der linken Seite wird für den Roboter R₁ eine konstante Projektionslänge angenommen; für den Roboter R₂ sind auf der rechten Seite die sich ergebenden Kreisbögen zu drei unterschiedlichen Projektionslängen eingezeichnet.
Wichtig sind jetzt genau diejenigen Punkte, unter denen sich die Kreisbögen schneiden, denn dies sind die äußersten Konfigurationen, bei denen es zu einer Überlappung der Projektionen kommt. Zu den Schnittpunkten dieser Kreisbögen sind jetzt jeweils die sich ergebenden Projektionslinien eingezeichnet. Es fällt sofort auf, daß die Konfigurationen der Projektionslinien von Roboter R₂ und damit einhergehend auch die Öffnung der eingezeichneten Winkel selbst für unterschiedliche Projektionslinien nahezu identisch sind (β₁ ≈ β₂); hingegen verändern sich die Konfigurationen der Schnittpunkte für Roboter R₁ deutlich. Insbesondere wird mit kleiner werdender Projektionslänge p₂ - also abnehmendem Radius der Kreisbögen für R₂ - die Distanz zwischen der Konfiguration des ersten Schnittpunktes und derjenigen des zweiten Schnittpunktes immer kleiner (α₂ « α₁). Dies ist genau der Effekt, der in Fig. 7 zu beobachten ist.
Fig. 7 zeigt auf der rechten Seite - analog zu den vorhergehenden Verhältnissen - diejenigen Kollisionsbereiche, die sich ergeben, wenn nunmehr die Projektionslänge des Roboters R₂ mit einer Länge von 170 Einheiten konstant gehalten wird, wohingegen die Projektionslänge des Roboters R₂ im Bereich von 120. . .170 Längeneinheiten mit einer Schrittweite von jeweils 10 Einheiten variiert wird.
Man erkennt in allen Fällen leicht die Symmetrie der Kollisionsbereiche. Deutlich wird außerdem, daß die Fläche des Kollisionsbereiches zunimmt, wenn der Bereich, in dem es zu Überschneidungen der Projektionen kommen kann, größer wird. Dies ist nicht nur der Fall, wenn mindestens eine der Projektionslängen vergrößert wird, sondern auch dann, wenn der Abstand zwischen den Robotern verringert wird, wie Fig. 9 zeigt.
Für die Bestimmung der Kollisionsbereiche in Fig. 9 wurden im Gegensatz zu den vorangegangenen Darstellungen die Projektionslängen beider Roboter als konstant angenommen (p₁ = p₂ = const. = 150 Längeneinheiten). Die Veränderung von Form und Fläche der Kollisionsbereiche ist jetzt auf eine Veränderung der Distanz zwischen den beteiligten Robotern zurückzuführen, wie dies bei mobilen Robotern der Fall wäre. Die Distanz zwischen den Robotern wird von zunächst 150 Längeneinheiten bis auf 300 Längeneinheiten in Schritten von jeweils 25 Einheiten erhöht. Der flächenmäßig kleinste Kollisionsbereich ergibt sich natürlich für den Fall der größten Distanz.
Für den größten Kollisionsbereich kommt es hier zu einer Besonderheit, die darin besteht, daß bei einem Abstand von 150 Längeneinheiten zwischen den Robotern und einer Länge der Projektionslinien von p₁ = p₂ = 150 Einheiten der Fußpunkt des Roboters selbst nicht mehr kollisionsfrei ist. Aus diesem Grunde kommt es jetzt am Symmetriepunkt zu veränderten Verhältnissen. Der Symmetriepunkt war durch dasjenige Konfigurationspaar festgelegt, bei dem die Projektionslinien parallel zueinander stehen. Tritt dieser Fall jedoch bei den hier vorliegenden Abständen auf, so berührt die Projektionslinie eines jeden Roboters gleichzeitig auch den Fußpunkt des anderen Roboters. Nimmt dagegen nur einer der Roboter diese Konfiguration ein, so kommt es unabhängig von der Konfiguration des anderen Roboters immer zu einer Überlappung, da in jedem Fall der erste Roboter den Fußpunkt des anderen Roboters berührt. Aus diesem Grunde ergeben sich die exakt vertikalen und horizontalen Begrenzungslinien des Kollisionsbereiches am Symmetriepunkt.
3.2 Bestimmung eines Kollisionsbereiches
Der Kollisionsbereich ist definiert als die Menge aller Konfigurationen, die zu einer Überlappung der Projekti­ onslinien führt - siehe Definition 1. Bereits im vorangegangenen Abschnitt wurde anhand eines Zahlenbeispiels vorgeführt, daß zur Bestimmung dieser Menge unter Umständen - abhängig von der Diskretisierung der Konfigurationswertebereiches - eine erhebliche Anzahl von Konfigurationspaaren zu berücksichtigen ist. Für jedes dieser Konfigurationspaare muß theoretisch einzeln überprüft werden, ob eine Überlappung vorliegt oder nicht.
Zu diesem Zweck können spezielle Gleichungen aus der analytischen Geometrie - die sogenannten Geradengleichungen - eingesetzt werden. Da es sich bei den Projektionslinien ausschließlich um Geraden auf der zweidimensionalen Grundfläche des Arbeitsraumes handelt, ist hier entsprechend nur die Kenntnis der Geradengleichungen in der Ebene sowie eine Möglichkeit, Schnittpunkte zwischen derartigen Geraden zu bestimmen, erforderlich.
Eine einfache Kollisionserkennung für einen koordinierten Mehrroboterbetrieb kann demnach durch eine geeignete Überwachung der Schnittpunkte zwischen den Projektionslinien erfolgen. Zur exakten Berücksichtigung der Robotergeometrie können anstelle der Projektionslinien auch die tatsächlichen Projektionsflächen betrachtet werden, deren Ränder sich ebenfalls durch Linien ausreichend beschreiben lassen. Durch die Erhöhung der zu betrachtenden Linienanzahl steigt dann natürlich die erforderliche Rechenzeit.
Durch die Betrachtung der Projektionslinien bzw. -flächen gegenüber der Betrachtung der realen Geometrie im dreidimensionalen Raum ergibt sich an dieser Stelle nicht nur durch die verringerte Dimension der zu lösenden Gleichungssysteme ein Vorteil.
3.2.1 Ermittlung aller Elemente des Kollisionsbereiches
Obwohl unter Anwendung der Methoden der analytischen Geometrie bereits die Kollisionsgefahr für ein bestimmtes Konfigurationspaar festgestellt werden kann und damit sowohl eine Kollisionserkennung wie auch eine einfache, jedoch lokale Kollisionsvermeidung implementiert werden kann, ist dies für eine effiziente Trajektorienplanung nicht ausreichend. Für eine globale Trajektorienplanung ist notwendigerweise die Kenntnis aller kollisionsgefährdeter Konfigurationen erforderlich.
Die erforderliche Überprüfung, ob ein Konfigurationspaar Element des Kollisionsbereiches ist oder nicht, wäre für jedes Konfigurationspaar anhand des in Fig. 10 dargestellten Algorithmus′ durchführbar.
Es ist leicht vorstellbar, daß eine derartige Überprüfung von 180 × 180 = 32.400 Konfigurationspaaren erhebliche Rechenkapazität in Anspruch nähme. Durch Beachtung geeigneter Randbedingungen - wie z. B. bestimmter Symmetrieeigenschaften bzw. der Konvexität (Konvexität bedeutet, daß die zu je zwei Punkten der Menge gehörige Verbindungslinie selber komplett in der Menge verläuft. Damit verläuft natürlich auch jede Linie zwischen zwei Randpunkten eines Gebietes des Kollisionsbereiches komplett innerhalb dieses Gebietes. Dies ermöglicht den Einsatz rekursiver Einschließungsverfahren) der beiden Gebiete des Kollisionsbereiches - kann dieser Aufwand jedoch erheblich verringert werden.
Es wurde bereits gezeigt, daß die Kollisionsbereiche zeitveränderlich sind. Trotz der erreichbaren Reduzierung der zu überprüfenden Konfigurationspaare kann eine solche Ermittlung der Kollisionsbereiche nicht on-line, synchron zu den Bewegungen der Roboter, durchgeführt werden. Außerdem ist hier darauf hinzuweisen, daß mit der Kenntnis aller Elemente des Kollisionsbereiches nur eine Aussage darüber getroffen werden kann, ob eine kollisionsgefährdete Konfiguration vorliegt. Eine sich am Kollisionsbereich orientierende Trajektorienplanung erfordert zusätzliche Rechenzeit und ist bisher auch qualitativ noch nicht berücksichtigt worden.
Zum effektiven Einsatz der Kollisionsbereiche ist es also erforderlich, eine Möglichkeit abzuleiten, den Kollisi­ onsbereich so schnell zu bestimmen, daß eine bewegungs-synchrone Kollisionserkennung möglich wird. Dies wird Gegenstand des folgenden Abschnittes sein.
3.3 Schnelle on-line fällige Berechnung von Kollisionsbereichen
Gesucht ist eine Möglichkeit, sämtliche kollisionserzeugende Konfigurationspaare schnell und effektiv bestimmen zu können. Zu diesem Zweck wird der Kollisionsbereich nicht länger nur als (Punkt-)Menge, sondern vielmehr als geometrische Figur - so wie exemplarisch in Fig. 5 dargestellt - aufgefaßt. Mit der Kenntnis der Begrenzungslinien sind unmittelbar auch alle kollisionserzeugenden Konfigurationen bekannt, denn diese liegen alle innerhalb der geschlossenen Begrenzungslinien der beiden Gebiete des Kollisionsbereiches.
Zur schnellen Berechnung der Kollisionsbereiche werden die geometrischen Verhältnisse, so wie sie in Fig. 11 dargestellt sind, ausgenutzt. Die beiden Kreisbögen zeigen den Aktionsradius des jeweiligen Roboters - unter Beibehaltung der Armgelenksstellungen - bei einer vollständigen Rotation um das Körpergrundgelenk an.
Kollisionen können nur in dem Gebiet auftreten, in dem sich die beiden Kreisbögen überschneiden, denn nur hier können sich die Projektionen der Roboter überlappen, was nach den bisherigen Ausführungen gleichbedeutend mit einer möglichen Kollision ist. Siehe dazu auch die Darstellung in Fig. 6.
In Fig. 11 bezeichnen ψ und θ die Konfigurationen des Körpergrundgelenkes von Roboter R₁ bzw. R₂:
ψ = k₀(R₁) θ = k₀(R₂) (11)
Die Radien der Kreisbögen ergeben sich mit der jeweiligen Projektionslänge p₁ bzw. p₂. Der Abstand der beiden Roboter ist mit d eingetragen.
Verbindet man nun einen der Schnittpunkte der beiden Kreisbögen mit den Positionen der Roboter, so ergibt sich - zusammen mit der Strecke d - ein Dreieck. Von diesem Dreieck sind die Längen aller Seiten (p₁, p₂, d) bekannt. Unbekannt sind hingegen die Winkel des Dreiecks: (α, β, γ).
Weiterhin gilt, wenn für die vertikal eingezeichneten Strecken p₁ und p₂ jeweils der Winkel 0° angenommen wird, nach Fig. 11 für die Winkel α und β:
α = θ - 270
β = 90 - ψ (12)
Sind nun diejenigen Konfigurationen zu bestimmen, welche die Roboter einnehmen, wenn beide Projektionslinien am oberen Schnittpunkt der beiden Kreisbögen (Fig. 11) zusammentreffen, so sind dazu nach Gleichung (12) zunächst die beiden Winkel α und β des Dreiecks (p₁, p₂, d) zu bestimmen.
Das kann leicht mit Hilfe des Cosinus-Satzes
a² = b² + c² - 2 bc cosα (13)
erfolgen. Damit ergeben sich die Winkel α und β zu:
Die gesuchten Konfigurationen ergeben sich jetzt mit Gleichung (12) unmittelbar zu:
Auf diese Weise lassen sich genau diejenigen Konfigurationen errechnen, bei denen die Roboter in den gefährdeten Bereich eintreten bzw. diesen wieder verlassen.
Ohne für den allgemeinen Fall eine bestimmte konstante Bewegungsrichtung zu präferieren, sollen im folgenden die soeben ermittelten Konfigurationen als diejenigen Konfigurationen, bei denen der Eintritt in den gefährdeten Bereich erfolgt, aufgefaßt und deshalb mit dem Index "s" (für Start) bezeichnet werden.
ψ = ψs; bzw. θ = θs (17)
Am verbleibenden Schnittpunkt der Kreisbögen soll vom Verlassen des gefährdeten Bereiches gesprochen werden; die zugehörigen Konfigurationen werden mit dem Index "e" (für Ende) versehen. Dann gilt mit (17) nach Fig. 11 außerdem:
ce = ψs + 2β
θe = θs - 2α (18)
Als ausgezeichneter Punkt des Kollisionsbereiches war bereits zuvor der Nabenpunkt gefunden worden. Dieser Punkt gehört zu genau demjenigen Konfigurationspaar, bei dem die Projektionslinien parallel zueinander liegen. Dies ist jedoch genau dann der Fall, wenn die Projektionslinien auf der Strecke , also genau in der Mitte zwischen den zu den Schnittpunkten der Kreisbögen führenden Projektionslinien, liegen. Die Konfigurationen der Nabe des Kollisionsbereiches - gekennzeichnet mit dem Index "n" - ergeben sich dann als:
oder mit den Beziehungen (17) und (18) bzw. nach Fig. 11 einfach als:
ψn = ψs + β
θn = θs - α (19)
Mit den Konfigurationen (ψs, θs), (ψe, θe) und (ψn, θn) sind jetzt drei wichtige Punkte des Kollisionsbereiches bekannt. Wie Fig. 12 zeigt, liegen diese Konfigurationen alle auf einer Geraden durch den Kollisionsbereich. Dies ist nur aufgrund der Punktsymmetrie des Kollisionsbereiches - mit der Nabe als Symmetriepunkt - möglich. Sehr viel wichtiger ist die noch ausstehende Berechnung von Konfigurationen auf dem Rand des Kollisionsbereiches.
Die gesuchten Konfigurationspaare auf dem Rand des Kollisionsbereiches korrespondieren mit den Punkten auf der Randlinie des kritischen Bereiches. Wie bereits gezeigt wurde, ergeben sich für das Dreieck (p₁, p₂, d) besonders einfache Verhältnisse bei der Bestimmung der zugehörigen Konfigurationen der Projektionslinien.
Jede Projektionslinie des Roboters R₂, deren Endpunkt bis auf den Kreisbogen um R₂ reicht, hat genau die Länge p₂. Um beliebige Konfigurationspaare auf der dem Roboter R₁ zugewandten Randlinie des kritischen Bereiches bestimmen zu können, ist ein geeigneter neuer Wert für die Länge der ersten Dreiecksseite p′₁ zu bestimmen. Wird die Länge dieser Dreiecksseite von ihrem Startwert p′₁ solange verringert, bis kein Dreieck mehr zustande kommt - die Summe von p′₁ und p₂ also kleiner als d wird -, können mit den abgeleiteten Verhältnissen alle Konfigurationspaare bestimmt werden, die zur oberen Hälfte der R₁ zugewandten Randlinie des kritischen Bereiches gehören.
Um zusätzliche Punkte auf der Umrandung des Kollisionsbereiches zu bestimmen, wird demnach zunächst eine der Projektionslängen konstant gehalten:
p′₂ = p₂ = const. (20)
Die Länge der anderen Projektionslinie wird nach der folgenden Beziehung variiert:
Dabei ist zu beachten, daß die Berechnung der benötigten Punkte auf der Umrandung des Kollisionsbereiches erst abgeschlossen ist, wenn alle Werte in dem Intervall [ν. . .0] angenommen hat. Damit ist es naheliegend, die Beziehung (21) - wie nachfolgend gezeigt - in Form eines Algorithmus′ anzugeben. Je größer dabei der Wert für ν gewählt wird, desto genauer wird die Randlinie des Kollisionsbereiches bestimmt.
Damit ergibt sich für jeden neuen Wert von ein anderes Dreieck mit den Seiten (p′₁ , p′₂, d). In Fig. 13 sind exemplarisch einige der sich nach (21) ergebenden Projektionslinien p′₁ - und mit den Strecken p₂ und d die zugehörigen Dreiecke - eingetragen.
Bei einer näheren Untersuchung der Beziehung (21) wird deutlich, daß die Projektionslänge von ihrer Maximallänge p₁ bei = ν bis zu einer Länge von d - p₂ bei = 0 variiert wird. Die Strecke ist aber in Fig. 11 auf der Strecke genau der Abstand vom Roboter R₁ bis zum Kreisbogen des Roboters R₂. Damit stellt Gleichung (21) sicher, daß die Länge von p′₁ nicht unter den Wert sinkt, bei dem kein Dreieck mehr zustande kommt.
Für = ν erhält man genau das bereits in Fig. 11 dargestellte Dreieck, denn für diesen Fall ergibt sich nach (21) wieder die ursprüngliche Länge der Projektionslinie p′₁ = p₁. Hingegen führt der Wert von = 0 genau zu dem Dreieck, bei dem die beiden Schenkel p′₁ und p′₂ auf der verbleibenden Seite d liegen.
Die Längen der sich nach (20) bzw. (21) ergebenden Projektionslinien (p′₁, p′₂) werden dann für alle in die Gleichungen (14) bzw. (15) eingesetzt. So erhält man die Winkel α bzw. β jedes einzelnen Dreiecks. Setzt man diese Winkel in die beiden unter (16) zusammengefaßten Beziehungen ein, so ergeben sich die gesuchten Konfigurationen (ψ, θ).
Unter Anwendung dieses Verfahrens läßt sich der Randbereich genau eines Gebietes des Kollisionsbereiches vom Scheitelpunkt bis zur Nabe sehr schnell und - mit entsprechender Wahl von ν in (21) - beliebig genau bestimmen.
Ein Randbereich des anderen Gebietes (wiederum vom Scheitelpunkt bis zur Nabe) ergibt sich, wenn die errechneten Konfigurationen zusätzlich in die Beziehungen
ψ* = 180 - ψ
θ* = 180 + (360 - θ) (22)
eingesetzt werden.
Die beiden noch fehlenden Randbereiche erhält man, indem die zuvor konstant gehaltene Projektionslänge variiert wird, wohingegen die zuvor variierte Projektionslänge entsprechend konstant gehalten werden muß. Selbstverständlich müssen dann noch - wie bereits vorgeführt - die Berechnungen der Konfigurationen (ψ, θ) und (ψ*, θ*) durchgeführt werden.
Als Resultat erhält man eine Näherung der Umrandung des Kollisionsbereiches, deren Güte durch entsprechende Wahl von ν beeinflußt werden kann, wie abschließend Fig. 14 zeigt.
Insgesamt läßt sich die hier vorgeschlagene Bestimmung der Kollisionsbereiche nur schwer mathematisch geschlossen darstellen. Darum schließt dieser Abschnitt mit der exemplarischen Darstellung eines zur Berechnung der Kollisionsbereiche geeigneten Algorithmus′ (siehe Fig. 15). Dieser Algorithmus gewährt zudem eine schnelle Übersicht über die zuvor abgeleiteten Beziehungen.
Die beiden aufeinander folgenden Schleifen in dem in Fig. 15 dargestellten Algorithmus dienen der geeigneten Variation beider Längen der Projektionslinien p₁ und p₂. Betrachtet man den Algorithmus als Transformationsvorschrift, mit dessen Hilfe Punkte auf den Grenzlinien des kritischen Bereiches in Punkte auf den entsprechenden Grenzlinien des Kollisionsbereiches transformiert werden, wird bei Variation von p₁ das Kreisbogensegment um R₂ transformiert und bei Variation von p₂ entsprechend das Kreisbogensegment um R₁.
Die Punkte (zwei Konfigurationswerte ψ und θ bilden zusammen ein Konfigurationspaar: einem Konfigurationspaar entspricht genau ein Punkt in der Konfigurationsebene) auf den Grenzlinien sind in beiden Schleifen als (ψ, θ) bzw. (ψ*, θ*) bezeichnet, wobei die mit dem zusätzlichen Exponenten gekennzeichneten Konfigurationen Randpunkte des anderen Gebietes des Kollisionsbereiches sind.
Zur geeigneten weiteren Anwendung und zur Auswertung des Kollisionsbereiches sind die so gefundenen Eckpunkte auf der Randlinie des Kollisionsbereiches jeweils miteinander zu verbinden, so daß ein geschlossenes Polygon entsteht. Im letzten Schritt ist das geschlossene Polygon auszufüllen, de 99999 00070 552 001000280000000200012000285919988800040 0002019625637 00004 99880nn alle Konfigurationspaare innerhalb der Randlinien sind Elemente des Kollisionsbereiches.
Dies kann entweder in einer graphischen Darstellung auf dem Computermonitor geschehen, wobei jeder Bildpunkt einem Konfigurationspaar entspricht, oder in einer zweidimensionalen Matrix - einem array - im Speicher des Computers; in diesem Fall entspräche jedes array-Element einem Konfigurationspaar.
3.3.1 Einhaltung eines Sicherheitsabstandes zwischen koordinierten Robotern
Um der Tatsache Rechnung zu tragen, daß die so gewonnene Randlinie als Polygon nur eine Annäherung der tatsächlichen Randlinie ist, kann die Fläche des Kollisionsbereiches so vergrößert werden, daß garantiert alle kollisionserzeugenden Konfigurationspaare innerhalb der ermittelten Randlinie liegen. Da beide Gebiete des Kollisionsbereiches konvexe Gebiete sind, ferner die gefundenen Randpunkte der Gebiete tatsächlich auf dem Rand des Kollisionsbereiches liegen, müssen sämtliche Linien des Polygonzuges - aufgrund der Konvexitätsbedingung - innerhalb des eigentlichen Kollisionsbereiches verlaufen. Durch eine Vergrößerung des den Kollisionsbereich anzeigenden Polygons wird daher sichergestellt, daß der tatsächliche Kollisionsbereich komplett innerhalb des Polygons liegt. Fig. 14 zeigt, daß diese Aufweitung von der Wahl des Parameters ν in Gleichung (21) abhängen muß, jedoch für Werte ν 10 vernachlässigt werden kann.
Zudem kann durch eine geeignete weitere Vergrößerung der Fläche des Kollisionsbereiches ein Sicherheitsabstand zwischen den koordinierten Robotern gewährleistet werden. Die Einhaltung eines Sicherheitsabstandes ist vor allem für die noch vorzustellende Trajektorienplanung (Kapitel 4) wichtig; aber auch für die Kollisionserken­ nung ist es hilfreich, sicherzustellen, daß eine Kollisionsgefahr nicht erst dann festgestellt wird, wenn der Abstand zwischen den koordinierten Robotern nur noch minimal ist.
Einen derart vergrößerten Kollisionsbereich zeigt Fig. 16. Die dunkel schraffierte innere Fläche ist durch Anwendung des in Fig. 15 vorgestellten Algorithmus mit ν = 25 gewonnen.
Die äußere Fläche gestattet die Berücksichtigung eines Sicherheitsbereiches. Aus dem "normalen Kollisions­ bereich" kann ein Kollisionsbereich mit Sicherheitsabstand gewonnen werden, wenn in der ersten Schleife des Algorithmus′ aus Fig. 15 nach der Bestimmung der Werte α, β die Anweisungen
α = α - (ϕk + ϕs)
β = β + (ϕk + ϕs) (23)
und in der zweiten Schleife an entsprechender Position die Anweisungen
α = α + (ϕk + ϕs)
β = β - (ϕk + ϕs) (24)
eingefügt werden, wobei ϕk die zur Korrektur erforderliche Aufweitung des Kollisionsbereiches und ϕs die Größe des Sicherheitsabstandes darstellt.
Für die Darstellung in Fig. 16 ist ϕs + ϕk = 10° gewählt worden, so daß in der graphischen Darstellung der vergrößerte Kollisionsbereich klar zutage tritt. Für praktische Anwendungen wird der Sicherheitsabstand in der Größenordnung [1°. . .3°] gewählt werden, um die Bewegungsmöglichkeiten der Roboter nicht unnötig einzuschränken. Darüber hinaus haben praktische Erfahrungen gezeigt, daß bei einen Sicherheitsabstand ϕs 1° der Korrekturwert ϕk bei geeigneter Wahl von ν (ν 8) in Gleichung (21) vernachlässigt werden kann.
3.3.2 Berücksichtigung realer Geometrien bei der Berechnung der Kollisionsbereiche
Bei der Projektion eines dreidimensionalen Körpers im Raum entsteht auf der Projektionsebene eine zweidi­ mensionale Figur - die Projektionsfläche. Bei einer Approximation der einzelnen Elemente des Roboters durch Hüllquader beziehen sich die durchzuführenden Projektionen auf rechtwinklige Körper im Raum.
Solange der Normalenvektor mindestens einer der Begrenzungsflächen des Hüllkörpers i senkrecht zum Normalenvektor der Projektionsfläche p steht, ergibt sich bei einer Projektion aus dem rechtwinkligen Körper wieder eine rechtwinklige Fläche, denn dann stehen zwei einander gegenüberliegende Seitenflächen des dreidimen­ sionalen Körpers senkrecht auf der Projektionsebene, so daß sie keinen Anteil zu der projizierten Fläche liefern. Siehe dazu auch Fig. 17.
Bisher wurde die Berechnung der Kollisionsbereiche unter Berücksichtigung der Projektionslänge - einer Linie - vorgeführt. Obwohl diese Linie zwar die Länge der betrachteten Projektion korrekt wiedergibt, ist mit dieser Modellvorstellung keine gleichzeitige Berücksichtigung der Breite der betrachteten Robotersegmente und damit noch keine korrekte Berücksichtigung der realen Robotergeometrie möglich. Da dies jedoch für eine effektive Kollisionsvermeidung und die spätere Trajektorienplanung unerläßlich ist, ist jetzt aufzuzeigen, in welcher Weise die tatsächliche Robotergeometrie in geeigneter Weise in die Berechnung der Kollisionsbereiche einfließen kann.
Fig. 18 zeigt qualitativ die Projektion einer realen Robotergeometrie auf die Grundfläche des gemeinsamen Arbeitsraumes. Anstelle der Projektionslinien ergeben sich jetzt Rechtecke, somit also Projektionsflächen; die ursprünglich ausschließlich betrachteten Projektionslinien sind die Mittellinien dieser Projektionsflächen. Diese Flächen haben die Längen der vorherigen Projektionslinien p₁ bzw. p₂ und eine Breite b₁ bzw. b₂, die sich unmittelbar aus den Dimensionen der Robotersegmente ergibt.
Neben den Projektionslinien - als den Mittellinien der Projektionsflächen - sind in jeder Fläche zwei Linien λ₁ bzw. λ₂, ausgehend vom Fußpunkt des Roboters zu jeweils einer der gegenüberliegenden Ecken, eingezeichnet. Diese Linien schließen mit der Projektionslinie jeweils die Winkel ϕ₁ bzw. ϕ₂ ein.
Dies bedeutet jedoch zwangsläufig, daß die Projektionslänge p₁ bei einer zusätzlichen Drehung um den Winkel ±ϕ₁ genau auf einer der Linien λ₁ liegen würde. Für b₁ « p₁ gilt mit guter Näherung p₁ ≈ λ₁, so daß p₁ nach einer Drehung um ±ϕ₁ sogar deckungsgleich mit λ₁ ist.
Mit der Kenntnis dieses Umstandes fällt nun die korrekte Berücksichtigung der realen Roboterausmaße bei der Berechnung der Kollisionsbereiche nicht mehr schwer.
Wie gezeigt wurde, ergibt sich bei der Projektion eines rechtwinkligen Körpers im Raum immer dann eine rechtwinklige Projektionsfläche, wenn zwei der Seitenflächen des Körpers senkrecht zur Projektionsebene stehen. Dies ist durch die besondere Struktur der Roboter fast immer gewährleistet, da die Bewegungsachsen üblicherweise entweder parallel oder senkrecht zum Normalenvektor der Grundfläche stehen.
Damit ergeben sich als Projektionsflächen der realen Robotergeometrie Rechtecke. Die früher betrachtete Pro­ jektionslinie ist die Mittellinie dieser Rechtecke. Wird jetzt wie zuvor anhand dieser Mittellinie der Kollisionsbereich bestimmt, so ist - unter Beibehaltung der Bezeichnungen aus den Fig. 11, 13 und 18 - zu beachten, daß aufgrund der Breite der realen Robotersegmente die Konfiguration ψ immer dann bereits kollisionsgefährdet ist, wenn die um +ϕ₁ rotierte Projektionslinie p₁ bereits innerhalb des gefährdeten Bereiches liegt, so wie dies in Fig. 18 der Fall ist.
Wenn angesetzt wird, daß die Projektionslinie p₁ unter der Konfiguration ψkrit gerade die Randlinie des gefährdeten Bereiches berührt, so berührt eine Projektionsfläche mit der Länge p₁ und der Breite b₁ die Randlinie des gefährdeten Bereiches bereits bei einer Konfiguration von ψkrit - ϕ₁, wobei sich der Winkel ϕi mit
ergibt als
Die geforderte Berücksichtigung der realen Geometrie kann also durch eine zusätzliche Aufweitung des Kollisionsbereiches mit einer Addition der Winkel ϕi erreicht werden. (Da für beide koordinierte Roboter der Einfluß der realen Geometrie berücksichtigt wird, sind entsprechend bei der Addition die beiden sich nach (26) ergebenden Winkelwerte ϕ₁ und ϕ₂ zu berücksichtigen.) Zur Einführung des Sicherheitsabstandes wurde dies bereits in analoger Weise in Abschnitt 3.3.1 durchgeführt.
Zusätzlich ist jetzt zu berücksichtigen, daß der Aktionsradius des einzelnen Roboters nicht mehr durch die Länge der Projektionslinie, sondern vielmehr durch die nach Gleichung (25) gegebene Länge der Strecke λ₁ bzw. λ₂ beschrieben wird. Anstelle von p₁ bzw. p₂ ist damit in dem in Fig. 15 angegebenen Algorithmus stets die Länge der Strecke λ₁ bzw. λ₂ nach Gleichung (25) anzusetzen (für den Spezialfall b = 0 ergibt sich nach Gleichung (25) wieder pi = λi).
Der Kollisionsbereich wird letztlich also mehrfach aufgeweitet.
  • - Die erste Aufweitung erfolgt zur Einführung eines Sicherheitsabstandes - ϕs.
  • - Eine zusätzliche Aufweitung, die sinnvollerweise mit der ersten Aufweitung zusammengefaßt wird, erfolgt, um sicherzustellen, daß die resultierende Polygonfigur des Kollisionsbereiches tatsächlich alle kollisionserzeugenden Konfigurationspaare einschließt - ϕk.
    Da dies nur aus dem Grunde erforderlich wird, um sicherzustellen, daß die angenäherte Polygonfigur den tatsächlichen Kollisionsbereich komplett umschließt, ist diese Aufweitung sehr klein, so daß die Zusammenfassung mit der ersten Aufweitung naheliegend erscheint.
  • - Die zweite Aufweitung erfolgt zur Berücksichtigung der realen Geometrie der Roboter R₁ bzw. R₂ - ϕ₁ bzw. ϕ₂
  • - Eine weitere Aufweitung erfolgt schließlich, um auch während eines Nutzlasttransportes sicherzustellen, daß die Polygonfigur des Kollisionsbereiches weiterhin alle kollisionserzeugenden Konfigurationspaare einschließt - ϕp₁ bzw. ϕp₂.
    Da zwangsläufig ϕpi, < ϕi gelten wird, kann diese Aufweitung erforderlichenfalls mit der zweiten Aufweitung zusammengefaßt werden.
Somit ist der rechte Summand in den Gleichungen (23) und (24) entsprechend der gefundenen Zusammenhänge geeignet zu erweitern, so daß sich der Summand schließlich insgesamt darstellt als:
i+ (ϕs + ϕk)) (27)
Fig. 19 zeigt graphisch die Aufweitungen des Kollisionsbereiches, die sich in Verbindung mit der Berücksichtigung der realen Geometrie - in diesem Falle der Breitenausdehnung der Robotersegmente - ergeben.
In Fig. 19a wird von einer Segmentbreite von 5 Einheiten ausgegangen. Für Fig. 19b ist diese Breite auf 8 und im Falle von Fig. 19c schließlich auf 12 Einheiten erhöht. In Fig. 19d sind die Kollisionsbereiche aus Fig. 19a-c übereinander dargestellt, so daß die Aufweitungen im Verhältnis zueinander betrachtet werden können.
Bei der konkreten Realisierung einer Kollisionserkennung mit Hilfe der Kollisionsbereiche fällt auf - siehe insbesondere Fig. 20 -, daß bei bestimmten Konstellationen die üblicherweise eher regelmäßige Form der Kollisionsbereiche stark verzerrt dargestellt wird. Weiterhin wird beobachtet, daß diese Verzerrungen ausschließlich bei solchen Konstellationen auftreten, bei denen sich nur noch eine sehr geringe Überlappung der Projektionsflächen ergibt; dies bedingt durch die Tatsache, daß aufgrund der speziellen Konfigurationen eine der Projektionsflächen sehr viel kürzer ist als die andere.
Dies läßt sich jedoch leicht anhand des bei diesen Fällen verstärkten Einflusses der Aufweitung des Kollisions­ bereiches - aufgrund der Berücksichtigung der realen Geometrie - erklären. Der mit Hilfe von Gleichung (26) bestimmte Winkel ϕi wird um so größer, je kleiner der im Nenner stehende Faktor λi (25) wird.
Die beobachtete Verzerrung tritt nun ausschließlich dann auf, wenn eine der Projektionsflächen sehr kurz im Vergleich zur anderen ist. Die "Länge" einer Projektionsfläche geht mit pi direkt in Gleichung (25) ein, so daß λi direkt proportional zu pi ist.
Dies bedeutet dann nichts anderes, als daß die sich ergebende erforderliche Aufweitung bei kleinem pi - kleiner Projektionsfläche - vergleichsweise groß wird. Da zudem bei geringer Überlappung der Projektionsflächen die Fläche des nicht aufgeweiteten Kollisionsbereiches eher klein bleibt, erscheint jetzt der aufgeweitete Kollisionsbereich verzerrt, da er im wesentlichen durch die jeweilige Aufweitung bestimmt wird.
Auch bei einer experimentellen Ermittlung der Kollisionsbereiche ergibt sich die soeben beschriebene Verzerrung. Somit ist offensichtlich, daß die Verzerrung der Problematik inhärent ist und damit nicht durch den gewählten Algorithmus verursacht wird. Fig. 20 zeigt praktisch aufgenommene verzerrte Kollisionsbereiche für jeweils unterschiedliche Segmentbreiten b bei einer geringfügigen Überlappung der Projektionsflächen.
3.3.3 Berechnung der Kollisionsbereiche für Roboter mit versetzten Gelenken - PUMA- oder PAMIR-Typ
In der gleichen Weise, wie bereits im vorangegangenen Abschnitt die Berücksichtigung der realen Ausmaße der Robotersegmente erfolgte, soll jetzt gezeigt werden, auf welche Weise die Kollisionsbereiche für Roboter mit versetzten Gelenken berechnet werden können.
Der Unterschied zwischen dem bisher betrachteten Robotertyp (Fig. 1) und einem Roboter mit versetzten Gelenken besteht - sofern ausschließlich die Projektion betrachtet wird - darin, daß die Projektionslinie nicht mehr durch den Drehpunkt verläuft, sondern einen bestimmten Abstand zu diesem aufweist. Ein Beispiel für Roboter dieser Struktur sind die PUMA-Typen. Fig. 21 zeigt eine Darstellung des PUMA-560 Roboters, man erkennt die drei Hauptfreiheitsgrade, wobei sowohl das Schulter- als auch das Ellbogengelenk als versetztes Gelenk ausgebildet ist.
Fig. 22 zeigt dazu die Projektion zweier Roboter dieses Typs mit versetztem Schultergelenk. Die schraffierten Rechtecke sind die Projektionen der Robotergeometrie; der Versatz zwischen der Rotationsachse und dem Ansatzpunkt des Gelenkes ist mit d₁ bzw. d₂ bezeichnet. Die Breiten der projizierten Segmente sind wie im vorangegangenen Abschnitt als b₁ bzw. b₂ bezeichnet.
Wie im vorangegangenen Abschnitt sind auch hier wieder die ursprünglich verwendeten Projektionslinien p₁ und p₂ eingezeichnet. Im hier vorliegenden Fall entsprechen diese Linien nicht länger den Mittellinien der sich ergebenden Projektionsflächen; vielmehr liegen sie nun außerhalb dieser Flächen.
Es ist jedoch sehr wohl möglich, eine Fläche zu konstruieren, die als Mittellinie wieder die Projektionslinie p₁ bzw. p₂ besitzt. Diese Fläche ist in ihrer Breitenausdehnung durch die Außenkante der Projektionsfläche begrenzt. In diese Fläche können jetzt wieder zwei Linien eingezeichnet werden, die - wie im vorangegangenen Abschnitt - mit der Projektionslinie den Winkel ϕ₁ bzw. ϕ₂ einschließen.
Mit der Berücksichtigung des sich hier ergebenden Wertes von
ist bereits einer der Summanden für die erforderliche Ausdehnung des Kollisionsbereiches bekannt.
Auf der gegenüberliegenden Seite darf dieser Summand jetzt nicht eingesetzt werden, denn die Projektionsfläche dehnt sich ja nur auf einer Seite der Rotationsachse aus. Vielmehr muß jetzt der Wert
verwendet werden. Anders als in allen vorangegangenen Fällen wird ζi jetzt nicht als additiver Summand verwendet, um den Kollisionsbereich auszudehnen, sondern vielmehr subtrahiert. Für die in Fig. 22 dargestellte Anordnung der versetzten Gelenke wird diese Subtraktion ausschließlich in den Gleichungen (22) berücksichtigt.
Selbstverständlich ist - wie im vorangegangenen Abschnitt - für den Aktionsradius des jeweiligen Roboters anstelle der Länge der Projektionslinie wieder die sich ergebende Länge der Strecke λ₁ bzw. λ₂ anzusetzen. Wie bereits anhand des Nenners von Gleichung (28) ersichtlich ist, darf im Falle von versetzten Gelenken zur Bestimmung des Aktionsradius′ der koordinierten Roboter jetzt nicht mehr die Gleichung (25) angesetzt werden, statt dessen wird der Aktionsradius nach der folgenden Beziehung bestimmt
3.4 Kollisionserkennung für die Armgelenke
Bisher wurde der Kollisionsbereich anhand der zugehörigen Projektionslängen für das Körpergrundgelenk des Roboters bestimmt. Mit Hilfe dieses Kollisionsbereiches kann ermittelt werden, welche Konfigurationen des Grundgelenkes eine kollisionsgefährdete Konstellation darstellen und damit zu einer Kollision führen können.
Der sich hier zwangsläufig anschließende Schritt besteht darin, einen analogen Kollisionsbereich für die Armgelenke zu bestimmen. Die Kollisionserkennung könnte dann - mit Kenntnis dieses zusätzlichen Kollisionsbereiches - nach dem in Fig. 23 aufgezeigten Algorithmus ablaufen.
Bei der Bestimmung des Aktionsradius der Armgelenke erwächst aufgrund der Tatsache, daß die Konfiguration der Projektion im Falle eines Gelenkarmroboters nach Fig. 1 nunmehr durch zwei Gelenkskonfigurationen bestimmt wird, eine zusätzliche Schwierigkeit.
Der in den vorangegangenen Abschnitten ermittelte Kollisionsbereich ist bestimmt durch die Menge aller derjenigen Konfigurationspaare, die zu einer Überlappung der Projektionen führen - siehe Definition 1 des Kolli­ sionsbereiches. Bei einer Diskretisierung in 1°-Schritten sind bei der Speicherung sämtlicher möglicher Kombinationen von Konfigurationen der Körpergrundgelenke insgesamt 180² = 32.400 Konfigurationspaare zu berücksichtigen. Im Vergleich dazu müssen bei Betrachtung jeweils zweier unabhängiger Armgelenkskonfigurationen der beteiligten Roboter insgesamt 180² × 180² ≈ 1.05 × 10⁹ Konfigurations-n-Tupel berücksichtigt werden.
Anhand des Verhältnisses dieser beiden Zahlenwerte ist ersichtlich, daß eine unabhängige Berücksichtigung aller Konfigurationswerte kaum praktikabel ist, jedenfalls aber zu deutlich erhöhten Anforderungen bezüglich Rechenleistung und Speicherkapazität des eingesetzten Steuerrechners führen muß (siehe dazu auch die Ausführungen in Abschnitt 2.2).
Zusätzlich sind in diesem Zusammenhang die beiden folgenden Punkte zu beachten:
  • - Die Anzahl der zu berücksichtigenden Konfigurationswerte kann bei speziellen Roboterkonfigurationen durchaus auch größer als "zwei" werden, so daß die Gesamtzahl der Konfigurations-n-Tupel nochmals extrem anwüchse.
  • - Bei einer Betrachtung von mehr als einem Konfigurationswert für jeden beteiligten Roboter kann das Ergebnis nicht mehr in der zweidimensionalen Konfigurationsebene festgehalten werden.
    Der vormals zweidimensionale Kollisionsbereich würde zu einem 2n-dimensionalen Kollisionsraum, wobei n für die Anzahl der berücksichtigten Gelenkskonfigurationen steht.
Es wird klar, daß eine Möglichkeit gefunden werden muß, die eine Berücksichtigung mehr als eines Konfigura­ tionswertes pro beteiligtem Roboter zuläßt und dabei nach wie vor zweidimensionale Kollisionsbereiche in einer Konfigurationsebene liefert.
Als ebenso einfache wie naheliegende Lösung bietet sich hier an, anstelle einer Projektionslinie, gleichzeitig zwei Projektionslinien zu betrachten, die sich dadurch auszeichnen, daß zwischen ihnen in jedem Falle alle Projektionsflächen liegen, die sich bei einer Projektion der tatsächlichen Robotergeometrie ergeben. Damit wird gleichsam der für jeden Roboter zusätzlich zu berücksichtigende Konfigurationswert auf den ersten Konfigurationswert bezogen.
Zunächst ist jedoch die Lage der Projektionsebene zu klären. Die Projektionsebene zur Kollisionserkennung für die Grundgelenke ist bekanntlich die Grundfläche des gemeinsamen Arbeitsraumes; dies aus dem Grunde, weil die jeweiligen Grundgelenke als rotatorische Gelenke mit einer auf der Grundfläche des Arbeitsraumes senkrecht stehenden Rotationsachse angenommen werden. Die Rotationsachsen der Armgelenke koordinierter Roboter stehen demgegenüber in den meisten Zeitpunkten nicht senkrecht zu ein und derselben Ebene; in diesem Falle müßten die Rotationsachsen selbst parallel zueinander liegen. Allerdings verlaufen die genannten Rotationsachsen stets komplanar zur Grundfläche des Arbeitsraumes - der Projektionsebene zur Kollisionserkennung für die Grundgelenke. Die gesuchte Projektionsebene muß also mit Sicherheit senkrecht auf dieser Ebene stehen, denn nur dann ist eine Kompensation des mit der Projektion einhergehenden Informationsverlustes möglich. Als zusätzliche geometrische Bezugsgröße zur Festlegung der gesuchten Projektionsebene wird die Verbindungslinie zwischen den Fußpunkten der koordinierten Roboter gewählt. Legt man die gesuchte Projektionsebene weiterhin komplanar zu dieser Verbindungslinie, so ist die Projektionsebene ausreichend bestimmt.
Die erforderliche Ermittlung der Projektionslängen für die Armgelenke kann jetzt leicht mit Hilfe der Informationen aus Fig. 24 erfolgen. Die Koordinatenachse y′ verläuft entlang der zuvor erwähnten Verbindungslinie zwischen den Fußpunkten der beteiligten Roboter. Die Längen l₁ und l₂ bezeichnen wieder - wie in Fig. 4 - die Längen der Armsegmente; entsprechend bezeichnen k₁ und k₂ die Konfigurationen der Armgelenke (Schulter- bzw. Ellbogengelenk).
Vom Ursprung des Koordinatensystemes - dem Ansatzpunkt des ersten Armgelenkes - wird eine Linie bis zum Endpunkt des zweiten Armgelenkes gezogen. Dies ist bereits eine der gesuchten Projektionslinien für die Armgelenke, deren Länge im folgenden noch genau zu bestimmen ist. Die zweite Projektionslinie liegt auf dem ersten Armsegment l₁. Beide Projektionslinien sind - wie durch den Kreisbogen angedeutet wird - gleich lang; sie schließen den Winkel δ ein.
Für die Bestimmung der Länge der Projektionslinien gibt es verschiedene Möglichkeiten. Eine dieser Möglichkeiten soll hier vorgeführt werden:
Eine der betrachteten Projektionslinien bildet mit den Armsegmenten l₁ und l₂ ein Dreieck. Die Längen dieser Armsegmente sind bekannt. Der Winkel zwischen l₁ und l₂ beträgt nach Fig. 24
(k₁ + 90° + β) = 180° - k₂ (31)
Damit sind in dem Dreieck zwei Seiten und ein Winkel bekannt, so daß die gesuchte Projektionslänge unter Anwendung des Cosinussatzes (13) ermittelt werden kann. Für die allgemeinen Variablen b und c sind die Längen l₁ sind l₂ einzusetzen; der Winkel α beträgt nach (31) 180° - k₂. Damit ergibt sich für die gesuchte Länge der Projektionslinie die Beziehung
Auf diese Weise besteht nunmehr die Möglichkeit, genau wie im vorangegangenen Abschnitt einen Kollisions­ bereich zu bestimmen. Für die Ermittlung aller Konfigurationspaare, die Elemente des Kollisionsbereiches sind, braucht selbstverständlich nur jeweils eine der Projektionslinien berücksichtigt werden, denn beide Linien besitzen die gleiche Länge.
Abweichend zu den vorangegangenen Abschnitten werden in der Konfigurationsebene jetzt nicht nur zwei Gelenkskonfigurationen, sondern mit den Konfigurationen k₁ für den jeweiligen Roboter (der mit k₁ bezeichnete Konfigurationswert gibt die Winkelstellung des ersten Armgelenkes sowohl von Roboter R₁ als auch von Roboter R₂ an; wenn Unterscheidungen erforderlich sind, wird zur Identifizierung des jeweiligen Roboters ein Exponent verwendet: Also k₁(R₁) bzw. k₁(R₂)) sowie den zusätzlichen Konfigurationen (k₁ + δ) insgesamt vier Gelenkskonfigurationen eingezeichnet (siehe Fig. 25). Auf diese Weise ist eine Berücksichtigung der geknickten Struktur der Armgelenke gewährleistet.
Der Winkel δ ist derjenige Winkel, der von den beiden Projektionslinien eingeschlossen wird. Sein Wert ergibt sich nach dem Cosinussatz (13) zu
Die erforderliche Fallunterscheidung, ob der nach (33) bestimmte Winkel zur Konfiguration k₁ zu addieren oder zu subtrahieren ist, läßt sich leicht anhand der Konfigurationswerte des zweiten Armgelenkes durchführen. Für k₂ 0 ist der Winkel δ zu subtrahieren, im anderen Falle zu addieren. Der effektive Öffnungswinkel ergibt sich demnach schließlich als
Die sich auf diese Weise ergebenden vier Konfigurationslinien schließen in der Konfigurationsebene ein Rechteck ein. Zur Erkennung drohender Kollisionen ist jetzt - im Gegensatz zum vorangegangenen Abschnitt 3.1 - nicht allein das im Schnittpunkt der Konfigurationslinien liegende Konfigurationspaar zu betrachten, sondern alle Konfigurationspaare, die innerhalb des von den Konfigurationslinien eingeschlossenen Rechtecks liegen.
Aus der Tatsache, daß, wie bereits weiter oben gesagt, die Projektion der geknickten Armgelenksstruktur in jedem Falle zwischen den beiden ermittelten Projektionslinien liegt, ergibt sich unmittelbar die Begründung für den Umstand, daß nunmehr gleichzeitig eine Vielzahl von Konfigurationspaaren überwacht werden muß. Denn auch Überlappungen von Projektionslinien, die zwischen den ermittelten Linien liegen, zeigen eine drohende Kollision an. Diejenigen Konfigurationspaare, die zwischen bzw. auf den ermittelten Projektionslinien liegen, lassen sich wie folgt angeben:
Dabei bedeuten k₁ und k₁ die in der Konfigurationsebene aufgetragenen kollisionsgefährdeten Konfigura­ tionen: k₁(R₁) bzw. k₁(R₂) die Konfiguration des ersten Armgelenkes der Roboter R₁ bzw. R₂ und schließlich δ₁ und δ₂ die jeweils von den beiden Projektionslinien eingeschlossenen Winkel. Alle diese Konfigurationspaare ergeben - in der Konfigurationsebene eingetragen - genau ein Rechteck.
Eine Kollision der Armsegmente droht demnach immer dann, wenn mindestens ein Punkt aus der Fläche des so aufgespannten Vierecks innerhalb des Kollisionsbereiches liegt, so wie dies z. B. auch in Fig. 25 dargestellt ist.
Der von den Projektionslinien eingeschlossene Winkel δ kann grundsätzlich genauso behandelt werden wie die Winkel ϕi bzw. ζi bei der Berücksichtigung der realen Geometrie der Roboter in Abschnitt 3.3.2. Damit ergäbe sich für die korrekte Berücksichtigung der geknickten Armstruktur eine Verschiebung des Kollisionsbereiches in k₁(R₁)- bzw. k₁(R₂)-Richtung um bzw. sowie - auch nach dem Vorbild des Sicherheitsabstandes (Abschnitt 3.3.1) - eine zusätzliche Aufweitung des Kollisionsbereiches um den Wert des Winkels bzw. .
Durch die Betrachtung zweier Konfigurationslinien in der Konfigurationsebene - unter Verzicht auf die oben erwähnte zusätzliche Aufweitung - bleibt die relative Beziehung des Ellbogen-Konfigurationswertes auf den Schulter-Konfigurationswert erhalten; dies ist im Falle der Aufweitung des Kollisionsbereiches - insbesondere im Falle der mehrfachen Aufweitung - nicht mehr unmittelbar zu erkennen. Es bleibt jedoch zu berücksichtigen, daß für die Trajektorienplanung die Aufweitung des Kollisionsbereiches einer Betrachtung mehrerer Konfigurationslinien vorzuziehen ist. Die beschriebene Aufweitung findet ihre direkte Analogie in den sogenannten Zuwachshindernissen.
3.5 Zusammenfassung - Kollisionserkennung mit Hilfe von Kollisionsbereichen
Der Einsatz der Kollisionsbereiche ermöglicht eine effiziente Erkennung von Kollisionsgefahren, die sich aus der Betrachtung der zweidimensionalen Projektionen der realen Robotergeometrie ergeben.
Eine tatsächliche Kollisionserkennung mit Hilfe der Kollisionsbereiche ist immer dann möglich, wenn gleichzeitig zwei Kollisionsbereiche überwacht werden, die jeweils aus Projektionen auf geeignet aufeinander senkrecht stehenden Projektionsflächen gewonnen wurden. Eine der Projektionsflächen ist immer die Grundfläche des Arbeitsraumes, die zweite Projektionsfläche steht auf dieser senkrecht und verläuft entlang der Verbindungslinie zwischen den Fußpunkten der koordinierten Roboter (siehe dazu die Ausführungen in Abschnitt 3.4). Durch diese Wahl der Projektionsebenen kann jederzeit aus den Projektionen die projizierte Geometrie wieder gewonnen werden; damit ist sichergestellt, daß durch die Projektion keine erforderlichen Informationen verloren gehen. Dies läßt sich auch anhand der Darstellungen in Fig. 26 nachvollziehen.
Die genannte Abbildung zeigt zwei Roboter im koordinierten Betrieb; dargestellt in einem quaderförmigen Raumsegment - dem Arbeitsraum. Die dick eingezeichneten Linien stellen schematisch die dreidimensionale Roboterstruktur dar; insbesondere stellen die leicht schraffiert eingezeichneten vertikalen Linien die Grundgelenke - mit der Rotationsachse senkrecht auf der Grundfläche des Arbeitsraumes - und die voll ausgezeichneten Linien die Roboterarme dar. (Um die Übersicht in Fig. 26 nicht unnötig zu erschweren, wurden die Roboterarme als einzelne, starre Elemente eingezeichnet. Die gebräuchlichsten Robotergeometrien zeichnen sich durch zwei Armgelenke (Schulter- und Ellbogengelenk) aus; hier wurde auf die Darstellung des Ellbogengelenkes verzichtet. Siehe dazu jedoch Abschnitt 3.4 sowie insbesondere die Fig. 24 und 25).
In den vorangegangenen Abschnitten wurde festgestellt, daß eine der Projektionsflächen immer die Grundfläche des gemeinsamen Arbeitsraumes ist. Entsprechend zeigt Fig. 26 in einer separaten Ebene unterhalb der Grundfläche des Arbeitsraumes die Projektionslinien der koordinierten Roboter.
In der gleichen Ebene ist ferner der sogenannte kritische Bereich - derjenige Bereich des gemeinsamen Arbeitsraumes, im dem beide beteiligten Roboter agieren können - eingezeichnet, der seinerseits durch die Überlappung der den Aktionsbereich der Roboter darstellenden Kreisbögen festgelegt ist.
Der Kollisionsbereich ergibt sich bekanntlich - Abschnitt 3.3; insbesondere Fig. 15 - aus der geeigneten Transformation des kritischen Bereiches. Entsprechend ist unterhalb der Projek­ tionsebene - mit den Projektionslinien und dem kritischen Bereich - die zugehörige Konfigurationsebene mit dem korrespondierenden Kollisionsbereich eingezeichnet. Bezogen auf diesen Kollisionsbereich wird die Kollisionserkennung für die Grundgelenke durchgeführt.
Ganz analog findet man in Fig. 26 auf der rechten Seite die Darstellungen zur Kollisionserkennung für die Armgelenke. Die zugehörige Projektionsebene ist festgelegt durch die beiden Bedingungen: a) senkrecht auf der Grundfläche des Arbeitsraumes und b) parallel zu einer Verbindungslinie durch die Fußpunkte der beiden beteiligten Roboter.
In der eingezeichneten Projektionsebene erkennt man jetzt leicht die Projektionslinien und den kritischen Bereich. Hinter der Projektionsebene ist die Konfigurationsebene mit dem resultierenden Kollisionsbereich dargestellt. Unter Berücksichtigung dieses Kollisionsbereiches kann die Kollisionsgefahr für die Armgelenke ermittelt werden.
Eine tatsächliche, effektive Kollisionserkennung wird durch die gleichzeitige Auswertung zweier Kollisionsbe­ reiche erreicht. Auf diese Weise wird quasi eine "hierarchisch strukturierte" Kollisionserkennung zwischen den beteiligten Robotern etabliert (siehe dazu auch die Darstellung des Algorithmus′ in Fig. 23).
Dabei löst sich der scheinbare Widerspruch zwischen einer gleichzeitigen Betrachtung der Kollisionsbereiche und der damit zu erzielenden hierarchisch strukturierten Kollisionserkennung unmittelbar auf, wenn man berücksichtigt, daß die Hierarchieebenen ohne weiteres austauschbar sind. Diesen Umstand wird man sich bei der Trajektorienplanung - Abschnitt 4.7 - zunutze machen, um die optimale Ausweichbewegung auszuwählen.
  • - Auf der untersten Hierarchiestufe werden unter Anwendung einer Projektion der gesamten Robotergeometrie auf die Grundfläche des Arbeitsraumes alle dem Grundgelenk nachfolgenden Gelenke vernachlässigt. Die Projektion stellt damit gleichsam eine Transformation des Roboters mit n Freiheitsgraden auf einen Roboter mit nur noch einem Freiheitsgrad dar.
    Hinsichtlich dieses verbleibenden Freiheitsgrades werden die beteiligten Roboter nun auf mögliche tatsächliche oder drohende Kollisionen untersucht.
  • - Als Ergebnis dieser Untersuchung sind die beiden folgenden Feststellungen möglich:
  • - Eine Kollision ist ausgeschlossen.
  • - Eine Kollision ist nicht ausgeschlossen.
  • - Kommt man zu dem Ergebnis "eine Kollision ist ausgeschlossen", so sind keine weiteren Kollisionsüberprüfungen - auch hinsichtlich aller weiteren Freiheitsgrade - erforderlich; insbesondere kann für diesen Fall die Auswertung des zweiten Kollisionsbereiches unterbleiben (Satz 3).
    Dies kann man sich, auch in der Rückübertragung auf den realen Roboter mit mehreren Freiheitsgraden, leicht klarmachen, indem man sich folgendes vor Augen führt: Mit einer Bewegung im Grundgelenk des Roboters werden auch alle nachfolgenden Gelenke im Raum bewegt. Bestimmte Grundgelenksstellungen bewegen die Segmente der beteiligten Roboter so weit voneinander weg, daß eine Kollision unmöglich wird.
  • - Kommt man dagegen zu dem Ergebnis "eine Kollision ist nicht ausgeschlossen", so kann eine Aussage hinsichtlich einer tatsächlich vorliegenden kollisionserzeugenden Konstellation nur mit Hilfe der Betrachtung des Kollisionsbereiches auf der nächsten Hierarchiestufe erfolgen.
  • - Als Ergebnis dieser weiteren Untersuchung sind nunmehr die beiden folgenden Ergebnisse denkbar:
  • - Eine Kollision ist ausgeschlossen.
  • - Es kommt zu einer Kollision.
  • - Kommt man zu dem Ergebnis "eine Kollision ist ausgeschlossen", so liegt eine Konstellation vor, bei der die Konfiguration der Grundgelenke die Roboter zwar in den gefährdeten Bereich bewegt hat; durch die Stellung der Armgelenke kommt es jedoch trotzdem nicht zu einer Kollision.
  • - Kommt man dagegen wiederum zu dem Ergebnis "es kommt zu einer Kollision", so liegt für die koordinierten Roboter die folgende Konstellation vor:
    Aufgrund der bei der Auswertung des ersten Kollisionsbereiches gewonnenen Ergebnisse ist bereits klar, daß die Stellung der Grundgelenke eine Kollision ermöglicht. Weiterhin hat die Auswertung des zweiten Kollisionsbereiches ergeben, daß sich auch die Armgelenke in einer kollisionsgefährdeten Konfiguration befinden.
    Wird bei beiden Kollisionsbereichen eine Kollisionsgefahr festgestellt, so ist dies als Kollision auszuwerten.
4. Planung optimaler Ausweichtrajektorien unter Berücksichtigung der Kollisionsbereiche
Kollisionsbereiche bieten eine besonders effektive Möglichkeit zur Generierung kollisionsfreier Trajektorien für den Fall eines koordinierten Mehrroboterbetriebes. Somit bildet die in den vorangegangenen Abschnitten vorgestellte Kollisionserkennung die Grundlage für die eigentlich angestrebte Trajektorienplanung.
Die Trajektorie eines einzelnen Roboters Ri kann in diskretisierter Form, aufgenommen in äquidistanten Zeitpunkten ·Δt, als Folge von Konfigurations-n-Tupeln, den Stützstellen, in der Form
oder kurz als
angegeben werden. Dabei bezeichnet der Index i den jeweiligen Roboter, der Index n die Anzahl der Freiheitsgrade des Roboters Ri und der Index j die Anzahl der Stützstellen der Trajektorie (siehe auch Gleichung (5)).
Zunächst soll hier - ohne die unter Berücksichtigung der Kollisionsbereiche angestrebte Koordination -die Übertragung zweier Trajektorien jeweils unabhängiger Roboter in die Konfigurationsebene vorgestellt werden. Dazu wird vorausgesetzt, daß die vollständigen Verfahrwege, die Trajektorien, der Roboter im Arbeitsraum bekannt sind, somit also in einer gemäß Beziehung (36) darstellbaren Form vorliegen.
Zur Übertragung zweier dieser Trajektorien für jeweils verschiedene Roboter in die Konfigurationsebene ist wie folgt vorzugehen:
  • - Sowohl aus der Trajektorie T(R₁) für den Roboter R₁ als auch aus der Trajektorie T(R₂) für den Robo­ ter R₂ werden für alle Stützstellen (1, 2 . . . j) die Konfigurationen mit gleichem Freiheitsgrad-Index m (0 m (n - 1)) ausgewählt - Beziehung (36).
  • - Damit gewinnt man aus jeder Trajektorie T(Ri) eine Folge von Konfigurationen des gleichen Freiheitsgrades:
  • - Aus diesen speziellen Konfigurationsvektoren tm (R₁) und tm (R₂) für die beiden Roboter R₁ und R₂ ergibt sich bei Auswahl jeweils zweier, zum gleichen Zeitpunkt ·Δt gehöriger Konfigurationswerte eine Folge von Konfigurationswertepaaren, die leicht in das für die Kollisionsbereiche verwendete Koordinatensystem - die Konfigurationsebene - eingetragen werden können.
  • - Im Falle einer Auswahl des jeweils ersten Konfigurationswertes der Gesamttrajektorie (m = 0) erhält man dementsprechend in der Konfigurationsebene die Trajektorie der Grundgelenke zweier Roboter.
    Ein Punkt auf der so entstehenden Trajektorie wird, da er durch zwei Konfigurationswerte spezifiziert wird, im folgenden wieder als "Konfigurationspaar" bezeichnet - siehe auch Gleichung (10). Entsprechend wird der Startpunkt der Trajektorie als Start-Konfigurationspaar, der Zielpunkt als Ziel-Konfigurationspaar bezeichnet.
4.1 Ansätze zu Generierung kollisionsfreier Trajektorien im koordinierten Mehrroboterbetrieb
Im vorangegangenen Abschnitt wurde die Übertragung zweier Trajektorien einzelner Roboter, für die ein kollisions­ freier, koordinierter Betrieb angestrebt wird, in ein gemeinsames Koordinatensystem - die Konfigurationsebene - eingeführt.
Wie bereits vorher festgestellt wurde, darf keines dieser Konfigurationspaare innerhalb eines Kollisionsbereiches liegen. Schneidet nun die sich so ergebende Trajektorie einen Kollisionsbereich, so würde aus diesem Grunde eine Abarbeitung der unmodifizierten Trajektorie zwangsläufig zu einer Kollision führen. Eine Trajektorie ist also - um Kollisionen auszuschließen - so zu modifizieren, daß jeglicher Kontakt mit dem Kollisionsbereich vermieden wird. Eine solche kollisionsfreie Trajektorie ist in Fig. 27 dargestellt.
4.1.1 Die Potentialfeldmethode
Zur Generierung einer Trajektorie, die den Kollisionsbereich nicht mehr berührt, können aus der Literatur bekannte Verfahren eingesetzt werden, wie z. B. die sog. Potentialfeldmethode, die bereits von [Adolphs 1990] zur Planung kollisionsfreier Trajektorien für den Betrieb einzelner Roboter verwendet wurde.
Bei der Anwendung einer Potentialfeldmethode für die hier vorliegende Problemstellung wird die Konfigura­ tionsebene zunächst mit einer Gitterstruktur (siehe dazu gleichfalls Fig. 27) überzogen. Die auf diese Weise diskretisierte Konfigurationsebene kann dann leicht als zweidimensionales Feld dargestellt werden.
Den einzelnen Elementen dieses Feldes werden in einem ersten Ansatz Werte zugewiesen, die umso größer sind, je näher sie sich entweder am Start- oder am Zielpunkt (dem Start- bzw. Ziel-Konfigurationspaar) befinden. (Für den Einsatz der Potentialfeldmethode ist es irrelevant, ob die Suche vom Start- oder vom Zielpunkt ausgeht. Die Beschreibung wird hier fortgesetzt für eine Suche, die am Startpunkt beginnt). Damit werden in dem Potentialfeld rund um den Zielpunkt konzentrische Kreise mit gleichen Potentialwerten aufgebaut. Die Potentialwerte können dabei - ausgehend von Ursprung - entweder ansteigen oder abfallen. (Erneut ist es irrelevant, ob man sich für ansteigende oder abfallende Potentialwerte - von Ursprung aus gesehen - entscheidet. Die Beschreibung wird fortgesetzt, für vom Zielpunkt (dem Ursprung) aus ansteigende Potentialwerte, so daß der Zielpunkt auf dem Grunde eines "Potentialtrichters" liegt).
Die Punkte der Konfigurationsebene, die vom Kollisionsbereich selbst - dem zu umgehenden Hindernis - belegt sind, bekommen einen besonders großen, eindeutigen Potentialwert zugewiesen. Theoretisch wird für diese Punkte der Potentialwert +∞ verwendet. Bei der praktischen Realisierung in Form eines Algorithmus′ wird man hingegen einen Wert wählen, der größer als alle anderen sich beim Einrichten des Potentialfeldes ergebenden Werte ist. Der Kollisionsbereich ragt damit gleichsam wie ein Gebirge aus dem umgebenden Potentialfeld heraus. Die Wahl ausreichend großer Potentialwerte für den Kollisionsbereich stellt sicher, daß bei der Wegsuche kein Weg ausgewählt wird, der in den Kollisionsbereich hineinführt. Fig. 28 zeigt ein solches Potentialfeld mit dem Kollisionsbereich als "Potentialgebirge" im Zentrum.
Die Wegsuche erfolgt nun in der Form, daß ausgehend vom Startpunkt in Richtung fallender Potentialwerte vorangeschritten wird. Die Suche vom Start- zum Zielpunkt ist dabei so zu steuern, daß entlang des gewählten Weges die Summe aller Potentialwerte
so klein wie möglich wird.
Da eine Realisierung dieses Ansatzes zu einem lokalen Verfahren in der Form führt, daß beim Voranschreiten auf dem sich sukzessive ergebenden Weg dieser immer in der Richtung der größten Potentialdifferenz fortgesetzt wird, birgt ein solcher einfacher Ansatz fast zwangsläufig die Gefahr eines Scheiterns der Suche in lokalen Extrema. (Die einfachste Realisierung einer Wegsuche in einem Potentialfeld besteht darin, innerhalb des zweidimensionalen Potentialfeldes in jedem Iterationsschritt immer genau ein Feld voran zu schreiten. Dabei werden für die Bestimmung der einzuschlagenden Richtung immer nur diejenigen Felder berücksichtigt, die unmittelbar an das aktuelle Feld (→ lokales Verfahren) angrenzen. Auf diese Weise lassen sich natürlich lokale Extremwerte nicht vermeiden).
Da durch die besondere Form der Kollisionsbereiche - die "Einschnürung" an der Nabe - in dem sich auf diese Weise ergebenden Potentialfeld lokale Extremwerte immer vorhanden sind, führt die Wegsuche mit Hilfe einfacher Potentialfeldmethoden nur bei besonderen Konstellationen (wie z. B. in Fig. 27 dargestellt), bei denen Start- und Zielpunkt weit genug von diesem lokalen Extremum entfernt sind, zum Erfolg.
Das absolute Minimum des Potentialfeldes liegt - unter Berücksichtigung der in Fig. 28 gewählten Blickrichtung - auf der rechten Seite des Kollisionsbereiches. Man kann leicht erkennen, daß auf der linken Seite des Kollisions­ bereiches allesamt höhere Potentialwerte vorherrschen, als auf dessen rechter Seite. Aus diesem Grunde ist es auch unmittelbar einsichtig, daß auf der linken Seite des Kollisionsbereiches, etwa in Höhe der Nabe, ein lokales Minimum vorhanden sein muß. Bis hin zum Kollisionsbereich fallen auf dieser Seite alle Potentialwerte kontinuierlich in Richtung auf das absolute Minimum hin ab, so daß sich die niedrigsten Potentialwerte auf der linken Seite des Kollisionsbereiches in der Nähe der Nabe befinden. Da jedoch der direkte Weg zum absoluten Minimum durch den Kollisionsbereich versperrt ist, kommt es hier zu einem lokalen Minimum.
Wird nun - ausgehend von einem beliebigen Punkt auf der rechten Seite des Kollisionsbereiches - ein Weg zum absoluten Minimum des Potentialfeldes gesucht, besteht mit großer Wahrscheinlichkeit die Gefahr, daß die gesamte Wegsuche erfolglos in diesem lokalen Minimum endet.
Abhilfe schafft in diesem Fall der Ansatz eines Potentialfeldes, das keine lokalen Extremwerte aufweist. Ein solches Potentialfeld kann z. B. nach dem Moore-Algorithmus aufgebaut werden. Beginnend bei der Zielposition wird jedem Element der Konfigurationsebene dessen Entfernung zur Zielposition - die Länge des Weges bis zur Zielposition - als Potentialwert zugeordnet. Dabei entsteht in der Konfigurationsebene eine Potentialwelle, die den gesamten Kollisionsbereich umschließt und schließlich die Startposition erreicht. Lokale Extrema werden mit diesem Ansatz vermieden, da jedem Element die tatsächliche Länge eines Weges von der aktuellen Position zur Zielposition - bei unmittelbarer Berücksichtigung des Kollisionsbereiches - zugewiesen wird, wohingegen zuvor lediglich die Distanz zwischen aktueller Position und Zielposition zur Bestimmung der jeweiligen Potentialwerte herangezogen wurde. Fig. 29 zeigt in zwei- und dreidimensionaler Darstellung ein solches Potentialfeld um einen Kollisionsbereich.
Eines solchen Verfahrens bedienen sich auch Adolphs und Nafziger [Adolphs 1990], die mit ihrer Arbeit ein Verfahren zur Trajektorienplanung einzelner autonomer Roboter vorstellen. Das Verfahren findet in jedem Fall den kürzesten Weg zwischen Start- und Zielposition; allerdings ist der Berechnungsaufwand erheblich, da es sich um ein ungerichtetes Verfahren handelt. Dementsprechend besteht der Nachteil des Verfahrens auch in dem relativ hohen Aufwand bei der Ermittlung sämtlicher Potentialwerte für die gesamte Konfigurationsebene. In Abhängigkeit von der gewählten Diskretisierung dieser Ebene ergibt sich zusätzlich als weiterer Nachteil der relativ hohe Speicherbedarf, da stets die Daten der gesamten Konfigurationsebene gespeichert werden müssen.
4.2 Effiziente Generierung von zulässigen Ausweichtrajektorien unter Berücksichtigung der Kollisionsbereiche
Die in den Fig. 27 bzw. 29 dargestellten Trajektorien ergeben bei entsprechend feiner Diskretisierung der Konfigurationsebene einen Linienzug, der aus stückweise geraden Trajektoriensegmenten besteht.
Aus Abschnitt 3.3 ist bereits bekannt, daß sich der Kollisionsbereich als Polygon mit einer bestimmten, endlichen Anzahl von Eckpunkten (siehe dazu auch Gleichung (21) bzw. Fig. 14) mit hinreichender Genauigkeit darstellen läßt. Diese Eckpunkte werden nun - um einen gewissen Sicherheitsabstand (Damit wird beim Abfahren der Trajektorie ein genereller Abstand zwischen den Robotern eingehalten; siehe auch Abschnitt 3.3.2) zu gewährleisten - eine kurze Strecke aus dem eigentlichen Kollisionsbereich herausgeschoben. Fig. 30a (für die Fig. 30-34 gilt, daß das Start-Konfigurationspaar - die aktuelle Konfiguration der Roboter-(Grund-)Gelenke - durch ein Fadenkreuz und die Bezeichnung "S" gekennzeichnet ist; das Ziel-Konfigurationspaar ist mit "Z" markiert) zeigt einen Kollisionsbereich mit verschobenen Eckpunkten.
Als Anfangs- oder Endpunkt eines Trajektoriensegmentes kommt theoretisch jede Position auf der Umrandung des Kollisionsbereiches in Frage. Zur Berechnung des Kollisionsbereiches wurden jedoch nur die hier bereits mehrfach erwähnten Eckpunkte bestimmt. Alle weiteren Randpunkte liegen somit auf Geradenstücken zwischen jeweils zwei benachbarten Eckpunkten. Die bisher nicht bekannten Randpunkte könnten somit ohne größere Schwierigkeiten bestimmt werden.
Hier sollen jedoch trotzdem die Trajektoriensegmente am Kollisionsbereich auf den verschobenen Eckpunkten - also auf bereits bekannten Randpunkten des Kollisionsbereiches (Anhand der Dreiecksungleichung (||+||||||+||||) ist unmittelbar nachvollziehbar, daß mit einer eventuellen Berücksichtigung weiterer Randpunkte - zwischen den bereits bekannten Eckpunkten des Kollisionsbereiches - hinsichtlich der Optimalität der zu bestimmenden Trajektorie kein zusätzlicher Gewinn verbunden wäre) - auftreffen. Alle sich auf diese Weise ergebenden Geraden sind in Fig. 30b dargestellt.
Da die Geraden ja bereits Elemente der zu ermittelnden Trajektorien sind, ist unmittelbar einsichtig, daß alle diejenigen Geraden, die durch den Kollisionsbereich hindurch verlaufen, nicht zulässig sind und dementsprechend eliminiert werden müssen. Es verbleiben dann nur noch solche Geraden, deren Endpunkt (Eckpunkt am Kollisionsbereich) vom Start- bzw. Ziel-Konfigurationspaar direkt sichtbar ist.
Fig. 31a zeigt den Kollisionsbereich mit denjenigen Geraden, die verbleiben, wenn alle durch den Kollisi­ onsbereich hindurch laufenden Geraden eliminiert werden. Auf jeder der restlichen Geraden kann ein Eckpunkt des Kollisionsbereiches ausgehend vom Start- bzw. Ziel-Konfigurationspaar erreicht werden, ohne dabei den Kollisionsbereich selbst zu berühren.
Das noch fehlende Wegstück, das mit den bisher ermittelten Geraden einen vollständigen Weg vom Start- zum Ziel-Konfigurationspaar ergibt, liegt unmittelbar auf der Umrandung des Kollisionsbereiches. Mit einer Verbindung aller verschobenen Eckpunkte mit ihrem jeweils direkten Vorgänger bzw. Nachfolger durch eine Gerade ergibt sich eine solche Hülle um den gesamten Kollisionsbereich. Fig. 31b zeigt den Kollisionsbereich mit dieser Hülle sowie den bereits gefundenen zulässigen Geraden.
Eine Besonderheit ist in der Nähe der Nabe des Kollisionsbereiches zu beachten: Ein Weg auf der jetzt bekannten Hülle um den Kollisionsbereich führt, sofern er die Nabe passiert, eventuell zu unnötigen Bewegungen der Robotergelenke. Aus diesem Grunde werden ausschließlich diejenigen Eckpunkte, die neben den Eckpunkten unmittelbar an der Nabe liegen, auch mit dem Eckpunkt auf der anderen Seite der Nabe verbunden. Damit gibt es auf der Hülle um den Kollisionsbereich insgesamt vier Eckpunkte, die nicht nur mit ihrem direkten Vorgänger und direkten Nachfolger, sondern zusätzlich mit dem "Vorgänger ihres Vorgängers" bzw. mit dem "Nachfolger des Nachfolgers" verbunden sind. (In Fig. 31b sind diese zusäztlichen Kanten aus Gründen der Übersichtlichkeit nicht eingezeichnet.)
4.2.1 Auffinden zulässiger Wegsegmente für den Kollisionsbereich umgehende Trajektorien
Der Übergang von Fig. 30b zu Fig. 31a fällt insbesondere dem Betrachter leicht, kann dieser doch unmittelbar erkennen, welche der in Fig. 30b eingezeichneten Geraden den Kollisionsbereich schneiden und sich somit als unzulässig herausstellen.
Die Formulierung einer solchen Auswahl in Form eines geeigneten Algorithmus′ fällt demgegenüber bereits schwer. Der Kollisionsbereich stellt sich als Polygon mit n Eckpunkten dar. Jeweils zwei benachbarte Eckpunkte dieses Polygons werden durch eine Linie - ein Segment der Randbegrenzung des Polygons - verbunden. Zulässige Geraden unterscheiden sich von unzulässigen Geraden dadurch, daß sie keines der n Randsegmente des als Polygon dargestellten Kollisionsbereiches schneiden. Ein Algorithmus könnte also dahingehend formuliert werden, daß die Geradengleichungen sowohl der zu überprüfenden Gerade wie auch aller Randsegmente aufgestellt werden. Daraufhin muß der sich infolge einer Schnittpunktberechnung ergebende Punkt auf seine Zugehörigkeit zu einem der Randsegmente des Kollisionsbereiches getestet werden. Für den Fall, daß der so ermittelte Schnittpunkt zu einer der Geraden gehört, handelt es sich um eine unzulässige Gerade, da sie den Kollisionsbereich schneidet.
Auch wenn dieses Vorgehen einen mathematisch durchaus korrekten Ansatz darstellt, ist es für den praktischen Einsatz aufgrund des einhergehenden Rechenaufwandes nicht geeignet. Da zu jedem der n Eckpunkte eine Gerade existiert, die bei ihrer Gültigkeitsprüfung hinsichtlich eventueller Schnittpunkte mit jedem der n Randsegmente des Kollisionsbereiches untersucht werden muß, ergeben sich insgesamt n² Schnittpunktberechnungen, die ihrerseits jeweils die Aufstellung zweier Geradengleichungen sowie die Anwendung der Cramer′schen Regel erfordern. Da weiterhin sämtliche Berechnungen synchron zu den Bewegungen der koordinierten Roboter auszuführen sind, ergibt sich ein erheblicher Rechenaufwand, welcher der gewünschten on-line Fähigkeit des Verfahrens entgegensteht.
Alternativ besteht - solange der Kollisionsbereich selbst graphisch dargestellt wird - die Möglichkeit, auf geeignete Graphikfunktionen zurückzugreifen. Die in Fig. 30b dargestellten Geraden können mit Hilfe entsprechender spezieller Funktionen, die in jeder Graphiklibrary als vorhanden vorausgesetzt werden können, auf ihre Gültigkeit getestet werden, indem überprüft wird, ob auf der direkten Verbindung zwischen den beiden Endpunkten der Geraden bereits irgendwelche Pixel gesetzt sind. Wird auf der Verbindung ein solches gesetztes Pixel gefunden, so ist - bei geeignetem Ablauf der Software - davon auszugehen, daß das Pixel zu der graphischen Darstellung des Kollisionsbereiches gehört und die überprüfte Verbindung somit unzulässig ist.
Auch bei Anwendung solcher Graphikfunktionen ist nicht zwangsläufig eine permanente graphische Darstellung erforderlich, die im konkreten praktischen Einsatz möglicherweise unerwünscht ist. Heute gängige Graphikkarten bzw. Graphiklibraries gestatten durchaus, Graphikfunktionen nur auf solche Bereiche des Graphikspeicherbereiches anzuwenden, dessen Inhalt nicht am Bildschirm dargestellt wird. Mit sogenannten verdeckten Graphikseiten kann die oben skizzierte graphische Lösung vollkommen transparent für den Benutzer zum Einsatz kommen. Generell bleibt festzuhalten, daß sämtliche Graphikfunktionen - Linien, Kreise, Polygone - selbstverständlich auch für den sogenannten Hauptspeicherbereich implementiert werden können. Anstelle sichtbarer Pixel ergeben sich dann Bitmuster innerhalb eines speziellen Speicherbereiches. Genau wie diese Bitmuster können auch einzelne Bits selbstverständlich jederzeit gesetzt, gelöscht oder deren Zustand abgefragt werden. Somit ist der graphische Lösungsansatz auch im Falle eines völligen Fehlens geeigneter Graphikhardware möglicherweise durchaus praktikabel. (Nicht außer acht gelassen werden darf für diesen Fall jedoch, daß ein solcher Ansatz äußerst schwer zu verifizieren ist, sofern keine geeignete Repräsentationsmöglichkeit des bearbeiteten Speicherbereiches besteht.) Die Verwendung der Graphikfunktionen selbst liegt selbstverständlich jedoch nahe, weil es sich um vordefinierte, häufig in ihrer Laufzeit optimierte Funktionen handelt, die zur unmittelbaren Anwendung zur Verfügung stehen.
Trotzdem scheint es letztlich dennoch angemessen, hier einen Lösungsansatz vorzuschlagen, der sowohl die Laufzeitnachteile der eingangs vorgestellten, auf der analytischen Geometrie basierenden Lösung vermeidet als auch unabhängig von dem Vorhandensein einer besonderen Hardware bzw. einer besonderen Hardwareausstattung (Speichergröße) ist.
Es wurde bereits gesagt, daß sich der Kollisionsbereich als Polygon mit n Eckpunkten darstellt; jeweils zwei dieser Eckpunkte sind durch eine Gerade verbunden, so daß sich entsprechend in jedem der n Eckpunkte zwei Geraden treffen, die selbst gleichzeitig Segmente der Randbegrenzung des Kollisionsbereiches sind. Diese beiden Geraden schließen an jedem Eckpunkt einen Winkel ein. Dieser Winkel liegt nun - je nach Zählrichtung - entweder vollständig innerhalb des Kollisionsbereiches oder außerhalb desselben. Die Zulässigkeit einer Gerade hin zu einem speziellen Eckpunkt ergibt sich damit in Abhängigkeit von der Tatsache, ob sie sich innerhalb des im Kollisionsbereich liegenden Winkels dem Eckpunkt nähert. Ist dies der Fall, ist die Gerade unzulässig; im anderen Fall kann der Eckpunkt entlang dieser Gerade erreicht werden, ohne daß der Kollisionsbereich berührt oder gar geschnitten wird.
Nachdem nun die Grundlagen des Ansatzes zur Ermittlung gültiger Kanten behandelt wurden, soll im folgenden der resultierende Algorithmus vorgestellt werden. Fig. 32 zeigt - wie Fig. 30a - den Kollisionsbereich mit den verschobenen Eckpunkten. Einer der Eckpunkte ist exemplarisch herausgegriffen und dessen Umgebung vergrößert dargestellt, um den verwendeten Ansatz zu verdeutlichen.
Ausgehend von dem verschobenen Eckpunkt i sind gestrichelt die Verbindungen zu den gleichfalls verschobenen Nachbareckpunkten eingezeichnet. Um einen eindeutigen Bezugspunkt für die Winkelmessung einzuführen, wird die 0°-Position auf dem um den Eckpunkt eingezeichneten Einheitskreis an dessen in Richtung steigender Ordinatenwerte oberem Scheitelpunkt angenommen. Damit ergibt sich zwischen dieser 0°-Position und der Verbindungslinie zum Vorgänger des aktuellen Knotens der Winkel ϕs sowie der Winkel ϕe zwischen der 0°-Position und der Verbindungslinie zum Nachfolger des aktuellen Knotens. Der Winkel ϕs bezeichnet damit den Beginn des gefährdeten Bereiches, ϕe dessen Ende.
In Fig. 32 ist weiterhin eine auf Gültigkeit zu überprüfende Kante als fette Linie zum Eckpunkt i eingezeichnet. Diese Kante "nähert" sich dem Eckpunkt unter dem Winkel ϕa. Läge der Winkelwert ϕa zwischen ϕs und ϕe - ϕs ϕa ϕe -, so würde es sich um eine unzulässige Kante handeln; da dies nicht der Fall ist, hat sich die eingezeichnete Kante als zulässig herausgestellt.
Damit ergibt sich die Unzulässigkeit einer sich unter dem Winkel ϕa nähernden Kante anhand der folgenden Bedingung
Aufgrund der Periodizität der Winkelwerte sind innerhalb der Software besondere Vorkehrungen für den Fall zu treffen, daß der numerische Wert des Startwinkels größer als der des Endwinkels ist. Dies ist jedoch durch einfache Addition von 360° bzw. 2π ohne weiteres möglich.
Sämtliche auftretenden Winkel können leicht anhand der sich in einem Dreieck ergebenden Beziehungen errechnet werden. Dazu nimmt man die Kante, deren Winkel zur 0°-Position zu bestimmen ist, als Hypotenuse eines Dreiecks an. Die Längen der beiden Katheten sind mit dem Abstand der durch die aktuelle Kante verbundenen Eckpunkte bekannt, dabei sei χd der auf der Abszisse abgetragene Abstand und yd der auf der Ordinate abgetragene Abstand. Der gesuchte Winkel ergibt sich dann nach der Beziehung
Ferner kann anhand der Werte der Distanzen χd bzw. yd ermittelt werden, in welchem Quadrant sich die Kante dem Eckpunkt nähert.
Dieser zusätzliche Schritt ist erforderlich, weil die Winkelsumme in einem Dreieck bekanntlich 180° beträgt. Ein einzelner Winkel eines Dreiecks ist also stets 180°. Da weiterhin die beiden Distanzen χd bzw. yd jeweils auf der Abszisse bzw. der Ordinate abgetragen wurden, ist stets einer der Winkel des betrachteten Dreiecks gerade gleich 90°; somit ist der ermittelte Winkel ϕ stets 90°. Die Zuordnung des so ermittelten Winkelwertes zu dem entsprechenden Winkelwert des Vollkreises hat also mit Hilfe der Kenntnis des Quadranten, in dem sich die Kante dem Eckpunkt nähert, zu erfolgen.
χd 0 ˆ yd 0 → Quadrant I
χd 0 ˆ yd < 0 → Quadrant II
χd < 0 ˆ yd < 0 → Quadrant III
χd < 0 ˆ yd 0 → Quadrant IV
Damit läßt sich schließlich der gesuchte Winkel ϕ entsprechend dem in Fig. 33 dargestellten Algorithmus berechnen.
Der Umstand, daß eine solchermaßen als zulässig ermittelte Gerade nicht nur im Hinblick auf den aktuellen Eckpunkt, sondern auch im Hinblick auf den gesamten Kollisionsbereich gültig ist, ergibt sich zwangsläufig aufgrund der Konvexität der beiden Gebiete des Kollisionsbereiches. Da die Konvexitätsbedingung besagt, daß jede Verbindung zwischen zwei Punkten eines Gebietes des Kollisionsbereiches selbst komplett innerhalb dieses Gebietes verläuft, verläuft insbesondere auch jede Verbindung vom aktuellen Eckpunkt zu jedem beliebigen anderen Punkt desselben Gebietes des Kollisionsbereiches komplett innerhalb dieses Gebietes. Da solche Verbindungen komplett innerhalb des Gebietes verlaufen, ist sichergestellt, daß jede nach dem oben angegebenen Ansatz als gültig ermittelte Gerade das aktuelle Gebiet des Kollisionsbereiches an keiner Stelle berührt oder schneidet.
Da der Kollisionsbereich insgesamt jedoch keinesfalls konvex ist, ist mit Hilfe geeigneter Kriterien sicherzustellen, daß keine Verbindung durch ein Gebiet des Kollisionsbereiches hindurch zu einem Eckpunkt des jeweils anderen Gebietes zugelassen wird. Dies läßt sich jedoch leicht gewährleisten, indem festgelegt wird, daß es keine Verbindung ausgehend
von I. Quadranten zum III. Quadranten,
vom II. Quadranten zum IV. Quadranten,
vom III. Quadranten zum I. Quadranten,
vom IV. Quadranten zum II. Quadranten
gibt, wobei der Ursprung des die Konfigurationsebene teilenden Koordinatensystemes in der Nabe des Kollisions­ bereich es liegt.
Auf diese Weise können also bereits jetzt eine Anzahl möglicher Wege vom Start- zum Ziel-Konfigurationspaar gefunden werden. Man braucht nur - ausgehend vom Start-Konfigurationspaar - einen Weg bis zu einem Eckpunkt des Kollisionsbereiches auszuwählen, sich an dieser Stelle für eine bestimmte Richtung um die Hülle herum zu entscheiden, um dann an einem Eckpunkt des Kollisionsbereiches, der durch eine weitere Gerade mit dem Ziel-Konfigurationspaar verbunden ist, auf den Weg entlang dieser Gerade zum Ziel-Konfigurationspaar einzuschwenken.
Insbesondere können auf die hier vorgeschlagene Weise immer vollständige Wege ermittelt werden. Es besteht also keinesfalls die Gefahr, daß auf einem einmal eingeschlagenen Weg der angestrebte Zielpunkt nicht erreicht werden kann.
Aus der Vielfalt der denkbaren Wege ergibt sich jedoch auch ganz zwangsläufig der Wunsch, genau denjenigen Weg auszuwählen, der für den aktuellen Problemfall auch optimal ist.
4.3 Generierung optimaler Trajektorien für den koordinierten Betrieb unter Berücksichtigung der Kollisionsbereiche
Die in den vorangegangenen Abschnitten eingeführten grundlegenden Überlegungen zur Trajektorienplanung bei Berücksichtigung der Kollisionsbereiche legen den Einsatz von Graphen zur Lösung dieses Problemes nahe.
Wie Fig. 31b zeigt, wird die zuletzt gefundene Trajektorie im wesentlichen aus drei Teilstücken gebildet:
  • - Eine Gerade von der Startkonfiguration an den Kollisionsbereich.
  • - eine Gerade vom Kollisionsbereich zur Zielkonfiguration und dazwischen
  • - eine Folge von Teilstücken, die sich an den Kollisionsbereich anschmiegen.
Die Generierung solcher Trajektorien läßt sich unter Anwendung der Graphentheorie - sowohl aus mathematischer Sicht wie auch der programmtechnischen Umsetzung - besonders anschaulich erreichen, wie im folgenden Abschnitt gezeigt werden wird.
Ein Graph G wird gebildet von den beiden Mengen V und E. V ist eine endliche, nicht-leere Menge von Knoten (engl. vertices). E ist eine Menge von Paaren dieser Knoten, die dann als Kanten (engl. edges) bezeichnet werden. In einem ungerichteten Graphen wird durch eine Kante ausschließlich die Verbindung zwischen zwei Knoten beschrieben. Erst in einem gerichten Graphen verbindet sich mit einer Kante auch eine vorgeschriebene Bewegungsrichtung. Aus diesem Grunde ist in einem gerichteten Graphen die Kante vom Knoten i zum Knoten j - (i, j)|i j - nicht identisch mit einer eventuell existierenden Kante vom Knoten j zum Knoten i - (j, i)|i * j. Die Richtung der Kanten in einem gerichteten Graphen wird durch die Reihenfolge der Knoten (Startknoten. Zielknoten) oder - in einer graphischen Darstellung - durch einen Pfeil angegeben.
Bei dem zu Beginn dieses Abschnittes geschilderten Problemfall geht es darum, einen oder mehrere bestimmte Wege von einem Start- bis zu einem Zielknoten in einem bestimmten Graphen zu finden. Ein Weg von einem Startknoten s bis zu einem Zielknoten t ist in einem Graphen bestimmt durch eine Menge von Knoten, die bei Voranschreiten auf diesem Weg berührt werden. Der Weg kann dann geschrieben werden als:
Ein Weg zwischen dem Knoten i und dem Knoten j existiert dann und nur dann, wenn die Kante (i, j) existiert.
Eine weitere mögliche Darstellung eines Graphen kann mit Hilfe einer Adjazenz-Martix erfolgen. Ein Graph mit n (n 0) Knoten wird mit Hilfe eines zweidimensionalen (n×n)-Feldes dargestellt. Üblicherweise werden bei dieser Notation die Startknoten horizontal, die Zielknoten hingegen vertikal abgetragen. Existiert in einem Graphen die Kante vom Knoten i zum Knoten j so wird in der Adjazenz-Matrix die Position (i,j) mit dem Wert 1 besetzt. Nicht existierende Kanten werden mit dem Wert 0 gekennzeichnet.
Üblicherweise ist mit der Anwendung eines Graphen ein Optimierungsproblem verbunden, so daß es nicht ausreicht, einen beliebigen Weg von einem Start- zu einem Zielknoten zu finden. Vielfach besteht die Aufgabe darin, den kürzesten Weg zwischen Start- und Zielknoten zu bestimmen. Die Anzahl der Knoten, die dabei bei Voranschreiten auf dem Weg passiert werden, sagt nichts über die Qualität - z. B. die Länge - des Weges aus. Vielmehr muß den Kanten zwischen den einzelnen Knoten ein im Zusammenhang mit der Problemstellung sinnvoller Zahlenwert zugeordnet werden.
Soll mit Hilfe eines Graphen die kürzeste Reiseroute zwischen zwei Städten ermittelt werden, so repräsentieren die Knoten des Graphen Städte oder Verkehrsknotenpunkte, die Kanten repräsentieren zulässige Verbindungen zwischen den Knoten und der den Kanten zugeordnete Zahlenwert steht für die Entfernung zwischen den durch die Kante verbundenen Knoten. Soll hingegen die schnellste Reiseroute ermittelt werden, so wird der den Kanten zugeordnete Zahlenwert die Zeit beschreiben, in welcher die Entfernung zwischen den durch die Kante verbundenen Knoten zurückgelegt werden kann. Allgemein werden diese Zahlenwerte als das Gewicht oder als die Kosten einer Kante bezeichnet.
Mit der Einführung eines für jede Kante spezifischen Gewichtes erfahren auch die möglichen Wege innerhalb des Graphen insgesamt eine Gewichtung. Das Gewicht oder die Kosten der Kante (i, j) zwischen den Knoten i und j wird geschrieben als cÿ. Das Gewicht eines bestimmten Weges ergibt sich durch Summation der Gewichte derjenigen Kanten, welche die bei Voranschreiten auf dem Weg zu passierenden Knoten verbinden.
In einer graphischen Darstellung werden die zu einer Kante gehörigen Gewichte üblicherweise direkt an die Kante geschrieben. Bei der Darstellung des Graphen durch eine Adjazenz-Matrix werden die Gewichte der Kanten anstelle der "1" - die lediglich eine existierende Kante anzeigt - an der entsprechenden Position in die Adjazenz-Matrix eingetragen; in diesem Falle spricht man auch von der Gewichts-Matrix.
4.3.1 Das Single-source shortest path problem und die Lösung von Dÿkstra
In sehr vielen Problemfällen - zu deren Lösung man sich der Ergebnisse aus der Graphentheorie bedient - geht es, wie bereits angedeutet, tatsächlich darum, Wegoptimierungen vorzunehmen. Eine einfache Anwendung in diesem Zusammenhang besteht darin, die kürzeste Reiseroute zwischen zwei Orten zu bestimmen.
Das Problem ist näher beschrieben durch eine Anzahl Orte, die auf der Reiseroute angefahren werden können sowie die möglichen Verbindungen zwischen diesen Orten. Aus diesen Daten wird ein Graph G = {V, E} generiert. mit den Orten als Knoten des Graphen {V} und den Verbindungen zwischen den Orten als Kanten {E} zwischen den entsprechenden Knoten. Die Kanten werden in diesem Fall - da die Optimierungsaufgabe lautet, die kürzeste Reiseroute zu bestimmten - mit den Entfernungen zwischen den Orten gewichtet.
Der Algorithmus von Dÿkstra [Dÿkstra 1959] liefert für diese Problemstellung eine Lösung in der Form, daß er, ausgehend vom Startknoten, die kürzesten Wege zu allen im Graphen enthaltenen Knoten bestimmt. Einer dieser Knoten ist zwangsläufig der Zielknoten, so daß in dieser Lösung selbstverständlich auch der gesuchte kürzeste Weg vom Startknoten zu einen bestimmten Zielknoten enthalten ist.
4.4 Die optimale Ausweichtrajektorie
Der Algorithmus von Dÿkstra kann unmittelbar zur Bestimmung der optimalen Trajektorie um den Kollisionsbereich verwendet werden. In Fig. 31b sind alle zulässigen Wege ausgehend vom Start- bzw. Ziel-Konfigura­ tionspaar zu einem Eckpunkt des Kollisionsbereiches sowie die zulässigen Wege um den Kollisionsbereich herum eingezeichnet.
Es bereitet jetzt keine Probleme, das Start- und Ziel-Konfigurationspaar sowie alle Eckpunkte des Kollisi­ onsbereiches als Knoten sowie die eingetragenen Linien als Kanten eines Graphen aufzufassen. In einem ersten Schritt wird als Gewicht der Kanten der Abstand zwischen den Knoten, welche durch die jeweilige Kante verbunden werden, eingetragen. Das Start-Konfigurationspaar wird als Knoten mit der Nummer 1 eingetragen; das Ziel-Konfigurationspaar erhält dementsprechend die höchste Knotennummer.
Für den so entstehenden Graphen ist die Distanzmatrix D zu ermitteln. Dabei wird in einem zweidimensionalen Feld an der Position (i, j) das Gewicht der Kante cÿ eingetragen. Die Distanzmatrix für den aus Fig. 31b resultierenden Graphen ist in Gleichung (43) angegeben.
Man erkennt leicht die Symmetrie dieser Matrix. Die Matrix ist sehr schwach besetzt die meisten Werte sind unmittelbar neben der Hauptdiagonalen angeordnet. Dies aus dem Grunde, weil die Knoten, welche die Eckpunkte des Kollisionsbereiches darstellen, in aufsteigender Reihenfolge durchnumeriert wurden. Abgesehen von den vier Knoten, die jeweils unmittelbar vor oder hinter den beiden Nabenknoten liegen, ist von jedem anderen Knoten nur eine Verbindung zu dem direkten Vorgänger bzw. dem direkten Nachfolger möglich. Vom Knoten i gibt es also mindestens die Kanten ci,i-1 und ci,i+1. Dabei sind insbesondere die Gewichte der Kanten ci+1,i, und ci,i+1 identisch, so daß die Matrix auch hinsichtlich der eingetragenen Werte eine zusätzliche Symmetrie aufweist.
Die Werte in der Hauptdiagonalen selbst haben den Wert 0, weil diese jeweils die Kanten ci,i repräsentieren. auf denen der aktuelle Knoten nicht verlassen wird. Da auf diese Weise kein Weg zurückgelegt wird, ist an dieser Stelle der Wert 0 einzutragen.
Die vertikalen und horizontalen Linien, die in Gleichung (43) zur besseren Übersicht eingezeichnet sind, sollen die Knoten am Kollisionsbereich von dem Start- bzw. Zielknoten auch optisch absetzen. Der Startknoten hat die Nummer 1, so daß eventuelle Kanten vom oder zum Startknoten (c1,i bzw. ci,1) entweder in der ersten Zeile oder in der ersten Spalte der Distanzmatrix auftauchen müssen.
So sind in der Spalte 1 der Distanzmatrix D nach Beziehung (43) die zulässigen Kanten vom Knoten 1 - dem Start-Konfigurationspaar - zu den Eckpunkten des Kollisionsbereiches eingetragen. Der umgekehrte Weg - Kanten von Knoten am Kollisionsbereich zum Knoten 1 - ist nicht eingetragen, da er aufgrund der Problemstellung nicht relevant ist. Ähnliches gilt für die Werte in der letzten Zeile der Distanzmatrix; diese Werte repräsentieren die zulässigen Kanten, ausgehend von Knoten am Kollisionsbereich, zum letzten Knoten des Graphen - dem Ziel-Konfigurationspaar. Auch in diesem Fall ist wieder der umgekehrte Weg aus naheliegenden Gründen nicht ringetragen worden.
Wird nun diese Distanzmatrix mit dem Algorithmus von Dÿkstra bearbeitet, so ergibt sich als unmittelbares Ergebnis der kürzeste Weg zwischen Start- zum Ziel-Konfigurationspaar. Den resultierenden Weg für den in den vorangegangenen Abschnitten stets verwendeten Kollisionsbereich zeigt die Darstellung in Fig. 34.
Aus den Daten einer solchen Trajektorie lassen sich unmittelbar die Stützstellen auf den Trajektorien der koordinierten Roboter bestimmen. Die erforderlichen Algorithmen zur Bahnführung sind heute bereits weitestgehend in die jeweiligen Robotersteuerungen integriert, so daß sich die ermittelten Bewegungsdaten unmittelbar an eine solche Steuerung übergeben lassen.
4.5 Eine exemplarische Ausweichbewegung
Wenn sowohl das Start- als auch das Ziel-Konfigurationspaar so liegen, daß eine direkte Verbindung zwischen beiden Konfigurationspaaren möglich ist, ohne den Kollisionsbereich zu schneiden, ist generell keine Ausweichbewegung erforderlich. In einer Vielzahl von Fällen ist eine solche Konstellation nicht gegeben, so daß Ausweichbewegungen nach dem hier beschriebenen Algorithmus auszuführen sind.
Eine einfache Konstellation, bei der Ausweichbewegungen erforderlich werden, zeigt Fig. 35, wobei in 35a mit den beiden Kreisbögen wieder die Grenzen des kritischen Bereiches (siehe dazu auch die Fig. 11 und 13) bzw. mit den eingezeichneten fetten Linien die Projektionen der Robotergeometrien auf die Grundfläche des gemeinsamen Arbeitsraumes dargestellt sind. Die Startkonfiguration ist mit den schraffierten Linien, die Zielkonfiguration mit den ausgefüllten Linien markiert.
Es ist offensichtlich, daß sich nicht beide Roboter gleichzeitig in Richtung auf ihre Zielkonfiguration bewegen können - eine Kollision wäre dann unvermeidlich. Vielmehr muß einer der beteiligten Roboter den gefährdeten Bereich vollständig verlassen, so daß er von dem anderen Roboter passiert werden kann. Fig. 35b zeigt in der Konfigurationsebene die sich ergebende optimale Ausweichtrajektorie für die in Fig. 35a dargestellte Situation. Auf dieser Trajektorie sind gewisse charakteristische Positionen markiert, die in Fig. 36 als Momentaufnahmen der projizierten Geometrie dargestellt sind. Die einzelnen Positionen werden zudem nachfolgend detailliert erläutert.
  • - Fig. 36 - (S) Startkonfiguration: (k′0 = 130°; k′′0 = 280°)
    Anhand von Fig. 35 b ist ersichtlich, daß sich der Roboter R₁ zunächst - entgegengesetzt zur der Richtung in der die angestrebte Zielkonfiguration liegt bis zu einem Grundgelenkswinkel von ca. 150° bewegt. Der Roboter R₂ bewegt sich zunächst in Richtung auf die angestrebte Zielkonfiguration.
  • - Fig. 36 - (1) 1. Zwischenkonfiguration: (k′₀ = 153°; k′′₀ = 243°)
    Der Roboter R₁ verläßt den kritischen Bereich; währenddessen bewegt sich der Roboter R₂ weiterhin direkt auf seine angestrebte Zielkonfiguration zu. Dadurch, daß der Roboter R₁ den kritischen Bereich komplett verläßt, gibt er dem anderen Roboter R₂ die Möglichkeit, ihn ohne die Gefahr einer Kollision zu passieren.
  • - Fig. 36 - (2) 2. Zwischenkonfiguration: (k′₀ = 140°; k′′₀ = 212°)
    Nun bewegt sich auch der Roboter R₂ über seine angestrebte Zielposition hinaus, um dabei seinerseits den gefährdeten Bereich zu verlassen. Der Roboter R₁ bewegt sich sobald er von dem Roboter R₂ passiert wurde - aus der absolut sicheren Position außerhalb des gefährdeten Bereiches wieder in den gefährdeten Bereich hinein, um nun seinerseits den Roboter R₂ zu passieren.
  • - Fig. 36 - (3) 3. Zwischenkonfiguration: (k′₀ = 125°; k′′₀ = 205°)
    Um dem Roboter R₁ ein kollisionsfreies Passieren zu ermöglichen, bewegt sich Roboter R₂ komplett aus dem gefährdeten Bereich hinaus. Roboter R₁ passiert Roboter R₂ und bewegt sich von nun an kontinuierlich in Richtung auf die angestrebte Zielkonfiguration.
  • - Fig. 36 - (4) 4. Zwischenkonfiguration: (k′₀ = 115°; k′′₀ = 208°)
    Sobald der Roboter R₂ von dem Roboter R₁ auf seinem Weg zur Zielkonfiguration so weit passiert wurde, daß keine Kollision mehr droht, kann auch Roboter R₂ wieder in den gefährdeten Bereich eintreten.
  • - Fig. 36 - (Z) Zielkonfiguration: k′0 = 70°; k′′0 = 240°
    Beide Roboter bewegen sich ohne Gefahr einer Kollision auf ihre angestrebte Zielkonfiguration zu.
Der Roboter R₁ hat auf seiner Ausweichbewegung einen Gesamtweg von 106° zurückgelegt. Wäre die Ausweichbewegung in der Form durchgeführt worden, daß der Roboter den kritischen Bereich auf der nicht blockierten Seite verlassen hätte und in diesen dann quasi "auf der anderen Seite" wieder eingetreten wäre, so hätte dies zu einem Gesamtweg von 300° geführt. Ähnliches gilt für den Roboter R₂: Der bei der Ausweichbewegung zurückgelegte Weg beträgt 110°; ansonsten hätte sich ein Gesamtweg von 320° ergeben.
Mit den Ausweichbewegungen um den Kollisionsbereich ist der erforderliche Gesamtweg deutlich kürzer als der sonst erforderliche Weg. Da das Verhältnis der möglichen Ausweichbewegungen im hier gewählten Beispiel ca. 1 : 3 zugunsten der Ausweichbewegung um den Kollisionsbereich beträgt, kann davon ausgegangen werden, daß dieser Weg - trotz der erforderlichen Änderungen der Bewegungsrichtungen und damit weiterhin trotz zwangsläufig anfallender Zeitverluste beim Verzögern und Beschleunigen - auch in einer kürzeren Zeitspanne zurückgelegt werden kann.
Die vorgestellte Ausweichbewegung soll nun abschließend in einem größeren Zusammenhang, also im Rahmen einer konkreten Anwendung - beispielsweise einer Bestückungsaufgabe -, betrachtet werden. Im Rahmen einer solchen Aufgabe wird es häufig zu mehrfachen koordinierten Bewegungssequenzen kommen. Für die genannte Bestückungsaufgabe kann somit z. B. an den Konfigurationen k′0 = k0 (R₁) bzw. k′′0 = k0 (R₂) die Position eines Lagers für zu bestückende Bauteile angenommen werden. Dementsprechend sind dann die Konfigurationen k′0 = k₀(R₁)k′′0 = k0 (R₂) als diejenigen Konfigurationen aufzufassen, an denen die jeweiligen Bauteile zu plazieren wären.
Damit ergibt sich bereits aus der angenommenen Aufgabenstellung eine naheliegende Abfolge der Bewegungs­ sequenzen: Bauteile werden an der Lagerposition aufgenommen und an der Bestückungsposition plaziert; daraufhin erfolgt die Bewegung wieder zurück zur Lagerposition, um ein neues Bauteil aufzunehmen. Fig. 37 zeigt die koordinierte Bewegung für den soeben skizzierten Anwendungsfall über der Zeit.
Die fetten Linien kennzeichnen die entsprechend der Kollisionsbereiche koordinierte Ausweichbewegung. Die gestrichelten Linien kennzeichnen eine manuell koordinierte Ausweichbewegung wie sie im Falle einer teach-in Programmierung unter der Prämisse, daß sich stets nur ein Roboter innerhalb des kritischen Bereiches aufhält, erreicht werden könnte. Die Zeiten für die Gesamtbewegung, die unmittelbar der Darstellung in Fig. 37 entnommen werden können, betragen 290 Sekunden für die automatisch koordinierte Ausweichbewegung sowie ca. 430 Sekunden für die manuell koordinierte Ausweichbewegung. Damit ist für das gewählte Beispiel die Gesamtdauer der manuell koordinierten Ausweichbewegung um ca. 50% größer als diejenige der automatisch koordinierten Bewegung.
4.6 Koordination der Gelenkgeschwindigkeiten zeitoptimale Trajektorien
Bei der Kollisionsvermeidung mit Hilfe der Kollisionsbereiche ergeben sich - nach Bestimmung des kürzesten Weges im Graphen - Geradenstücke für die Trajektorie. Diese Geradenstücke werden zunächst unter Annahme "idealer Roboter", d. h. ohne Beschränkung der Stellgrößen - also z. B. der Winkelgeschwindigkeiten -, abgefahren.
Berücksichtigt man dagegen beschränkte Stellgrößen, so müssen die Maximalgeschwindigkeiten der koordinierten Gelenke berücksichtigt werden. Die Geradenstücke der Trajektorie werden dann stets so abgefahren, daß einer der Freiheitsgrade mit einer Geschwindigkeit in der Nähe seiner Maximalgeschwindigkeit bewegt wird.
Ein einfaches Beispiel mag dies verdeutlichen:
Aus den Maximalgeschwindigkeiten der zu koordinierenden Grundgelenke
und den von diesen Gelenken zurückzulegenden Wegstrecken
resultieren die Zeiten, die diese Bewegungen bei Ausnutzung der Maximalgeschwindigkeiten in Anspruch nehmen:
Die Geschwindigkeit des schnelleren Roboters muß sich nach der des langsameren Roboters richten, so daß beide Roboter den angestrebten Zielpunkt zur gleichen Zeit erreichen. Aus diesem Grunde geht in die weiteren Berechnungen nur noch der größere der beiden auf den nächstgrößeren ganzzahligen Wert gerundeten Zeitwerte t′₁ bzw. t′₂ ein:
t = max{t′₁, t′₂} = max{26.0s, 7.0s} = 26.0s (47)
Mit diesem neuen Zeitwert errechnen sich die einzustellenden Winkelgeschwindigkeiten zu:
Dabei verbleibt des langsamere Grundgelenk weiterhin - wie vorausgesetzt - in der Nähe seiner Maximalge­ schwindigkeit (₁(R₁) ≈ ₁).
Mit diesen aktuellen Geschwindigkeiten läßt sich dann selbstverständlich wieder errechnen, welche Zeit für die Bewegungen erforderlich ist:
Der nach Beziehung (49) (t = t₁ = t₂) berechnete Wert kann jetzt ausgezeichnet verwendet werden, um die Kanten des Graphen so zu gewichten, daß nicht nur die effektive Distanz, sondern auch die den Robotern - bzw. den Freiheitsgraden - möglichen Geschwindigkeiten berücksichtigt werden.
Fig. 38 zeigt die Bewegungen der einander ausweichenden Roboter aus Fig. 35 über der Zeitachse aufgetragen. Die schmalen Linien kennzeichnen jeweils die Trajektorien der Robotergelenke im koordinierten Betrieb. Zusätzlich sind mit den fetten Linien diejenigen Trajektorien der Robotergelenke eingezeichnet, die möglich wären, wenn auf den koordinierten Betrieb - also auf die Ausweichbewegungen - verzichtet werden kann. (Wie nicht anders zu erwarten, sind diese dicken Linien erheblich kürzer, d. h., daß die Gelenke ohne die Ausweichbewegungen in sehr viel kürzerer Zeit die angestrebte Zielkonfiguration erreichen. Außerdem verlaufen die dicken Linien vollkommen gerade, da natürlich ohne Ausweichbewegungen die Zielkonfiguration direkt angefahren werden kann.)
Auf etwa der Hälfte der Zeitachse - gekennzeichnet durch zwei Pfeile - findet so etwas wie eine "Umschaltung" der Winkelgeschwindigkeiten der Roboter statt. Bis zu der gekennzeichneten Position hat sich das betrachtete Gelenk von Roboter R₂ mit der maximalen Geschwindigkeit fortbewegt, danach bewegt sich bis zur angestrebten Zielkonfiguration der Freiheitsgrad von Roboter R₁ mit seiner maximalen Geschwindigkeit.
In den vorangegangenen Abschnitten wurde bisher stets von identischen maximalen Gelenkgeschwindigkeiten der zu koordinierenden Freiheitsgrade ausgegangen. Insbesondere für den Fall sich stark unterscheidender maximal möglicher Gelenkgeschwindigkeiten kann es vorkommen, daß eine mit den bisherigen Ansätzen gefundene kol­ lisionsfreie Trajektorie zwar die kürzest mögliche Ausweichbewegung liefert, daß aber dennoch eine Bewegung entlang dieser Trajektorie - aufgrund des Verhältnisses der Gelenk-Geschwindigkeiten - mehr Zeit in Anspruch nimmt, als die Bewegung auf einer anderen denkbaren Trajektorie. Es ist so z. B. möglich, daß ein bestimmter Weg des Graphen nicht der schnellste Weg zur Zielkonfiguration ist, obwohl er die räumlich kürzeste kollisionsfreie Verbindung darstellt. Dies aus dem Grunde, weil immer der langsamere Roboter längere Strecken zurückzulegen hat, der schnellere Roboter also auf diesen warten muß.
Die Optimierung der Trajektorien ist also dementsprechend je nach Bedarf in Bezug auf eine wegoptimale bzw. eine zeitoptimale Trajektorie vorzunehmen; dies kann - wie bereits vorgestellt - leicht durch entsprechende Gewichtung der Kanten des Graphen mit dem nach Beziehung (47) berechneten Parameter t geschehen.
Eine Gewichtung der Kanten des Graphen - der späteren Trajektoriensegmente - entsprechend der Zeitspanne, die bei der Bewegung entlang einer Kante verstreicht, ist gemäß Tabelle 3 durchaus sinnvoll. In den Spalten "Gelenk 1a" und "Gelenk 2a" ist nochmals das Zahlenbeispiel für die koordinierte Bewegung der Grundgelenke zweier Roboter vom Anfang dieses Abschnittes wiederholt; in den Spalten "Gelenk 1b" und "Gelenk 2b" sind die Maximalgeschwindigkeiten der Gelenke vertauscht. Wie sich anhand der Ergebnisse "Gesamtweg" und "Gesamtzeit" ergibt, sind bei einer Gewichtung der Kanten entsprechend der Distanzen beide Zahlenbeispiele gleichwertig; bei einer Gewichtung entsprechend der benötigten Zeit ergeben sich jedoch deutliche Unterschiede.
Für den konkreten Anwendungsfall bedeutet dies, daß bei Verwendung von Gewichtsfaktoren entsprechend der zur Bewegung entlang der jeweiligen Kanten erforderlichen Zeitspanne solche Wege ausgewählt werden können, die zwar räumlich länger sind, jedoch in einer kürzeren Zeit zurückgelegt werden können. Damit steht auch einer Generierung zeitoptimaler Trajektorien nichts im Wege.
4.7 Koordinierte Bewegung der Armgelenke
Wie bereits in Abschnitt 3.5 ausgeführt wurde, erfolgt die Kollisionserkennung der koordinierten Roboter getrennt anhand der für die Grund- bzw. Armgelenke bestimmten Kollisionsbereiche. Ganz entsprechend ergeben sich daher - sofern die jeweiligen Konstellationen dies gestatten - unabhängige, jeweils kollisionsfreie Ausweichtrajektorien für die beiden genannten Gelenkgruppen.
Satz 5: Bei einer Bewegung entlang einer koordinierten Trajektorie ist das Eintreten des Konfigura­ tions-Fadenkreuzes in einen der Kollisionsbereiche solange ohne Kollisionsgefahr möglich, solange nicht gleichzeitig eine kollisionsgefährdete Konfiguration in Bezug auf den verbleibenden Kollisionsbereich vorliegt.
Somit ist auch bei Berücksichtigung nur eines Kollisionsbereiches eine kollisionsfreie Trajektorie für den koordinierten Betrieb garantiert. Allerdings sind dann zwangsläufig alle Ausweichbewegungen auf die Gelenkgruppe beschränkt, für die der Kollisionsbereich errechnet wurde, so daß diese unter Umständen sehr zeitintensiv werden. Dies gilt es insbesondere dann zu vermeiden, wenn das gleiche Ergebnis - der kollisionsfreie koordinierte Betrieb - eventuell mit minimalen Ausweichbewegungen anderer Gelenke hätte erreicht werden können.
Ohne weiteres denkbar ist eine Konstellation, bei der im koordinierten Betrieb zunächst das Konfigura­ tions-Fadenkreuz in den Kollisionsbereich der Armgelenke eintritt und erst später auch ein Eintritt des anderen Konfigurations-Fadenkreuzes in den Kollisionsbereich der Grundgelenke droht. Da sich die Armgelenke also bereits in kollisionsgefährdeten Konfigurationen befinden und nicht ohne weiteres sichergestellt werden kann, daß diese rechtzeitig in garantiert kollisionsfreie Konfigurationen verfahren werden können, bliebe hier nur der Ausweg, die Kollisionsfreiheit durch entsprechende Bewegungen der Grundgelenke zu gewährleisten. Damit ergeben sich aber erneut diejenigen Ausweichtrajektorien aus Abschnitt 4.3 mit dem bereits weiter oben beschriebenen Nachteil des hohen Zeitaufwandes für die Gesamtbewegung.
Die gleichzeitige Betrachtung der Kollisionsbereiche bietet also nur dann Vorteile gegenüber der Betrachtung nur eines Kollisionsbereiches, wenn zusätzliche a-priori-Informationen über die aktuelle Trajektorie einfließen können. Solche Informationen stehen entweder unmittelbar zur Verfügung oder lassen sich leicht errechnen:
  • - Start- und Zielpunkt der Trajektorie und damit Start- und Zielkonfiguration der einzelnen Gelenke.
  • - Geschwindigkeit der Gelenke entlang der Trajektorie.
Mit Hilfe der Start- und Zielkonfigurationen der einzelnen Gelenke können - durch direkte Verbindung der Konfigurationen - die Trajektorien für den nicht-koordinierten Betrieb in die Konfigurationsebenen eingetragen werden. Anhand der Schnittpunkte dieser Trajektorien mit den Kollisionsbereichen können direkt diejenigen Konfigurationen abgelesen werden, bei denen die jeweilige Gelenkgruppe in den kritischen Bereich eintritt - Fig. 39. Mit Hilfe einer Information über die Geschwindigkeit der Gelenke entlang der jeweiligen Trajektorien gelingt eine Übertragung der Eintrittspunkte in den Kollisionsbereich auf eine Zeitachse.
Der Eintritt in den Kollisionsbereich ist für eine der Trajektorien dabei ohne weiteres zulässig, weil solange keine Kollision droht, solange nicht zur gleichen Zeit auch entlang der anderen Trajektorie ein Eintritt in den Kollisionsbereich stattfindet.
Um dies zu überprüfen müssen die Trajektorien aus Fig. 39 über einer Zeitachse aufgetragen werden; das Ergebnis zeigt Fig. 40. Da alle Gelenke gleichzeitig mit ihrer Bewegung beginnen und wiederum gleichzeitig die angestrebte Zielkonfiguration erreichen, sind die in Fig. 40 dargestellten Trajektorien über der Zeitachse alle gleich lang. Die Markierungen auf den Trajektorien entsprechen jeweils einem Winkelgrad. Die stark hinterlegten Abschnitte der Trajektorien kennzeichnen den Bereich (Zeit bzw. Konfiguration), in dem die Trajektorie den Kollisionsbereich schneidet. Diese Werte sind direkt der Darstellung aus Fig. 39 zu entnehmen.
Mit der Auswertung der Darstellung aus Fig. 40 ergibt sich jetzt unmittelbar, daß es in der Zeitspanne [t₁. . .t₂] nicht zu einer Kollision kommt, da ausschließlich ein Eintritt in den Kollisionsbereich der Grundgelenke stattgefunden hat. Gleiches gilt für den Zeitabschnitt [t₃. . .t₄]; hier befindet sich das Konfigurations-Fadenkreuz noch innerhalb des Kollisionsbereiches der Armgelenke, der Kollisionsbereich der Grundgelenke wird jedoch nicht mehr geschnitten, so daß es erneut nicht zu einer Kollision kommt.
In dem Zeitabschnitt [t₂. . .t₃] droht dagegen eine Kollision. Erneut ist dies der Darstellung aus Fig. 40 unmittelbar entnehmbar, denn dies ist genau derjenige Zeitabschnitt, in dem auf allen Trajektorien ein Eintritt in den jeweiligen Kollisionsbereich vermerkt ist. Nur wenn eine solche Überlappung festgestellt wird, kann es überhaupt zu einer Kollision während der koordinierten Bewegung kommen, da nach Satz 5 der Eintritt in nur einen der Kollisionsbereiche durchaus zugestanden werden kann.
Satz 6: Eine Notwendigkeit für Ausweichbewegungen im koordinierten Betrieb ergibt sich dann und nur dann, wenn auf der Zeitachse eine Überlappung der kollisionsgefährdeten Zeitabschnitte der nicht koordinierten Trajektorien festgestellt wird.
Zusätzlich gilt es in jedem Falle zu berücksichtigen, daß eine kollisionsfreie Ausweichbewegung anhand der Kollisionsbereiche nur möglich ist, wenn die in dem nachfolgenden Satz spezifizierte Bedingung erfüllt ist.
Satz 7: Eine kollisionsfreie Ausweichbewegung anhand der Kollisionsbereiche kann dann und nur dann gewährleistet werden, wenn weder für die Start- noch für die Zielkonfiguration eine Überlappung der kollisionsgefährdeten Zeitabschnitte festgestellt wurde.
Ergibt sich hingegen eine solche Überlappung für die Startkonfiguration, so wird diese anhand der Kollisionsbereiche als kollisionsgefährdet ausgewertet stellt sich die Überlappung dagegen für die Zielkonfiguration ein, so kann diese nicht kollisionsfrei erreicht werden. In beiden Fällen können anhand der Kollisionsbereiche keine kollisionsfreien Ausweichtrajektorien generiert werden.
Im Falle der Existenz beider Ausweichtrajektorien richtet sich eine Auswahl der tatsächlich zu verwendenden Trajektorie nach den Gesamtgewichten - der Summe der Gewichte der Trajektoriensegmente - der jeweiligen Trajektorien. Nach der Dreiecksungleichung kann die Ausweichbewegung niemals räumlich kürzer als die direkte Verbindung zwischen Start- und Ziel-Konfigurationspaar sein. Aus der in Abschnitt 4.5 vorgeführten Berechnung der Gelenkgeschwindigkeiten für den koordinierten Betrieb folgt ebenso, daß die Ausweichbewegung niemals zeitlich kürzer sein kann als die zugehörige direkte Verbindung.
Damit gilt
wobei || für die "Länge" einer Trajektorie steht; der Exponent s kennzeichnet dabei die räumliche, der Exponent t hingegen die zeitliche Länge. Ganz entsprechend kennzeichnen die Exponenten sA bzw. tA die räumliche bzw. zeitliche Länge der Ausweichbewegung. Die Indizes i markieren mit i = 0 die Trajektorie der Grundgelenke bzw. mit i = 1 die Trajektorie der Armgelenke.
Damit kann die Auswahl der am besten geeigneten Trajektorie unmittelbar anhand der sich ergebenden räumlichen bzw. zeitlichen Längen erfolgen, wie die nachfolgende algorithmische Darstellung in Fig. 41 verdeutlicht.
Die Koordination der Ausweichbewegungen der Armgelenke erfolgt dabei grundsätzlich in der gleichen Weise wie dies zuvor für die Grundgelenke vorgeführt wurde. Wie jedoch bereits anhand von Fig. 24 ersichtlich ist, wird der sich für die Armgelenke ergebende kritische Bereich durch die Grundfläche des Arbeitsraumes begrenzt. Daraus folgt für die in Fig. 24 dargestellte Konstellation zunächst, daß anstelle des gesamten Kollisionsbereiches nur dasjenige Gebiet (die Tatsache, daß ausschließlich genau eines der Gebiete des Kollisionsbereiches zu betrachten wäre, folgt aus der Tatsache, daß der Ansatzpunkt der Armgelenke auf der Grundfläche des Arbeitsraumes angenommen wurde) des Kollisionsbereiches zu berücksichtigen ist, das zu dem sich ergebenden, beschränkten kritischen Bereich gehört. In diesem Falle darf für die Trajektorienplanung der Graph selbstverständlich nicht um die Nabe des Kollisionsbereiches herum geschlossen werden, da sonst Trajektorien möglich würden, welche die Armgelenke mit der Grundfläche des Arbeitsraumes kollidieren ließen.
Im allgemeinen Fall ist jedoch sicher davon auszugehen, daß die Grundfläche des Arbeitsraumes die Bewegungsmöglichkeiten der Armgelenke zwar einschränkt, dabei jedoch nur einen Teil der Umgebung des Kollisionsbereiches unzugänglich werden läßt. Eine solche Konstellation ist in Fig. 42 dargestellt, deren linke Seite schematisiert zwei koordinierte Roboter zeigt, für die der Aktionsradius der Armgelenke durch die Grundfläche beschränkt ist. Auf der rechten Seite ist in der Konfigurationsebene der zugehörige aufgeweitete Kollisionsbereich für die Armgelenke eingezeichnet. Die unzugänglichen Abschnitte der jeweiligen Aktionsbereiche stellen sich in der zweidimensionalen Konfigurationsebene als rechteckige Bereiche dar. Für den Fall, daß - wie in Abschnitt 3.4 zur Vereinfachung der Trajektorienplanung vorgeschlagen - anstelle zweier Konfigurationslinien in der Konfi­ gurationsebene der um δ ⁹⁹⁹⁹⁹ ⁰⁰⁰⁷⁰ ⁵⁵² ⁰⁰¹⁰⁰⁰²⁸⁰⁰⁰⁰⁰00200012000285919988800040 0002019625637 00004 99880£, δ₂ aufgeweitete Kollisionsbereich betrachtet wird, sind die sich durch die Grundfläche des Arbeitsraumes in der Konfigurationsebene ergebenden verbotenen Gebiete natürlich gleichfalls entsprechend auszudehnen. Dies ist in Fig. 42 bereits durch die zusätzlich schraffierten Bereiche berücksichtigt.
Eckpunkte des Kollisionsbereiches, die innerhalb der sich ergebenden unzugänglichen Abschnitte liegen, sind keine Knoten des Graphen und gehen in die Trajektorienplanung für die Armgelenke nicht ein. Somit ergibt sich der bisher stets angenommene geschlossene Weg um den kompletten Kollisionsbereich nicht mehr. Aus diesem Grunde ist sichergestellt, daß eine eventuelle Ausweichtrajektorie die Armgelenke weder miteinander noch mit der Grundfläche des Arbeitsraumes kollidieren läßt.
Nach diesem Prinzip läßt sich auch eine effiziente Berücksichtigung eventuell im Arbeitsraum vorhandener ortsfester Hindernisse bewerkstelligen. Ein solches Hindernis beschränkt den Aktionsbereich eines oder mehrerer Freiheitsgrade von einem oder gar beiden koordinierten Robotern. In den jeweiligen Konfigurationsebenen präsentieren sich diese Beschränkungen - wie in Fig. 42 gezeigt - als unzugängliche rechteckige Gebiete, die bei der Trajektorienplanung entsprechend zu berücksichtigen sind. (Die Frage der Berücksichtigung ortsfester Hindernisse wird im Rahmen eines kurzen Ausblicks zum Ende dieses Kapitels in Abschnitt 4.10 ab Seite 48 nochmals aufgegriffen.)
4.7.1 Koordination des zweiten Armgelenkes
Zu einer weiteren Besonderheit im Falle der Armgelenke kommt es, weil sich im Gegensatz zu den Projektionslinien oder Projektionsrechtecken der Grundgelenke für die Armgelenke Kreissektoren ergeben, deren Außenlinien genau wie zuvor die Projektionslinien behandelt werden (siehe Abschnitt 3.4).
Der Öffnungswinkel dieses Kreissektors nimmt mit zunehmendem k₂ (Fig. 24) gleichfalls zu. Da jedoch die Projektionsfläche der realen Robotergeometrie im Gegensatz zu der Fläche des Kreissektors unveränderlich ist, ergibt sich aus diesem Verhältnis ein Fehler, der umso größer ist, je größer der Konfigurationswert k₂ wird.
Der Flächeninhalt des betrachteten Kreissektors berechnet sich in Abhängigkeit von der Länge der Projektionslinie p sowie dem Öffnungswinkel δ zu:
Der Öffnungswinkel δ ist seinerseits nach den Beziehungen (32) und (33) abhängig von den Längen l₁ und l₂ sowie dem Konfigurationswert k₂. Das Einsetzen von (32) in (33) muß zu relativ umfangreichen Ausdrücken führen, so daß hier die Verwendung einer Näherungslösung naheliegt. Diese Näherungslösung ergibt sich über die Bogenlänge und damit über die Länge des Kreisbogensegmentes, welches von den beiden Projektionslinien p (Fig. 24) eingeschlossen ist. Die besuchte Bogenlänge bδ ergibt sich dabei als
Entsprechend ergibt sich für die beiden Schenkel l₂ aus Fig. 24 mit dem Öffnungswinkel k₂ die Länge des eingeschlossenen Kreisbogensegmentes als
Die Längen dieser beiden Kreisbogensegmente bδ, können mit ausreichender Genauigkeit gleichgesetzt werden. Damit ergibt sich die gesuchte Abhängigkeit des Öffnungswinkels δ von dem Konfigurationswert k₂ als
Die Fläche des Kreissektors läßt sich damit in Abhängigkeit von k₂ wie folgt ausdrücken:
Damit läßt sich schließlich die Zunahme der Fläche des Kreissegmentes in Abhängigkeit von steigenden Werten für k₂ auch graphisch darstellen - Fig. 43. Zugrundegelegt wurden bei beiden koordinierten Robotern für die Längen der Robotersegmente die Werte l₁ = 40 und l₂ = 30 sowie für die Breite der Segmente der Wert b = 5. Für eine Segmentbreite von 5 Einheiten ergibt sich - unabhängig von der geknickten Armstruktur - nach Beziehung (26) eine Aufweitung des Kollisionsbereiches um ϕ1/2 = 2.05°. Demnach ist anstelle von k₂ in Gleichung (54) für den vorliegenden Fall grundsätzlich (k₂ + ϕ1/2) einzusetzen.
Mit der graphischen Gegenüberstellung gemäß Fig. 43 soll verdeutlicht werden, wie sich die vom vorgestellten Verfahren berücksichtigte "Fläche" im Verhältnis zur Ausdehnung der tatsächlichen Projektionsflächen verhält. Damit wird es möglich, abzuschätzen, ob ab einem bestimmten Konfigurationswert k₂ die Trajektorienplanung möglicherweise nicht mehr in dem aufgeweiteten Kollisionsbereich durchgeführt werden soll, sondern statt dessen der Öffnungswinkel δ - durch geeignete Veränderung von k₂ - so verkleinert (dies kann grundsätzlich aus jeder kollisionsfreien Grundgelenkskonfiguration, darüber hinaus jedoch bei kollisionsbehafteten Grundgelenkskonfigurationen auch für den Bereich kollisionsfreier Armgelenkskonfigurationen geschehen) wird, daß sich ein deutlich größerer Bewegungsraum für die koordinierten Roboter ergibt.
Im Rahmen von konkreten Bewegungssimulationen hat sich als guter Ansatz für einen Schwellwert der zu dem Schnittpunkt der beiden Geraden aus Fig. 43 gehörende Konfigurationswert k₂ herausgestellt. Damit läßt sich der Schwellwert k₂s durch Gleichsetzen der Geradengleichungen der beiden in Fig. 43 dargestellten Geraden errechnen:
Mit Hilfe des Schwellwertes k₂s läßt sich nunmehr ein Algorithmus für die Bewegung des zweiten Armgelenkes aufstellen - Fig. 44.
Die Notwendigkeit für eine Ausweichbewegung der Armgelenke ergibt sich stets, wenn keine kollisionsfreie Ausweichbewegung der Grundgelenke möglich ist. Zudem kann sich eine Ausweichbewegung der Armgelenke anstelle einer Ausweichbewegung der Grundgelenke als sinnvoll erweisen, sobald eine Ausweichbewegung der Grundgelenke sehr zeitintensiv (an dieser Stelle kann kein allgemein gültiger Wert angegeben werden, ab dem eine Ausweichbewegung als "sehr zeitintensiv" betrachtet werden muß; ein solcher Wert muß notwendigerweise stark von der konkreten Problemstellung abhängen, unter anderem auch von dem Abstand der koordinierten Roboter.) wird, so daß durch eine Bewegung der Armgelenke eine zeitlich kürzere Gesamtbewegung erwartet werden kann. In diesem Falle wird eine gefundene kollisionsfreie Trajektorie für die Armgelenke mit der gleichfalls existierenden kollisionsfreien Trajektorie der Grundgelenke verglichen. Diejenige der beiden möglichen Trajektorien, die im Hinblick auf bestimmte Optimalitätskriterien (weg-. zeit-optimal) die beste Lösung darstellt, wird schließlich ausgewählt.
Sofern eine Ausweichbewegung der Armgelenke erforderlich wird, mithin also keine kollisionsfreie Trajektorie für die Grundgelenke gefunden werden konnte, gilt es zu prüfen, ob unter den gegenwärtigen Armgelenkskonfigurationen eine kollisionsfreie Ausweichbewegung der Armgelenke möglich ist. Ist dies der Fall, kann diese Ausweichbewegung unmittelbar ausgeführt werden, so daß beide Roboter ihre angestrebte Zielkonfiguration kollisionsfrei erreichen.
Nur wenn unter den gegenwärtigen Konfigurationen keine kollisionsfreie Trajektorie gefunden werden kann, wird auf die zweite Armgelenkskonfiguration der zu koordinierenden Roboter Einfluß genommen, um so den den Robotern zur Verfügung stehenden freien Bewegungsraum zu vergrößern. Dazu wird zunächst ermittelt, zwischen welchen ganzzahligen Vielfachen des Schwellwertes k₂s der gegenwärtige Konfigurationswert k₂ liegt. Solange keine kollisionsfreie Ausweichbewegung für die Armgelenke gefunden werden kann, wird der Konfigurationswert k₂ stets auf das nächstkleinere ganzzahlige Vielfache des Schwellwertes verringert. Eine solche Bewegung des zweiten Armgelenkes ist aus jeder kollisionsfreien Grundgelenkskonfiguration ohne zusätzliche Kollisionsprüfungen möglich. Dies geschieht solange, bis entweder eine kollisionsfreie Ausweichbewegung für die Armgelenke gefunden werden kann, oder aber der Konfigurationswert k₂ den Wert 0 erreicht, mithin also die beiden Armsegmente in gerader Linie stehen. Kann auch für den Konfigurationswert k₂ = 0 keine kollisionsfreie Trajektorie gefunden werden, so kann die vorliegende Konstellation nicht kollisionsfrei in die angestrebte Zielkonfiguration überführt werden.
4.8 Kollisionsgefahren während der koordinierten Bewegung
Bewegungen der Armgelenke führen zu einer Veränderung von Form und Größe des Kollisionsbereiches für die Grundgelenke. Ganz entsprechend ändert sich mit jeder Bewegung der Grundgelenke auch der Kollisionsbereich für die Armgelenke. Dies ist für den koordinierten Betrieb insofern von Bedeutung, als Konfigurationen, die zum Zeitpunkt k·t definitiv kollisionsfrei sind, zum Zeitpunkt (k+1)t möglicherweise kollisionsgefährdet werden.
4.8.1 Kollisionsgefährdete Konfigurationen während der Bewegung entlang der geplanten Ausweichtrajektorie
Die Argumentation wird im folgenden mit Bezug auf die Darstellung in Fig. 45 fortgesetzt, unter der Annahme, daß für die Grundgelenke eine Ausweichtrajektorie entlang des sich ergebenden Kollisionsbereiches gefahren wird. Durch die sich im Zuge der Armgelenksbewegung ergebenden Änderungen der Konfigurationen der Armgelenke nimmt die Länge der den Kollisionsbereich der Grundgelenke bestimmenden Projektionslinien zu, so daß unmittelbar auch der Kollisionsbereich selbst eine Vergrößerung erfährt. Konfigurationen entlang der geplanten und zuvor kollisionsfreien Trajektorie sind damit plötzlich kollisionsgefährdet. Eine solche Konstellation ist in Fig. 45 dargestellt.
Sobald für die Bestimmung des Kollisionsbereiches der Grundgelenke die veränderten Konfigurationen der Armgelenke verwendet werden, wird unmittelbar diejenige Ausweichtrajektorie bestimmt, deren Stützpunkte sich mit den Eckpunkten des neuen, größeren Kollisionsbereiches ergeben. Die Trajektorie ist damit unmittelbar wieder kollisionsfrei, abgesehen jedoch von der Verbindung zwischen der aktuellen Konfiguration und dem ersten Eckpunkt des Kollisionsbereiches.
Um die sich daraus ergebende Kollisionsgefahr auszuschließen, kann gefordert werden, daß jede Bewegung, die zu einer Vergrößerung des Kollisionsbereiches führt, so daß die zuvor kollisionsfreie aktuelle Konfiguration kollisionsgefährdet wird, sofort solange angehalten wird, bis die kritische Situation nicht mehr besteht. Um dies zu realisieren, ist anstelle eines einzelnen Kollisionsbereiches für die aktuelle Konfiguration zusätzlich ein Kollisi­ onsbereich für die unmittelbar folgende Konfiguration erforderlich. Anhand dieses zusätzlichen Kollisionsbereiches kann jederzeit überprüft werden, ob entlang der eingeschlagenen Bewegung eine Kollisionsgefahr droht und wie lange diese Situation besteht.
Eine geeignete Koordination ist jedoch auch ohne Unterbrechung einer der Bewegungen möglich, wenn die angestrebte Bewegung im vierdimensionalen Raum - festgelegt durch die einfließenden Konfigurationen k, k k und k der koordinierten Roboter R₁ und R₂ - betrachtet wird.
Die Konfigurationen zu den Zeitpunkten k·t bzw. (k+1)t lassen sich in Form von Konfigurationsvektoren schreiben als
wobei die Komponenten k, k des Vektors k(k+1)t den angestrebten Eckpunkt des Kollisionsbereiches der Grundgelenke für den Zeitpunkt (k+1)t bezeichnen. Die Subtraktion dieser beiden Vektoren liefert mit
in den Komponenten des Vektors d die jeweils von den einzelnen Freiheitsgraden zurückzulegenden Distanzen.
Die Koordination der einzelnen Geschwindigkeiten erfolgt jetzt ganz analog zu der bereits in Abschnitt 4.6 erläuterten Vorgehensweise.
Unter Berücksichtigung der jeweils möglichen Maximalgeschwindigkeiten werden die Zeitspannen errechnet, die jede einzelne Bewegung bei Ausnutzung dieser Maximalgeschwindigkeit erfordert:
Da sämtliche Freiheitsgrade die angestrebte Zielkonfiguration gleichzeitig erreichen, wird wiederum der größte der sich so ergebenden auf den nächstgrößeren ganzzahligen Wert gerundeten Zeitwerte ermittelt:
t = max {t′₁, t′₂, t′₃, t′₄}. (59)
Mit dem Zeitwert t lassen sich dann die einzustellenden Geschwindigkeiten errechnen:
Das resultierende Trajektoriensegment stellt sich als Verbindungslinie zwischen den Eckpunkten kk·t und k(k+1)t der durch diese Eckpunkte festgelegten Ebene im vierdimensionalen Raum dar. In der Darstellung in Fig. 46 sind die Eckpunkte der Bewegung für den sich vergrößernden Kollisionsbereich in einem dreidimensionalen Koordinatensystem - unter Einbeziehung der Zeitachse - graphisch dargestellt.
Für das in Fig. 45 dargestellte Beispiel stellt eine solche Koordination der Gelenkgeschwindigkeiten sicher, daß die jeweils aktuelle Konfiguration stets gerade außerhalb des sich vergrößernden Kollisionsbereiches verbleibt. Die Kollisionsfreiheit der Bewegung entlang der Ausweichtrajektorie ist somit wieder gewährleistet.
Für während der Gesamtbewegung schrumpfende Kollisionsbereiche ist keine solche Koordination erforderlich, da die permanente Aktualisierung der Kollisionsbereiche stets dazu führt, daß die Trajektorie entlang der Eckpunkte des Kollisionsbereiches verläuft. Auf dem aktuellen Trajektoriensegment, das zum Zeitpunkt k·t möglicherweise entlang einer Kante des Kollisionsbereiches verläuft, wird bei sich verkleinernden Kollisionsbereichen daher stets der entlang der Trajektorie nächstliegende Eckpunkt des Kollisionsbereiches angesteuert.
4.8.2 Kollisionsgefährdetes Ziel-Konfigurationspaar
Im Rahmen von konkreten Simulationsläufen hat sich ergeben, daß vor allem für die Armgelenke mitunter der Fall auftritt, daß das angestrebte Ziel-Konfigurationspaar zeitweise innerhalb des Kollisionsbereiches liegt, so daß keine Ausweichtrajektorie bestimmt werden kann.
Ein solcher Umstand ergibt sich vor allem bei großräumigen Bewegungen der Grundgelenke. Häufig existiert dann sowohl für die Start- als auch die Zielkonfiguration der Grundgelenke gar kein Kollisionsbereich der Armgelenke. Während eines bestimmten Abschnittes der Bewegung der Grundgelenke nimmt die Länge der Projektionslinien der Armgelenke jedoch ständig zu, so daß sich schließlich auch für die Armgelenke ein Kollisionsbereich ausbildet. Liegt die angestrebte Zielkonfiguration der Armgelenke zeitweise innerhalb dieses Kollisionsbereiches, so kann in einem solchen Fall keine Ausweichtrajektorie bestimmt werden. Sofern die Ausweichtrajektorie der Grundgelenke existiert, kann selbstverständlich daraufhin sofort diese Trajektorie zum Einsatz kommen. Allerdings ist davon auszugehen, daß bis zum Eintreten der beschriebenen Konstellation die Grundgelenke bereits einen beträchtlichen Anteil des Weges bis zu der angestrebten Zielkonfiguration zurückgelegt haben: eine zu diesem Zeitpunkt eingeleitete Ausweichbewegung der Grundgelenke muß also gerade angesichts der aktuellen Konstellation als ausgesprochen unökonomisch angesehen werden.
Sehr viel effizienter wäre an dieser Stelle daher ein Vorgehen, bei dem die Zielkonfiguration der Armgelenke zeitweise - solange diese innerhalb des Kollisionsbereiches liegt - außer acht gelassen wird. Statt dessen wird angestrebt, daß das Konfigurations-Fadenkreuz der Armgelenke stets außerhalb des Kollisionsbereiches bleibt. Die Zielkonfiguration einer temporären Ausweichtrajektorie der Armgelenke ergibt sich entsprechend mit demjenigen Eckpunkt des Kollisionsbereiches, der der tatsächlich angestrebten Zielkonfiguration am nächsten liegt. Der beschriebene Eckpunkt liegt stets außerhalb des Kollisionsbereiches und kann somit zu jedem Zeitpunkt kollisionsfrei erreicht werden. Verschwindet der Kollisionsbereich der Armgelenke während der fortschreitenden Bewegung der Grundgelenke wieder oder wird die eigentlich angestrebte Zielkonfiguration durch die Verkleinerung des Kollisionsbereiches wieder kollisionsfrei, so befinden sich die Konfigurationen der Armgelenke bereits in der Nähe der eigentlich angestrebten Zielkonfiguration, die dann unmittelbar erreicht werden kann.
Fig. 47 zeigt eine exemplarische Darstellung der Verhaltnisse in der Konfigurationsebene der Armgelenke für den soeben skizzierten Sonderfall. Zu Beginn der Bewegung kann es aufgrund der Stellungen der Grundgelenke zu keinen Überlappungen der Projektionen der Armgeometrien kommen. Dementsprechend existiert zu diesem Zeitpunkt kein Kollisionsbereich für die Armgelenke - Fig. 47a. Während der Bewegung der Grundgelenke nimmt die Länge der Projektionslinien der Armgelenke zunächst ständig zu, so daß sich schließlich ein Kollisionsbereich ausbildet. Die zuvor kollisionsfreie Trajektorie für die Armgelenke kann nicht weiter verfolgt werden, da sie nunmehr kollisionsbehaftete Konfigurationen einschließt. Insbesondere kann mit den bisher vorgestellten Mitteln keine Ausweichtrajektorie generiert werden, da die Zielkonfiguration selbst kollisionsbehaftet ist. Im Falle einer weiterhin existierenden Ausweichtrajektorie für die Grundgelenke könnte diese - mit den bereits beschriebenen Nachteilen - zur Anwendung kommen.
Für den Fall, daß sichergestellt ist, daß die Zielkonfiguration der Armgelenksbewegung kollisionsfrei ist, was durch die Bestimmung des zugehörigen Kollisionsbereiches unter Berücksichtigung der jeweiligen Zielkonfigurationswerte ohne weiteres ermittelt werden kann, wird eine temporäre Zielkonfiguration der Armgelenke eingeführt. Diese Zielkonfiguration liegt auf demjenigen Eckpunkt des sich ausbildenden Kollisionsbereiches, der der tatsächlichen Zielkonfiguration am nächsten liegt. Die temporäre Zielkonfiguration kann also in jedem Falle kollisionsfrei erreicht werden - Fig. 47b. Da die Zielkonfiguration der Armgelenksbewegung bereits als kollisionsfrei ermittelt wurde, wird der Kollisionsbereich der Armgelenke während der weiteren Bewegung entweder verschwinden oder eine solche Form und Größe annehmen, die ein kollisionsfreies Erreichen der Zielkonfiguration der Armgelenke gestattet - Fig. 47c.
4.9 Erweiterungsmöglichkeiten, Anwendungsbeispiele
Zum Abschluß des sich mit der Planung kollisionsfreier Trajektorien befassenden Kapitels soll in den sich anschließenden Abschnitten ein Ausblick auf weitergehende Möglichkeiten zur Steuerung eines koordinierten Mehrroboterbetriebes bzw. dessen Optimierungen mit Hilfe der Kollisionsbereiche gewährt werden.
Thema des Abschnittes 4.9.1 ist das Auffinden von Ausweichtrajektorien die über den gesamten Bewegungsvorgang global optimale Verhältnisse liefern. Unter Einbeziehung einer Zeitachse ist dabei von der zweidimensionalen Darstellung der Kollisionsbereiche auf eine dreidimensionale Darstellung überzugehen. Aufgrund des damit verbundenen erheblich erhöhten Datenaufkommens sowie des damit einhergehenden Anstiegs der Rechenzeit muß die Bestimmung solchermaßen optimierter Trajektorien einer off-line Lösung vorbehalten bleiben.
Für Roboter mit zylinderförmigem Arbeitsraum wird in Abschnitt 4.9.2 ein Verfahren vorgestellt, bei dem anstelle der zweidimensionalen Kollisionsbereiche ein dreidimensionales Kollisionsgebirge für die Planung kollisi­ onsfreier Trajektorien zum Einsatz kommt. Wenngleich das Verfahren im Falle der Roboter mit zylinderförmigem Arbeitsraum besonders einfach zu implementieren ist, läßt es sich doch in analoger Weise auch für Roboter anderer Konfiguration und dainit insbesondere auch für Gelenkarmroboter einsetzen. Mit dem Ansatz kann insbesondere eine Koordination zwischen der Ausweichbewegung einer Gelenkgruppe und der direkten Bewegung der verbleibenden Gelenkgruppe erreicht werden.
4.9.1 Optimierung der Ausweichtrajektorien für den gesamten Bewegungsablauf
Wie bereits in den Abschnitten 3.1 dort insbesondere Fig. 7 und 4.8 (Fig. 46) deutlich wird, sind Form und Größe der Kollisionsbereiche aufgrund des bestimmenden Einflusses der sich mit der Zeit verändernden Längen der Projektionslinien selbst zeitveränderlich.
Aufgrund des gewählten Algorithmus′ werden für diese zeitveränderlichen Kollisionsbereiche stets die optimalen Ausweichtrajektorien generiert. Allerdings kann sich eine solche Trajektorie stets nur auf die aktuellen Verhältnisse beziehen. Da sich jedoch die Kollisionsbereiche auch für verschiedene Projektionslängen stets, wenn auch nicht im mathematisch strengen Sinne, "ähneln" - insbesondere bleiben jederzeit die Symmetrieverhältnisse erhalten -, ergibt sich daraus kein grundsätzlicher Nachteil für die Bestimmung der Ausweichtrajektorien.
Zu einem Nachteil kann es daher bei der Anwendung der bisher vorgestellten Verfahren nur dann kommen, wenn aufgrund der aktuellen Verhältnisse z. B. eine Ausweichbewegung um den Kollisionsbereich der Armgelenke ausgewählt wird, dieser sich jedoch im Verlauf der Gesamtbewegung so stark vergrößert, daß die gewählte Ausweichbewegung im Vergleich zu der verworfenen Ausweichbewegung eine größere Zeitspanne oder eine längere Gesamtbewegung erfordert.
Zur Generierung von Trajektorien, die für den gesamten Bewegungsablauf optimale Verhältnisse liefern, wird darum die Betrachtung der sich verändernden Kollisionsbereiche entlang der Zeitachse erforderlich. Fig. 48 zeigt, entlang der Zeitachse aufgetragen, die sich ergebenden Kollisionsbereiche für die Grundgelenke; die Veränderung der Kollisionsbereiche ist da bei auf die Bewegung der Armgelenke in dem entsprechenden Zeitraum zurückzuführen.
Durch die Berücksichtigung sämtlicher sich während der Gesamtbewegung ergebender Kollisionsbereiche kann gewährleistet werden, daß schließlich die für die Gesamtbewegung optimale Ausweichbewegung ausgewählt wird. Die Koordination der Gelenksgeschwindigkeiten kann dabei nach dem bereits in Abschnitt 4.8 vorgestellten Verfahren erfolgen.
Ganz analog sind für die Armgelenke die sich während der direkten, nicht-koordinierten Bewegung der Grundgelenke ergebenden Kollisionsbereiche zu bestimmen. Ein Vergleich beider Trajektorien liefert schließlich die gesuchte global optimale Trajektorie.
Ein solcher Ansatz sollte im Rahmen einer off-line Lösung umgesetzt werden; insbesondere ergibt sich keine Notwendigkeit für eine on-line Lösung, da bereits zu Beginn der Bewegung sämtliche relevanten Bewegungsinformationen zur Verfügung stehen.
Eine Bestimmung aller während einer Bewegung auftretender Kollisionsbereiche ist mit einem erheblichen Mehraufwand in Bezug auf die Rechenleistung sowie die Speicherkapazität der Steuerungshardware verbunden. Insbesondere aus diesem Grunde scheint der Übergang zu einer off-line Realisierung naheliegend. Aufgrund der deutlichen Zunahme der Komplexität des für die Trajektoriensuche aufzustellenden Graphen ist insbesondere davon auszugehen, daß die Bestimmung der möglichen Trajektorien den größten Zeitaufwand erfordern wird. Es bleibt also in jedem Falle abzuwägen, ob diesem Verfahren der Vorzug gegeben wird, dessen möglicher Zeitgewinn durch die off-line Bestimmung der Trajektorie vor Beginn des eigentlichen Bewegungsablaufes wieder aufgezehrt wird.
Der erforderliche Rechenaufwand bei der Suche im resultierenden Graphen kann aufgrund der Symmetrie der Kollisionsbereiche durch einen einfachen heuristischen Ansatz erheblich reduziert werden: Zu diesem Zweck wird ein Kollisionsbereich ausgewählt, der weder das Start- noch das Ziel-Konfigurationspaar enthält. Durch eine Trajektorienplanung in Bezug auf diesen Kollisionsbereich ist bekannt, auf welcher Seite des Kollisionsbereiches die optimale Trajektorie verläuft. Mit Bezug auf die Nabe des Kollisionsbereiches kann so insbesondere ein Kreissektor - für die entlang der Zeitachse gestapelten Kollisionsbereiche ein Zylindersegment - definiert werden, der alle Knoten des Graphen enthält, die als Stützpunkte der Trajektorie in Frage kommen. Auf diese Weise läßt sich die Größe des Graphen für die Planung weg-optimaler Trajektorien um mindestens 50% reduzieren, da die optimale Trajektorie stets nur entlang jeweils eines der beiden Gebiete des Kollisionsbereiches verläuft.
4.9.2 Roboter mit zylinderförmigem Arbeitsraum
In den Arbeiten von Freund [Freund 1984/Freund 1986] werden die Ergebnisse der Forschungsarbeiten stets für Roboter mit zylinderförmigem Arbeitsraum - Roboter mit einer rotatorischen und zwei translatorischen Hauptachsen - vorgestellt, obwohl stets auf eine Eignung des Ansatzes auch für andere denkbare Robotertypen hingewiesen wird. In [Freund 1990] wird dann schließlich die Kollisionserkennung und -vermeidung ausschließlich für Roboter dieser Konfiguration betrieben.
Hier kann anhand der Roboter mit zylinderförmigem Arbeitsraum besonders anschaulich eine spezielle Variante des koordinierten Mehrroboterbetriebes unter Verwendung der Kollisionsbereiche vorgeführt werden, bei der nicht mehr unter zu verschiedenen Kollisionsbereichen gehörigen Ausweichtrajektorien ausgewählt wird, sondern eine Koordination mehrerer Gelenkgruppen anhand eines Kollisionsbereiches gelingt.
Roboter mit einem zylinderförmigem Arbeitsraum sind mit Hilfe der Kollisionsbereiche vor allem deshalb besonders anschaulich zu handhaben, weil durch die spezielle Konfiguration praktisch implizit die zur Generierung der Kollisionsbereiche erforderliche Projektion vorliegt, denn dafür braucht nur die Bewegung der zweiten Hauptachse (Translation in z-Richtung) vernachlässigt werden. Siehe dazu Fig. 49.
Zusätzlich soll für den koordinierten Mehrroboterbetrieb auf den bereits in [Freund 1984/Freund 1986/Freund 1990] eingeführten Ansatz zurückgegriffen werden, wonach einer der beteiligten Roboter seine Bewegung unverändert durchführt, während der andere Roboter - zur Vermeidung drohender Kollisionen - diesem ausweichen muß. Es wird damit eine Hierarchie eingeführt, die dafür sorgt, daß stets der niederpriore Roboter demjenigen mit höherer Priorität ausweichen muß. Der Nachteil dieses Ansatzes besteht natürlich darin, daß keinerlei Optimierungen hinsichtlich der Ausführung der Gesamtbewegungen möglich sind; auf der anderen Seite ist der Ansatz von Prioritäten im konkreten Anwendungsfall vielfach sicher durchaus praxisgerecht.
Eine Kollisionsvermeidung ist für Roboter dieser Konfiguration - unter der Annahme, daß der Aufstellungsort des Roboters stets kollisionsfrei ist, d. h. daß die Roboter so weit voneinander entfernt aufgestellt werden, daß die Drehachse ihrer ersten Freiheitsgrade stets außerhalb des Arbeitsraumes anderer Roboter liegt - überhaupt nur dann notwendig, wenn bei beiden Robotern für den zweiten Freiheitsgrad (translatorische Bewegung in z-Richtung) Konfigurationen vorliegen, die zu einer Kollision führen können.
Befindet sich hingegen bei einem Roboter dieses Gelenk an seiner unteren Endposition, bei dem anderen Roboter an seiner oberen Endposition, so treten sicher keine Kollisionen auf. Für diese spezielle Roboterkonfiguration kann also eine Kollisionsverineidung stets einfach dadurch erreicht werden, daß die Position des zweiten Freiheitsgrades geeignet überwacht wird. Hier wird angenommen, daß stets Konfigurationen des zweiten Freiheitsgrades in der Form vorliegen, daß Kollisionen denkbar sind.
Anders als in allen vorangehenden Fällen soll die Kollisionsvermeidung ausschließlich durch geeignete Bewegungen des zweiten translatorischen Freiheitsgrades - also durch Aus- oder Einfahren des Armes - erreicht werden. Die Konfiguration dieses Freiheitsgrades bestimmt unmittelbar die Länge der Projektionslinien, die ihrerseits maßgeblich in die Berechnung des Kollisionsbereiches eingehen. Tritt im koordinierten Betrieb das Konfigurations-Fadenkreuz zu irgendeinem Zeitpunkt in den Kollisionsbereich der 1. Hauptfreiheitsgrade ein, so liegt eine kollisionsgefährdete Konfiguration vor. Zu beachten ist jetzt weiterhin, daß der Freiheitsgrad, der mit seiner aktuellen Bewegung die Kollision zu verursachen droht, verschieden von demjenigen Freiheitsgrad ist, durch dessen Ausweichbewegung die drohende Kollision verhindert werden soll. Im betrachteten Fall können Bewegungen des 1. Hauptfreiheitsgrades (rotatorischer Freiheitsgrad) zu Kollisionen führen, die durch entsprechende Bewegungen des 3. Hauptfreiheitsgrades (translatorischer Freiheitsgrad) vermieden werden sollen.
Folgendes Szenario soll für eine drohende Kollision angenommen werden:
  • - Bei beiden Roboter ist zunächst nur der rotatorische Freiheitsgrad in Bewegung. Bei einer Betrachtung der Szenerie von oben bewegen sich beide Roboter im Uhrzeigersinn, so daß diese sich innerhalb des kritischen Bereiches aufeinander zu bewegen.
  • - Da die zu koordinierenden Bewegungen on-line anhand der Kollisionsbereiche überwacht werden, kommt es zu- einem bestimmten Zeitpunkt zu einem Eintreten des Konfigurations-Fadenkreuzes in den Kollisionsbereich.
  • - Bevor diese Bewegung ausgeführt wird, muß zur Kollisionsvermeidung der translatorische Freiheitsgrad in Bewegung gesetzt werden.
    Zur Vermeidung der Kollision wird der Arm eingezogen.
  • - Sobald sich die Konfiguration des translatorischen Armgelenkes verändert, ändert sich mit der Projektions­ länge einer der maßgeblichen Parameter des Kollisionsbereiches.
    Der Kollisionsbereich muß also entsprechend der veränderten Projektionslängen neu errechnet werden, so daß die weitere Kollisionsüberwachung mit dem aktualisierten Kollisionsbereich durchgeführt wird.
In dem oben präsentierten Szenario wird angenommen, daß eine Bewegung des translatorischen Armgelenkes zur Vermeidung der Kollision veranlaßt wird. Die Art und Weise der erforderlichen Bewegung ist jedoch nicht spezifiziert, insbesondere gibt es noch keine Informationen, wie weit der Arm ein gefahren werden muß, um der drohenden Kollision auszuweichen.
An dieser Stelle ist jetzt ein Rückgriff auf den bereits erwähnten Ansatz eines Wegerechtes für einen der beteiligten Roboter erforderlich. Ein Wegerecht, die Prioritätenzuweisung, führt dazu, daß Ausweichbewegungen immer nur von einem Roboter durchgeführt werden, während der andere Roboter seine Bewegungen ungehindert fortsetzt.
Da die Ausweichbewegungen ausschließlich von einem der beteiligten Roboter ausgeführt werden, kann der Kollisionsbereich einschließlich der sich durch den Ausweichvorgang ergebenden Veränderungen bereits im voraus berechnet werden. Da zur Kollisionsvermeidung der ausweichpflichtige Roboter seinen Arm einziehen wird, erfolgt im Zuge der Ausweichbewegung eine Verkleinerung des Kollisionsbereiches - bedingt durch die Verringerung einer der bestimmenden Projektionslängen. Ab einer bestimmten Armgelenkskonfiguration verschwindet der Kollisionsbereich sogar - nämlich dann, wenn der Arm so weit ein gefahren ist, daß keine Möglichkeiten zu einer Überschneidung der Projektionen bestehen. Spätestens bei einer solchen Armgelenkskonfiguration kann jedoch auch die koordinierte Bewegung garantiert kollisionsfrei durchgeführt werden.
Wird die Verringerung der Projektionslängen in diskreten Schritten angesetzt, so ergeben sich vom aktuellen Kollisionsbereich bis zu dessen Verschwinden eine Anzahl stets kleiner werdender Kollisionsbereiche.
In Fig. 50a sind die sich ergebenden Kollisionsbereiche für verschiedene Projektionslängen des ausweichpflichtigen, niederprioren Roboters R₁ dargestellt: dunkler schraffierte Bereiche gehören zu größeren Projektionslängen von Roboter R₁, heller schraffierte Bereiche zu kleineren Projektionslängen. Diese in einer zweidimensionalen Ebene sich überdeckenden Kollisionsbereiche können im dreidimensionalen Raum als Potential- oder Kollisionsgebirge dargestellt werden, indem jedem einzelnen Kollisionsbereich ein eindeutiger Potential- oder Höhenwert zugeordnet wird. Dabei wird für den flächenmäßig größten Kollisionsbereich - der Kollisionsbereich der aus den größten Projek­ tionslängen resultiert - der geringste Höhenwert angesetzt; damit wird gleichsam der "Fuß" des Kollisionsgebirges gebildet. Sukzessive wird nun der zu den nächst kleineren Projektionslängen gehörende Kollisionsbereich mit einem sich schrittweise vergrößernden Höhenwert versehen, solange bis der kleinste Kollisionsbereich erreicht ist: die Kol­ lisionsbereiche werden entsprechend ihrer Größe gleichsam aufeinander gestapelt. Die dreidimensionale Darstellung dieser Daten ergibt jetzt das Kollisionsgebirge - Fig. 50b. Diese Darstellung enthält im Vergleich zu Fig. 50a keine zusätzlichen Daten, erlaubt jedoch eine anschauliche Interpretation des angestrebten Ausweichvorganges.
Bisher wurde bei der Trajektorienplanung immer eine Vermeidung des Kollisionsbereiches angestrebt. Dies weist immer auch Parallelen zum time-scheduling-Konzept auf, da stets eine geeignete Verzögerung eines der Gelenke erreicht wird, so daß der Kollisionsbereich sicher vermieden wird. Eine Trajektorie zur Vermeidung des Kollisionsbereiches kann stets in der Konfigurationsebene - also im Zweidimensionalen - aufgetragen werden. Übertragen auf Fig. 50b wurde eine solche Trajektorie um das Potentialgebirge der gestapelten Kollisionsbereiche herumführen. Eine kollisionsfreie Bewegung muß jedoch auch durch eine Überquerung des Potentialgebirges realisierbar sein, denn schließlich verschwindet der Kollisionsbereich sobald eine der Projektionslängen einen bestimmten Wert unterschreitet.
In einer ersten Annäherung kann genau dies erreicht werden, indem entlang der angestrebten Trajektorie nach den Vorschriften des in Fig. 51 dargestellten Algorithmus′ verfahren wird.
Dieses Vorgehen ist hinreichend für ein lokales on-line Verfahren, bei dem die Ausweichbewegungen immer erst dann ausgelöst werden, wenn eine konkrete Gefahr erkannt wird. Da dies jedoch keinesfalls eine optimale Lösung darstellt, ist eine Lösung gesucht, mit deren Hilfe die Ausweichbewegungen bereits zu dem Zeitpunkt beginnen können, zu dem die Bewegung insgesamt beginnt.
An einer Trajektorie, die einen gestapelten Kollisionsbereich überquert, kann jedoch an allen kollisionserzeugenden Konfigurationen direkt ein Potentialwert abgelesen werden, der eindeutig mit einer Kombination von Projek­ tionslängen verknüpft ist. Die auf diese Weise ermittelte Kombination von Projektionslängen führt noch zu einer Kollision, die nächstkleinere Projektionslänge ist jedoch bereits garantiert kollisionsfrei. Mit Hilfe des Kollisionsgebirges kann damit also auch bereits vor Beginn der Bewegung auf einer Trajektorie festgestellt werden, welche Projektionslänge angestrebt werden muß, um eine bestimmte Konfiguration kollisionsfrei zu erreichen. Die erforderlichen Ausweichbewegungen - in diesem Falle das Einfahren des Armes - können also direkt mit dem Beginn der Bewegung auf der Trajektorie einsetzen, so daß ein kontinuierlicher Bewegungsfluß erreicht wird.
Das soeben skizzierte Vorgehen soll anhand der Darstellung in Fig. 52 noch einmal im Detail erläutert werden. Das Grundgelenk des Roboters R₁ soll von der aktuellen Konfiguration 42° zu der Zielkonfiguration 175° bewegt werden; für das Grundgelenk des zweiten Roboters ist eine Bewegung von der aktuellen Konfiguration 215° bis zur Zielkonfiguration 228° geplant. Die direkte Bewegung entlang der so festgelegten Trajektorie führt zu einer Kollision der Armgelenke. Diese Kollision kann nun generell vermieden werden, indem entweder eine Ausweichtrajektorie für die Grundgelenke generiert wird, die den Kollisionsbereich umgeht oder indem anhand der zusätzlichen Höheninformationen der gestapelten Kollisionsbereiche eine geeignete Koordination zwischen der Bewegung der Armgelenke und der Gesamtbewegung etabliert wird.
Graphisch veranschaulicht führt die Trajektorie der Armgelenke über die gestapelten Kollisionsbereiche hinweg. Anhand von Fig. 52 kann nachvollzogen werden, daß entlang der Trajektorie die Höhenwerte 4, 8 und 12 berührt werden. Zu jedem dieser Höhenwerte gehört eindeutig eine konkrete Kombination von Längen der Projektionslinien. Da zudem stets nur einer der beiden Roboter ausweichpflichtig ist, war bei der Bestimmung des gestapelten Kollisionsbereiches die Variation nur einer Projektionslänge - diejenige des ausweichpflichtigen Roboters - erforderlich, so daß anhand der entlang der Trajektorie berührten Höhenwerte direkt die zugehörige Projektionslänge und damit die Länge des ausgefahrenen Armsegmentes ermittelbar ist.
Mit dem Konfigurationspaar, bei dem die Trajektorie erstmalig auf einen Höhenwert trifft, sind jetzt alle Daten für die zu koordinierende Bewegung bekannt. Die Distanz zwischen diesem Konfigurationspaar und dem Start-Konfigurationspaar determiniert die Geschwindigkeit der Grundgelenksbewegung, so daß feststeht, in welchem Zeitraum das Armsegment bis zur angestrebten Länge - die sich aus dem ermittelten Höhenwert ergibt - eingefahren sein muß. Erforderlichenfalls ist die Geschwindigkeit der Grundgelenke entsprechend zu reduzieren.
Nach diesem Schema wird jetzt entlang der gesamten Trajektorie bei jeder Veränderung der berührten Höhenwerte verfahren. Sobald der gestapelte Kollisionsbereich komplett überquert wurde - erstmalig taucht dann wieder der Höhenwert "0" auf -, erfolgt die translatorische Bewegung des Armgelenkes des ausweichpflichtigen Roboters in Richtung auf die angestrebte Zielposition.
Das beschriebene Verfahren ist nicht auf Roboter mit zylinderförmigem Arbeitsraum beschränkt, sondern läßt sich in analoger Weise auch für Gelenkarmroboter einsetzen. Anstelle des einzuziehenden Armes bezieht sich die Ausweichbewegung dann auf eine geeignete Rotation der Armgelenke, die auch zu der angestrebten Verkleinerung der Kollisionsbereiche des Grundgelenkes führt. Ferner kann auf die Zuweisung von eindeutigen Prioritäten verzichtet werden, wenn zwei Kollisionsgebirge in die Betrachtung einbezogen werden, wobei für jedes dieser beiden Kollisionsgebirge jeweils einer der beiden Roboter als ausweichpflichtig angenommen wird. Die optimale Trajektorie ergibt sich dann wiederum durch Vergleich der beiden möglichen Trajektorien.
4.9.3 Koordinierter Mehrroboterbetrieb mit Hilfe der Kollisionsbereiche am Beispiel der SCARA-Roboter
Roboter, die sich durch vertikale Hauptachsen auszeichnen, werden als Roboter des SCARA-Typs (Selective Compliance Assembly Robot Arm) bezeichnet. Die Glieder des Roboters bewegen sich damit in der horizontalen Ebene. Diese Kinematik wurde ursprünglich in Japan entwickelt, ist mittlerweile jedoch nicht - zuletzt aufgrund der hohen Kosteneffizienz dieses Typs - weit verbreitet. Fig. 53 zeigt die schematische Darstellung eines SCARA-Roboters mit zwei rotatorischen Hauptfreiheitsgraden sowie einem translatorischen Freiheitsgrad zur Positionierung des Effektors. Bei den Hauptachsen handelt es sich um vertikale Achsen, die senkrecht auf der Grundfläche des Arbeitsraumes stehen. Als Bewegungsebene des Roboters ergibt sich damit die Schnittfläche eine Hohlzylindersegmentes. Die dritte translatorische Achse ermöglicht schließlich die Positionierung in einem zylinderförmigen Arbeitsraum.
SCARA-Roboter eignen sich wegen der hohen Positioniergenauigkeit und gleichzeitig hoher Geschwindigkeit vor allem für die Montage oder Bestückung montagegerecht gestalteter Produkte. Ein weit verbreiteter Anwendungsfall in diesem Zusammenhang ist die Bestückung von Elektronikbaugruppen, die mit Hilfe von Robotern weitestgehend automatisiert werden kann. Für einen solchen Anwendungsfall wird das zu bestückende Produkt gewöhnlich in einer umfangreichen Produktionslinie von einer Bestückungsposition zur nächsten geleitet, so daß sich einzelne, unabhängige Fertigungsinseln ausbilden. Da ein kontinuierlicher Produktionsprozeß vorliegt, ist die Effizienz der gesamten Produktionslinie abhängig von der langsamsten Fertigungsinsel.
Die Geschwindigkeit des Prozesses kann durch die Aufteilung einzelner Fertigungsinseln, somit durch das Hinzufügen weiterer Fertigungsinseln, gesteigert werden. Dem stehen jedoch häufig - gerade bei zu optimierenden, bereits bestehenden Produktionslinien - Beschränkungen hinsichtlich des zur Verfügung stehenden Raumes entgegen. In diesem Falle kann eine Optimierung dennoch durch einen koordinierten Betrieb mehrerer Roboter in einer Fertigungsinsel erreicht werden. Die Koordination der Arbeitsprozesse kann mit Hilfe der Kollisionsbereiche auf effiziente Weise erreicht werden, wie in den vorangegangenen Abschnitten gezeigt wurde. Hier soll jetzt vorgeführt werden, daß sich der Ansatz der Kollisionsbereiche besonders für SCARA-Roboter aufgrund deren spezieller kinematischer Struktur eignet.
Fig. 54 zeigt die vereinfachte Darstellung einer Fertigungszelle mit zwei zu koordinierenden SCARA-Ro­ botern aus der Vogelperspektive. Aus dieser Blickrichtung erkennt man besonders die geknickte Struktur der Roboterarme mit der charakteristischen horizontalen Kinematik. Beide Roboter sind an gegenüberliegenden Seiten eines Transportbandes positioniert, auf dem die Werkstücke befördert werden. Im Falle der Bestückung einer Elektronikbaugruppe stellt sich der kontinuierliche Arbeitsprozeß der koordinierten Roboter als permanente Bewegung zwischen einer Lager- und der jeweiligen Bestückungsposition dar. Eine erste, manuelle Koordination könnte damit in der Form vorgenommen werden, daß stets einer der Roboter sich auf dem Weg von der Bestückungsposition zur Lagerposition befindet, während sich der jeweils andere Roboter von der Lagerposition zur Bestückungsposition bewegt.
Eine solche alternierende, grundsätzlich jedoch starre Bewegungsfolge kann zwangsläufig nicht die sich ergebenden Bewegungslängen von wechselnden Lagerpositionen zu den vielfältigen Bestückungspositionen berücksichtigen. Innerhalb eines optimal koordinierten Bewegungsablaufes kann somit ohne weiteres einer der Roboter aufgrund kürzerer Distanzen zwei Bauteile plazieren, während im gleichen Zeitabschnitt der andere Roboter nur ein Bauteil positioniert. Zudem können bei geeigneter Bestückungsposition sogar beide Roboter gleichzeitig die jeweiligen Bauteile anbringen.
Der Geschwindigkeitsvorteil der durch eine manuelle Koordination eines solchen Prozesses erreicht werden könnte, rechtfertigt möglicherweise die Anschaffungskosten für den zweiten Roboter nicht. Zudem muß berücksichtigt werden, daß bei einer Bestückungsoperation so vielfältige Positionen am Werkstück anzufahren sind, daß eine manuelle Programmierung des Roboters nicht zuletzt wegen des dann erforderlichen Arbeitsaufwandes auszuschließen ist.
Häufig liegen die Positionen der Bauteile als Daten einer CAD-Anwendung vor, so daß zur Positionierung des Roboters unmittelbar auf diese Daten zurückgegriffen werden kann. Ein möglicher Ausschnitt aus einer solchen Datenmenge ist exemplarisch in Fig. 55 dargestellt. Mit der Anbindung an CAD-Daten kann zudem ein und dieselbe Produktionslinie zur Bestückung unterschiedlicher Baugruppen verwendet werden. Eine Optimierung der manuellen Koordination scheint bereits aufgrund der vielfältigen Bestückungspositionen bei einem Werkstück schwer durchführbar, muß jedoch im Falle unterschiedlicher Werkstücke unmöglich werden. Demgegenüber zeigt sich gerade für diesen Anwendungsfall die Leistungsfähigkeit der Koordination mit Hilfe der Kollisionsbereiche.
Aus den CAD-Daten ergibt sich in Verbindung mit der Stückliste einerseits sofort die Art sowie andererseits die Position des Bauteiles; daraus läßt sich unmittelbar die Lager- und die Bestückungsposition gewinnen. Eine lineare Abarbeitung einer solchen Datenmenge hat zur Folge, daß jeder Roboter jeweils die aktuell oberste Position der Datenmenge entnimmt, daraufhin die damit verbundene Aufgabe ausführt und schließlich wieder einen neuen Datensatz ausliest. Ein Datensatz besteht aus der Spezifikation des Bauteiles sowie der Position, an der es auf der Baugruppe zu plazieren ist; die Koordinaten der Lagerposition liegen mit Art und Typ des Bauteiles fest. Damit lassen sich für den einzelnen Bestückungsvorgang die Start- und Zielkonfigurationen der Robotergelenke errechnen.
Aus der Zusammenfassung der Start- und Zielkonfigurationen beider Roboter lassen sich die Konfigurations­ paare für die Start- und Zielposition der koordinierten Trajektorie in der Konfigurationsebene gewinnen. Da üblicherweise das Werkstuck innerhalb des kritischen Bereiches des Arbeitsraumes liegen wird, scheint es sinnvoll, die Konfigurationspaare so zusammenstellen, daß die Startkonfiguration des einen Roboters zusammen mit der Zielkonfiguration des anderen Roboters ein Konfigurationspaar bilden, während das andere Konfigurationspaar durch die verbleibenden Konfigurationen bestimmt wird.
Solange beide Roboter die Bauteile jeweils den Lagerpositionen L₁ bzw. L₂ entnehmen, sind im koordinierten Betrieb keine Ausweichbewegungen erforderlich, wie Fig. 56a zeigt da sich jeweils nur einer der beiden Roboter innerhalb des kritischen Bereiches befindet. Erst, wenn für einen der beteiligten Roboter ein Wechsel der Lagerposition erforderlich wird, kommt es zu koordinierten Ausweichbewegungen. Fig. 56b zeigt die Konstellation in der Konfigurationsebene für einen koordinierten Betrieb, bei dem der Roboter R₁ die Bauteile der Lagerposition L₁, L₂ entnimmt, der Roboter R₂ hingegen die Bauteile in der Lagerposition L₃, L₄ empfängt. Erst in diesem Falle sind tatsächlich Ausweichbewegungen unter Berücksichtigung der sich ergebenden Kollisionsbereiche erforderlich.
Für die vorliegende Problemstellung kann es sich nicht mehr nur um einzelne Start- und Zielkonfigurationen handeln, statt dessen ergeben sich Konfigurationsabschnitte, innerhalb deren die Start- bzw. Zielkonfiguration liegt. In der zweidimensionalen Konfigurationsebene werden aus den Konfigurationsabschnitten für die einzelnen Roboter Konfigurationsbereiche für den koordinierten Betrieb. In beiden Darstellungen ist der Start- und Ziel­ konfigurationsbereich daher durch ein stark schraffiertes Quadrat in der Konfigurationsebene gekennzeichnet. Der umgebende leicht schraffierte Bereich dient der Berücksichtigung der geknickten Armstruktur (siehe dazu auch Abschnitt 3.4). Anhand dieser Bereiche kann unmittelbar gemäß dem Verlauf der Gesamtbewegung nach Fig. 54 auch die Bewegung der zweiten rotatorischen Hauptachse nachvollzogen werden. In Fig. 56a dehnt sich der leicht schraffierte Bereich zunächst in Richtung steigender Konfigurationswerte für R₂ und in Richtung fallender Werte für R₁ aus; im zweiten Bereich ist die Ausdehnung gerade umgekehrt, nämlich in Richtung steigender Konfigurationswerte für R₁ und fallender Werte für R₂. Der zur Berücksichtigung der geknickten Armstruktur nach Beziehung (34) bestimmte Öffnungswinkel liegt einmal "vor" und einmal "hinter" der Grundgelenkskonfiguration. Daraus wird ersichtlich, daß für die angenommene Bewegung die zweite rotatorische Hauptachse den Endeffektor einmal in eine Position "vor" der Grundgelenkskonfiguration schwenkt und darauf in eine Position "hinter" der Grundgelenkskonfiguration.
4.9.4 Koordinierter Mehrroboterbetrieb mit Hilfe der Kollisionsbereiche in einer seriell verketteten Montagezelle
Einen weiteren wichtigen Einsatzbereich, in dem ein koordinierter Mehrroboterbetrieb zur Produktions- und Ef­ fizienzsteigerung beiträgt, bilden verkettete Montagezellen, wie z. B. exemplarisch in Fig. 57 dargestellt. Üblicherweise wird sich eine solche Montagezelle als Aneinanderreihung verschiedener Bearbeitungspositionen darstellen, bei denen Werkstücke und Materialien entweder - wie in Fig. 57 gezeigt - von einem zentralen Roboter bewegt werden oder aber durch die Roboter der einzelnen Montagezellen selbst an die jeweils nächste Bearbeitungsposition weitergegeben werden. In beiden Fällen kommt es zu sich überschneidenden Arbeitsräumen; im letzteren Falle ergeben sich dabei ganz ähnliche Konstellationen wie sie in den vorangegangenen Abschnitten bereits mehrfach behandelt wurden. Im ersteren Fall ergeben sich demgegenüber, aufgrund der Tatsache, daß der zentrale Roboter u. U. gleich mehrere Arbeitsräume der Montagezellenroboter durchquert, veränderte Bedingungen, die im folgenden näher untersucht werden sollen. Dabei soll die Konstellation ausschließlich aus der Sicht des zentralen Roboters betrachtet werden, da dieser zum einen die größten Distanzen überstreicht, sich zum anderen jedoch auch aus der jeweiligen Position dieses Roboters eine Abfolge der Arbeiten innerhalb der einzelnen Montagezellen ergibt, da diese auf das Vorhandensein von Material und Werkstücken angewiesen sind.
Für jede Überschneidung eines Arbeitsraumes der Montagezellenroboter mit dem Arbeitsraum des zentralen Roboters ergibt sich für diesen ein Kollisionsbereich, der sukzessive zu berücksichtigen ist. Im Gegensatz zu allen zuvor beschriebenen Fällen ist es hier nicht mehr sinnvoll, die koordinierte Trajektorie unmittelbar durch die jeweiligen Start- und Zielkonfigurationen festzulegen. Vielmehr muß jetzt u. U. die jeweils aktuelle Konfiguration eines Montagezellenroboters den Ausgangspunkt der Trajektorie in der Konfigurationsebene markieren.
Start- und Ziel-Konfigurationspaar der Trajektorie des zentralen Roboters sind durch die Grenzen des kritischen Bereiches festgelegt, die sich nach den Beziehungen (16) bzw. (18) unmittelbar berechnen lassen. (In jedem Falle ist zusätzlich ein Sicherheitsabstand entsprechend der Ausführungen in Abschnitt 3.3.1 zu berücksichtigen.) Ein solcher Ansatz ist sinnvoll für den Fall, daß der zentrale Roboter den kritischen Bereich vollständig durchquert. Lediglich die Bewegung zwischen dem Eintritt und dem Verlassen des kritischen Bereiches wird auf diese Weise mit Hilfe der Kollisionsbereiche koordiniert. Es ist demgegenüber nicht sinnvoll, die tatsächlichen Start- und Ziel-Konfi­ gurationspaare der Bewegung des zentralen Roboters einzusetzen, da dies zur Folge hätte, daß die Bewegung des koordinierten Montagezellenroboters in Richtung auf die aktuell angestrebte Zielkonfiguration erst zum Ende kommt, wenn auch der zentrale Roboter seine Endposition erreicht.
Für den Fall, daß der zentrale Roboter eine Konfiguration innerhalb eines gefährdeten Bereiches anstrebt, ist die Trajektorie in der Konfigurationsebene - wie in den vorangegangenen Abschnitten - durch die jeweiligen Start- und Zielkonfigurationen des zentralen Roboters und des Montagezellenroboters festgelegt.
Zu einer Besonderheit kommt es hier jedoch, da im Gegensatz zu der in Abschnitt 4.9.3 diskutierten Bestückungsoperation nicht von symmetrischen Zyklen ausgegangen werden kann. Somit kann es auch zu Konstellationen kommen, bei denen im koordinierten Betrieb beide Roboter gleichzeitig in den kritischen Bereich eintreten müssen. Da dies zu einer Kollision führen muß, kann eine solche Bewegung nicht zugelassen werden. Der Bewegungsablauf eines der beiden Roboter wird daher aufgespalten. Dabei erfolgt dessen Bewegung von der Startkonfiguration bis hin zu der Eintrittskonfiguration in den um einen Sicherheitsabstand aufgeweiteten kritischen Bereich. Der andere Roboter bewegt sich in dieser Zeit bis zu der innerhalb des kritischen Bereiches liegenden Zielkonfiguration. Sobald neue Bewegungsinformationen vorliegen, mit denen der Roboter den kritischen Bereich wieder verläßt, kann der erste Roboter seine unterbrochene Bewegung vom Rand des kritischen Bereiches in den kritischen Bereich hinein abschließen.
Ein solcher Vorgang soll anhand der Darstellung in Fig. 57 nochmals nachvollzogen werden: Dazu wird angenommen, daß der zentrale Roboter R₁ sowie der Montagezellenroboter R₂ beide gleichzeitig in Richtung auf die Übergabeposition innerhalb des sich ergebenden kritischen Bereiches streben. Eine solche Bewegung muß zu einer Kollision führen. Um dies zu vermeiden, wird der Bewegungsablauf des Roboters R₂ aufgespalten. Während R₁ sich weiterhin in Richtung auf die angestrebte Zielkonfiguration bewegt, strebt R₂ in Richtung der Grenze des kritischen Bereiches. R₂ verläßt also den gefährdeten Bereich und unterbindet somit die Kollisionsgefahr. Sobald R₁ schließlich den kritischen Bereich wieder verläßt - beispielsweise in Richtung auf die Lagerposition L₁ -, setzt R₂ die unterbrochene Bewegung fort und erreicht seinerseits kollisionsfrei die angestrebte Zielkonfiguration.
4.10 Ausblick Berücksichtigung ortsfester Hindernisse
Die Berücksichtigung eventueller ortsfester Hindernisse im Arbeitsraum der koordinierten Roboter wurde bisher in Abschnitt 4.7 nur kurz skizziert. Dennoch ist selbstverständlich auch eine effiziente Berücksichtigung ortsfester Hindernisse im Rahmen der Kollisionsbereiche möglich.
Fig. 42 vermittelt bereits anschaulich, wie eine solche Berücksichtigung gewährleistet werden kann. Im dargestellten Fall beschränkt die Grundfläche des Arbeitsraumes den Bewegungsbereich der Armgelenke. Jedes ortsfeste Hindernis, das sich innerhalb des Aktionsradius′ der Grund- oder Armgelenke befindet, beschränkt dessen Bewegungsbereich in ganz ähnlicher Weise.
In der Konfigurationsebene ergeben sich damit unzugängliche, stets rechteckige Bereiche, die neben dem Kolli­ sionsbereich bei der Trajektorienplanung zu berücksichtigen sind. Ortsfeste Hindernisse werden sich in konkreten Anwendungen stets vorzugsweise an den Rändern der möglichen Bewegungsbereiche finden - Transportbänder (am unteren Bewegungsbereich der Armgelenke), Schutzgitter oder ähnliche mechanische Konstruktionen (an den Seiten der Bewegungsbereiche der Grundgelenke). Ortsfeste Hindernisse an anderen Positionen würden den Bewegungsbereich ganz erheblich einschränken, u. U., so stark, daß der koordinierte Betrieb scheitert.
Fig. 58 zeigt zeigt die Projektion zweier koordinierter Roboter. Der Bewegungsbereich des Roboters R₁ ist durch das Hindernis H eingeschränkt. Wiewohl ein ortsfestes Hindernis in der Projektion der realen Geometrie auf die Grundfläche des Arbeitsraumes unabhängig von der Höhe des Hindernisses stets auftaucht, tritt es in der Konfigurationsebene dann und nur dann auf, wenn es tatsächlich den Bewegungsbereich eines der beteiligten Roboter einschränkt. Entsprechend treten solche Hindernisse, die sich zwar innerhalb des Aktionsradius′ eines Roboters befinden, dessen Bewegungsbereich jedoch nicht beschränken, da sie so niedrig sind, daß sie vom Roboter stets kollisionsfrei passiert werden, in der Konfigurationsebene nicht zutage.
Die sich ergebenden Verhältnisse in der Konfigurationsebene zeigt die linke Darstellung in Fig. 59. Der stark schraffierte rechtwinklige Bereich repräsentiert das ortsfeste Hindernis. Auf diese Weise sind gewisse Knoten des Graphen nicht mehr erreichbar, so daß sich entsprechend die Anzahl der passierbaren Kanten verringert. Die stark eingezeichneten Kanten markieren die Segmente einer kollisionsfreien Ausweichtrajektorie bei Berücksichtigung des ortsfesten Hindernisses. Aus der Darstellung in Fig. 59 wird sofort deutlich, daß ohne das ortsfeste Hindernis die Trajektorie um das andere Gebiet des Kollisionsbereiches herumlaufen würde.
Zur Veranschaulichung werden in der rechten Darstellung von Fig. 59 diese Verhältnisse in einem zur Trajek­ torienplanung geeigneten Potentialfeld (siehe auch Abschnitt 4.1.1) gezeigt. Das ortsfeste Hindernis ist - genauso wie der Kollisionsbereich - als Potentialgebirge modelliert. Eine mögliche Ausweichtrajektorie wird weder über den Kollisionsbereich noch über die Repräsentation des ortsfesten Hindernisses hinweg verlaufen.
Vielfältige Roboterkinematiken
Die Ausführungen in Abschnitt 4.9.2 haben gezeigt, daß das den Kollisionsbereichen zugrunde liegende geometrische Konzept auch für Roboter, die nicht der Knickarmstruktur zugerechnet werden können, einsetzbar ist. Nicht anwendbar ist das Konzept jedoch für Portalroboter, also Roboter mit ausschließlich translatorischen Freiheits­ graden; allerdings erscheint für Roboter dieser Kinematik ein koordinierter Betrieb aufgrund der Anordnung der mechanischen Elemente ohnehin kaum praktikabel.
Ein koordinierter Betrieb mobiler Roboter, von Robotern also, die auf einem Schlitten oder einem fahrerlosen Transportsystem montiert sind, oder allgemein von Robotern mit einem horizontalen translatorischen ersten Freiheitsgrad kann dagegen mit dem Ansatz der Kollisionsbereiche ohne weiteres erreicht werden. Durch die Beweglichkeit ändert sich der Abstand zwischen den Roboter und mithin also die Größe des kritischen Bereiches innerhalb der sich ergebenden Arbeitsräume. Der Abstand zwischen den Robotern geht jedoch unmittelbar in die Berechnung der Kollisionsbereiche ein, so daß bei Berücksichtigung der Veränderlichkeit dieses Parameters unmittelbar kollisionsfreie Ausweichtrajektorien für die oben genannten Robotertypen generierbar sind.
Aufgaben-orientierte Planung
Der Schwerpunkt zukünftiger Entwicklungen wird sich verstärkt auf die Optimierung von Gesamtkonzepten verlagern. Anhand der Ausführungen in Abschnitt 4.9.3 wird bereits deutlich, daß in Zukunft der Optimierung der aufgaben-orientierten Planung eine zunehmende Bedeutung zukommen wird.
Für das behandelte Beispiel ist eine solche Optimierung bereits in der Form denkbar, daß anhand der aktuellen Position des Konfigurations-Fadenkreuzes in der Konfigurationsebene entschieden wird, ein Bauteil entweder aus der Lagerposition L₁, L₂ bzw. aus der Lagerposition L₃, L₄ zu entnehmen, um so zeitaufwendige Ausweichbewegungen nach Möglichkeit zu vermeiden.
Eine global optimierte aufgaben-orientierte Planung könnte für einen solchen konkreten Anwendungsfall die Reihenfolge der Bestückungsoperationen so anordnen, daß die Anzahl der Ausweichvorgänge minimal wird. Die Formulierung einer solchen Optimierungsaufgabe über einen umfangreichen, komplexen Produktionsprozeß scheitert bisher vor allem am Umfang der auszuwertenden Datenmengen. Mit den Kollisionsbereichen ergibt sich hier jedoch ein leistungsfähiges Planungsmittel.
Mit dem Ansatz eines speziellen Kollisionsbereiches, der bestmöglich die worst-case Bedingungen repräsentiert, gelingt eine Beschreibung stets kollisionsfreier Ausweichbewegungen, die durch den Umstand charakterisiert sind, daß stets nur einer der Roboter zum Werkstück gelangt, während der andere Roboter für den Fertigungsprozeß relevante Aktionen abseits des Werkstückes ausführt. Mit den aus der Konfigurationsebene bei Berücksichtigung der Kollisionsbereiche gewonnenen Daten stehen unmittelbar die erforderlichen Ausweichbewegungen für die einzelnen Aktionszyklen der beteiligten Roboter fest. Durch den Ansatz geeigneter Optimierungsverfahren lassen sich die Aktionszyklen zeitlich so anordnen, daß der koordinierte Fertigungsprozeß mit minimalen Ausweichbewegungen und damit in der kürzest möglichen Zeit abgeschlossen wird.
Als Vorteil der Erfindung ergibt sich damit die Möglichkeit, ein effizientes Betriebsverfahren zur zeitlich optimalen Anordnung von Roboteraktionen im koordinierten Betrieb mit sich überlappenden oder sich durchdringenden Arbeitsräumen der mindestens zwei beteiligten Roboter zu realisieren. Ein solcher zu optimierender Produktionsprozeß umfaßt mindestens zwei Aktionen für jeden der beteiligten Roboter, wobei eine koordinierte Aktion sämtlicher beteiligter Roboter als Aktionszyklus aufgefaßt wird, d. h. der Aktionszyklus wird gebildet durch die jeweils n-te Aktion der beteiligten Roboter R₁. . .Rt. Das Betriebsverfahren umfaßt dabei die nachfolgenden Schritte:
  • - für jede denkbare Kombination von Aktionen der mindestens zwei beteiligten Roboter wird der Kollisionsbereich und die sich anhand des Kollisionsbereiches ergebende optimale Ausweichtrajektorie ermittelt,
  • - es wird ein Bewertungsfaktor, der den Aufwand der Ausweichbewegungen repräsentiert - z. B. als Verhältnis zwischen direkter Bewegung und Ausweichbewegung -, abgespeichert,
  • - anhand der abgespeicherten Bewertungsfaktoren werden durch den Ansatz geeigneter Optimierungsverfahren - z. B. Variationsrechnung, Simplex-Verfahren, Graphentheorie, etc. [Bronstein et. al 1987] - die Aktionszyklen zeitlich so angeordnet werden, daß sich ein koordinierter Betrieb mit minimalen Ausweichbewegungen ergibt.
4.11 Trajektorienscheduling, time-scheduling
Die Idee des Trajektorien- oder time-scheduling basiert auf der unmittelbar einsichtigen Tatsache, daß Kollisionsgefahren durch geeignete Verzögerung oder Beschleunigung der potentiell kollidierenden Objekte vermieden werden können.
Bewegliche Hindernisse, deren Bewegungsbahnen bekannt sind, können - in einem festen Zeitpunkt t - wie ortsfeste Hindernisse behandelt werden. Es ergibt sich dann in einem Zeitintervall t ∈ [t₁, t₂, . . ., tn] für jeden Zeitpunkt t ein Arbeitsraum mit ausschließlich ortsfesten Hindernissen. Selbstverständlich kann sich der Arbeitsraum zum Zeitpunkt ti unter Umständen erheblich vom Arbeitsraum zum Zeitpunkt tj unterscheiden, so daß insbesondere keine Garantie dafür besteht, daß eine Roboterkonfiguration, die zum Zeitpunkt ti kollisionsfrei war, dies auch noch zum Zeitpunkt tj ist.
Im Falle eines koordinierten Mehrroboterbetriebes mit den beiden Robotern R₁ und R₂ sind für den Roboter R₁ alle Komponenten des Roboters R₂ bewegliche Hindernisse und umgekehrt. Für beide Roboter wird jetzt - ohne Beachtung des jeweils anderen Roboters eine Trajektorie geplant, die zumindest in Hinsicht auf die ortsfesten Hindernisse des Arbeitsraumes kollisionsfrei ist. Dies bedeutet insbesondere, daß damit ein kollisionsfreier Betrieb für beide Roboter gewährleistet wäre, wenn sich der jeweils andere Roboter nicht im Arbeitsraum befände.
Aus diesem Grunde ist es auch zulässig, einem der beteiligten Roboter ein Wegerecht einzuräumen; dieser Roboter kann sich also auf seiner Trajektorie ohne weitere Eingriffe von der Startkonfiguration zur angestrebten Zielkonfiguration bewegen.
Der verbleibende Roboter ist so zu steuern, daß drohende Kollisionen vermieden werden. Dies kann jetzt dadurch erreicht werden, daß die Trajektorie des ausweichpflichtigen Roboters auf drohende Kollisionen mit dem anderen Roboter bei dessen Bewegung entlang seiner Trajektorie überprüft wird. Eine Vermeidung von Kollisionen ist dann auf jeden Fall garantiert, wenn sichergestellt werden kann, daß in der Zeitspanne, in der entlang einer vorgeplanten Trajektorie eine Kollision droht, der ausweichpflichtige Roboter sich nicht innerhalb des so bedrohten Abschnittes der Trajektorie befindet.
Zur Anwendung des Trajektorienscheduling werden also - nach der unabhängigen Planung der Trajektorien für die beiden beteiligten Roboter - in einem weiteren Schritt, dem ersten Schritt des Trajektorienschedu­ ling-Verfahrens, die kompletten Trajektorien auf mögliche Kollisionen mit beweglichen Hindernissen - dem jeweils anderen Roboter - überprüft.
Aufgrund der Kenntnis von Bewegungsbahn und Geschwindigkeit des jeweils anderen Roboters kann berechnet werden, zu welchen Zeitpunkt ts es zu einer Kollision kommt, und wie lange (ts + td) diese Kollision andauert. Außerdem ist selbstverständlich der Punkt - oder der Bereich - auf der Trajektorie bekannt, an dem diese Kollision auftritt.
Die drohende Kollision kann nun durch zwei mögliche Strategien vermieden werden:
Es muß garantiert werden, daß
  • - entweder der ausweichpflichtige Roboter bis zum Zeitpunkt ts + td den gefährdeten Bereich auf der Trajektorie noch nicht erreicht hat,
  • - oder der ausweichpflichtige Roboter bis zum Zeitpunkt ts den gefährdeten Bereich auf der Trajektorie bereits passiert hat.
Die zweite Möglichkeit kommt nur dann in Betracht, wenn die maximal möglichen Gelenkgeschwindigkeiten dies zulassen. Ist dies jedoch möglich, so ist diese Variante anzustreben, weil auf diese Weise die Gesamtdauer der Bewegung durch die Kollisionsvermeidung nicht zunimmt. Im anderen Falle ist nämlich entweder die Bewegung entlang der Trajektorie so zu verlangsamen, daß der gefährdete Bereich auf der Trajektorie bis zum Zeitpunkt ts + td nicht erreicht wird, oder aber die Bewegung entlang der Trajektorie erfolgt bis unmittelbar vor den kritischen Bereich in unveränderter Form, so daß unmittelbar vor dem kritischen Bereich die Bewegung gestoppt wird und erst nach dem Zeitpunkt ts + td wieder aufgenommen wird.
Eine zusätzliche Möglichkeit bietet der Ansatz einer geeigneten Anfangsverzögerung für die Bewegung eines der beteiligten Roboter. Anstatt einen der Roboter unmittelbar vor dem kritischen Bereich anzuhalten, kann der Beginn der Bewegung auch so lange verzögert werden, daß ein gleichzeitiger Aufenthalt beider Roboter in) kritischen Bereich unmöglich wird.
Damit sind jetzt die grundlegenden Konzepte des Trajektorienscheduling erläutert. In den folgenden Abschnitten sollen einige zu diesem Konzept gehörige Veröffentlichungen kurz vorgestellt und anschließend miteinander bzw. mit dem hier neu vorgestellten Verfahren verglichen werden.
B. H. Lee und C. S. G. Lee [Lee 1987] stellen in ihrer Veröffentlichung ein Konzept zur Kollisionsvermeidung und Trajektorienplanung für zwei koordinierte Roboter vor. Jeder der beteiligten Roboter wird durch eine Kugel modelliert, deren Mittelpunkt mit dem Handwurzelpunkt des jeweiligen Roboters zusammenfällt. Der Vorteil einer derartigen Modellierung liegt in der Tatsache, daß zur Kollisionserkennung nur zwei Körper im Raum - die Kugeln - betrachtet werden müssen, die selbst gegenüber den auftretenden Rotationen invariant sind. Die imaginäre Kugel schließt auch mögliche Nutzlasten, die von der Hand gehalten werden, ein; damit ergibt sich der erforderliche Radius aus der Geometrie sowohl der Handsegmente als auch der Nutzlast.
Kollisionen zwischen den koordinierten Robotern können mit dieser Modellvorstellung leicht daran erkannt werden, daß der Abstand zwischen den Handwurzelpunkten geringer als die Summe der Radien der beiden imaginären Kugeln wird - die Kugeln sich mithin überschneiden. Durch eine derartige Modellierung der Robotergeometrie wird ein erheblicher Raumanteil, der durchaus kollisionsfrei sein kann, permanent als kollisionsgefährdet ausgewertet. Demgegenüber wird durch den naheliegenden Verzicht auf eine hohe Genauigkeit bei der Kollisionserkennung für das Gesamt verfahren eine entsprechend verringerte Rechenzeit erreicht.
Das von Basta et al. [Basta 1988] vorgestellte Verfahren eignet sich für zwei koordinierte Roboter, deren Bewegungsverfahren - wie bei dem Verfahren von B. H. Lee und C. S. G. Lee [Lee 1987] - eine Bewegung des Handwurzelpunktes entlang einer Geraden im Raum gestattet.
Kollisionen werden - wiederum wie bei B. H. Lee und C. S. G. Lee [Lee 1987] - erkannt, indem zwei imaginäre Kugeln mit den Radien r₁ bzw. r₂ um den Handwurzelpunkt des jeweiligen Roboters gelegt werden. Eine Kollision gilt somit immer dann als erkannt, wenn zu einem bestimmten Zeitpunkt der Abstand der beiden Handwurzelpunkte kleiner als r₁ + r₂ wird, die imaginären Kugeln sich somit überschneiden.
Die Trajektorien der Handwurzelpunkte im Raum werden beschrieben durch
wobei die Ortsvektoren mit dem Index i die Start- und diejenigen mit dem Index f die Endposition der Trajektorie im Raum angegeben. Eine Kollision kann dementsprechend erkannt werden, durch die Auswertung der Beziehung
Bei Basta et al. [Basta 1988] wird dieses Modell jedoch dahingehend verändert, daß eine der imaginären Kugeln um den Radius der anderen Kugel (r = r₁ + r₂) vergrößert wird, während die verbleibende Kugel auf den Radius 0 zu einem Punkt reduziert wird.
Entlang der Trajektorien im Raum wird nun eine zusammenhängende kollisionsgefährdete Strecke auf diesen Trajektorien angenommen, wobei ferner davon ausgegangen wird, daß Start- und Zielposition stets kollisionsfrei seien. Die entsprechende mathematische Formulierung führt im vorliegenden Fall zu einem System mit sieben abhängigen Gleichungen und acht Unbekannten. Diese können zu einer einzigen Gleichung in λ und γ zusammengefaßt werden:
k₁γ²-2k₂γλ+k₃λ²+2k₄γ-2k₅λ+k₆=0 (63)
Für jeden Wert λ, (0 λ 1) können sich aus der Gleichung (63) keine, eine oder zwei Lösungen für γ ergeben, je nachdem ob keine Kollision vorliegt, die Kugel mit dem Radius r gerade die andere Trajektorie berührt oder jene Kugel die Trajektorie schneidet. Im Falle von zwei Lösungen wird der Abstand zwischen den beiden Schnittpunkten als Kollisionslänge (collision length) bezeichnet.
Gleichung (63) beschreibt demnach einen Bereich potentieller Kollisionen in einer zweidimensionalen Parameterebene. Auf den Koordinatenachsen werden jeweils die Weglängen der koordinierten Roboter abgetragen.
Das von Bien und Lee [Bien, Lee 1992] vorgestellte Verfahren basiert auf vorgeplanten zeitoptimalen Trajektorien für beide beteiligte Roboter. Die Trajektorien werden dabei für jeden Roboter unabhängig von dem jeweils anderen Roboter nach dem von Shiller et al. [Shiller, Lu 1990] vorgestellten Verfahren geplant. Für die so bestimmten Trajektorien wird in einem nächsten Schritt die minimale Anfangsverzögerung für den ersten Roboter entlang seiner Trajektorie berechnet, die eine kollisionsfreie Bewegung beider Roboter ermöglicht. Darauf wird die entsprechende Anfangsverzögerung für den anderen Roboter errechnet. Ein Vergleich der so bestimmten Verzögerungswerte ergibt die optimale Anfangsverzögerung.
Bien und Lee [Bien 1992] definieren eine "Koordinations-Ebene" (coordination space - CS), in der mögliche Kollisionen während des koordinierten Betriebes erkannt werden sollen. Die einzelnen Trajektorien werden anhand eines skalaren Parameters - der Weglänge s - parametrisiert. Bei einer maximalen Weglänge (in der Veröffentlichung von Bien und Lee [Bien 1992] lauten die Bezeichnungen s¹, s¹max bzw. s², s²max; zur Umgehung der Analogie zur Exponentialschreibweise werden im folgenden Index und Exponent umgekehrt) von s₁max und s₂max für die Roboter R₁ bzw. R₂ ergibt sich die Koordinations-Ebene (CS) zu:
Es wird auf diese Weise ein Koordinatensystem aufgespannt, an dessen jeweiliger Koordinatenachse die Länge des von einem Roboter zurückgelegten Weges entlang seiner Trajektorie abgetragen wird. Eine "koordinierte Trajektorie" (coordination curve - CC) ist nach [Bien 1992] jetzt jede Trajektorie, die im CS die Punkte (0, 0) und (s₁max, s₂max) miteinander verbindet, unter der Bedingung, daß sich die Roboter zu keinem Zeitpunkt entlang der vorgeplanten Trajektorie rückwärts bewegen:
Zur Kollisionserkennung werden bei Chang et al. [Chang et. al 1994] im Gegensatz zu Lee et al. [Lee 1987] die Elemente der beteiligten Roboter als Polyeder modelliert. In jedem Zeitintervall ist jetzt die Distanz zwischen allen Polyedern der beteiligten Roboter zu ermitteln.
Für den Fall koordinierter sechsachsiger Gelenkarmroboter sind - unter der Annahme, daß zur Modellierung jedes Gelenkes exakt ein Polyeder verwendet wird - in jedem Zeitintervall insgesamt () = 15 Distanzberechnungen zwischen den einzelnen Polygonen erforderlich. Die einzelnen Distanzen werden geschrieben als d(ji (1), jk (2) wobei ji bzw. jk für das i-te bzw. k-te Gelenk und der Exponent für den Roboter steht.
Für die Berechnung der Distanzen stehen verschiedene Verfahren, vor allem von Gilbert et al. [Gilbert et al. 1988], zur Verfügung. Bei Chang et al. [Chang 1994] kommt der Algorithmus aus [Gilbert 1988] zum Einsatz. Der Abstand zwischen den Robotern kann dann definiert werden als der kleinste bei den Distanzberechnungen ermittelte Abstand:
d(R₁, R₂) : = min {d(ji (1), jk (2))} | i, k = 1, 2, . . . , 6 (66)
Durch diese Herangehensweise ergibt sich ein erheblicher Rechenaufwand; entsprechend steigt jedoch auch die Güte der Kollisionserkennung. Allerdings ist zu berücksichtigen, daß bisher lediglich der Bereich bestimmt worden ist, in dem Kollisionen auftreten können. Die Vermeidung einer eventuell drohenden Kollision durch geeignete Beschleunigungen oder Verzögerungen entlang der Trajektorie erfordern nochmals zusätzlichen Rechenaufwand.
In der Veröffentlichung von Lee et al. [Lee 1987] wird nicht zuletzt aus diesem Grunde daher die Bestimmung der gefährdeten Bereiche unter erheblich vereinfachten Bedingungen durchgeführt, indem um den Handwurzelpunkt eines jeden Roboters eine Kugel gelegt wird. Als Kollision zwischen den Robotern wird der Fall behandelt, daß sich die beiden Kugeln schneiden.
4.11.1 Vergleich der vorgestellten Verfahren
Im Anschluß an die Vorstellung verschiedener Verfahren zum Trajektorienscheduling soll hier ein Vergleich dieser Verfahren untereinander bzw. eine Gegenüberstellung mit dem im Rahmen dieser Ausarbeitung vorgeschlagenen Verfahren erfolgen.
Die Ergebnisse dieser Gegenüberstellung sind in der Tabelle 4 zusammengefaßt. Nachfolgend finden sich zusätzliche Erläuterungen zu den einzelnen Eintragungen dieser Tabelle, um besondere Details, die innerhalb des begrenzten Raumes einer solchen tabellarischen Aufstellung keinen Raum finden können, gesondert zu betrachten.
Anzahl koordinierter Roboter
Theoretisch könnten mit allen hier aufgeführten Verfahren auch mehr als zwei Roboter koordiniert werden. Es ergäbe sich dann jedoch in allen Fällen die Gefahr eines deadlocks, der zu einem Scheitern der Trajektoriengenerierung führen könnte.
Vorgeplante Trajektorien erforderlich/Trajektorienmodifikation
Im Rahmen der Veröffentlichung von Basta et al. [Basta 1988] wird auch die Möglichkeit der Trajektorienmodifikation angesprochen. Auch für diesen Fall kann jedoch nicht auf vorgeplante Trajektorien verzichtet werden, denn die Modifikation der Trajektorien erfolgt nicht durch das Verfahren selbst. Statt dessen werden modifizierte Trajektorien durch das Verfahren lediglich auf Kollisionsfreiheit überprüft und erforderlichenfalls erneut modifiziert, wobei die Modifikation der Trajektorien beispielsweise nach einem heuristischen Ansatz erfolgt.
Die von Lee et al. [Lee 1987] und Chang et al. [Chang 1994] sowie Bien und Lee [Bien 1992] vorgestellten Ansätze basieren allesamt auf vorgeplanten Trajektorien, wobei bei Bien und Lee [Bien 1992] sogar von zeitoptimalen vorgeplanten Trajektorien ausgegangen wird.
Mittels der mit dem neuen Verfahren vorgeschlagenen kollisionsbereichs-bezogenen Trajektorienplanung werden - wie bereits der Titel andeutet - die Trajektorien implizit im Rahmen des Verfahrens bestimmt. Lediglich die gewünschten Start- und Zielkonfigurationen sind vorzugeben.
Prioritätenzuweisung erforderlich
Das Verfahren von Basta et al. [Basta 1988] kann auf eine Prioritätenzuweisung verzichten, weil die Kollisionsfreiheit der Trajektorien durch die Vermeidung von Überlappungen der die kollisionsgefährdeten Gebiete begrenzen den Parameterwerte sichergestellt wird. Dazu kann sowohl auf die Parameterwerte für Roboter R₁ als auch auf diejenigen für den Roboter R₂ Einfluß genommen werden.
Das Verfahren von Bien und Lee [Bien 1992] verzichtet auf eine explizite Prioritätenzuweisung, erfordert jedoch statt dessen eine Berechnung der geeigneten Verzögerung für beide Roboter. Das Verfahren findet auf diese Weise zwar die optimale Anfangsverzögerung, ist jedoch entsprechend auf die doppelte Durchführung des Algorithmus′ zur Berechnung der Anfangsverzögerung angewiesen. Im ersten Durchgang wird die optimale Anfangsverzögerung für den Roboter R₁ ermittelt, im zweiten Durchgang diejenige für den Roboter R₂. Die optimale Gesamtbewegung ergibt sich durch den Vergleich der so ermittelten Verzögerungszeiten.
Auf diese Weise könnten auch die Verfahren von Lee et al. [Lee 1987] und Chang et al. [Chang 1994] auf die Zuweisung von Prioritäten verzichten. Es bleibt dann jedoch zu berücksichtigen, daß sich die benötigten Rechenzeiten nahezu verdoppeln.
An den Koordinatenachsen abgetragene Daten
Werden im Rahmen der gegenübergestellten Verfahren mehrere graphische Darstellungen verwendet, so ist in der Tabelle 4 immer diejenige Darstellung aufgeführt, mit der das jeweilige Verfahren beginnt.
Das Verfahren von Basta et al. [Basta 1988] beginnt mit dem Parametric-Space-Potential-Collision-Region Diagram - PSPCRD, einer Darstellung in einem Koordinatensystem, auf dessen Achsen die Weglängen, welche die Roboter entlang ihrer Trajektorien zurücklegen, abgetragen sind. Nach einer Konvertierung ergibt sich das Space-Time-Collision-Region Diagram - STCRD in einem weiteren Koordinatensystem, dessen Abszisse die Zeitachse bildet, während an dessen Ordinate die Weglängen beider koordinierter Roboter aufgetragen sind.
Im Verfahren von Bien und Lee [Bien 1992] wird zunächst eine Ebene, die Koordinations-Ebene (coordination space - CS), durch die Weglängen der beiden Roboter entlang ihrer jeweiligen Trajektorien aufgespannt. Diese Ebene wird im Verlauf des Verfahrens in eine Ebene transformiert, auf deren Abszisse die Weglänge des jeweiligen Roboters abgetragen wird; die Ordinate wird durch die zugehörige Zeitachse gebildet.
In den Verfahren von Lee et al. [Lee 1987] und Chang et al. [Chang 1994] wird auf der Abszisse eines zweidimensionalen Koordinatensystemes, dem Kollisionsplan (collision map), die Weglänge entlang der Trajektorie des ausweichpflichtigen Roboters aufgetragen; die Ordinate ist die zugehörige Zeitachse. Transformationen in andere Koordinatensysteme werden nicht durchgeführt.
Aufwand für die Kollisionserkennung
Zu diesem Punkt bedarf es sorgfältiger Unterscheidungen: Die Verfahren von Lee et al. [Lee 1987], Chang et al. [Chang 1994] sowie Bien und Lee [Bien 1992] bieten selbst keine Möglichkeiten für die eigentliche Trajektorien­ planung. Die Trajektorien werden statt dessen mit Hilfe anderer Verfahren (z. B. Shiller und Lu [Shiller 1990]) vor Beginn der hier zur Diskussion stehenden eigentlichen Verfahren generiert. Bereits zu diesem Zeitpunkt wird im Rahmen der Gesamtverfahren erstmals eine Kollisionserkennung durchgeführt. Die so gewonnenen Trajektorien werden daraufhin im Rahmen des eigentlichen Verfahrens auf ihre Kollisionsfreiheit untereinander untersucht. In der Tabelle 4 wird der an dieser Stelle erforderliche Aufwand für die Kollisionserkennung bewertet.
Die Annäherung der Roboter durch Kugeln ermöglicht bei Basta et al. [Basta 1988] und Lee et al. (Lee 1987] einen vergleichsweise geringen Aufwand bei der Kollisionserkennung. Dennoch sind entlang der zu modifizierenden Trajektorie in äquidistanten Zeit- oder Wegabschnitten mehrfach quadratische Gleichungen zu lösen, um so die Kontur des kollisionsgefährdeten Bereiches zu ermitteln.
Der mit der Kollisionserkennung verbundene Aufwand nimmt mit den von Chang et al. [Chang 1994] und Bien und Lee [Bien 1992] vorgestellten Ansätzen erheblich zu. Dies geht einher mit der qualitativ besseren Modellierung der Roboter, die durch einhüllende Polyeder erfolgt. Zwischen allen diesen Polyedern müssen entlang der Trajektorie Kollisionsprüfungen durchgeführt werden. Dies geschieht durch die Auswertung von Distanzfunktionen - z. B. nach dem Ansatz von Gilbert et al. [Gilbert 1988].
Bei der Kollisionserkennung mit Hilfe der Kollisionsbereiche ist zur Kollisionserkennung lediglich die Bestimmung des Kollisionsbereiches und die Überprüfung der Lage des Konfigurations-Fadenkreuzes in Bezug auf diesen Bereich erforderlich.
Güte der Kollisionserkennung
Basta et al. [Basta 1988] und Lee et al. [Lee 1987] modellieren die koordinierten Roboter durch im Handwurzelpunkt fixierte Kugeln. Eine Berührung oder Durchdringung dieser Kugeln wird als Kollision der Roboter ausgewertet. Das Volumen der Kugeln sperrt jedoch auch solche Bereiche des Arbeitsraumes, die nicht durch die Handsegmente oder eine eventuelle Nutzlast belegt sind. Zudem ist zu beachten, daß das Volumen der Kugel im allgemeinen nicht so weit wachsen kann - um den Bewegungsbereich des anderen Roboters nicht nochmals einzuschränken -, daß z. B. auch die Armsegmente der beteiligten Roboter in diesem Volumen enthalten sind. Kollisionen mit Segmenten außerhalb der imaginären Kugeln werden demnach nicht erkannt, so daß die Kollisionserkennung auch an diesem Punkt eine erhebliche Ungenauigkeit aufweist und sich damit insgesamt durch eine vergleichsweise nur geringe Güte auszeichnet.
Zusätzlich wird bei Lee et al. [Lee 1987] der ermittelte kritische Bereich innerhalb des Kollisionsplanes durch ein einhüllendes Rechteck angenähert, womit zwangsläufig eine weitere, zusätzliche Ungenauigkeit - diesmal im wesentlichen bei der Kollisionsvermeidung - einhergeht.
Chang et al. [Chang 1994] sowie Bien und Lee [Bien 1992] verwenden zur möglichst exakten Modellierung der Roboter Polyeder. Die Kollisionserkennung erfolgt mit Hilfe von Distanzberechnungen zwischen diesen Polyedern. Eine auf diese Weise erreichte Kollisionserkennung ist - wiewohl ausgesprochen exakt - mathematisch sehr aufwendig und benötigt aus diesem Grunde sehr viel Rechenzeit.
Bei der Kollisionserkennung mit Hilfe der Kollisionsbereiche werden im Falle geknickter Roboterstrukturen - z. B. bei den Armgelenken - u. U., auch Konfigurationen, die kollisionsfrei sind, bereits als kollisionsgefährdet ausgewertet. Der umgekehrte Fall - kollisionsgefährdete Konfigurationen werden als kollisionsfrei ausgewertet - kann bei der kollisionsbereichs-bezogenen Kollisionserkennung unter keinen Umständen auftreten. Die generelle Eignung des Verfahrens zur Trajektorienplanung wird durch diesen Umstand daher nicht in Frage gestellt. Die Eigenart des Verfahrens führt nur dazu, daß einige spezielle Konfigurationen möglicherweise nicht angefahren werden; aus diesem Grunde ist die Güte der Kollisionserkennung dieses Verfahrens jedoch geringer zu bewerten als diejenige vergleichbarer Verfahren.
Erforderliche Rechenzeit/on-line Fähigkeit
Eine umfassende Gegenüberstellung scheitert an dieser Stelle an fehlenden Angaben in den einzelnen Veröf­ fentlichungen. So steht nur die Zeitangabe aus der Veröffentlichung von Chang et al. [Chang 1994] für Vergleiche zur Verfügung.
Ein objektiver Vergleich zwischen dem Ansatz von Chang et al. [Chang 1994] und dem neuen, hier vorgestellten Verfahren wird jedoch zusätzlich durch die Tatsache erschwert, daß es sich bei letzterem Verfahren um ein on-line Verfahren handelt, während alle anderen Verfahren off-line, vor Beginn der koordinierten Bewegung, ausgeführt werden.
Das neu vorgestellte Verfahren benötigt auf einer vergleichsweise leistungsschwachen Hardware (Intel i80386 & i80387) sowohl für die Kollisionserkennung als auch die Planung der optimalen Ausweichtrajektorie deutlich weniger als eine Sekunde. Allerdings wird diese Berechnung permanent - in geeigneten äquidistanten Zeitabschnitten während der gesamten koordinierten Bewegung - wiederholt.
Demgegenüber ergibt sich bei dem von Chang et al. [Chang 1994] vorgestellten Verfahren eine benötigte Berechnungszeit von ca. 90 Sekunden bei Verwendung einer SPARC-Hardware. Während dieser Zeit kann keine Bewegung der Roboter erfolgen. Nach Durchführung der erforderlichen Berechnungen sind dann jedoch während der gesamten Bewegung keine weiteren Rechenvorgänge erforderlich.
Festzuhalten bleibt hier letztlich, daß das neu vorgestellte Verfahren aufgrund seiner on-line Fähigkeit keine Verzögerungen beim koordinierten Mehrroboterbetrieb verursacht.
5. Zusammenfassung, Schlußbemerkungen
Mit der vorliegenden Erfindung wird ein effizientes und leistungsfähiges Konzept zur Erkennung von Kollisionen zwischen koordinierten Robotern bzw. zur Generierung kollisionsfreier Trajektorien für einen koordinierten Betrieb zweier Roboter in eine in gemeinsamen Arbeitsraum vorgestellt.
Als herausragendes Problem ist in diesem Zusammenhang vor allem der Umfang der zu bearbeitenden Datenmengen anzusehen. Lösungsverfahren, die sämtliche zur Verfügung stehende Daten berücksichtigen, haben aufgrund der damit einhergehenden drastischen Steigerung der erforderlichen Berechnungszeiten bisher nur theoretischen Wert. Eine Erweiterung bekannter Verfahren zur Generierung kollisionsfreier Trajektorien für einzelne autonome Roboter auf den Mehrroboterfall muß daher aufgrund der Anforderungen hinsichtlich Speicherkapazität und Rechenleistung als nicht praktikabel angesehen werden (Abschnitt 2.2).
Aus diesem Grunde mußte mit dem vorgestellten Konzept vor allem stets die Notwendigkeit einer Reduktion der anfallenden Datenmengen auf ein handhabbares Maß berücksichtigt werden.
Anstelle der realen dreidimensionalen Strukturen der beteiligten Roboter werden daher stets Projektionen auf geeignet ausgewählte Ebenen betrachtet (Abschnitt 3.1). Anhand einer eventuellen Überschneidung der Projektionen kann jederzeit auf eine kollisionsgefährdete Konfiguration geschlossen werden - Satz 2 bzw. 3. Somit lassen sich mit Hilfe des vorgestellten neuen geometrischen Ansatzes kollisionsgefährdete Konfigurationen stets schnell und sicher bestimmen. Dies geschieht durch die Transformation kollisionsgefährdeter Bereiche in eine zweidimensionale Ebene, die von den Konfigurationen der betrachteten Gelenke oder von den Konfigurationen der dominanten Freiheitsgrade der betrachteten Gelenkgruppen aufgespannt wird - Definition 1.
Anhand einer detailliert abgeleiteten, algorithmisch formulierten Transformationsvorschrift ergibt sich in dieser Ebene - der Konfigurationsebene - aus demjenigen Gebiet des gemeinsamen Arbeitsraumes, in dem es zu Kollisionen der koordinierten Roboter kommen kann, der Kollisionsbereich (Abschnitt 3.3). Entscheidend ist zudem, daß die Bestimmung der Kollisionsbereiche mit Hilfe des vorgeschlagenen Algorithmus′ so schnell erfolgt, daß sich der Ansatz für eine on-line Kollisionserkennung eignet.
Es wird dargestellt, auf welche Weise eine korrekte Berücksichtigung der realen Geometrie der Robotersegmente erreicht wird, so daß das vorgeschlagene Verfahren unmittelbar auch für Robotertypen unterschiedlichster Ausmaße einsetzbar ist (Abschnitt 3.3.2). Zusätzlich gelingt die Betrachtung von Robotern mit versetzten Gelenken - wie etwa beim PUMA- oder PAMIR-Typ-, so daß sich der vorgeschlagene Ansatz auch hinsichtlich der berücksichtigten kinematischen Strukturen als ausgesprochen flexibel darstellt (Abschnitt 3.3.3). Eine weitgehende Kompensation des mit der Projektion einhergehenden Informationsverlustes wird schließlich durch die gleichzeitige Betrachtung mehrerer Projektionen auf geeignet aufeinander senkrecht stehende Ebenen - somit mehrerer Kollisionsbereiche - erreicht (Abschnitt 3.5).
Das Ziel der Trajektorienplanung muß grundsätzlich darin bestehen, sicherzustellen, daß während der koordinierten Bewegung der beteiligten Roboter zu kein ein Zeitpunkt eine kollisionsbehaftete Konfiguration eingenommen wird. Da der Kollisionsbereich stets sämtliche kollisionsgefährdeten Konfigurationen umfaßt, ist im Falle der Berücksichtigung nur eines Kollisionsbereiches eine kollisionsfreie Ausweichbewegung durch das strikte Vermeiden dieses ausgezeichneten Bereiches gewährleistet (Abschnitt 4.1).
Jeweils die Start- und die Zielkonfiguration der angestrebten Bewegung sowie bestimmte Eckpunkte des zu vermeidenden Kollisionsbereiches bilden Stützstellen auf der Trajektorie. Diese werden als Knoten eines Graphen modelliert. Damit ist das Problem der Trajektoriensuche auf ein Graphensuchproblem zurückgeführt (Abschnitt 4.3). In der Literatur ist dokumentiert, daß Graphen häufig zur Lösung von Wegoptimierungsproblemen eingesetzt werden. So haben sich Graphen in ähnlichem Zusammenhang in anderen Arbeiten bereits bewährt [Fink 1991 | Schnare 1992].
Bei der gleichzeitigen Berücksichtigung zweier Kollisionsbereiche - jeweils für die Grund- bzw. Armgelenke - kann in Bezug auf jeden dieser Kollisionsbereiche eine zulässige kollisionsfreie Trajektorie existieren. In einem solchen Falle kann anhand geeigneter Kriterien eine der beiden Ausweichtrajektorien ausgewählt werden (Abschnitt 4.7). Solche Kriterien werden sich vor allem auf die Weglänge bzw. auf die Dauer der erforderlichen Ausweichbewegung beziehen. Eine Berücksichtigung dieser Kriterien ist durch eine entsprechende Gewichtung der Kanten des Graphen realisierbar.
Ein Vergleich mit bekannten Planungsverfahren für einen koordinierten Mehrroboterbetrieb bezieht sich schwerpunktmäßig auf das sogenannte Trajektorienscheduling, bei dem der kollisionsfreie Betrieb durch geeignete Verzögerungen eines der beteiligten Roboter erreicht wird, so daß eine zuvor als kollisionsgefährdet ermittelte Position nicht zeitgleich von beiden koordinierten Robotern erreicht wird (Kapitel 4.11).
Neben deutlichen Analogien der von beiden Verfahren erzielten Ergebnisse bietet der vorgeschlagene Ansatz gegenüber dem Trajektorienscheduling vor allem auch die Möglichkeit der direkten Planung von Trajektorien, so daß anhand der Kollisionsbereiche auch dann noch kollisionsfreie Ausweichtrajektorien bestimmt werden können, wenn das Trajektorienscheduling scheitern muß.
Trotz der geschilderten Analogien kann über eine Gegenüberstellung der jeweiligen Verfahren hinaus nur schwer eine Aussage in Bezug auf die Eignung eines Verfahrens für bestimmte Anwendungsfälle getroffen werden. Dabei scheitert ein direkter Vergleich ausdrücklich nicht nur an den fehlenden Zeitangaben in den entsprechenden Veröffentlichungen; vielmehr kann eine solche Gegenüberstellung grundsätzlich nur dann ausreichend aussagekräftig werden, wenn neben den benötigten Zeiten für eine spezielle koordinierte Bewegung zusätzlich auch die die Bewegung bestimmenden Start- und Zielkonfigurationen angegeben sind.
Hier bleibt daher abschließend nur, sowohl die Vorteile des neuen Verfahrens als auch eventuelle Einschränkungen zusammengefaßt aufzuführen:
  • - Mit den Kollisionsbereichen wurde eine effiziente Möglichkeit für eine on-line Kollisionserkennung im koordinierten Betrieb zweier unabhängiger Roboter vorgestellt. Außerdem kann unter Berücksichtigung der Kollisionsbereiche eine schnelle und effektive Planung kollisionsfreier Ausweichtrajektorien für den koordinierten Betrieb erreicht werden.
  • - Das Verfahren zeichnet sich insbesondere durch geringe Anforderungen an Rechenleistung und Speicherkapazität der Steuerungshardware sowie eine leichte Implementierbarkeit aus. Damit stellt sich das Verfahren sowohl in Bezug auf die zu erwartenden Anschaffungs- als auch die Entwicklungs- und Wartungskosten als besonders effizient heraus.
  • - Sowohl die Kollisionserkennung als auch die Trajektorienplanung kann mit Hilfe des neuen Verfahrens für Roboter unterschiedlichster Ausmaße und Kinematiken etabliert werden.
  • - Das vorgestellte Verfahren kann unmittelbar auch für bewegliche oder mobile Roboter eingesetzt werden, da der Abstand zwischen den koordinierten Roboter stets als maßgeblicher Parameter in die Berechnung der Kollisionsbereiche eingeht.
  • - Weiterhin können die Kollisionsbereiche eventuell bereits bei der Planung von Fertigungsanlagen verwendet werden. Aufgrund der Einfachheit der Berechnung der Kollisionsbereiche ergibt sich die Möglichkeit, bereits im Rahmen der Projektvorbereitungen qualitativ abzuschätzen, in welchem Umfange Ausweichbewegungen aus einer bestimmten Anordnung koordinierter Roboter resultieren.
    Anhand einer solchen Übersicht kann dann entschieden werden, ob ein koordinierter Mehrroboterbetrieb aufgenommen wird, oder ob durch eine geeignete Anordnung unabhängige Roboterarbeitszellen entstehen.
Mit dem vorgestellten Verfahren lassen sich in erster Linie großräumige Ausweichbewegungen mit der beschriebenen Effizienz realisieren. Weniger geeignet scheint das Verfahren beispielsweise zur Koordination von Greifbewegungen auf engstem Raum. Für eine solche Aufgabenstellung liefert das Verfahren die kollisionsfreien Trajektorien, mit denen die beteiligten Roboter die Zielregion erreichen. Geeignete lokale Verfahren führen die Effektoren der Roboter dann zur eigentlichen Zielposition.
Wenngleich mit Hilfe der Kollisionsbereiche auch für Konstellationen, bei denen das Trajektorienschedu­ ling scheitert, kollisionsfreie Ausweichbewegungen generiert werden können, gibt es dennoch durchaus auch Anwendungsfälle, bei denen sich das Trajektorienscheduling durch eine größere Flexibilität auszeichnet. In diesem Zusammenhang ist vor allem aufzuführen, daß aufgrund der gewählten Darstellung in der Konfigurationsebene die koordinierten Roboter stets gleichzeitig ihre jeweilige Zielkonfiguration erreichen. Sofern die von den beteiligten Robotern zurückzulegenden Strecken eine annähernd gleiche Länge aufweisen, ist mit diesem Umstand kein Nachteil verbunden. Im Falle der beschriebenen verketteten Montagezelle (Abschnitt 4.9.4) hat der zentrale Roboter jedoch häufig deutlich größere Distanzen zu überwinden als die koordinierten Montagezellenroboter. Zur Vermeidung unnötiger Wartezeiten ist die Bewegung des zentralen Roboters geeignet aufzuteilen, so daß sich annähernd gleiche Weglängen ergeben.
Soll auf die Trajektorienplanung nach dem beschriebenen Verfahren verzichtet werden, so bieten sich die Kollisionsbereiche dennoch zur schnellen Kollisionserkennung an. In einer konkreten Realisierung können die Kollisi­ onsbereiche zur Erkennung kollisionsgefährdeter Konfigurationen eingesetzt werden. Nur solche Konstellationen, die anhand der Kollisionsbereiche als potentiell kollisionsgefährdet erkannt wurden, bedürfen einer weiteren ausführlichen Prüfung. Auf diese Weise ließen sich die im Rahmen des Trajektorienscheduling benötigten Rechenzeiten deutlich verkürzen.
Erweiterungen des vorgestellten Verfahrens werden sich schwerpunktmäßig auf eine Optimierung der Koordination der Ausweichbewegungen anhand der jeweiligen Kollisionsbereiche beziehen. Während bisher im Falle der Existenz je einer zulässigen Ausweichtrajektorie für den Kollisionsbereich der Grund- bzw. Armgelenke zu Beginn der Bewegung eine der beiden möglichen Trajektorien anhand spezieller Optimalitätskriterien ausgewählt wird, ist es insbesondere auch denkbar, durch einen Übergang in einen vierdimensionalen Raum - anstelle zweier zweidimen­ sionaler Ebenen - eine implizite Koordination der jeweiligen Gelenksbewegungen zu etablieren. In diesem Falle gilt es jedoch zu berücksichtigen, daß mit der einhergehenden Zunahme der zu berücksichtigenden Daten u. U., die Eignung des Verfahrens zur on-line Kollisionserkennung bzw. Trajektorienplanung verloren geht.
Unter dieser Prämisse sind immer auch Erweiterungen des Verfahrens im Hinblick auf optimale Trajektorien für die Gesamtbewegung zu sehen. In Abschnitt 4.9.1 wurde bereits aufgezeigt auf welche Weise eine solche Optimierung im Rahmen einer off-line Lösung erreicht werden kann. Auch in diesem Falle können sich die Betrachtungen nicht länger auf die zweidimensionale Konfigurationsebene beziehen; vielmehr ergeben sich durch die zusätzliche Einführung einer Zeitachse gestapelte Kollisionsbereiche im dreidimensionalen Raum.
Als Zielrichtung für weitergehende Forschungsarbeiten in diesem Bereich ist vor allem die aufgaben­ orientierte Planung für den koordinierten Mehrroboterbetrieb zu nennen. Durch eine optimierte Abfolge der Aktionen koordinierter Roboter kann die Anzahl der in einem kontinuierlichen Arbeitsprozeß erforderlichen Ausweichbewegungen minimiert werden.
Tabelle 1
Zunahme der erforderlichen Kollisionsprüfungen mit der der Zunahme der beteiligten Körper
Tabelle 2
Kombinatorische Explosion der anfallenden Datenmengen beim Konfigurationsraumverfahren für einen 3-, 6- bzw. 12-dimensionalen Konfigurationsraum bei unterschiedlichen Diskretisierungsweiten dν
Tabelle 3
Gegenüberstellung von Weglänge und Wegdauer bei der Bewegung entlang eines Trajektoriensegmentes
Tabelle 4
Gegenüberstellung der Verfahren
03640 00070 552 001000280000000200012000285910352900040 0002019625637 00004 03521<
Literatur
Adolphs, P. Nafziger, D. (1990), Schnelle kollisionsvermeidende Bahnplanung im Konfigurationsraum mit Entfernungsfeldern. Robotersysteme, 6, pp 236-244, Springer Verlag
Ahmad, Shaheen (1993): Control of Cooperative Multiple Flexible Joint Robots. IEEE Transactions on Systems, Man, and Cybernetics, Vol. 23, No. 3, Mai/Juni 1993.
Basta, R.A. Mehrotra, R. Varanasi, M.R. (1988). Detecting and avoiding collisions between two robot arms in an common workspace. Robot Control Theory and Application, pp 185-192.
Bien. Z. Lee, J. (1992). A Minimum-Time Trajectory Planning Method for Two Robots. IEEE Transactions on Robotics and Automation. Vol. 8, No. 3, Juni 1992.
Bronstein, I.N. Semendjajew, K.A. (1991). Taschenbuch der Mathematik. Verlag Harri Deutsch, Thun.
Chang, C. Chung, M.J. Lee, B.H. (1994). Collision Avoidance of Two General Robot Manipulators by Minimum Delay Time. IEEE Transactions on Systems Man, and Cybernetics, Vol. 24, No. 3, pp 517-552, März 1994.
Dÿkstra, E.W. (1959). A note on two problems in connection with graphs. Numerische Mathematik 1, pp 269-271.
Faverjon, B. (1984). Obstacle avoidance using on octree in the configurations space of a manipulator. Proceedings of the IEEE, Intern. Conference on Robotics an Automation, pp 504-512.
Fink, B. Wend, H.-D. (1991). Schnelle Bahnplanung für Industrieroboter mit veränderlichem Arbeitsrauum. at - Automatisierungstechnik, 39, pp 197-204.
Freund, E. (1984). On the Design of Multi-Robot Systems. IEEE International Conference on Robotics and Automation, pp 477-490.
Freund, E. Hoyer, H. (1986). Pathfinding in Multi-Robot Systems: Solutions and Applications. IEEE International Conference on Robotics and Automation, pp 103-111.
Freund, E. Borgolte, U. (1990). Ein Algorithmus zur Kollisionserkennung und -vermeidung bei Robotern mit zylinderförmigem Arbeitsraum. Robotersysteme (6), pp 1-10.
Gilbert, E.G. Johnson, D.W. Keerthi, S.S. (1988). A Fast Procedure for Computing the Distance between Complex Objects in Three-Dimensional Space. IEEE Journal of Robotics and Automation, 4, pp 193-203, April 1988.
Heine, Ralf (1992). Problemadaptierte Konfigurationsraum-Generierung für autonome Roboter, Dissertation, Universität Bremen (Institut für Automatisierungstechnik); veröffentlicht im VDI-Verlag.
Lee, B.H. Lee, C.S.G. (1987. Collision Free Motion Planning of Two Robots. IEEE Transaction on Systems, Vol. SMC-17, no. 1, pp 213-232.
Lozano-P´ret, T. (1983). Spatial planning: A configuration-space approach. IEEE Transaction on Computers, pp 108-120, Februar 1983.
Samet, H. (1984). The quadtree and related hierarchical data structures. ACM Computer Surveys 16, pp. 187-260.
Schnare, Thorsten (1992). Wissenbasierte Trajektoriensuche für autonome Roboter. Dissertation, Universität Bremen (Institut für Automatisierungstechnik); veröffentlicht im VDI-Verlag.
Shiller, Z. Lu, H.-H. (1990). Robust Computation of Path Constrained Time Optimal Motions. Proceedings of the IEEE, Intern. Conference on Robotics and Automation, pp. 144-149.
Tarn, T.J. Bejczy, A. K. Yun, X (1987): Design of Dynamic Control of Two Cooperation Robot Arms: Closed Chain Formulation. Proceedings of IEEE International Conference on Robotics and Automation, pp 7-13.
VDI-Richtlinie 2861 Blatt 1. Kenngrößen für Industrieroboter, Achsbezeichnungen.

Claims (13)

1. Betriebsverfahren für Roboter zur Gewährleistung einer Kollisionserkennung für einen koordinierten Mehrro­ boterbetrieb, wobei sich die Arbeitsräume der beteiligten Roboter überlappen, wobei die Stellung eines jeden Gelenkes der Roboter durch die jeweilige Konfiguration angegeben ist, wobei die Kollisionsgefahr anhand der Übereinstimmung kollisionsgefährdeter Konfigurationen mit den aktuellen Konfigurationen erkennbar ist, dadurch gekennzeichnet,
  • - daß für die aktuellen Konfigurationen der beteiligten Roboter ein Kollisionsbereich bestimmt wird,
  • - daß sich der Kollisionsbereich aus der Transformation kollisionsgefährdeter Gebiete in ein mindestens zweidimensionales Koordinatensystem ergibt, auf dessen Achsen die Konfigurationen der betrachteten Gelenke der beteiligten Roboter abgetragen sind, so daß sämtliche kollisionsgefährdete Konfigurationen Elemente des Kollisionsbereiches sind,
  • - daß eine Konstellation, bei der die Konfigurationen der betrachteten Gelenke der beteiligten Roboter Element des Kollisionsbereiches sind, als Kollision, zumindest jedoch als Kollisionsgefahr ausgewertet wird.
2. Betriebsverfahren nach Anspruch 1, dadurch gekennzeichnet, daß sich der Kollisions­ bereich als geometrische Figur in einem zweidimensionalen Koordinatensystem ergibt, auf dessen Achsen die Konfigurationen der Gelenke der beteiligten Roboter oder die Konfigurationen der dominanten Freiheitsgrade der betrachteten Gelenkgruppen abgetragen sind.
3. Betriebsverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß sich der Kollisionsbereich als geometrische Figur in einem zweidimensionalen Koordinatensystem ergibt, auf dessen Achsen die Konfigurationen der Hauptfreiheitsgrade der beteiligten Roboter abgetragen sind.
4. Betriebsverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß sich der Kolli­ sionsbereich als geometrische Figur in einem zweidimensionalen Koordinatensystem ergibt, auf dessen Achsen die Konfigurationen der dominanten Freiheitsgrade der Armgelenke der beteiligten Roboter abgetragen sind.
5. Betriebsverfahren nach Anspruch 1, 2, 3 oder 4, dadurch gekennzeichnet, daß das kollisionsgefährdete Gebiet diejenige Fläche auf einer geeignet ausgewählten Projektionsfläche ist, in der sich die Projektionen der beteiligten Roboter überlappen.
6. Betriebsverfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Projektionsfläche die Grundfläche des gemeinsamen Arbeitsraumes der beteiligten Roboter ist.
7. Betriebsverfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Projektionsfläche eine auf der Grundfläche des gemeinsamen Arbeitsraumes senkrecht stehende und zu der Verbindungslinie durch die Fußpunkte der beteiligten Roboter parallele Ebene ist.
8. Betriebsverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, daß die Kollisionsvermeidung durch die Vermeidung sämtlicher Konfigurationen, die Elemente des Kollisionsbereiches sind, erreicht wird.
9. Betriebsverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet,
  • - daß die Startkonfiguration der betrachteten Gelenke der beteiligten Roboter in das Koordinatensystem, in dem der Kollisionsbereich dargestellt ist, eingetragen wird,
  • - daß die Zielkonfiguration der betrachteten Gelenke der beteiligten Roboter in das Koordinatensystem, in dem der Kollisionsbereich dargestellt ist, eingetragen wird,
  • - daß im dem Koordinatensystem, in dem der Kollisionsbereich dargestellt ist, eine Verbindung zwischen der Startkonfiguration und der Zielkonfiguration ermittelt wird, die stets außerhalb des Kollisionsbereiches verläuft,
  • - daß die Trajektorie für den kollisionsfreien koordinierten Betrieb der beteiligten Roboter die so ermittelte Verbindung ist, wobei sich die Bewegungsdaten für die jeweiligen Freiheitsgrade der Roboter aus der Interpretation derjenigen Konfigurationswerte, die Punkte auf der so ermittelten Verbindung festlegen, ergibt.
10. Betriebsverfahren nach Anspruch 9, dadurch gekennzeichnet,
  • - daß sich der Kollisionsbereich als Polygon mit einer endlichen Anzahl von Eckpunkten ergibt,
  • - daß die Eckpunkte des Kollisionsbereiches sowie die Startkonfiguration und die Zielkonfiguration der betrachteten Freiheitsgrade die Konten eines Graphen bilden,
  • - daß die Gewichte der Kanten zwischen den einzelnen Knoten des Graphen proportional zu der Entfernung zwischen den jeweiligen Punkten des Koordinatensystemes sind, die durch die Knoten repräsentiert werden.
  • - daß die optimale kollisionsfreie Trajektorie durch Bestimmung des kürzesten Weges in dem sich so ergebenden Graphen ist, wobei der Startknoten die Startkonfiguration und der Zielknoten die Zielkonfiguration repräsentiert.
11. Betriebsverfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Gewichte der Kanten zwischen den einzelnen Knoten des Graphen der räumlichen Entfernung zwischen den jeweiligen Punkten des Koordinatensystemes entsprechen, die durch die Knoten repräsentiert werden.
12. Betriebsverfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Gewichte der Kanten zwischen den einzelnen Knoten des Graphen der zeitlichen Entfernung - d. h. der berechenbaren Zeitspanne, die im koordinierten Betrieb während einer Bewegung der beteiligten Roboter von dem ersten, die Kante begrenzenden Knoten bis zu dem zweiten, die Kante begrenzenden Knoten verstreicht - zwischen den jeweiligen Punkten des Koordinatensystemes entsprechen, die durch die Knoten repräsentiert werden.
13. Betriebsverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet,
  • - daß zur zeitlich optimalen Anordnung von Roboteraktionen im koordinierten Betrieb - wobei eine Roboteraktion eine Bewegung von einer Startkonfiguration zu einer Zielkonfiguration in dem Koor­ dinatensystem, in dem der Kollisionsbereich dargestellt ist, entspricht, wobei ein Produktionsprozeß mindestens zwei Roboteraktionen umfaßt, wobei eine einzelne koordinierte Aktion sämtlicher beteiligter Roboter als Aktionszyklus aufgefaßt wird für jede mögliche Kombination von Aktionen der mindestens zwei beteiligten Roboter der Kollisionsbereich und die sich anhand des Kollisionsbereiches ergebende optimale Ausweichtrajektorie ermittelt wird,
  • - daß ein Bewertungsfaktor, der den Aufwand der Ausweichbewegungen repräsentiert - z. B. als Verhältnis zwischen direkter Bewegung und Ausweichbewegung -, abgespeichert wird,
  • - daß anhand der abgespeicherten Bewertungsfaktoren durch den Ansatz geeigneter Optimierungsverfahren - z. B. Variationsrechnung, Simplex-Verfahren, Graphentheorie, etc. - die Aktionszyklen zeitlich so angeordnet werden, daß sich ein koordinierter Betrieb mit minimalen Ausweichbewegungen ergibt.
DE1996125637 1996-06-26 1996-06-26 Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen Withdrawn DE19625637A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1996125637 DE19625637A1 (de) 1996-06-26 1996-06-26 Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1996125637 DE19625637A1 (de) 1996-06-26 1996-06-26 Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen

Publications (1)

Publication Number Publication Date
DE19625637A1 true DE19625637A1 (de) 1998-01-02

Family

ID=7798111

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1996125637 Withdrawn DE19625637A1 (de) 1996-06-26 1996-06-26 Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen

Country Status (1)

Country Link
DE (1) DE19625637A1 (de)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004024327A1 (de) * 2004-05-15 2005-12-01 Wolfgang Dr. Mergenthaler Kombinatorischer Verteil- und Sequenzier-Algorithmus von Schweisspunkten zur Kollisionsfreien und taktzeitminimalen Steuerung von Schweisszellen
EP1901151A1 (de) * 2006-09-14 2008-03-19 Abb Research Ltd. Verfahren und Vorrichtung zur Vermeidung von Kollisionen zwischen einem Industrieroboter und einem Objekt
DE102008013400A1 (de) * 2008-03-06 2009-09-10 Hörmann Engineering GmbH Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts
DE102010052253A1 (de) 2010-11-23 2012-05-24 Kuka Roboter Gmbh Verfahren und Steuermittel zur Steuerung einer Roboteranordnung
US8660694B2 (en) 2008-04-29 2014-02-25 Winfried Lurz Method for computer-aided movement planning of a robot
DE102012007254B4 (de) * 2011-04-18 2015-10-15 Fanuc Corporation Verfahren und Vorrichtung zum Vorausberechnen einer Behinderung zwischen einem Zielteil eines Roboters und einem peripheren Objekt
DE102014222857A1 (de) * 2014-11-10 2016-05-12 Kuka Roboter Gmbh Flexibles taktzeitoptimiertes Teilen eines Arbeitsraums für Roboter
US9475192B2 (en) 2014-04-25 2016-10-25 Fanuc Corporation Simulation device for plural robots
CN106041931A (zh) * 2016-06-30 2016-10-26 广东工业大学 一种多障碍空间多agv机器人协作防碰撞路径优化方法
DE102015007395A1 (de) * 2015-06-08 2016-12-08 Kuka Roboter Gmbh Verfahren und System zum Betreiben und/oder Überwachen einer Maschine, insbesondere eines Roboters
DE102007059480B4 (de) 2007-12-11 2018-07-05 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
EP3369532A1 (de) * 2017-03-03 2018-09-05 Omron Corporation Steuerungssystem, einstellvorrichtung, einstellverfahren und speichervorrichtung
WO2018148437A3 (en) * 2017-02-09 2018-10-25 X Development Llc Improvements related to generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
DE102017129665B3 (de) 2017-12-12 2019-01-24 Pilz Gmbh & Co. Kg Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
WO2020031718A1 (ja) * 2018-08-08 2020-02-13 ソニー株式会社 制御装置、制御方法、およびプログラム
CN110893618A (zh) * 2018-09-13 2020-03-20 皮尔茨公司 用于机械手的无碰撞运动规划的方法和装置
DE102019102803A1 (de) * 2019-02-05 2020-08-06 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander
CN111596617A (zh) * 2020-05-20 2020-08-28 珠海格力智能装备有限公司 绘制码垛机器人的工作空间的方法及装置
DE102019115571A1 (de) * 2019-06-07 2020-12-10 Bystronic Laser Ag Schnelles Abtransportieren von geschnittenen Teilen aus einer Verarbeitungsanlage
CN114378840A (zh) * 2021-12-20 2022-04-22 西安北方华创微电子装备有限公司 半导体工艺设备中传输系统的控制方法和半导体工艺设备
DE102021204148B3 (de) 2021-04-27 2022-06-23 Kuka Deutschland Gmbh Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen
EP3781998B1 (de) 2018-04-19 2022-10-19 G.D Società per Azioni Verfahren zur wiederherstellung des funktionszustandes einer automatischen maschine zur herstellung von artikeln der tabakverarbeitenden industrie
CN116141338A (zh) * 2023-04-18 2023-05-23 广东隆崎机器人有限公司 双臂机器人的控制方法、计算机存储介质及双臂机器人
CN116394266A (zh) * 2023-06-08 2023-07-07 国网瑞嘉(天津)智能机器人有限公司 一种机器人自碰撞处理方法、装置、机器人及介质

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004024327A1 (de) * 2004-05-15 2005-12-01 Wolfgang Dr. Mergenthaler Kombinatorischer Verteil- und Sequenzier-Algorithmus von Schweisspunkten zur Kollisionsfreien und taktzeitminimalen Steuerung von Schweisszellen
EP1901151A1 (de) * 2006-09-14 2008-03-19 Abb Research Ltd. Verfahren und Vorrichtung zur Vermeidung von Kollisionen zwischen einem Industrieroboter und einem Objekt
WO2008031700A1 (en) * 2006-09-14 2008-03-20 Abb Research Ltd. A method and a device for avoiding collisions between an industrial robot and an object
DE102007059480B4 (de) 2007-12-11 2018-07-05 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
DE102008013400A1 (de) * 2008-03-06 2009-09-10 Hörmann Engineering GmbH Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts
DE102008013400B4 (de) * 2008-03-06 2016-03-10 Voith Engineering Services Gmbh Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts
US8660694B2 (en) 2008-04-29 2014-02-25 Winfried Lurz Method for computer-aided movement planning of a robot
DE102008057142B4 (de) * 2008-04-29 2016-01-28 Siemens Aktiengesellschaft Verfahren zur rechnergestützten Bewegungsplanung eines Roboters
DE102010052253A1 (de) 2010-11-23 2012-05-24 Kuka Roboter Gmbh Verfahren und Steuermittel zur Steuerung einer Roboteranordnung
WO2012069129A1 (de) 2010-11-23 2012-05-31 Kuka Roboter Gmbh Verfahren und steuermittel zur steuerung einer roboteranordnung
DE102010052253B4 (de) 2010-11-23 2019-03-21 Kuka Deutschland Gmbh Verfahren und Steuermittel zur Steuerung einer Roboteranordnung
DE102012007254B4 (de) * 2011-04-18 2015-10-15 Fanuc Corporation Verfahren und Vorrichtung zum Vorausberechnen einer Behinderung zwischen einem Zielteil eines Roboters und einem peripheren Objekt
US9475192B2 (en) 2014-04-25 2016-10-25 Fanuc Corporation Simulation device for plural robots
DE102015004932B4 (de) * 2014-04-25 2021-04-15 Fanuc Corporation Simulationsvorrichtung für mehrere Roboter
US10005185B2 (en) 2014-11-10 2018-06-26 Kuka Roboter Gmbh Flexible cycle time-optimized sharing of a working space for robots
DE102014222857A1 (de) * 2014-11-10 2016-05-12 Kuka Roboter Gmbh Flexibles taktzeitoptimiertes Teilen eines Arbeitsraums für Roboter
US9999975B2 (en) 2015-06-08 2018-06-19 Kuka Deutschland Gmbh Method and system for operating and/or monitoring a machine, in particular a robot
DE102015007395A1 (de) * 2015-06-08 2016-12-08 Kuka Roboter Gmbh Verfahren und System zum Betreiben und/oder Überwachen einer Maschine, insbesondere eines Roboters
CN106041931A (zh) * 2016-06-30 2016-10-26 广东工业大学 一种多障碍空间多agv机器人协作防碰撞路径优化方法
US11872699B2 (en) 2017-02-09 2024-01-16 Google Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
WO2018148437A3 (en) * 2017-02-09 2018-10-25 X Development Llc Improvements related to generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
US11554485B2 (en) 2017-02-09 2023-01-17 X Development Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
US10207404B2 (en) 2017-02-09 2019-02-19 X Development Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
US10391632B2 (en) 2017-02-09 2019-08-27 X Development Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
EP3369532A1 (de) * 2017-03-03 2018-09-05 Omron Corporation Steuerungssystem, einstellvorrichtung, einstellverfahren und speichervorrichtung
US10625417B2 (en) 2017-03-03 2020-04-21 Omron Corporation Control system, setting device, setting method, and storage device
CN108527359A (zh) * 2017-03-03 2018-09-14 欧姆龙株式会社 控制系统、设定装置、设定方法以及存储装置
CN108527359B (zh) * 2017-03-03 2021-04-30 欧姆龙株式会社 控制系统、设定装置、设定方法以及存储装置
US11642785B2 (en) 2017-12-12 2023-05-09 Pilz Gmbh & Co. Kg Collision-free motion planning for closed kinematics
DE102017129665B3 (de) 2017-12-12 2019-01-24 Pilz Gmbh & Co. Kg Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
EP3781998B1 (de) 2018-04-19 2022-10-19 G.D Società per Azioni Verfahren zur wiederherstellung des funktionszustandes einer automatischen maschine zur herstellung von artikeln der tabakverarbeitenden industrie
JPWO2020031718A1 (ja) * 2018-08-08 2021-08-10 ソニーグループ株式会社 制御装置、制御方法、およびプログラム
WO2020031718A1 (ja) * 2018-08-08 2020-02-13 ソニー株式会社 制御装置、制御方法、およびプログラム
JP7310820B2 (ja) 2018-08-08 2023-07-19 ソニーグループ株式会社 制御装置、制御方法、およびプログラム
CN110893618A (zh) * 2018-09-13 2020-03-20 皮尔茨公司 用于机械手的无碰撞运动规划的方法和装置
DE102019102803B4 (de) 2019-02-05 2022-02-17 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander
DE102019102803A1 (de) * 2019-02-05 2020-08-06 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander
DE102019115571B4 (de) 2019-06-07 2021-11-11 Bystronic Laser Ag Schnelles Abtransportieren von geschnittenen Teilen aus einer Verarbeitungsanlage
DE102019115571A1 (de) * 2019-06-07 2020-12-10 Bystronic Laser Ag Schnelles Abtransportieren von geschnittenen Teilen aus einer Verarbeitungsanlage
CN111596617A (zh) * 2020-05-20 2020-08-28 珠海格力智能装备有限公司 绘制码垛机器人的工作空间的方法及装置
CN111596617B (zh) * 2020-05-20 2023-11-14 珠海格力智能装备有限公司 绘制码垛机器人的工作空间的方法及装置
DE102021204148B3 (de) 2021-04-27 2022-06-23 Kuka Deutschland Gmbh Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen
CN114378840A (zh) * 2021-12-20 2022-04-22 西安北方华创微电子装备有限公司 半导体工艺设备中传输系统的控制方法和半导体工艺设备
CN116141338A (zh) * 2023-04-18 2023-05-23 广东隆崎机器人有限公司 双臂机器人的控制方法、计算机存储介质及双臂机器人
CN116394266A (zh) * 2023-06-08 2023-07-07 国网瑞嘉(天津)智能机器人有限公司 一种机器人自碰撞处理方法、装置、机器人及介质
CN116394266B (zh) * 2023-06-08 2023-10-20 国网瑞嘉(天津)智能机器人有限公司 一种机器人自碰撞处理方法、装置、机器人及介质

Similar Documents

Publication Publication Date Title
DE19625637A1 (de) Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
DE102004027944B4 (de) Verfahren zum Schützen eines Roboters gegen Kollisionen
EP3013537B1 (de) Verfahren und system zur programmierung eines roboters
Chang et al. Collision avoidance of two general robot manipulators by minimum delay time
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
DE102006007623B4 (de) Roboter mit einer Steuereinheit zum Steuern einer Bewegung zwischen einer Anfangspose und einer Endpose
Albus et al. Hierarchical control of intelligent machines applied to space station telerobots
DE112021001104T5 (de) Bewegungsplanungsverfahren mit kollisionsvermeidung für industrieroboter
Oh et al. Cable-suspended planar parallel robots with redundant cables: Controllers with positive cable tensions
EP3532254A1 (de) Verfahren zur kollisionsfreien bewegungsplanung
DE102021107495A1 (de) Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern
DE19810341C2 (de) Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum
Shah et al. 3d cooperative pythagorean hodograph path planning and obstacle avoidance for multiple uavs
Galin et al. Mathematical modelling and simulation of human-robot collaboration
DE102020116900B3 (de) Verfahren zum Bestimmen der Manipulierbarkeit einer Handhabungsvorrichtung und Verfahren zum Bestimmen der Tragfähigkeit einer Handhabungsvorrichtung und Handhabungsvorrichtung
Peng et al. Coordinating multiple double integrator robots on a roadmap: Convexity and global optimality
DE19800552A1 (de) Verfahren zur Kommandosteuerung eines Manipulators
Vasseur et al. Navigation of car-like mobile robots in obstructed environments using convex polygonal cells
DE102012010856A1 (de) Verfahren und Mittel zur Überwachung einer Roboteranordnung
Alonso-Mora Collaborative motion planning for multi-agent systems
Cesarone et al. Mobile robot routing with dynamic programming
Li et al. Volumetric view planning for 3D reconstruction with multiple manipulators
Kim et al. Generation of a 3D robot path for collision avoidance of a workpiece based on voxel and vector field
Xue et al. Determining the collision-free joint space graph for two cooperating robot manipulators
DE102021125628B3 (de) Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken

Legal Events

Date Code Title Description
8120 Willingness to grant licenses paragraph 23
8130 Withdrawal