-
HINTERGRUND DER ERFINDUNG
-
Gebiet 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. Der diesbezügliche
Stand der Technik umfasst die japanische Patentanmeldungs-Offenlegung
Nr. 2003-211379 (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
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 vor, 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, umfassend: einen
Roboterbewegungscontroller, der die Bewegung des Roboters steuert/regelt,
um eine Aufderstellegeh-Bewegung durchzuführen, wenn der Roboter eingeschaltet
wird; einen Sensorausgaben-Diskriminator, der diskriminiert, ob
die Ausgaben des Kraftsensors während
der Aufderstellegeh-Bewegung innerhalb eines vorbestimmten Bereichs
liegen; und ein Sensorabnormalitätsdetektor,
der eine Abnormalität
des Sensors auf der Basis eines Ergebnisses der Diskriminierung
erfasst.
-
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 gewnüschten
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-, Yund 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 zuS102 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.