DE102022107587A1 - Verfahren zur Gangsteuerung eines Roboters, Regler, Computerprogramm und Robotersystem - Google Patents

Verfahren zur Gangsteuerung eines Roboters, Regler, Computerprogramm und Robotersystem Download PDF

Info

Publication number
DE102022107587A1
DE102022107587A1 DE102022107587.7A DE102022107587A DE102022107587A1 DE 102022107587 A1 DE102022107587 A1 DE 102022107587A1 DE 102022107587 A DE102022107587 A DE 102022107587A DE 102022107587 A1 DE102022107587 A1 DE 102022107587A1
Authority
DE
Germany
Prior art keywords
trajectory
center
robot
angular momentum
planned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022107587.7A
Other languages
English (en)
Inventor
Robert Schuller
Christian Ott
George Mesesan
Johannes Englsberger
Jinoh Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102022107587.7A priority Critical patent/DE102022107587A1/de
Publication of DE102022107587A1 publication Critical patent/DE102022107587A1/de
Pending legal-status Critical Current

Links

Images

Classifications

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

Abstract

Ein Verfahren zur Gangsteuerung eines Roboters, mit den Schritten: a) Bereitstellen einer geplanten Aufgabenraumtrajektorie X, b) Bereitstellen einer geplanten Trajektorie des Druckzentrums ap, c) Berechnen einer geplanten Trajektorie des Massenzentrums x anhand der geplanten Trajektorie des Druckzentrums ap, d) Empfangen einer gemessenen Trajektorie des Massezentrums xmdes Roboters und einer gemessenen Aufgabenraumtrajektorie Xmdes Roboters, und e) Berechnen von Steuerbefehlen T für den Roboter anhand der geplanten Aufgabenraumtrajektorie X, der gemessenen Trajektorie des Massezentrums xmdes Roboters, der gemessenen Aufgabenraumtrajektorie Xmdes Roboters, der geplanten Trajektorie des Massenzentrums x und einer gelernten Information über die Trajektorie des Schwerpunktsdrehimpulses. Ferner ein Regler, ein Computerprogramm und ein Robotersystem zur Ausführung dieses Verfahrens.

