-
Diese Erfindung wurde mit Regierungsunterstützung unter dem NASA Space Act Agreement mit der Nummer SAA-AT-07-003 durchgeführt. Die Regierung kann einige Rechte an der Erfindung besitzen.
-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft die Steuerung eines humanoiden Roboters unter Verwendung eines verteilten Rechnernetzwerks aus flexiblen Rechenmodulen oder Steuerungsknoten.
-
HINTERGRUND DER ERFINDUNG
-
Roboter sind Einrichtungen, die zum Manipulieren von Objekten unter Verwendung einer Reihe starrer Glieder in der Lage sind, welche wiederum über Gelenkverbindungen oder stellgliedgetriebene Robotergelenke, z. B. elektrische, pneumatische usw. miteinander verbunden sind. Jedes Gelenk in einem typischen Roboter stellt eine unabhängige Steuerungsvariable dar, die auch als ein Freiheitsgrad (DOF) bezeichnet wird. Greiforgane sind die speziellen Glieder, die zum Ausführen einer anstehenden Aufgabe verwendet werden, z. B. zum Ergreifen eines Werkezeugs oder eines Objekts. Eine präzise Bewegungssteuerung eines Roboters kann daher durch die Ebene der Aufgabenbeschreibung gegliedert sein: eine Steuerung auf Objektebene, d. h. die Fähigkeit zum Steuern des Verhaltens eines Objekts, das in einem Einzelgriff oder einem zusammenwirkenden Griff eines Roboters gehalten wird, eine Greiforgansteuerung und eine Steuerung auf Gelenkebene. Die verschiedenen Steuerungsebenen arbeiten zusammen, um gemeinsam die erforderliche Beweglichkeit, Geschicklichkeit und arbeitsaufgabenbezogene Funktionalität des Roboters zu erreichen.
-
Humaniode Roboter sind insbesondere Roboter, die eine annähernd menschliche Gestalt oder ein annähernd menschliches Erscheinungsbild aufweisen, sei es ein vollständiger Körper, ein Torso und/oder eine Gliedmaße, wobei die strukturelle Komplexität des humanoiden Roboters zu einem großen Teil vom Wesen der Arbeitsaufgabe abhängt, die ausgeführt wird. Die Verwendung von humanoiden Robotern kann dort bevorzugt sein, wo eine direkte Interaktion mit Einrichtungen oder Systemen notwendig ist, die speziell für den menschlichen Gebrauch hergestellt sind. Aufgrund des breiten Spektrums von Arbeitsaufgaben, die von einem humanoiden Roboter möglicherweise erwartet werden, können verschiedene Steuerungsmodi gleichzeitig benötigt werden. Zum Beispiel muss eine präzise Steuerung in den verschiedenen oben angegebenen Räumen sowie eine Kontrolle über das angewandte Drehmoment oder die angewandte Kraft, die Bewegung und die verschiedenen Grifftypen angewendet werden. Bei herkömmlichen industriellen Robotersteuerungssystemen wird die Roboterhardware durch eine einzige zentrale Steuerungseinheit ununterbrochen überwacht und gewartet. In Ansprechen auf zunehmende Freiheitsgrade und eine zugehörige Steuerungskomplexität kann es sein, dass ein derartiges System auf eine zunehmend ineffiziente Weise arbeitet.
-
Die Druckschrift
US 7 103 447 B2 offenbart einen Roboter und ein Steuerungsverfahren, das über eine Verhaltensschicht in der Form einer Baumstruktur verfügt, in der eine Vielzahl von Verhaltensmodulen, die voneinander in hohem Maß unabhängig sind, hierarchisch verbunden ist. Einzelne Module können durch ODER-, UND- und ABFOLGE-Verknüpfungen kombiniert werden, und neue Module können einfach hinzugefügt werden.
-
In der Druckschrift
US 6 850 818 B2 ist ein Roboter und ein Steuerungsverfahren offenbart, bei denen der Roboter einzelne asynchron empfangene Wahrnehmungsergebnisse zusammensetzt und an ein Verhaltensmodul weitergibt, wobei ein zeitweises Fehlen von Beobachtungsergebnissen folgenlos bleibt, da die Ergebnisse gespeichert sind. Somit wirken sich Fehler bei Erfassungsvorrichtungen und Sensorrauschen nicht aus.
-
Die Druckschrift
JP 2006-171 960 A offenbart ein hierarchisches verteiltes Steuerungssystem für Roboter, bei dem Module aus verschiedenen Hierarchieebenen, die zu einer Funktion gehören, jeweils durch Kommunikationsbusse verbunden sind, um die Kommunikationszeiten und den Verdrahtungsaufwand zu verringern.
-
In der Druckschrift
DE 601 26 153 T2 ist eine Gangmustererzeugungsvorrichtung für gehfähige Roboter offenbart, bei der auf die Anforderung zum Ändern der Gangart des Roboters Parameter der momentanen Gangart bestimmt werden und eine neue stabile Gangart vorgeschlagen wird. Die Parameter der momentanen Gangart werden korrigiert und unter Verwendung eines dynamischen Modells wird die neue Gangart erzeugt.
-
Die Druckschrift
DE 10 2005 044 412 A1 offenbart ein System zum Erfassen von Abnormalitäten eines Kraftsensors für einen mobilen Schreitroboter, der zwischen Fuß und Bein installiert ist und die Reaktionskraft des Bodens auf den Fuß des Roboters anzeigt. Beim Einschalten des Roboters tritt der Roboter auf der Stelle und die Ausgabe des Kraftsensors wird überwacht. Wenn diese Ausgabe nicht in einem vorbestimmten Bereich liegt, wird der Kraftsensor als abnormal klassifiziert.
-
In der Druckschrift
DE 600 12 458 T2 sind auf Beinen laufende Roboter und Steuerungsverfahren dafür offenbart, bei denen im Fall, dass festgestellt wird, dass der Roboter umgefallen ist, ein Aufsteh-Betriebsmuster ausgeführt wird, das eine Verlagerung am Rumpf durch eine vorher festgelegte Bewegung umfasst.
-
Die Aufgabe der Verbindung besteht darin, ein Steuerungsgerüst zur Steuerung eines geschickten humanoiden Roboters bereitzustellen, mit dem die Funktionalität des Roboters leicht skaliert werden kann, und das bei einer Unterbrechung oder einem Ausfall eines Steuerungsmoduls des Steuerungsgerüsts den Roboter in einen sicheren Zustand überführt, d. h. einen ”weichen Ausfall” bereitstellt.
-
Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Folglich wird hier ein verteiltes Steuerungsgerüst (DCF, DCF von Distributed Control Framework) zur Steuerung eines geschickten humanoiden Roboters bereitgestellt. Das DCF verwendet eine Reihe verteilter Controller, die über mehrere Hochgeschwindigkeitsnetzwerke kommunizieren, gemeinsam mit einer zentralisierten Abstraktionsschicht, um alle Steuerungs- und Rückkopplungsdaten zu zentralisieren und zu abstrahieren, welche zur Steuerung der Bewegung und anderer Funktionen des Roboters benötigt werden. Eine nahtlose Kopplung der Roboterkomponenten ermöglicht eine präzise Kontrolle über eine breite Vielfalt von nachgiebigen Robotergelenken und anderen Systemen sowohl externer als auch interner Art, welche die verschiedenen Gelenkservomotoren und Stellglieder umfassen, die die Bewegungskraft in und zwischen allen nachgiebigen Gelenken des humanoiden Roboters bereitstellen.
-
Das DCF enthält mehrere Rechensteuerungsknoten, d. h. eingebettete gedruckte Leiterplattenanordnungen (PCBA) oder Prozessoren, und externe Arbeitsstationsrechner, welche automatisch über die verschiedenen Netzwerke kommunizieren, um Funktionen von verschiedenen integrierten Systemkomponenten zu steuern und zu koordinieren, z. B. von Gelenken, Relais, Lasern, Lichtern, elektromagnetischen Befestigungselementen usw., und um dadurch die Aktionen des Roboters zu steuern. Der geschickte humanoide Roboter weist mehrere synchronisierte Gelenke auf, z. B. Schultern, Ellenbogen, einen Nacken, eine Taille, Handgelenke, Finger, Daumen usw., die sich auf synchrone Weise zusammen bewegen können, um eine spezielle Aktion durchzuführen. Ein derartiger humanoider Roboter kann ein Vielfaches der Anzahl von Freiheitsgraden (DOF) oder Richtungssteuerungsvariablen wie ein herkömmlicher Roboter aufweisen. Als Folge muss jedes Steuerungssystem, das die komplexe dynamische Bewegung eines derartigen Roboters zu koordinieren und zu steuern versucht, Steuerungs- und Rückkopplungsdaten schnell verarbeiten, die ein um Größenordnungen höheres Volumen wie dasjenige aufweisen, das bei herkömmlichen Robotersteuerungssystemen anzutreffen ist.
-
Das hier bereitgestellte DCF ermöglicht, dass eine große Menge an Steuerungs- und Rückkopplungsdaten für eine leichte Manipulation, Speicherung und Abfrage der Daten über das Netzwerk an einem einzigen Ort zentralisiert und abstrahiert werden, der hier als eine ”Abstraktionsschicht” bezeichnet wird. Die Hardware und die Steuerungsknoten können dynamisch konfiguriert werden und Roboterfunktionalität kann leicht skaliert werden, ohne dass eine Kompilierung eines komplexen Programmiercodes oder eine Zustandsmaschinenänderungen notwendig sind. Das heißt, dass die einzelnen Befehlsmodule durch die Dezentralisierung des DCF nach Bedarf leicht auf kurzfristige Weise eingebaut und entfernt werden können, um die benötigte Roboterfunktionalität bereitzustellen.
-
Im Umfang der vorliegenden Erfindung ist das DCF funktional redundant und kann über mehrere serielle Hochgeschwindigkeitsbusse, Ethernet, TCP/IP-Streams und Publisher/Subscriber-Datenlieferungssysteme arbeiten. Eine Sammlung von softwarebasierten Netzwerkkommunikationsmanagern (NCM) dient zum Koordinieren und Priorisieren einer Kommunikation im Roboter. Wenn ein spezielles Befehlsmodul während einer Befehlssitzung unterbrochen wird, kann der NCM ”weich ausfallen” und die Steuerung des Roboters in einen sicheren Zustand überführen, wodurch die Sicherheit des Roboters und seiner Bediener sichergestellt wird. Ein unterbrochenes Befehlsmodul kann bei einem Hardwareausfall automatisch in einen sicheren Zustand umschalten und wird versuchen, seinen Ausfallstatus an eine höhere Steuerungsautorität in der Hierarchie der verteilten Controller zu kommunizieren.
-
Die vorstehend erwähnte zentrale Abstraktionsschicht kann als eine softwaregetriebene Einrichtung ausgeführt sein, die alle Befehls- und Rückkopplungsdaten für den humanoiden Roboter an einem zentralen Ort kapselt oder zentralisiert. Ein derartiger Ort kann eine reale, d. h. eine physikalische Einrichtung sein, wie etwa der hier beschriebene Systembefehlshaber, obwohl der Ort auch ”abstrakt” in dem Sinn sein kann, dass die Daten zwischen den verschiedenen Einrichtungen des DCF ähnlich wie die Weise einer Internetdatenverteilung großflächig verteilt sein können, wobei ein Zugriff auf die Informationen über die vorgesehene Einrichtung bereitgestellt wird.
-
Die NCMs überwachen gemeinsam die Daten, die von den verschiedenen eingebetteten Controllern und einem Echtzeitcontroller oder Hirnstamm des humanoiden Roboters an die und aus der Abstraktionsschicht fließen. Ein Datenvermittlungsknoten oder -router kann mit jedem der verschiedenen Netzwerke verwendet werden, um geplante Aktualisierungen an die eingebetteten Prozessoren einzuhalten, welche für die Hardwaresteuerung verantwortlich sind. Diese zentrale Abstraktionsschicht beinhaltet die Grundsteuerungsfunktionalität des Roboters und ist zum Übergang in einen sicheren Zustand in der Lage, wenn dieser durch gewisse Schwellenwertereignisse wie vorstehend erwähnt ausgelöst 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 Veranschaulichung eines geschickten humanoiden Roboters und eines verteilten Steuerungsgerüsts (DCF) gemäß der Erfindung; und
-
2 ist eine schematische Veranschaulichung des Datenflusses des DCF zum Steuern des geschickten humanoiden Roboters von 1.
-
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Mit Bezug auf die Zeichnungen, in denen gleiche Bezugszeichen gleiche oder ähnliche Komponenten in den verschiedenen Ansichten bezeichnen, zeigt 1 einen geschickten humanoiden Roboter 10, der zum Ausführen einer oder mehrerer Aufgaben mit mehreren Freiheitsgraden (DOF) ausgelegt ist. Gemäß einer Ausführungsform ist der Roboter 10 mit einer Vielzahl von unabhängigen und voneinander abhängig bewegbaren nachgiebigen Robotergelenken ausgestaltet, wie etwa einem Schultergelenk (Pfeil A), einem Ellenbogengelenk (Pfeil B), einem Handgelenk (Pfeil C), einem Nackengelenk (Pfeil D) und einem Taillengelenk (Pfeil E) sowie den verschiedenen Fingergelenken (Pfeil F), die zwischen den Fingergliedern jedes Roboterfingers 19 positioniert sind, ohne aber darauf beschränkt zu sein.
-
Jedes Robotergelenk kann einen oder mehrere Freiheitsgrade aufweisen. Zum Beispiel können einige Gelenke, wie etwa das Schultergelenk (Pfeil A), das Ellenbogengelenk (Pfeil B) und das Handgelenk (Pfeil C) mindestens zwei Freiheitsgrade in der Gestalt von Nicken und Rollen aufweisen. Auf ähnliche Weise kann das Nackengelenk (Pfeil D) mindestens drei Freiheitsgrade aufweisen, während die Taille und dass Handgelenk (Pfeile E bzw. C) einen oder mehrere Freiheitsgrade aufweisen können. In Abhängigkeit von der Komplexität der Aufgabe kann sich der Roboter 10 mit über 42 Freiheitsgraden bewegen. Obwohl es zur Vereinfachung in 1 nicht gezeigt ist, enthält jedes Robotergelenk eines oder mehrere Stellglieder und wird dadurch angetrieben, z. B. Gelenkmotoren, lineare Stellglieder, rotatorische Stellglieder, elektrisch gesteuerte entgegengesetzt wirkende Sehnen und dergleichen.
-
Die Gelenke des Roboters 10 sind aufgrund der Aufnahme von Federn in allen Gelenken nachgiebig, d. h. im ausreichendem Maße nicht steif, und daher können Positionsmessgeber (nicht gezeigt) für das Stellglied oder die Servomotoren sowie für das Gelenk selbst verwendet werden, d. h. um Informationen über die Kraft bereitzustellen, die gerade auf das Gelenk aufgebracht wird. Zudem können 6-achsige Kraftdrehmomentsensoren zwischen nachgiebigen Gelenken vorhanden sein, die vollständige Kraftinformationen über den Status eines gegebenen nachgiebigen Gelenks aufnehmen.
-
Der humanoide Roboter 10 kann einen Kopf 12, einen Torso 14, eine Taille 15, Arme 16, Hände 18, Finger 19 und Daumen 21 umfassen, wobei die vorstehend angemerkten verschiedenen Gelenke darin oder dazwischen angeordnet sind. In Anhängigkeit von der speziellen Anwendung oder der beabsichtigten Verwendung des Roboters kann der Roboter 10 auch eine für die Aufgabe geeignete Halterung oder Basis (nicht gezeigt) enthalten, wie etwa Beine, Laufflächen oder eine andere bewegliche oder starre Basis. Eine Leistungsversorgung 13 kann am Roboter 10 einstückig montiert sein, z. B. ein wiederaufladbarer Batteriestapel, der auf der Rückseite des Torsos 14 mitgeführt oder getragen wird, oder eine andere geeignete Energieversorgung, die möglicherweise durch ein (nicht gezeigtes) externes Kabel angebracht ist, um genügend elektrische Energie an die verschiedenen Gelenke zur Bewegung derselben bereitzustellen.
-
Ein verteiltes Steuerungsgerüst (DCF) 24 stellt eine präzise Bewegungs- und Systemsteuerung der verschiedenen integrierten Systemkomponenten des humanoiden Roboters 10 bereit, z. B. der verschiedenen nachgiebigen Gelenke, Relais, Laser, Lichter, elektromagnetischen Befestigungselemente und anderen Komponenten, die zur Schaffung einer präzisen Kontrolle über den Roboter 10 benötigt werden, welche eine Kontrolle über die feinen und groben Bewegungen umfasst, die zum Manipulieren eines Objekts 20 benötigt werden, welches von den Fingern 19 und dem Daumen 21 einer oder mehrerer Hände 18 ergriffen sein kann. Das DCF 24 ist zur Steuerung jedes Robotergelenks isoliert von den anderen Gelenken sowie zur vollständigen Koordination der Aktionen von mehreren Gelenken beim Ausführen einer komplexeren Arbeitsaufgabe in der Lage.
-
Das DCF 24 kann mehrere digitale Rechner oder Datenverarbeitungseinrichtungen umfassen, die jeweils einen oder mehrere Mikroprozessoren oder zentrale Verarbeitungseinheiten (CPU), einen Festwertspeicher (ROM), einen Speicher mit wahlfreiem Zugriff (RAM), einen elektrisch programmierbaren Festwertspeicher (EPROM), einen Hochgeschwindigkeitstaktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und beliebige benötigte Eingabe/Ausgabe-Schaltungen (E/A-Schaltungen), E/A-Einrichtungen und Kommunikationsschnittstellen sowie eine Signalaufbereitungs- und Pufferelektronik aufweisen. Einzelne Steuerungsalgorithmen, die in dem DCF 24 vorhanden sind oder für dieses leicht zugänglich sind, können im ROM gespeichert sein und auf einer oder mehreren verschiedenen Steuerungsebenen automatisch ausgeführt werden, um die jeweilige Steuerungsfunktionalität bereitzustellen.
-
Immer noch mit Bezug auf 1 kann das DCF 24 bei einer Ausführungsform einen ersten Controller oder einen Controller auf oberer Ebene, der hier nachstehend als der Systembefehlshaber 25 bezeichnet wird, und einen zweiten Controller oder einen Echtzeitcontroller auf mittlerer Ebene umfassen, der hier nachstehend als der Hirnstamm 27 bezeichnet wird. Das DCF 24 umfasst auch mehrere eingebettete Gelenkcontroller 29, die jeweils im Roboter 10 nahe bei den Gelenken eingebettet sind, die von ihnen gesteuert werden, wie nachstehend beschrieben ist. Steuerungsdaten und Rückkopplungsdaten, die durch einen Doppelpfeil 11 dargestellt sind, werden zwischen dem Roboter 10 und verschiedenen Ebenen des DCF 24 ausgetauscht, die so erweitert werden können, dass sie zusätzliche Steuerungsebenen umfassen, ohne den beabsichtigten Umfang der Erfindung zu verlassen, um eine präzise komplexe Bewegung- und Systemsteuerung des Roboters 10 sicherzustellen. Das DCF 24 abstrahiert und zentralisiert die kollektiven Daten (Pfeil 11) an einem einzigen Ort, um eine Steuerung des humanoiden Roboters über die mehreren Kommunikationsnetzwerke hinweg zu erleichtern, wie nun mit Bezug auf 2 beschrieben wird.
-
Mit Bezug auf 2 ist das DCF 24 von 1 detaillierter gezeigt. Aufgrund des weiten Bereichs von Arbeitsaufgaben, die von dem geschickten humanoiden Roboter 10 gefordert werden, und der immens gewachsenen Steuerungskomplexität desselben ist die schnelle Verarbeitung und Koordination einer relativ großen Menge von Steuerungs- und Rückkopplungsdaten notwendig. Das DCF 24 ist daher so ausgestaltet, dass es robust ist, d. h. leicht modifizierbar ist, um nach Bedarf zusätzliche Steuerungsdaten und Befehlsmodulhardware und Algorithmen zu akzeptieren und damit zu arbeiten.
-
Wie vorstehend angemerkt wurde, kann ein herkömmliches zentralisiertes Steuerungssystem möglicherweise nicht flexibel genug sein, um einen komplexen humanoiden Roboter des Typs, der in 1 gezeigt ist, zu steuern, welcher in Abhängigkeit von der Komplexität der speziellen Aufgabe, die ausgeführt wird, bis zu 42 Freiheitsgrade oder mehr aufwiesen kann. Ein derartiger Roboter kann ein Sensorfassungsvermögen aufweisen, das um Größenordnungen höher als dasjenige ist, das bei herkömmlichen Robotercontrollern verarbeitet wird.
-
Das DCF 24 stützt sich daher auf eine Steuerungseinrichtung auf oberer Ebene oder einen Systembefehlshaber 25, mindestens einen Echtzeitcontroller auf mittlerer Ebene, der als Hirnstamm 27 bezeichnet wird, Sensorrückkopplungsknoten 28 und eine Vielzahl von eingebetteten Hochgeschwindigkeitsprozessoren auf niedrigerer Ebene oder Gelenkcontrollern 29. Die Gelenkcontroller 29 können jeweils in die Struktur des Roboters 10 in der Nähe des Gelenks eingebettet sein, das dadurch gesteuert wird, z. B. in oder in der Nähe der Arme 16, der Taille 15 und des Nackengelenks (Pfeil D), oder in oder in der Nähe einer anderen integrierten Systemkomponente, die dadurch gesteuert wird.
-
Bei einer Ausführungsform können die Gelenkcontroller 29 als gedruckte Leiterplattenanordnungen (PCBA) ausgestaltet sein, von denen jede einen einzigen Freiheitsgrad (DOF) eines entsprechenden Gelenks steuert. Beispielsweise kann ein Gelenk, das drei Freiheitsgrade aufweist, unter Verwendung von drei Gelenkcontrollern 29 gesteuert werden, von denen jeder zur Steuerung eines Freiheitsgrads bestimmt ist, oder die gemeinsam alle drei Gelenke steuern, wenn eine mechanische Kopplung existiert. In der Praxis können sich jedoch andere Beziehungen zwischen Controller und Freiheitsgrad ergeben. Das heißt, dass es im Umfang der Erfindung drei Haupttypen von Stellgliedern gibt, die zum Bewegen der verschiedenen Gelenke des Roboters 10 verwendet werden können: direkt angetriebene, mechanisch gekoppelte und sehnengetriebene.
-
Direkt angetriebene Gelenke (z. B. ein Ellenbogen) können einen Motor, der mit dem Gelenk direkt verbunden ist, und zwei Messgeber aufweisen, um den Zustand des Systems zu klären, d. h. jeweils einen für die Servoposition und das Gelenk selbst. In diesem Fall werden ein Controllermodul und ein Stellglied ein einziges Gelenk mit einem Freiheitsgrad antreiben. Es sind auch mechanisch gekoppelte Gelenke mit N Freiheitsgraden möglich, z. B. ein Handgelenk, bei dem N Motoren N Freiheitsgrade gemeinsam steuern. In diesem Fall werden Messgeber im Servomotor benötigt, wobei N Halleffekt-Sensoren in dem tatsächlichen Gelenk verwendet werden, um die kombinierte resultierende Position der N Freiheitsgrade zu messen. Schließlich sind sehnengetriebene Gelenke möglich, wobei derartige Gelenke in Gruppen arbeiten, z. B. können drei Finger 19 unter Verwendung von vier Sehnen betätigt werden, die in einer 3-1-Anordnung komplementär sind. So kann bei einer Ausführungsform eine Sehne alle Finger 19 öffnen, während die drei anderen Sehnen zum Schließen der einzelnen Finger dienen. Dieses Prinzip erstreckt sich auf einzelne Finger, Fingerglieder oder Fingergliedergruppen und kann auch verschiedene Freiheitsgrade einer Gruppe von Fingern steuern. Bei einer 2-2-Anordnung beispielsweise kann man gleichzeitig zwei Finger in zwei Freiheitsgraden steuern. In einem derartigen Fall können vier Controller zwei Freiheitsgrade und zwei Finger/Fingerglieder gleichzeitig gemeinsam steuern.
-
Das Handgelenk (Pfeil C) kann zwei Freiheitsgrade aufweisen, die durch zwei Kugelumlaufspindeln gemeinsam gesteuert werden, welche eine gekoppelte Steuerung des komplexen Gelenks bereitstellen. Wenn beide Kugelumlaufspindeln vorwärts betätigt werden, wird sich das Handgelenk nach unten bewegen und umgekehrt. Wenn nur eine Kugelumlaufspindel betätigt wird oder wenn die Kugelumlaufspindeln in Abhängigkeit von der aktuellen Position in unterschiedliche Richtungen betätigt werden, wird sich das Handgelenk entweder nach links oder nach rechts bewegen. Es sollte klar sein, dass die Kombination dieser zwei Aktionen einen Bewegungsbereich in beide Freiheitsgrade erzeugen kann. Das DCF 24 umfasst auch verschiedene Befehlsmodule 30, 32, 34 und 36, die außerhalb des Roboters angeordnet sind, von denen jedes nachstehend beschrieben wird. Die Befehlsmodule stellen eine stringente Datenfluss- und Zeitverlaufsteuerung bereit, welche eine korrekte Weiterleitung und Steuerung für den Roboter 10 in Ansprechen auf die große Menge an Sensoren und Stellgliedern sicherstellt, die von dem Roboter 10 wie vorstehend beschrieben benötigt werden.
-
Zusätzlich zu den vorstehenden Einrichtungen umfasst das DCF 24 eine Sammlung von Netzwerkkommunikationsmanagern (NCM) 38, die zum Priorisieren der Kommunikation zwischen einem gegebenen Netzwerk und einer Einrichtung in dem DCF ausgestaltet sind. Wie der Fachmann versteht, kann das NCM 38 eine Software enthalten, die eine Programmierschnittstelle für die spezielle Hardwareeinrichtung bereitstellt, welche versucht, sich mit einem Netzwerk zu verbinden, wodurch sichergestellt wird, dass sich die Einrichtung in Übereinstimmung mit dem speziellen Kommunikationsprotokoll, das von dem Netzwerk verwendet wird, korrekt verbinden kann.
-
Das DCF 24 umfasst auch eine zentralisierte Abstraktionsschicht 50, die zur Steuerung des Roboters 10 und beliebiger zugehöriger Automatisierungseinrichtungen, z. B. von Förderern, programmierbaren Logikcontrollern und dergleichen, verwendet werden kann. Die Abstraktionsschicht 50 kann eine Datenbank oder ein Datenbankmanagementsystem (DBMS) 52 und eine Datenweiterleitungs- und Managementsoftware (DRM-Software) 54 umfassen, die weiche Ausfallverbindungen zwischen den verschiedenen Befehlsmodulen bereitstellt. An den und von dem Roboter 10 weg geleitete Steuerungs- und Rückkopplungsdaten werden in dem DBMS 52 zentralisiert, das als eine einzige Datenbank oder mehrere Datenbanken ausgestaltet sein kann.
-
Wie vorstehend angemerkt wurde, ist die Abstraktionsschicht 50 in dem Sinn ”abstrakt”, dass ein Zugriff auf die Daten an einer einzigen Quelle bereitgestellt werden kann, zum Beispiel beim Systembefehlshaber 25, während die Daten selbst über die verschiedenen Einrichtungen des DCF 24 hinweg verteilt sein können, sehr ähnlich zu der Art, in der Informationen im Internet weiträumig auf verschiedene Einrichtungen verteilt sind. Derart zentralisierte Steuerungsdaten ermöglichen, dass Hardware und Steuerungsknoten, z. B. die Befehlsmodule 30–36, dynamisch konfiguriert werden können, und dass die Roboterfunktionalität leicht skaliert werden kann.
-
In der Abstraktionsschicht 50 zentralisiert oder kapselt die DRM-Software 54 die gesamten Befehls- und Rückkopplungsdaten für den Roboter 10, und jeder NCM 38 überwacht den Datenfluss an die und von der Abstraktionsschicht. Ein (nicht gezeigter) Datenvermittlungsknoten in jedem Netzwerk pflegt geplante Aktualisierungen für die damit verbundenen verschiedenen Einrichtungen. Die Abstraktionsschicht 50 beherbergt auch die grundlegendsten Steuerungsfunktionen des Roboters 10 und ist in der Lage, das gesamte DCF 24 in einen sicheren Zustand zu versetzen, wenn sie durch gewisse Schwellenwertereignisse dazu veranlasst wird.
-
Immer noch mit Bezug auf 2 kann eine Vielzahl von Befehlsmodulen, etwa die Module 30–36, über einen NCM 38 und mehrere Netzwerke mit der Abstraktionsschicht 50 verbunden sein. Bei einer Ausführungsform können die Netzwerke eine Ethernet- oder Ethernet/IP-Verbindung 40, einen Mehrpunktbus mit differentieller Niederspannungssignalisierung (M-LVDS-Bus) 42 bzw. eine cPCI-Busplatine 44 umfassen, obwohl im beabsichtigten Umfang der Erfindung auch andere Busse und/oder Rechnernetzwerke verwendet werden können.
-
Bei der Ausführungsform von 2 sind die Befehlsmodule 30–36 jeweils mit einem NCM 38 und durch den NCM mit einem Netzwerk, z. B. dem Ethernet 40 verbunden. Jedes Befehlsmodul kann eine fest zugewiesene Funktion auf oberster Ebene aufweisen. Bei einer Ausführungsform kann das Befehlsmodul 30 ausgestaltet sein, um einige periphere sensorische Anwendungen zu steuern, z. B. ein auf Haptik oder Berührung basierendes Erfassungsmodul, und/oder ein Sichterfassungsmodul, das eine auf Laser, Radar und/oder Optik basierende visuelle Wahrnehmungsfähigkeit bereitstellt. Andere Module können ein auf Geräuschen oder Stimmen basierendes Erfassungsmodul, z. B. eine Sprach- oder Geräuscherkennung, ein Anwenderschnittstellenmodul, das einen Anwenderzugriff auf den Roboter 10 bereitstellt, ein Aufgabenplanungsmodul, ein Teleoperationsmodul, ein Schlussfolgerungsmodul und/oder ein Lernmodul zum Trainieren des Roboters und/oder ein beliebiges anderes Modul, das die gewünschte Funktionalität bereitstellt, umfassen.
-
Das Befehlsmodul 32 kann als eine Anwenderschnittstelle ausgestaltet sein, z. B. ein Bediengerät oder eine andere Mensch-Maschine-Schnittstelleneinrichtung (HMI-Einrichtung). Das Modul 32 kann ausgestaltet sein, um einen separaten Zugriff auf den Roboter 10 auf der Betriebs- und Programmierebene zu ermöglichen. Zu diesem Zweck kann das Modul 32 eine graphische Anwenderschnittstelle (GUI) umfassen, die einem Bediener einen intuitiven oder menügesteuerten Satz funktionaler Optionen für eine begrenzte Kontrolle über den Roboter 10 bereitstellt. Das Modul 32 kann auch eine nur bestimmten Gruppen zugängliche Schnittstelle umfassen, die einen Programmierzugriff auf den Roboter 10 durch Entwickler, Programmierer oder anderes zugewiesenes Personal, das die Befugnis zum Verändern des Kernsteuerungscodes des Roboters aufweist, bereitstellt.
-
Die Roboteraufgabenplanung kann sich im Befehlsmodul 34 befinden. Zum Beispiel können automatisierte und/oder autonome Aufgaben im Befehlsmodul 34 programmiert sein. Einige Anwendungen des Roboters 10 können die Anwesenheit aus der Ferne oder Teleoperationen betreffen, bei denen von einem menschlichen Bediener getragene Sensoreinrichtungen verwendet werden können, um die jeweiligen Sinneserfahrungen, die der Roboter 10 erfährt, zu sehen, zu fühlen, zu hören oder auf andere Weise wahrzunehmen, und um dem Roboter auf ähnliche Weise mit speziellen Bewegungen zu befehlen. Auf ähnliche Weise kann eine Aufgabenzuordnungs- und Lernfunktionalität im Modul 36 vorhanden sein. Die im Befehlsmodul 36 vorhandene Funktionalität kann eine Trainings- und/oder Lern-Betriebsartensoftware umfassen, die ermöglicht, dass der Roboter 10 trainiert wird, entweder durch ein physikalisches Bewegen des Roboters durch eine gewünschte Bewegung, ein Teachen des Roboters unter Verwendung eines mathematischen Modells oder einer Softwareplanung, ein hybrides Teachen, d. h. indem man dem Roboter mitteilt, was zu tun ist, es dem Roboter erlaubt, es zu tun, den Roboter korrigiert, und die Sequenz wiederholt, bis sie perfektioniert ist, oder durch Imitations-/Demonstrationsverfahren. Eine logische Schlussfolgerungsfunktionalität kann Teil einer Lernbetriebsart sein oder kann als eine separate Betriebsart ausgeführt werden.
-
Das DCF 24 enthält auch verschiedene Sensorrückkopplungsknoten 28, z. B. Signalsammelknoten, welche ein(e) gemessene(s) Drehung, Position, Geschwindigkeit, Drehmoment oder andere Werte von Gelenksensoren im Roboter 10 betreffen. Die Sensorrückkopplungsknoten 28 sind über einen NCM 38 mit einem Netzwerk, z. B. dem M-LVDS-Bus 42 verbunden. Die eingebettete Hardware oder die Gelenkcontroller 29 können als gedruckte Leiterplattenanordnungen (PCBA) ausgestaltet sein und im Roboter 10 lokal in der Nähe des Gelenks eingebettet sein, das gesteuert wird, etwa in den Armen 16, dem Torso 14, dem Kopf 12 usw. Wie auch die Sensorrückkopplungsknoten 28 sind die Controller 29 über einen NCM 38 mit einem Netzwerk verbunden, z. B. dem M-LVDS-Bus 42.
-
Für die Gesamtsteuerung des Roboters 10 spielt der Echtzeitcontroller oder Hirnstamm 27 eine zentrale Rolle. Die Einrichtung kann tief im Torso 14 des Roboters 10 positioniert sein und kann mit dem Systembefehlshaber 25 und jedem der eingebetteten Controller 29 elektrisch verbunden sein. Jedes Modul 56 kann für die Steuerung eines oder mehrerer Gelenke oder einer oder mehrerer Bewegungen in Abhängigkeit von der speziellen Ausgestaltung und Verwendung der Module 56 bestimmt sein. Eines der Netzwerke des DCF 24 kann die Busplatine 44 sein, eine Einrichtung, die im Hirnstamm 27 positioniert sein kann. Verschiedene Hirnstammmodule (M) 56 sind mit der Busplatine 44 und unter Verwendung eines Kommunikationsmoduls 58 mit einem NCM 38 mit den anderen Netzwerken verbunden, z. B. dem Ethernet 40 und dem M-LVDS-Bus 42.
-
Funktional liefert der Hirnstamm 27 in Ansprechen auf Befehle auf höchster Ebene von dem Systembefehlshaber 25 Reaktionsbefehle über seine Module 56 an die eingebetteten Controller 29. Der Hirnstamm 27 umfasst Steuerungsfunktionen auf niedriger Ebene und lebenswichtige Funktionen, wie etwa die Leistungsregelung. Der Hirnstamm 27 kann Aktionen des Roboters 10 priorisieren, von denen jeder eine benötigte Steuerungs- oder Kommunikationsgeschwindigkeit zugeordnet sein kann, z. B. 400 Hz, 200 Hz, 1 Hz. Aktionen mit höherer Priorität, etwa diejenigen, die zur Verhinderung einer Überhitzung oder Beschädigung des Roboters 10 gedacht sind, können Vorrang vor anderen Befehlen haben und können mit einer höheren Geschwindigkeit ausgeführt werden. Aufgaben können neu priorisiert werden und Module 58 können kurzfristig ausgetauscht oder aktualisiert werden, wie nachstehend erläutert wird.
-
Als Beispiel kann der Systembefehlshaber 25 einen Befehl zum Bewegen des Ellenbogengelenks (Pfeil B) um eine gewisse Anzahl von Graden mit einer speziellen Geschwindigkeit in Ansprechen auf ein Schwellenwertereignis an den Hirnstamm 27 ausgeben. Die speziellen Steuerungsanforderungen zum Ausführen dieser Aktion sind dem Systembefehlshaber 25 nicht bekannt. Stattdessen befinden sich diese Anforderungen im Hirnstamm 27.
-
Der Hirnstamm 27, der nun die unmittelbare Aufgabe, die ausgeführt werden soll, empfangen hat und der die anderen Aufgaben, die von dem Roboter 10 gefordert sind, und deren zugehörige Prioritäten zusammen mit dem aktuellen Zustand des Systems kennt, gibt einen Befehl an so viele der benötigten eingebetteten Controller 29 aus, wie zum Erzielen der benötigten Bewegung notwendig sind. Die eingebetteten Controller 29 steuern ihre zugehörige Hardware, z. B. Gelenkmotoren, lineare Stellglieder usw., um das geforderte Ergebnis zu erzielen, und melden dem Hirnstamm 27 zurück, wenn die Aktion abgeschlossen ist. Der Hirnstamm 27 wiederum informiert den Systembefehlshaber 25, wenn die geforderte Aufgabe abgeschlossen ist.
-
Wenn ein Befehlsmodul 30–36 oder ein Modul 56 oder 58 des Hirnstamms 27 während einer speziellen Befehlssitzung unterbrochen wird, kann das DCF 24 ”weich ausfallen” und die Steuerung des Roboters 10 in einen sicheren Zustand versetzen, um die Sicherheit des Roboters und seiner Bediener sicherzustellen. Ein unterbrochenes Befehlsmodul wird während eines Ausfalls des Roboters 10 automatisch in einen sicheren Zustand umschalten und wird versuchen, diesen Ausfall an eine höhere Steuerungsautorität in der Hierarchie der Controller weiterzuleiten. Das heißt, dass ein Ausfall auf der Gelenkebene über den Hirnstamm 27 an den Systembefehlshaber 25 weitergeleitet werden kann, oder ein Ausfall beim Hirnstamm wird an den Systembefehlshaber weitergeleitet, so dass in einen geeigneten sicheren Zustand eingetreten werden kann.
-
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 in die Praxis im Umfang der beigefügten Ansprüche erkennen.