-
AUSSAGE HINSICHTLICH STAATLICH GEFÖRDERTER FORSCHUNG ODER ENTWICKLUNG
-
Diese Erfindung wurde mit Regierungsunterstützung unter dem NASA Space Act Agreement mit der Nummer SAA-AT-07-003 durchgeführt. Die Regierung kann bestimmte Rechte an der Erfindung besitzen.
-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft die Steuerung einer Handgelenkanordnung oder eines anderen Robotermechanismus in einem Robotersystem.
-
HINTERGRUND DER ERFINDUNG
-
Geschickte Roboter sind in der Lage, Objekte unter Verwendung einer Reihe mechanischer Verbindungen, welche wiederum über ein oder mehrere motorgetriebene Robotergelenke verbunden sind, präzise zu ergreifen und zu manipulieren. Greiforgane sind die speziellen mechanischen Verbindungen, die verwendet werden, um eine anstehende gegebene Aufgabe durchzuführen, etwa das Ergreifen und Manövrieren eines Arbeitswerkzeugs oder eines anderen Objekts. Humanoide Roboter sind ein spezieller Typ von geschicktem Roboter mit einer annähernd menschlichen Struktur, beispielsweise einem vollständigen Körper, einem Torso, einer oder mehreren Händen und/oder anderen Gliedmaßen. Die Komplexität der Struktur und der Steuerung jedes Robotersystems hängt in großem Maße von den befohlenen Arbeitsaufgaben ab und daher stellen geschickte Roboter eine erheblich größere Steuerungsherausforderung im Vergleich zur Steuerung herkömmlicher Roboter dar.
-
Geschickte Roboter können ein oder mehrere Greiforgane enthalten, wie etwa eine Roboterhandgelenkanordnung, die ein offenes Handgelenk aufweist, dessen korrekte Steuerung eine präzisere Handhabung eines ergriffenen Objekts ermöglichen kann. Ein offenes Handgelenk führt zu Handgelenks-Freiheitsgraden, die durch indirekte Antriebe in einem Mechanismus mit einer geschlossenen kinematischen Kette (engl. closedchain mechanism) betätigt werden. Die Zuordnung zwischen dem Stellgliedraum beliebiger geschwindigkeitsgesteuerter Handgelenksstellglieder und dem Gelenkraum selbst ist daher gekoppelt und nichtlinear, wie auf dem Gebiet verstanden wird. Daher kann ein derartiges Handgelenk dazu führen, dass ein unregelmäßig geformter zulässiger Arbeitsraum vorhanden ist. Die stabile Arbeitsweise eines Robotermechanismus, der in einem derartigen Arbeitsraum arbeitet, ist für die optimale Funktion des Robotersystems von höchster Bedeutung.
-
Die Druckschrift
US 2010/0 061 835 A1 offenbart einen humanoiden Roboter mit einer Roboterhand, welche die Anzahl der benötigten Aktoren minimiert und Beugewinkel von Gelenken der Roboterhand durch Drehmomentbegrenzer einstellt, um Finger flexibel zu steuern. Die Glieder sind durch Kraftübertragungsvorrichtungen miteinander verbunden.
-
In der Druckschrift
US 2009/0 118 864 A1 ist ein Verfahren zum Suchen eines Werkzeugmittelpunkts für einen Roboter unter Verwendung einer Kamera offenbart, um eine Beziehung zwischen einem Handgelenk-Bezugssystem und einem Werkzeug-Bezugsystem herzustellen. In einem von der Kamera erfassten Bild des Werkzeugs wird der Werkzeugmittelpunkt zugewiesen. Eine Beziehung zwischen einem errechneten Werkzeugmittelpunkt und dem Handgelenk-Bezugssystem wird auf diese Weise definiert.
-
Die Druckschrift
US 7 407 208 B2 offenbart einen Gelenkantriebsmechanismus für einen Roboterfinger, der aus mehreren durch Gelenke verbundenen Fingergliedern besteht. Der Gelenkantriebsmechanismus weist Aktoren auf, die sich beim Anlegen eines elektrischen Signals ausdehnen oder zusammenziehen und auf diese Weise die über Sehnen verbundenen Gelenke bewegen.
-
In der Druckschrift
US 6 860 169 B2 ist eine Manipulationseinheit offenbart, die eine Hand aufweist, die mit zwei Universalgelenken mit drei Freiheitsgraden sowie einem Universalgelenk mit zwei Freiheitsgraden am Handgelenk eines Roboters derart angebracht sind, dass die Rotationsmittelpunkte der insgesamt drei Freiheitsgrade übereinstimmen.
-
Die Druckschrift
WO 2009/084 142 A1 offenbart eine Roboterhand, bei der der Einfluss eines singulären Punkts bei Greifvorgängen weitgehend vermieden wird, indem ein Gelenk zur Kopplung eines Fingers mit einer Handfläche der Roboterhand zwei Achsen aufweist, um den Finger abzubiegen relativ zur Handfläche zu verschwenken.
-
Die Aufgabe der Erfindung besteht darin, einen Robotermechanismus mit Freiheitsgraden, die von gekoppelten und nicht direkten Gelenkstellgliedern betätigt werden, in einem komplex ausgestalteten Arbeitsraum stabil so zu betreiben, dass Begrenzungen des Arbeitsraums nicht überschritten werden.
-
Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Entsprechend wird hier ein softwarebasiertes Verfahren bereitgestellt, um eine komplexe polygone Arbeitsraumbegrenzung eines geschwindigkeitsgesteuerten Robotermechanismus zu erzwingen, z. B. einer Roboter-Handgelenkanordnung, die auf Geschwindigkeitssteuersignale reagiert. Das vorliegende Verfahren ist auf jeden gekoppelten und komplexen Arbeitsraum anwendbar, bei dem die Freiheitsgrade (DOF) des Robotermechanismus durch gekoppelte und nicht direkte Gelenkstellglieder betätigt werden. Aufgrund der gekoppelten Zuordnung zwischen den DOF und den Gelenkstellgliedern werden die Begrenzungen des Arbeitsraums in Software statt als einfache harte Anschläge implementiert. Obwohl zur Veranschaulichung hier ein Handgelenksmechanismus mit geschlossener kinematischer Kette verwendet wird, kann das vorliegende Verfahren auch auf den Arbeitsraum eines beliebigen Manipulators mit einer seriellen kinematischen Kette angewendet werden.
-
Der komplexe Arbeitsraum des Robotermechanismus ist hier durch ein konvexes Polygon definiert, d. h. einen konvexen Satz, der durch n Ecken in einem realen Vektorraum definiert ist, wie auf dem Gebiet der Mathematik gut verstanden wird. Ein konvexer polygonaler Arbeitsraum kann dem Robotermechanismus einen deutlich erhöhten Bewegungsraum relativ zu einem herkömmlichen rechteckigen Arbeitsraum bereitstellen. Außerdem beseitigt das Verfahren ein softwareinduziertes Anhaften, Abgleiten und Flattern entlang der Begrenzung, d. h. entlang der Ränder und in den Ecken des Arbeitsraums.
-
Insbesondere wird hier ein Robotersystem bereitgestellt, das einen Robotermechanismus enthält. Der Robotermechanismus reagiert auf Geschwindigkeitssteuersignale und weist einen zulässigen Arbeitsraum auf, d. h. einen Arbeitsraum, der von mehreren Gelenken des Mechanismus gleichzeitig abhängt. In dem System bestimmt eine Hostmaschine eine Position eines Bezugspunkts am Robotermechanismus mit Bezug auf die Begrenzung. Die Hostmaschine enthält einen Algorithmus zum Erzwingen der Begrenzung, indem die Geschwindigkeitssteuersignale als eine Funktion der Bezugspunktposition mit Bezug auf die Begrenzung automatisch umgeformt werden, wodurch ein glatter und ungestörter Betrieb des Robotermechanismus entlang der Ränder und Ecken der Begrenzung bereitgestellt wird.
-
Es wird auch eine Hostmaschine bereitgestellt, die zur Verwendung in einem Robotersystem ausgelegt ist. Wie vorstehend angemerkt enthält das System einen Robotermechanismus, der auf Geschwindigkeitssteuersignale reagiert. Die Hostmaschine enthält ein Hardwaremodul, das mit dem Robotermechanismus elektrisch verbunden ist und das eine Position eines Bezugspunkts an dem Robotermechanismus mit Bezug auf die komplexe polygonale Begrenzung bestimmt, z. B. unter Verwendung von Gelenksensoren oder anderen Sensoren. Die Hostmaschine enthält einen Algorithmus zum Erzwingen der Begrenzung. Eine Ausführung des Algorithmus durch das Hardwaremodul formt die Geschwindigkeitssteuersignale als eine Funktion der Bezugspunktposition mit Bezug auf die Begrenzung automatisch um, wodurch ein glatter und ungestörter Betrieb des Robotermechanismus entlang der Ränder und in den Ecken der Begrenzung bereitgestellt wird. Übergangs- bzw. Transitionspuffer, die in der Nähe der Ränder und Ecken der Begrenzung angewendet werden, stellen ein stabiles flatterfreies Verhalten sicher, speziell bei hohen Geschwindigkeiten und/oder externen Kräften.
-
Es wird auch ein Verfahren bereitgestellt, um die vorstehend erwähnte konvexe polygonale Begrenzung zu erzwingen. Das Verfahren umfasst, dass bestimmt wird, ob der Bezugspunkt am Mechanismus innerhalb der Begrenzung liegt und dass das bzw. die Geschwindigkeitssteuersignale als eine Funktion der Distanz des Bezugspunkts relativ zu der Begrenzung automatisch umgeformt werden, wodurch ein glatter und ungestörter Betrieb des Robotermechanismus entlang der Ränder und Ecken der Begrenzung sichergestellt wird.
-
Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich leicht aus der folgenden genauen Beschreibung der besten Arten zum Ausführen der Erfindung, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine schematische Darstellung in perspektivischer Ansicht eines Robotersystems, das gemäß der vorliegenden Erfindung steuerbar ist;
-
2 ist eine perspektivische Darstellung in Draufsicht einer Roboterunterarmanordnung des in 1 gezeigten Robotersystems;
-
3 ist eine schematische Darstellung eines beispielhaften konvexen polygonalen Arbeitsraums für eine Handgelenkanordnung der in 2 gezeigten Roboterunterarmanordnung;
-
4 ist ein Flussdiagramm, das ein Verfahren zum Anwenden von Arbeitsraumgrenzen in der in 2 gezeigten Handgelenkanordnung beschreibt;
-
5 ist eine schematische Darstellung eines konvexen Polygons, das zum Erzwingen von Arbeitsraumgrenzen an der in 2 gezeigten Handgelenkanordnung verwendet werden kann;
-
6 ist eine weitere schematische Darstellung eines konvexen Polygons, das zum Erzwingen von Arbeitsraumgrenzen an der in 2 gezeigten Handgelenkanordnung verwendet werden kann;
-
7 ist eine schematische Darstellung eines konvexen polygonalen Arbeitsraums, die zur Erläuterung einer Geschwindigkeitsverteilung für die in 2 gezeigte Handgelenkanordnung verwendet wird;
-
8 ist ein Einheitskreis, der eine Geschwindigkeitsverteilung an einer Ecke des konvexen polygonalen Arbeitsraums von 7 zeigt; und
-
9 ist eine schematische Darstellung eines durch Software-Federn erzwungenen konvexen polygonalen Arbeitsraums der in 2 gezeigten Handgelenkanordnung.
-
GENAUE BESCHREIBUNG
-
Mit Bezug auf die Zeichnungen, bei denen gleiche Bezugszeichen in den verschiedenen Ansichten gleiche oder ähnliche Komponenten bezeichnen und mit 1 beginnend, ist ein Robotersystem 10 ausgelegt, um eine oder mehrere geschickte und automatisierte Aufgaben durchzuführen. Das Robotersystem 10 ist mit voneinander unabhängig und/oder voneinander abhängig bewegbaren Robotergelenken ausgestaltet, wie etwa ohne Einschränkung einem Schultergelenk, dessen Position allgemein durch einen Pfeil A angezeigt ist. Das Robotersystem 10 kann auch ein Ellenbogengelenk (Pfeil B), ein Handgelenk (Pfeil C), ein Nackengelenk (Pfeil D), ein Taillengelenk (Pfeil E) und verschiedene Finger/Daumengelenke (Pfeil F) enthalten.
-
Außerdem enthält das Robotersystem 10 eine Unterarmanordnung 12 mit einer oder mehreren antropomorphen und geschickten Händen 14, die jeweils über eine Handgelenkanordnung 16 bewegbar sind. Jede Hand 14 kann wie gezeigt einen oder mehrere Finger und einen gegenüberstellbaren Daumen enthalten, welche im Betrieb zusammen in der Lage sind, ein Objekt 20 in der gleichen Hand oder in einem zusammenwirkenden Griff zwischen verschiedenen Händen zu ergreifen. Die Handgelenkanordnung 16 bildet einen Robotermechanismus mit geschlossener kinematischer Kette, der über ein Verfahren oder einen Algorithmus gesteuert werden kann, das bzw. der hier offengelegt wird. Obwohl die Steuerung einer Handgelenkanordnung 16 nachstehend beschrieben wird, kann das vorliegende Verfahren auch auf die Steuerung anderer Robotermechanismen im Robotersystem 10 angewendet werden, wie der Fachmann versteht.
-
Eine Hostmaschine (HOST) 18 ist über die Ausführung eines Steueralgorithmus 100 ausgelegt, um bestimmte definierte Arbeitsraumgrenzen an der Handgelenkanordnung 16 zu erzwingen, indem sie Geschwindigkeitssteuersignale (Pfeil 11) wie nachstehend offengelegt umformt und anwendet. Dieses Erzwingen stellt einen unregelmäßig geformten oder konvexen polygonalen Arbeitsraum und einen glatten stabilen Betrieb der Handgelenkanordnung 16 entlang der Randsegmente oder Ränder und Ecken ihrer Begrenzung bereit, wie nachstehend mit Bezug auf 3–9 ausführlich beschrieben wird.
-
Die Hostmaschine 18 enthält ein geeignet ausgestaltetes Hardwaremodul 22, das mit dem Mechanismus, der gesteuert wird, z. B. der Handgelenkanordnung 16, elektrisch verbunden ist. Das Hardwaremodul 22 kann eine(n) oder mehrere digitale Computer oder Datenverarbeitungseinrichtungen mit einem oder mehreren Mikroprozessoren oder einer oder mehreren zentralen Verarbeitungseinheiten (CPU), genügend Festwertspeicher (ROM) und genügend Speicher mit wahlfreiem Zugriff (RAM) enthalten. Das Hardwaremodul 22 kann auch löschbaren elektrisch programmierbaren Festwertspeicher (EEPROM), einen Hochgeschwindigkeitstaktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und benötigte Eingabe/Ausgabe-Schaltungen (E/A-Schaltungen) und -Einrichtungen sowie geeignete Signalaufbereitungs- und Pufferelektronik enthalten. Einzelne Steueralgorithmen, die im Hardwaremodul 22 vorhanden sind oder für dieses leicht zugänglich sind, welche den mit Bezug auf 4 nachstehend beschriebenen Algorithmus 100 enthalten, können nach Bedarf vom Modul automatisch ausgeführt werden, um die benötigte Steuerfunktionalität bereitzustellen.
-
Mit Bezug auf 2 ist in größerem Detail gezeigt, dass die Unterarmanordnung 12 die Handgelenkanordnung 16 enthält. Wie vorstehend erwähnt wurde, ist die Handgelenkanordnung 16 ein Robotermechanismus, der zur Steuerung durch das vorliegende Verfahren geeignet ist, und daher wird die Handgelenkanordnung von 2 hier nachstehend zu Darstellungszwecken verwendet. Eine Bewegung der Handgelenkanordnung 16 wird durch ein oder mehrere Stellglieder 24 bereitgestellt. Bei einer Ausführungsform können die Stellglieder 24, z. B. lineare Zug/Schub-Stellglieder wie etwa spannungs- und/oder krafterzeugende Gelenkmotoren, wie gezeigt in der Struktur der Unterarmanordnung 12 eingebettet sein.
-
Somit ist die Handgelenkanordnung 16 in verschiedene Richtungen bewegbar, und sie ist daher entlang verschiedener Schwenkachsen (θ) und Gierachsen (φ) bewegbar. Die Position der Handgelenkanordnung 16 kann über Sensoren 15 ermittelt werden, wobei die Messwerte von den Sensoren an die Hostmaschine 18 von 1 übertragen werden. Die Sensoren 15 können Gelenksensoren, die zur Ermittlung von Gelenkwinkeln entlang der Schwenk- und Gierachsen ausgelegt sind, und/oder andere Einrichtungen enthalten, die zur Bestimmung der Position eines Bezugspunkts an der Handgelenkanordnung 16 wie nachstehend offengelegt und zum Weiterleiten der Positionsinformationen an die Hostmaschine 18 von 1 geeignet sind. Die Handgelenkanordnung 16 kann über die Stellglieder 24 über indirekte Antriebe in einem Mechanismus mit geschlossener kinematischer Kette bewegt werden, wobei dadurch eine benötigte Zuordnung zwischen den Stellgliedräumen und den Gelenkräumen gekoppelt und nichtlinear ist, d. h. die Zuordnung zwischen den Freiheitsgraden der Gelenke und Stellglieder ist derart gekoppelt, dass die Geschwindigkeit eines Gelenks eine Funktion der Geschwindigkeit seiner mehreren Stellglieder ist. Aus diesem Grund weist die Handgelenkanordnung 16 eine unregelmäßig geformte oder konvexe polygonale Begrenzung eines zulässigen Arbeitsraums auf, wie nun mit Bezug auf 3 erläutert wird.
-
Mit Bezug auf 3 kann ein zulässiger Arbeitsraum 30 für die in 2 gezeigte Handgelenkanordnung 16 durch eine konvexe polygonale Begrenzung 40 definiert sein, ein Begriff, der auf dem Gebiet verstanden wird und vorstehend beschrieben ist. Der Arbeitsraum 30 kann wie gezeigt auf den Schwenkachsen (θ) und Gierachsen (φ) aufgezeichnet werden. Der Arbeitsraum 30 kann durch viele verschiedene Faktoren physikalisch begrenzt sein. Wie in 3 schematisch gezeigt ist, kann der Arbeitsraum 30 teilweise durch die große Nähe zu empfindlichen Drähten (Merkmal 32), mathematische Singularitäten (Merkmal 34), wie etwa Schwenkgrenzen, und harte Anschläge (Merkmal 36), z. B. Kontakt mit einem Gehäuse (nicht gezeigt) für die Unterarmanordnung 12 von 2 begrenzt sein. Andere Variablen, entweder physikalisch oder virtuell, können den Arbeitsraum 30 auf ähnliche Weise definieren und/oder begrenzen.
-
Die Gelenkgrenzen an einem herkömmlichen Roboter sind typischerweise voneinander unabhängig definiert, was in 3 als ein an den Achsen ausgerichtetes Rechteck erscheinen würde. Der herkömmliche Arbeitsraum kann daher in großem Umfang auf ein konvexes Polygon erweitert werden, beispielsweise ein Polygon, wie es in 3 gezeigt ist, um dadurch das Verhalten der Handgelenkanordnung 16 zu optimieren. Die erweiterte komplexe Natur des Arbeitsraums führt jedoch zu einem erheblich gestiegenen Niveau an benötigter Steuerungskomplexität.
-
Mit Bezug auf 4 ermöglicht der Algorithmus 100 der vorliegenden Erfindung auf automatische Weise, dass eine geschwindigkeitsbasierte Steuerung in einem unregelmäßig geformten Arbeitsraum auftritt, beispielsweise dem vorstehend erwähnten Arbeitsraum 30, um einen glatten, stabilen und ungestörten Betrieb des gesteuerten Robotermechanismus entlang der Begrenzung, z. B. der in 3 gezeigten Begrenzung 40 bereitzustellen. Aus diesem Grund weist der Algorithmus 100 zwei Schlüsselmerkmale auf: (1) konvexe polygonale Managementtechniken und (2) eine Geschwindigkeitsverteilungszuordnung oder -Logik, welche beide nachstehend weiter erläutert werden. Obwohl zur konzeptionellen Darstellung in der gesamten vorliegenden Arbeit zwei Freiheitsgrade (DOF) verwendet werden, können auch drei oder mehr DOF verwendet werden, wie der Fachmann versteht.
-
Die Ausführung des Algorithmus 100 identifiziert automatisch die Begrenzung 40 des Arbeitsraums 30 unter Verwendung eines Bogensegmenttests, bestimmt, ob ein Bezugspunkt (P) in dem Bogen des Mechanismus innerhalb des Arbeitsraums 30 liegt und formt die Geschwindigkeitssteuersignale 11 von 1 als eine Funktion der Distanz des Bezugspunkts (P) von der Begrenzung 40 um. Bei einer Ausführungsform formt die Hostmaschine 18 von 1 eine Ausgangsgeschwindigkeit über Signale 11 an den Mechanismus in einer Weise um und wendet diese an, wenn der Bezugspunkt (P) außerhalb des Arbeitsraums 30 liegt, und sie wendet die Ausgangsgeschwindigkeit in einer anderen Weise an, wenn der Bezugspunkt (P) innerhalb des Arbeitsraums liegt.
-
Mit Bezug kurz auf 5 kann der Arbeitsraum 30 durch seine mehreren Eckpunkte definiert sein, welche bei dem gezeigten Beispiel fortschreitend mit 1–5 nummeriert sind. Der Arbeitsraum 30 kann in verschiedene benachbarte Bogensegmente 50 (siehe 6) unterteilt werden, wie durch die Linien definiert ist, die vom Schwerpunkt 52 radial nach außen gezogen sind. Die Identifikation des speziellen Bogensegments 50, in welchem der Bezugspunkt liegt, spielt eine wichtige Rolle bei der anschließenden Geschwindigkeitsumformungslogik, die nachstehend offengelegt ist.
-
Wieder mit Bezug auf 4 beginnt der Algorithmus 100 mit Schritt 102, bei dem eine Sollgeschwindigkeit in die in 1 gezeigte Hostmaschine 18 als Geschwindigkeitssteuersignale 11 eingegeben wird und die aktuelle Position der Handgelenkanordnung 16 bestimmt wird, z. B. unter Verwendung der Sensoren 15 oder anderer geeigneter Mittel. Die aktuelle Position ist der vorstehend erwähnte Bezugspunkt (P). Der Algorithmus 100 geht dann zu Schritt 104 weiter.
-
Bei Schritt 104 wird das Bogensegment 50 der Handgelenkanordnung 16 identifiziert. Mit Bezug auf 6 sind die Winkel (φ1 – φ5) gezeigt, unter denen die Vektoren von einem Bezugspunkt (P) an dem Mechanismus voneinander weg verlaufen. Der Algorithmus 100 ermittelt, innerhalb welches speziellen Bogensegments 50 der Bezugspunkt (P) liegt. Die Antwort bestimmt, welches Liniensegment der Begrenzung 40 und welcher entsprechende Normalvektor für die nachstehend beschriebenen Geschwindigkeitsumformschritte verwendet werden sollen.
-
θi kann als der Winkel zwischen r ^CP und r ^C1 betrachtet werden, wie in 5 gezeigt ist, wobei C den Schwerpunkt 52 bezeichnet. Zum Testen, ob ein Bezugspunkt (P) in dem Segment „12” von 5 liegt, müssen beispielsweise die folgenden zwei Bedingungen erfüllt sein: (rCP × rC1)·k ^(rCP × rC2)·k ^ < 0 θ1 + θ2 < π wobei k ^ den Einheitsvektor aus der Ebene heraus darstellt. Die erste Bedingung stellt sicher, dass der Bezugspunkt (P) entweder zwischen den zwei Eckvektoren rC1 und rC2 oder den Negativen der zwei Eckvektoren –rC1 und –rC2 liegt. Die zweite Bedingung beseitigt die letztere Möglichkeit. Obwohl man innerhalb der Umgrenzungslinie des Arbeitsraums 30 das nächstliegendste Liniensegment einfach finden kann, kann dies außerhalb der Umgrenzungslinie eine unkorrekte Grenzlinie identifizieren. Zur Darstellung wird hier angenommen, dass der Bezugspunkt (P) im Segment „12” liegt, und dass er näher beim rechten Rand als beim linken liegt, d. h. θ2 < θ1. Entsprechend ist n1 die primäre Normale bzw. Senkrechte und die n2 die sekundäre Normale, wie in 5 gezeigt ist. Im gleichen Sinn bezeichnet d1 die Distanz vom Bezugspunkt (P) zu einer primären Begrenzung und d2 ist die Distanz zu einer sekundären Begrenzung, wie nachstehend offengelegt ist.
-
Wieder mit Bezug auf 4 ermittelt die Hostmaschine 18 von 1 bei Schritt 106, ob der Bezugspunkt (P) innerhalb der Umgrenzungslinie der Begrenzung 40 liegt. Wenn dies zutrifft, geht der Algorithmus 100 zu Schritt 108 weiter. Wenn der Bezugspunkt (P) nicht innerhalb der Begrenzungen 40 liegt, geht der Algorithmus 100 zu Schritt 107 weiter.
-
Schritt
106 kann auf zwei Weisen durchgeführt werden. Bei der ersten werden die Vektoren r
Pi betrachtet, die vom Bezugspunkt (P) zueinander gezeichnet wurden, wie in
6 gezeigt ist. φ
i stellt den Winkel zwischen zwei aufeinander folgende Vektoren dar. Winkel zwischen Vektoren können in dem Bereich [0, π] definiert werden. Der Bezugspunkt (P) wird in der Umgrenzungslinie des Arbeitsraums
30 dann und nur dann liegen, wenn:
-
Der zweite Weg, der auf höhere DOFs skalierbar ist, umfasst das Betrachten der Normalvektoren für jedes Liniensegment der Begrenzung
40. n
i sei der Einheitsvektor in der Normalrichtung für das Segment i. Diese Normale muss so definiert sein, dass sie in den Arbeitsraum
30 hineinzeigt. Die Normalvektoren werden somit mit Bezug auf den Schwerpunkt
52 hergeleitet, da garantiert ist, dass der Schwerpunkt innerhalb des Arbeitsraums
30 liegt. Daher:
-
Es ist zu beachten, dass der Zähler (i + 1) auf 1 springt bzw. überläuft, wenn i = n. Entsprechend liegt der Bezugspunkt (P) in der Umgrenzungslinie dann und nur dann, wenn: riP – ni > 0, ∀i.
-
Nachdem bei Schritt 104 der korrekte Bogen ermittelt wurde und bei Schritt 106 ermittelt wurde, dass der Bezugspunkt (P) außerhalb der Begrenzung des Arbeitsraums 30 liegt, projiziert und skaliert oder formt die Hostmaschine 18 bei Schritt 107 die Geschwindigkeitssteuersignale 11 um und geht dann zu Schritt 109 weiter. Die Geschwindigkeitssteuersignale 11 für die Handgelenkanordnung 16 müssen automatisch umgeformt werden, um die Begrenzungen 40 durch Software zu erzwingen. Wie der Fachmann versteht, kann die Begrenzung 40 aufgrund der gekoppelten Zuordnung zwischen den DOFs und den Stellgliedern 24 der Handgelenkanordnung 16 von 2 unter Verwendung einfacher Gelenkbegrenzungen nicht in Hardware implementiert werden.
-
Mit Bezug auf 7 ist eine Momentaufnahme zulässiger Geschwindigkeitsverteilungsmuster 56, 58 mit Bezug auf die Begrenzung 40 gezeigt. Diese Verteilungsmuster 56, 58 spiegeln zwei Schlüsselüberlegungen wider. Erstens sollte, wenn der Bezugspunkt (P) außerhalb des Arbeitsraums 30 liegt, jede Normalkomponente, die von der Begrenzung 40 wegzeigt, von der Hostmaschine 18 automatisch auf null gesetzt werden. Dieser Schritt verhindert, dass sich der Bezugspunkt (P) von der Begrenzung 40 wegbewegt, während er Tangentialgeschwindigkeiten entlang der Begrenzung dennoch erlaubt. Diese Tangentialgeschwindigkeiten sind wichtig, um es dem gesteuerten Robotermechanismus, z. B. der Handgelenkanordnung 16, zu ermöglichen, sich frei ohne ein softwareinduziertes Festsitzen und/oder Abgleiten zu bewegen und um zu ermöglichen, dass der Bezugspunkt (P) den Punkt auf der Begrenzung 40 findet, der einem Sollpunkt am nächsten liegt. Zweitens sollen alle Übergänge von einer Region zulässiger Geschwindigkeiten in eine andere stetig und allmählich sein, um Instabilitäten und Flattern zu vermeiden. Diese Übergänge treten sowohl an den Rändern als auch den Ecken der Begrenzung 40 auf, wie in 7 gezeigt ist.
-
Wenn daher bestimmt wird, dass der Bezugspunkt (P) außerhalb der Umgrenzungslinie der Begrenzung 40 liegt, wird jede Geschwindigkeitskomponente, die von der Begrenzung weg zeigt, automatisch auf null gesetzt. Dies führt zu den halbkreisförmigen Geschwindigkeitsverteilungsmustern 56, wie in 7 gezeigt ist. Zudem wird eine Geschwindigkeitskomponente überlagert, die zurück zu der Begrenzung 40 zeigt und proportional zu der Distanz von der Begrenzung ist.
-
Bei Schritt
108 und wie in
7 gezeigt ist, bestimmt der Algorithmus
100 von
4, wenn er innerhalb des Arbeitsraums
30 arbeitet, ob der Bezugspunkt (P) innerhalb eines vorbestimmten Puffers
55 liegt, welcher als das Gebiet zwischen der Begrenzung
40 und einer vorbestimmten inneren Begrenzung
40A definiert ist. Wenn dieser Puffer
55 durch eine Distanz (d
max) definiert ist, können die folgenden Gleichungen verwendet werden:
di = . 1 – di / dmax
-
Wenn der Bezugspunkt (P) außerhalb des Puffers 55 liegt, geht der Algorithmus 100 zu Schritt 112 weiter, wobei er andernfalls, wenn der Bezugspunkt (P) innerhalb des Puffers liegt, zu Schritt 110 weitergeht.
-
Bei Schritt 109 ermittelt die Hostmaschine 18, ob der Bezugspunkt (P) innerhalb des Puffers 55 von 7 liegt, und geht, wenn dem so ist, zu Schritt 111 weiter. Andernfalls geht der Algorithmus 100 zu Schritt 113 weiter.
-
Nachdem bei Schritt 108 ermittelt wurde, dass der Bezugspunkt (P) innerhalb des Puffers 55 liegt, blendet die Hostmaschine 18 von 1 entweder die Normalkomponente entlang der Begrenzung 40 ein, oder sie berücksichtigt Einblendungsübergänge an jeder Ecke des Arbeitsraums 30 in Abhängigkeit davon, wo sich der Bezugspunkt (P) befindet. Das heißt, dass die Normalkomponente der Geschwindigkeit allmählich auf null abgesenkt wird, um einen stetigen Übergang von innen nach außen bereitzustellen, wenn der Bezugspunkt (P) im Puffer 55 liegt und die Geschwindigkeit zu der Begrenzung 40 zeigt.
-
Wenn in einer Ecke des Arbeitsraums
30 gearbeitet wird, wird jede Normalkomponente der Geschwindigkeit von der Hostmaschine
18 nach unten skaliert, wenn sich ein Punkt innerhalb der Umgrenzungslinie der primären Begrenzung oder der Begrenzung
40 nähert. Das heißt, dass die Komponente einer Sollgeschwindigkeit, die in der Normalrichtung mit Bezug auf ein Nachbarsegment der Begrenzung
40 nach außen zeigt, allmählich verringert wird. Zudem wird die Tangentialgeschwindigkeit auch nach unten skaliert, wenn der Punkt in eine Ecke eintritt und sich der inneren Begrenzung
40A nähert. Unter der Verwendung einer zweistufigen Projektion skaliert die erste Stufe die Normalkomponente mit Bezug auf die innere Begrenzung
40A nach unten. Die zweite Projektion skaliert die Normalkomponente mit Bezug auf die primäre Begrenzung, d. h. die Begrenzung
40 nach unten. Die neue Regel für die Punkte innerhalb der Umgrenzungslinie an den Ecken ist:
-
Der Algorithmus 100 geht dann zu Schritt 112 weiter.
-
Bei Schritt 111 projiziert und skaliert die Hostmaschine 18 die Geschwindigkeitssteuersignale 11 und geht zu Schritt 113 weiter.
-
Bei Schritt 112 behält die Hostmaschine 20 die Sollgeschwindigkeit bei, d. h. sie gibt die Geschwindigkeitssteuersignale 11 ohne Veränderungen aus. Der Algorithmus 100 ist beendet.
-
Bei Schritt 113 wird eine virtuelle oder softwarebasierte „Feder” hinzugefügt, die proportional zu der Distanz des Bezugspunkts (P) von der Begrenzung 40 ist, d. h. f = kΔx. Die Handgelenkanordnung 16 wird durch Software in die Begrenzung 40 zurückgezwungen und die Geschwindigkeit wird an den Begrenzungen auf null skaliert.
-
Mit Bezug auf 8 wird zum Verständnis des Übergangs, der für eine virtuelle Federkomponente benötigt wird, der Vektor von einer Ecke zu dem Bezugspunkt (P) oder r2P betrachtet und auf einen Einheitskreis 60 abgebildet. Eine ideale Lösung würde die Federdefinition νs = kd1n1 auf alle Fälle außer denjenigen anwenden, bei denen r2P in Region I liegt. In Region I würde die Feder auf dem Vektor an die Ecke beruhen: νs = –kr2P. k ist die Proportionalverstärkung. Das Ergebnis ist ein stetiger und glatter Federwert, wenn sich der Bezugspunkt (P) von einem Segment zum nächsten bewegt. Unglücklicherweise würde der Versuch, den relativen Ort des Bezugspunkts (P) am Einheitskreis 60 zu ermitteln, eine nicht triviale Menge an zusätzlichen Berechnungen mit sich bringen. Der Ort des Einheitskreises 60 hängt von den Ergebnissen des oben erwähnten Bogensegmenttests ab und erfordert mehrere neue Winkelberechnungen.
-
Alternativ kann eine Näherungslösung ermittelt werden, die zufriedenstellend arbeitet und die die vorstehend berechneten Daten verwendet. Diese Lösung betrachtet den Eckwinkel θ
2 und blendet zwei benachbarte Normale ein, um eine stetige Veränderung bei der Richtung von einem Bogensegment zum nächsten bereitzustellen. Die neue Regel für die Federkomponente ist wie folgt:
-
Virtuelle, d. h. durch Software erzeugte Federn
70 zum systematischen Erzwingen der vorstehend offengelegten Regeln werden folglich von der Hostmaschine
18 verwendet, um die Begrenzung
40 zu erzwingen, wobei die Geschwindigkeitskomponente ν
s = kd
1n
1 ist. Insbesondere wird die durch die virtuellen Federn
70 bereitgestellte Federkomponente für rückfahrbare Systeme benötigt, wie dieser Begriff in der Technik verstanden wird. ν bezeichne die anfänglich gewünschte Geschwindigkeit und ν
0 die Ausgabe, die nach einer Geschwindigkeitsumformung befohlen wird. Die folgende Regel definiert die Geschwindigkeit innerhalb und außerhalb der Umgrenzungslinie:
-
Diese Regel sorgt für einen stetigen Übergang an die Seiten und Ecken des Arbeitsraums 30, jedoch kann der Übergang über das Bogensegment hinweg unstetig sein. Wenn der Bezugspunkt (P) von einem Bogensegment zum nächsten kreuzt, tauschen die primären und sekundären Grenzen Plätze. Wenn die zwei orthogonal sind, n1·n2 = 0, wird der Übergang stetig sein. Andernfalls wird eine kleinere Unstetigkeit entsprechend dem Grad an Nichtorthogonalität existieren.
-
Daher gibt der Algorithmus 100 bei Schritt 115 die Geschwindigkeitssteuersignale 11 an die Handgelenkanordnung 16 aus. Der Algorithmus 100 ist beendet.
-
Obwohl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, werden Fachleute auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Entwürfe und Ausführungsformen zum Umsetzen der Erfindung im Umfang der beigefügten Ansprüche erkennen.