Description

  • 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τ: l ˙ c , p ( t ) = i = 0 n τ ( i + 1 ) a l , i + 1 t i i = 0 n τ a τ , i t i .
    Figure DE102022107587A1_0001
    l c , p ( t ) = i = 0 n τ a l , i t i
    Figure DE102022107587A1_0002
    a l ,4 ; n l T = ( V ¯ 1 T V ¯ 1 ) 1 V ¯ 1 T ( l ¯ c , l T V ¯ 2 ) ,
    Figure DE102022107587A1_0003
    l c , l , i + 1 ( t ) = ( 1 k l ) ( l c , p , i ( t ) ) + k l ( l c , r , i ( t ) ) ;  und
    Figure DE102022107587A1_0004
    l c = A ¯ ( x ˙ χ ˙ ) .
    Figure DE102022107587A1_0005
    a l ,4 ; n l T
    Figure DE102022107587A1_0006
    wird hierbei bevorzugt durch die Methode der kleinsten Quadrate ermittelt. a l ,4 ; n l T
    Figure DE102022107587A1_0007
  • wird bevorzugt mittels der Formeln aus dem Anhang A. und/oder B. berechnet. Vorzugsweise gilt: V 1 ( t ) = V 11 ( t ) + V 12 ( t ) + V 13 ( t )
    Figure DE102022107587A1_0008
    mit V 11 ( t ) = [ t n l , t [ n l 1 ] , , t 4 ] , V 12 ( t ) = [ ( n l 2 ) T φ ( n l 3 ) , ( n l 3 ) T φ ( n l 4 ) , ,2 T φ ] t 3 , V 13 ( t ) = [ ( n l 3 ) T φ ( n l 2 ) , ( n l 4 ) T φ ( n l 3 ) , , T φ 2 ] t 2 , V 2 ( t ) = ( 2 t 3 T φ 3 + 3 t 2 T φ 2 + 1,   t 3 T φ 2 + 2 t 3 T φ + t ,   2 t 3 T φ 3 3 t 2 T φ 2 ,   t 3 T φ 2 + t 2 T φ ) [ l c , l ( 0 ) , l ˙ c , l ( 0 ) , l c , l ( T φ ) , l ˙ c , l ( T φ ) ] T ;  und/oder
    Figure DE102022107587A1_0009
    ( a l ,0 a l ,1 a l ,2 a l ,3 ) = [ I 0 0 0 0 I 0 0 3 T φ 2 I 2 T φ I 3 T φ 2 I 1 T φ I 2 T φ 3 I 1 T φ 2 I 2 T φ 3 I 1 T φ 2 I ] ( l c , l ( 0 ) l ˙ c , l ( 0 ) l c , l ( T φ ) l ˙ c , l ( T φ ) ) + ( 0 T ,0 T , Σ i = 4 n l ( i 3 ) T φ i a l , i T ,   Σ i = 4 n l ( i 2 ) T φ i a l , i T ) T .
    Figure DE102022107587A1_0010
  • 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 lc,t wird durch lc,p polynomial approximiert. lc,p ist eine Polynomialfunktion mit den Koeffizienten al. Um die Schwerpunktstrajektorie x zu berechnen wird insbesondere allerdings die Zeitableitung des Schwerpunktsdrehimpulses ic,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: l c , p ( t ) = i = 0 n τ ( i + 1 ) a l , i + 1 t i = i = 0 n τ a τ , i t i .
    Figure DE102022107587A1_0011
  • 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 : e ( t ) = i = 0 n p a p , i t i + 1 m g i = 0 n τ a τ , i t i ,
    Figure DE102022107587A1_0012
    ν = e + ( 0,0, Δ z ) T ' , ξ ˙ = 1 b ( ξ ν ) .
    Figure DE102022107587A1_0013
    ξ = x + b x ˙
    Figure DE102022107587A1_0014
    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:
    1. 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.
    2. 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.
    3. 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.
    4. 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:
    1. 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.
    2. 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.
    3. 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.
    4. 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. 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. 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. 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 ξ = x + b x ˙
    Figure DE102022107587A1_0015
    wobei die Position des Massenzentrums (CoM) x ∈ ℝ3 und die Geschwindigkeit ẋ ∈ ℝ3 ist. Die DCM-Zeitkonstante ist durch b = Δ z g ,
    Figure DE102022107587A1_0016
    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 ξ ˙ = 1 b ( ξ ν ) ,
    Figure DE102022107587A1_0017
    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 F e x t = m b 2 ( x e )
    Figure DE102022107587A1_0018
    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 e ( t ) = i = 0 n ν a ν , i t i .
    Figure DE102022107587A1_0019
  • Hierbei ist nv der Grad und av,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 ν ( t ) = P ν t ( t ) .
    Figure DE102022107587A1_0020
  • Die Zeit wird zu t(t) = (1, t, t2, .... tnv )T vektorisiert und die polynomische Parametermatrix wird durch Pv ∈ ℝ3×(nv+1) angegeben. Durch Einsetzen von (5) in (2) und Lösen der Differentialgleichung unter Verwendung der mathematischen Erkenntnisse aus [25] wird erhalten ξ ( t ) = e i T φ b ξ ˙ T + P ν C T ( b ) ( t ( t ) e i T φ b t ( T φ ) ) ,
    Figure DE102022107587A1_0021
    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 lc ∈ ℝ3 eines Systems hängt linear vom Aufgabenraumgeschwindigkeitsvektor ab l c = A ¯ ( x ˙ χ ˙ ) ,
    Figure DE102022107587A1_0022
    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. ic = τc. Außerdem ist das Kontaktdrehmoment an der gewünschten CoP-Position pd ∈ ℝ3 gegeben durch τ g r f = ( x p d ) × F e x t + i c ,
    Figure DE102022107587A1_0023
    wobei der Versatz zwischen dem tatsächlichen und gewünschten CoP eine Funktion von τgrf an der gewünschten CoP-Position ist p p d = 1 m ( g + z ¨ ) ( τ g r f , y τ g r f , x 0 ) ,
    Figure DE102022107587A1_0024
  • 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 e = p + 1 m ( g + z ¨ ) ( τ c , y τ c , x 0 ) ,
    Figure DE102022107587A1_0025
  • 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 e ( t ) = i = 0 n p a p , i t i + 1 m g i = 0 n τ a τ , i t i ,
    Figure DE102022107587A1_0026
    wobei np, nτ, ap,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 p ( t ) = ( 1 ƒ ( t ) ) p 0 + ƒ ( t ) p T .
    Figure DE102022107587A1_0027
  • Der Startpunkt der aktuellen Übergangsphase ist gegeben durch p0, während der Endpunkt PT als Startpunkt der folgenden Übergangsphase gewählt wird. Die zeitliche Interpolationsfunktion f(t) ist ein Polynom vom Grad np und dient dazu, die Kontinuität der CoP-Referenz bei Phasenübergängen zu gewährleisten. Zum Beispiel ergibt eine zeitliche lineare Interpolation (np = 1) in vektorisierter Form p ( t ) = [ p 0 , 1 T φ ( p T p 0 ) ] a p ( 1 t ) .
    Figure DE102022107587A1_0028
  • 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 l c , p ( t ) = i = 0 n l a l , i t i
    Figure DE102022107587A1_0029
    wobei al,i ∈ ℝ3 und die lokale Zeit t ∈ [0, Tφ]. ist. Die entsprechende Änderungsrate, d. h. das Drehmoment um das CoM ist gegeben durch l ˙ c , p ( t ) = i = 0 n τ ( i + 1 ) a τ , i + 1 t i = i = 0 n τ a τ , i t i .
    Figure DE102022107587A1_0030
  • Um die Polynomkoeffizienten al zu erhalten, wird eine Vandermonde-Matrix konstruiert und die Randbedingungen lc,p(0).= lc,l(0), ic,p(0) = ic,l(0), lc,p(Tφ) = lc,l(Tφ), ic,p(Tφ) = ic,l(Tφ) einbezogen, um Kontinuität zwischen Übergangsphasen sicherzustellen. Zu diesem Zweck ist ein Polynom vom Grad nl > 4 erforderlich. Das gegebene lc,l wird innerhalb jeder Übergangsphase in einzelne Datenpunkte mit einer lokalen Zeit diskretisiert, die durch tk = kΔt mit 1 ≤ k ≤ [Tφ/Δt] und nl - 4 ≤ k gegeben ist. Hierbei ist Δt das Zeitintervall zwischen einzelnen Datenpunkten und muss ein Mehrfaches der Abtastzeit Δts des Systems sein. Anschließend werden die Submatrizen V1(·) ∈ ℝ1×(nl-4) und V2(·) ∈ ℝ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 nl - 4 letzten Elemente der unbekannten Polynomkoeffizientenmatrix erhalten [ V 1 ( t k ) V 1 ( t k 1 ) V 1 ( t 1 ) ] V ¯ 1 ( a l , n l T a l , ( n l 1 ) T a l ,4 T ) a l ,4 ; n l T + [ V 2 ( t k ) V 2 ( t k 1 ) V 2 ( t 1 ) ] V ¯ 2 = ( l c , l T ( t k ) l c , l T ( t k 1 ) l c , l T ( t 1 ) ) l c , l T .
    Figure DE102022107587A1_0031
  • Interesse besteht hierbei an der kleinsten quadratischen Lösung von (16), um eine gute Näherung von lc,l über die gesamte Übergangsphase zu finden. Daher wird formuliert a l ,4 ; n l T = ( V ¯ 1 T V ¯ 1 ) 1 V ¯ 1 T ( l ¯ c , l T V ¯ 2 ) ,
    Figure DE102022107587A1_0032
  • Um die Berechnungskosten zu reduzieren, kann die Matrix ( V ¯ 1 T V ¯ 1 ) 1 V ¯ 1 T
    Figure DE102022107587A1_0033
    für die gegebene Werte von Δt und Tφ offline vorberechnet werden. Die verbleibenden unbekannten Polynomkoeffizienten a l ,0 ; 3 = [ a l ,3 T , , a l ,0 T ] T
    Figure DE102022107587A1_0034
    werden basierend auf al,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 1 m ( g + z ¨ )
    Figure DE102022107587A1_0035
    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: l c , l , i + 1 ( t ) = ( 1 k l ) ( l c , p , i ( t ) ) + k l ( l c , r , i ( t ) ) .
    Figure DE102022107587A1_0036
  • 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 ξ ˙ T , φ + 1 ( t ) = ( 1 t T φ + 1 ) ξ ˙ T , φ + 1, i + t T φ + 1 ξ ˙ T , φ + 1, i + 1 .
    Figure DE102022107587A1_0037
  • 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. l c , d | x y = l c , p | x y ' .
    Figure DE102022107587A1_0038
  • Aus (8) ergibt sich für das Kontaktdrehmoment um die z-Achse (in Bezug auf die Aufstützfläche) τ g r f , z = m ( x x p d , x ) x ¨ y m ( x y p d , y ) x ¨ x + l ˙ c , z .
    Figure DE102022107587A1_0039
  • Eine reine Aufhebung von ic,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 l ˙ c , d , z = m ( x x p d , x ) x ¨ y + m ( x y p d , y ) x ¨ x + l ˙ c , z c o r .
    Figure DE102022107587A1_0040
  • 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 l ˙ c , z c o r
    Figure DE102022107587A1_0041
    angewandt. Dabei ist anzumerken, dass l ˙ c , z c o r ¯
    Figure DE102022107587A1_0042
    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 V 1 ( t ) = V 11 ( t ) + V 12 ( t ) + V 13 ( t )
    Figure DE102022107587A1_0043
    mit V 11 ( t ) = [ t n l , t [ n l 1 ] , , t 4 ] , V 12 ( t ) = [ ( n l 2 ) T φ ( n l 3 ) , ( n l 3 ) T φ ( n l 4 ) , ,2 T φ ] t 3 , V 13 ( t ) = [ ( n l 3 ) T φ ( n l 2 ) , ( n l 4 ) T φ ( n l 3 ) , , T φ 2 ] t 2 , V 2 ( t ) = ( 2 t 3 T φ 3 + 3 t 2 T φ 2 + 1,   t 3 T φ 2 + 2 t 3 T φ + t ,   2 t 3 T φ 3 3 t 2 T φ 2 ,   t 3 T φ 2 + t 2 T φ )   [ l c , l ( 0 ) , l ˙ c , l ( 0 ) , l c , l ( T φ ) , l ˙ c , l ( T φ ) ] T .
    Figure DE102022107587A1_0044
  • B. Polynomkoeffizienten
  • Die verbleibenden Polynomkoeffizienten werden basierend auf al,4:nl aus (17) und den Randbedingungen für die entsprechende Übergangsphase berechnet ( a l ,0 a l ,1 a l ,2 a l ,3 ) = [ I 0 0 0 0 I 0 0 3 T φ 2 I 2 T φ I 3 T φ 2 I 1 T φ I 2 T φ 3 I 1 T φ 2 I 2 T φ 3 I 1 T φ 2 I ] ( l c , l ( 0 ) l ˙ c , l ( 0 ) l c , l ( T φ ) l ˙ c , l ( T φ ) ) + ( 0 T ,0 T , Σ i = 4 n l ( i 3 ) T φ i a l , i T ,   Σ i = 4 n l ( i 2 ) T φ i a l , i T ) T .
    Figure DE102022107587A1_0045

