DE19625637A1 - Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen - Google Patents
Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von KollisionsbereichenInfo
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39083—Robot 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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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₂
β = γ - k₂ |γ = α
=α - k₂
s₁ = l₁cos(90 - k₁)
s₂ = l₂cos(90 - k₁ - k₂) (6)
s₂ = l₂cos(90 - k₁ - k₂) (6)
y′ = l₁cos(90 - k₁) + l₂cos(90 - k₁ - k₂)
= s₁ + s₂ (7)
= 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.
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.
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.
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.
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)
β = 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)
θ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)
θ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)
θ* = 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.
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)
β = β + (ϕk + ϕs) (23)
und in der zweiten Schleife an entsprechender Position die Anweisungen
α = α + (ϕk + ϕs)
β = β - (ϕk + ϕs) (24)
β = β - (ϕ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.
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.
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
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
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.
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.
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.
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.
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.
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.)
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
χ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
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.
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.
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.
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.
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.
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
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.
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.
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.)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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ß
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
03640 00070 552 001000280000000200012000285910352900040 0002019625637 00004 03521<
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.
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.
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)
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 | 国网瑞嘉(天津)智能机器人有限公司 | 一种机器人自碰撞处理方法、装置、机器人及介质 |
-
1996
- 1996-06-26 DE DE1996125637 patent/DE19625637A1/de not_active Withdrawn
Cited By (46)
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 |