DE69725764T2 - Vorrichtung zur nachbildung des ganges für einen zweibeinigen robotor - Google Patents

Vorrichtung zur nachbildung des ganges für einen zweibeinigen robotor Download PDF

Info

Publication number
DE69725764T2
DE69725764T2 DE69725764T DE69725764T DE69725764T2 DE 69725764 T2 DE69725764 T2 DE 69725764T2 DE 69725764 T DE69725764 T DE 69725764T DE 69725764 T DE69725764 T DE 69725764T DE 69725764 T2 DE69725764 T2 DE 69725764T2
Authority
DE
Germany
Prior art keywords
gait
parameters
gaits
parameter
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69725764T
Other languages
English (en)
Other versions
DE69725764D1 (de
Inventor
Toru Wako-shi TAKENAKA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Application granted granted Critical
Publication of DE69725764D1 publication Critical patent/DE69725764D1/de
Publication of DE69725764T2 publication Critical patent/DE69725764T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

  • Die vorliegende Erfindung betnfft ein Gangarterzeugungssystem eines auf Beinen beweglichen Roboters und insbesondere ein System, um eine Gangart frei auf Echtzeitbasis zu erzeugen oder zu bestimmen.
  • Bei einer herkömmlichen Gangarterzeugung eines auf Beinen beweglichen Roboters, wie sie durch die japanische offengelegte Patentanmeldung Nr. Hei 5 (1993)-285,868 gelehrt wird, werden verschiedene Gangarten in Zeitreihendaten, einschließlich jener zum Geradeauslaufen oder jener zum Drehen, unter Verwendung eines Offline-Computers gestaltet. Die Daten werden dann in einen Speicher eines an dem Roboter angebrachten Mikrocomputers geladen, welcher die Daten nacheinander ausgibt, damit sie während des Gehens verarbeitet werden.
  • Ferner schlägt die japanische offengelegte Patentanmeldung Nr. Sho 62 (1987)-97,006 (japanische Patentveröffentlichung Nr. Hei 5 (1993)-62,363) vor, im Vorfeld unter Verwendung eines Offline-Computers ähnliche Zeitreihendaten für Bewegungsmuster vorzubereiten und die Daten in den Speicher des Bordmikrocomputers zu laden, welcher die Daten während des Gehens nacheinander ausgibt, und die benachbarten Zeitreihendaten zu interpolieren, um das Zeitintervall zu verkürzen (d. h. die Abtastrate zu steigern).
  • Da die Gangartdaten jedoch im Vorfeld vorbereitet worden sind, bleibt es bei den Techniken gemäß des Standes der Technik aus, eine Gangart während des Laufens frei auf Echtzeitbasis so zu erzeugen, dass der Roboter beispielsweise seinen Schritt oder den Drehwinkel wie gewünscht ändern kann.
  • Die US 5,432,417 A offenbart ein Bewegungssteuer/regelsystem für einen zweifüßigen laufenden Roboter, welcher dem Gegenstand der Präambel des Anspruchs 1 entspncht.
  • Gemäß der vorliegenden Erfindung wird ein System zum Erzeugen einer Gangart eines auf Beinen beweglichen Roboters gemäß Anspruch 1 bereitgestellt.
  • Die bevorzugte Ausführungsform behebt die Nachteile des Stands der Technik und stellt ein Gangarterzeugungssystem eines auf Beinen beweglichen Roboters bereit, welches frei auf Echtzeitbasis und unter Berücksichtigung der Bodenreaktionskraft eine Gangart erzeugt, so dass ein Sollschritt oder ein Solldrehwinkel etc. realisiert wird.
  • Die bevorzugte Ausführungsform behebt die Nachteile des Stands der Technik und stellt ein Gangarterzeugungssystem eines auf Beinen beweglichen Roboters bereit, welches einen Gang frei auf Echtzeitbasis erzeugt, so dass eine Verschiebung und eine (Verschiebungs-) Geschwindigkeit eines Roboterabschnitts an der Grenze (am Übergang) der so erzeugten Gangarten kontinuierlich sind.
  • Die bevorzugte Ausführungsform behebt einen Nachteil des Stands der Technik und stellt ein Gangarterzeugungssystem für einen auf Beinen beweglichen Roboter bereit, welches die Bewegung des Roboters auf Grundlage einer in Echtzeit erzeugten Gangart steuert/regelt.
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel die genäherte Gangart durch Berechnen eines gewichteten Mittelwerts von wenigstens einem der Gangartparameter der ausgewählten Gangarten erzeugen.
  • Es ist so konfigunert, dass die Gangarterzeugungsmittel die angenäherte Gangart unter Verwendung einer Parameterempfindlichkeit eines der Gangartparameter auf einen anderen der Gangartparameter der gewählten Gangart oder Gangarten erzeugen.
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel die angenäherte Gangart durch Berechnen eines gewichteten Mittelwerts von wenigstens einem der Gangartparameter der ausgewählten Gangarten und unter Verwendung einer Parameterempfindlichkeit der ausgewählten Gangart oder Gangarten erzeugen.
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel Speichermittel enthalten, zum Bestimmen eines Änderungsbetrags eines Parameters relativ zu einem Einheitsänderungsbetrag eines anderen Parameters in wenigstens einer der Standartgangarten als Parameterempfindlichkeit der ausgewählten Gangart und zum Speichern der Parameterempfindlichkeit im Speicher, und die angenäherte Gangart unter Verwendung der gespeicherten Parameterempfindlichkeit erzeugen.
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel Beschreibungsmittel enthalten, zum Beschreiben einer Beziehung der Störung von einem der Gangartparameter relativ zu dem sich auf die Bodenreaktionskraft beziehenden Kraftparameter in den Standartgangarten, und die angenäherte Gangart auf Grundlage der beschriebenen Beziehung der Störung korrigiert, um Gangarten zu erzeugen, welche die Gangartanforderung in einer solchen Weise erfüllen, dass Verlagerungen oder/und Geschwindigkeiten in den erzeugten Gangarten an einer Grenze der Gangarten kontinuierlich sind.
  • Es ist so konfiguriert, dass die Störung des einen der Gangartparameter eine Störung einer horizontalen Körperposition ist.
  • Es ist so konfiguriert, dass die Beziehung durch ein lineares Modell brschrieben ist.
  • Es ist so konfiguriert, dass die Beziehung durch ein umgekehrtes Pendelmodell beschrieben ist.
  • Es ist so konfiguriert, dass die Beziehung durch tabellierte Zeitreihendaten beschrieben ist.
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel die angenäherte Gangart unter Ausschluss des sich auf die Bodenreaktionskraft beziehenden Kraftparameters erzeugt, falls der sich auf die Bodenreaktionskraft beziehende Kraftparameter unterhalb einer vorbestimmten Bedingung liegt.
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel Berechnungsmittel für Gelenkwinkelkommandos aufweisen, zum Berechnen eines Gelenkwinkelkommandos des Roboters auf Grundlage der erzeugten Gangart, und Gelenksteuer/regelmittel aufweisen, zum Steuern/Regeln des Gelenks des Roboters in einer solchen Weise, dass er dem berechneten Gelenkwinkelkommando folgt.
  • Es ist so konfiguriert, dass die Berechnungsmittel für das Gelenkwinkelkommando Detektionsmittel zum Detektieren eines Zustands des Roboters sowie Korrekturmittel zum Korrigieren einer Position und einer Haltung des Roboters in Antwort auf den detektierten Zustand umfasst und das Gelenkwinkelkommando so berechnet, dass die korrigierte Position und die Haltung bewirkt werden.
  • Verschiedene Ausführungsformen der vorliegenden Erfindung werden nun, lediglich beispielhaft und unter Bezugnahme auf die beigefügten Zeichnungen brschrieben, in welchen:
  • 1 ist eine schematische Ansicht, welche eine Gesamtkonfiguration eines Gangarterzeugungssystems eines auf Beinen beweglichen Roboters gemäß der bevorzugten Ausführungsform zeigt;
  • 2 ist eine Blockdarstellung, welche Details einer Steuer-/ regeleinheit eines in 1 illustrierten zweifüßigen Roboters zeigt;
  • 3 ist eine Blockdarstellung, welche den Betrieb des Gangarterzeugungssystems eines auf Beinen beweglichen Roboters gemäß der bevorzugten Ausführungsform zeigt;
  • 4 ist ein Hauptflussdiagramm, welches den Betrieb des Gangarterzeugungssystems eines auf Beinen beweglichen Roboters gemäß der bevorzugten Ausführungsform zeigt;
  • 5 ist eine erläuternde Ansicht, welche die Position und Orientierung des freien Beins in der Standartgangart Nr. 0 aus den bei der in 3 und 4 gezeigten Gangarterzeugung verwendeten Standartgangarten zeigt;
  • 6 ist eine erläuternde Seitenansicht, welche die Fußtrajektorie in der in 5 gezeigten Standartgangart Nr. 0 zeigt;
  • 7 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder -richtung) in der in 5 illustrierten Standartgangart Nr. 0 zeigt;
  • 8 ist eine erläuternde Ansicht, welche die Position und Orientierung des freien Beins in Standartgangart Nr. 1 zeigt, welche aus den Standartgangarten ausgewählt ist, die in der in 3 und 4 gezeigten Gangarterzeugung verwendet werden;
  • 9 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder -richtung) in der in 8 illustrierten Standartgangart Nr. 1 zeigt;
  • 10 ist eine erläuternde Ansicht, welche die Position und Orientierung des freien Beins in der Standartgangart Nr. 2, die aus den Standartgangarten ausgewählt ist, die in der in 3 und 4 gezeigten Gangarterzeugung verwendet werden, zeigt;
  • 11 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder Richtung) in der in 10 illustrierten Standartgangart Nr. 2 zeigt;
  • 12 ist eine erläuternde Ansicht, welche die Position und Orientierung des freien Beins einer angefordbrten Gangart, die in der in 3 und 4 gezeigten Gangarterzeugung angefordert worden ist, zeigt;
  • 13 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder -richtung) in der in 12 illustrierten angeforderten Gangart zeigt;
  • 14 ist ein Flussdiagramm, welches die Unterroutine des Gangartmischens zeigt, auf welche im Flussdiagramm der 4 verwiesen wird;
  • 15 ist eine erläuternde Ansicht, welche die Funktionsweise des Flussdiagramms von 14 erläutert;
  • 16 ist eine erläuternde Ansicht, welche, ähnlich 15, die Funktionsweise des Flussdiagramms von 14 erläutert;
  • 17 ist ein Flussdiagramm, welches die Unterroutine der Berechnung der momentanen Werte der Sollgangart zeigt, auf die sich im Flussdiagramm von 4 bezogen wird;
  • 18 ist ein Flussdiagramm, welches die zuvor durch den Anmelder vorgeschlagene Zweibein-Ausgleichssteuerung/regelung zeigt, welche auf Grundlage der in der in den 3 und 4 gezeigten Gangarterzeugung erzeugten Gangart durchgeführt wird;
  • 19 ist ein Flussdiagramm, welches die Unterroutine des Berechnens einer geänderten Variable der in dem Flussdiagramm von 18 illustrierten Zweibein-Ausgleichssteuerung/regelung zeigt;
  • 20 ist ein Hauptflussdiagramm, welches ähnlich 4 ist, jedoch die Funktionsweise des Systems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt;
  • 21 ist ein Flussdiagramm, welches die Unterroutine des Gangartenmischens zeigt, auf welche in dem Flussdiagramm von 20 Bezug genommen wird;
  • 22 ist ein Flussdiagramm, welches die Unterroutine des Berechnens von momentanen Werten der Sollgangart zeigt, auf die sich in dem Flussdiagramm von 20 bezogen wird;
  • 23 ist ein Hauptflussdiagramm, welches ähnlich 4 ist, jedoch die Funktionsweise des Systems gemäß einer dritten Ausführungsform der vorliegenden Erfindung zeigt;
  • 24 ist ein Flussdiagramm, welches die Unterroutine des Gangartenmischens zeigt, auf welche in dem Flussdiagramm von 23 Bezug genommen wird;
  • 25 ist ein Flussdiagramm, welches die Unterroutine der Berechnung von momentanen Werfen der Sollgangart zeigt, auf welche in dem Flussdiagramm von 23 verwiesen wird;
  • 26 ist ein Hauptflussdiagramm, welches ähnlich 4 ist, jedoch die Funktionsweise des Systems gemäß einer vierten Ausführungsform der vorliegenden Erfindung zeigt;
  • 27 ist ein Zeitdiagramm, welches die Gangart als Körperposition zeigt, die in der vierten Ausführungsform der vorliegenden Erfindung erzeugt wird;
  • 28 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder -richtung) zeigt, um zu erläutern, wie die Randbedingungen miteinander in Einklang zu bringen sind, auf die sich in dem Flussdiagramm von 26 bezogen wird;
  • 29 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder -richtung) zeigt, um die Funktionsweise zu erläutern, die in dem Flussdiagramm von 26 illustriert ist;
  • 30 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder -richtung) zeigt, um auf ähnliche Weise die Funktionsweise zu erläutern, die in dem Flussdiagramm von 26 illustriert ist;
  • 31 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder -richtung) zeigt, um auf ähnliche Weise die Funktionsweise zu erläutern, die in dem Flussdiagramm von 26 illustriert ist;
  • 32 ist ein Zeitdiagramm, welches die Trajektorie des ZMP (in der X-Koordinate oder -richtung) zeigt, um auf ähnliche Weise die Funktionsweise zu erläutern, welche in dem Flussdiagramm von 26 illustriert ist;
  • 33 ist ein Flussdiagramm, welches die Unterroutine des Gangartmischens zeigt, auf welche sich in dem Flussdiagramm von 26 bezogen wird;
  • 34 ist ein Flussdiagramm, welches die Unterroutine des Berechnens von momentanen Werten einer Sollgangart zeigt, auf die sich in dem Flussdiagramm von 26 bezogen wird;
  • 35 ist ein Zeitdiagramm, welches die Gangarten zeigt, die in der in dem Flussdiagramm von 26 illustrerten vierten Ausführungsform erzeugt worden sind;
  • 36 ist ein Hauptflussdiagramm, welches ähnlich 4 ist, jedoch die Funktionsweise des Systems gemäß einer fünften Ausführungsform der vorliegenden Erfindung zeigt;
  • 37 ist eine erläuternde Ansicht, welche ein umgekehrtes Pendelmodell zeigt, das in der fünften Ausführungsform verwendet wird;
  • 38 ist ein Flussdiagramm, welches die Unterroutine des Gangartmischens zeigt, auf die sich im Flussdiagramm von 36 bezogen wird
  • 39 ist ein Flussdiagramm, welches die Unterroutine des Berechnens von momentanen Werten der Sollgangart zeigt, auf welche sich in dem Flussdiagramm von 36 bezogen wird;
  • 40 ist ein Hauptflussdiagramm, welches ähnlich 4 ist, jedoch die Funktionsweise des Systems gemäß einer sechsten Ausführungsform der vorliegenden Erfindung zeigt;
  • 41 ist ein Zeitdiagramm, welches die Funktionsweise der in 40 illustrierten sechsten Ausführungsform zeigt;
  • 42 ist ein Flussdiagramm, welches die Unterroutine des Gangartenmischens zeigt, auf welche sich in dem Flussdiagramm von 40 bezogen wird;
  • 43 ist ein Flussdiagramm, welches die Unterroutine des Berechnens von momentanen Werten der Sollgangart zeigt, auf welche sich in dem Flussdiagramm von 40 bezogen wird;
  • 44 ist ein Zeitdiagramm, welches die Funktionsweise zeigt, die in dem Flussdiagramm von 40 illustriert ist;
  • 45 ist ein Blockdiagramm, welches ähnlich 3 ist, jedoch die Konfiguration und Funktionsweise des Systems gemäß einer siebten Ausführungsform der vorliegenden Erfindung zeigt;
  • 46 ist ein Hauptflussdiagramm, welches die Funktionsweise des Systems gemäß der siebten Ausführungsform der vorliegenden Erfindung zeigt;
  • 47 ist ein Flussdiagramm, welches die Unterroutine des Gangartmischens zeigt, auf die sich in dem Flussdiagramm von 46 bezogen wird;
  • 48 ist ein Flussdiagramm, welches die Unterroutine des Berechnens von momentanen Werten der Sollgangart zeigt, auf die sich in dem Flussdiagramm von 46 bezogen wird; und
  • 49 ist eine erläuternde Ansicht, welche die Körperposition in der Gangart zeigt, die durch das Gangarterzeugungssystem eines auf Beinen beweglichen Roboters gemäß der bevorzugten Ausführungsform erzeugt wurde.
  • Das Gangarterzeugungssystem eines auf Beinen beweglichen Roboters gemäß der bevorzugten Ausführungsform wird unter Bezugnahme auf die beigefügten Zeichnungen erläutert. Ein zweifüßiger Roboter wird als Beispiel für einen auf Beinen beweglichen Roboter hergenommen.
  • 1 ist eine schematische Ansicht, welche eine Gesamtkonfiguration des Systems mit einem zweifüßigen Roboter 1 gemäß der bevorzugten Ausführungsform zeigt.
  • Wie in der Figur illustriert ist, weist der Roboter 1 ein Paar lateral im Abstand angeordneter Beingelenke 2 auf, welche jeweils aus sechs Gelenken gebildet sind. In einer einfachen Darstellung wird jedes Gelenk durch einen Elektromotor repräsentiert, der das Gelenk betätigt. Die Gelenke umfassen in abwärtiger Richtung nacheinander angeordnet ein Paar Gelenke 10R, 10L (das rechte Gelenk ist durch R und das linke Gelenk ist durch L bezeichnet) zum Drehen von Beinen in Bezug auf Hüften (ein Paar Gelenke 14R, 14L zur wiegenden Bewegung in Bezug auf Hüften innerhalb einer frontalen Ebene um eine X-Achse, ein Paar Gelenke 12R, 12L zur anwinkelnden Bewegung in Bezug auf Hüften innerhalb einer Sagittalebene um eine Y-Achse, ein Paar Kniegelenke 16R, 16L zur anwinkelnden Bewegung in Bezug auf Knie, ein Paar Gelenke 18R, 18L zur anwinkelnden Bewegung in Bezug auf Fußknöchel sowie ein Paar Gelenke 20R, 20L zur wiegenden Bewegung in Bezug auf Fußknöchel.
  • Der Roboter 1 ist mit Füßen 22R, 22L versehen und weist einen Körper (Rumpf) 24 als seinen obersten Abschnitt auf, in welchem eine Steuer/Regeleinheit 26 mit Mikrocomputern untergebracht ist, welche später unter Bezugnahme auf 2 beschrieben wird. Die Gelenke 10R(L), 12R(L), 14R(L) bilden Hüftgelenke und die Gelenke 18R(L), 20R(L) bilden Fußknöchelgelenke. Die Hüftgelenke und Kniegelenke sind miteinander durch Oberschenkelglieder 28R, 28L und die Kniegelenke und Fußknöchelgelenke sind miteinander durch Crus oder Unterschenkelgelenke 30R, 30L verbunden.
  • Bei der obigen Struktur ist jedem der Beingelenke 2 sechs Freiheitsgrade gegeben. Werden die 6*2 = 12 Gelenke auf geeignete Winkel gesteuert, während der Roboter 1 geht, so wird die gesamte Beinstruktur in eine gewünschte Bewegung versetzt, und sie bewirken, dass der zweibeinig gehende Roboter 1 willkürlich in einer dreidimensionalen Umgebung geht. (In der Beschreibung repräsentiert „*" eine Multiplikation).
  • Es soll bemerkt werden, dass in der gesamten Beschreibung die Position und Geschwindigkeit des Körpers 24 verwendet werden, um die Position einer repräsentativen Position wie der Position des Schwerpunkts des Körpers 24 und deren (Verlagerungs-)Geschwindigkeit zu repräsentieren.
  • Wie in 1 gezeigt ist, ist ein bekannter Sechsachsen-Kraft-Drehmomentsensor 44 unterhalb der Fußknöchelgelenke angeordnet, um damit Komponenten Fx, Fy, Fz dreier Richtungen einer Kraft und Komponenten Mx, My, Mz dreier Richtungen eines Drehmoments oder Moments zu messen, um zu erfassen, ob der Fuß 22R(L) aufgesetzt ist oder nicht oder ob eine Belastung oder Kraft über die Fußanordnung auf den Roboter wirkt, wenn er den Boden berührt. Der Körper 24 weist einen Neigungssensor 60 zum Erfassen eines Kippens unter einer Neigung in der frontalen Ebene in Bezug auf eine Z-Achse (in der Richtung der Schwerkraft) und dessen Winkelgeschwindigkeit (Rate) sowie außerdem eines Schwenks in der Sagittalebene in Bezug auf die Z-Achse und dessen Winkelgeschwindigkeit. Die Elektromotoren der jeweiligen Gelenke sind mit jeweiligen Winkelsensoren zum Erfassen einer Winkelverschiebung der Elektromotoren gekoppelt.
  • Obwohl dies in 1 nicht gezeigt ist, ist der Roboter 1 so konfiguriert, dass er an einer geeigneten Stelle desselben einen Steuerknüppel 62 aufweist, über welchen ein Bediener einer Anforderung zum Wechseln der Gangart zu einer anderen Gangart eingeben kann, um den Roboter etwa beim Geradeausgehen zum Drehen zu veranlassen.
  • 2 ist ein Blockdiagramm, welches die Details der Steuer/Regeleinheit 26 zeigt, die aus Mikrocomputern gebildet ist. Ausgaben des Neigungssensors 60 usw. werden durch einen A/D-Wandler 70 in digitale Signale umgewandelt, welche durch einen Bus 72 zu einem RAM 74 übertragen werden. Ausgabesignale von den Winkelsensoren, welche den jeweiligen Elektromotoren benachbart angeordnet sind, werden durch einen Zähler 76 zu dem RAM 74 übertragen.
  • Die Steuer/Regeleinheit 26 enthält einen ersten und zweiten Rechner 80, 82, welche CPUs (Zentraleinheiten) enthalten. Der erste Rechner 80 erzeugt frei und auf Echtzeitbasis während des Gehens eine Gangart unter Verwendung von Standartgangarten, welche vorher vorbereitet und in einem ROM 84 gespeichert wurden, berechnet geforderte Gelenkwinkel auf Grundlage der erzeugten Gangart und gibt an den RAM 74 aus. Der zweite Rechner 82 liest die geforderten Gelenkwinkel und erfassten Werte aus dem RAM 74 und gibt über einen D/A-Wandler 86 und einen Servoverstärker veränderte Vanable an die Elektromotoren aus, welche an den jeweiligen Gelenken bereitgestellt sind.
  • 3 ist ein Blockdiagramm, welches die Funktionsweise des Systems gemäß der bevorzugten Ausführungsform in funktionaler Weise zeigt, während 4 ein Flussdiagramm („strukturiertes Flussdiagramm" genannt) ist, welches die in dem Blockdiagramm illustnerten Prozeduren des Gangartenmischens oder der Gangartenerzeugung zeigen. In der Beschreibung wird die Gangarterzeugung manchmal als „Gangartmischen" bezeichnet.
  • Es wird als erstes die durch das System zu erzeugende Gangart erläutert. Die bevorzugte Ausführungsform hat zum Ziel, ein System bereitzustellen, welches, wie oben erwähnt, eine Gangart auf Echtzeitbasis erzeugt. Genauer hat die bevorzugte Ausführungsform zum Ziel, eine Gangart zu erzeugen, welche zum Durchführen der Haltungsstabilitätssteuerung/regelung des Roboters unter Verwendung der Zweibeinausgleichssteuerung/regelung, die zuvor durch den Anmelder in der japanischen offengelegten Patentanmeldung Nr. Hei 5 (1993)-305,585 vorgeschlagen wurde, nötig ist.
  • Um das Verständnis zu erleichtern, wird die zuvor vorgeschlagene Haltungsstabilitätssteuerung/regelung kurz erläutert. Bei der Steuerung/Regelung wird zunächst der Fehler zwischen einem Sollwert und dem erfassten Wert der Bodenreaktionskraft (ZMP) bestimmt und eines der oder beide Beine werden bewegt, um den Fehler zu reduzieren, wodurch Haltungsstabilität bewirkt wird. Ist der Roboter dabei umzukippen, so wird die Soll-Bodenreaktionskraft absichtlich in Abweichung gebracht oder verschoben, um die tatsächliche Bodenreaktionskraft in Abweichung zu bringen oder zu verschieben, wodurch die Haltungsstabilität des Roboters wieder hergestellt wird.
  • Bei einem auf Beinen beweglichen Roboter ist es somit unmöglich, ein stabiles Gehen oder Bewegen zu gewährleisten, wenn nicht die Beziehungen zwischen den Soll-Bewegungstrajektonen und dem Soll-Bodenreaktionskraftmuster die Bedingung des dynamischen Gleichgewichts erfüllen. Ein Erfüllen der Bedingung des dynamischen Gleichgewichts bedeutet, genauer ausgedrückt, dass der Mittelpunkt der Soll-Bodenreaktionskraft (der Punkt der Wirkung auf den Boden, an dem das Sekundärmoment der Soll-Bodenreaktionskraft Null wird) gleich ist dem ZMP (Nullmomentpunkt; dem Punkt auf dem Boden, an dem das Moment der resultierenden Kraft der Trägheitskraft aufgrund von Bewegung und Schwerkraft bis auf seine vertikalen Komponenten Null ergibt). Wenn sie nicht miteinander übereinstimmen, während die Ausgleichssteuerung/regelung arbeitet, verliert der Roboter an dynamischem Gleichgewicht zwischen der resultierenden Kraft und der Bodenreaktionskraft und wird umkippen.
  • Bei der zuvor vorgeschlagenen Ausgleichssteuerung/regelung wird dies bewusst ausgenutzt, um Stabilität wieder herzustellen, wenn der Roboter dabei ist zu kippen oder umzufallen. Wie aus dem Vorangehenden verständlich wurde, sollte der auf Beinen bewegliche Roboter als angeforderte Werte bei der Steuerung/Regelung der Bewegung nicht nur das angeforderte Bewegungsmuster, sondern auch das angeforderte Bodenreaktionskraftmuster haben, welches in Bezug auf das angeforderte Bewegungsmuster die Bedingungen des dynamischen Gleichgewichts erfüllt.
  • Die geforderte Bodenreaktionskraft wird im Allgemeinen durch einen Wirkungspunkt und durch eine Kraft und ein Moment, die an diesem wirken, beschrieben. Da der Wirkungspunkt auf irgendeinen Punkt gesetzt werden kann, hat die geforderte Bodenreaktionskraft eine Vielzahl von Beschreibungen. Wird jedoch die geforderte Bodenreaktionskraft unter Annahme des zuvor erwähnten Mittelpunkts der geforderten Bodenreaktionskraft als Wirkungspunkt beschrieben, so ist das an diesem Punkt wirkende Moment der resultierenden Kraft bis auf seine vertikale Komponente gleich Null.
  • Da, wie oben angegeben, die Trajektorie des Mittelpunkts der geforderten Bodenreaktionskraft, (welche die Bedingungen des dynamischen Gleichgewichts in Bezug auf die geforderten Bewegungstrajektorien erfüllt) gleich dem ZMP ist, kann die geforderte ZMP-Trajektorie anstatt der geforderten Bodenreaktionskraft-Mittelpunktstrajektorie verwendet werden.
  • Oben Angegebenes kann daher geschrieben werden als: „Der auf Beinen bewegliche Roboter sollte als geforderte Werte der Steuerung/Regelung der Bewegung nicht nur die geforderten Bewegungsmuster oder Trajektorien, sondern auch die geforderte ZMP-Trajektorie (gefordertes Bodenreaktionskraftmuster) haben". Basierend auf Vorstehendem wird die Sollgangart in dieser Beschreibung wie folgt definiert:
    • a) Die Sollgangart ist im weiteren Sinne ein Satz der Soll-Bewegungstrajektorien und das Soll-Bodenreaktionskraftmuster über eine Periode eines Gehschritts oder eine Periode von Schritten.
    • b) Die Sollgangart ist im engeren Sinne ein Satz der Soll-Bewegungstrajektorien und der ZMP-Trajektore für eine Periode eines einzelnen Gehschritts.
    • c) Eine Gangserie ist aus einer Serie von Gangarten gebildet.
  • Im Folgenden wird zum schnelleren Verständnis die Sollgangart verwendet, um die in dem engeren Sinne definierte Gangart zu repräsentieren, solange nichts Gegenteiliges erwähnt ist. Genauer wird die Sollgangart so verwendet, dass sie eine Gangart für eine Periode bedeutet, welche von dem Anfangszustand einer Zweibein-Unterstütrungsphase aus beginnt und bis zum Endzustand einer darauf folgenden Einbeinunterstütrungsphase reicht. Es ist nicht notwendig zu erwähnen, dass hierbei die Zweibeinunterstütrungsphase eine Periode bedeutet, während der der Roboter 1 sein Gewicht mit zwei Beingelenken 2 unterstütrt, während die Einbeinunterstütrungsphase eine Periode bedeutet, während der der Roboter sein Gewicht mit einem der zwei Beingelenke 2 unterstützt. Das Bein (Gelenk), welches während der Einbeinunterstützungsphase das Gewicht des Roboters nicht unterstütrt, wird als das freie Bein bezeichnet, während das andere als Unterstützungsbein bezeichnet wird.
  • Die Aufgabe der bevorzugten Ausführungsform ist es, die oben definierte Sollgangart frei und auf Echtreitbasis zu erzeugen. Wenn solch eine Gangart frei und auf Echtzeitbasis erzeugt werden kann, so wird es z. B. für einen Bediener möglich, den Roboter 1 per Fernsteuerung zu steuem. Ferner wird es bei der automatischen Steuerung des Roboters möglich, nicht nur den Roboter so zu steuern/regeln, dass er gemäß einer vorbestimmten Abfolge geht, sondern auch den Roboter so zu führen, dass er entlang eines Wegs läuft, oder eine Positionierung mit hoher Präzision zu bewirken.
  • Es werden hier die Bedingungen, welche die Sollgangart erfüllen sollte, erläutert.
  • Die Bedingungen, welche die Sollgangart erfüllen sollte, werden allgemein in die folgenden fünf Bedingungen klassifiziert.
  • Bedingung 1) Die Sollgangart muss die Bedingung des dynamischen Gleichgewichts erfüllen. Mit anderen Worten sollte die ZMP-Trajektorie, die dynamisch in Antwort auf die Soll-Bewegungstrajektorien des Roboters 1 berechnet werden, mit der Soll-ZMP-Trajektorie übereinstimmen.
  • Bedingung 2) Wenn eine Anforderung/Anforderungen wie eine Änderung des Schntts oder des Drehwinkels durch einen Bewegungsplaner oder Wegplaner (keiner von beiden gezeigt) des Roboters 1 oder durch einen Bediener über den Steuerknüppel 62 gemacht wird, so sollte die Sollgangart solch eine Anforderung/solche Anforderungen erfüllen.
  • Bedingung 3) Die Sollgangart sollte Bedingungen kinematischer Beschränkung erfüllen, wie dass der Roboterfuß sich nicht in den Boden, auf welchem er geht, graben oder auf den Boden, auf welchem er geht, kratzen darf, dass der Gelenkwinkel innerhalb eines bewegbaren Bereichs liegen muss und dass die Gelenkwinkelgeschwindigkeit nicht den erlaubten Bereich überschreiten darf.
  • Bedingung 4) Die Sollgangart sollte außerdem Bedingungen dynamischer Beschränkung erfüllen, wie dass der ZMP während der Einbeinunterstützungsphase innerhalb der Fußsohle-Boden-Kontaktfläche bleiben muss und dass das Gelenkdrehmoment nicht die mögliche maximale Leistung des Gelenkbetätigers überschreiten darf.
  • Bedingung 5) Die Sollgangart sollte Randbedingungen erfüllen. Als selbstverständliche Tatsache resultiert Bedingung 1 in der Randbedingung, dass die Position und Geschwindigkeit von Roboterpositionen wie dem Körper an der Gangartgrenze (Gangartübergang) kontinuierlich sein müssen. (Wenn nicht, dann würden unendliche Kräfte auftreten oder der ZMP würde sich fern von der Fußsohle-Boden-Kontaktfläche bewegen).
  • Genauer sollte der Endzustand der n-ten Gangart dem Anfangszustand der n + 1-ten Gangart entsprechen, und zwar insbesondere in Bezug auf die Körperposition, -orientierung und -geschwindigkeit relativ zur Fußposition und -orientierung. Genauer ist es ausreichend, wenn dann, wenn der Ausgangszustand der n + 1-sten Gangart bereits bestimmt ist, der Endzustand der n-ten Gangart mit dem Ausgangszustand der n + 1-sten Gangart in Einklang gebracht wird.
  • Falls nicht bestimmt, so ist es ausreichend, wenn der Endzustand der n + 1-sten Gangart innerhalb eines Bereichs liegt, welcher ein kontinuierliches Gehen ohne Verlust von Haltungsstabilität sicherstellt. Wie später diskutiert werden wird, ist es jedoch ziemlich schwierig, einen Bereich für den Endzustand zu bestimmen, der ein kontinuierliches Gehen ohne Verlust an Haltungsstabilität sicherstellt.
  • Allgemein gesagt wird die Sollgangart durch einen Gangarterzeugungsalgorithmus mit Parameterwerten oder in tabellierten Zeitreihendaten, wie den später beschriebenen Standart-Gangarten, erzeugt. (Mit anderen Worten bedeutet das Bestimmen der Gangart das Bestimmen der Parameterwerte oder tabellierten Zeitreihen-Daten auf geeignete Weise.)
  • Es können durch Veränderung der Parameterwerte oder tabellierten Zeitreihendaten verschiedene Gangarten erzeugt werden. Werden die Parameter oder tabellierten Zeitreihendaten jedoch ohne vorsichtige Inachtnahme bestimmt, so ist es ungewiss, ob die erzeugte Gangart alle der oben erwähnten Bedingungen erfüllen kann.
  • Insbesondere ist es beim Erzeugen der Bedingung 1) erfüllenden Körpertrajektorien auf Grundlage der ZMP-Trajektorie durch einen Gangarterzeugungsalgonthmus selbst dann, wenn die für ein kontinuierliches Gehen geeigneten Bereiche der Körperposition und -geschwindigkeit am Ende des Gangs oder beim Endzustand bekannt sind, schwierig, die sich auf die ZMP-Trajektone beziehenden Parameter so zu bestimmen, dass sowohl die Körperposition als auch -geschwindigkeit in den Bereich am Ende des Gangs fallen.
  • Die Gründe für diese Schwierigkeit sind wie folgt.
  • Grund 1) Der Roboterkörper tendiert dazu, sich weiter von dem ZMP weg zu bewegen, wenn er sich einmal anfänglich von dem ZMP weg bewegt hat. Dies wird unter Verwendung eines umgekehrten Pendelmodells erläutert, welches dem Verhalten des Roboterkörpers angenähert ist.
  • Der Unterstützungspunkt des umgekehrten Pendels weicht von dem Projektionspunkt des auf dem Boden projizierten Schwerpunkts des Pendels ab, wobei die Abweichung dazu tendiert, größer zu werden und das Pendel umfällt. Selbst wenn das Pendel umfällt, wirkt die resultierende Kraft aus der Trägheitskraft und Schwerkraft des umgekehrten Pendels auf den Unterstützungspunkt (mit anderen Worten der ZMP wird gleich dem Unterstützungspunkt gehalten) und die resultierende Kraft wird in Balance mit der Bodenreaktionskraft gehalten, die über dem Unterstützungspunkt wirkt. Die dynamische Gleichgewichtsbedingung beschreibt kaum eine momentane Beziehung zwischen der Trägheitskraft und Schwerkraft und der Bodenreaktionskraft eines bewegten Objekts.
  • Es ist ein häufiges Missverständnis, dass ein kontinuierlicher Robotergang sichergestellt werden kann, wenn die Bedingung des dynamischen Gleichgewichts erfüllt ist. Die Erfüllung der Bedingungen des dynamischen Gleichgewichts stellt jedoch nicht sicher, dass der Roboter während des Gehens nicht eine stabile Haltung verliert. Gerade wenn der Schwerpunkt des umgekehrten Pendels dazu tendiert, sich weiter weg zu bewegen, wenn er von der Position direkt unterhalb des Unterstützungspunkts bewegt ist, so tendiert der Schwerpunkt des Roboters dann, wenn er sich einmal von der Position direkt oberhalb des ZMP bewegt hat, dazu, sich von diesem weiter weg zu bewegen.
  • Grund 2) Für die Einbeinunterstützungsphase ist es nötig, dass der ZMP sich in der Fußsohle-Boden-Kontaktfläche des Unterstützungsbeins befindet. Aufgrund starrer Begrenzungsbedingungen wie dieser ist es schwierig, die Körperbeschleunigungs- und Verzögerungsmuster zu bestimmen. Werden die Körpermuster bestimmt, indem hauptsächlich die Körperposition berücksichtigt wird, so würde die Geschwindigkeit am Ende des Gangs dazu tendieren, außerhalb des Bereichs zu liegen und umgekehrt. Eine Analogie beim Führen eines Fahrzeugs ist es, das Fahrzeug an einer vorbestimmten Anhalteposition zu einer vorgegebenen Zeit zu stoppen, wobei die Bremskraft auf einen schmalen vorgegebenen Bereich begrenzt ist.
  • Es war somit bislang schwierig, die Sollgangparameter oder tabellierten Daten, welche alle der möglichen Gangartbedingungen erfüllen, auf Echtzeitbasis zu erzeugen oder bestimmen. Die vorher genannten, in den Bezugsquellen beschriebenen Techniken des Standes der Technik konnten daher keinen freien Robotergang bewirken.
  • Auf Grundlage des oben Erwähnten wird das System gemäß der vorliegenden Erfindung unter Bezugnahme auf 3 erläutert. Die Figur, ein Blockdiagramm, zeigt das System in einer funktionellen Weise, so dass das Verständnis der Funktionsweise des in 4 illustrierten Systems erleichtert wird.
  • In dem illustrierten System wird die Gangart/werden die Gangarten in einem Erzeuger für Mischgangart-Momentanwerte auf der Grundlage eines Satzes oder einer Gruppe von Standartgangarten (welche auf einem Offline-Computer erzeugt wurden und in dem ROM 84 gespeichert wurden) in einer solchen Weise erzeugt, dass die erzeugte Gangart eine Gangartanforderung (wie zum Wechseln von Gangarten) erfüllt, die während des Gehens auf Echtzeitbasis erstellt wurde.
  • Die Standartgangarten wurden durch einen Offline-Computer durch Auswählen von Gangarten über Versuch-und-Fehler vorbereitet, was eine lange kontinuierliche Gehperiode bis zum letzten Schritt sicherstellt, ohne ein Abweichen der Roboterkörpertrajektorie zu verursachen, und wurden in dem ROM 84 gespeichert. Die Standartgangarten, welche eine lange kontinuierliche Gehperiode sicherstellen, sind typischerwise aus einer Serie von Gangarten gebildet mit einer Gangart zum Beginnen des Gehens aus einer Standstellung, einer Gangart zum Beschleunigen der Gehgeschwindigkeit, einer Gangart für ein Gehen mit konstanter Geschwindigkeit, einer Gangart zum Verzögern der Gehgeschwindigkeit sowie einer Gangart zum Stoppen des Gehens.
  • Die Gangart wird durch Gangartparameter beschrieben. Die Gangartparameter umfassen Bewegungsparameter und den ZMP-Parameter (allgemeiner Bodenreaktionskraftparameter). Der „Bodenreaktionskraftparameter" wird in dieser Beschreibung verwendet, um einen Parameter zu bezeichnen, der sich auf das Bodenreaktionskraftmuster in Bezug zur Zeit bezieht.
  • Die ZMP-Trajektorie weist ein Zickzackmuster auf und der ZMP-Parameter wird in den Koordinaten X, Y und Z (Richtungen) durch Positionen der Bremspunkte und Passierzeiten beschrieben, wie in 7 gezeigt. Auf dem ZPM wird sich nur in der X-Koordinate bezogen). In dem Erzeuger für Mischgangartmomentanwerte werden momentane Werte des ZMP (Trajektorie), d. h. Werte bei aktuellen (zur aktuellen Zeit) Steuer/Regelzyklen in einem ZMP-Erzeuger auf Grundlage der ZMP-Parameter berechnet.
  • Die Bewegungsparameter umfassen Fuß-(Trajektonen) Parameter und die Körper-(Trajektorien) Parameter.
  • Die Fußtrajektorienparameter sind gebildet aus der Startposition und -orientierung des freien Beins (Fußanheben) Endposition und -orientierung des freien Beins (Fußaufsetzen) und den Perioden oder Zeiten der Zweibeinunterstützungsphase und der Einbeinunterstützungsphase usw..
  • Auf dieser Grundlage werden momentane Werte der Positionen (xf, yf, zf) und Orientierungen (Θxf, Θyf, Θzf) beider Füße durch einen Fußtrajektorienerzeuger bestimmt, und zwar gemäß der Technik, welche zuvor durch den Anmelder in der japanischen offengelegten Patentanmeldung Hei 5 (1993)-318,339 und Hei 5 (1993)-324, 115 vorgeschlagen wurde. Das Wort „Orientierung" bedeutet hier Neigung oder Richtung im Raum.
  • Die Körpertrajektonenparameter enthalten Parameter, welche die Körperorientierung (die Richtung oder Neigung des Körpers 24 im Raum), die Körperhöhe (einen Wert in der Z-Richtung), Ausgangsposition (Verlagerung) und -geschwindigkeit des Körpers usw. definieren.
  • Auf Grundlage der die Körperposition und -Orientierung bestimmenden Parameter werden momentane Werte der horizontalen Position (xb, yb) und Orientierung (Θxb, Θyb, Θzb) des Körpers erzeugt, und zwar in einem Erzeuger für honzontale Körperposition gemäß Zeitfunktionen oder der Technik, welche zuvor durch den Anmelder in der japanischen offengelegten Patentanmeldung Hei 5 (1993)-324,115 vorgeschlagen wurde. Wie zuvor erwähnt, ist die Körperposition die Position des repräsentativen Punkts wie dem Massezentrum des Körpers 24. Die Höhe des Körpers zb wird in einem Körperhöhenermittler bestimmt, und zwar unter Verwendung einer geeigneten Technik wie der, welche in einer durch den Anmelder am selben Datum wie die vorliegende Erfindung eingereichten Patentanmeldung beschrieben ist.
  • Da der auf Beinen bewegliche Roboter 1, wie in 1 illustriert, 12 Gelenke aufweist, werden Gelenkwinkel deterministisch durch eine inverse kinematische Lösung aus den efialtenen Fußpositionen und -orientierungen sowie der Körperposition und -onentierung berechnet. Genau wird nur die aktuelle Sollhaltung Roboters bestimmt. (Präziser sind die Sollfußpositionen und -orientierungen Gegenstand einer Korrektur in einem Zweibeinausgleichssteuerer/regler und auf Grundlage der korrigierten Werte (falls korrigiert) werden die Sollgelenkwinkel berechnet.)
  • Die Gangarten werden durch die Gangartparameter deterministisch beschrieben. Um den Umfang der Berechnung zu reduzieren, wurden bei dieser Ausführungsform jedoch Standartgangart-Körpertrajektorien vorher durch einen Offline-Computer als in einem Speicher zu speichernde tabellierte Zeitreihendaten vorbereitet, wodurch dem Steuer/regelzyklus zugeordnete Daten nacheinander ausgegeben werden. Ist die Kapazität des ROMs 480 relativ gering, so ist es alternativ möglich, die Standartgangart-Körpertrajektorien unter Verwendung eines Polynoms anzunähern, Koeffizienten des Polynoms werden im Speicher als eine Art Gangartparameter gespeichert, obwohl dies zu einem geringen Annäherungsfehler führt.
  • Im Folgenden werden die Standartgangarten weiter erläutert. Die Standartgangarten werden in dieser Beschreibung als Zeitfunktionen beschrieben. Jede Standartgangart wird durch einen Satz g(t) und f(t) beschrieben, welche wie folgt definiert sind.
    g(t): Funktionen, welche die Bewegung des Roboters beschreiben. (Genauer repräsentieren die Funktionen die Positionen und Orientierungen der Roboterkomponenten zur Zeit t, und genauer wird die Bewegung des Roboters durch die Positionen und Orientierungen des Roboterkörpers und der Roboterfüße beschreben, wie in 3 gezeigt ist);
    f(t): Funktionen, welche die ZMP-Trajektorie beschreiben. Genauer repräsentieren die Funktionen, wie oben erwähnt, die Positionen (x, y, z) des ZMPs zur Zeit t.
  • Die Gangartfunktionen werden durch Symbole im Hinblick auf die Parameter beschrieben.
  • Genauer gesagt sind g(t) und f(t) Funktionen, welche durch die Gangartparameter definiert sind. Obwohl bevorzugt wird, dass alle Parameter repräsentiert werden, um Gangarten deutlich auszuweisen, werden nur die für die folgende Beschreibung notwendigen Parameter hier beschrieben, da die Anzahl von Parametern groß ist.
    g(t: a, b, c, d, x(k), y(k)): Funktionen, welche Roboterbewegungstrajektorien beschreiben;
    f(t: a, b, c, d): Funktionen, welche die ZMP-Trajektorie beschreiben (Funktionen, welche die Bodenreaktionskraft beschreiben).
    wobei:
    a: Anfangsorientierung des Fußes des freien Beins (zeigt den Drehwinkel des Roboters an)
    b: Anfangspositionen des Fußes des freien Beins in der Vor-und-Rück-Richtung (Gehschritt)
    c: die X-Koordinate des ZMP in der Einbeinunterstützungsphase
    d: die Y-Koordinate des ZMP in der Einbeinunterstützungsphase
    x(k): die X-Koordinate von Körperpositionen in Zeitreihen
    y(k): die Y-Koordinate von Körperpositionen in Zeitreihen.
  • In der Darstellung werden die Zeitreihendaten als eine Art Parameter behandelt. Damit einhergehend wird ohne eine die Körperposition beschreibende Zeitreihentabelle die Gangart ausschließlich oder deterministisch bestimmt, wenn die Parameter der Anfangskörperposition und -geschwindigkeit gegeben sind. Die Zeitreihendaten der Körperposition sind somit redundant. Um jedoch die Gangarterzeugungszeit auf einer Echtzeitbasis zu verkürzen, wird jedoch die Zeitreihendatentabelle der Körperposition hier als eine Art Parameter behandelt, welche Gangarten beschreiben.
  • In dieser Ausführungsform sind die Anfangskörperpositions- und -geschwindigkeitsparameter für verschiedene Gangarten unterschiedlich. Da jedoch die Anfangskörperposition und -geschwindigkeit berechnet werden kann, wenn die Zeitreihendaten der Körperposition explizit beschrieben sind, wird hier keine weitere Erläuterung gegeben.
  • In der Ausführungsform werden die Standartgangarten wie die zum Beginnen des Gehens aus der Standposition heraus, wie oben erwähnt, unter Verwendung eines Offline-Computers vorbereitet. Die folgenden drei Gangarten sind Beispiele.
  • Standartgangart Nr. 0
    • g(t: a0, b0, c0, d0, x0(k), y0(k))
    • f(t: a0, b0, c0, d0)
  • Standartgangart Nr. 1
    • g(t: a 1, b0, c1, d 1, x1(k), y1(k))
    • f(t: a1, b0, c1, d1)
  • Standartgangart Nr. 2
    • g(t: a0, b2, c2, d2, y2(k), y2(k))
    • f(t: a0, b2, c2, d2)
  • 5 bis 11 illustrieren die Anfangspositionen und -orientierungen des Fußes des freien Beins und die Endpositionen und -orientierungen des Fußes des freien Beins usw. Um die Gangarten zu beschreiben, wird das Koordinatensystem mit einem Bezugspunkt auf der Fußsohle-Boden-Kontaktfläche des Unterstützungsbeins als Ursprung und die Vor-und-Rück-Richtung des Fußes des Unterstützungsbeins als X-Richtung und die Links-Rechts-Richtung als die Y-Richtung gesetzt.
  • Bevor mit der Erläuterung des Flussdiagramms von 4 begonnen wird, soll angenommen werden, dass die Gangartanforderung so wie in 12 und 13 gezeigt, gegeben ist und die Funktionsweise des Systems wird unter Verwendung der Erzeugung der angeforderten Gangart (der vorgenannten angenäherten Gangart, auf die sich im Folgenden mit „dritte Gangart" bezogen wird) zum Erfüllen der Anforderung mithilfe der Standartgangarten als Beispiel erläutert. Der angeforderten Gangart sollte eine Anfangsorientierung a3 und eine Vor- und Rückposition b3 des freien Beins gegeben werden.
  • In der dritten Gangart ist der Parameter a offenbar a3 und der Parameter b ist offenbar b3. Das Problem ist nun die Bestimmung der anderen Parameter c, d und der tabellierten Werte x(k), y(k), so dass die Anforderung erfüllt wird.
  • Die dritte Gangart wird daher wie folgt beschrieben;
    g(t: a3, b3, c3, d3, x3(k), y3(k))
    f(t: a3, b3, c3, d3).
  • Es werden dann die Parameter c3, d3 und die tabellierten Zeitreihendaten x3 (k) und y3(k) bestimmt.
  • Es werden hier die Fachbegriffe definiert. Die Parameter a, b enthalten Werte, welche als Gesuch (gleich der vorher erwähnten Gangartanforderung) von außerhalb des Systems (wie durch einen Bediener mittels des Steuerknüppels 62) oder durch ein anderes System (wie von dem Zweibeinausgleichssteuerer/regler im Blockdiagramm von 3) eingegeben wurden. Der Parameter, dessen Wert direkt als ein bestimmter Wert gefordert wird, wird als „direkt bestimmter Parameter" bezeichnet.
  • Um die Erklärung zu vereinfachen wird in dieser Ausführungsform brschrieben, dass nur die Anfangsorientierung des Fußes des freien Beins und die Vor-und-Rück-Positon (Schritt) nach Belieben geändert werden kann. Zusätzlich können die folgenden 1) und 2), wie oben erwähnt, als die Gangartanforderung eingegeben werden. Ferner kann auch 3) eingegeben werden, was in der vierten Ausführungsform der vorliegenden Erfindung erwähnt werden wird.
    • 1) Anweisungen von einem Bediener (z. B. Anweisungen bezüglich des Drehwinkels oder der Drehwinkelgeschwindigkeit oder Bewegungsgeschwindigkeit)
    • 2) Anforderung von einem anderen System wie einem Wegleitsystem, falls vorhanden (z. B. Endposition und -orientierung des Fußes des freien Beins)
    • 3) Randbedingungen von Gangarten zwischen der aktuellen Gangart und der vorhergehenden oder nächsten Gangart (z. B. Anfangsposition und -orientierung des Körpers, Anfangsposition und -orientierung des Fußes des freien Beins).
  • Andererseits werden Parameter wie c, d oder die tabellierten Daten x(k), y(k) abhängige Parameter (oder tabellierte Daten) genannt, welche auf Grundlage der direkt bestimmten Parameter bestimmt werden, so dass sie die Gangartbedingungen erfüllen. Da es ziemlich schwierig ist, die tabellierten Zeitreihendaten direkt zu bestimmen, sind die tabellierten Zeitreihendaten selten direkt bestimmte Parameter.
  • Die zuvor erwähnten Standartgangarten Nr. 1 oder Nr. 2 (andere als die Standartgangart Nr. 0) basieren auf der Standartgangart Nr. 0 und nur einer der direkt bestimmten Parameter (d. h. a oder b) unterscheidet sich von dem der Standartgangart Nr. 0. Die Grundgangart unter den ausgewählten Standartgangarten (d. h. Standartgangart Nr. 0) wird als die Basisgangart bezeichnet.
  • Die Bestimmung der Parameter der angeforderten Gangart (die Parameter der angeforderten Gangart werden in dieser Bezeichnung manchmal als „gemischte Parameter" bezeichnet) wird erläutert. Die abhängigen Parameter c3, d3 und die abhängigen tabellierten Daten x3(k), y3(k) variieren in Antwort auf die direkt bestimmten Parameter a, b, so dass sie die Bedingungen einer Gangart erfüllen. Zudem wird vorgeschlagen, dass sie kontinuierlich in Antwort auf die Änderung der Parameter a, b variieren. Die Werte sind daher kontinuierliche Funktionen der Parameter a, b. Das bedeutet, dass das folgende Annäherungsprinzip genutzt oder angewendet werden kann. Mit anderen Worten können die Parameter der angeforderten Gangart durch ein Näherungsverfahren berechnet werden.
  • Genauer gesagt, wenn eine Funktion p eine kontinuierliche Funktion ist, so kann sie mit dem folgenden Ausdruck angenähert werden.
  • P(a0 + Δa, b0 + Δb) = P(a0, b0) + δP/δa|(a = a0, b = b0)*Δa + δP/δb|(a = a0, b = b0)*Δb Näherung 1wobei hier,
    δP/δa|(a = a0, b = b0) ein partielles Differenzial von P bezüglich a bei a = a0, b = b0 ist;
    δP/δb| (a = a0, b = b0) ein partielles Differenzial von P bezüglich b bei a = a0, b = b0 ist.
  • Ferner kann, da δP/δa|(a = a0, b = b0) = (P(a0 + Δa1, b0) – P(a0, b0))/Δa1 δP/δb|(a = a0, b = b0) = (P(a0, b0 + Δb2) – P (a0, b0))/Δb2
  • Näherung 1 wie folgt neu geschrieben werden.
  • P(a0 + Δa, b0 + Δb) = P(a0, b0) + {P(a0+ Δa1, b0) – P(a0, b0)}/Δa1*Δa + {P(a0, b0 + Δb2) – P(a0, b0)}/Δb2*Δb Näherung 2
  • Die erste Ausführungsform ist eine Entwicklung von Näherung 2 und die zweite Ausführungsform (später beschneben) ist eine Entwicklung von Näherung 1.
  • Die Erläuterung der Parameter der angeforderten Gangart wird fortgesetzt. Die Parameter der dritten Gangart werden aus den Standartgangarten durch internes oder externes Teilen (d. h. Interpolieren) aller abhängigen Parameter und tabellierten Zeitreihendaten unter Verwendung der folgenden Gleichungen berechnet. Dies liegt daran, dass in Betracht gezogen werden kann, dass die abhängigen Parameter im Verhältnis zu den direkt bestimmten Parametern stehen.
  • Liegt a3 zwischen a1 und a2, so wird es durch interne Division berechnet und liegt a3 nicht zwischen a1 und a2, so wird es durch externe Division erhalten. Wenn der Unterschied des Parameters im dynamischen Sinne vernachlässigt werden kann, so kann der Parameter derselbe sein wie der der Basisgangart. Werden die tabellierten Zeitreihendaten in den ersten Rechner 80 zu einer Zeit berechnet, so wird die Rechenbelastung groß. Die interne oder externe Division sollte dementsprechend nur für Daten in dem aktuellen Steuer/regelzyklus ausgeführt werden.
  • Es folgen die zuvor erwähnten Gleichungen zum Mischen (später als „Gleichung 1" bezeichnet), welche interne oder externe Divisionen verwenden. c3 = c0 + (c1 – c0)*(a3 – a0)/(a1–a0) + (c2 – c0)*(b3 – b0)/(b2 – b0) d3 = d0 + (d1 – d0)*(a3 – a0)/(a1 – a0) + (d2 – d0)*(b3 – b0)/(b2 – b0) x3(k) = x0(k) + (x1(k) – x0(k))*(a3 – a0)/(a1 – a0) + (x2(k) – x0(k)) *(b3 – b0)/(b2 – b0) y3(k) = y0(k) + (y1(k) – y0(k))*(a3 – a0)/(a1 – a0) + (y2(k) – y0(k)) *(b3 – b0)/(b2 – b0)
  • Diese Gleichung 1 sind gewichtete Mittelwertberechnungen der Standartparameter und tabellierten Daten. Beispielsweise kann die Gleichung zum Erhalten von c3 wie folgt neu geschrieben werden. c3 = {1 – (a3 – a0)/(a1 – a0) – (b3 – b0)/(b2 – b0)}*c0 + (a3 – a0)/(a1 – a0)*c1 + (b3 – b0)/(b2 – b0)*c2.
  • Da die Summe der gewichteten Koeffizienten von c0, c1, c2 gleich 1 ist, ist c3 ein gewichteter Mittelwert, dessen Wichtungen von c0, c1 und c2 jeweils {1 – (a3 – a0)/(a1 – a0) – (b3 – b0)/(b2 – b0)} (a3 – a0)/(a1 – a0) (b3 – b0)/(b2 – b0)betragen.
  • Wenn die Endposition und -orientierung des Körpers nach Belieben als direkt bestimmter Parameter variiert werden soll, so ist es ausreichend, wenn ein gewichteter Mittelwert aus der Basisgangart und einigen Standartgangarten, deren ZMP-Parameter verschieden voneinander sind, berechnet wird. Da der Endzustand der Mischgangart nahezu gleich dem gewichteten Mittelwert der Endzustände der zu mischenden Standartgangarten einschließlich der Basisgangart ist, ist es ausreichend, wenn die Wichtungen des gewichteten Mittelwerts so bestimmt werden, dass der Endzustand der Mischgangart (einschließlich der Vor-und-Rück-Position und -geschwindigkeit des Körpers) identisch dem angeforderten Wert ist.
  • Wenn die Körperposition aus den tabellierten Zeitreihendaten bestimmt worden ist, so wird die gemischte Gangart den angeforderten Wert bezüglich der Endzustandsbedingungen vollständig erfüllen. Wird die Körperposition jedoch nacheinander durch dynamische Berechnungen bestimmt, sodass die bestimmte ZMP-Trajektorie erfüllt ist, so weicht sie in geringem Ausmaß ab, wie in der siebten Ausführungsform beschneben werden wird.
  • Beim Bestimmen der Wichtungen sollte jeder der zu mischenden Endzustände der Standartgangarten bekannt sein. Wenn die Endzustände der Standartgangarten als tabellierte Daten vorbereitet und im Speicher gespeichert wurden, so wird es möglich, die Rechenzeit zu reduzieren.
  • In der oben erläuterten Weise werden die Mischgangartparameter bestimmt und es werden momentane Werte der angeforderten Gangart zu jeder Zeit erzeugt oder bestimmt, und zwar in der selben Weise, wie der Gangarterzeugungsalgonthmus, der durch einen Offline-Computer vorbereiteten Standartgangart.
  • Basierend auf oben Angegebenem wird die Funktionsweise des Systems gemäß der Erfindung unter Bezugnahme auf ein in 4 gezeigtes Flussdiagramm erklärt. Das Programm startet bei S10, in welchem die durch einen externen Computer vorbereiteten Standartgangarten in dem ROM 84 geladen oder in diesem gespeichert worden sind. Das Programm schreitet weiter zu S12, in welchem die Endpositionen und -geschwindigkeiten des Körpers in jeder Standartgangart berechnet und in dem Speicher gespeichert werden.
  • Da die Körperposition wie oben erwähnt als eine Funktion x(k), y(k) vorbereitet worden ist, sollte die Körpergeschwindigkeit aus dem Endwert und dem dem Endwert vorhergehenden Wert in den tabellierten Daten errechnet werden. Genau wird der Endwert der tabellierten Daten sofort als die Position bestimmt und die Differenz zwischen diesem Wert und dem dem Endwert vorhergehenden Wert wird berechnet und wird verwendet, um die Geschwindigkeit zu bestimmen.
  • Das Programm schreitet dann zu S14 weiter, in welchem der Zeitgeberwert t auf Null zurückgesetzt wird (mit anderen Worten: der Zeitgeber wird gestartet), dann zu S18 über S16, welchem auf einem Zeitgeberunterbrecher gewartet wird (der Zeitgeber ist verschieden von dem in S14). Die in dem Flussdiagramm von 4 gezeigten Prozeduren werden einmal pro vorbestimmte Periode, wie etwa 20 ms, ausgeführt, d. h. der Steuer/Regelzyklus beträgt 20 ms.
  • Das Programm schreitet weiter zu S20, in welchem bestimmt wird, ob die Gangart zurzeit gewechselt wird (das Ende eines einzelnen Gehschritts) oder, genauer, ob der Zeitpunkt zum Wechseln des Gehschritts vorliegt. Ist das Ergebnis zustimmend, so schreitet das Programm zu S22 fort, in welchem der Zeitgeber auf Null zurückgesetzt wird, und zu S24, in welchem der angeforderte Wert für die Gangart, genauer der angeforderte Wert der direkt bestimmten Parameter bei der momentanen Gangart (in die neue Gangart, welche von diesem Zeitpunkt an beginnt), d. h. die vorbenannten a und b, gelesen werden.
  • Das Programm schreitet weiter zu S26, in welchem Prozeduren zum Gangartmischen ausgeführt werden.
  • 14 ist ein Flussdiagramm, welches die Unterroutine der Gangartmischprozeduren zeigt.
  • Das Programm beginnt bei S100, in welchem eine Standartgangart, deren direkt bestimmte Parameter nahe den angeforderten Werten sind, als die Basisgangart ausgewählt wird. Dies wird unter Bezugnahme auf 15 erläutert. Da die Standartgangart, deren direkt bestimmte Parameter a, b nahe den angeforderten Werten (dritte Gangarten) a3, b3 sind, die Standartgangartnummer 0 ist, wird die Standartgangartnummer 0 als die Basisgangart gewählt.
  • Das Programm schreitet dann zu S102, in welchem unter Berücksichtigung der oben erwähnten direkt bestimmten Parameter Standartgangarten separat ausgewählt werden, welche sich in einem der direkt bestimmten Parameter von der Basisgangart unterscheiden. Gibt es mehrere Kandidaten, so sollte die Standartgangart gewählt werden, deren Parameter so nahe wie möglich an dem festgestellten Parameter liegt. Es wird bevorzugt, die Standartgangarten mit solchem Parameter auszuwählen, dass der angeforderte Wert zwischen dem Parameter und den Basisgangartparametern liegt. Speziell sollte vorzugsweise dann, wenn die Situation so ist wie in 16 gezeigt, die Standartgangart Nr. 1 bezüglich des Parameters a ausgewählt werden.
  • Wie in der fünften Ausführungsform erklärt werden wird, so wird sich dann, wenn die Masse des Beingelenks 2 ausreichend kleiner ist als die des Körpers 24, die durch den Roboter 1 erzeugte Trägheitskraft wenig ändern, wenn sich die Endposition und -orientierung des Fußes des freien Beins in den direkt bestimmten Parametern leicht ändert. Mit anderen Worten würde die Veränderung der Parameter die anderen Parameter hinsichtlich des Erfüllens in der Bedingung des dynamischen Gleichgewichts nicht beeinflussen.
  • Unterscheiden sich demnach die Parameter der Endposition und -orientierung des Fußes des freien Beins leicht von denen der Basisgangart, so kann dies leicht gelöst werden, indem der Basisgangartparameter wie angefordert verändert wird. Dadurch wird es unnötig, zu mischende Standartgangarten auszuwählen, deren Parameter für Endposition und -orientierung des Fußes des freien Beins nur von denen der Basisgangart unterschiedlich sind.
  • Das Programm schreitet dann weiter zu S104, in welchem die angeforderten Werte für die direkt bestimmten Parameter der gemischten Gangart ersetzt werden, und zu S106, in welchem die abhängigen Parameter der gemischten Gangart unter Verwendung der Gleichungen zur Parameterberechnung (Gleichung 1) berechnet werden.
  • Rückkehrend zur Erläuterung von 4 schreitet das Programm dann zu S28 weiter, in welchem die Parameter der gemischten Gangart (tabellierte Werte) für die Sollgangartparameter (tabellierte Werte) ersetzt werden, und zu S30, in welchem die momentanen Werte (d. h. die Werte bei dem momentanen Steuer/Regelzyklus) der Sollgangart berechnet werden.
  • 17 ist ein Flussdiagramm, welches die Untenoutine der Prozeduren zeigt.
  • Um dies zu erläutern, das Programm startet bei S200, in welchem der ZMP zur Zeit t bestimmt oder auf Grundlage der Mischgangartparameter berechnet wird, und schreitet weiter zu S202, in welchem die Fußposition und -onentierung bestimmt oder auf Grundlage der Mischgangartparameter unter Verwendung der zuvor vorgeschlagenen Technik berechnet werden.
  • Das Programm schreitet weiter zu S204, in welchem die Körperhöhe zur Zeit t aus der Fußposition und -orientierung zur Zeit t und der horizontalen Körperposition zur Zeit t – Δt bestimmt oder berechnet wird. Da die Details davon in einer anderen Patentanmeldung beschrieben sind, welche wie oben beschrieben zur selben Zeit wie die vorliegende Erfindung eingereicht wurde, und keine direkte Beziehung zum Hauptinhalt der vorliegenden Erfindung haben, wird auf eine Erklärung verzichtet.
  • Das Programm schreitet weiter zu S206, in welchem die horizontale Körperposition der Mischgangart zur Zeit t auf Grundlage der Körperposition zur Zeit t der ausgewählten Standartgangarten (einschließlich der Basisgangart) gemäß den genannten Gleichungen zum Mischen (Gleichung 1) berechnet wird.
  • Es wird zur Erläuterung von 4 zurückgekehrt. Das Programm schreitet weiter zu S32, in welchem die Zeit t mit Δt aktualisiert wird, und kehrt zurück zu S18, um die oben erwähnten Prozeduren zu wiederholen.
  • Auf Grundlage der so erzeugten Gangart wird, falls nötig, die Zweibeinausgleichssteuerung/regelung durch den Zweibeinausgleichssteuerer/regler ausgeführt und die Sollgelenkwinkel werden bestimmt. Die Gelenke werden dann so gesteuert/geregelt, dass sie den Sollgelenkwinkeln folgen.
  • Die Zweibeinausgleichssteuerung/regelung wird kurz unter Bezugnahme auf das Flussdiagramm von 18 erklärt. In dem Flussdiagramm startet das Programm bei S300, in welchem eine veränderte Variable der Zweibeinausgleichssteuerung/regelung berechnet wird.
  • 19 ist ein Flussdiagramm, welches die Unterroutine der Prozeduren zeigt. Das Flussdiagramm wird erläutert. Das Programm beginnt bei S400, in welchem die Ausgabe des Sechs-Achsen-Kraft-Drehmomentsensors 44 gelesen wird, und schreitet weiter zu S402, in welchem die tatsächliche Position des ZMP (dem tatsächlichen Bodenreaktionskraft-Mittelpunkt) bestimmt wird, weiter zu S404, in welchem der bestimmte Wert mit der Soll-ZMP-Position verglichen wird und der Unterschied zwischen diesen, d. h. die Richtung des Unterschieds und der Betrag des Unterschieds X bestimmt werden, weiter zu S406, in welchem die veränderte Variable des Fußes gemäß der dort illustrierten Gleichung bestimmt wird, weiter zu S408, in welchem die Fußposition und -Orientierung durch die bestimmte veränderte Varable verändert oder verschoben wird. Die tatsächliche ZMP-Position und der tatsächliche Bodenreaktionskraft-Mittelpunkt sind einander gleich, sie werden daher in dieser Beschreibung als gleich behandelt.
  • Es wird zur Erläuterung des Flussdiagramms von 18 zurückgekehrt. Das Programm schreitet weiter zu S302, in welchem Sollwinkel der zwölf Gelenke durch eine bekannte diverse kinematische Lösung auf Grundlage der Fußpositionen und -orientierungen (korngierte Fußpositionen und -orientierungen, falls im Ausgleichssteuerer/Regler korrigier) und der Körperposition und -orientierung berechnet werden. Das Programm schreitet weiter zu S304, in welchem die Sollhaltung so korrigiert wird, dass sie den Bodenreaktionskraft-Mittelpunkt absichtlich in Abweichung bringt oder verschiebt, wenn aus der Ausgabe des Neigungssensors 44 bestimmt wird, dass der Roboter 1 instabil ist. Das Programm schreitet weiter zu S306, in welchem alle Gelenke so angesteuert werden, dass sie den Sollgelenkwinkeln folgen. Genauer wird dies durch den zweiten Rechner 82 ausgeführt.
  • Durch eine Konfiguration in der beschriebenen Weise kann das System in der ersten Ausführungsform eine Gangart frei und auf Echtzeitbasis erzeugen und kann einen Sollschritt oder eine Drehung in einen Sollwinkel bewirken. Ferner kann das System den auf Beinen beweglichen Roboter dazu bringen, durch Ansteuern der Gelenkwinkel auf Grundlage der auf Echtzeitbasis erzeugten Gangart frei zu gehen.
  • Genauer kann das System frei eine angenäherte Gangart auf Echtzeitbasis erzeugen, welche die vorstehend genannten Bedingungen eine Gangart oder der Anforderung einer Gangart erfüllt, und zwar durch geeignetes Auswählen einiger der Gangarten unter den gespeicherten Standartgangarten als die Basisgangart in Antwort auf die Anforderung für den Schritt oder den Drehwinkel sowie durch Mischen (wie Synthetisieren, Modifizieren, etc.), d. h. durch Durchführen einer Näherung.
  • Ferner kann das System mit der Anordnung frei eine Ganagart mit einem genauen Schritt oder Drehwinkel erzeugen und kann durch Kombinieren und Mischen der Standartgangarten nach Ermessen eine dazwischen liegende mittlere Gangart erzeugen.
  • Das System kann femer die Menge oder den Umfang der Berechnung reduzieren. Genauer gesagt wird der Rechenumfang im ersten Rechner 80 um 90% reduziert, verglichen mit einem Fall, in welchem das Roboterdynamikproblem auf Echtreitbasis gelöst wird. Da ferner die geeigneten Standartgangarten im Voraus gespeichert sind und eine Gangart durch miteinander Mischen der Standartgangarten neu erzeugt wird, wird es möglich, die Größe oder Kapazität an Speicher (der ROM 84) zu reduzieren. Da ferner die Standartgangarten optimal vorbereitet werden können, wird es möglich, einfach und ohne Versuch-und-Fehler eine neue Gangart zu erzeugen, welche die oben erwähnten Bedingungen 1) bis 5) erfüllt.
  • 20 ist ein Flussdiagramm, welches die Funktionsweise des Systems gemäß der zweiten Ausführungsform der vorliegenden Erfindung zeigt.
  • In der zweiten Ausführungsform wird zusätzlich zu den Standartgangarten eine Empfindlichkeit eines Gangartparameters verwendet. Die „Empfindlichkeit" bedeutet allgemein das Verhältnis der Antwort oder Änderung, die in der Ausgabe hervorgerufen wird, zu einem Impuls oder einer Veränderung in der Eingabe. In der zweiten Ausführungsform wird ein Änderungsbetrag eines Gangartparameters pro Einheit eines Änderungsbetrags des anderen Gangartparameters bestimmt oder berechnet. Der Änderungsbetrag eines Gangartparameters wird als „Gangartparameterempfindlichkeit" bezeichnet und wird dazu verwendet, den Änderungsbetrag (oder Veränderung) eines Parameters zu bestimmen.
  • Einfacher ausgedrückt, bezieht sich die Gangartparameterempfindlichkeit darauf, wie stark die abhängigen Parameter geändert oder variiert werden sollten, damit die geänderte Gangart wünschenswerte Bedingungen aufrecht erhält, ob und wann die direkt bestimmten Parameter (wie die Anfangsorientierung a des Fußes des freien Beins, die Anfangs-Vor-und- Rück-Position b des Fußes des freien Beins der ersten Ausführungsform) um einen geringen Betrag verändert werden. Die Gangartparameterempfindlichkeit ist daher definiert als der Betrag der Änderung der abhängigen Parameter pro Einheitsbetrag der direkt bestimmten Parameter.
  • In der zweiten Ausführungsform wird als Ergebnis die Anzahl an Standartgangarten reduziert und es werden nur die verwendet, die für die Basisgangart geeignet sind. Genauer werden die Standartgangarten, welche eine Reihe von kontinuierlichen Gangarten umfassen, mit einer Gangart zum Beginnen des Gehens aus der Standposition, einer Gangart zum Beschleunigen der Gehgeschwindigkeit, einer Gangart für Gehen mit konstanter Geschwindigkeit, einer Gangart zum Verlangsamen der Gehgeschwindigkeit sowie einer Gangart zum Anhalten des Gehens, ähnlich verwendet. Es werden jedoch keine anderen Standartgangarten, deren Parameter von denen der Reihe nacheinander folgender Gangarten leicht verschieden sind, vorbereitet.
  • Genauer wird die Empfindlichkeit eines Parameters q relativ zu einem Parameter p in einer Standartgangart i als Di(q, p) beschneben. In den tabellierten Daten wird die Empfindlichkeit eines k-ten Datums x(k) relativ zum Parameter p in ähnlicher Weise als Di(x(k), p) beschrieben.
  • Es wird die Erzeugung der angeforderten Gangart in der zweiten Ausführungsform beschneben.
  • Die Beziehungen zwischen der Empfindlichkeit des Parameters c relativ zum Parameter a in der Standartgangart Nr. 0 (bezeichnet als D0(c, a)) und die in der Standartgangart Nr. 1 werden im Folgenden gemäß den Definitionen gezeigt, wenn (a1 – a0) ausreichend klein ist. D0(c, a) = (c1 – c0)/(a1 – a0) D0(d, a) = (d1 – d0)/(a1 – a0) D0 (x(k), a) = (x1(k) – x0(k))/(a1 – a0) D0 (y(k), a) = (y1(k) – y0(k))/(a1 – a0)
  • Ähnlich werden die Beziehungen zwischen der Empfindlichkeit des Parameters c relativ zum Parameter b) in der Standartgangart Nr. 0 (bezeichnet als D0(c, b)) und die in der Standartgangart Nr. 2 wie folgt gemäß den Definitionen gezeigt, wenn (b2 – b0) ausreichend klein ist. D0(c, b) = (c2 – c0)/(ba – b0) D0(d, b) = (d2 – d0)/(b1 – b0) D0(x(k), b) = (x2(k) – x0(k))/(b2 – b0) D0(y(k), b) = (y2(K) – y0(k))/(b2 – b0)
  • Man erhält das Folgende als Gleichungen zur Parameterbestimmung (hier im Folgenden als „Gleichung 2" bezeichnet), indem man diese in die Gleichungen zum Mischen der Parameter und tabellierten Daten in der erste Ausführungsform einsetzt. c3 = c0 + D0(c, a)*(a3 – a0) + D0(c, b)*(b3 – b0) d3 = d0 + D0(d, a)*(a3 – a0) + D0(d, b)*(b3 – b0) x3(k) = x0(k) + D0(x(k), a)*(a3 – a0) + D0(x(k), b)*(b3 – b0) y3(k) = y0(k) + D0(y(k), a)*(a3 – a0) + D0(y(k), b)*(b3 – b0)
  • Auf Grundlage des oben Genannten wird erst die Funktionsweise der zweiten Ausführungsform unter Bezugnahme auf 20 erläutert. Das Programm beginnt bei S500, in welchem die Basisgangarten und Gangartparameterempfindlichkeiten, welche durch einen Offline-Computer vorbereitet worden sind, in einem Speicher gespeichert werden, und führt dann weiter zu S502 und zu S514, um die gleichen Prozeduren auszuführen wie die der ersten Ausführungsform, und dann zu S516, in welchem die Prozeduren zum Gangartmischen ausgeführt werden.
  • 21 ist ein Flussdiagramm zum Darstellen der Unterroutine der Prozeduren. Das Programm beginnt bei S600, in welchem die Basisgangart ausgewählt wird, deren direkt bestimmte Parameter nahe bei den angeforderten Werten liegen, und schreitet weiter zu S602, in welchem die angeforderten Werte für die direkt bestimmten Parameter der Mischgangart eingesetrt werden, dann zu S604, in welchem die abhängigen Parameter gemäß Gleichung 2 berechnet werden. Die tabellierten Daten der honzontalen Körperposition können zu einer Zeit berechnet werden. Da jedoch der Umfang der Berechnung dieser groß ist, kann es sein, dass jeder Wert, der für den momentanen Steuer/Regelzyklus notwendig ist, in der Untenoutine der später erklärten Momentanwertberechnung berechnet wird.
  • Es wird zur Erläuterung von 20 zurückgekehrt. Das Programm schreitet weiter zu S520, über S518, in welchem die momentanen Werte der Sollgangart berechnet werden.
  • 22 ist ein Flussdiagramm, welches die Untenoutine der Prozeduren zeigt. Das Programm beginnt bei S700 und schreitet dann zu S702 und zu S706 fort, in welchen die Positionen und Orientierungen der Füße und des Körpers berechnet werden. In S706 wird die horizontale Körperposition gemäß den sich auf x, y beziehenden Gleichungen in Gleichung 2 berechnet. Es wird zur Erläuterung von 20 zurückgekehrt. Das Programm kehrt über S522 nach S508 zurück, um die Prozeduren zu wiederholen.
  • Bei einer Konfiguration in der vorstehenden Art und Weise weist das System in der zweiten Ausführungsform dieselben Vorteile auf wie die der ersten Ausführungsform.
  • Die Überlegenheit der zweiten Ausführungsform gegenüber der ersten Ausführungsform hängt jedoch von der Kombination der Standartgangarten oder der Natur oder dem Charakter der in dem Speicher gespeicherten Standartgangarten ab. Wird beispielsweise der gesamte Raum, welcher durch die Kombinationen von direkt bestimmten Parametern erzeugt wird, als ein Parameterraum benannt, so kann die erste Ausführungsform derart ausgebildet werden, dass die direkt bestimmten Parameter für ein bestimmtes Intervall in einer solchen Weise diskretisiert werden, dass in dem Parameterraum gitterartige diskrete Räume vorgesehen sind und Sollstandartgangarten werden für alle Kombinationen der direkt bestimmten Parameter in den diskreten Räumen vorbereitet. Genauer gesagt kann die erste Ausführungsform so konfiguriert werden, dass die Parameter, welche nicht die direkt bestimmten Parameter sind, d. h. die abhängigen Parameter, so eingestellt werden, dass die Gangarten wünschenswerte Gangarten werden.
  • Wird die erste Ausführungsform mit Standartgangarten ausgestattet, welche in der oben erwähnten Weise vorbereitet worden sind, so können die meisten der Standartgangarten die Bedingung erfüllen, die Basisgangart zu sein. (Die Standartgangart, deren direkt bestimmte Parameter bis auf einen Parameter vollständig gleich sind mit denen der anderen existierenden Standartgangart, kann die Bedingungen als Basisgangart erfüllen.) Wenn die erste Ausführungsform wie oben modifiziert ist, so wird keine Parameterempfindlichkeit zum freien Erzeugen von Gangarten benötigt.
  • Es sollte in der zweiten Ausführungsform bemerkt werden, dass dann, wenn die Parameterempfindlichkeiten für verschiedene Gangarten nahezu gleich sind, die Parameterempfindlichkeiten nicht für jede Gangart vorbereitet werden müssen, sondern es kann eine vorbereitet werden, die allgemein gültig für alle Gangarten ist. Mit der Anordnung kann die Kapazität des Speichers (des ROMs 84) verglichen mit der ersten Ausführungsform im großen Ausmaß reduziert werden.
  • Sind z. B. D0(c, a), D1(c, a), D2(c, a) ... Dn(c, a) annähernd gleich, so kann stattdessen in allen Gleichungen zur Parameterbestimmung der Mittelwert D (c, a) davon verwendet werden.
  • 23 ist ein Flussdiagramm, welches die Funktionsweise des Systems gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt.
  • In der dritten Ausführungsform werden sowohl die in der ersten Ausführungsform verwendeten Standartgangarten als auch die Parameterempfindlichkeiten der zweiten Ausführungsform verwendet.
  • Die Erzeugung einer angeforderten Gangart in der dritten Ausführungsform wird nun erläutert.
  • Beim Berechnen der abhängigen Parameterwerte wird in der dritten Ausführungsform der Einfluss der direkt bestimmten Parameter teilweise unter Verwendung der Methode der ersten Ausführungsform bestimmt, während der Rest des Einflusses unter Verwendung der zweiten Ausführungsform bestimmt wird. Genauer werden sowohl ein Gangartmischen als auch ein Zusatz an Störung aufgrund der Gangartparameterempfindlichkeit verwendet.
  • Werden genauer gesagt die erste Ausführungsform für den Einfluss des direkt bestimmten Parameters a und die zweite Ausführungsform für den des Parameters b verwendet, so werden die Gleichungen für eine Parameterbestimmung wie folgt neu geschrieben. c3 = c0 + (c1 – c0)*(a3 – a0)/(a1 – a0) + D0(c, b)*(b3 – b0) d3 = d0 + (d1 – d0)*(a3 – a0)/(a3 – a) + D0(d, b)*(b3 – b0) x3(k) = x0(k) + (x1(k) – x0(k))*(a3 – a0)/(a1 – a0) + D0(x(k), b)*(b3 – b0) y3(k) = y0(k) + (y1(k) – y0(k)) + (a3 – a0)/(a1 – a0) + D0(y(k), b)*(b3 – b0)
  • Es wird die Funktionsweise unter Bezugnahme auf 23 erläutert. Das Programm beginnt bei S800, in welchem die Standartgangarten und Gangartparameterempfindlichkeiten, welche durch einen Offline-Computer vorbereitet und in einem Speicher gespeichert worden sind, gelesen werden, und schreitet weiter zu S802 und weiter, in welchen dieselben Prozeduren wie bei der ersten Ausführungsform durchlaufen werden, dann zu S900 und weiter, über S816, wie in einem Flussdiagramm von 24 beschrieben ist, in welchem das Gangartmischen ausgeführt wird. Das Programm schreitet dann von S820 im Flussdiagramm von 23 nach S1000 und weiter in einem Flussdiagramm von 25, in welchem die Momentanwerte berechnet werden.
  • Mit einer Konfiguration in der vorstehenden Art und Weise weist das System in der dritten Ausführungsform dieselben Vorteile der vorhergehenden Ausführungsformen auf.
  • 26 ist ein Flussdiagramm, welches die Funktionsweise des Systems gemäß der vierten Ausführungsform der vorliegenden Erfindung zeigt.
  • Wie in 27 illustriert ist, tendieren die Körperpositionen und -orientierungen in den aus den Standartgangarten erhaltenen gemischten Gangarten (angeforderte Gangart) dazu, an der Gangartgrenze zueinander leicht unkontinuierlich zu sein. Die Endposition und -geschwindigkeit des Körpers einer gemischten Gangart sollte deshalb in Einklang gebracht werden mit der Anfangsposition und -geschwindigkeit des Körpers der nächsten gemischten Gangart. Im Hinblick darauf ist die vierte Ausführungsform so ausgebildet, dass die Randbedingungen der Körperposition und -orientierung frei bestimmt werden kann. Mit anderen Worten werden die Anfangs- und Endpositionen und -geschwindigkeiten des Körpers als die direkt bestimmten Parameter angesehen, was es der Körperposition und -geschwindigkeit ermöglicht, an der Gangartgrenze kontinuierlich zu sein.
  • In Zusammenfassung dieser Methode wird zunächst die gemischte Gangart erzeugt, in welcher alle direkt bestimmten Parameter (bis auf die der Anfangs- und Endpositionen und -geschwindigkeiten des Körpers) so sind wie gewünscht, wobei irgendeine Methode aus der ersten bis driitten Ausführungsform verwendet wird. Dann werden die ZMP-Parameter korrigiert, damit die Anfangs- und Endpositionen und -geschwindigkeiten des Körpers so sind wie gewünscht.
  • Da die früheren dieser Prozeduren dieselben sind wie die vorherigen Ausführungsformen, wird auf eine Erläuterung verzichtet. Eine Erläuterung wird nur gegeben für die letztere dieser Prozeduren zum Konigieren der ZMP-Parameter derart, dass die Anfangs- und Endpositionen und -geschwindigkeiten des Körpers so werden wie gewünscht.
  • In der in den vorhergehenden Ausführungsformen beschriebenen Gangarterzeugung nehme man an, dass die Gangartparameter (bis auf die Anfangsposition und -geschwindigkeit des Körpers, die Endposition und -geschwindigkeit des Körpers sowie die ZMP-Parameter) fest sind.
  • Unter der Annahme wird dann, wenn die Anfangsposition und -geschwindigkeit des Körpers und die ZMP-Parameter bestimmt worden sind, eine Gangart, die die dynamische Gleichgewichtsbedingung erfüllt, deterministisch bestimmt. Als Ergebnis werden die Endposition und -geschwindigkeit des Körpers deterministisch bestimmt. Andererseits wird ein Vorgeben der Endposition und -geschwindigkeit des Körpers und des ZMP-Musters deterministisch die Anfangsposition und -geschwindigkeit des Körpers ergeben. Das bedeutet, dass um die Anfangsposition und -geschwindigkeit des Körpers und die Endposition und -geschwindigkeit des Körpers frei zu bestimmen, das ZMP-Muster in Antwort darauf eingestellt werden sollte. Umgekehrt gesagt, wenn das ZMP-Muster einmal bestimmt worden ist, so ist die Beziehung zwischen der Kombination der Anfangsposition und -geschwindigkeit des Körpers und der Kombination der Endposition und -geschwindigkeit des Körpers ein eineindeutige Abbildung.
  • Um die Erklärung zu vereinfachen, wird nur das Verhalten der Vor-und-Rück-Richtung des Körpers (d. h. die X-Richtung) diskutiert. Da die Zustandsgrößen zwei Parameter sind, d. h. die Position und die Geschwindigkeit, sollte das ZMP-Muster zwei oder mehr Parameter besitzen, damit deren Gangartbedingungen frei bestimmt werden können.
  • Die ZMP-Muster und deren Parameter sind so definiert, wie in 28 gezeigt, so dass die Grenzposition und -geschwindigkeit des Körpers stark verändert werden kann, wenn die ZMP-Parameter um einen geringen Betrag verändert werden.
  • Das in der Figur illustrierte ZMP-Muster ist komplizierter als das in den vorhergehenden Ausführungsformen. Der Grund ist, dass, wenn ein ZMP-Muster verwendet wird, welches irgendeinem in den vorhergehenden Ausführungsformen ähnelt, so muss zusätzlich zum Parameter c ein weiterer Parameter in der Zeit t2 (welcher die Fußtrajektone nicht beeinflusst) ebenfalls variiert werden. Jedoch wird selbst dann, wenn der Parameter in der Zeit t2 stark variiert wird, die Grenzposition und -geschwindigkeit des Körpers nur um einen geringen Betrag konigiert werden.
  • In der vierten Ausführungsform kann der ZMP-Parameter unter Verwendung irgendeiner Methode der ersten oder zweiten Ausführungsform bestimmt werden. Demnach werden in der vierten Ausführungsform unter Verwendung der Methode der dritten Ausführungsform ein Korrekturbetrag für die ZMP-Parameter und korrigierte Körpertrajektorien in einer weiter unten erläuterten Art und Weise bestimmt. Der Korrekturbetrag für die ZMP-Parameter ist ein Korrekturbetrag, welcher zu den ZMP-Parameter der Mischgangart zu addieren ist, damit die Randbedingungen des Körpers für die Mischgangart gewünschte Werte annehmen.
  • Es wird die Funktionsweise des Systems gemäß der vierten Ausführungsform unter Bezugnahme auf 26 erläutert. Das Programm beginnt bei S1100, in welchem die auf einem Offline-Computer vorbereiteten Standartgangarten ähnlich der vorhergehenden Ausführungsformen in einem Speicher gespeichert worden sind, und schreitet fort zu S1102, in welchem die Endpositionen und -geschwindigkeiten des Körpers der verschiedenen Standartgangarten bestimmt und im Speicher gespeichert werden, sowie zu S1104, in welchem die folgenden Prozeduren durchlaufen werden.
  • Speziell wird, wie in 29 illustrert, der ZMP-Parameter c in der Mischgangart um einen Betrag Δc leicht gestört und in Antwort darauf wird ein Störbetrag Δx(k) der zu störenden tabellierten Zeitreihendaten der Körperposition berechnet, derart, dass die Bedingung des dynamischen Gleichgewichts erfüllt ist. Die Beziehung zwischen diesen Größen ist wie folgt definiert. Rmix(x(k), c) = Δx(k)/Δc
  • Dabei wird Rmix(x(k), c) (was der vorbenannten Gangartparameterempfindlichkeit entspricht) eine partielle Differentialempfindlichkeit von x(k) relativ zu c genannt. Wie in 30 illustriert, wird auf ähnliche Weise Rmix(x (k), e) relativ zum ZMP-Parameter e bestimmt.
  • Wenn in der zweiten Ausführungsform die Empfindlichkeit von x(k) relativ zu einem bestimmten angegebenen Parameter bestimmt wird, so werden abhängige Parameter verschieden von x(k) oder dem angegebenen Parameter eingestellt, während das Optimum der Gangart als Zwangsbedingungen beibehalten werden. Im Gegensatz dazu sind in der vierten Ausführungsform alle Parameter (andere als der angegebene Parameter und x(k)) festgesetzt und die Empfindlichkeiten werden bestimmt, wobei das Optimum der Gangart ignonert wird. Symbolisch gesprochen bestimmt die zweite Ausführungsform Werte eines totalen Differentials, wobei das Gangartoptimum als Zwangsbedingungen behandelt werden, während die vierte Ausführungsform Werte des partiellen Differentials bestimmt, ohne das Gangartoptimum zu beachten.
  • Es wird zurückgekehrt zur Erläuterung von 26. Das Programm schreitet weiter zu S1106, in welchem auf Grundlage der Endwerte und der diesen unmittelbar vorangehenden Werte von Rmix(x(k), c) und Rmix(x(k), e) eine partielle Differentialempfindlichkeit Rmix (Xe, c) in der Körperendposition und eine partielle Differentialempfindlichkeit Rmix(Ve, c) relativ zum ZMP-Parameter c der Mischgangart, eine partielle Differentialempfindlichkeit Rmix (Xe, e) der Körperendposition und eine partielle Differentialempfindlichkeit Rmix(Ve, e) relativ zum ZMP-Parameter e der gemischten Gangart wie folgt berechnet werden. Rmix(Xe, c) = Rmix(x(ke), c) Rmix(Ve, c) = {Rmix(x(ke), c) – Rmix(x(ke – 1), c)}/Δt Rmix (Xe, e) = Rmix(x(ke), e) Rmix(Ve, e) = {Rmix(x(ke), e) – Rmix(x(ke – 1), e)}/Δt
  • Dabei sind: ke: endgültige Anzahl von tabellierten Daten, Δt: Abtastzeit, genauer, Abtastintervall in den tabellierten diskreten zeitfreien Daten.
  • Das Programm schreitet weiter zu S1108, in welchem eine Matrix der Dimension 2*2 erzeugt wird, mit Rmix(Xe, c) als das Element der ersten Reihe, ersten Spalte, Rmix(Xe, e) als das Element der ersten Reihe, zweiten Spalte, Rmix(Ve, c) als das Element der zweiten Reihe, ersten Spalte, Rmix (Ve, e) als das Element der zweiten Reihe, zweiten Spalte.
  • Das Programm schreitet weiter zu S1110, in welchem die inverse Matrix der soeben erzeugten Matrix berechnet wird. In der inversen Matrix ist das Element der ersten Reihe, ersten Spalte eine partielle Differentialempfindlichkeit des Parameters c relativ zur Endposition Xe des Körpers (bezeichnet als Rmix(c, Xe)), das Element der zweiten Reihe, erste Spalte ist eine partielle Differentialempfindlichkeit des Parameters e relativ zur Endposition Xe des Körpers (bezeichnet als Rmix(e, Xe)), das Element der ersten Reihe, zweiten Spalte ist eine partielle Differentialempfindlichkeit des Parameters c relativ zur Endgeschwindigkeit Ve des Körpers (bezeichnet als Rmix(e, Xe)) und das Element der zweiten Reihe, zweiten Spalte ist eine partielle Differentialempfindlichkeit des Parameters e relativ zur Endgeschwindigkeit Ve des Körpers (bezeichnet als Rmix(e, Ve)).
  • Ändern sich diese Empfindlichkeiten bei allen der gemischten Gangarten genngfügig, so können deren Mittelwerte R(c, Xe), R(e, Xe), R(c, Ve), R(e, Ve) stattdessen für alle Gangarten verwendet werden.
  • Das Programm schreitet weiter zu S1112, in welchem die Anfangsposition des Körpers in der gemischten Gangart um einen geringen Betrag Δx0 verschoben oder gestört wird, wie in 31 illustriert ist, und ein Störbetrag Δx(k) für die tabellierten Zeitreihendaten der Körperposition wird in Antwort darauf bestimmt, so dass die Bedingung des dynamischen Gleichgewichts erfüllt ist. Der Wert ist offensichtlich wie folgt. Δx(0) = Δx0
  • Rmix(x(k), x0) wird wie folgt bestimmt. Rmix(x(k), x0) = Δx(k)/Δx0
  • Ähnlich wird die Anfangsgeschwindigkeit des Körpers um einen kleinen Betrag Δv0 verschoben oder gestört, wie in 32 illustriert ist, und Rmix(x (k), V0) wird in einer ähnlichen Weise bestimmt.
  • Das Programm schreitet weiter zu S1114, in welcher auf Grundlage der Endwerte und der diesen unmittelbar vorangehenden Werte der bestimmten Empfindlichkeiten Rmix(x(k), x0) und Rmix(x(k), v0) eine partielle Differentialempfindlichkeit der Körperendposition und eine partielle Differentialempfindlichkeit relativ zur Körperanfangsposition in der Mischgangart (bezeichnet als Rmix(Xe, x0) und Rmix(Ve, x0)), partielle Differentialempfindlichkeit der Körperendposition und eine partielle Differentialempfindlichkeit relativ zur Körperanfangsgeschwindigkeit in der Mischgangart (bezeichnet als Rmix(Xe, v0) und Rmix(Ve, v0)) wie folgt berechnet werden. Rmix(Xe, x0) = Rmix(x(ke), x0) Rmix(Ve, x0) = {Rmix(x(ke), x0) – Rmix(x(ke – 1), x0)}/Δ Rmix (Xe, v0) = Rmix(x(ke), v0) Rmix(Ve, v0) = {Rmix(x(ke), v0) – Rmix(x(ke – 1), v0)}/Δt
  • Dabei sind: ke: endgültige Anzahl an tabellierten Daten, Δt: Abtastzeit der tabellierten Daten.
  • Das Programm schreitet dann weiter zu S1116, in welchem der Zeitgeber auf Null zurückgesetzt und gestartet wird, weiter zu S1120, über S1118, in welchem auf einen Zeitgeberunterbrecher gewartet wird, weiter zu S1122, in welchem bestimmt wird, ob die Gangart zu wechseln ist. Ist das Ergebnis zustimmend, so schreitet das Programm weiter zu S1124, in welchem der Zeitgeber auf Null zurückgesetzt wird, dann zu S1126, in welchem die geforderten Werte der direkt bestimmten Parameter gelesen werden, dann zu S1128, in welchem das Gangartmischen durchgeführt wird.
  • Genauer schreitet das Programm zu S1200 des Untenoutinen-Flussdiagramms von 33, in welchem die Mischgangartparameter unter Verwendung irgendeiner Methode der ersten bis dritten Ausführungsform erzeugt werden. Bei dieser Erzeugung der Mischgangartparameter wird von Gangarten eine Gangart, deren Anfangs- und Endpositionen und -geschwindigkeiten des Körpers nahe bei den geforderten Werten liegen, als die Basisgangart ausgewählt.
  • Einmal als die Basisgangart ausgewählt werden jedoch die Anfangs- und Endpositionen und -geschwindigkeiten des Körpers von den direkt bestimmten Parametern ausgeschlossen und die Mischgangart wird in derselben Weise wie bei den vorhergehenden Ausführungsformen erzeugt.
  • Das Programm schreitet dann zu S1202, in welchem die Differenzen zwischen der geforderten Anfangsposition und -geschwindigkeit des Körpers und der Anfangsposition und -geschwindigkeit des Körpers für die Mischgangart berechnet werden. Die Differenzen werden mit Δx0, Δv0 benannt. Ähnlich werden die Differenzen zwischen der geforderten Endposition und -geschwindigkeit des Körpers und der Endposition und -geschwindigkeit des Körpers für die Mischgangart berechnet und mit ΔXe, ΔVe benannt.
  • Das Programm schreitet weiter zu S1204, in welchem nur die Anfangsposition und -geschwindigkeit des Körpers in der gemischten Gangart mit der geforderten Anfangsposition und -geschwindigkeit des Körpers ersetzt werden. Es werden dann die Störbeträge der Endposition und -geschwindigkeit des Körpers für die Gangart durch die folgenden Gleichungen berechnet, wenn die tabellierten Zeitreihendaten der Körperposition in Antwort darauf derart gestört werden, dass die Bedingung des dynamischen Gleichgewichts erfüllt ist (bezeichnet als ΔXse. ΔVse). ΔXse = Rmix(Xe, x0)*Δx0 + Rmix(Xe, v0)*Δv0 ΔVse = Rmix(Ve, x0)*Δx0 + Rmix(Ve, v0)*Δv0
  • In der in S1204 erhaltenen Gangart stimmen die Anfangsposition und -geschwindigkeit des Körpers mit den angeforderten Werten überein. Die Endposition und -geschwindigkeit des Körpers sind jedoch nicht gleich der geforderten Endposition und -geschwindigkeit des Körpers und weichen um ΔXe + ΔXse und ΔVe + ΔVse ab. Das Programm schreitet daher zu S1206, in welchem ZMP-Parameter-Korrekturbeträge Δc und Δe zum Reduzieren der Differenzen auf Null durch die folgenden Gleichungen berechnet werden. Δc = Rmix(c, Xe)*(ΔXe + ΔXse) + Rmix(c, Ve)*(ΔVe + ΔVse) Δe = Rmix(e, Xe)*(ΔXe + ΔXse) + Rmix(e, Ve)*(ΔVe + ΔVse)
  • Das Programm schreitet weiter zu S1208, in welchem die ZMP-Parameter c, e unter Verwendung der folgenden Gleichungen berechnet werden. c = cmix + Δc e = emix + Δe
  • Hierbei sind cmix: Wert des Mischgangartparameters c; emix: Wert des Mischgangartparameters e.
  • Es wird zur Erläuterung des Flussdiagramms von 26 zurückgekehrt. Das Programm schreitet dann weiter zu S1130, in welchem die Mischgangartparameter für Sollgangartparameter ersetzt werden. Es werden hier die in S1208 erhaltenen Werte für die Parameter c, e ersetzt. Das Programm schreitet dann weiter zu S1132, über S1122, in welchem die momentanen Werte der Sollgangart berechnet werden.
  • Genauer schreitet das Programm in einem Flussdiagramm von 34 weiter zu S1300, in welchem der ZMP zur Zeit t unter Verwendung irgendeiner Methode der vorhergehenden Ausführungsformen bestimmt wird, weiter zu S1302, in welchem die Fußposition und -orientierung zur Zeit t unter Verwendung irgendeiner Methode der vorhergehenden Ausführungsformen bestimmt werden, weiter zu S1304, in welchem die Körperposition der Sollgangart unter Verwendung der folgenden Gleichung bestimmt wird. x(k) = xmix(k) + Rmix(x(k),c)* Δc + Rmix(x(k), e)*Δe + Rmix(x(k), x0)* Δx0 + Rmix(x(k), v0)*Δv0
  • Hierbei ist xmix(k): k-tes Datum in den tabellierten Zeitreihendaten der Körpertrajektorie für die Mischgangart. Obwohl eine Erläuterung hier nicht gegeben wird, wird die Körperposition in der Y-Richtung ähnlich berechnet. Die Körperposition in der Z-Richtung kann in derselben Weise berechnet werden wie die X-, Y-Richtungswerte oder kann unter Verwendung der Technik berechnet werden, welche in der zum selben Datum wie die vorliegende Erfindung eingereichten Anmeldung beschrieben ist.
  • In der oben beschriebenen Weise kann genauer durch Überlagerung von in 27, 29 bis 32 gezeigten Wellenformen die Sollgangart mit den wie gewünscht gestalteten Randbedingungen, wie in 35 illustnert, erzeugt werden. In 35 sind die Situationen wie folgt eingerichtet. c < 0, c + Δc < 0, e < 0, e + Δe > 0
  • Durch eine Konfiguration in der vorstehenden Weise kann das System in der vierten Ausführungsform Gangarten frei und auf Echtzeitbasis erzeugen und kann Verlagerungen und Geschwindigkeiten von Roboterabschnitten an den Grenzen der Gangarten kontinuierlich vorsehen.
  • 36 ist ein Flussdiagramm, welches die Funktionsweise des Systems gemäß der fünften Ausführungsform der Erfindung zeigt.
  • In der oben erwähnten vierten Ausführungsform werden die partielle Differentialempfindlichkeit der Köperpositionszeitreihen relativ zu dem ZMP-Parameter c der Mischgangart (Rmix(x(k), c)), die partielle Differentialempfindlichkeit der Körperpositionszeitreihen relativ zum ZMP-Parameter e der Mischgangart (Rmix(x)(k), e)), die partielle Differentialempfindlichkeit der Körperpositionszeitreihen relativ zur Anfangsposition des Körpers (Rmix(x(k), x0)) sowie die partielle Differentialempfindlichkeit der Körperpositionszeitreihen relativ zur Anfangsgeschwindigkeit des Körpers (Rmix(x(k), v0)) verwendet. Die vierte Ausführungsform weist sozusagen ein Modell der Störung der Körpertrajektorie in tabellierten Zeitreihendaten relativ zur ZMP-Störung auf.
  • Die fünfte Ausführungsform nutzt stattdessen ein lineares dynamisches Störungsmodell (ein lineares Modell, welches die Beziehung von Störungen der Körperposition und -geschwindigkeit relativ zu einer Störung des ZMP ausdrückt), welches durch die folgenden Ausdrücke beschrieben wird, so dass es die Randbedingungen der Körperposition und -geschwindigkeit mit den geforderten Werten in Einklang bringt.
  • Das Grundprinzip dieser Methode wird zunächst erklärt. Obwohl das Körperverhalten und die ZMP-Trajektorie nur in der Vor-und-Rück-Richtung (X-Richtung) diskutiert werden, gilt dasselbe auch für die Links-und-Rechts-Richtung) (Y-Richtung).
  • Es sei angenommen, dass die Masse des Körpers 24 des Roboters 1 ausreichend größer ist als die der anderen Teile und dass die vertikale Körperbeschleunigung während des Gehens relativ gering ist. Wenn diese spezielle Bedingung erfüllt ist, so kann die Beziehung der Störung der Körperposition und -geschwindigkeit relativ zur ZMP-Störung, d. h. das dynamische Störungsmodell, durch die folgende Gleichung, d. h. durch ein in 37 illustnertes, lineares umgekehrtes Pendelmodell, angenähert werden. Wie in der Figur illustriert ist, weist das Modell einen Unterstützungspunkt 22a auf, welcher beweglich ist. dxmdl/dt = v dvmdl/dt = ω02*(xmdl – ZMPmdl)
  • Hierbei sind xmdl: Die Position des Massenmittelpunkts des linearen umgekehrten Pendels, vmdl: die Geschwindigkeit des Massenmittelpunkts des linearen umgekehrten Pendels. ω0 ist eine positive Konstante, welche durch die Beziehung zwischen der Höhe des Schwerpunkts des Körpers h und der Gravitationskonstante g wie folgt angenähert wird. ω0 = √(g/h)
  • Wenn die spezielle Bedingung erfüllt ist, so kann das lineare umgekehrte Pendelmodell anstatt des Störungsmodells (welches allgemeiner ist als das oben erwähnte Modell), welches durch Rmix(x(k), c), Rmix(x(k), e), Rmix(x (k), x0), Rmix(x(k), v0) ausgedrückt und in der vierten Ausführungsform verwendet wurde, verwendet werden. Wenn in der folgenden Erläuterung die Zustände des Modells vorzugsweise mit der Zeit beschneben werden sollten, so werden diese als xmdl(t), vmdl(t) usw. beschrieben.
  • Auf Grundlage des oben Dargelegten wird die Funktionsweise unter Bezugnahme auf 36 erläutert. Die Konfiguration des ZMP-Musters ist die gleiche, wie die in der vierten Ausführungsform.
  • Das Programm startet bei S1400, in welchem die Standartgangarten in einem Speicher gespeichert worden sind und schreitet weiter zu S1402, in welchem die Endpositionen und -geschwindigkeiten des Körpers in jedem der Standartgangarten berechnet und in dem Speicher gespeichert worden sind. Das Programm schreitet dann weiter zu S1404, in welchem das Verhalten des dynamischen Störungsmodells bis zur Endzeit der Gangart berechnet wird und die letzte Modellposition Xe und die letzte Modellgeschwindigkeit Ve berechnet werden, wobei die ZMP-Parameter, wie in 35 illustriert, auf c = 1, e = 0, p (ZMP-Wert zur Zeit 0) = 0, ZMP-Werte bei den anderen Haltepunkten = 0, gesetzt werden, während ihre Anfangszustände auf x0 = 0 und v0 = 0 gesetzt werden.
  • Genauer wird dies getan durch Setzen von Δc (dem ZMP-Muster-Korrekturbetrag; gezeigt in 29) auf 1 und Eingeben des ZMP-Musters, so wie in 29 illustriert, in das Modell, um das Verhalten des Modells zu erhalten. Es werden dann die Endzustände des Modells erhalten und die partielle Differentialempfindlichkeit der letzten Modellposition Xe relativ zum ZMP-Parameter c (bezeichnet als R(Xe, c)) wird wie folgt berechnet. R(Xe, c) = Xe
  • Ähnlich wird die partielle Differentialenpfindlichkeit der letzten Modellgeschwindigkeit Ve relativ zum ZMP-Parameter c wie folgt berechnet. R(Ve, c) = Ve
  • Das Verhalten des dynamischen Störungsmodells kann durch Diskretisierung des Modells und dann durch Ausführen sequentieller Rechnung berechnet werden oder kann durch Analysis gelöst werden.
  • Das Programm schreitet dann weiter zu S1406, in welchem das Verhalten des dynamischen Störungsmodells bis zur Endzeit der Gangart berechnet wird und die letzte Modellposition Xe und die letzte Modellgeschwindigkeit Ve berechnet werden, wobei die ZMP-Parameter auf c = 0, e = 1, p = 0, ZMP-Werte an den anderen Haltepunkten = 0, gesetzt werden, während ihre Anfangswerte auf x0 = 0 und v0 = 0 gesetrt werden.
  • Es wird dann die partielle Differentialempfindlichkeit der letzten Modellposition Xe relativ zum ZMP-Parameter e wie folgt berechnet. R(Xe, c) = Xe
  • Zur selben Zeit wird die partielle Differentialempfindlichkeit der letzten Modellgeschwindigkeit Ve relativ zum ZMP-Parameter e wie folgt berechnet. R(Ve, c) = Ve
  • Das Programm schreitet weiter zu S1408, in welchem das Verhalten des dynamischen Störungsmodells bis zur Endzeit der Gangart berechnet wird und die letzte Modellposition Xe und die letzte Modellgeschwindigkeit Ve berechnet werden, wobei der ZMP-Parameter c = 0, e = 0, p = 0, ZMP-Werte bei den anderen Haltepunkten = 0, gesetzt werden, während ihre Anfangswerte auf x0 = 1 und v0 = 0 gesetzt werden.
  • Es wird dann die partielle Differentialempfindlichkeit der letzten Modellposition Xe relativ zur ersten Modellposition x0 wie folgt berechnet. R(Xe, x0) = Xe
  • Zur selben Zeit wird die partielle Differentialempfindlichkeit der letzten Modellgeschwindigkeit Ve relativ zur Anfangsmodellposition x0 wie folgt berechnet. R(Ve, x0) = Ve
  • Das Programm schreitet weiter zu S1410, in welchem das Verhalten des dynamischen Störungsmodells bis zur Endzeit der Gangart berechnet wird und die letzte Modellposition Xe und die letzte Modellgeschwindigkeit Ve berechnet werden, wobei die ZMP-Parameter auf c = 0, e = 0, p = 0, ZMP-Werte bei den anderen Haltepunkten = 0, gesetzt werden, während ihre Anfangswerte auf x0 = 0 und v0 = 1 gesetzt werden.
  • Es wird dann die partielle Differentialempfindlichkeit der letzten Modellposition Xe relativ zur Anfangsmodellgeschwindigkeit v0 wie folgt berechnet. R(Xe, v0) = Xe
  • Zur selben Zeit wird die partielle Differentialempfindlichkeit der letzten Modellgeschwindigkeit Ve relativ zu Anfangsmodellgeschwindigkeit v0 wie folgt berechnet. R(Ve, v0) = Ve
  • Das Programm schreitet weiter zu S1411, in welchem das Verhalten des dynamischen Störungsmodells bis zur Endzeit der Gangart berechnet wird und die letzte Modellposition Xe und die letzte Modellgeschwindigkeit Ve berechnet werden, wobei die ZMP-Parameter auf c = 0, e = 0, p = 1, ZMP-Werte bei den anderen Haltepunkten = 0, gesetzt werden, während ihre Anfangswerte auf x0 = 0 und v0 = 0 gesetzt werden.
  • Es wird dann die partielle Differentialempfindlichkeit der letzten Modellposition Xe relativ zum Anfangs-ZMP p wie folgt berechnet. R(Xe, p) = Xe
  • Zur selben Zeit wird die partielle Differentialempfindlichkeit der letzten Modellgeschwindigkeit Ve relativ zum Anfangs-ZMP p (bezeichnet als R(Ve, p)) wie folgt berechnet. R(Ve, p) = Ve
  • Das Programm schreitet weiter zu S1412, in welchem auf Grundlage der so erhaltenen Empfindlichkeiten eine 2*2-Matrix erzeugt wird, deren Element in der ersten Reihe und ersten Spalte R(Xe, c) ist, deren Element in der ersten Reihe und zweiten Spalte R(Xe, e) ist, deren Element in der zweiten Reihe und ersten Spalte R(Ve, c) und deren Element in der zweiten Reihe und zweiten Spalte R(Ve, e) ist.
  • Das Programm schreitet dann weiter zu S1414, in welchem die inverse Matrix davon berechnet wird. In der inversen Matrix ist das Element der ersten Reihe und ersten Spalte die partielle Differentialempfindlichkeit des Parameters c relativ zur letzten Modellposition Xe (bezeichnet als R(c, Xe)), das Element der zweiten Reihe und ersten Spalte ist die partielle Differentialempfindlichkeit des Parameters e relativ zur letzten Modellposition Xe (bezeichnet als R(e, Xe)), das Element der ersten Reihe und zweiten Spalte ist die partielle Differentialempfindlichkeit des Parameters c relativ zur letzten Modellgeschwindigkeit Ve (bezeichnet als R(c, Ve)) und das Element der zweiten Reihe und zweiten Spalte ist die partielle Differentialempfindlichkeit des Parameters e relativ zur letzten Modellgeschwindigkeit e (bezeichnet als R(e, Ve)).
  • Das Programm schreitet dann weiter zu S1416, in welchem der Zeitgeber auf Null zurückgesetzt und gestartet wird, weiter zu S1422, über S1418, S1420, in welchen bestimmt wird, ob die Gangart zu wechseln ist. Ist das Ergebnis negativ, so schreitet das Programm weiter zu S1432. Ist das Ergebnis zustimmend, so schreitet das Programm andererseits zu S1428, über S1424, S1426, in welchen das Gangartmischen ausgeführt wird.
  • Dies wird unter Bezugnahme auf das Flussdiagramm von 38 erläutert, welches die Unterroutine der Prozeduren zeigt. Das Programm startet bei S1500, in welchem die Parameter der Mischgangart unter Verwendung irgendeiner Methode der vorhergehenden Ausführungsformen erzeugt werden. Zu dieser Zeit wird von den Standartgangarten eine als die Basisgangart ausgewählt, deren Anfangs- und Endpositionen und -geschwindigkeiten des Körpers nahe den geforderten Werten sind. Dann werden unter Ausschluss der Anfangs- und Endpositionen und -geschwindigkeiten des Körpers von den direkt bestimmten Parametern die Parameter der Mischgangart erzeugt oder berechnet. Das Programm schreitet dann weiter zu S1502, in welchem die Differenzen Δx0, Δv0, ΔXe, ΔVe zwischen den Anfangs- und Endpositionen und -geschwindigkeiten des Körpers der Mischgangart und den geforderten Werten berechnet werden.
  • Das Programm schreitet dann weiter zu S1504, in welchem die Endposition und -geschwindigkeit ΔXse, ΔVse wie folgt berechnet werden, indem die erste Modellposition und -geschwindigkeit auf Δx0, Δv0 gesetzt werden, während der ZMP auf 0 gesetzt wird. ΔXse = R(Xe, x0)*Δx0 + R(Xe, v0)*Δv0 ΔVse = R(Ve, x0)*Δx0 + R(Ve, v0)*Δv0
  • Das Programm schreitet weiter zu S1506, in welchem die ZMP-Parameter-Korrekturbeträge Δc, Δe wie folgt berechnet werden. Δc = R(c, Xe)*(ΔXe + ΔXse) + R(c, Ve)*(ΔVe + ΔVse) Δe = R(e, Xe) * (ΔXe + ΔXse) + R(e, Ve)*(ΔVe + ΔVse)
  • Das Programm schreitet weiter zu S1508, in welchem die ZMP-Parameter c, e unter Verwendung derselben Gleichung, welche in S1208 verwendet wurde, berechnet werden. Das Programm schreitet dann weiter zu S1430, S1432 und zu S1600 sowie S1602 in einem Flussdiagramm von 39, in welchem ähnliche Prozeduren wie in der vierten Ausführungsform ausgeführt werden. Das Programm schreitet dann weiter zu S1604, in welchem der Korrekturbetrag der ZMP-Trajektorie berechnet wird. Dieser ist gleich dem in 28 illustrierten Muster, wenn es um c = Δc, e = Δe verändert wird und die ZMP-Werte bei den Haltepunkten 0 sind.
  • Das Programm schreitet weiter zu S1606, in welchem durch Setzen der Anfangsmodellposition und -geschwindigkeit gemäß xmdl(0) = Δx0 und vmdl (0) = Δv0 und ZMPmdl = dem vorgenannten ZMP-Trajektorien-Korrekturbetrag und durch Eingeben dieser in das Modell das Verhalten des Modells durch sequentielle Rechnungen bestimmt wird. Mit anderen Worten werden die aktuelle (zur Zeit t) Modellposition und -geschwindigkeit unter Verwendung einer Gleichung eines diskretisierten Modells auf Grundlage der vorhergehenden (zur Zeit t – Δt) Modellposition und -geschwindigkeit sowie auf Grundlage des aktuellen (zur Zeit t) ZMP-Trajektorien-Konekturbetrags berechnet werden. In dem ersten Steuer/regelzyklus werden die aktuelle Modellposition und -geschwindigkeit auf xmdl(0) = Δx0 und vmdl(0) = Δv0 gesetzt. Als diskretisiertes Modell ist es möglich, ein Modell zu vewenden, welches in einer Matrixform ausgeführt ist, die allgemein auf dem Gebiet moderner Steuer/Regel-Theorie verwendet wird.
  • Das Programm schreitet dann weiter zu S1608, in welchem die Modellposition zur gemischten Körperposition als ein in der folgenden Gleichung gezeigter Korrekturbetrag addiert wird und die Sollposition des Körpers somit bestimmt wird. x(x) = xmix(k) + xmdl(kΔt)
  • Hierbei sind x(k): die Sollposition des Körpers; xmix(k): das k-te Datum in den Zeitreihendaten der Körpertrajektone der Mischgangart und xmdl(kΔt): die Modellposition zur Zeit kΔt.
  • Bei einer Konfiguration in der vorstehenden Weise kann das System in der fünften Ausführungsform dieselben Vorteile aufweisen wie das der vierten Ausführungsform.
  • Genauer gesagt ist, da das lineare umgekehrte Pendelmodell verwendet wird, die benötigte Speicherkapazität (ROM 84) geringer und die Körpertrajektorienstörung kann auf Echtzeitbasis durch sequentielle Rechnungen usw. erhalten werden. Ferner ist es möglich, auf einfache Weise eine strenge Lösung der Modellgleichung zu erhalten und auf Grundlage der strengen Lösung ist es möglich, das zukünftige Verhalten ohne Schwiengkeiten vorherzusagen.
  • Es sollte bemerkt werden, dass, obwohl die Empfindlichkeiten der letzten Körperposition und -geschwindigkeit relativ zu den ZMP-Parametern von den strengen Lösungen erhalten werden können, die Empfindlichkeiten vorzugsweise vorher erhalten und in dem Speicher gespeichert werden sollten, um die Rechenzeit zu reduzieren, da die strengen Lösungen Berechnungen exponentieller Funktionen beinhalten.
  • 40 ist ein Flussdiagramm, welches die Funktionsweise des Systems gemäß der sechsten Ausführungsform der vorliegenden Erfindung zeigt.
  • Ist die Änderung der Trägheitskraft des freien Beins vernachlässigbar oder, mit anderen Worten, ändert sich der ZMP genngfügig, so ist es wie oben erwähnt, selbst dann, wenn die Anfangsposition des Fußes des freien Beins oder die Endposition des Fußes des freien Beins gestört ist, möglich, die Gangarterzeugung zu vereinfachen. Die sechste Ausführungsform zielt darauf ab, dies zu erreichen.
  • In der in dieser Beschreibung definierten Gangart ist die Endzeit einer Gangart der Moment, in welchem das freie Bein aufsetzt. Der ZMP ist noch immer auf die Bodenkontaktfläche des Fußes des Unterstützungsbeins gesetzt. Dementsprechend muss der ZMP-Parameter nicht variiert werden, wenn die Endposition des Fußes des freien Beins verändert wird, vorausgesetzt die Trägheitskraft, welche durch die Änderung der Endposition des Fußes des freien Beins verursacht wird, ist vernachlässigbar. Da jedoch die Anfangsposition des ZMP-Musters allgemein auf den Zeh der Anfangsposition und -orientierung des Fußes des freien Beins gesetzt ist, sollte dann, wenn die Anfangsposition des freien Beins verändert wird, das ZMP-Muster daher in Antwort darauf verändert werden.
  • Unter Heranziehung der ZMP-Parameteränderung aufgrund der Änderung der Anfangsposition des Fußes des freien Beins als ein Beispiel wird die Funktionsweise nun erläutert, wobei sich auf den Unterschied gegenüber der der fünften Ausführungsform konzentnert wird.
  • Das Programm beginnt in S1700 des Flussdiagramms von 40 und schreitet weiter zu S1710, in welchem ähnliche Prozeduren wie die der fünften Ausführungsform ausgeführt werden, und dann weiter zu S1712. Die folgenden Prozeduren sind in der sechsten Ausführungsform in Antwort auf die ZMP-Parameterveränderung hinzugefügt, um die Bedingung des dynamischen Gleichgewichts zu erfüllen.
  • Genauer wird in S1712 das Verhalten des dynamischen Störungsmodells bis zur Endzeit der Gangart berechnet und die letzte Modellposition Xe und die letzte Modellgeschwindigkeit Ve werden berechnet, wobei die ZMP-Parameter auf c = 0, e = 0, p = 1, ZMP-Werte an den anderen Haltepunkten = 0, gesetzt werden, während ihre Anfangswerte auf x0 = 0 und v0 = 0 gesetzt werden, wie in 41 illustnert ist.
  • Es wird dann die partielle Differentialempfindlichkeit der letzten Modellposition Xe relativ zum ZMP-Parameter p wie folgt berechnet. R(Xe, p) = Xe
  • Zur selben Zeit wird die partielle Differentialempfindlichkeit der letzten Modellgeschwindigkeit Ve relativ zum ZMP-Parameter p wie folgt berechnet. R(Ve, p) = Ve
  • Das Programm schreitet weiter zu S1728, in welchem ähnliche Prozeduren wie die der fünften Ausführungsform ausgeführt werden, und dann zu S1730, in welchem das Gangartmischen ausgeführt wird. Genauer schreitet das Programm, wie im Flussdiagramm von 42 gezeigt, weiter zu S1800, in welchem die Parameter der Mischgangart unter Verwendung irgendeiner Methode der vorhergehenden Ausführungsformen erzeugt werden. Zu dieser Zeit wird von den Standartgangarten eine als die Basisgangart ausgewählt, welche bezüglich der Anfangs- und Endpositionen und -geschwindigkeiten des Körpers und der Anfangs- und Endpositionen und -orientierungen des Fußes des freien Beins in der Nähe liegt.
  • Wenn die Basisgangart einmal ausgewählt ist, wird die Mischgangart in der selben Weise wie bei den vorhergehenden Ausführungsformen unter Ausschluss der Anfangs- und Endpositionen des Körpers sowie der Anfangs- und Endpositionen des Fußes des freien Beins von den direkt bestimmten Parametern erzeugt. Demzufolge sind die Anfangs- und Endpositionen und -geschwindigkeiten des Körpers sowie die Anfangs- und Endpositionen des Fußes des freien Beins für die Mischgangart dieselben wie die für die Basisgangart.
  • Das Programm schreitet weiter zu S1806, über S1802 und S1804, in welchen die Differenz zwischen der geforderten Anfangsposifon des Fußes des freien Beins und der Anfangsposition des Fußes des freien Beins der Mischgangart berechnet und mit Δp bezeichnet wird. Das Programm schreitet dann weiter zu S1808, in welchem die Endposition und -geschwindigkeit ΔXpe, ΔVpe unter Verwendung der folgenden Gleichungen berechnet werden, wobei der erste Modell-ZMP auf Δp und ZMP-Werte an den anderen Haltepunkten auf 0 gesetzt werden. ΔXpe = R(Xe, p)*Δp ΔVpe = R(Ve, p)*Δp
  • Das Programm schreitet weiter zu S1810, in welchem die ZMP-Korrekturbeträge Δc, Δe unter Verwendung der folgenden Gleichungen berechnet werden. Δc = R(c, Xe)*(ΔXe + ΔXse + ΔXpe) + R(c, Ve)*(ΔVe + ΔVse + ΔVpe) Δe = R(e, Xe)*(ΔXe + ΔXse + ΔXpe) + R(e, Ve)*(ΔVe + ΔVse + ΔVpe)
  • Das Programm schreitet dann weiter zu S1732 im Flussdiagramm von 40, in welchem die vorbenannten Parameter der gemischten Gangart für die Sollgangartparameter ersetzt werden. Die in S1812 erhaltenen Werte werden für die ZMP-Parameter c, e ersetzt. Die geforderten Werte werden für die Parameter der Anfangs- und Endposition des Fußes des freien Beins ersetzt.
  • Das Programm schreitet dann weiter zu S1734, wie dies in dem Flussdiagramm von 34 gezeigt ist, in welchem in S1900 und in S1902 dieselben Prozeduren ausgeführt werden wie in der fünften Ausführungsform. Mit diesen Prozeduren werden Fußtrajektorien, welche die Anforderungen für die Anfangs- und Endpositionen des Fußes des freien Beins erfüllen, sowie auch die korrigierte ZMP-Trajektorie erhalten. Das Programm schreitet dann weiter zu S1904, in welchem der Korrekurbetrag für die ZMP-Trajektorie berechnet wird. Dieser ist ein in 44 illustriertes Muster, in welchem dessen Werte auf c = Δc, e = Δe, p = Δp und die ZMP-Werte an den anderen Haltepunkten auf 0 gesetzt sind.
  • Der Rest der sechsten Ausführungsform ist gleich wie bei der fünften Ausführungsform.
  • Mit einer Konfiguration in der vorstehenden Weise weist das System in der sechsten Ausführungsform dieselben Vorteile auf wie das in der vierten oder fünften Ausführungsform. Zusätzlich kann die Speicherkapazität weiter reduziert werden, da Standartgangarten mit unterschiedlicher Anfangsposition und -geschwindigkeit des Körpers nicht im Speicher gespeichert werden müssen.
  • 45 ist ein Blockdiagramm ähnlich 3, zeigt jedoch die Konfiguration eines Systems gemäß der siebten Ausführungsform der Erfindung. Die siebte Ausführungsform unterscheidet sich hinsichtlich der Berechnung der horizontalen Körperposition.
  • In der siebten Ausführungsform werden die Fussposition und Orientierung, der ZMP und die Körperhöhe Z zur aktuellen Zeit (Zeit t) und die erhaltenen Zustände (einschließlich Körperposition und -geschwindigkeit) zur vorhergehenden Zeit (Zeit t – Δt) in ein Roboterbewegungsmodell eingegeben (welches Dynamik, Kinematik und verschiedene Zwangsbedingungen umfasst), um den aktuellen Wert (Momentanwerte) der horizontalen Körperpositionskoordinate (X, Y) zu berechnen.
  • Genauer werden in der siebten Ausführungsform S2000 bis S2016, welche in einem Flussdiagramm von 46 gezeigt sind, ähnlich der zweiten Ausführungsform ausgeführt. Das Programm schreitet weiter zu S2100, dann zu S2104, wie in einem Flussdiagramm von 47 gezeigt, und kehrt dann zu den in dem Flussdiagramm von 46 gezeigten Prozeduren zurück. Das Programm schreitet dann von S2018 zu S2022 und dann zu S2200 und weiter, wie in einem Flussdiagramm von 48 gezeigt, und dann zu S2206, in welchem die Körpertrajektorie der Mischgangart (Soll-Körpertrajektorie) durch sequentielle Berechnung bestimmt wird, derart, dass der ZMP, welcher aus der Bewegung des Körpers (Sollkörper) und der Füße in der Mischgangart dynamisch berechnet wird, mit dem bestimmten ZMP (welcher von den Parametern der Mischgangart bestimmt wird) übereinstimmt.
  • Im Anfangszustand der Gangart werden geeignet gesetzte Parameter der Anfangsposition und -geschwindigkeit des Körpers als Körperposition und -geschwindigkeit verwendet. Es werden somit Gangarten für einen einzelnen Gehschritt durch sequentielles Berechnen von Werten beginnend mit den Anfangsparametern für Körper und Geschwindigkeit erzeugt werden.
  • Diese Methode ist dahingehend nachteilig, dass der Umfang der Rechnung vergrößert wird und die Endposition und -geschwindigkeit des Körpers dazu tendiert, von den geforderten Werten leicht abzuweichen, sie ist jedoch dahingehend vorteilhaft, dass sie die Bedingung des dynamischen Gleichgewichts in einem strengen Sinn erfüllen kann.
  • In der siebten Ausführungsform können die aktuelle Körperhöhe und horizontale Körperposition alternativ so bestimmt werden, dass sie die Bedingungen des dynamischen Gleichgewichts und die Zwangsbedingungen zum Bestimmen der Körperhöhe gleichzeitig erfüllen. In der vorstehenden Ausführungsform wird die Körperhöhe auf Grundlage der vorhergehenden horizontalen Körperposition berechnet, um die Rechnung zu verkürzen, wobei angenommen wird, dass die Körperhöhe sich innerhalb einer kurzen Periode sich nicht stark ändern würde.
  • Erste bis siebte Ausführungsformen sind so konfiguriert, dass ein System bereitgestellt wird zum Erzeugen einer Gangart eines auf Beinen beweglichen Roboters, welcher wenigstens einen Körper 24 und eine Mehrzahl von Beingelenken 2, welche jeweils durch ein Gelenk 10R(L), 12R (L), 14R(L) mit dem Körper verbunden sind, welches umfasst: Standartgangartspeichermittel (S10, usw.) zum Speichern einer Mehrzahl von Standartgangarten für wenigstens einen Gehschritt in einem Speicher, wobei jede einen Satz von Parametern einschließlich einem sich auf eine Bodenreaktionskraft beziehenden Parameter umfassen, Gangartanforderungsmittel (S24 usw.) zum Erstellen einer Gangartanforderung sowie Gangarterzeugungsmittel (S26 bis S30, S100 bis S106, S200 bis S206, usw.) zum Erzeugen einer angenäherten Gangart, welche die Gangartanforderung durch Auswählen einer oder einer Mehrzahl von Standartgangarten in Antwort auf die Gangartanforderung und durch Ausführen einer Näherung auf Grundlage der ausgewählten Standartgangart oder der Gangarten erfüllt.
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel die genäherte Gangart durch Berechnen eines gewichteten Mittelwerts der ausgewählten Gangarten (S100 bis S106, S200 bis S206, usw.) erzeugen.
  • Es ist so konfigunert, dass die Gangarterzeugungsmittel die angenäherte Gangart unter Verwendung einer Parameterempfindlichkeit der gewählten Gangart oder Gangarten erzeugen (S500, S600 bis S604, S700 bis S706).
  • Es ist so konfigunert, dass die Gangarterzeugungsmittel die angenäherte Gangart durch Berechnen eines gewichteten Mittelwerts der ausgewählten Gangarten und durch Verwenden einer Parameterempfindlichkeit der ausgewählten Gangart oder Gangart erzeugen (S800, S900 bis S906, S1000 bis S1006).
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel Speichermittel (S500, S800, usw.) enthalten, zum Bestimmen eines Änderungsbetrags eines Parameters relativ zu einem Einheitsänderungsbetrag eines anderen Parameters in wenigstens einer der Standartgangarten als Parameterempfindlichkeit der ausgewählten Gangart und zum Speichern der Parameterempfindlichkeit im Speicher, und die angenäherte Gangart unter Verwendung der gespeicherten Parameterempfindlichkeit erzeugen.
  • Es ist so konfiguriert, dass die Gangartmittel Beschreibungsmittel enthalten (S1104 bis S1114), zum Beschreiben einer Beziehung der Störung eines Parameters relativ zu dem sich auf die Bodenreaktionskraft beziehenden Parameter in den Standartgangarten, und die angenäherte Gangart auf Grundlage der beschriebenen Beziehung der Störung korrigiert, um Gangarten zu erzeugen, welche die Gangartanforderung in einer solchen Weise erfüllen, dass zumindest Verlagerungen und Geschwindigkeiten in den erzeugten Gangarten an einer Grenze der Gangarten kontinuierlich sind (S1128, S1200 bis S1208, S1130, S1132, S1300 bis S1304, usw.).
  • Es ist so konfiguriert, dass die Störung des einen Parameters eine Störung einer horizontalen Körperposition ist.
  • Es ist so konfiguriert, dass die Beziehung durch ein lineares Modell beschrieben ist.
  • Es ist so konfiguriert, dass die Beziehung durch ein umgekehrtes Pendelmodell beschrieben ist.
  • Es ist so konfiguriert, dass die Beziehung durch tabellierte Zeitreihendaten beschrieben ist.
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel die angenäherte Gangart ohne Berücksichtigung des Parameters (d. h. unabhängig von dem Parameter) erzeugt, falls der Parameter unterhalb einer vorbestimmten Bedingung liegt (S1730, S1800 bis S1812).
  • Es ist so konfiguriert, dass die Gangarterzeugungsmittel Berechnungsmittel für Gelenkwinkelkommandos (S302) aufweisen, zum Berechnen eines Gelenkwinkelkommandos des Roboters auf Grundlage der erzeugten Gangart, und Gelenksteuer/regelmittel (S306) aufweisen, zum Steuern/Regeln des Gelenks des Roboters in einer solchen Weise, dass er dem berechneten Gelenkwinkelkommando folgt.
  • Es ist so konfigunert, dass die Berechnungsmittel für das Gelenkwinkelkommando Detektionsmittel (S300, S400 bis S404) zum Detektieren eines Zustands des Roboters sowie Korrekturmittel (S406, S408, S304) zum Konigieren einer Position und einer Haltung des Roboters in Antwort auf den detektierten Zustand umfasst und das Gelenkwinkelkommando so berechnet, dass die korrigierte Position und die Orientierung bewirkt werden.
  • In der ersten bis siebten Ausführungsform sollte die Näherung nicht auf die offenbarte beschränkt sein. Vielmehr werden verschiedene Modifikationen oder Abwandlungen möglich sein.
  • In der erste bis siebten Ausführungsform wird die Körperposition repräsentiert durch eine Koordinate eines Bezugspunkts des Körpers 24, betrachtet im Koordinatensystem, welches in den Bodenkontaktpunkt des Unterstützungsbeins gesetzt ist. Der Referenzpunkt sollte in der Links-und-Rechts-Richtung in die Mitte des Körpers 24 gesetzt werden. Bezüglich der Vor-und-Rück-Richtung kann der Referenzpunkt unter Verwendung irgendeiner der folgenden Methoden gesetzt werden.
  • Methode 1): Setzen des Referenzpunkts in den Schwerpunkt des Körpers (verwendet in der ersten bis siebten Ausführungsform).
  • Methode 2): Setzen des Referenzpunkts in eine Position, welche mit dem Massenmittelpunkt des Roboters übereinstimmt, wenn der Roboter aufrecht steht.
  • Methode 3): Setzen des Referenzpunkts in einen geeigneten Punkt durch Versuch- und-Fehler.
  • Die Methoden würden sich nicht unterscheiden, wenn die Orientierung des Körpers während des Gehens konstant ist. Wenn sich jedoch die Körperorientierung während des Gehens ändert, so wie beim Drehen, so wäre ein Fehler (Näherungsfehler) in Abhängigkeit von der Position, in welcher der Referenzpunkt gesetzt ist, unterschiedlich. Genauer illustriert 49 die Fälle, in welchen der Referenzpunkt in die Mitte des Körpers gesetzt ist und der Referenzpunkt im Blatt nach rechts geschoben ist. Nimmt man eine Situation an, in welcher der Körper um den Referenzpunkt gedreht ist, so wird verstanden werden, dass die Körperpositionen voneinander verschieden sind, wenn der Referenzpunkt in der Körpermitte ist oder wenn der Referenzpunkt nahe der Körpervorderseite ist.
  • Die Erzeugung einer Mischgangart (angeforderte Gangart) wurde unter Heranziehung eines Beispiels des Mischens von Gangarten mit unterschiedlichen Drehwinkeln beschrieben. Das Gangartmischen ist somit eine Art Näherung. Die Gangart wird jedoch, wie oben erwähnt, leicht in Abhängigkeit von der Weise des Setzens des Referenzpunkts variieren und somit wird die Genauigkeit der Näherung relativ zum dynamischen Gleichgewichtszustand variieren.
  • Der Referenzpunkt soll demzufolge so gesetzt werden, dass der Fehler relativ zum dynamischen Gleichgewichtszustand so klein wie möglich ist. Welche der Setzmethoden optimal ist oder welche der Setzmethoden geringen Einfluss hat, hängt von der Struktur oder der Natur des Gehens des Roboters ab.
  • Um die Genauigkeit bezüglich der dynamischen Gleichgewichtsbedingung zu steigern, ist es alternativ möglich, statt der tabellierten Zeitreihendaten der Körperposition tabellierte Zeitreihendaten des Massenmittelpunkts des Roboters zu verwenden. Dabei wird, da die Roboterhaltung so bestimmt werden muss, dass der Mittelpunkt der Robotermasse mit einer vorgesehenen Position übereinstimmt, der Umfang der Rechnung um einen signifikanten Betrag erhöht werden.
  • In den vorstehenden Ausführungsformen wurde die Beschleunigung nicht in den Gangartparametern beschrieben. Es ist unnötig zu erwähnen, dass erzeugte Gangarten noch glatter werden, wenn die Beschleunigung an der Grenze von Gangarten kontinuierlich eingerichtet wird.
  • Obwohl in den vorstehenden Ausführungsformen die vorliegende Erfindung unter Bezugnahme auf einen zweifüßigen Roboter beschrieben wurde, kann die vorliegende Erfindung auf andere auf Beinen bewegliche Roboter angewendet werden.
  • Gemäß der bevorzugten Ausführungsform wird es möglich, Gangarten einschließlich der Bodenreaktionskraft frei und auf Echtzeitbasis zu erzeugen und einen Schritt oder einen Drehwinkel wie gewünscht zu bewirken. Ferner wird es möglich, die Verlagerungen und Geschwindigkeiten verschiedener Roboterabschnitte an der Grenze der erzeugten Gangarten kontinuierlich zu gestalten. Außerdem wird es möglich, das Gehen eines auf Beinen beweglichen Roboters auf Grundlage der auf Echtzeitbasis erzeugten Gangarten zu steuern/zu regeln.

