-
Die vorliegende Erfindung betrifft ein Verfahren zur Balancierung eines Roboters zum Ausgleich von externen einwirkenden Störungen sowie ein Verfahren zur Ganzkörpersteuerung eines Roboters zum Ausgleich von externen einwirkenden Störungen, einen Regler und einen Roboter.
-
In dem Stand der Technik gemäß [1]-[4] werden Regelungsverfahren für humanoide Roboter beschrieben, welche einen gewünschten Impuls und Drehimpuls in Balancier-Szenarien einregeln. Der gewünschte Impuls wird basierend auf der gewünschten Schwerpunktsposition und -geschwindigkeit gewählt, der gewünschte Drehimpuls wird stets zu null gesetzt. Falls der Roboter nicht beide gewünschten Größen realisieren kann, wird dem Impuls stets eine höhere Priorität zugesprochen als dem Drehimpuls. Dies kann bedeuten, dass, um dem System einen gewünschten linearen Impuls einzuprägen, ein von dem gewünschten Drehimpuls abweichender Wert in Kauf genommen wird. Dieser Fall kann eintreten, wenn der Roboter durch externe Kräfte gestört wird und die Bedingungen, die einen rutsch- und kippfreien Kontakt der Füße mit dem Boden garantieren, eine gleichzeitige Einprägung des gewünschten Impulses und Drehimpulses nicht erlauben. Als Folge dessen wird in manchen Situationen ein Drehimpuls ungleich null induziert. In den vorbezeichneten Methoden aus dem Stand der Technik wird der resultierende Drehimpuls in einem humanoiden Roboter nicht aktiv geplant, sondern nur generiert, wenn die Erfüllung von Aufgaben mit höherer Priorität, wie zum Beispiel einer Regelungsaufgabe für den linearen Impuls, die Verletzung der Drehimpulsregulierungsaufgabe erfordern. Die Drehimpulsregulierungsaufgabe hat zum Ziel, den Drehimpuls auf null zu halten oder ihn so gut wie möglich zu reduzieren. Durch diese typische Regelungsstruktur kann der Verlauf des Drehimpulses nur indirekt durch Repriorisierung von unterschiedlichen Aufgaben, welche gegebenenfalls im Konflikt zueinander stehen, erfolgen. Hierbei handelt es sich um ein hochdimensionales Optimierungsproblem der Einstellparameter, welche unter großem Aufwand und ohne direkte physikalische Bedeutung gesetzt werden müssen. Dies ist für humanoide Roboter insofern problematisch, als dass der Drehimpuls nur mit einer gewissen Magnitude generiert werden kann und dies auch nur für eine begrenzte Dauer, da ansonsten Positions- und/oder Geschwindigkeitsbegrenzungen in den Gelenken des Roboters erreicht werden. Das Erreichen von Gelenkbegrenzungen kann zu einer unvermittelten Reduktion des Drehimpulses führen, da nicht weiter die benötigte Gelenkgeschwindigkeit aufrechterhalten werden kann. Eine abrupte Änderung des Drehimpulses generiert jedoch große horizontale Kräfte, welche unter anderem auf den Schwerpunkt des Roboters wirken und diesen destabilisieren können, was im ungünstigen Fall zu einem Umfallen des humanoiden Roboters führen kann. Des Weiteren wird meistens erst ein Drehimpuls generiert, wenn die Kontaktbedingungen, welche einen rutsch- und kippfreien Kontakt sicherstellen sollen, erreicht werden. Dies vermindert die Robustheit des Systems gegenüber Modellungenauigkeiten und Regelungsabweichungen, da schon kleine Störungen den Roboter zu Fall bringen können, falls dieser am Rande der Kontaktbedingungen operiert.
-
In dem Stand der Technik gemäß [5] und [6] wird eine zweiphasige Methode zur Generierung der zeitlichen Ableitung einer Drehimpulsreferenztrajektorie für Balancier-Szenarien unter Einfluss von externen Kräften (z.B. Stößen) vorgestellt. In der ersten Phase wird eine zeitliche Ableitung des Drehimpulses vorgegeben, um dem destabilisierenden Effekt der externen Kraft entgegen zu wirken. Die zeitliche Ableitung des Drehimpulses wird aus der Differenz des Schwerpunktes und dem „Center of Pressure (CoP)“ berechnet. Die daraus resultierenden Gelenkbeschleunigungen werden über eine Moore-Penrose Pseudoinverse berechnet. In einer zweiten Phase wird die Ausgangspose des Roboters wiederhergestellt, welche als Funktion der potentiellen Energie des Roboters und/oder der wirkenden Gelenksdrehmomente ermittelt wird.
-
Die zeitliche Ableitung des gewünschten Drehimpulses wird aus der Differenz des CoP und des Schwerpunkts, multipliziert mit einem proportionalen Faktor k, berechnet. Nachteilig ist, dass dieser Faktor heuristisch durch experimentelles Ausprobieren bestimmt werden muss, um eine dem Stoß angemessene horizontale Kraft auszuüben. Kontaktbedingungen werden nicht explizit berücksichtigt. Für jeden neuen Kraftangriffspunkt bzw. neue Kraftrichtung muss ein neuer k Wert bestimmt werden. Aus diesem Grund ist diese Methode nicht generalisierbar und nur für den Einsatz unter Laborbedingungen geeignet. Des Weiteren geht aus der Methode nicht klar hervor, wann welche Phase aktiviert wird.
-
Aus der [7] ist eine Steuer- bzw. Regeleinrichtung für einen Roboter, wie z. B. einen mit Beinen versehenen mobilen Roboter, bekannt geworden. Die [8] bis [11] offenbaren Vorrichtungen zum Erzeugen von Gangarten, die nicht nur zum Gehen, sondern auch zum Laufen eines auf Beinen laufenden Roboters geeignet sind. Aus der [12] ist weiterhin ein Verfahren zum Erzeugen einer dynamisch realisierbaren Bewegung eines Verbindungssystems mit einem menschenähnlichen Aufbau bekannt geworden. Dieses Verfahren kann für eine Bewegungserzeugungssoftware für einen humanoiden Roboter, ein Echtzeit-Steuersystem für einen humanoiden Roboter und eine Bewegungserzeugungssoftware für Computergrafiken verwendet werden.
-
- [1] S.-H. Lee and A. Goswami, „A momentum-based balance controller for humanoid robots on non-level and nonstationary ground,“ Auton. Robots, vol. 33, pp. 399-414, Nov. 2012
- [2] Lee, Sung-hee, and Ambarish Goswami. „Momentum-based balance controller for humanoid robots on nonlevel and non-stationary ground.“ U.S. Patent No. 9,367,795 . 14 Jun. 2016. WO2011106543A1
- [3] A. Hofmann, M. Popovic, and H. Herr, „Exploiting angular momentum to enhance bipedal center-of-mass control,“ in Proc. IEEE Int. Conf. Robot. Autom., Mai 2009, pp. 4423-4429
- 4] R. Hinata and D. N. Nenchev, „Balance stabilization with angular momentum damping derived from the reaction null-space,“ Proc. 18th IEEE-RAS Int. Conf. Humanoid Robots, pp. 188-195, 2018
- [5] Abdallah, M., & Goswami, A. „A biomechanically motivated two-phase strategy for biped upright balance control,“ in Proc. IEEE Int. Conf. Robot. Autom, 2005, April, pp. 1996-2001.
- [6] Goswami, Ambarish, and Muhammad E. Abdallah. „Systems and methods for controlling a legged robot using a two-phase disturbance response strategy.“ U.S. Patent No. 7,835,822. 16 Nov. 2010. US7835822B2
- [7] DE 10 2010 064 270 B4
- [8] EP 1 649 983 B1
- [9] EP 1 642 688 B1
- [10] EP 1 642 687 B9
- [11] EP 1 475 196 B1
- [12] EP 1 334 901 B1
-
Ausgehend von den vorbezeichneten Nachteilen des Standes der Technik liegt der vorliegenden Anmeldung die Aufgabe zugrunde, ein verbessertes Verfahren zur Ausbalancierung eines Roboters unter einwirkenden externen Störungen sowie ein verbessertes Verfahren zur Ganzkörpersteuerung eines Roboters unter extern einwirkenden Störungen sowie einen entsprechenden Regler oder einen Roboter bereit zu stellen.
-
Die vorliegende Erfindung behandelt ein Verfahren, um humanoiden Robotern die Fähigkeit zu verleihen, auch in unfreiwilligen Kontaktsituationen (z.B. Stöße) aufrechte Balance zu bewahren und ein Hinfallen des Roboters zu verhindern. Dabei wird der schwerpunktsbezogene Drehimpuls des humanoiden Roboters aktiv geregelt, um Kräfte und Drehmomente zu erzeugen, welche den externen Kräften (induziert durch Kontakte mit der Umgebung) entgegenwirken. Im Gegensatz zu Satelliten im Orbit können humanoide Roboter einen Drehimpuls nur bis zu einer gewissen Magnitude generieren und dies auch nur für eine begrenzte Dauer, da ansonsten Positions- und/oder Geschwindigkeitsbegrenzungen in den Gelenken des Roboters erreicht werden. Diese Eigenschaften müssen bei der Erzeugung eines Drehimpulses berücksichtigt werden. Die hier vorgestellte Methode generiert, abhängig von den externen Kräften, eine Referenztrajektorie für den gewünschten Drehimpuls. Dabei wird berücksichtigt, dass der Drehimpuls schnell genug wieder reduziert werden muss, um das Erreichen von Positions- und/oder Geschwindigkeitsbegrenzungen in den Gelenken zu verhindern. Basierend auf dieser Referenztrajektorie werden Ganzkörperbewegungen erzeugt, welche den gewünschten Drehimpuls im humanoiden Roboter induzieren. Ein besonderer Fokus wird hierbei auf die kinematische Umsetzbarkeit der erzeugten Trajektorien gelegt.
-
Gemäß dem ersten Aspekt betrifft die vorliegende Erfindung ein Verfahren zur Balancierung eines Roboters zum Ausgleich von extern einwirkenden Störungen, der Roboter umfassend: mindestens zwei Körpersegmente, mindestens ein Gelenk mit der Anzahl von n aktuierten Freiheitsgraden zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung der Stellung q des mindestens einen Gelenks, sowie eine Aufstützfläche;
das Verfahren umfassend die Schritte:
- a) Überwachen und Ermitteln der auf den Roboter extern einwirkenden Kontaktmomente τext;
- b) Überprüfen, ob die ermittelten Kontaktmomente τext mindestens einen vorgegebenen Grenzwert τthres überschreiten;
- c) bei Überschreiten des mindestens einen vorgegebenen Grenzwertes τthres in Schritt b) Ausführen der Teilschritte c1) bis c3):
- c1) Berechnen eines erforderlichen Referenzschwerpunktdrehimpulses (CAM) um den Druckmittelpunkt (CoP) des Roboters innerhalb der Aufstützfläche (support area) zu halten,
- c2) Induzieren des erforderlichen Referenzschwerpunktdrehimpulses durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters, sowie c3) Abbauen des generierten Referenzschwerpunktdrehimpulses durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters;
- d) Berechnen von Ganzkörperbewegungen xcmd mittels eines Ganzkörperbewegungsoptimierers, welcher den Referenzschwerpunktdrehimpuls und eine Referenzpose xref als Eingabegrößen nutzt und dynamisch sowie kinematisch umsetzbare Gelenktrajektorien generiert und sicherstellt, dass der Roboter zu der vorgegebenen Referenzpose xref konvergiert und dass im Falle der Ausführung der Schritte c1) bis c3) nachfolgend nur betragsmäßig kleine Drehimpulse mit umgekehrten Vorzeichen zu den in den Schritten c2) und c3) generierten Drehimpulsen generiert werden;
- e) Induzieren der berechneten Ganzkörperbewegungen xcmd durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters; sowie
- f) kontinuierliches Wiederholen der vorbezeichneten Verfahrensschritte.
-
Das erfindungsgemäße Verfahren generiert eine Drehimpulsreferenztrajektorie für Balancier-Szenarien zur Laufzeit, abhängig von den wirkenden externen Kräften, um diesen entgegen zu wirken und ein Umfallen des Roboters zu verhindern. Die Methode berücksichtigt die Kraftmagnitude, den Kraftangriffspunkt und die Kraftrichtung. Der Verlauf der Drehimpulsreferenztrajektorie kann durch zwei Einstellparameter mit klarer physikalischer Interpretation angepasst werden. Die Drehimpulsreferenztrajektorie wird in drei aufeinanderfolgenden Phasen generiert. In der ersten Phase wird basierend auf den wirkenden Kontaktkräften und -drehmomenten ein benötigter Drehimpuls berechnet, um den „Center of Pressure (CoP)“ innerhalb der Aufstützfläche („support area“) zu halten. Falls der CoP die Kanten der Aufstützfläche erreicht, kann dies zum Umfallen des Humanoiden führen, dies gilt es in der ersten Phase zu verhindern. Die erste Phase wird aktiviert, sobald ein vorgegebener Grenzwert als Funktion der maximal zulässigen Kontaktmomente überschritten wird. Die erste Phase kann unabhängig von Aufgabenkonflikten aktiviert werden. Durch den dazugehörigen Einstellparameter kann sichergestellt werden, dass ein Drehimpuls generiert wird, bevor die Kontaktbedingungen erreicht werden. In der zweiten Phase muss der induzierte Drehimpuls wieder abgebaut werden. Dies darf nicht zu abrupt erfolgen, da die erste Zeitableitung des Drehimpulses direkt mit der Auslenkung des CoP zusammenhängt.
-
Erfindungsgemäß kann dieses Problem durch die Verwendung eines Polynoms der dritten Ordnung und der Anpassung der Dauer von Phase 2 basierend auf dem maximal generierten Drehimpuls in Phase 1 gelöst werden. Dadurch ist ein Abbau des Drehimpulses sichergestellt, ohne Gelenkgeschwindigkeiten und -beschleunigungen zu verlangen, welche möglicherweise Positions- und/oder Geschwindigkeitsbegrenzungen in den Gelenken überschreiten könnten. Während der 3. Phase beträgt die Drehimpuls-Referenz dauerhaft null. Ein Bewegungsoptimierer, welcher die Drehimpuls-Referenz als Eingang hat und kinematisch und dynamisch umsetzbare Gelenktrajektorien generiert, stellt sicher, dass der Roboter zu einer vorgegebenen Referenzpose konvergiert und nur ein betragsmäßig kleiner Drehimpuls mit umgekehrtem Vorzeichen, zu dem in Phase 1 und 2 induziert wird. Zu jedem Zeitpunkt ist ein Wechsel in Phase 1 möglich, falls ein erneuter Stoß detektiert wird.
-
Ein Bewegungsoptimierer erzeugt basierend auf der Drehimpulsreferenztrajektorie kinematisch und dynamisch umsetzbare Ganzkörperbewegungen. Der optimierungsbasierte Ansatz ermöglicht die flexible Gewichtung der Beiträge von unterschiedlichen Körpersegmenten zum resultierenden Drehimpuls, welche zur Laufzeit anpassbar sind. Ebenfalls zur Laufzeit können unterschiedliche Kontaktkonfigurationen gewählt werden (zum Beispiel Balancieren auf einem oder beiden Beinen).
-
Dieser Abschnitt gibt einen Überblick über das Dynamikmodell des Roboters, welches bei dem erfindungsgemäßen Verfahren angewendet wird und den Berechnungen zugrunde liegt.
-
Erfindungsgemäß kann es vorgesehen werden, als extern einwirkende Kontaktmomente τ
ext kontinuierlich die Kontaktmomente τ
v in der Aufstützfläche des Roboters zu überwachen. Der Wert
wird aus der Abweichung der aktuellen Position und/oder Geschwindigkeit von der Soll-Position und/oder -Geschwindigkeit des Roboters abgeleitet bzw. daraus berechnet. Eine unmittelbare Messung der auf den Roboter einwirkenden Stoßkräfte beispielsweise mittels Drucksensoren ist somit erfindungsgemäß nicht notwendig. In dem Fall, dass
werden die Phasen aktiviert.
-
Erfindungsgemäß wird die Aufstützfläche auf einem planaren Untergrund gebildet durch das konvexe Polygon mindestens einer Kontaktfläche des Roboters mit dem Untergrund, bei der mindestens einen Kontaktfläche kann es sich beispielsweise um die Stützflächen des Roboters handeln, welche auf dem Untergrund aufliegen.
-
A. Dynamisches Modell
-
Als Systemmodell für einen humanoiden Roboter wird eine Gleitfußdynamik mit n drehmomentgesteuerten Gelenken angewendet. Anstelle der Basiskoordinaten wird die Position des CoM x
c ∈ ℝ
3 verwendet zusammen mit der Ausrichtung der Hüfte R
b ∈ SO(3) und mit den entsprechenden Translations- und Rotationsgeschwindigkeiten ẋ
c ∈ ℝ
3 und ω
b, ∈ ℝ
3, die zu dem Geschwindigkeitsvektor
gestapelt werden. Die Gesamtzahl der Freiheitsgrade (DoF) des Systems wird durch
bezeichnet. Die Dynamik des Systems kann formuliert werden wie folgt:
wobei
und
die positive definite Trägheit bzw. die Coriolis-Matrix sind. Die Schwerkraftauslenkung wird durch
dargestellt, wobei m die Gesamtmasse des Roboters bezeichnet und g
0 ∈ ℝ
3 der Vektor der Erdbeschleunigung ist. Die Gelenkpositionen werden durch q ∈ ℝ
n dargestellt, und die entsprechenden Gelenkdrehmomente sind τ ∈ ℝ
n. Die Variable
steht für die generalisierten externen Kräfte, die auf das System einwirken. Um eine Modelldarstellung zu erhalten, die für eine Ausbalancierungssteuerung geeignet ist, werden die Gelenkkoordinaten beider Füße durch ihre kartesischen Koordinaten ersetzt. Die folgende Aufgabe Jacobian
leistet das Mapping auf Aufgabenraumgeschwindigkeiten R6 mit
:
wo
wobei i ∈ {r, l} die Translations- bzw. Rotationsgeschwindigkeit des linken und des rechten Fußes ist, die zu dem Geschwindigkeitsvektor
gestapelt sind. Die verbliebenen freien DoFs q̇
ƒ ∈ ℝ
n-12 sind im Gelenkraum definiert, wobei S
ƒ ∈ ℝ
(n-12)×n die entsprechenden Gelenke des Gesamtgelenkvektors auswählt. Die gestapelten adjungierten Matrizes für die Beine werden durch Ad ∈ ℝ
12×6 bezeichnet, und J' ∈ ℝ
12×n sind die jeweiligen gestapelten Jacobi Matrizen.
-
Der Schwerpunktdrehimpuls l
c ∈ ℝ
3 hängt linear vom Geschwindigkeitsvektor ab
wobei
der Rotationsteil der Schwerpunkdrehimpulsmatrix (CMM) ist. Der Schwerpunktdrehimpuls wird in einem Frame dargestellt, der an das CoM angefügt ist und mit dem Trägheitsframe aliniert ist. Er kann auch als Funktion der Aufgabengeschwindigkeiten und eines transformierten CMM ausgedrückt werden, der mit A bezeichnet wird, unter Verwendung einer inversen Kinematik von (2). In dieser Arbeit ist J eine quadratische Matrix, von der angenommen wird, dass sie invertierbar ist; die Behandlung von Redundanz- und singulären Konfigurationen wird als Aufgabe späterer Arbeiten betrachtet.
-
B. Auf Passivität basierende Ganzkörpersteuerung
-
Die Ableitung der Steuerung in diesem Abschnitt geht davon aus, dass der Roboter bei doppelter Stützfläche balanciert, aber die Formulierung kann durch Anwenden mehrerer Modifikationen auf weitere Kontaktkonfigurationen ausgeweitet werden.
-
Inspiriert durch PD+-Steuerung [26] wird das Regelschleifenverhalten formuliert wie folgt:
wobei
w grf ∈ ℝ
12 die zusammengeführten Kontaktauslenkungen beider Füße bezeichnet und die Abweichung von den kommandierten Trajektorien durch
wiedergegeben werden. Wobei es zu beachten gilt, dass die kommandierten Trajektorien im Aufgabenraum erzeugt werden und die entsprechenden kommandierten CoM- und Gelenkwerte über inverse Kinematik berechnet werden:
-
Die CoM-assoziierten Impedanzen werden definiert durch
wobei die Linear- und Rotationssteifigkeitsmatrizes K
c > 0 und Σ
b > 0 sowie die Linear- und Rotationsdämpfungsmatrizes D
c > 0 und B
b > 0 symmetrisch und positiv definit sind. Die kartesische Ausrichtung der Hüfte wird von einer virtuellen Rotationsfeder
gesteuert [20], während die Impedanz der Gelenkaufgabe durch
realisiert wird, mit den positiv definiten, linearen Feder- und Dämpfer-Matrizen K
ƒ > 0 und D
ƒ > 0.
-
Durch Vergleichen der Systemdynamik (1) und des gewünschten Regelschleifenverhaltens (4), wobei lediglich die oberen sechs Zeilen betrachtet werden, erhält man die folgende Gleichung
mit der CoM-projizierten Kraftwindung(wrench) auf der rechten Seite der Gleichung und der gewünschten Gesamt-CoM-Kraftwindung auf der rechten Seite. Demgemäß werden die Trägheits- und die Coriolis-Matrix in die oberen sechs Zeilen, welche die Schwerpunkdynamik beschreiben, und den unteren Teil, d.h.
geteilt. Die Vorsteuerungs-Terme werden in
zusammengefasst. Es gilt zu beachten, dass die transponierte adjungierte Matrix, die auch als Kontaktkarte bezeichnet wird, einen vollen Rang von sechs aufweist, während die Größe von
w grf bei doppelter Stützfläche 12 ist. Um die Verteilung von w
grf in allen möglichen Konfigurationen zu bestimmen, wird ein beschränkter QP auf Basis von (8) unter Verwendung der folgenden Kontaktbeschränkungen formuliert: Kontaktunilateralität, Coulomb-Reibungsmodell, begrenzte Normalkraft, begrenztes Drehmoment auf der z-Achse und CoP-Beschränkungen. Nach Lösung der Auslenkungsverteilung werden die finalen Steuerungsdrehmomente wie folgt berechnet:
-
Bevorzugt werden während der Ausführung der Schritte c1) bis c3) parallel und kontinuierlich die Verfahrensschritte a) und b) ausgeführt, bei Überschreiten mindestens einen vorgegebenen Grenzwertes Schritt b) die aktuell ablaufende Ausführung der Schritte c1) bis c3) abgebrochen und die Schritte c1) bis c3) erneut ausgeführt.
-
Erfindungsgemäß kann es weiterhin vorgesehen werden, dass der Verfahrensschritt d) die folgenden Schritte umfasst:
- d1) Aufteilen der Gesamtanzahl der n Freiheitsgrade im Aufgabenraum in: k zu beeinflussende Freiheitsgrade mit den zugehörigen Aufgabenvariablen xa sowie in n — k unveränderte Freiheitsgrade mit den zugehörigen Aufgabenvariablen xu, mit
- d2) Bestimmen der optimierten Geschwindigkeiten unter Erfüllung der Beziehung:
- d3) Lösen der Beziehung in d2) durch Formulieren eines quadratischen Optimierungsproblems mit Nebenbedingungen zu:
wobei QL und QR > 0 Gewichtungsmatrizen darstellen, welche beide positiv definit und symmetrisch sind mit den Residuen: unter Beachtung der Randbedingungen: wobei die gewünschte Geschwindigkeit basierend auf der Abweichung der optimierten Position von ihrer Referenzposition berechnet wird: wobei Referenzgeschwindigkeit für die zu optimierenden Variablen und die zugehörige Referenzposition als Eingabegrößen bekannt sind, wobei die Konvergenz des Roboters zu der Referenzpose durch die Designparameter Kp > 0 beeinflussbar ist, welcher diagonal und positiv definit gewählt wird mit den Positionsbegrenzungen und den Geschwindigkeitsbegrenzungen mit Ka > 0, wobei Ka diagonal und positiv definit ist; - d4) Berechnen der optimierten Position durch Integrieren der optimierten Geschwindigkeiten über die Zeit; sowie
- d5) Zusammensetzen der optimierten Position für die veränderlichen Freiheitsgrade mit der Referenzposition der unveränderlichen Freiheitsgrade zu und als Ganzkörperbewegung.
-
A. Ganzkörperbewegungsoptimierung
-
Der gesamte Aufgabenraum wird in k Freiheitsgrade-DoFs, die innerhalb des Bewegungsoptimierers angepasst werden, und die übrigen
n —
k DoFs, die unverändert bleiben, aufgeteilt, wobei
-
Das transformierte CMM und der Aufgabenraum-Geschwindigkeitsvektor (3) können dementsprechend aufgeteilt werden als
wobei die Indizes a und u angepasste bzw. unveränderte DoFs bezeichnen. Die Optimierungsvariablen können online und abhängig von der Kontaktkonfiguration und dem Planungsziel ausgewählt werden. Wenn beispielsweise nur die Geschwindigkeiten der Gelenkaufgabe in Bezug auf ein Schwerpunktdrehimpuls-Ziel angepasst werden sollen, wird der Aufgabenraum-Geschwindigkeitsvektor wie folgt zugewiesen:
und
-
Das Ziel besteht darin, optimierte Geschwindigkeiten
für k ausgewählten DoFs zu finden, um einen vordefinierten Referenz-Schwerpunktdrehimpuls
für das System zu induzieren. Wie in
1 gezeigt ist, wird der Referenz-Schwerpunktdrehimpuls aus dem Schwerpunktdrehimpuls-Referenzwerterzeuger erhalten, der in den Abschnitten III-B und III-C vorgestellt wird. Durch Umformulieren von (3) werden die optimierten Geschwindigkeiten so bestimmt, dass sie folgendes erfüllen:
mit den Residuen
und vorbehaltlich der Beschränkungen
-
Die gewünschte Geschwindigkeit
in (14b) wird auf Basis der Abweichung der optimierten Haltung von ihrem Referenzwert
berechnet, wobei die Referenzgeschwindigkeit für die Optimierungsvariablen
und die entsprechende Position
von dem Trajektorieplaner bereitgestellt werden. Die optimierte Position
wird erhalten aus
durch Integration in Bezug auf die Zeit. Das Konvergenzverhalten des Roboters in Richtung auf seine Referenzpose kann durch den Designparameter Kp > 0 beeinflusst werden, der diagonal und positiv definit ist.
-
Der QP findet einen Kompromiss zwischen einer Drehimpulsaufgabe (14a) und einer Referenzhaltungsaufgabe (14b). Die nicht-strikten Prioritäten zwischen den beiden Aufgaben können auf Basis der Wahl der Gewichtungsmatrizes Q
l und Q
p > 0, die beide positiv definit und symmetrisch sind, angepasst werden. Eine nichtstrikte Aufgabenhierarchie ist notwendig, damit der Roboter sich seiner Referenzhaltung ganz annähern kann, auch wenn
Die Kombination eines Drehimpulses und einer Haltungsaufgabe wird gewählt, weil eine Optimierung für nur den Schwerpunktdrehimpuls (14a) zu ungünstigen Körperhaltungen führen kann. Die Referenzhaltung, die von dem Trajektorieplaner bereitgestellt wird, wird auf Basis von Zielen hochrangiger Aufgaben definiert.
-
Die kinematischen Beschränkungen im Aufgabenraum (15) stellen sicher, dass vordefinierte Positionsbegrenzungen
und Geschwindigkeitsbegrenzungen
nicht überschritten werden
wobei Ka > 0 diagonal und positiv definit ist. Größere Werte von Ka führen zu einem breiteren Bereich, wo die Optimierung (13) unbeeinflusst bleibt, aber sie verlangen auch höhere Beschleunigungen in der Nachbarschaft der Beschränkung. Diese Beschränkungen können auf eine Eigenkollisionsvermeidung oder Singular-Konfigurationsverhinderung auf kartesischer Basis ausgeweitet werden. Auf Basis der optimierten Geschwindigkeiten werden die entsprechenden kommandierten Ganzkörpertrajektorien durch numerische Differenzierung und Integration erzeugt und schließlich mit den unveränderten DoFs zusammengeführt.
-
Bevorzugt kann es erfindungsgemäß vorgesehen sein, dass im Verfahrensschritt a) zusätzlich die folgenden Schritte ausgeführt werden:
- a1) bei dem Vorliegen einer Mehrzahl von Stützflächen, Ersetzen der Mehrzahl von Stützflächen durch eine einzige virtuelle Aufstützfläche, deren Mittelpunkt xv durch den Mittelpunkt der mehreren Stützflächen gebildet wird und deren Fläche, welche der Summe der mehreren Stützflächen entspricht,
- a2) Berechnen des Kontaktdrehmomentes τv ∈ ℝ3 der virtuellen Aufstützfläche zu: wobei x̂v,c die Kreuzproduktmatrix des Vektors xv,c = xc - xv zwischen der Schwerpunktsposition xc und der Position der Aufstützfläche xv ist, wobei der Rotationsteil der invertierten adjungierten Matrix der virtuellen Aufstützfläche, die durch Konstruktion einen vollen Rang aufweist, wird dargestellt durch
- a3) weiteres Aufteilen der Kontaktdrehmomente in Schritt a2) zu:
- wobei die Kontaktdrehmomente darstellt, die durch eine gewollte Bewegung des Oberkörpers erzeugt werden, hier in Form der Vorwärtskopplungsterme, und daher einer Hüftstrategie zugeordnet ist. Die Kontaktdrehmomente, die durch Schwerkrafts- und Impedanzterme induziert werden, werden von zusammengefasst, die als Fußgelenksstrategie betrachtet werden, da sie das resultierende Kontaktdrehmoment angeben, das vorhanden wäre, wenn eine feste Körperhaltung bewahrt werden würde, d.h. wenn
- a4) Umformulieren der Vorsteuerungs-Terme in (8) die mit erweiterter Trägheits- und Coriolis-Matrix wie folgt umformuliert werden zu: wobei die Vorsteuerungs-Kraft und das -Drehmoment bzw. sind. Das Vorsteuerungs-Drehmoment kann als die Änderungsrate des Schwerpunktdrehimpulses interpretiert werden, der sich aus der kommandierten Trajektorie ergibt, die über inverse Kinematik (5) aus dem Aufgabenraum transformiert wird. Die kommandierte Schwerpunkts-Geschwindigkeit und -Beschleunigung, und daher auch ist für Ausbalancierungsszenarios als null definiert. Infolgedessen wird das Hüft-Kontaktdrehmoment vereinfacht zu wo die Änderungsrate des kommandierten Schwerpunktdrehimpulses ist.
-
B. Hüft- und Fußgelenksstrategie im Kontext von auf Passivität basierender Ganzkörpersteuerung
-
Für Ausbalancierungsszenarios erzeugt der High-Level-Planner Trajektorien, um eine feste Haltung zu bewahren, d.h., dass die Referenzwerte auf Geschwindigkeits- und Beschleunigungsebene null sind,
Daher wird die Ganzkörperbewegung, die sich aus einem Stoß von außen ergibt, nur durch das erfindungsgemäße Verfahren erzeugt. Da die Kontaktauslenkungen die Kontaktbeschränkungen einhalten müssen, existieren ein oberer und ein unterer Grenzwert für die maximale erzeugbare CoM-Auslenkung. Genauer werden in dem Fall, wo Störungen aufgrund von Stößen vorkommen, die Kontaktauslenkungsbeschränkungen leicht erreicht, d.h. der CoP nähert sich dem Rand der Abstützfläche, und es kann zu einer Drehung oder Kippung des Fußes kommen, die bewirkt, dass der Roboter hinfällt. Um dies zu verhindern, muss durch aktives Erzeugen eines Schwerpunktdrehimpulses, der den vorhandenen Kontaktauslenkungen entgegenwirkt, ein zusätzliches Drehmoment um das CoM induziert werden. Als Folge davon können gewünschte CoM-Auslenkungen mit größeren Werten erzeugt werden, d.h. es können stärkere Stöße ausgeglichen werden.
-
Der Referenz-Schwerpunktdrehimpuls wird auf Basis der erforderlichen Kontaktdrehmomente berechnet. Um das Auslenkungsverteilungsproblem zu umgehen und die adjungierte Matrix (8) invertierbar zu machen, werden die Kontaktdrehmomente für einen einzelnen virtuellen Standfuß berechnet, dessen Zentrum sich bei doppelter Stützung zwischen der Position des rechten und des linken Fußes befindet, d. h.
oder der Fußposition des Standfußes bei einfacher Stützung gleich ist. Der virtuelle Standfuß hat eine Größe, die der Stützfläche des Roboters gleich ist. Durch Anwendung dieser Vereinfachung und Umformulierung (8) wird das Kontaktdrehmoment des virtuellen Standfußes τ
v ∈ ℝ
3 erhalten als
wo x̂
v,c die Kreuzproduktmatrix des Vektors x
v,
c = x
c - x
v zwischen dem CoM und der Position des virtuellen Standfußes ist. Der Rotationsteil der invertierten adjungierten Matrix des virtuellen Standfußes, die durch Konstruktion einen vollen Rang aufweist, wird dargestellt durch
Die Kontaktdrehmomente in (18) können weiter aufgeteilt werden wie folgt:
wo
die Kontaktdrehmomente darstellt, die durch eine gewollte Bewegung des Oberkörpers erzeugt werden, hier in Form der Vorwärtskopplungsterme, und daher einer Hüftstrategie zugeordnet ist. Die Kontaktdrehmomente, die durch Schwerkrafts- und Impedanzterme induziert werden, werden von
zusammengefasst, die als Fußgelenksstrategie betrachtet werden, da sie das resultierende Kontaktdrehmoment angeben, das vorhanden wäre, wenn eine feste Körperhaltung bewahrt werden würde, d.h. wenn
-
Die Vorsteuerungs-Terme in (8) können mit erweiterter Trägheits- und Coriolis-Matrix wie folgt umformuliert werden:
wo die Vorsteuerungs-Kraft und das -Drehmoment
bzw.
sind. Das Vorsteuerungs-Drehmoment kann als die Änderungsrate des Schwerpunktdrehimpulses interpretiert werden, der sich aus der kommandierten Trajektorie ergibt, die über inverse Kinematik (5) aus dem Aufgabenraum transformiert wird. Die kommandierte CoM-Geschwindigkeit und -Beschleunigung, und daher auch
ist für Ausbalancierungsszenarios als null definiert. Infolgedessen wird das Hüft-Kontaktdrehmoment vereinfacht zu
wo
die Änderungsrate des kommandierten Schwerpunktdrehimpuls ist.
-
Erfindungsgemäß kann es vorgesehen werden, dass die Grenzen für die xy-Ebene auf Basis der Beschränkung berechnet werden, dass der kombinierte Druckmittelpunkt p
v ∈ ℝ
2 innerhalb einer virtuellen Aufstützfläche Sv
liegen muss, wobei ƒ
v,z die gesamte vertikale Kraft ist, die auf den Boden aufgebracht wird.
-
C. Schwerpunktdrehimpuls-Referenzwerterzeugung für Ausbalancierungsszenarios mit Kraftstörung
-
In diesem Abschnitt wird ein Verfahren für die Planung der Aktivierungszeit der Hüftstrategie vorgestellt, und ein entsprechender Schwerpunktdrehimpuls-Referenzwert wird bereitgestellt. Auf Basis von
τ
v (19) werden ein Referenz-Schwerpunktdrehimpuls und daher auch ein resultierender
so erzeugt, dass τ
v innerhalb seiner Grenzen
bleibt. Die Grenzen des Drehmoments um die z-Achse werden durch vordefinierte obere und untere Werte [21], [22] approximiert. Die Grenzen für die xy-Ebene werden auf Basis der Beschränkung berechnet, dass der kombinierte CoP p
v ∈ ℝ
2 innerhalb des virtuellen Standfußes Sv
liegen muss, wobei f
v,z die gesamte vertikale Kraft ist, die auf den Boden aufgebracht wird. Um den begrenzten Drehimpuls-Speicherkapazitäten eines Humanoiden Rechnung zu tragen, wird die Schwerpunktdrehimpuls-Referenzwerterzeugung in drei aufeinanderfolgende Phasen unterteilt: 1) die erste Phase erzeugt aktiv einen Schwerpunktdrehimpuls, um die äußeren Kräfte auszugleichen, die durch eine Störung (z.B. einen Stoß) hervorgerufen werden; 2) die zweite Phase bringt den Schwerpunktdrehimpuls-Referenzwert auf null zurück, um den Roboter anzuhalten; und 3) die letzte Phase stellt sicher, dass der Roboter zu seiner Referenzpose zurückkehrt. Ein Zurückschalten auf Phase 1 ist jederzeit möglich, wenn ein weiterer Stoß erfasst wird. Der Push-Recovery-Algorithmus wird unabhängig für jede räumliche Dimension i ∈ {x, y, z} angewendet, die an dem (möglicherweise gedrehten) virtuellen Standfuß ausgerichtet ist, d.h. es können Stöße aus allen Richtungen unabhängig in der jeweiligen Achse kompensiert werden. Um der Klarheit willen werden die Indizes ab jetzt weggelassen. Die vorgestellten Beziehungen in Skalarform gelten für jede räumliche Dimension. Der vorgeschlagene Algorithmus wird mit Simulationsergebnissen unter Verwendung der Humanoidroboterplattform OpenHRP [28] erläutert, wobei in experimentellen Verifizierungen das gleiche Robotermodell verwendet wird.
-
1) Schwerpunktdrehimpuls-Erzeugungsphase: Die erste Phase wird aktiviert, nachdem ein Stoß stattgefunden hat, der erfasst wird, wenn der entsprechende
einen vordefinierten Schwellenwert
überschreitet. Der Schwellenwert ist eine Funktion der Kontaktdrehmomentgrenzen, die sich aus (22) ergeben
mit dem Designparameter α ∈ [0, 1]. Je größer α ist, desto später wird die Hüftstrategie aktiviert. Im Allgemeinen sollte die Hüftstrategie so spät wie möglich aktiviert werden, um zunächst die Möglichkeiten der Fußgelenksstrategie voll auszuschöpfen. Wenn die Hüftstrategie jedoch erst aktiv wird, wenn die Kontaktbeschränkungen erreicht werden (α = 1), können kleine Modellunsicherheiten oder Tracking-Fehler auch bewirken, dass der Roboter hinfällt. Daher verbessert ein Sicherheitsspielraum die Robustheit des Algorithmus, in der Praxis wurden gute Ergebnisse mit α ∈ [0.7, 0.9] erzielt.
2a zeigt einen simulierten Verlauf von
von (19). Der Roboter wird von hinten mit einem Impuls von 12 Ns angestoßen, der, normalisiert auf seine Masse, einer Deltageschwindigkeit von 0,152
entspricht.
-
Die Änderungsrate des Referenz-Schwerpunktdrehimpuls ist definiert als die Differenz des Winkeldrehmoments und dessen Schwellenwerts.
-
Diese Differenz kann als das zusätzliche Hüftdrehmoment in (19), das nötig ist, um τ
v innerhalb seiner Grenzen zu halten, interpretiert werden. Der entsprechende Referenz-Schwerpunktdrehimpuls
kann durch Integrieren von (24) in Bezug auf die Zeit erhalten werden. Die Zeit t ist innerhalb des Intervalls t ∈ [t
1, t
2) definiert, wobei der Moment der Aktivierung der ersten Phase durch t = t
1 gekennzeichnet ist. Die Phase 1 ist abgeschlossen, wenn das Fußgelenksdrehmoment wieder unter dem vordefinierten Schwellenwert liegt, d.h.
dieser Zeitpunkt wird definiert durch t = t
2.
2b zeigt den resultierenden Schwerpunktdrehimpuls-Referenzwert für unterschiedliche Werte von α.
-
Es kann vorgesehen werden, dass im Verfahrensschritt b) als Kontaktmoment τ
ext das Kontaktdrehmoment des virtuellen Standbeins bzw. der Aufstützfläche
auf Überschreitung eines vordefinierten Schwellenwertes
überprüft wird, wobei der Schwellenwert als Funktion der Kontaktdrehmomentgrenzen bestimmt wird:
mit dem Designparameter α ∈ [0, 1] und wobei die Änderungsrate des Referenzschwerpunktdrehimpulses definiert wird als die Differenz des Fußgelenkdrehmoments und dessen Schwellenwerts
-
Diese Differenz kann als das zusätzliche Hüftdrehmoment in (19), das nötig ist, um τ
v innerhalb seiner Grenzen zu halten, interpretiert werden. Der entsprechende Referenzschwerpunktimpuls
kann durch Integrieren von (24) in Bezug auf die Zeit erhalten werden, wobei die Zeit t innerhalb des Intervalls t ∈ [t
1, t
2) definiert wird, wobei der Moment der Aktivierung der ersten Phase durch t = t
1 gekennzeichnet ist und wobei die Phase 1 abgeschlossen ist, wenn das Fußgelenksdrehmoment wieder unter dem vordefinierten Schwellenwert liegt, d.h.
dieser Zeitpunkt wird definiert durch t = t
2.
-
Gemäß dem vorliegenden Verfahren kann es weiterhin vorgesehen werden, dass im Verfahrensschritt c3) die Gesamtdauer für die Reduktion des Referenzschwerpunktimpulses auf 0 wird als T = t
3 - t
2 definiert mit t
2 als Startzeitpunkt und t
3 als Endzeitpunkt der Reduktion des Referenzschwerpunktdrehimpulses, Vorgeben der Referenzschwerpunktdrehimpulses über folgende Beziehung:
-
Ermitteln der von T auf Basis der kritischen Punkte von
als Beziehung zwischen der Gesamtdauer T, dem Referenzschwerpunktdrehimpuls am Anfang der Reduktion des Schwerpunktdrehimpulses
Phase 2, und seiner maximalen Änderungsrate
wie folgt erhalten:
wobei
als Funktion der höchsten Änderungsrate des Schwerpunktdrehimpulses während Phase 1 gewählt wird, erhalten durch:
mit dem Designparameter β, der innerhalb des Intervalls β ∈ (0, 1] definiert wird.
-
2) Schwerpunktdrehimpuls-Reduzierungsphase:
-
Während Phase 1 nimmt der Referenz-Schwerpunktdrehimpuls monoton zu. Nachdem der Stoß ausgeglichen wurde, hat der Referenz-Schwerpunktdrehimpuls einen Wert ungleich null, der weich auf null gesenkt werden muss, um den Roboter wieder zur Ruhe zu bringen. Daher wird ein Polynom dritter Ordnung verwendet, um eine Trajektorie zu erzeugen, während eine C
1-Kontinuität sichergestellt wird, um Sprünge im resultierenden
zu vermeiden.
-
Der Systemzustand, wenn die Phase 2 aktiviert wird, wird als Anfangsbedingung für das Polynom verwendet. Um den Roboter nach Phase 2 anzuhalten, müssen der Schwerpunktdrehimpuls und seine Zeitableitung am Ende der Trajektorie null sein. Phase 2 ist innerhalb des Zeitintervalls t ∈ [t
2, t
3] definiert. Die Schwerpunktdrehimpuls-Referenztrajektorie wird formuliert als
wobei die Koeffizienten a
j auf Basis der Grenzbedingungen bestimmt werden können. Der letzte freie Parameter ist die Gesamtdauer der Phase 2, die durch T = t
3 - t
2 bezeichnet wird. Auf Basis der kritischen Punkte von
wird eine Beziehung zwischen der Gesamtdauer, dem Referenz-Schwerpunktdrehimpuls am Anfang der Phase 2
und seiner maximalen Änderungsrate
wie folgt erhalten:
-
Es gilt zu beachten, dass T nicht beliebig groß gewählt werden kann, ohne kinematische Grenzen zu erreichen, während ein kleines T eine hohe maximale Änderungsrate von Schwerpunktdrehimpuls induziert. Um einen Kompromiss zu finden, wird
als Funktion der höchsten Änderungsrate des Schwerpunktdrehimpulses während Phase 1 gewählt, erhalten durch
mit dem Designparameter, der innerhalb des Intervalls β ∈ (0, 1] definiert ist, siehe
2c.
-
Kleine Werte für β erhöhen das Risiko für die Aktivierung von Positionsgrenzen, während große Werte zu einer aggressiven Reduzierung des Schwerpunktdrehimpulses führen können. Beide Szenarios können den CoP zum Rand der Aufstützfläche hin ablenken und möglicherweise bewirken, dass der Roboter umfällt. Gute Ergebnisse wurden erzielt mit β ∈ [0.3, 0.5]. Diese Formulierung ist ein guter Anhaltspunkt dafür, wie schnell der Schwerpunktdrehimpuls reduziert werden sollte, aber keine formale Garantie dafür liefert, dass kinematische Grenzen oder Kontaktbeschränkungen nicht erreicht werden.
-
3) Haltungswiederherstellungsphase:
-
Nachdem Phase 2 abgeschlossen wurde, wird der Referenz-Schwerpunktdrehimpuls auf null reduziert, aber die Roboterkonfiguration weicht immer noch von ihrer Referenzpose ab. An diesem Punkt wird die Haltungsaufgabe (14b) der Bewegungsoptimierung dominant. Sie sorgt für eine rasche Rückkehr zu der anfänglichen Roboterkonfiguration, während sie nur einen kleinen Schwerpunktdrehimpuls mit entgegengesetztem Vorzeichen zu dem, der in den Phasen 1 und erzeugt wurde, induziert. Das Schwerpunktdrehimpuls-Tracking hängt von Auswahl der Gewichtsmatrix ab. Durch Vergrößern von Ql in (13), während gleichzeitig Qp konstant gehalten wird, erhält man ein besseres Schwerpunktdrehimpuls-Tracking, verlängert aber auch die Konvergenzzeit in Bezug auf die Referenzpose und infolgedessen die Gesamtdauer der Phase 3, siehe 2d.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung kann ein Verfahren zur Ganzkörpersteuerung eines Roboters zum Ausgleich von externen einwirkenden Störungen der Roboter umfassend: mindestens zwei Körpersegmente, mindestens ein Gelenk mit der Anzahl von n Freiheitsgraden zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung der Stellung q des mindestens einen Gelenks, sowie eine Aufstützfläche; wobei das Regelschleifenverhalten zur Steuerung der mindestens einen Stelleinrichtung zu:
wobei w
qrf die zusammengeführten Kontaktkraftwindungen der Aufstützfläche des Roboters bezeichnet und die Abweichung von den kommandierten Trajektorien durch
wiedergegeben werden; wobei die kommandierten Trajektorien x
cmd im Aufgabenraum erzeugt werden über das Verfahren gemäß einem der Ansprüche 1 bis 6 und die entsprechenden kommandierten Schwerpunkts- und Gelenkwerte über inverse Kinematik berechnet werden:
wobei die Schwerpunkts-assoziierten Impedanzen definiert werden durch:
wobei die Linear- und Rotationssteifigkeitsmatrizes K
c > 0 und Σ
b > 0 sowie die Linear- und Rotationsdämpfungsmatrizes D
c > 0 und B
b > 0 symmetrisch und positiv definit sind;
wobei die kartesische Ausrichtung der Hüfte von einer virtuellen Rotationsfeder
gesteuert wird, während die Impedanz der Gelenkaufgabe durch
realisiert wird, mit den Matrizes der positiven definiten und linearen Feder K
ƒ > 0 und D
ƒ > 0.
-
Berechnen der finalen Steuerungsdrehmomente:
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung kann ein Regler umfassend mindestens eine Recheneinheit und eine Speichereinheit vorgesehen werden, wobei auf der Speichereinheit Instruktionen zur Ausführung des Balancierverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung oder zur Ausführung der Ganzkörpersteuerung gemäß dem zweiten Aspekt der vorliegenden Erfindung durch die Recheneinheit abgelegt sind.
-
Gemäß einem weiteren Aspekt kann erfindungsgemäß ein Roboter umfassend mindestens zwei Körpersegmente, mindestens ein Gelenk zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung des mindestens einen Gelenks sowie eine Aufstützfläche und eine Recheneinheit vorgesehen werden, welche zur Ausbalancierung des Roboters das erfindungsgemäße Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung ausführt.
-
Es werden zwei Szenarien vorgestellt, um die Leistungsfähigkeit des Push-Recovery-Verfahrens in dem realen System zu bewerten. In dem ersten Szenario steht der Roboter aufrecht und stützt sich an zwei Stellen auf und wird innerhalb der Sagittalebene (entlang der x-Achse) auf der Höhe der Hüfte mit einer maximalen Kraft von 65 N und einem Impuls von 18 Ns (0,227
impulsiv angestoßen. Die Optimierungsvariable
in (13) schließt die Geschwindigkeiten der Hüfte um alle drei Achsen, die Gelenksgeschwindigkeit im Torso sowie die ersten vier Gelenkgeschwindigkeiten in jedem Arm ein. Um den Stoß abzuwehren, erzeugt der Roboter einen Schwerpunktdrehimpuls durch Vorwärtsbeugen und Rückwärtsbewegen der Arme.
-
Das Fußgelenks-, das Hüft- und das resultierende Kontaktdrehmoment des virtuellen Standfußes sind in
3a gezeigt. Das reine Fußgelenksdrehmoment überschreitet seinen Grenzwert, d.h., der kombinierte CoP hätte den Rand der Aufstützfläche erreicht, wenn eine feste Haltung beibehalten worden wäre, was ein Umfallen des Roboters bewirkt hätte. Die Steuerung von Abschnitt II-B allein hätte den Stoß ohne die vorgestellte Schwerpunktdrehimpuls-basierte Bewegungsoptimierung von Abschnitt III nicht ausgleichen können. Durch den zusätzlich erzeugten Schwerpunktdrehimpuls und den entsprechenden
wird das resultierende Kontaktdrehmoment τ
v in seinen Grenzen gehalten und der Roboter findet sein Gleichgewicht nach dem Stoß wieder.
3d zeigt die entsprechende kombinierte Abweichung des CoP und CoM. Der Verlauf des Referenz-, des Befehls- und des gemessenen Schwerpunktdrehimpulses durch alle Phasen und ihre Änderungsrate sind in
3b bzw.
3c, abgebildet. Es gilt zu beachten, dass der gemessene Schwerpunktdrehimpuls direkt steigt, wenn der Stoß ausgeübt wird, da die externe Kraft an sich einen Drehimpuls in dem System hervorruft. Der Referenz-Schwerpunktdrehimpuls steigt mit Verzögerung an, abhängig von der Aktivierungszeit der Phase 1.
-
Im zweiten Versuch balanciert der Roboter auf dem rechten Bein und wird von vorne mit einer maximalen Kraft von 75 N und einem Impuls von 22,5 Ns (0,284
angestoßen. Die Ergebnisse sind in
4 gezeigt. Zu beachten ist, dass die translationale kartesische Geschwindigkeit des linken Fußes zu den Optimierungsvariablen des vorherigen Versuchs mit der doppelten Abstützung addiert wird; die entsprechende CoM-gemappte Impedanzauslenkung muss in (8) und in (18) zu dem Winkeldrehmoment addiert werden (für weitere Einzelheiten siehe [22]).
-
Es ist zu beachten, dass der Roboter bei einfacher Abstützung im Vergleich zu einem gleichen Versuchsaufbau bei doppelter Abstützung Stöße in der Sagittalebene von größerer Stärke kompensieren kann. Das Ausmaß des Unterstützungsbereichs in der x-Richtung ist bei beiden Konfigurationen gleich, aber bei der einfachen Abstützung erzeugt das Spielbein fast die Hälfte des Spitzen-Schwerpunktdrehimpulses in der y-Richtung, siehe 4d.
- [20] C. Ott, M. A. Roa, and G. Hirzinger, „Posture and balance control for biped robots based on contact force optimization,“ in Proc. 11th IEEERAS Int. Conf. Humanoid Robots, 2011, pp. 26-33.
- [21] B. Henze, M. A. Roa, and C. Ott, „Passivity-based whole-body balancing for torque-controlled humanoid robots in multi-contact scenarios,“ Int. J. Robot. Res., vol. 35, no. 12, pp. 1522-1543, 2016.
- [22] G. Mesesan et al., „Dynamic walking on compliant and uneven terrain using DCM and passivity-based whole-body control,“ in Proc. 19th IEEE-RAS Int. Conf. Humanoid Robots, 2019, pp. 25-32.
- [23] D. E. Orin, A. Goswami, and S.-H. Lee, „Centroidal dynamics of a humanoid robot,“ Auton. Robots, vol. 35, no. 2-3, pp. 161-176, Oct. 2013.
- [24] J. Englsberger, G. Mesesan, and C. Ott, „Smooth trajectory generation and push-recovery based on divergent component of motion,“ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Sep. 2017, pp. 4560-4567.
- [25] G. Mesesan, J. Englsberger, C. Ott, and A. Albu-Schäffer, „Convex properties of center-of-mass trajectories for locomotion based on divergent component of motion,“ IEEE Robot. Autom. Lett., vol. 3, no. 4, pp. 3449-3456, 2018.
- [26] B. Paden and R. Panja, „Globally asymptotically stable ‚PD+‘ controller for robot manipulators,“ Int. J. Control, vol. 47, no. 6, pp. 1697-1712, 1988.
- [27] J. Englsberger, „Combining reduced dynamics models and whole-body control for agile humanoid locomotion,“ Ph.D. dissertation, Tech. Univ. Munich, Munich, Dec. 2016.
- [28] F. Kanehiro, H. Hirukawa, and S. Kajita, „OpenHRP: Open architecture humanoid robotics platform,“ Int. J. Robot. Res., vol. 23, no. 2, pp. 155-165, Feb. 2004.
- [29] J. Englsberger et al., „Overview of the torque-controlled humanoid robot TORO,“ in Proc. IEEE-RAS Int. Conf. Humanoid Robots, 2014, pp. 916-923. [30] H. J. Ferreau, H. G. Bock, and M. Diehl, „An online active set strategy to overcome the limitations of explicit MPC,“ Int. J. Robust Nonlinear Control, vol. 18, no. 8, pp. 816-830, 2008.
- [31] A. Albu-Schäffer et al., „The DLR lightweight robot: design and control concepts for robots in human environments,“ Ind. Robot: Int. J., vol. 34, no. 5, pp. 376-385, 2007.