-
Die Erfindung betrifft ein Verfahren zur Gangsteuerung eines Roboters, einen Regler, ein Computerprogramm und ein Robotersystem.
-
Die Fortbewegung von Robotersystemen mit Beinen, insbesondere humanoiden Robotern, ist ein komplexes Problem aufgrund der unteraktuierten und nichtlinearen Natur der entsprechenden Mehrkörperdynamik und der Beschränkungen der anwendbaren Kontaktkräfte. Zur Bewältigung der Komplexität wurden reduzierte Modelle eingeführt, die sich auf die Dynamik des Massenzentrums (Center of Mass, CoM) konzentrieren. Ein bekanntes Beispiel ist das Modell des linearen inversen Pendels (Linear Inverted Pendulum, LIP) Dokument [1]. Auf der Grundlage des LIP-Modells und dem Null-Moment-Punkt (Zero-Moment Point, ZMP) Dokument [2] wurden mehrere Verfahren zur Erzeugung von CoM-Trajektorien entwickelt, z. B. Dokumente [3], [4]. Die divergente Bewegungskomponente (Divergent Component of Motion, DCM) Dokumente [5], [6], auch sofortiger Capture Point Dokument [7] genannt, wurde mit dem Ziel eingeführt, die dreidimensionale Gangerzeugung zu vereinfachen, indem der Fokus auf den instabilen Teil der CoM-Dynamik gelegt wird. Basierend auf dem DCM-Konzept können geschlossene CoM-Trajektorien effizient mittels Matrix-Vektor Berechnung erzeugt werden Dokumente [8], [9].
-
Bei der Verwendung des DCM-Frameworks für die Gangerzeugung wird üblicherweise angenommen, dass die Änderungsrate des Schwerpunktdrehimpulses (CAM) Null beträgt Dokument [5]. Folglich wird der verbesserte Zentroidimpulsdrehpunkt (enhanced Centroidal Momentum Pivot, eCMP) so gewählt, dass mit der gewünschten Position des Druckmittelpunkts (CoP) übereinstimmt, wie in 1 dargestellt. Diese Annahme gilt jedoch nicht für die Mehrkörperdynamik eines humanoiden Roboters, bei dem ein wesentlicher CAM durch die Bewegungen von Schwungbein und Becken erzeugt wird. Wenn der induzierte CAM nicht richtig geregelt wird, führt er zu einer Ablenkung des tatsächlichen CoP von seiner gewünschten Position. Wenn sich der CoP dem Rand der Aufstützfläche nähert, kann es zu einer Kippung des Fußes kommen, die bewirkt, dass der Roboter hinfällt.
-
Die Einbeziehung des gesamten Mehrkörper-CAM in die Online-Gangerzeugung ist aufgrund seiner nichtlinearen und nichtholonomen Eigenschaften weiterhin ein anhaltendes Forschungsproblem. In Dokument [10] wird eine Impulstrajektorie optimiert, einschließlich des Impulses und des Drehimpulses. Dieses Verfahren ist jedoch sehr rechenaufwändig und wird offline durchgeführt. Andere Ansätze bieten Erweiterungen des LIP-Modells für eine bessere Näherung an den Mehrkörper-CAM, Dokumente [11]-[13]. In Dokument [14] wird der CAM durch ein vereinfachtes Drei-Massen-Modell approximiert und in das DCM-Planungsframework von Dokument [5] integriert. Allerdings können diese Näherungen noch immer nicht die gesamte Komplexität der Beiträge einzelner Körpersegmente zu dem Gesamt-CAM eines Humanoiden abdecken.
-
Andere Verfahren berücksichtigen nicht explizit die Rotationsdynamik während der Planung, sondern kompensieren nicht modellierte Effekte, die sich aus der Diskrepanz zwischen dem LIP und dem Mehrkörpermodell ergeben. In Dokument [15] wird ein Vorschausteuerungsverfahren in Kombination mit einem dynamischen Filter verwendet. Ein erwarteter ZMP-Fehler wird für einen bestimmten Vorschauhorizont aus der Mehrkörperdynamik berechnet und eine Vorschausteuerung der zweiten Stufe wird angewandt, um die Abweichung zu berücksichtigen. In Dokument [16] wird das Verfahren erweitert, um die CoM- und ZMP-Trajektorien online innerhalb einer kürzeren Reaktionszeit anzupassen. In Dokument [17] wird die Periodizität der Gehbewegungen ausgenutzt und ein modellfreier iterative lernender Regler (Iterative Learning Controller, ILC) in Kombination mit einer Vorschausteuerung angewandt, um ZMP-Führungsverhalten sicherzustellen. In jüngster Zeit stellte Dokument [18] einen DCM-basierten ILC-Ansatz vor, um die Robustheit der Gehbewegungen durch eine online angepassten Virtual-Repellent-Point-(VRP)-Trajektorie zu verbessern. Da die gewünschte VRP-Trajektorie mit der Null-CAM-Annahme geplant wurde, weicht das tatsächliche CoP immer noch von seiner gewünschten Position während des Gehens ab.
-
Die Verfahren der Dokumente [14]-[17] konzentrieren sich nur auf das ZMP-Tracking, was einer Reduzierung des horizontalen (xy-Richtung) Kontaktdrehmoments in der gewünschten ZMP-Position für Gehen auf ebenem Boden entspricht Dokument [19]. Ein weiterer stark einschränkender Faktor für robustes und dynamisches Gehen sind die Kontaktdrehmomenteinschränkungen um die z-Achse in Bezug auf das Kontaktkoordinatensystem. Große Drehmomente um die z-Achse können zu Rotationsschlupf führen was das Gehen destabilisieren kann. In Dokumente [20]-[22] wird dieses Problem durch die Aufhebung des CAM um die z-Achse angegangen. Diese Ansätze zielen jedoch nicht auf die Kompensation von CoP-Tracking-Fehlern ab, die durch die Null-CAM-Annahme während der Planung verursacht werden.
-
Die folgenden Dokumente bilden Stand der Technik zu der vorliegenden Erfindung:
- [1] S. Kajita, F. Kanehiro, K. Kaneko, K. Yokoi, and H. Hirukawa, „The 3D linear inverted pendulum mode: a simple modeling for a biped walking pattern generation,“ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., vol. 1, 2001, pp. 239-246 vol. 1.
- [2] M. Vukobratovi 'c and J. Stepanenko, „On the stability of anthropomorphic systems,“ Mathematical Biosciences, vol. 15, no. 1, pp. 1-37, 1972.
- [3] K. Harada, S. Kajita, K. Kaneko, and H. Hirukawa, „An analytical method on real-time gait planning for a humanoid robot,“ in Proc. 4th IEEE-RAS Int. Conf. Humanoid Ro-bots, vol. 2, 2004, pp. 640-655 Vol. 2.
- [4] R. Tedrake, S. Kuindersma, R. Deits, and K. Miura, „A closed-form solution for real-time zmp gait generation and feedback stabilization,“ in Proc. 15th IEEE-RAS Int. Conf. Humanoid Robots, 2015, pp. 936-940.
- [5] J. Englsberger, C. Ott, and A. Albu-Schäffer, „Three-dimensional bipedal walking control based on divergent component of motion,“ IEEE Trans. Robotics, vol. 31, no. 2, pp. 355-368, 2015.
- [6] T. Takenaka, T. Matsumoto, and T. Yoshiike, „Real time motion generation and control for biped robot -1st report: Walking gait pattern generation-,“ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2009, pp. 1084-1091.
- [7] J. Pratt, T. Koolen, T. de Boer, J. Rebula, S. Cotton, J. Carff, M. Johnson, and P. Neuhaus, "Capturability-based analysis and control of legged locomotion, part 2: Application to M2V2, a lower-body humanoid,"The Int. Journal of Ro-botics Research, vol. 31, no. 10, pp. 1117-1133, 2012.
- [8] J. Englsberger, G. Mesesan, and C. Ott, „Smooth trajec-tory generation and push-recovery based on divergent component of motion,“ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Sep. 2017, pp. 4560-4567.
- [9] 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.
- [10] A. Herzog, N. Rotella, S. Mason, F. Grimminger, S. Schaal, and L. Righetti, „Momentum control with hierar-chical inverse dynamics on a torque-controlled humanoid,“ Auton. Robots, vol. 40, no. 3, pp. 473-491, 2016.
- [11] J. Pratt, J. Carff, S. Drakunov, and A. Goswami, „Cap-ture point: A step toward humanoid push recovery,“ in Proc. 6th IEEE-RAS Int. Conf. Humanoid Robots, Jan. 2006, pp. 200-207.
- [12] S.-H. Lee and A. Goswami, „Reaction mass pendulum (rmp): An explicit model for centroidal angular momentum of humanoid robots,“ in Proc. IEEE Int. Conf. Robot. Autom., 2007, pp. 4667-4672.
- [13] K. Guan, K. Yamamoto, and Y. Nakamura, „Virtual-mass-ellipsoid inverted pendulum model and its applica-tions to 3d bipedal locomotion on uneven terrains,“ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2019, pp. 1401-1406.
- [14] T. Seyde, A. Shrivastava, J. Englsberger, S. Bertrand, J. Pratt, and R. J. Griffin, „Inclusion of angular momentum during planning for capture point based walking,“ in IEEE Int. Conf. on Robotics and Automation, 2018, pp. 1791-1798.
- [15] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa, „Resolved momentum control: humanoid motion planning based on the linear and angular momentum,“ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., vol. 2, Nov. 2003, pp. 1644-1650.
- [16] K. Nishiwaki and S. Kagami, „Online walking control system for humanoids with short cycle pattern generation,“ The International Journal of Robotics Research, vol. 28, no. 6, pp. 729-742, 2009.
- [17] K. Hu, C. Ott, and D. Lee, „Learning and generaliza-tion of compensative zero-moment point trajectory for biped walking,“ IEEE Trans. on Robotics, vol. 32, no. 3, pp. 717-725, 2016.
- [18] S. Wang, G. Mesesan, J. Englsberger, D. Lee, and C. Ott, „Online virtual repellent point adaptation for biped walking using iterative learning control,“ in Proc. 20th IEEE-RAS Int. Conf. Humanoid Robots, 2021, (in press).
- [19] P. Sardain and G. Bessonnet, „Forces acting on a biped robot. center of pressure-zero moment point,“ IEEE Trans. on Systems, Man, and Cybernetics - Part A: Sys-tems and Humans, vol. 34, no. 5, pp. 630-637, 2004.
- [20] A. Miyata, S. Miyahara, and D. N. Nenchev, „Walking with arm swinging and pelvis rotation generated with the relative angular acceleration,“ IEEE Robot. Autom. Lett., vol. 5, no. 1, pp. 151-158, 2020.
- [21] M. Schwienbacher, T. Buschmann, S. Lohmeier, V. Favot, and H. Ulbrich, „Self-collision avoidance and angu-lar momentum compensation for a biped humanoid robot,“ in IEEE Int. Conf. on Robotics and Automation, 2011, pp. 581-586.
- [22] B. Park, M. Kim, E. Sung, J. Kim, and J. Park, „Whole-body walking pattern using pelvis-rotation for long stride and arm swing for yaw angular momentum compen-sation,“ in Proc. 20th IEEE-RAS Int. Conf. Humanoid Robots, 2021, (in press).
- [23] G. Mesesan, J. Englsberger, G. Garofalo, C. Ott, and A. Albu-Schäffer, „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.
- [24] R. Schuller, G. Mesesan, J. Englsberger, J. Lee, and C. Ott, „Online centroidal angular momentum reference gener-ation and motion optimization for humanoid push recov-ery,“ IEEE Robot. Autom. Lett., vol. 6, no. 3, pp. 5689-5696, 2021.
- [25] J. Englsberger, G. Mesesan, C. Ott, and A. Albu-Schäffer, „DCM-based gait generation for walking on mov-ing support surfaces,“ in Proc. 18th IEEE-RAS Int. Conf. Humanoid Robots, 2018, pp. 1-8.
- [26] 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.
- [27] M. A. Hopkins, D. W. Hong, and A. Leonessa, „Hu-manoid locomotion on uneven terrain using the time-varying divergent component of motion,“ in Proc. 14th IEEE-RAS Int. Conf. Humanoid Robots, 2014, pp. 266-272.
- [28] E. Sachs, R.-S. Guo, S. Ha, and A. Hu, „On-line pro-cess optimization and control using the sequential design of experiments,“ in Digest of Technical Papers. 1990 Sympo-sium on VLSI Technology, 1990.
- [29] J. Englsberger et al., „Overview of the torque-controlled humanoid robot TORO,“ in Proc. 14th IEEE-RAS Int. Conf. Humanoid Robots, 2014, pp. 916-923.
-
Aufgabe der Erfindung ist es, die Gangsteuerung eines Roboters zu optimieren, insbesondere effizienter und/oder genauer zu gestalten.
-
Die Lösung der Aufgaben erfolgt erfindungsgemäß durch ein Verfahren gemäß Anspruch 1, einen Regler gemäß Anspruch 6, ein Computerprogramm gemäß Anspruch 17, oder ein Robotersystem gemäß Anspruch 18.
-
Bei dem erfindungsgemäßen Verfahren zur Gangsteuerung eines Roboters handelt es sich insbesondere um ein Verfahren zur Steuerung eines Roboters mit mindestens zwei Beinen. Bevorzugt handelt es sich um ein Verfahren zur Gangsteuerung eines humanoiden Roboters. Das Verfahren weist die nachfolgenden Schritte auf.
- - Schritt a): Bereitstellen einer geplanten Aufgabenraumtrajektorie X, insbesondere umfassend n Iterationen der Trajektorie.
- - Schritt b): Bereitstellen einer geplanten Trajektorie des Druckzentrums ap.
- - Schritt c): Berechnen einer geplanten Trajektorie des Massenzentrums x anhand der geplanten Trajektorie des Druckzentrums ap. Das Berechnen der geplanten Trajektorie des Massenzentrums x erfolgt insbesondere in der initialen Iteration i=0 nur anhand ap. Bevorzugt erfolgt das Berechnen der geplanten Trajektorie des Massenzentrums x in den Iterationen nach der initialen Iteration (i>0) anhand der geplanten Trajektorie des Druckzentrums ap und eines gelernten Schwerpunktsdrehimpulses aτ.
- -Schritt d): Empfangen einer gemessenen Trajektorie des Massezentrums xm des Roboters, insbesondere für die (i-1)-te Iteration der Trajektorie, und Empfangen einer gemessenen Aufgabenraumtrajektorie Xm des Roboters, insbesondere für die i-te Iteration der Trajektorie. Es ist bevorzugt, dass das Empfangen von xm und Xm gleichzeitig für dasselbe Zeitfenster, vorzugsweise unabhängig von der jeweiligen Iteration stattfindet. Das Empfangen von xm und xm findet insbesondere zur Laufzeit, vorzugsweise online, statt.
- - Schritt e): Berechnen von Steuerbefehlen τ für den Roboter, insbesondere für die i-ten Iteration der Trajektorie, anhand der geplanten Aufgabenraumtrajektorie X, der gemessenen Trajektorie des Massezentrums xm des Roboters, der gemessenen Aufgabenraumtrajektorie Xm des Roboters, der geplanten Trajektorie des Massenzentrums x und einer gelernten Information über die Trajektorie des Schwerpunktsdrehimpulses. Die i-te Iteration entspricht insbesondere der aktuellen Iteration der Trajektorie.
-
Es ist bevorzugt, dass das Verfahren den weiteren Schritt f) aufweist: Übertragen der Steuerbefehle τ, insbesondere für den i-ten Iteration der Trajektorie, an den Roboter. Insbesondere weist mindestens eine der Trajektorien X, ap, x, xm und/oder Xm eine Position und/oder eine Geschwindigkeit und/oder eine Beschleunigung auf. Bei den Steuerbefehlen für den Roboter handelt es sich insbesondere um Drehmomente, Positionen und/oder Kräfte. Es ist bevorzugt, dass die gelernte Information über die Trajektorie des Schwerpunktsdrehimpulses zur Laufzeit, auch als „online“ zu bezeichnen ermittelt wird, und/oder anhand einer Datenbank ermittelt wird. Die Datenbank weist insbesondere vorherig ermittelte Information über die Trajektorie des Schwerpunktsdrehimpulses auf. Vorzugsweise erfolgt die Ermittlung der gelernten Information über die Trajektorie des Schwerpunktsdrehimpulses anhand eines gelernten Schwerpunktsdrehimpuls aT und/oder anhand einer gelernten Trajektorie des Schwerpunktsdrehimpulses lc,p. Bei aτ handelt es sich um die Polynomialkoeffizienten die lc,p beschreiben. Bei lc,p und aτ handelt es sich insbesondere um dieselben Informationen und/oder dieselben Signale. Insbesondere ist durch die Erfindung vorteilhaft umgesetzt, dass die Schrittlänge und/oder die Gangeschwindigkeit eines Roboters erhöht werden kann.
-
In bevorzugter Ausführung des Verfahrens erfolgt ein Wiederholen der Verfahrensschritte c) bis f), insbesondere für n-1 Male, wobei n die Anzahl der Iterationen der Trajektorie ist.
-
In bevorzugter Ausführung des Verfahrens wird die geplante Trajektorie des Massenzentrums x anhand der geplanten Trajektorie des Druckzentrums ap und eines gelernten Schwerpunktsdrehimpulses aτ ermittelt.
-
In bevorzugter Ausführung des Verfahrens wird der gelernte Schwerpunktsdrehimpuls aτ anhand der geplanten Aufgabenraumtrajektorie X, der geplanten Trajektorie des Massenzentrums x, und eines Rotationsteils einer Schwerpunktsdrehimpulsmatrix A̅ ermittelt.
-
In bevorzugter Ausführung des Verfahrens wird der Rotationsteil der Schwerpunktsdrehimpulsmatrix A̅ anhand der tatsächlichen Trajektorie des Massezentrums Xm und der tatsächlichen Aufgabenraumtrajektorie Xm ermittelt.
-
In bevorzugter Ausführung des Verfahrens wird die gelernte Trajektorie des Schwerpunktsdrehimpulses aτ anhand der geplanten Aufgabenraumtrajektorie X , der geplanten Trajektorie des Massenzentrums x, und des Rotationsteils des
-
Schwerpunktsdrehimpulsmatrix A̅ ermittelt wird. Bei aτ bzw. lc,p handelt sich insbesondere um die gelernten Trajektorie und/oder final Verwendeten Trajektorie für die Schwerpunktsanpassung. Es ist bevorzugt, dass die gewünschte Trajektorie des Schwerpunktsdrehimpulses lc,d anhand des Schwerpunktsdrehimpulses aτ ermittelt wird. lc,d wird vorzugsweise an den Roboter übermittelt.
-
In bevorzugter Ausführung des Verfahrens umfasst das Verfahren vor dem Schritt c) bei der ersten Verfahrensausführung, insbesondere der initialen Iteration i=0 von n Iterationen der Trajektorie, zusätzlich den Schritt i) des Berechnens von Steuerbefehlen τ für den Roboter anhand der geplanten Aufgabenraumtrajektorie X, und einer geplanten Trajektorie des Massenzentrums x. Vorzugsweise umfasst das Verfahren ferner nach dem Schritt i) und vor dem Schritt c) den Schritt ii) des Übertragens der Steuerbefehle T für den ersten Schritt der Trajektorie an den Roboter.
-
In bevorzugter Ausführung des Verfahrens erfolgt bei der ersten Verfahrensausführung, insbesondere der initialen Iteration i=0 von n Iterationen der Trajektorie, wird aτ vorzugsweise gleich 0 gesetzt. Es ist somit bevorzugt, dass x lediglich anhand ap berechnet wird.
-
In bevorzugter Ausführung des Verfahrens werden zur Ermittlung des gelernten Schwerpunktsdrehimpuls aτ die gelernten Informationen über die Trajektorie des Schwerpunktsdrehimpulses durch ein Polynom nl -ter Ordnung dargestellt.
-
In bevorzugter Ausführung des Verfahrens gilt zur Ermittlung des gelernten Schwerpunktdrehimpuls a
τ:
wird hierbei bevorzugt durch die Methode der kleinsten Quadrate ermittelt.
-
wird bevorzugt mittels der Formeln aus dem Anhang A. und/oder B. berechnet. Vorzugsweise gilt:
mit
-
Anderseits ist alternativ auch die Ermittlung mit einer anderen, entsprechenden Methode möglich. Es ist bevorzugt, dass der Referenzdrehimpulsl lc,τ durch eine Aufzeichnung, insbesondere Abspeicherung der Werte, einer modellbasierten Berechnung anhand der geplanten Aufgabenraumtrajektorie X, der geplanten Trajektorie des Massenzentrums x und der Schwerpunktsdrehimpulsmatrix A̅ erfolgt. Bevorzugt kann al jeder Zeit mit den vorstehenden Gleichungen zu aτ umgerechnet werden. al beschreibt insbesondere den Schwerpunktsdrehimpuls und aτ seine zeitliche Ableitung. aτ werden verwendet um x zu berechnen, während aus al dann lc,p berechnet werden kann. lc,p und al enthalten somit bevorzugt dieselben Informationen. aτ beschriebt die zeitliche Ableitung davon kann vorzugsweise mit den vorstehenden Gleichungen berechnet werden.
-
Bevorzugt gilt: Der aufgezeichnete Schwerpunktsdrehimpuls l
c,t wird durch l
c,p polynomial approximiert. l
c,p ist eine Polynomialfunktion mit den Koeffizienten a
l. Um die Schwerpunktstrajektorie x zu berechnen wird insbesondere allerdings die Zeitableitung des Schwerpunktsdrehimpulses i
c,p benötigt. Diese Zeitableitung wird ebenfalls durch eine Polynomialfunktion beschrieben, deren Koeffizienten a
τ sind. Die Umrechnung kann zu jeder Zeit stattfinden und bedarf keiner weiteren Informationen:
-
In bevorzugter Ausführung des Verfahrens erfolgt die Ermittlung des Rotationsteil der Schwerpunktsdrehimpulsmatrix A durch eine Berechnung aus der Roboterdynamik zur Laufzeit, insbesondere mittels einer Ganzkörpersteuerung. Vorzugsweise erfolgt die Ermittlung durch Kombination der Jacobi-Matrix und der Massenmatrix.
-
In bevorzugter Ausführung des Verfahrens gilt zur Ermittlung der gewünschten Trajektorie des Schwerpunktdrehimpulses lc,d, dass ic,d,z anhand der geplanten Trajektorie des Massenzentrums x und anhand der geplanten Trajektorie des Druckzentrums ap bestimmt wird, und dass lc,d|xy = lc,p|xy ist. ic,d,z entspricht hierbei der gelernten Trajektorie des Schwerpunktdrehimpulses in z-Richtung und lc,d|xy der gelernten Trajektorie des Schwerpunktdrehimpulses in xy-Richtung (parallel zur Aufstützfläche). ic,d wird durch die numerische Integration von lc,d erhalten. lc,d entspricht der gewünschten und/oder an den Roboter zu kommandierenden Trajektorie.
-
In bevorzugter Ausführung des Verfahrens erfolgt die Berechnung der Steuerbefehle T mittels einer Ganzkörpersteuerung.
-
In bevorzugter Ausführung des Verfahrens wird zur Berechnung der geplanten Trajektorie des Massenzentrums x das Divergent Component of Motion (DCM) - Framework genutzt.
-
In bevorzugter Ausführung des Verfahrens gilt zur Berechnung der geplanten Trajektorie des Massenzentrums x :
wobei in der initialen Iteration i=0 von n Iterationen der gelernten Schwerpunktdrehimpulses a
τ = 0 ist.
-
In bevorzugter Ausführung des Verfahrens wird die gemessene Trajektorie des Massezentrums xm und/oder die gemessenen Aufgabenraumtrajektorie Xm durch mindestens einen Sensor des Roboters erfasst. Bei dem mindestens einen Sensor handelt es sich insbesondere um einen Hardwaresensor. Bevorzugt handelt es sich um einen Gelenkpositionssensor, ein Gyroskop oder ein Inertiale Messeinheit (IMU).
-
Bei dem erfindungsgemäßen Regler handelt es sich um einen Regler zur Gangsteuerung eines, insbesondere Beine aufweisenden Roboters, vorzugsweise eines humanoiden Roboters. Der Regler ist zur Ausführung des oben beschriebenen Verfahrens ausgeführt. Insbesondere umfasst der Regler Regelelemente, die zur Ausführung einer oder mehrere der Schritte des Verfahrens ausgeführt sind.
-
Bei dem erfindungsgemäßen Computerprogramm handelt es sich um ein Computerprogramm zur Gangsteuerung eines, insbesondere Beine aufweisenden Roboters, vorzugsweise eines humanoiden Roboters. Das Computerprogramm ist zur Ausführung des oben beschriebenen Verfahrens ausgeführt. Insbesondere umfasst das Computerprogramm Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das oben beschriebenen Verfahren auszuführen.
-
Das erfindungsgemäße Robotersystem weist einen insbesondere Beine aufweisenden Roboter, vorzugsweise einen humanoiden, Roboter auf. Das Robotersystem weist ferner einen mit dem Roboter verbundenen Regler auf, wobei der Regler wie der oben beschriebenen Regler ausgeführt ist. Der Regler ist vorzugsweise datenübertragend mit dem Roboter verbunden. Insbesondere ist der Regler kabelgebunden oder kabellos datenübertragend mit dem Roboter verbunden. Es ist bevorzugt, dass der Roboter den Regler aufweist, insbesondere einstückig, auch als integral zu bezeichnen, damit verbunden ist.
-
Insbesondere überwindet die vorliegende Erfindung mindestens einen der nachfolgenden Nachteile des Stands der Technik:
- a) In Dokument [1] findet die Generierung der Gangtrajektorien nicht zur Laufzeit, sondern offline statt, da das Optimierungsproblem viel Rechenkapazität und dementsprechend hohe Rechenzeiten benötigt. Dies hat den entscheidenden Nachteil, dass nicht aktiv auf unvorhergesehene Ereignisse reagiert werden kann, sondern nur einer vorherbestimmten Trajektorie gefolgt werden kann.
- b) Die vorgestellten Modelle der Mehrkörperdynamik der Dokumente [2]-[5] geben nur eine sehr schlechte Approximation der schwerpunktsbezogenen Rotationsdynamik (Drehimpuls). Die unzureichende Berücksichtigung des Drehimpulses auf Planungsebene kann immer noch dazu führen, dass substantielle Kontaktdrehmomente in den Aufstandsflächen induziert werden. Dies kann zu einer Verletzung der Kontaktbedingungen, welche einen rutsch- und kippfreien Kontakt zwischen den Füßen und dem Boden sicherstellen sollen, führen. Abhängig von der Güte der Approximation fallen die resultierenden Kontaktdrehmomente höher oder geringer aus. Die vorgestellten Modelle liefern allerdings nur ungenügende Ergebnisse.
- c) In den Dokumenten [6]-[9] werden nur Kontaktdrehmomente parallel zur Kontaktfläche reduziert (CoP Folgeverhalten wird verbessert), vertikale Kontaktdrehmomente, welche zu einer Verdrehung des Fußes relativ zur Kontaktfläche führen können, werden nicht berücksichtigt.
- d) In den Dokumenten [10]-[12] findet die Berücksichtigung des vertikalen Drehimpulses nicht auf Planungsebene statt, sondern wird instantan zur Laufzeit kompensiert. Nur Kontaktdrehmomente vertikal zur Kontaktfläche werden reduziert, horizontale Kontaktdrehmomente, welche zu einem Überrollen oder Rutschen des Fußes relativ zur Kontaktfläche führen können, werden nicht berücksichtigt.
-
Demgegenüber weist die vorliegende Erfindung insbesondere mindesten einen der folgenden Vorteile gegenüber dem Stand der Technik auf:
- i. Die Erfindung generiert Schwerpunktstrajektorien auf Planungsebene unter Berücksichtigung des Drehimpulses induziert durch die Mehrkörperdynamik des Roboters zur Laufzeit. Dadurch können die horizontalen Kontaktdrehmomente in den Aufstützflächen reduziert und damit ein robusteres and energieeffizienteres Gangverhalten erzielt werden.
- ii. Korrespondierend zu dem Drehimpulsverlauf, welcher auf Planungsebene verwendet wird, wird eine Drehimpulsreferenz zur Laufzeit geniert. Ein Ganzkörperregler stellt das Folgen der Drehimpulsreferenz sicher. Das Induzieren der Drehimpulsreferenz stellt sicher, dass sowohl die vertikalen als auch horizontalen Kontaktdrehmomente in den Aufstützflächen zu Null geregelt werden.
- iii. Der Drehimpulsverlauf, welcher auf Planungsebene und zur Erzeugung der Drehimpulsreferenz verwendet wird, wird zur Laufzeit erlernt. Die Erfindung nutzt insbesondere den zyklischen Charakter des Gehens im Allgemeinen, um den Drehimpulsverlauf aufzuzeichnen und somit Informationen zu dem Drehimpulsverlauf für zukünftige Iterationen zur Verfügung zu stellen.
- iv. Der erlernte Drehimpulsverlauf kann sowohl in Simulation als auch am echten Roboter trainiert werden. Auch die Daten früherer Durchgänge können verwendet werden, um eine Datenbank an Drehimpulsverläufen aufzubauen, welche zu einem späteren Zeitpunkt wieder abgerufen werden können.
-
Folglich werden die Nachteile des Stands der Technik, insbesondere die oben genannten Nachteile der Dokumente [1]-[12] durch die Erfindung vorzugsweise wie folgt überwunden:
- 1. Nachteil, bspw. von Dokument [1]: Die Generierung der Gangtrajektorien findet nicht zur Laufzeit statt, was bspw. zu einem sehr rechenintensives Optimierungsverfahren führt. Insbesondere wird dieser Nachteil durch die Erfindung wie folgt gelöst: Die Generierung der Gangtrajektorien unter Berücksichtigung des Drehimpulses, induziert durch die Mehrkörperdynamik des Roboters, findet zur Laufzeit in recheneffizienter Art und Weise statt. Es kann zur Laufzeit eine Anpassung der Trajektorien vorgenommen werden.
- 2. Nachteil, bspw. von Dokumenten [2]-[5]: Derartige Modelle der Mehrkörperdynamik geben nur eine sehr schlechte Approximation der schwerpunktsbezogenen Rotationsdynamik (Drehimpuls) wieder. Insbesondere wird dieser Nachteil durch die Erfindung wie folgt gelöst: Es wird die gesamte schwerpunktsbezogenen Rotationsdynamik (Drehimpuls) des Roboters erlernt, es findet keine Approximation des Mehrköpermodells statt.
- 3. Nachteil, bspw. von Dokumenten [2]-[12]: Es werden entweder nur horizontale oder vertikale Kontaktdrehmoment reduziert. Insbesondere wird dieser Nachteil durch die Erfindung wie folgt gelöst: Durch die Berücksichtigung des Drehimpulses auf Planungsebene und der zur Verfügungstellung einer Drehimpulsreferenz werden simultan horizontale und vertikale Kontaktdrehmomente mit einer einzigen Methode reduziert.
-
Nachfolgend wird die Erfindung anhand bevorzugter Ausführungsformen unter Bezugnahme auf die anliegenden Zeichnungen näher erläutert.
-
Es zeigen:
- 1 Darstellung einer Gangsteuerung eines humanoiden Roboters gemäß dem Stand der Technik,
- 2 Diagramm einer bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens zur Gangsteuerung,
- 3 Darstellung einer bevorzugten Ausführungsform einer erfindungsgemäßen Gangsteuerung eines humanoiden Roboters,
- 4 Diagramme zur Darstellung einer resultierende Referenz-CAM,
- 5 Diagramme zur Darstellung eines Effekts einer gelernten CAM,
- 6 Diagramme zur Darstellung von resultierenden Kontaktdrehmomenten, und
- 7 Diagramme zur Darstellung einer Steuereingangsleistung.
-
1 ist eine Gangsteuerung eines humanoiden Roboters gemäß dem Stand der Technik zu entnehmen, wobei die Änderungsrate des Zentroiddrehimpulses (CAM) mit Null angenommen wird. Die folgenden Werte (vgl. Formel (8)) sind dargestellt: CoM (x), eCMP (e), CoP (p), Änderungsrate des CAM (ic), externer Kraftvektor (Fext), und Kontaktdrehmoment (Tgrf).
-
I. Allgemeines
-
Die Erfindung stellt eine einheitliche Lösung vor, die gleichzeitig CoP-Tracking (deutsch: „gutes Folgeverhalten“) gewährleistet und das Kontaktdrehmoment um die z-Achse durch Berücksichtigung des Mehrkörper-CAM während der DCM-basierten Gangerzeugung reduziert. Ähnlich wie in Dokument [14], stellt die Erfindung den CAM als eine Polynomfunktion dar; anstatt eine vereinfachte Näherung zu verwenden, wird der CAM jedoch online gelernt, indem die zyklischen Gehbewegungen ausgenutzt wird, ähnlich wie ein dynamischer Filter, aber rechnerisch leichter, da keine zusätzliche Berechnung der Mehrkörperdynamik notwendig ist. Nach jeder Gehphase wird eine Polynomfunktion online an den gelernten CAM angepasst und die entsprechenden Polynomkoeffizienten werden in der nächsten Gehphase verwendet. Zusätzlich stellt die Erfindung ein Online-Aktualisierungsschema für die DCM-Trajektorie an, um Kontinuität zu gewährleisten. Ergänzend zur CoM-Referenz stellt die Erfindung eine gewünschte CAM-Trajektorie, die von der Ganzkörpersteuerung eingeregelt wird, die in Dokument [23] mit CAMbasierter Bewegungsoptimierung (Dokument [24]) eingeführt wird. Dies gewährleistet eine Reduzierung des Kontaktdrehmoments an der gewünschten CoP-Position um alle drei Achsen. 2 zeigt einen Überblick über eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens zur Gangsteuerung. Aus Gründen der Übersichtlichkeit sind die zeitlichen Ableitungen der Systemzustände in 2 weggelassen. 2 gibt ebenfalls ein Diagramm über eine bevorzugte Ausführungsform des erfindungsgemäßen Reglers und/oder des erfindungsgemäßen Computerprogramms und/oder des erfindungsgemäßen Robotersystems wieder.
-
II. Grundlagen
-
In diesem Abschnitt werden die Grundlagen des DCM-Framework erläutert. Weitere Einzelheiten sind in Dokumente [5], [8], [9] beschrieben. Darüber hinaus werden Erkenntnisse aus Dokument [24] zum CAM in der humanoiden Fortbewegung und seiner Beziehung zum DCM-Framework beschrieben.
-
A. DCM-Framework
-
Die DCM ξ ∈ ℝ
3 ist definiert als
wobei die Position des Massenzentrums (CoM) x ∈ ℝ
3 und die Geschwindigkeit ẋ ∈ ℝ
3 ist. Die DCM-Zeitkonstante ist durch
gegeben, wobei Δz die nominale CoM-Höhe über dem Boden und g die Gravitationskonstante ist. Die instabile Dynamik erster Ordnung der DCM ist gegeben durch
wobei v ∈ ℝ
3 der VRP ist, der die Auswirkungen von externer Kraft und Schwerkraft codiert. Der VRP selbst befindet sich oberhalb des verbesserten Zentroidimpulsdrehpunkts (eCMP) e ∈ ℝ
3 mit einem konstanten Höhenversatz, welcher der Gravitationskraft entspricht, d. h. v = e + (0, 0, Δz)
T. Der eCMP selbst codiert die externen Kräfte über
wobei m die Gesamtmasse des Roboters ist.
-
B. DCM-Referenztrajektorieerzeugung
-
In diesem Abschnitt werden die wichtigsten Ergebnisse aus [25] wieder aufgegriffen. Die Bewegung wird aufgeteilt in eine Sequenz von n
φ Übergangsphasen, für die Referenztrajektorien berechnet werden. Vorgestellt werden geschlossene DCM-Trajektorielösungen für jede Übergangsphase basierend auf einer beliebigen polynomischen eCMP-Referenztrajektorie, gegeben als
-
Hierbei ist n
v der Grad und a
v,i ∈ ℝ
3 sind die Koeffizienten der Polynomfunktion, welche die eCMP-Trajektorie darstellt. Die lokale Zeit der Übergangsphase wird durch t ∈ [0, T
φ] dargestellt, wobei T
φ für die Phasendauer steht. Durch Gruppierung der Koeffizienten aus (4) und Berücksichtigung des konstanten vertikalen Versatzes zum eCMP kann die VRP-Referenztrajektorie als Polynom der folgenden Form ausgedrückt werden
-
Die Zeit wird zu t(t) = (1, t, t
2, .... t
nv )
T vektorisiert und die polynomische Parametermatrix wird durch P
v ∈ ℝ
3×(nv+1) angegeben. Durch Einsetzen von (5) in (2) und Lösen der Differentialgleichung unter Verwendung der mathematischen Erkenntnisse aus [25] wird erhalten
wobei 4T die gegebene End-DCM ist. Die Koeffizientenmatrix C(·) E ℝ
(nv+1)×(nv+1) ist lediglich eine Funktion des Parameters b. Die entsprechende CoM-Trajektorie ergibt sich durch Lösen von (1) nach Einsetzen von (6). Weitere Einzelheiten finden Sie in Dokument [25].
-
Indem die einzelnen Übergangsphasen miteinander verbunden werden, wird eine kontinuierliche Mehrschritt-Vorschau für die geschlossene CoM-Trajektorie erhalten. Um den Roboter am Ende der Trajektorie zum Stillstand zu bringen, wird die terminale DCM der letzten Übergangsphase so gewählt, dass sie mit der finalen VRP-Position übereinstimmt, vgl. Dokumente [8], [9], [25].
-
C. Mehrkörperdynamik und Schwerpunktsdrehimpulses
-
Der CAM l
c ∈ ℝ
3 eines Systems hängt linear vom Aufgabenraumgeschwindigkeitsvektor ab
wobei A̅ der Rotationsteil der Schwerpunktsdrehimpulsmatrix (CMM) ist (vgl. Dokument [26]), die in den Aufgabenraum transformiert wird. Die Raumgeschwindigkeiten werden neben der CoM-Geschwindigkeit durch ẋ ∈ ℝ
n-3 dargestellt, wobei n die Dimension des Aufgabenraums ist. Eine mögliche Auswahl für ẋ kann die Winkelgeschwindigkeit der Basis, die Fußgeschwindigkeiten im kartesischen Raum sowie die Gelenkgeschwindigkeiten des Oberkörpers umfassen. Die Änderungsrate des CAM entspricht dem Gesamtdrehmoment, das um das CoM wirkt, d. h. i
c = τ
c. Außerdem ist das Kontaktdrehmoment an der gewünschten CoP-Position p
d ∈ ℝ
3 gegeben durch
wobei der Versatz zwischen dem tatsächlichen und gewünschten CoP eine Funktion von τ
grf an der gewünschten CoP-Position ist
-
III. Problemstellung
-
Um sicherzustellen, dass die gewünschte und tatsächlich CoP-Position in (9) übereinstimmen, muss das Kontaktdrehmoment an der gewünschten CoP-Position Null sein. Wenn jedoch während der Planung ein CAM von Null angenommen wird und der eCMP so gewählt wird, dass er mit dem gewünschten CoP übereinstimmt, kann durch Einsetzen von (3) in (8) gezeigt werden, dass der erste Term auf der rechten Seite von (8) verschwindet. In diesem Fall muss die gesamte Änderungsrate von CAM ic, die durch die Schwungbeinbewegung induziert wird, durch eine Ganzkörpersteuerung ausgeglichen werden, um ein Kontaktdrehmoment von Null zu gewährleisten. Dies führt zu umfangreichen und ineffizienten Oberkörperbewegungen. Ziel ist es dieses Problem zu umgehen, indem der externen Kraftvektor Fext in (8) so gestalten wird, dass sich der erste und zweite Term auf der rechten Seite von (8) gegenseitig aufheben und CoP-Tracking ohne umfangreichen Steuerungseinsatz gewährleistet wird, wie in 3 dargestellt.
-
3 ist, in Anlehnung an die Darstellung aus 3, eine Gangsteuerung eines humanoiden Roboters gemäß einer bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens zur Gangsteuerung zu entnehmen, wobei der Ansatz der zur Laufzeit gelernten Änderungsrate des Schwerpunktsdrehimpulses (CAM) angewandt ist. Die folgenden Werte (vgl. Formel (8)) sind dargestellt: CoM (x), eCMP (e), CoP (p), Änderungsrate des CAM (ic), externer Kraftvektor (Fext), und Kontaktdrehmoment (τgrf).
-
Die Idee besteht darin, die Null-CAM-Annahme fallen zu lassen und die eCMP-Trajektorie, und damit den externen Kraftvektor (3), auf der Grundlage des tatsächlichen Mehrkörper-CAM zu planen. Wie in Dokument [27] berichtet, ist der eCMP durch die CoP-Position und einen Versatz in Abhängigkeit von dem horizontalen Drehmoment um das CoM gegeben
-
Hierbei steht z̈ für die vertikale CoM-Beschleunigung. Zur Bereitstellung expliziter Lösungen, muss die eCMP-Trajektorie als Polynomfunktion ausgedrückt werden, wie in (4) eingeführt. Inspiriert von dem Ansatz in Dokument [14], werden das gewünschte CoP und das Drehmoment um den CoM in (10) unter Verwendung von Polynomfunktionen neu geschrieben.
-
Daraus ergibt sich
wobei n
p, n
τ, a
p,i ∈ ℝ
3 und a
τ,i ∈ ℝ
3 die Grade und Koeffizienten des CoP- bzw. CoM-Drehmomentpolynoms sind. Die Herleitung der Koeffizienten in (11) wird im folgenden Abschnitt erläutert. Dabei ist zu beachten, dass im Folgenden Gehen auf ebenem Boden mit z̈ = 0 angenommen wird. Alternativ, wenn die vertikale CoM-Beschleunigung unbekannt ist, kann sie auch durch eine Polynomfunktion dargestellt und analog zur CAM online gelernt werden. Dieser Aspekt wird in Abschnitt IV-B weiter erörtert.
-
IV. POLYNOMISCHE VRP-REFERENZ
-
Die VRP-Referenz wird basierend auf einer Sequenz aus Schritten, die als Fußzentren gegeben sind, und einer gelernten CAM-Trajektorie erzeugt, die als Polynome ausgedrückt ist. Die resultierenden Polynomkoeffizienten ap und aτ werden in Pv gruppiert und in Abschnitt II-B verwendet, um eine CoM-Trajektorie zu erzeugen.
-
A. CoP-Koeffizienten
-
Die CoP-Referenz (vgl.
2) wird durch eine räumliche lineare Interpolation zwischen einer Sequenz aus gewünschten CoP-Positionen erzeugt, die so gestaltet sind, dass sie mit den Fußzentren der geplanten Schritte übereinstimmen
-
Der Startpunkt der aktuellen Übergangsphase ist gegeben durch p
0, während der Endpunkt PT als Startpunkt der folgenden Übergangsphase gewählt wird. Die zeitliche Interpolationsfunktion f(t) ist ein Polynom vom Grad n
p und dient dazu, die Kontinuität der CoP-Referenz bei Phasenübergängen zu gewährleisten. Zum Beispiel ergibt eine zeitliche lineare Interpolation (n
p = 1) in vektorisierter Form
-
Eine zusätzliche Ferse-Zehe-Bewegung kann implementiert werden, indem weitere CoP-Wegpunkte hinzugefügt werden.
-
B. CAM-Koeffizienten
-
Ziel ist den CAM, der durch die Mehrkörperdynamik des Roboters induziert wird, insbesondere seine Änderungsrate, in die geschlossenen Lösungen des DCM-Framework einzubeziehen. Daher wird der CAM approximiert durch Polynomfunktionen, die auf einfache Art und Weise in (11) verwendet werden können, um eine VRP-Referenz zu erzeugen. In Dokument [14] wird ein Referenz-CAM mit einem vereinfachten Drei-Massen-Modell approximiert, das nur eine grobe Schätzung der tatsächlichen Dynamik liefert. In Gegensatz dazu wird eine online gelernte CAM-Trajektorie verwendet, um eine realistische Darstellung des CAM zu erhalten, der durch die Mehrkörperdynamik des Roboters induziert wird. Für jede Übergangsphase wird eine Polynomfunktion lc,p(t) vom Grad nl = nτ + 1 online an eine gelernte CAM-Trajektorie lc,l(t) angepasst, die sich durch die Online-Aufzeichnung des CAM früherer Gehsequenzen ergibt (siehe Abschnitt V-A).
-
Die Polynomfunktion zur Approximation des CAM hat folgende Form
wobei a
l,i ∈ ℝ
3 und die lokale Zeit t ∈ [0, T
φ]. ist. Die entsprechende Änderungsrate, d. h. das Drehmoment um das CoM ist gegeben durch
-
Um die Polynomkoeffizienten a
l zu erhalten, wird eine Vandermonde-Matrix konstruiert und die Randbedingungen l
c,p(0).= l
c,l(0), i
c,p(0) = i
c,l(0), l
c,p(T
φ) = l
c,l(T
φ), i
c,p(T
φ) = i
c,l(T
φ) einbezogen, um Kontinuität zwischen Übergangsphasen sicherzustellen. Zu diesem Zweck ist ein Polynom vom Grad n
l > 4 erforderlich. Das gegebene l
c,l wird innerhalb jeder Übergangsphase in einzelne Datenpunkte mit einer lokalen Zeit diskretisiert, die durch t
k = kΔt mit 1 ≤ k ≤ [T
φ/Δt] und n
l - 4 ≤ k gegeben ist. Hierbei ist Δt das Zeitintervall zwischen einzelnen Datenpunkten und muss ein Mehrfaches der Abtastzeit Δt
s des Systems sein. Anschließend werden die Submatrizen V
1(·) ∈ ℝ
1×(nl-4) und V
2(·) ∈ ℝ
1×3 berechnet. Diese sind nur eine Funktion der lokalen Zeit jedes Datenpunktes, der Gesamtdauer der Übergangsphase und der Randbedingungen. Beide Matrizen können im Anhang A gefunden werden. Basierend auf dem gelernten CAM und den berechneten Submatrizen werden die folgende Beziehung für die n
l - 4 letzten Elemente der unbekannten Polynomkoeffizientenmatrix erhalten
-
Interesse besteht hierbei an der kleinsten quadratischen Lösung von (16), um eine gute Näherung von l
c,l über die gesamte Übergangsphase zu finden. Daher wird formuliert
-
Um die Berechnungskosten zu reduzieren, kann die Matrix
für die gegebene Werte von Δt und T
φ offline vorberechnet werden. Die verbleibenden unbekannten Polynomkoeffizienten
werden basierend auf a
l,4:nl und den Randbedingungen berechnet, wie in Anhang B gezeigt.
-
Um Pv zu erhalten, werden die Koeffizienten ap und al schließlich gruppiert und ein konstanter vertikaler Versatz Δz wird hinzugefügt. Dabei ist aus (10) zu beachten, dass nur das CoM-Drehmoment in der Ebene parallel zur Aufstützfläche (xy-Richtung) benötigt wird und daher nur die entsprechenden Koeffizienten berechnet werden. Die Koeffizienten für das CoM-Drehmoment in z-Richtung werden auf Null gesetzt.
-
Für das Gehen mit einer nicht konstanten CoM-Höhe kann die vertikale CoM-Beschleunigung gelernt und auf die gleiche Weise wie der CAM durch die Darstellung des Terms
in (10) anhand einer zusätzlichen Polynomfunktion approximiert werden.
-
V. Online-Lernen der CAM- und DCM-Trajektorie-Aktualisierung
-
In diesem Abschnitt wird ein Verfahren zum Online-Lernen des Referenz-CAM lc,r vorgestellt, das verwendet wird, um die Polynomkoeffizientenmatrix al zu erhalten (Abschnitt IV-B). Außerdem wird eine gewünschte CAM-Trajektorie lc,d erzeugt, der von einer Ganzkörpersteuerung gefolgt wird, z. B. durch die passivitätsbasierte Ganzkörpersteuerung mit einer CAM-basierten Bewegungsoptimierung, wie in Dokumenten [23], [24] dargelegt.
-
A. Online-Lernen der Referenz-CAM-Trajektorie
-
Ziel ist eine CAM-Trajektorie lc,l basierend auf online aufgezeichneten CAM-Werten zu lernen, die durch die modellbasierte Mehrkörperdynamik induziert werden. Der Ansatz ist vergleichbar mit einem klassischen dynamischen Filter (vgl. Dokumente [15], [16]); er erfordert jedoch keine zusätzliche Berechnung der Mehrkörperdynamik, um eine bestimmte Vorschau zu erhalten, und ist daher mit geringeren Rechenkosten verbunden.
-
Da das Gehen selbst ein iterativer Prozess ist, zeichnet unser vorgeschlagenes Verfahren die modellbasierte Referenz-CAM auf iterative Weise über aufeinanderfolgende Iterationen auf. Eine Iteration besteht aus vier Übergangsphasen, d. h. zwei einfachen und zwei doppelten Aufstützphasen. Das folgende iterative Schema wird eingeführt, um den gelernten CAM zu aktualisieren:
-
Hierbei ist 0 ≤ kl ≤ 1 ein Lernfaktor und lc,p,i ist die Polynomfunktion zur Approximation des gelernten CAM lc,l,i während der i-ten Iteration. Der Referenz-CAM lc,r,i ergibt sich aus (7) unter Verwendung der CoM-Geschwindigkeit ẋi und der CMM A̅i der aktuellen Iteration und dem Referenz-Aufgabenraumgeschwindigkeitsvektor, der vom Planner erhalten wird.
-
Am Ende jeder Übergangsphase innerhalb einer Iteration wird der polynomische Anpassungsalgorithmus aus Abschnitt IV-B auf lc,l,i+1 angewandt, um lc,p,i+1 f für die jeweilige Übergangsphase zu erhalten. Das Aktualisierungsverfahren ist inspiriert von einer Run-by-Run-Steuerung (vgl. Dokument [28]), welche Eingangsparameter zwischen Iterationen auf der Grundlage von Messungen aktualisiert, die während der laufenden Iteration durchgeführt werden. Dabei ist zu beachten, dass das Lernen des Referenz-CAM nur während der ersten Iteration nicht ausreichend ist, da das resultierende lc,p,i während der Planung für die nächste Iteration verwendet wird. Dies beeinflusst die CoM-Trajektorie und damit auch die Roboterkonfiguration und Gelenkgeschwindigkeiten, da die Füße im kartesischen Raum definiert sind. Folglich unterscheidet sich der resultierende CAM der nächsten Iteration von der in der Planung verwendeten. Höhere Werte von kl führen zu einer schnelleren Konvergenz, während niedrigere Werte zu einer robusteren Konvergenz führen.
-
Die gelernten Polynomkoeffizienten al sind immer einem bestimmten Satz von Gehparametern zugeordnet. Wie in Dokument [17], kann das gewonnene Wissen genutzt werden, um eine Datenbank von typischen Gehparametern aufzubauen, die auch in der Simulation vortrainiert werden kann.
-
B. Online-Aktualisierung der DCM-Trajektorie
-
In der ersten Iteration wird die Polynomkoeffizientenmatrix al für die CAM-Referenz mit Null initialisiert und die gesamte DCM-Referenztrajektorie wird berechnet. Dabei ist zu beachten, dass, wenn Werte für al bereits aus früheren Läufen vorliegen, können diese stattdessen verwendet werden, um die Konvergenz zu beschleunigen. Wenn aktualisierte Werte für al,φ,i+1 am Ende der Übergangsphase φ vorliegen, wird das DCM-Rückwärtsiterationsschema angewandt, beginnend von dem Ende der Übergangsphase φ + 4 unter Verwendung der neuen Polynomkoeffizienten der Iteration i + 1. Als terminale DCM-Einschränkung für die Rückwärtsiteration wird die terminale DCM am Ende der Phase φ+4 der ersten Iteration, d. h. ξT,φ+4,0, verwendet. Das während der aktuellen Iteration erlangte Wissen wird direkt in der nachfolgenden Iteration angewandt.
-
Um die Kontinuität der aktualisierten DCM-Referenz zu Beginn der Phase φ+1 zu gewährleisten, wird die finale DCM der Phase φ+1, d. h. ξ
T,φ+1, zwischen ihren Werten während der aktuellen und der nächsten Iteration linear interpoliert
-
C. Erzeugen einer gewünschten CAM-Trajektorie
-
In diesem Abschnitt wird eine gewünschte CAM-Trajektorie entworfen, die der Ganzkörpersteuerung befohlen wird, um das Kontaktdrehmoment-Tracking zu gewährleisten. Für die xy-Richtung (Ebene parallel zur Aufstützfläche) kann das CoP-Tracking erreicht werden, indem der gewünschte CAM gewählt wird, der gleich dem polynomischen approximierten CAM ist, der in der Planung verwendet wird, d. h.
-
Aus (8) ergibt sich für das Kontaktdrehmoment um die z-Achse (in Bezug auf die Aufstützfläche)
-
Eine reine Aufhebung von i
c,z, wie sie in Dokumenten [20]-[22] vorgeschlagen ist, reicht hier nicht aus, da die aus dem Kreuzprodukt resultierenden Terme nicht verschwinden, da nicht geplant ist, dass der externe Kraftvektor die gewünschten CoP- und CoM-Position schneidet. Um die Kreuzproduktterme zu kompensieren und τ
grf,z = 0 sicherzustellen, wird die gewünschte Änderungsrate von CAM um die z-Achse wie folgt definiert
-
Der entsprechende CAM ergibt sich durch numerische Integration. Um eine symmetrische Bewegung des Roboters sicherzustellen, z. B. nach dem Übergang zwischen verschiedenen Gehgeschwindigkeiten, wird ein Korrekturterm
angewandt. Dabei ist anzumerken, dass
nur in doppelten Aufstützphasen aktiv ist, da der Roboter wesentlich mehr vertikale CAM erzeugen kann, wenn zwei Füße in Kontakt sind.
-
Um umfangreiche Bewegungen des Oberkörpers während den Übergangsphasen zu vermeiden, in denen die Polynomkoeffizientenmatrix al Null ist, z. B. während der Start- oder Endphase oder der ersten Iteration, wird der gewünschte CAM während dieses Zeitraums als Referenz-CAM gewählt, d. h. lc,d = lc,r.
-
VI. Experimentelle Evaluierung
-
Der oben dargestellte Algorithmus wurde durch Experimente mit dem drehmomentgesteuerten humanoiden Roboter TORO validiert (vgl. Dokument [29]). Der Roboter hat 27 Freiheitsgrade, eine Höhe von 1,74 m und ein Gesamtgewicht von 79,2 kg. TORO hat Kraft-Drehmoment Sensoren in seinen Füßen und eine Inertialmesseinheit (IMU) im Torso.
-
Vorgestellt werden zwei Szenarien zur Evaluierung der Leistung des Algorithmus.
-
Im ersten Szenario führt der Roboter ein gerades Gehen mit 12 Schritten (entsprechend 5 Iterationen) durch mit einer Schrittlänge von 15 cm, einer Einzelaufstützzeit TSS = 0,7 s, einer Doppelaufstützzeit TDS = 0,2 s und einer Stand-zu-Gehzeit TSW = 0,5 s. Es wird angenommen, dass keine gelernten Polynomkoeffizienten aus früheren Läufen verfügbar sind, d. h. die Polynomkoeffizientenmatrix wird mit Null (al = 0) initialisiert.
-
In 4 sind der resultierende Referenz-CAM, der sich aus den Referenz-Aufgabenraumgeschwindigkeiten ergibt, der polynomische approximierte CAM, der während der Planung verwendet wird, und der gewünschte CAM, der dem Roboter befohlen wird, dargestellt. In der initialen Iteration, der Start- oder der Endphase wird die geplanten CAM definiert als Referenz-CAM lc,d|xy = lc,r|xy andernfalls gilt lc,d|xy = lc,p|xy.
-
In xy-Richtung ist zu sehen, dass lc,p|xy während der Iteration 0 Null ist, aber in den folgenden Zyklen zu lc,r|xy konvergiert. Für die Näherung von lc,r|xy wird ein Polynom 9. Ordnung verwendet. Ein Zeitintervall von Δt = 50 ms wurde gewählt, während die Abtastfrequenz des Systems Δts = 1 ms ist. Der Lernfaktor wurde auf kl = 1 festgelegt, das Konvergenzverhalten ist in 7 dargestellt.
-
Der Verlauf von lc,r variiert leicht zwischen Iteration 0 und den folgenden Iterationen, da die aktualisierte CoM-Trajektorie die Roboterkonfiguration und damit den resultierenden CAM beeinflusst.
-
Der Effekt des gelernten CAM ist in 5 zu sehen. Beginnend mit Iteration 1 wird die VRP-Trajektorie basierend auf den gelernten Polynomkoeffizienten aktualisiert. Dem Aktualisierungsschema aus Abschnitt V-B folgend, werden kontinuierliche DCM- und CoM-Trajektorien bereitgestellt. 5 zeigt VRP (v), DCM (ξ) und CoM (x) Trajektorie.
-
Die resultierenden Kontaktdrehmomente an der gewünschten CoP-Position sind in 6 dargestellt. 6 zeigt die Kontaktdrehmomente an der gewünschten CoP Position des linken Fußes bei Einzelaufstützung für mehrere Iterationen bei lokaler Iterationszeit. Die Limits sind durch die entsprechend transparenten Linien dargestellt. Durch die aktualisierte VRP-Referenz und die entsprechende Ausgestaltung der gewünschten CAM-Trajektorie, konnten die Kontaktdrehmomente ab Iteration 1 im Vergleich zu Iteration 0 deutlich reduziert werden, was als Ausgangsbasis für das Gehen ohne unseren vorgestellten Ansatz angesehen werden kann. Unter der Annahme eines perfekten Trackings würden die Kontaktdrehmomente auf Null reduziert werden; allerdings verschlechtern Modellunsicherheiten sowie Tracking-Fehler das Ergebnis. Die Drehmomentgrenzen in xy-Richtung werden auf der Grundlage der CoP-Beschränkung berechnet. Da die Ganzkörpersteuerung eine Schraubenschlüsselformulierung verwendet, werden die Drehmomentgrenzen um die z-Achse durch obere und untere Werte approximiert. Weitere Details finden Sie in Dokument [23]. Die reduzierten Kontaktdrehmomente um alle drei Achsen führen zu einem robusteren Gehverhalten, was in dem ergänzenden Video zu sehen ist. Während Iteration 0 kippen und verdrehen sich die Füße des Roboters leicht, da das CoP in x- und y-Richtung den Rand der Aufstützfläche erreicht und die Drehmomentgrenzen um die z-Achse aktiviert sind. In den folgenden Iterationen werden keine Verletzungen der Kontaktbeschränkungen beobachtet, wodurch die erhöhte Kontaktrobustheit bestätigt wird.
-
Die Steuereingangsleistung, berechnet als das Produkt aus befohlenen Gelenkgeschwindigkeiten und Drehmomenten, ist in 7 dargestellt. Auf der linken Seite in 7 ist der durchschnittliche normalisierte Approximationsfehler zwischen lc,l,i und lc,p,i für eine gegebene Iteration mit kl = 1 dargestellt. Auf der rechten Seite ist in 7 die Steuereingangsleistung für die gegebene Iteration gezeigt. Die horizontalen Linien geben die durchschnittliche Steuereingangsleistung über eine Iteration an. Die Einbeziehung des CAM während der Planung führt zu einem reduzierten durchschnittlichen Steuereingriff.
-
In einem zweiten Szenario wurde die Schrittlänge auf 22 cm erhöht, während die übrigen Gehparameter unverändert beibehalten wurden. Diese verbesserte Leistung konnte nur durch die Verwendung von Polynomkoeffizienten erreicht werden, die in der Simulation vortrainiert wurden. Wie ebenfalls in Dokument [18] berichtet, gelingt es TORO nicht, mit einer Schrittlänge von 15 cm mehr als drei Schritte ohne Online-Anpassung der Trajektorie zu gehen. Der vorliegende Ansatz ermöglicht flachfüßiges Gehen mit einer Schrittlänge von 22 cm, was eine Steigerung von mehr als 50 % bedeutet, während die gleichen Gehparameter und die gleiche Ganzkörpersteuerung verwendet werden wie in Dokument [23].
-
ANHANG
-
A. Vandermonde-Submatrizen
-
Die Submatrizen in (16) sind gegeben durch
mit
-
B. Polynomkoeffizienten
-
Die verbleibenden Polynomkoeffizienten werden basierend auf a
l,4:nl aus (17) und den Randbedingungen für die entsprechende Übergangsphase berechnet