Claims (13)

  1. System zum Erzeugen einer Gangart eines auf Beinen beweglichen Roboters (1), welcher wenigstens einen Körper (24) und eine Mehrzahl von Beingelenken (2) aufweist, die jeweils mit dem Körper über ein Gelenk (10R(L)), 12R(L), 14R(L)) verbunden sind, umfassend: a. Standartgangartspeichermittel (S10, S12), um in einem Speicher eine Mehrzahl von Standartgangarten für mindestens einen Gehschritt zu speichern, wobei jede einen Satz von Gangartparametern, einschließlich einem sich auf eine Bodenreaktionskraft beziehenden Kraftparameter, umfasst; dadurch gekennzeichnet, dass das System ferner umfasst: b. Gangartanforderungsmittel (S24) zum Erstellen einer Anforderung für eine Gangart; und c. Gangarterzeugungsmittel (S26–S30, S100–S106, S200–S206) zum Erzeugen einer angenäherten Gangart, welche der Gangartanforderung genügt, indem eine oder eine Mehrzahl der Standartgangarten in Antwort auf die Gangartenanforderung ausgewählt wird und indem eine Annäherung von wenigstens einem der Gangartparameter der ausgewählten Standartgangart oder Gangarten durchgeführt wird.
  2. System nach Anspruch 1, wobei die Gangarterzeugungsmittel die angenäherte Gangart durch Berechnen eines gewichteten Mittelwertes von wenigstens einem der Gangartparameter der ausgewählten Gangarten (S100– S106, S200–S206) erzeugen.
  3. System nach Anspruch 1, wobei die Gangarterzeugungsmittel die angenäherte Gangart unter Verwendung einer Parameterempfindlichkeit von einem der Gangartparameter auf einen anderen der Gangartparameter der ausgewählten Gangarten (S516–S520, S600–S604, S700–S706) erzeugen.
  4. System nach Anspruch 1, wobei die Gangarterzeugungsmittel die angenäherte Gangart durch Berechnen eines gewichteten Mittelwerts von wenigstens einem der Gangartparameter der ausgewählten Gangarten und unter Verwendung einer Parameterempfindlichkeit von einem der Gangartparameter auf einen anderen der Gangartparameter der ausgewählten Gangart oder Gangarten (S816–S820, S900–S906, S1000–S1006) erzeugen.
  5. System nach Anspruch 3 oder 4, wobei die Gangarterzeugungsmittel umfassen: d. Speichermittel (S500, S800) zum Bestimmen eines Änderungsbetrags bei einem Parameter relativ zu einem Einheitsänderungsbetrag bei einem anderen Parameter in wenigstens einer der Standartgangarten als die Parameterempfindlichkeit der ausgewählten Gangart und zum Speichern der Parameterempfindlichkeit im Speicher; und die angenäherte Gangart unter Verwendung der gespeicherten Parameterempfindlichkeit erzeugen.
  6. System nach einem der Ansprüche 1 bis 5, wobei die Gangarterzeugungsmittel umfassen: e. Beschreibungsmittel (S1104–S1114) zum Beschreiben einer Abweichungsbeziehung von einem der Gangartparameter relativ zu dem sich auf eine Bodenreaktionskraft beziehenden Kraftparameter in den Standartgangarten; und die angenäherte Gangart basierend auf der beschriebenen Abweichungsbeziehung korrigieren, um Gangarten zu erzeugen, welche der Gangartanforderung derart genügen, dass die Verlagerungen oder/und die Geschwindigkeiten in den erzeugten Gangarten an einer Grenze der Gangarten (S1128, S1200–S1208, S1130, S1132, S1300–S1304) kontinuierlich ist.
  7. System nach Anspruch 6, wobei die Abweichung des einen der Gangartparameter eine Abweichung einer horizontalen Körperposition ist.
  8. System nach Anspruch 6 oder 7, wobei die Beziehung durch ein lineares Modell beschrieben wird.
  9. System nach Anspruch 8, wobei die Beziehung durch ein umgekehrtes Pendelmodell beschrieben wird.
  10. System nach Anspruch 6 oder 7, wobei die Beziehung durch tabellierte Zeitreihendaten beschrieben wird.
  11. System nach einem der Ansprüche 1 bis 10, wobei die Gangarterzeugungsmittel die angenäherte Gangart unter Ausschluss des sich auf eine Bodenreaktionskraft beziehenden Kraftparameters erzeugen, wenn der sich auf eine Bodenreaktionskraft beziehenden Kraftparameter unter einem vorbestimmten Zustand (S1730, S1800–S1812) liegt.
  12. System nach einem der Ansprüche 1 bis 11, wobei die Gangarterzeugungsmittel umfassen: f. Gelenkwinkelanweisungsberechnungsmittel (S302) zum Berechnen einer Gelenkwinkelanweisung des Roboters basierend auf der erzeugten Gangart; und g. Gelenksteuer/regelmittel (S306) zum Steuern/Regeln des Gelenks des Roboters, derart, dass er der berechneten Gelenkwinkelanweisung folgt.
  13. System nach Anspruch 12, wobei die Gelenkwinkelanweisungsberechnungsmittel umfassen: h. Erfassungsmittel (S300, S400–S404) zum Erfassen eines Zustands des Roboters; und i. Korrekturmittel (S304, S406, S408) zum Korrigieren einer Posicion und einer Haltung des Roboters in Antwort auf den erfassten Zustand; und die Gelenkwinkelanweisung so berechnen, dass die korrigierte Position und die Haltung bewirkt werden.
