-
HINTERGRUND DER ERFINDUNG
-
Diese Erfindung betrifft ein Kraftsensor-Abnormalitätserfassungssystem für einen mobilen Schreitroboter.
-
Ein mobiler Schreitroboter ist mit verschiedenen Sensoren ausgestattet, einschließlich Kraftsensoren zum Erfassen von Bodenreaktionskräften, und die Roboterbewegung wird auf der Basis der Ausgaben der Sensoren geregelt. Daher ist eine Erfassung erforderlich, ob die Sensoren abnormal oder fehlerhaft sind oder nicht. Den diesbezügliche Stand der Technik bildet die
JP-2003-211379 A (z. B. Absatz 0072), welche die Erfassung verschiedener Fehler (Abnormalitäten) in einem Roboter ausführt, und prüft, als ein Aspekt der Erfassung, nach einem Fehler (einer Abnormalität) durch Bestimmung, ob die Ausgaben von Kraftsensoren, insbesondere von Sechs-Achsen-Kraftsensoren, innerhalb der vorbestimmten Bereiche liegen.
-
Die
WO 2004/071 719 A1 und
WO 2003/057 420 A1 befassen sich mit der Erfassung einer Kraftsensor-Abnormalität für einen mobilen Schreitrobotor, der einen Körper, eine Mehrzahl von Beinen, die jeweils mit dem Körper verbunden sind, einen Fuß, der mit einem distalen Ende jedes Beins verbunden ist, und einen Kraftsensor, der zwischen dem Fuß und dem Bein installiert ist und eine Ausgabe erzeugt, die eine Bodenreaktionskraft anzeigt, die vom Boden wirkt, den der Fuß berührt, aufweist, wobei ein Roboterbewegungscontroller die Bewegung des Roboters steuert/regelt, um eine Bewegung durchzuführen; ein Sensorausgaben-Diskriminator diskriminiert, ob die Ausgaben des Kraftsensors während normalen Gehbewegung innerhalb eines vorbestimmten Bereichs liegen; und ein Sensorabnormalitätsdetektor eine Abnormalität des Sensors auf der Basis eines Ergebnisses der Diskriminierung erfasst.
-
Die Bodenreaktionskräfte, die auf einen mobilen Schreitroboter wirken, sind unabkömmliche Parameter zum Regeln der Roboterbewegung. Eine Abnormalität der Kraftsensoren, die diese Kräfte erfassen, muss daher geeignet erfasst werden. Die frühere Druckschrift ist auf die Erfassung einer Sensorabnormalität begrenzt, die lediglich bestimmt, ob Sensorausgaben innerhalb der vorbestimmten Bereiche liegen. Dies ist insgesamt vom Gesichtspunkt der Erfassungsgenauigkeit nicht zufriedenstellend, weil ein Sensor irrtümlicherweise als nicht abnormal bewertet werden könnte, wenn während der Erfassung gerade eine Sensorausgabe stattfindet, die durch den vorbestimmten Bereich hindurchläuft.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine Aufgabe dieser Erfindung ist es daher, den oben genannten Nachteil zu überwinden, indem ein Kraftsensor-Abnormalitätserfassungssystem für einen mobilen Schreitroboter bereitgestellt wird, das die Erfassung einer Kraftsensor-Abnormalität mit hoher Genauigkeit in einem mobilen Schreitroboter erfassen kann, dessen Füße mit Kraftsensoren ausgestattet sind, um Bodenreaktionskräfte zu erfassen.
-
Zur Lösung der obigen Aufgabe sieht diese Erfindung ein System zum Erfassen einer Kraftsensor-Abnormalität für einen mobilen Schreitroboter gemäß Anspruch 1 vor.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die obigen und andere Ziele und Vorteile der Erfindung werden aus der folgenden Beschreibung und den Zeichnungen ersichtlich, worin:
-
1 ist eine Vorderansicht eines mobilen Schreitroboters gemäß einer Ausführung dieser Erfindung;
-
2 ist eine Seitenansicht des Roboters von 1;
-
3 ist ein Erläuterungsdiagramm, das eine Skelettansicht des Roboters von 1 zeigt;
-
4 ist ein Blockdiagramm, das die Konfiguration einer ECU funktionell darstellt;
-
5 ist ein Blockdiagramm, das die Konfiguration eines in 4 gezeigten Beincontrollers im weiteren Detail zeigt;
-
6 ist ein Flussdiagramm, das die Prozesssequenz während des Hochfahrens des Roboters zeigt, einschließlich Erfassungsoperationen, die in der ECU betrieben werden;
-
7 ist ein Unterroutinen-Flussdiagramm, das eine Prozesssequenz in der Sensorprüfung (Abnormalitätserfassung) im Flussdiagramm von 6 zeigt;
-
8 ist eine Erläuterungsansicht, die drei Typen der Betriebssteuerung des Roboters über die Zeit bei der Sensorprüfung (Abnormalitätserfassung) im Flussdiagramm von 6 zeigt; und
-
9 ist eine Erläuterungsansicht, die drei Typen der Betriebssteuerung im größeren Detail zeigt.
-
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNG
-
Ein Kraftsensor-Abnormalitätserfassungssystem für einen mobilen Schreitroboter gemäß einer Ausführung dieser Erfindung wird im Folgenden in Bezug auf die beigefügten Zeichnungen erläutert.
-
1 ist eine Vorderansicht eines mobilen Schreitroboters, an dem ein Kraftsensor-Abnormalitätserfassungssystem gemäß einer ersten Ausführung dieser Erfindung angewendet wird, und 2 ist eine Seitenansicht davon. Hier wird als Beispiel eines mobilen Schreitroboters ein zweibeiniger humanoider Roboter genommen.
-
Wie in 1 gezeigt, ist der mobile Schreitroboter (nachfolgend einfach ”Roboter” genannt) 1 mit einer Mehrzahl, insbesondere mit zwei Beinen (Beingestängen) 2 und einem Körper (Haupteinheit) 3 über den Beinen 2 ausgestattet. Ein Kopf 4 ist über dem Körper 3 ausgebildet, und mit jeder Seite des Körpers 3 ist einer zweier Arme (Armgestänge) 5 verbunden. Wie in 2 gezeigt, ist eine Gehäuseeinheit 6 an der Rückseite des Körpers 3 angebracht, der darin eine elektronische Steuereinheit (später erläutert), eine Batterie etc. aufnimmt. Der in den 1 und 2 gezeigte Roboter 1 ist mit Abdeckungen ausgestattet, um seine Innenstrukturen zu schützen.
-
3 ist ein Erläuterungsdiagramm, das eine Skelettansicht des Roboters 1 zeigt. Die Innenstrukturen des Roboters 1 werden in Bezug auf diese Zeichnung erläutert, unter besonderer Berücksichtigung der Gelenke. Wie dargestellt, sind die Beine 2 und Arme 5 jeweils links und rechts des Roboters 1 mit sechs Gelenken ausgestattet, die von elf Elektromotoren angetrieben werden.
-
Insbesondere ist der Roboter 1 an seinen Hüft(Schritt-)gelenken mit Elektromotoren 10R, 10L ausgestattet (R und L bezeichnen die rechten und linken Seiten; nachfolgend gleiches), die Gelenke zum Schwenken oder Drehen der Beine 2 um eine vertikale Achse herum antreiben (die Z-Achse oder vertikale Achse), Elektromotoren 12R, 12L, die Gelenke zum Drehen oder Schwenken der Beine 2 in der Nick (Vorwärts)richtung (um die Y-Achse) antreiben, sowie 14R, 14L, die Gelenke zum Drehen der Beine 2 in der Roll(seitlichen)-Richtung (um die X-Achse herum) antreiben, ist an seinen Knien mit Elektromotoren 13R, 13L ausgestattet, die Kniegelenke zum Drehen der unteren Abschnitte der Beine 2 in der Nickrichtung (um die Y-Achse herum) antreiben, und ist an seinen Knöcheln mit Elektromotoren 18R, 18L ausgestattet, die in (Fuß-)Knöchelgelenke zum Drehen der distalen Enden der Beine 2 in der Nickrichtung (um die Y-Achse herum) antreiben, sowie Elektromotoren 20R, 20L, die die Knöchelgelenke antreiben, um diese in der Rollrichtung (um X-Achse herum) antreiben.
-
Wie im Vorstehenden aufgeführt, sind die Gelenke in 3 durch die Drehachsen der Elektromotoren angegeben, die die Gelenke antreiben, oder die Drehachsen von Übertragungselementen (Riemenscheiben etc.), die die Kraft der Elektromotoren übertragen. An den distalen Enden der Beine 2 sind Füße 22R, 22L angeschlossen oder angebracht.
-
Auf diese Weise sind die Elektromotoren 10R(L), 12R(L) und 14R(L) an den Hüftgelenken der Beine 2 so angeordnet, dass ihre Rotationsachsen orthogonal orientiert sind, und die Elektromotoren 18R(L) und 20R(L) sind an den Knöchelgelenken so angeordnet, dass ihre Rotationsachsen orthogonal orientiert sind. Die Hüftgelenke und Kniegelenke sind durch Oberschenkelglieder 24R(L) verbunden und die Kniegelenke und Fußgelenke sind durch Unterschenkelglieder 26R(L) verbunden.
-
Die Beine 2 sind durch die Hüftgelenke mit dem Körper 3 verbunden, der in 3 einfach durch ein Körperglied 28 dargestellt ist. Die Arme 5 sind mit dem Körper 3 verbunden, wie oben aufgeführt.
-
Die Arme 5 sind ähnlich wie die Beine 2 konfiguriert. Insbesondere ist der Roboter 1 an seinen Schultergelenken mit Elektromotoren 30R, 30L ausgestattet, die Gelenke zum Drehen der Arme 5 in der Nickrichtung antreiben, sowie Elektromotoren 32R, 32L, die Gelenke antreiben, um diese in der Rollrichtung zu drehen, ist mit Elektromotoren 34R, 34L ausgestattet, die Gelenke zum Drehen der freien Enden der Arme 5 antreiben, ist an seinen Ellbogengelenken mit Elektromotoren 36R, 36L ausgestattet, die die Ellbogengelenke antreiben, um die Teile distal davon zu drehen; und ist an seinen Handgelenken an den distalen Enden der Arme 5 mit Elektromotoren 38R, 38L ausgestattet, die die Handgelenke zum Drehen der distalen Enden antreiben. Hände (Endeffektoren) 40R, 40L sind an den distalen Enden der Handgelenke angebracht.
-
Die Elektromotoren 30R(L), 32R(L) und 34R(L) sind an den Schultergelenken der Arme 5 so angeordnet, dass ihre Rotationsachsen orthogonal orientiert sind. Die Schultergelenke und Ellbogengelenke sind durch Oberarmglieder 42R(L) verbunden, und die Ellbogengelenke und die Handgelenke sind durch Unterarmglieder 44R(L) verbunden. Jede Hand 40R, 40L ist mit einem Mechanismus ausgestattet, der fünf Finger 40a antreibt, sodass der Robotor 1 ein Objekt mit den Fingern 40a ergreift oder andere Arbeiten ausführt.
-
Der Kopf ist mit dem Körper 3 durch einen Elektromotor 46 verbunden (der ein Halsgelenk darstellt), um den Kopf 4 um die vertikale Achse zu drehen, sowie einem Kopfnickmechanismus 48, der den Kopf 4 um seine hierzu orthogonale Achse dreht. Wie in 3 gezeigt, sind im Inneren des Kopfs 4 zwei CCD-Kameras 50 angebracht, die Bilder aufnehmen und diese anzeigende Ausgaben erzeugen, sowie einer Stimmeingabe/ausgabevorrichtung 52, die einen Empfänger und ein Mikrophon aufweist. Die Bilder werden in einem Bilderkennungssystem bearbeitet, das einen Bildprozessor enthält (jeweils nicht gezeigt).
-
Aufgrund der vorstehenden Konfiguration sind die Beine 2 jeweils mit 6 Gelenken versehen, die insgesamt 12 Freiheitsgrade für die linken und rechten Beine darstellen, sodass die Beine insgesamt gewünschte Bewegungen ausüben können, indem die 6 Gelenke mit geeigneten Winkeln angetrieben werden, um den gewünschten Gang im dreidimensionalen Raum zu ermöglichen. Ferner sind die Arme 5 jeweils mit 5 Gelenken versehen, die insgesamt 10 Freiheitsgrade für die linken und rechten Arme darstellen, sodass durch Antrieb dieser 5 Gelenke mit geeigneten Winkeln gewünschte Arbeiten oder Aufgaben ausgeführt werden können. Zusätzlich ist der Kopf 4 mit dem Gelenk und dem Kopfnickmechanismus 48 versehen, die zwei Freiheitsgrade darstellen, sodass der Kopf 4 in eine gewünschten Richtung blicken kann, indem dieser zu geeigneten Winkeln angetrieben wird.
-
Jeder der Elektromotoren 10R, 10L und dgl. ist mit einem Drehcodierer versehen, der eine Ausgabe oder ein Signal erzeugt, entsprechend dem Winkel und/oder der Winkelgeschwindigkeit und/oder der Winkelbeschleunigung des zugeordneten Gelenks, der bzw. die durch die Drehung der Drehwelle des Elektromotors erzeugt wird. Insbesondere umfassen die Elektromotoren 10R, 10L und dgl. Gleichstromservomotoren.
-
Ein herkömmlicher Sechs-Achsen-Kraftsensor (nachfolgend als ”Kraftsensor” bezeichnet) 56 ist an jedem Fuß 22R(L) angebracht und erzeugt Ausgaben oder Signale, die von den auf den Roboter wirkenden externen Kräften, die Bodenreaktionskraftkomponenten Fx, Fy und Fz von drei Richtungen, und die Momentenkomponenten Mx, My und Mz der drei Richtungen, die von der Taktoberfläche auf den Roboter 1 einwirken, repräsentieren. Der Kraftsensor 56 umfasst zwei gekoppelte Flanschabschnitte, die jeweils eine darauf wirkende Last übertragen, sowie daran befestigte Dehnungsmesser, und ist konfiguriert, um die Kraft- und Momentenkomponenten, die auf einen Sensorreferenzpunkt wirken, auf der Basis der Ausgaben von den Dehnungsmessern berechnen und ausgeben.
-
Ein ähnlicher Kraftsensor (Sechs-Achsen-Kraftsensor) 58 ist an einer Position zwischen jeweils den Handgelenken und Händen 40 angebracht, und erzeugt Ausgaben oder Signale, die andere externe Kräfte als die Bodenreaktionskraft repräsentieren, die auf den Roboter wirken, insbesondere die externen Kraft(Objektreaktionskraft)-Komponenten Fx, Fy und Fz der drei Richtungen und die Momentenkomponenten Mx, My und Mz der drei Richtungen, die von dem Objekt auf die Hände 40 wirken.
-
Ein Neigungssensor 60 ist an dem Körper 3 installiert und erzeugt eine Ausgabe oder ein Signal, das die Neigung (Kippwinkel) relativ zur vertikalen Achse und/oder die Winkelgeschwindigkeit davon repräsentiert, d. h. zumindest eine Zustandsgröße repräsentiert, wie etwa die Neigung (Haltung) des Körpers 3 des Roboters 1.
-
Die Ausgaben des Kraftsensors 56 etc. werden zur elektronischen Steuereinheit geschickt (die nun mit der Bezugszahl 70 bezeichnet wird; nachfolgend als ”ECU” bezeichnet), die in der Gehäuseeinheit 6 untergebracht ist (in der Figur ist zur leichteren Erläuterung die Eingabe/Ausgabe nur für die rechte Seite des Roboters 1 gezeigt). Die ECU 70 umfasst einen Mikrocomputer mit einer CPU, einem Speicher und einer Eingabe/Ausgabeschnittstelle und dgl. In der Gehäuseeinheit 6 befinden sich, zusätzlich zur ECU 70, eine Treiberschaltungseinheit 70 für die Elektromotoren 10R(L) etc., ein drahtloses System 74 und die Batterie (nun mit der Bezugszahl 76 bezeichnet).
-
Wie im unteren Teil von 3 gezeigt, ist eine Bedienersteuereinheit (nachfolgend ”Bediener-ECU” genannt) 78 vorgesehen, die ähnlich einen Mikrocomputer und eine Eingabe/Ausgabeschnittstelle (I/F) 78 aufweist, die erlaubt, dass der Bediener Befehle eingibt, um den Betrieb des Roboters 1 zu steuern. Die Bediener-ECU 78 ist mit der ECU 70 durch das drahtlose System 74 verbunden, um miteinander zu kommunizieren, und jeder Befehl, wie etwa ein Roboternotstoppbefehl, der in die Schnittstelle 78 eingegeben wird, wird durch das drahtlose System 74 zur ECU 70 geschickt.
-
4 ist ein Blockdiagramm, das die Konfiguration der ECU 70 funktionell darstellt, insbesondere den Betrieb, der von deren CPU durchgeführt wird.
-
Wie in der Zeichnung gezeigt, umfasst die ECU 70 einen Controller 70a, einen Sensorausgaben-Diskriminator 70b, einen Aktionsplaner 70c und einen Speicher 70d. Der Controller 70a ist aufgebaut aus einem Beincontroller 70a1, einem Armcontroller 70a2 und einem Kopfcontroller 70a3. 5 ist ein Blockdiagramm, das die Konfiguration des Beincontrollers 70a1 und des Sensorausgaben-Diskriminators 70b im weiteren Detail zeigt. Wie in 5 gezeigt, ist der Beincontroller 70a1 mit einem Schrittgenerator 70a11 und einem Gehcontroller 70a12 ausgestattet.
-
Der Betrieb des Controllers 70a wird in Bezug auf die 4 und 5 erläutert, unter besonderer Berücksichtigung des Beincontrollers 70a1. Auf der Basis von Schrittparametern, die vorab erzeugt und in dem Speicher 70d gespeichert sind, erzeugt der Schrittgenerator 70a11 in dem Beincontroller 70a1 aufeinanderfolgend in Antwort auf Sensorausgaben, die von den Kraftsensoren 56 und dem Neigungssensor 60 geschickt werden und auch bereits in dem Speicher 70d gespeichert sind, Schritte und speichert die erzeugten Schritte in dem Speicher 70d.
-
Der Gehcontroller 70a12 liest die gespeicherten Schritte, bestimmt die Gelenkwinkelbefehlswerte für die einzelnen Gelenke und betreibt den Motor 10 und die anderen Motoren durch die Treiberschaltungseinheit 72, um einen Fehler oder eine Abweichung zwischen den Gelenkwinkeln, die aus den Ausgaben der Drehcodierer erfasst werden, und den bestimmten Gelenkwinkeln zu verringern.
-
Der Armcontroller 70a2 und der Kopfcontroller 70a3 berechnen auch Gelenkwinkelbefehlswerte auf der Basis der erzeugten Schritte und der Ausgaben der Kraftsensoren 56 und der anderen Sensoren, und betreiben den Motor 30 und andere zugeordnete Motoren durch die Treiberschaltungseinheit 72. Ferner steuert der Armcontroller 70a2 die Bewegung der Arme 5 entsprechend der auszuführenden Aufgaben, und der Kopfcontroller 70a3 steuert den Betrieb des Motors 46 und/oder den Kopfnickmechanismus 48 entsprechend den Anweisungen von dem Bilderkennungssystem.
-
Die Schrittparametern enthalten Bewegungsparameter, zusammengesetzt aus Positionen und Haltungen (Orientierungen) des Körpers 3 und der Füße 22, sowie Bodenreaktionskraftparameter, die durch das ZMP(Nullmomentpunkt)-Konzept definiert sind. ”Position” ist mit X-, Y- und Z-Koordinaten angegeben, und ”Haltung” durch Winkel relativ zu den X-, Y- und Z-Achsen. Daher ist ”Neigung” auch einer der Haltungsparameter.
-
Das ZMP bedeutet den Wirkpunkt auf dem Boden dort, wo die Summe der horizontalen Komponenten der Momente der resultierenden Trägheitskräfte, die durch die Bewegung des Roboters 1 erzeugt werden, und der Schwerkräfte null ist. Jeder Schritt wird aufgebaut aus einer Bewegungstrajektorie (Ortskurve), und der Bodenreaktionskrafttrajektorie (Ortskurve) während eines Gehschritts (vom Anfangszustand der zweibeinigen Tragperiode bis zum Endzustand der einbeinigen Tragperiode), und das Gehen wird durch eine Serie oder Gruppe von Schritten beschrieben, die jeweils einen einzigen Gehschritt definieren.
-
Da die Schrittparameter und die erzeugten Schritte und dgl. in der früheren
japanischen Patentoffenlegungsschrift Nr. Hei 5(1993)-337849 des Anmelders im Detail beschrieben sind, wird eine weitere Erläuterung hier weggelassen.
-
Das besondere Merkmal dieser Ausführung betrifft die Erfassung der Abnormalität der Kraftsensoren 56. Es folgt eine Erläuterung dieses Merkmals.
-
Wenn der Roboter 1 eingeschaltet (hochgefahren) wird, steuert der Sensorausgaben-Diskriminator 70b die Bewegung des Roboters 1, um eine Aufderstellegeh-(Tret-)Bewegung auszuführen, bestimmt, ob die Ausgaben der Kraftsensoren 56 zu dieser Zeit innerhalb der vorbestimmten Bereiche liegen, und erkennt eine Abnormalität der Kraftsensoren 56 aus den Bestimmungsergebnissen.
-
Wenn sich herausstellt, dass ein Kraftsensor 56 abnormal ist, beendet der Aktionsplaner 70c den Gang des Roboters 1 und gibt an die Bediener-ECU 78 durch das drahtlose System 74 das Erfassungsergebnis aus, um den Bediener hierüber zu informieren. Im Ergebnis wird der Bediener über die Abnormalität in Kenntnis gesetzt.
-
6 ist ein Flussdiagramm, das die Prozesssequenz während des Hochfahrens des Roboters 1, einschließlich der Erfassungsoperationen, zeigt.
-
In S10 wird der Strom eingeschaltet. Insbesondere wird in Antwort auf einen Befehl, der vom Bediener durch die I/F 78a eingegeben wird, der Stromschalter (nicht gezeigt) EINgeschaltet, um hierdurch die Stromversorgung von der Batterie 76, die in der Gehäuseeinheit 6 installiert ist, zum Mikrocomputer der ECU 70 und dgl. zu starten.
-
Dann wird in S12 die Anfangshaltung des Roboters 1 geprüft, wonach in S14 die Servos EINgeschaltet werden, d. h. der Motor 10 und die anderen Servomotoren EINgeschaltet werden.
-
Dann wird in S16 der Betrieb der Gelenke des Roboters 1 angesteuert, um zu bewirken, dass der Roboter 1 auf dem Boden aufrecht steht (stillsteht). Dies wird durch die Operationen des Beincontrollers 70a1 erreicht, wie in Bezug auf 5 erläutert wird.
-
Dann wird in S18 eine Sensorprüfung ausgeführt, d. h. es wird in Bezug auf die Kraftsensoren 56 eine Abnormalitätserfassung (später erläutert) ausgeführt. Zusätzlich zu den am Fuß 22 vorgesehenen Kraftsensoren 56 ist der Roboter 1 auch nahe den Händen 40 mit ähnlichen Kraftsensoren 58 ausgestattet. Jedoch wird in dieser Ausführung die Erfassung nur in Bezug auf die linken und rechten Kraftsensoren 56 ausgeführt, die an den linken und rechten Füßen 22 installiert sind. Die Prozesse von S12 bis S18 werden auch in Antwort auf Befehle ausgeführt, die vom Bediener durch I/F 78a eingegeben werden.
-
Dann werden in S20 die Sensorprüfungsergebnisse diskriminiert. Wenn erfasst wird, dass der Kraftsensor 56 ”normal” ist, geht das Programm zu Schritt S22, wo bestimmt wird, dass das Hochfahren abgeschlossen ist, und die Gehsteuerung beginnt. Wenn andererseits der Kraftsensor 56 als ”abnormal” erfasst wird, geht das Programm zu S24 weiter, worin der Bediener durch das drahtlose System 74 und die Bediener-ECU 78 darüber informiert wird, dass einer oder beide Kraftsensoren 56 als abnormal erfasst werden.
-
Dann wird in S26 bestimmt, ob die Sensorprüfung wiederholt wird. Wenn das Ergebnis JA ist, kehrt das Programm zu S18 zurück, und wenn es NEIN ist, wird das Programm umgehend beendet, ohne durch S22 hindurchzugehen, der bewertet, ob das Hochfahren abgeschlossen ist, sodass der Gang des Roboters 1 unterbrochen wird.
-
7 ist ein Unterroutinenflussdiagramm, das die Prozesssequenz in der Sensorprüfung (Abnormalitätserfassung) von S18 in 6 zeigt.
-
Zuerst werden in S100 die Ausgaben der den Füßen 22 zugeordneten zwei Kraftsensoren 56 aus dem Speicher 70d ausgelesen und es wird bestimmt, ob die Kraft FZdb1, die in den beiden Beinen 2 erzeugt wird, gleich einem Wert W ist.
-
Im Flussdiagramm von 7 haben die folgenden Symbole die folgenden Bedeutungen. W: Gewicht des Roboters 1 (52 kg). F: Kraft (Last). M: Moment. α, β: Koeffizienten. Wie oben erläutert, sind F und M Spezifika der auf den Roboter 1 wirkenden externen Kräfte, nämlich Bodenreaktionskräfte, die von Kontaktbodenoberflächen auf den Roboter 1 wirken. Die Kraft F ist aus drei Richtungskomponenten Fx, Fy und Fz zusammengesetzt. Das (Kraft-)Moment M ist aus drei Richtungskomponenten Mx, My und Mz zusammengesetzt. (Diese Komponenten sind in 3 graphisch definiert.)
-
In S100 wird eine Prüfung durchgeführt, indem die Ausgaben der zwei Kraftsensoren 56 summiert werden und bestimmt wird, ob die erhaltene Z-Richtungskomponente FZdb1 zwischen Ober- und Untergrenzen fällt, die auf der Basis des Eigengewichts W des Roboters 1 geeignet definiert sind.
-
Wenn das Ergebnis in S100 NEIN ist, geht das Programm zu S102, worin bestimmt oder erfasst wird, dass beide oder zumindest einer der Kraftsensoren 56 abnormal ist. Dies ist so, weil der aus den zwei Kraftsensoren 56 erhaltene Wert FZdb1 ein Wert nahe dem Eigengewicht W des Roboters 1 sein sollte, weil in S16 von 6 der Roboter 1 so gesteuert wird, dass er sich aufrichtet (aufsteht), sodass in der Fz-Komponente nur die Bodenreaktionskraft erzeugt werden soll.
-
Wenn in S100 das Ergebnis JA ist, geht das Programm zu S104 weiter, worin der Betrieb des Roboters 1 so gesteuert wird, dass er seine Aufderstellegeh-(Tret-)Bewegung beginnt. In anderen Worten, der Betrieb des Roboters 1 wird beim Hochfahren so gesteuert, dass er auf der Stelle geht.
-
8 ist ein Erläuterungsdiagramm, das diese Betriebssteuerung über die Zeit zeigt. Wie dargestellt, wird der Roboter 1 zuerst aufrecht stehen gelassen, wird dann so gesteuert, dass er auf der Stelle geht, und wird dann so gesteuert, dass er seine Hüfte (genauer gesagt die Hüftposition) nach vorne und hinten (genauer gesagt nach vorne) bewegt oder verschiebt, wie nachfolgend weiter erläutert wird. 9 zeigt diese drei Typen der Betriebssteuerung im näheren Detail. Da die Prozessoperationen des Flussdiagramms von 7 zur Prüfung der Eignung der Ausgaben der Kraftsensoren 56 dienen, werden die tatsächlichen Ausgaben der Kraftsensoren 56 für diese Steuerung nicht verwendet, sondern es werden vorab provisorisch vorbereitete Werte verwendet.
-
Nachdem die Fz-Komponente für beide Beine 2 im stehenden Zustand geprüft worden ist, wird das Aufderstellegehen für eine Dauer von drei Gehschritten fortgesetzt, und die Fx-, Fy- und Mz-Komponenten werden für jedes Bein 2 während dieser Zeitdauer geprüft. Dann wird die Hüfte um einen vorbestimmten Betrag, z. B. 30 mm, nach vorne bewegt oder verschoben, um hierdurch den Schwerpunkt des Roboters 1 nach vorne zu bewegen oder zu verschieben, und es wird die My-Komponente geprüft.
-
Die Hüfte (genauer gesagt die Hüftposition) wird als eine Stelle an der unteren Mitte des Körpers 3 definiert, die nahe dem Schwerpunkt angeordnet ist, der an oder nahe einer Position unmittelbar über den Schrittgelenken 10, 12 14R(L) angeordnet ist. Die Aufderstellegeh-Bewegung wird so definiert, dass sie zumindest die Bewegung der zwei Beine 2 des stehenden Roboters 1 so, dass die Beine abwechselnd das Eigengewicht W stützen, enthält.
-
Nun wird die Erläuterung des Flussdiagramms von 7 wieder aufgenommen.
-
Dann wird in S106 bestimmt, ob das in dem einzigen Standbein erzeugte FZsg1 gleich dem Eigengewicht W des Roboters 1 ist. Dies erfolgt durch die Bestimmung, ob die Z-Richtungskraftkomponente FZsg1, die aus der Ausgabe des Kraftsensors 56 an der Standbeinseite erhalten wird, zwischen Ober- und Untergrenzen fällt, die auf der Basis des Eigengewichts W des Roboters 1 (und der Sohlenfläche des Fußes 22 und dgl.) geeignet definiert sind.
-
Diese Prüfung wird abwechselnd für die linken und rechten Kraftsensoren 56 während der Aufderstellegeh-Bewegung ausgeführt, die für die Dauer von drei Schritten fortgesetzt wird. Wenn das Ergebnis in S106 NEIN ist, geht das Programm zu S102 weiter, worin bestimmt oder erfasst wird, dass der betreffende Kraftsensor 56 abnormal ist, aus dem gleichen Grund wie dann, wenn das Ergebnis in S100 NEIN ist.
-
Wenn das Ergebnis in S106 JA ist, geht das Programm zu S108 weiter, worin bestimmt wird, ob das in dem einzigen Standbein auftretende Fy, insbesondere die Y-Richtungskraftkomponente Fy, die aus der Ausgabe des Kraftsensors 56 an der Standbeinseite erhalten wird, größer ist als das Produkt des Eigengewichts W des Roboters 1 und eines Koeffizienten α. Der Koeffizient α (sowie der unten erwähnte Koeffizient β) ist ein Wert, der auf der Basis der Kraft und des Moments, die in dem Kraftsensor 56 aufgrund der Hüftbeschleunigung während des Aufderstellegehens auftreten sollten, empirisch bestimmt ist.
-
Diese Prüfung wird auch abwechselnd für die linken und rechten Kraftsensoren 56 ausgeführt. Wenn das Ergebnis in S108 NEIN ist, geht das Programm zu S102 weiter, worin bestimmt oder erfasst wird, dass der betreffende Kraftsensor 56 abnormal ist. Die Überlegung hinter der Bestimmung ist, dass das horizontale Schwenken, das im Roboter 1 während des Aufderstellegehens in der Rollrichtung (Y-Achsenrichtung) erzeugt wird, einen Kraftanstieg einer bestimmten Größenordnung oder mehr in derselben Richtung ergibt, sodass dann, wenn das Ergebnis in S108 ist, dass die Kraft nicht auftritt, der Grund eine Abnormalität des Kraftsensors 56 sein muss.
-
Wenn das Ergebnis in S108 JA ist, geht das Programm zu S110 weiter, worin bestimmt wird, ob das in dem einzelnen Standbein auftretende Mx, insbesondere die Momentenkomponente Mx um die X-Achse herum, die aus der Ausgabe des Kraftsensors 56 an der Standbeinseite erhalten wird, größer ist als das Produkt des Eigengewichts W des Roboters 1 und eines Koeffizienten β.
-
Diese Prüfung wird auch abwechselnd für die linken und rechten Kraftsensoren 56 durchgeführt. Wenn das Ergebnis in S110 NEIN ist, geht das Programm zu S102 weiter, worin bestimmt oder erfasst wird, dass der betreffende Kraftsensor 56 abnormal ist. In anderen Worten, es ist bekannt, dass ein Moment einer bestimmten Größenordnung oder mehr in der Rollrichtung erzeugt werden sollte, sodass dann, wenn das Ergebnis in S100 ist, dass das Moment nicht erzeugt wird, der Grund eine Abnormalität der Kraftsensoren 56 sein muss.
-
Wenn das Ergebnis in S110 JA ist, geht das Programm zu S112 weiter, worin, wie oben erwähnt, der Betrieb des Roboters 1 so gesteuert wird, dass die Hüfte nach vorne bewegt oder verschiebt, um hierdurch den Schwerpunkt nach vorne zu bewegen.
-
Dann wird in S114 bestimmt, ob der Betrag der ZMP-Bewegung, die aus dem erzeugten Moment My beobachtet wird, gleich dem Bewegungsbetrag der Hüfte ist. Diese Bestimmung wird ausgeführt, indem erkannt wird, ob der Betrag der ZMP-Bewegung, die der unter Verwendung der Y-Achsenmomentenkomponente My berechnet wird, die aus den Ausgaben der linken und rechten Kraftsensoren 56 erhalten wird, innerhalb des Bereichs geeignet gesetzter oberer und unterer Grenzwerte liegt.
-
Wenn in S114 das Ergebnis NEIN ist, geht das Programm zu S102 weiter, worin bestimmt oder erfasst wird, dass einer oder beide Kraftsensoren 56 normal ist bzw. sind. Wie oben gesagt, bedeutet ZMP der Wirkpunkt auf dem Boden dort, wo die Summe der horizontalen Komponenten der Momente der resultierenden Kräfte der Trägheitskräfte, die durch die Bewegung des Roboters 1 erzeugt werden, und der Schwerkräfte null ist. Die Hüftbewegung sollte daher ein Moment um die Y-Achse herum erzeugen, und im Ergebnis sollte das ZMP um eine bestimmte Distanz bewegt worden sein. Die Tatsache, dass der ausgegebene Sensorwert diese Bewegung nicht anzeigt, kann so gewertet werden, dass einer oder beide Kraftsensoren 56 abnormal sind.
-
Wenn das Ergebnis in S114 JA ist, geht das Programm zu S116 weiter, worin die Kraftsensoren 56 als normal bestimmt oder erfasst werden, wobei die Bewegung des Roboters 1 gesteuert wird, um die Hüfte zum ursprünglichen aufrechten Zustand davon zurückzubringen, und das Programm beendet wird.
-
Wenn an diesem Punkt, wie oben erläutert, in den Prozessen, die im Flussdiagramm von 6 durchgeführt wurden, das Ergebnis der vorstehenden Sensorprüfung ”normal” ist, wird das Hochfahren als abgeschlossen bewertet, und das Gehen beginnt, und wenn es ”abnormal” ist, wird der Gang unterbrochen, und der Bediener wird darüber informiert, dass sich einer oder beide Kraftsensoren 56 als abnormal herausgestellt haben.
-
Die Ausführung ist so konfiguriert, dass sie ein System zur Erfassung einer Kraftsensorabnormalität für einen mobilen Schreitrobotor (1) aufweist, der einen Körper (3), eine Mehrzahl von Beinen (2), die jeweils mit dem Körper verbunden sind, einen Fuß (22), der mit einem distalen Ende jedes Beins verbunden ist, und einen Kraftsensor (56), der zwischen dem Fuß und dem Bein installiert ist und eine Ausgabe erzeugt, die eine Bodenreaktionskraft anzeigt, die vom Boden wirkt, den der Fuß berührt, aufweist, umfassend: einen Roboterbewegungscontroller (70, Beincontroller 70a1, S10 bis S26, S104), der die Bewegung des Roboters steuert/regelt, um eine Aufderstellegeh-Bewegung durchzuführen, wenn der Roboter eingeschaltet wird; einen Sensorausgaben-Diskriminator (ECU 70, Sensorausgaben-Diskriminator 70b, S10 bis S20, S100, S106 bis S114), der diskriminiert, ob die Ausgaben des Kraftsensors während der Aufderstellegeh-Bewegung innerhalb eines vorbestimmten Bereichs liegen; und einen Sensorabnormalitätsdetektor (ECU 70, Beincontroller 70a1, Aktionsplaner 70c, S18, S102, S116), der eine Abnormalität des Sensors auf der Basis eines Ergebnisses der Diskriminierung erfasst.
-
Wenn somit der Roboter 1 gestartet wird, wird eine Aufderstellegeh-Bewegung durchgeführt, wird geprüft, ob die Ausgaben der Kraftsensoren 56 zu dieser Zeit innerhalb vorbestimmter Bereiche liegen, und wird eine Abnormalität der Kraftsensoren 56 auf der Basis des Diskriminierungsergebnisses bestimmt. In anderen Worten, der mobile Schreitrobotor 1 dieser Ausführung ist so konfiguriert, dass er eine Sensorabnormalität erfasst, indem er prüft, ob während der Periode, in der der Roboter dazu veranlasst wird, die Aufderstellegeh-Bewegung (und Hüftbewegung) durchzuführen, die verschiedenen Ausgaben der Kraftsensoren 56 innerhalb der zugeordneten vorbestimmten Bereiche liegen. Die Diskriminierungsperiode wird somit verlängert, sodass es sehr unwahrscheinlich wird, dass während der gesamten Diskriminierungsperiode eine Übergangssensorausgabe fortdauernd in dem vorbestimmten Bereich verbleibt. Daher kann eine Abnormalität des Kraftsensors 56 mit hoher Genauigkeit erfasst werden.
-
Darüber hinaus werden die Kraftsensoren 56 auf Abnormalität geprüft, wenn beim Hochfahren der Roboter 1 die Aufderstellegeh-Bewegung durchführt, was bedeutet, dass sie auf Abnormalität geprüft werden, bevor das Gehen oder ein anderer Betrieb des Roboters eingeleitet wird. Dies macht es leichter, auf eine erfasste Abnormalität zu reagieren (leichter als dann, wenn eine Abnormalität im Verlauf des Gehens erfasst wird), und die Tatsache, dass die Erfassungsoperation ausgeführt wird, von außen her visuell geprüft werden.
-
In dem System ist die Aufderstellegeh-Bewegung so definiert, dass sie zumindest eine Bewegung der Beine 2 aus dem Stand heraus enthält, sodass die Beine abwechselnd das Gewicht W des Roboters 1 tragen (ECU 70, Beincontroller 70a1, S20, S106 bis S110).
-
Die Tatsache, dass die Aufderstellegeh-Bewegung zumindest die Bewegung der zwei Beine 2 des stehenden (aufrechten) Roboters 1 enthält, um zu veranlassen, dass sie abwechselnd das Eigengewicht W tragen, ermöglicht die Prüfung, ob die Sensorausgaben innerhalb der vorbestimmten Bereiche bleiben, wenn die Haltung des Roboters 1 verändert wird, um die Bodenreaktionskraft zu verändern, sodass, zusätzlich zu den vorstehenden Effekten, es weiter möglich wird, eine Sensorabnormalität mit noch höherer Genauigkeit zu erfassen.
-
In dem System ist der Kraftsensor 56 ein Sensor, der Ausgaben erzeugt, die eine Kraftkomponente (Fx, Fy, Fz) und eine Momentenkomponente (Mx, My, Mz) der Bodenreaktionskraft anzeigen, und der vorbestimmte Bereich enthält eine Mehrzahl vorbestimmte Bereiche, die entsprechend der Kraftkomponente und der Momentenkomponente gesetzt sind.
-
Die Tatsache, dass die Kraftsensoren 56 so konfiguriert sind, dass sie mehrere Ausgaben erzeugen, einschließlich der Ausgaben, die die Kraftkomponenten Fx, Fy und Fz und die Momentenkomponenten Mx, My und Mz der Bodenreaktionskräfte anzeigen, macht es nicht nur möglich, die vorstehenden Effekte zu erreichen, sondern ferner, eine Abnormalität dieser Sensoren mit noch höherer Genauigkeit zu erfassen.
-
In dem System werden die vorbestimmten Bereiche auf der Basis dieses Gewichts W des Roboters gesetzt.
-
In dem System unterscheidet der Sensorausgabendiskriminator, ob zumindest eine, genauer gesagt vier Arten der Ausgaben des Sensors 56, innerhalb des ihm entsprechenden vorbestimmten Bereichs liegt (ECU 70, Beincontroller 70a1, Aktionsplaner 70c, S20, S106 bis S114).
-
Die Tatsache, dass auf diese Weise die Ausgaben, die dahingehend bestimmt werden müssen, ob sie in vorbestimmte Bereiche fallen, auf zumindest einige der mehreren Ausgaben begrenzt sind, ermöglicht das Weglassen der Bestimmung von Sensorausgaben, die eine geringe Wirkung auf die Steuerung haben, nämlich der Sensorausgaben Fx und Mz, sodass es nicht nur möglich ist, die vorstehenden Effekte zu erreichen, sondern ferner die Erfassungsarbeit zu vereinfachen, während noch immer eine hochgenaue Abnormalitätserfassung in Bezug auf die Kraftsensoren 56 erreicht wird, die in der Lage sind, mehrere Ausgaben zu erzeugen.
-
In dem System bestimmt der Abnormalitätsdetektor den Sensor 56 als abnormal, wenn zumindest eine der Ausgaben des Sensors nicht innerhalb des ihm entsprechenden vorbestimmten Bereichs liegt (ECU 70, Beincontroller 70a1, Aktionsplaner 70c, S120, S102).
-
Da die Kraftsensoren 56 als abnormal bestimmt werden, wenn zumindest einige ihrer mehreren Ausgaben nicht in die vorbestimmten Bereiche fallen, ist es nicht nur möglich, die vorstehenden Effekte zu erhalten, sondern ferner eine Unterscheidung mittels der Sensorausgaben, so wie sie sind, auszuführen, wodurch die Erfassungsarbeit vereinfacht werden kann, während noch immer eine Abnormalitätserfassung in Bezug auf die Kraftsensoren, die mehrere Ausgaben erzeugen können, schnell und mit hoher Genauigkeit erreicht wird.
-
In dem System gibt der Sensorabnormalitätsdetektor ein Erfassungsergebnis aus, wenn der Kraftsensor als abnormal bestimmt wird (ECU 70, Beincontroller 70a1, Aktionsplaner 70c, S24).
-
Wenn eine Abnormalität der Kraftsensoren 56 erfasst wird, wird das Erfassungsergebnis ausgegeben, sodass es möglich wird, nicht nur die vorstehenden Effekte zu erreichen, sondern auch zu ermöglichen, dass die Sensorabnormalität von außen her festgestellt wird.
-
Dem Obigen sollte angemerkt werden, dass, obwohl in der vorstehenden Beschreibung ein Sechs-Achsen-Kraftsensor als Beispiel eines Kraftsensors angegeben ist, dies keine Einschränkung ist, und es alternativ möglich ist, eine beliebige Art von Kraftsensor zu verwenden, der in der Lage ist, Bodenreaktionskräfte zu erfassen, die durch die Füße auf den Roboter wirken.
-
Auch sollte angemerkt werden, dass, obwohl der mobile Schreitrobotor als zweibeiniger Roboter beschrieben ist, dies keine Einschränkung ist, und der Roboter ein solcher sein kann, der drei oder mehr Beine aufweist.
-
In einem Kraftsensorabnormalitäts-Erfassungssystem für einen mobilen Schreitrobotor, der einen Kraftsensor aufweist, der zwischen dem Fuß und dem Bein installiert ist und eine Ausgabe erzeugt, die eine Reaktionskraft anzeigt, die von einem Boden her einwirkt, den der Fuß berührt, wird der Roboter gesteuert, um eine Aufderstellegeh-Bewegung auszuführen, wenn der Roboter eingeschaltet wird (S104), dann wird diskriminiert, ob die Ausgabe des Kraftsensors während der Aufderstellegeh-Bewegung innerhalb eines vorbestimmten Bereichs liegt (S106 bis S114), und es wird eine Abnormalität des Sensors auf der Basis des Diskriminierungsergebnisses erfasst (S102). Hierdurch wird es möglich, eine Kraftsensorabnormalität mit hoher Genauigkeit in einem mobilen Schreitrobotor zu erfassen, dessen Füße mit Kraftsensoren ausgestattet sind, um Bodenreaktionskräfte zu erfassen.