Claims (18)

  1. Verfahren zur Gangsteuerung eines, insbesondere humanoiden, Roboters, mit den Schritten: a) Bereitstellen einer geplanten Aufgabenraumtrajektorie X; b) Bereitstellen einer geplanten Trajektorie des Druckzentrums ap; c) Berechnen einer geplanten Trajektorie des Massenzentrums x anhand der geplanten Trajektorie des Druckzentrums ap; d) Empfangen einer gemessenen Trajektorie des Massezentrums xm des Roboters und einer gemessenen Aufgabenraumtrajektorie Xm des Roboters; e) Berechnen von Steuerbefehlen τ für den Roboter 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; und f) insbesondere Übertragen der Steuerbefehle τ an den Roboter.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch ein Wiederholen der Verfahrensschritte c) bis f), insbesondere für n-1 Male, wobei n die Anzahl der Iterationen der Trajektorie ist.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die geplante Trajektorie des Massenzentrums x anhand der geplanten Trajektorie des Druckzentrums ap und eines gelernten Schwerpunktsdrehimpulses aτ ermittelt wird.
  4. Verfahren nach einem der Ansprüche 1-3, dadurch gekennzeichnet, dass der gelernte Schwerpunktsdrehimpuls aτ anhand der geplanten Aufgabenraumtrajektorie X, der geplanten Trajektorie des Massenzentrums x, und eines Rotationsteils einer Schwerpunktsdrehimpulsmatrix A̅ ermittelt wird.
  5. Verfahren nach einem der Ansprüche 1-4, dadurch gekennzeichnet, dass der Rotationsteil der Schwerpunktsdrehimpulsmatrix A̅ anhand der tatsächlichen Trajektorie des Massezentrums xm und der tatsächlichen Aufgabenraumtrajektorie Xm ermittelt wird.
  6. Verfahren nach einem der Ansprüche 1-5, dadurch gekennzeichnet, dass 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.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das Verfahren vor dem Schritt c) bei der ersten Verfahrensausführung, insbesondere der initialen Iteration i=0 von n Iterationen der Trajektorie, zusätzlich die Schritte umfasst: i) Berechnen von Steuerbefehlen τ für den Roboter anhand der geplanten Aufgabenraumtrajektorie X, und einer geplanten Trajektorie des Massenzentrums x, und ii) insbesondere Übertragen der Steuerbefehle τ für den ersten Schritt der Trajektorie an den Roboter,
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass zur Ermittlung des gelernten Schwerpunktsdrehimpuls aτ die gelernten Informationen über die Trajektorie des Schwerpunktsdrehimpulses durch ein Polynom nl-ter Ordnung dargestellt werden.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass zur Ermittlung des gelernten Schwerpunktsdrehimpuls aτ gilt: l c , p ( t ) = i = 0 n τ ( i + 1 ) a l , i + 1 t i = i = 0 n τ a τ , i t i ,
    Figure DE102022107587A1_0046
    l c , p ( t ) = i = 0 n l a l , i t i a l ,4 ; n l T = ( V ¯ 1 T V ¯ 1 ) 1 V ¯ 1 T ( l ¯ c , l T V ¯ 2 ) l c , l , i + 1 ( t ) = ( 1 k l ) ( l c , p , i ( t ) ) + k l ( l c , r , i ( t ) ) ,  und l c = A ¯ ( x ˙ χ ˙ ) .
    Figure DE102022107587A1_0047
  10. Verfahren nach einem der Ansprüche 1-9, dadurch gekennzeichnet, dass die Ermittlung des Rotationsteil der Schwerpunktsdrehimpulsmatrix A̅ durch eine Berechnung aus der Roboterdynamik zur Laufzeit, insbesondere mittels einer Ganzkörpersteuerung erfolgt.
  11. Verfahren nach einem der Ansprüche 1-10, dadurch gekennzeichnet, dass zur Ermittlung der gelernten Trajektorie des Schwerpunktsdrehimpulses lc,d gilt, 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,plxy.
  12. Verfahren nach einem der Ansprüche 1-11, dadurch gekennzeichnet, dass die Berechnung der Steuerbefehle τ mittels einer Ganzkörpersteuerung erfolgt.
  13. Verfahren nach einem der Ansprüche 1-12, dadurch gekennzeichnet, dass zur Berechnung der geplanten Trajektorie des Massenzentrums x das Divergent Component of Motion (DCM) - Framework genutzt wird.
  14. Verfahren nach einem der Ansprüche 1-13, dadurch gekennzeichnet, dass zur Berechnung der geplanten Trajektorie des Massenzentrums x gilt: e ( t ) = i = 0 n p a p , i t i + 1 m g i = 0 n τ a τ , i t i ,
    Figure DE102022107587A1_0048
    ν = e + ( 0,0, Δ z ) T ' , ξ ˙ = 1 b ( ξ ˙ ν ) ,
    Figure DE102022107587A1_0049
    ξ ˙ = x + b x ˙
    Figure DE102022107587A1_0050
    wobei vorzugsweise in der initialen Iteration i=0 von n Iterationen der gelernten Schwerpunktsdrehimpulses aτ = 0 ist.
  15. Verfahren nach einem der Ansprüche 1-14, dadurch gekennzeichnet, dass die gemessene Trajektorie des Massezentrums xm und/oder die gemessenen Aufgabenraumtrajektorie Xm durch mindestens einen Sensor des Roboters erfasst wird.
  16. Regler zur Ausführung eines Verfahrens nach 1-15.
  17. Computerprogramm umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren nach einem der Ansprüche 1-15 auszuführen.
  18. Robotersystem, mit einem, insbesondere humanoiden, Roboter, und einem mit dem Roboter verbundenen Regler nach Anspruch 16.