DE69725764T 1996-07-25 1997-07-25 Vorrichtung zur nachbildung des ganges für einen zweibeinigen robotor Expired - Lifetime DE69725764T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP21426196 1996-07-25
JP21426196 1996-07-25
PCT/JP1997/002581 WO1998004388A1 (fr) 1996-07-25 1997-07-25 Dispositif de reproduction de la demarche pour robot articule muni de jambes

Publications (2)

Publication Number Publication Date
DE69725764D1 DE69725764D1 (de) 2003-11-27
DE69725764T2 true DE69725764T2 (de) 2004-08-05

Family

ID=16652827

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69725764T Expired - Lifetime DE69725764T2 (de) 1996-07-25 1997-07-25 Vorrichtung zur nachbildung des ganges für einen zweibeinigen robotor

Country Status (4)

Country Link
US (1) US6301524B1 (de)
EP (1) EP1018467B1 (de)
DE (1) DE69725764T2 (de)
WO (1) WO1998004388A1 (de)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3443077B2 (ja) * 1999-09-20 2003-09-02 ソニー株式会社 ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
JP3555107B2 (ja) * 1999-11-24 2004-08-18 ソニー株式会社 脚式移動ロボット及び脚式移動ロボットの動作制御方法
WO2001085400A2 (en) * 2000-05-09 2001-11-15 Hasbro, Inc. Self-stabilizing walking apparatus that is capable of being reprogrammed or puppeteered
JP2001322079A (ja) * 2000-05-15 2001-11-20 Sony Corp 脚式移動ロボット及びその動作教示方法
JP3634238B2 (ja) * 2000-05-19 2005-03-30 本田技研工業株式会社 脚式移動ロボットの床形状推定装置
JP3726009B2 (ja) * 2000-05-19 2005-12-14 本田技研工業株式会社 脚式移動ロボットの床形状推定装置
EP1361027B1 (de) * 2000-11-17 2007-01-17 Honda Giken Kogyo Kabushiki Kaisha Gangmustererzeugungsvorrichtung für beweglichen roboter mit beinen
US6961640B2 (en) 2000-11-17 2005-11-01 Sony Corporation Motion control for a legged robot
KR100532685B1 (ko) * 2000-11-17 2005-12-01 혼다 기켄 고교 가부시키가이샤 레그식 보행 로봇
JP4188607B2 (ja) * 2001-06-27 2008-11-26 本田技研工業株式会社 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法
EP1442704B1 (de) * 2001-10-16 2010-12-29 Honda Giken Kogyo Kabushiki Kaisha Vorrichtung und verfahren zur bestimmung eines gehzustands
JP3627057B2 (ja) * 2001-11-19 2005-03-09 独立行政法人科学技術振興機構 二脚歩行式人型ロボット
JP3569764B2 (ja) * 2001-11-19 2004-09-29 独立行政法人 科学技術振興機構 二脚歩行式移動装置およびその歩行制御装置並びに歩行制御方法
EP1466705B1 (de) * 2001-12-28 2010-05-19 Honda Giken Kogyo Kabushiki Kaisha Gangerzeugungsvorrichtung für beweglichen roboter mit beinen und steuervorrichtung
EP1473122B1 (de) * 2001-12-28 2010-10-13 Honda Giken Kogyo Kabushiki Kaisha Vorrichtung zur steuerung des ganges für mobilen roboter mit beinen
JP3731118B2 (ja) 2002-02-18 2006-01-05 独立行政法人科学技術振興機構 二脚歩行式人型ロボット
JP2003236783A (ja) * 2002-02-18 2003-08-26 Japan Science & Technology Corp 二脚歩行式移動装置
US7319919B2 (en) * 2002-04-26 2008-01-15 Honda Giken Kogyo Kabushiki Kaisha Control device and footstep determination device for legged mobile robot
EP1502711B1 (de) * 2002-04-26 2011-02-23 Honda Giken Kogyo Kabushiki Kaisha Steuervorrichtung für mobilen roboter mit beinen
JP3646169B2 (ja) * 2002-05-07 2005-05-11 独立行政法人産業技術総合研究所 脚式ロボットの歩行制御装置
US7113847B2 (en) * 2002-05-07 2006-09-26 Royal Appliance Mfg. Co. Robotic vacuum with removable portable vacuum and semi-automated environment mapping
JP3598507B2 (ja) * 2002-06-12 2004-12-08 独立行政法人 科学技術振興機構 歩行式移動装置及びその歩行制御装置及び歩行制御方法
JP3834629B2 (ja) * 2002-09-26 2006-10-18 独立行政法人産業技術総合研究所 歩行ロボットの歩行歩容生成装置
WO2004033160A1 (ja) * 2002-10-10 2004-04-22 Sony Corporation ロボット装置の動作制御装置及び動作制御方法
JP4246534B2 (ja) * 2003-04-17 2009-04-02 本田技研工業株式会社 二足歩行移動体の床反力作用点推定方法及び二足歩行移動体の関節モーメント推定方法
JP4246535B2 (ja) 2003-04-17 2009-04-02 本田技研工業株式会社 二足歩行移動体の床反力作用点推定方法及び二足歩行移動体の関節モーメント推定方法
JP4299583B2 (ja) * 2003-05-20 2009-07-22 本田技研工業株式会社 脚式移動ロボット
DE602004029256D1 (de) 2003-06-27 2010-11-04 Honda Motor Co Ltd Gangerzeugungsvorrichtung für beweglichen roboter mit beinen
JP4501601B2 (ja) * 2004-09-03 2010-07-14 トヨタ自動車株式会社 脚式ロボットとその制御方法ならびに歩容データの作成装置と作成方法
JP4440759B2 (ja) * 2004-12-17 2010-03-24 本田技研工業株式会社 2足歩行移動体の床反力推定方法
US7339340B2 (en) * 2005-03-23 2008-03-04 Harris Corporation Control system and related method for multi-limbed, multi-legged robot
KR100709556B1 (ko) * 2005-10-19 2007-04-20 한국과학기술연구원 인간형 로봇의 보행 제어 방법
DE602006006588D1 (de) * 2005-10-27 2009-06-10 Koninkl Philips Electronics Nv Formverändernde, spielende teile
JP4951732B2 (ja) * 2006-05-02 2012-06-13 ソニー株式会社 駆動方法、駆動制御装置及びロボット
JP4392037B2 (ja) * 2007-09-12 2009-12-24 トヨタ自動車株式会社 脚式ロボット、及びその制御方法
JP4440956B2 (ja) * 2007-09-12 2010-03-24 トヨタ自動車株式会社 脚式ロボット、及びその制御方法
KR100985713B1 (ko) * 2008-04-29 2010-10-06 한국과학기술연구원 휴머노이드 로봇의 보행패턴 생성방법
KR20090131781A (ko) * 2008-06-19 2009-12-30 삼성전자주식회사 로봇 및 그 보행제어방법
EP2581797B1 (de) * 2009-05-15 2021-08-18 Samsung Electronics Co., Ltd. Kollisionsvermeidungsverfahren zwischen eines mobilen Robotersystems und einer Bake
KR101687630B1 (ko) * 2010-01-11 2016-12-20 삼성전자주식회사 보행 로봇 및 그 균형 제어 방법
KR101687631B1 (ko) * 2010-01-18 2016-12-20 삼성전자주식회사 로봇의 보행 제어 장치 및 그 제어 방법
KR101200191B1 (ko) * 2010-07-14 2012-11-13 서울대학교산학협력단 데이터 기반 바이페드 제어 장치 및 방법
KR20130078886A (ko) * 2012-01-02 2013-07-10 현대자동차주식회사 보행로봇의 균형제어방법
KR101985790B1 (ko) * 2012-02-21 2019-06-04 삼성전자주식회사 보행 로봇 및 그 제어 방법
US9931753B1 (en) 2014-07-24 2018-04-03 Boston Dynamics, Inc. Methods and devices for automatic gait transition
US9517561B2 (en) * 2014-08-25 2016-12-13 Google Inc. Natural pitch and roll
US9623556B1 (en) * 2014-09-03 2017-04-18 X Development Llc Robotic sole joint
US9744670B2 (en) 2014-11-26 2017-08-29 Irobot Corporation Systems and methods for use of optical odometry sensors in a mobile robot
US9751210B2 (en) 2014-11-26 2017-09-05 Irobot Corporation Systems and methods for performing occlusion detection
CN106537186B (zh) * 2014-11-26 2021-10-08 艾罗伯特公司 用于使用机器视觉***执行同时定位和映射的***和方法
US9519289B2 (en) 2014-11-26 2016-12-13 Irobot Corporation Systems and methods for performing simultaneous localization and mapping using machine vision systems
US9594377B1 (en) * 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
CN105511465B (zh) * 2015-12-02 2017-08-04 歌尔股份有限公司 一种双足机器人的步态控制方法和装置
WO2018051365A1 (en) * 2016-09-16 2018-03-22 Vaish Diwakar A robotic foot having a toe actuation mechanism for a humanoid robot and method for constructing thereof
WO2020107279A1 (zh) * 2018-11-28 2020-06-04 深圳市优必选科技有限公司 双足机器人及其移动方法、装置和存储介质
WO2020133288A1 (zh) * 2018-12-28 2020-07-02 深圳市优必选科技有限公司 一种双足机器人步态控制方法以及双足机器人
CN113110423B (zh) * 2021-03-26 2024-04-26 深圳市优必选科技股份有限公司 步态轨迹规划方法、装置、计算机可读存储介质及机器人
CN113848968A (zh) * 2021-10-20 2021-12-28 深圳鹏行智能研究有限公司 步态调整方法、多足机器人、计算机可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6297006A (ja) * 1985-10-23 1987-05-06 Hitachi Ltd 多関節歩行ロボツト制御装置
JPH0562363A (ja) 1991-08-30 1993-03-12 Victor Co Of Japan Ltd 記録再生方法
US5337235A (en) * 1992-03-12 1994-08-09 Honda Giken Kogyo Kabushiki Kaisha Locomotion control system for legged mobiled robot
JPH05285868A (ja) * 1992-04-15 1993-11-02 Honda Motor Co Ltd 脚式移動ロボットの歩行制御装置
US5432417A (en) * 1992-04-30 1995-07-11 Honda Giken Kogyo Kabushiki Kaisha Locomotion control system for legged mobile robot
JP3148828B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3132156B2 (ja) * 1992-05-22 2001-02-05 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3233450B2 (ja) * 1992-05-22 2001-11-26 本田技研工業株式会社 指定時刻到達関数発生器
JP3273443B2 (ja) 1992-05-22 2002-04-08 本田技研工業株式会社 ロボットのリンクなどの軌道生成方法及び装置
CA2071251C (en) * 1992-06-15 1996-06-04 Mark W. Tilden Adaptive robotic nervous systems and control circuits therefor
JP3278467B2 (ja) * 1992-08-18 2002-04-30 本田技研工業株式会社 移動ロボットの制御装置
JP2560264B2 (ja) * 1994-12-02 1996-12-04 工業技術院長 多足歩行装置
US5642467A (en) * 1995-01-31 1997-06-24 The Penn State Research Foundation Controller for autonomous device
US5808433A (en) * 1995-09-29 1998-09-15 Honda Giken Kogyo Kabushiki Kaisha Method of generating gait of legged walking robot and system for controlling its locomotion
US5872893A (en) * 1996-07-25 1999-02-16 Honda Giken Kogyo Kabushiki Kaisha Gait generation system of legged mobile robot
US5807011A (en) * 1996-10-07 1998-09-15 Korea Institute Of Science And Technology Foot system for jointed leg type walking robot

Also Published As

Publication number Publication date
US6301524B1 (en) 2001-10-09
EP1018467B1 (de) 2003-10-22
EP1018467A4 (de) 2000-07-12
WO1998004388A1 (fr) 1998-02-05
DE69725764D1 (de) 2003-11-27
EP1018467A1 (de) 2000-07-12

Similar Documents

Publication Publication Date Title
DE69725764T2 (de) Vorrichtung zur nachbildung des ganges für einen zweibeinigen robotor
DE60126153T2 (de) Gangmustererzeugungsvorrichtung für beweglichen roboter mit beinen
DE69805218T2 (de) System zur Steuerung des Ganges eines mit Beinen beweglichen Roboters
DE69124942T2 (de) System zur Steuerung der Fortbewegung eines Schreitroboters mit Beinen
DE69306662T2 (de) Steuerungssystem für die Lagestabilisierung eines beweglichen Roboters, insbesondere eines Roboters mit Beinen
DE69300859T2 (de) Steuerungssystem für die Fortbewegung eines mobilen Roboters.
DE69102382T2 (de) Steuerungssystem für die Fortbewegung eines Schreit-Roboters.
DE69734835T2 (de) Haltungskontrolleur einen sich auf beinen bewegenden robotern
DE69603433T2 (de) Verfahren zum Steuern des Gangs eines zweibeinigen Robotors und Vorrichtung für seine Fortbewegung
DE60020315T2 (de) Beweglicher Roboter mit Beinen und Vorrichtung für sein Hüftgelenk
KR100881609B1 (ko) 다리식 이동로봇의 보용 생성 장치
DE112005002207B4 (de) Laufroboter unter Verwendung passiver Änderungen in Gelenkwinkeln und Steuerverfahren davon
DE102014104220B9 (de) Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
DE60129009T2 (de) Bewegungskorrektur eines industrieroboters
EP1398121B1 (de) Vorrichtung zur erzeugung von bewegung von mobilen robotern mit beinen
DE4442689B4 (de) Automatisches Hub- und Kippkoordinationssteuersystem und Verfahren zur Verwendung desselben
DE102006058553B4 (de) Steuerungssystem für einen mobilen Schreitroboter
DE112016004725T5 (de) Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
DE68922684T2 (de) Profilsteuersystem für eine gegebene gekrümmte Fläche.
DE102005044412B4 (de) Kraftsensor-Abnormalitätserfassungssystem für einen mobilen Schreitroboter
US5349277A (en) Control system for legged mobile robot
DE102013113165A1 (de) Kalibrierungsverfahren für Robotersystem
DE10255585B4 (de) Verfahren und Vorrichtung zum Bestimmen einer zulässigen Geschwindigkeit eines Objektes und zum Steuern des Objektes
EP0998700B1 (de) Verfahren zur generierung von ankopplungsbahnen, verwendbar zur führung eines fahrzeugs zu einer vorgegebenen zielbahn
DE4025449C2 (de) Vorrichtung zur Korrektur mechanischer Fehler in einer NC-Maschine

Legal Events

Date Code Title Description
8364 No opposition during term of opposition