DE102022107587.7A 2022-03-30 2022-03-30 Verfahren zur Gangsteuerung eines Roboters, Regler, Computerprogramm und Robotersystem Pending DE102022107587A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022107587.7A DE102022107587A1 (de) 2022-03-30 2022-03-30 Verfahren zur Gangsteuerung eines Roboters, Regler, Computerprogramm und Robotersystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022107587.7A DE102022107587A1 (de) 2022-03-30 2022-03-30 Verfahren zur Gangsteuerung eines Roboters, Regler, Computerprogramm und Robotersystem

Publications (1)

Publication Number Publication Date
DE102022107587A1 true DE102022107587A1 (de) 2023-10-05

Family

ID=88018938

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022107587.7A Pending DE102022107587A1 (de) 2022-03-30 2022-03-30 Verfahren zur Gangsteuerung eines Roboters, Regler, Computerprogramm und Robotersystem

Country Status (1)

Country Link
DE (1) DE102022107587A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1393866B1 (de) 2001-06-07 2009-09-02 Japan Science and Technology Agency Mit zwei beinen gehende vorrichtung; gehsteuervorrichtung und gehsteuerverfahren dafür
EP1721710B1 (de) 2004-01-28 2011-04-13 Toyota Jidosha Kabushiki Kaisha Mit beinen versehener roboter und schreitsteuerverfahren für mit beinen versehenen roboter
DE102010064267A1 (de) 2009-12-28 2011-06-30 Honda Motor Co., Ltd. Steuer/Regeleinrichtung für einen mobilen Roboter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1393866B1 (de) 2001-06-07 2009-09-02 Japan Science and Technology Agency Mit zwei beinen gehende vorrichtung; gehsteuervorrichtung und gehsteuerverfahren dafür
EP1721710B1 (de) 2004-01-28 2011-04-13 Toyota Jidosha Kabushiki Kaisha Mit beinen versehener roboter und schreitsteuerverfahren für mit beinen versehenen roboter
DE102010064267A1 (de) 2009-12-28 2011-06-30 Honda Motor Co., Ltd. Steuer/Regeleinrichtung für einen mobilen Roboter

Similar Documents

Publication Publication Date Title
DE102010064267B4 (de) Steuer/Regeleinrichtung für einen mobilen Roboter
Fu et al. Adaptive robust backstepping attitude control for a multi-rotor unmanned aerial vehicle with time-varying output constraints
DE102010064270B4 (de) Steuer/Regeleinrichtung für einen Roboter
DE60126153T2 (de) Gangmustererzeugungsvorrichtung für beweglichen roboter mit beinen
Matsubara et al. Learning CPG-based biped locomotion with a policy gradient method
DE102012208905B4 (de) Regelungs-/Steuerungsvorrichtung eines mobilen Objekts und Bodenfläche-Schätzvorrichtung
DE60313952T2 (de) Steuerung für mobilen roboter mit beinen
DE69734835T2 (de) Haltungskontrolleur einen sich auf beinen bewegenden robotern
CN112051741B (zh) 一种双足机器人动态运动生成与控制方法
DE112010005024B4 (de) Roboter-Steuer- /Regeleinrichtung
DE102019001948A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102013111210A1 (de) Verfahren zum Steuern eines Robotergangs
Shojaei Neural network formation control of a team of tractor–trailer systems
DE102021204961B4 (de) Verfahren zur Steuerung einer Robotervorrichtung
DE60016190T2 (de) Vorrichtung und steuerung eines industriellen robotors und verfahren zur programmierung und/ oder einstellung der bewegungen des robotors
Lippi Prediction in the context of a human-inspired posture control model
Farid et al. Finite-time disturbance reconstruction and robust fractional-order controller design for hybrid port-Hamiltonian dynamics of biped robots
Viereck et al. ValueNetQP: Learned one-step optimal control for legged locomotion
DE102022107587A1 (de) Verfahren zur Gangsteuerung eines Roboters, Regler, Computerprogramm und Robotersystem
JP3677623B2 (ja) 脚式ロボットのリアルタイム最適制御方法
Meriçli et al. Improving biped walk stability using real-time corrective human feedback
Bebek et al. A fuzzy system for gait adaptation of biped walking robots
Seleem et al. Sliding mode control of underactuated five-link biped robot for climbing stairs based on real human data
Channon et al. Simulation and optimization of gait for a bipedal robot
DE4311290A1 (de) Modellbasierte neuronale Bahnführung eines Industrieroboters

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication