DE102021112485B3 - Method for balancing a robot, method for whole-body control of a robot, regulator and robot - Google Patents

Method for balancing a robot, method for whole-body control of a robot, regulator and robot Download PDF

Info

Publication number
DE102021112485B3
DE102021112485B3 DE102021112485.9A DE102021112485A DE102021112485B3 DE 102021112485 B3 DE102021112485 B3 DE 102021112485B3 DE 102021112485 A DE102021112485 A DE 102021112485A DE 102021112485 B3 DE102021112485 B3 DE 102021112485B3
Authority
DE
Germany
Prior art keywords
robot
angular momentum
joint
centroid
contact
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.)
Active
Application number
DE102021112485.9A
Other languages
German (de)
Inventor
Robert Schuller
George Mesesan
Christian Ott
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 DE102021112485.9A priority Critical patent/DE102021112485B3/en
Application granted granted Critical
Publication of DE102021112485B3 publication Critical patent/DE102021112485B3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

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

Abstract

Verfahren zur Balancierung eines Roboters zum Ausgleich von externen einwirkenden Störungen, der Roboter umfassend: mindestens ein Gelenk mit der Anzahl vonnaktuierten Freiheitsgraden zur gelenkigen Verbindung von Körpersegmenten des Roboters mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung der Stellung q des mindestens einen Gelenks, sowie eine Aufstützfläche; das Verfahren umfassend die Schritte:a) Überwachen und Ermitteln der auf den Roboter extern einwirkenden Kontaktmomente τext;b) Überprüfen, ob die ermittelten Kontaktmomente τextmindestens einen vorgegebenen Grenzwert τthresüberschreiten;c) bei Überschreiten des mindestens einen vorgegebenen Grenzwertes τthresin Schritt b) Ausführen der Schritte:Berechnen und Induzieren eines erforderlichen Referenzschwerpunktdrehimpulseslcreƒ,sowie anschließendes Abbauen des generierten Referenzschwerpunktdrehimpulseslcreƒdurch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters;d) Berechnen und Induzieren von Ganzkörperbewegungen xcmdmittels eines Ganzkörperbewegungsoptimierers durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters.A method for balancing a robot to compensate for external interference, the robot comprising: at least one joint with the number of updated degrees of freedom for the articulated connection of body segments of the robot with at least one actuating device for actively influencing the position q of the at least one joint, and a support surface; the method comprising the steps:a) monitoring and determining the contact torques τext acting externally on the robot;b) checking whether the determined contact torques τext exceed at least one specified limit value τthres;c) if the at least one specified limit value τthresin step b) carrying out the steps Calculation and induction of a required reference centroid angular momentum slcreƒ, and subsequent reduction of the generated reference centroid angular momentum slcreƒ by changing the position q of at least one joint using at least one actuating device of the robot; d) calculating and inducing whole-body movements xcmd using a whole-body movement optimizer by changing the position q of at least one joint using at least one actuating device of the robot.

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Balancierung eines Roboters zum Ausgleich von externen einwirkenden Störungen sowie ein Verfahren zur Ganzkörpersteuerung eines Roboters zum Ausgleich von externen einwirkenden Störungen, einen Regler und einen Roboter.The present invention relates to a method for balancing a robot to compensate for external disturbances acting on it, and a method for whole-body control of a robot to compensate for external disturbances acting on it, a controller and a robot.

In dem Stand der Technik gemäß [1]-[4] werden Regelungsverfahren für humanoide Roboter beschrieben, welche einen gewünschten Impuls und Drehimpuls in Balancier-Szenarien einregeln. Der gewünschte Impuls wird basierend auf der gewünschten Schwerpunktsposition und -geschwindigkeit gewählt, der gewünschte Drehimpuls wird stets zu null gesetzt. Falls der Roboter nicht beide gewünschten Größen realisieren kann, wird dem Impuls stets eine höhere Priorität zugesprochen als dem Drehimpuls. Dies kann bedeuten, dass, um dem System einen gewünschten linearen Impuls einzuprägen, ein von dem gewünschten Drehimpuls abweichender Wert in Kauf genommen wird. Dieser Fall kann eintreten, wenn der Roboter durch externe Kräfte gestört wird und die Bedingungen, die einen rutsch- und kippfreien Kontakt der Füße mit dem Boden garantieren, eine gleichzeitige Einprägung des gewünschten Impulses und Drehimpulses nicht erlauben. Als Folge dessen wird in manchen Situationen ein Drehimpuls ungleich null induziert. In den vorbezeichneten Methoden aus dem Stand der Technik wird der resultierende Drehimpuls in einem humanoiden Roboter nicht aktiv geplant, sondern nur generiert, wenn die Erfüllung von Aufgaben mit höherer Priorität, wie zum Beispiel einer Regelungsaufgabe für den linearen Impuls, die Verletzung der Drehimpulsregulierungsaufgabe erfordern. Die Drehimpulsregulierungsaufgabe hat zum Ziel, den Drehimpuls auf null zu halten oder ihn so gut wie möglich zu reduzieren. Durch diese typische Regelungsstruktur kann der Verlauf des Drehimpulses nur indirekt durch Repriorisierung von unterschiedlichen Aufgaben, welche gegebenenfalls im Konflikt zueinander stehen, erfolgen. Hierbei handelt es sich um ein hochdimensionales Optimierungsproblem der Einstellparameter, welche unter großem Aufwand und ohne direkte physikalische Bedeutung gesetzt werden müssen. Dies ist für humanoide Roboter insofern problematisch, als dass der Drehimpuls nur mit einer gewissen Magnitude generiert werden kann und dies auch nur für eine begrenzte Dauer, da ansonsten Positions- und/oder Geschwindigkeitsbegrenzungen in den Gelenken des Roboters erreicht werden. Das Erreichen von Gelenkbegrenzungen kann zu einer unvermittelten Reduktion des Drehimpulses führen, da nicht weiter die benötigte Gelenkgeschwindigkeit aufrechterhalten werden kann. Eine abrupte Änderung des Drehimpulses generiert jedoch große horizontale Kräfte, welche unter anderem auf den Schwerpunkt des Roboters wirken und diesen destabilisieren können, was im ungünstigen Fall zu einem Umfallen des humanoiden Roboters führen kann. Des Weiteren wird meistens erst ein Drehimpuls generiert, wenn die Kontaktbedingungen, welche einen rutsch- und kippfreien Kontakt sicherstellen sollen, erreicht werden. Dies vermindert die Robustheit des Systems gegenüber Modellungenauigkeiten und Regelungsabweichungen, da schon kleine Störungen den Roboter zu Fall bringen können, falls dieser am Rande der Kontaktbedingungen operiert.In the prior art according to [1]-[4] control methods for humanoid robots are described, which regulate a desired momentum and angular momentum in balancing scenarios. The desired momentum is chosen based on the desired center of gravity position and velocity, the desired angular momentum is always set to zero. If the robot cannot realize both desired quantities, momentum is always given higher priority than angular momentum. This can mean that in order to impress the system with a desired linear momentum, a value deviating from the desired angular momentum is accepted. This case can occur when the robot is disturbed by external forces and the conditions that guarantee slip and tip-free contact of the feet with the ground do not allow simultaneous imprinting of the desired momentum and angular momentum. As a result, non-zero angular momentum is induced in some situations. In the prior art methods described above, the resultant angular momentum in a humanoid robot is not actively planned, but only generated when the fulfillment of higher priority tasks, such as a linear momentum control task, require the violation of the angular momentum control task. The goal of the angular momentum regulation task is to keep angular momentum at zero or to reduce it as much as possible. Due to this typical control structure, the course of the angular momentum can only take place indirectly by reprioritizing different tasks, which may conflict with each other. This is a high-dimensional optimization problem of the setting parameters, which have to be set with great effort and without direct physical significance. This is problematic for humanoid robots insofar as the angular momentum can only be generated with a certain magnitude and only for a limited period of time, since otherwise the position and/or speed limits in the robot's joints are reached. Reaching joint limits can result in a sudden reduction in angular momentum as the required joint speed can no longer be maintained. However, an abrupt change in the angular momentum generates large horizontal forces which, among other things, affect the center of gravity of the robot and can destabilize it, which in the worst case can lead to the humanoid robot falling over. Furthermore, an angular momentum is usually only generated when the contact conditions, which are intended to ensure a slip-free and tilt-free contact, are achieved. This reduces the robustness of the system against model inaccuracies and control deviations, since even small disturbances can bring down the robot if it operates on the edge of the contact conditions.

In dem Stand der Technik gemäß [5] und [6] wird eine zweiphasige Methode zur Generierung der zeitlichen Ableitung einer Drehimpulsreferenztrajektorie für Balancier-Szenarien unter Einfluss von externen Kräften (z.B. Stößen) vorgestellt. In der ersten Phase wird eine zeitliche Ableitung des Drehimpulses vorgegeben, um dem destabilisierenden Effekt der externen Kraft entgegen zu wirken. Die zeitliche Ableitung des Drehimpulses wird aus der Differenz des Schwerpunktes und dem „Center of Pressure (CoP)“ berechnet. Die daraus resultierenden Gelenkbeschleunigungen werden über eine Moore-Penrose Pseudoinverse berechnet. In einer zweiten Phase wird die Ausgangspose des Roboters wiederhergestellt, welche als Funktion der potentiellen Energie des Roboters und/oder der wirkenden Gelenksdrehmomente ermittelt wird.In the prior art according to [5] and [6], a two-phase method for generating the time derivative of an angular momentum reference trajectory for balancing scenarios under the influence of external forces (e.g. impacts) is presented. In the first phase, a time derivative of the angular momentum is specified to counteract the destabilizing effect of the external force. The time derivative of the angular momentum is calculated from the difference between the center of gravity and the "Center of Pressure (CoP)". The resulting joint accelerations are calculated using a Moore-Penrose pseudo-inverse. In a second phase, the initial pose of the robot is restored, which is determined as a function of the robot's potential energy and/or the effective joint torques.

Die zeitliche Ableitung des gewünschten Drehimpulses wird aus der Differenz des CoP und des Schwerpunkts, multipliziert mit einem proportionalen Faktor k, berechnet. Nachteilig ist, dass dieser Faktor heuristisch durch experimentelles Ausprobieren bestimmt werden muss, um eine dem Stoß angemessene horizontale Kraft auszuüben. Kontaktbedingungen werden nicht explizit berücksichtigt. Für jeden neuen Kraftangriffspunkt bzw. neue Kraftrichtung muss ein neuer k Wert bestimmt werden. Aus diesem Grund ist diese Methode nicht generalisierbar und nur für den Einsatz unter Laborbedingungen geeignet. Des Weiteren geht aus der Methode nicht klar hervor, wann welche Phase aktiviert wird.The time derivative of the desired angular momentum is calculated from the difference of the CoP and the center of gravity multiplied by a proportional factor k. The disadvantage is that this factor has to be determined heuristically by trial and error in order to exert a horizontal force that is appropriate for the impact. Contact conditions are not explicitly considered. A new k value must be determined for each new point of application of force or new direction of force. For this reason, this method cannot be generalized and is only suitable for use under laboratory conditions. Furthermore, it is not clear from the method when which phase is activated.

Aus der [7] ist eine Steuer- bzw. Regeleinrichtung für einen Roboter, wie z. B. einen mit Beinen versehenen mobilen Roboter, bekannt geworden. Die [8] bis [11] offenbaren Vorrichtungen zum Erzeugen von Gangarten, die nicht nur zum Gehen, sondern auch zum Laufen eines auf Beinen laufenden Roboters geeignet sind. Aus der [12] ist weiterhin ein Verfahren zum Erzeugen einer dynamisch realisierbaren Bewegung eines Verbindungssystems mit einem menschenähnlichen Aufbau bekannt geworden. Dieses Verfahren kann für eine Bewegungserzeugungssoftware für einen humanoiden Roboter, ein Echtzeit-Steuersystem für einen humanoiden Roboter und eine Bewegungserzeugungssoftware für Computergrafiken verwendet werden.From [7] is a control or regulating device for a robot, such as. B. a legged mobile robot known. [8] to [11] disclose devices for generating gaits suitable not only for walking but also for running a legged robot. [12] also discloses a method for generating a dynamically realizable movement of a connection system with a human-like structure. This method can be used for motion generation software for a humanoid robot, real-time control system for a humanoid robot, and motion generation software for computer graphics.

  • [1] S.-H. Lee and A. Goswami, „A momentum-based balance controller for humanoid robots on non-level and nonstationary ground,“ Auton. Robots, vol. 33, pp. 399-414, Nov. 2012[1] S.-H. Lee and A. Goswami, "A momentum-based balance controller for humanoid robots on non-level and nonstationary ground," Auton. Robots, vol. 33, pp. 399-414, Nov. 2012
  • [2] Lee, Sung-hee, and Ambarish Goswami. „Momentum-based balance controller for humanoid robots on nonlevel and non-stationary ground.“ U.S. Patent No. 9,367,795 . 14 Jun. 2016. WO2011106543A1 [2] Lee, Sung-hee, and Ambarish Goswami. "Momentum-based balance controller for humanoid robots on non-level and non-stationary ground." US Patent No. 9,367,795 . 14 Jun 2016. WO2011106543A1
  • [3] A. Hofmann, M. Popovic, and H. Herr, „Exploiting angular momentum to enhance bipedal center-of-mass control,“ in Proc. IEEE Int. Conf. Robot. Autom., Mai 2009, pp. 4423-4429[3] A Hofmann, M Popovic, and H Herr, "Exploiting angular momentum to enhance bipedal center-of-mass control," in Proc. IEEE Int. conf robot. Auto., May 2009, pp. 4423-4429
  • 4] R. Hinata and D. N. Nenchev, „Balance stabilization with angular momentum damping derived from the reaction null-space,“ Proc. 18th IEEE-RAS Int. Conf. Humanoid Robots, pp. 188-195, 20184] R Hinata and D N Nenchev, "Balance stabilization with angular momentum damping derived from the reaction null-space," Proc. 18th IEEE RAS Int. conf Humanoid Robots, pp. 188-195, 2018
  • [5] Abdallah, M., & Goswami, A. „A biomechanically motivated two-phase strategy for biped upright balance control,“ in Proc. IEEE Int. Conf. Robot. Autom, 2005, April, pp. 1996-2001.[5] Abdallah, M., & Goswami, A. "A biomechanically motivated two-phase strategy for biped upright balance control," in Proc. IEEE Int. conf robot. Auto, 2005, April, pp. 1996-2001.
  • [6] Goswami, Ambarish, and Muhammad E. Abdallah. „Systems and methods for controlling a legged robot using a two-phase disturbance response strategy.“ U.S. Patent No. 7,835,822. 16 Nov. 2010. US7835822B2[6] Goswami, Ambarish, and Muhammad E. Abdallah. "Systems and methods for controlling a legged robot using a two-phase disturbance response strategy." patent no. 7,835,822. 16 Nov 2010. US7835822B2
  • [7] DE 10 2010 064 270 B4 [7] DE 10 2010 064 270 B4
  • [8] EP 1 649 983 B1 [8th] EP 1 649 983 B1
  • [9] EP 1 642 688 B1 [9] EP 1 642 688 B1
  • [10] EP 1 642 687 B9 [10] EP 1 642 687 B9
  • [11] EP 1 475 196 B1 [11] EP 1 475 196 B1
  • [12] EP 1 334 901 B1 [12] EP 1 334 901 B1

Ausgehend von den vorbezeichneten Nachteilen des Standes der Technik liegt der vorliegenden Anmeldung die Aufgabe zugrunde, ein verbessertes Verfahren zur Ausbalancierung eines Roboters unter einwirkenden externen Störungen sowie ein verbessertes Verfahren zur Ganzkörpersteuerung eines Roboters unter extern einwirkenden Störungen sowie einen entsprechenden Regler oder einen Roboter bereit zu stellen.Based on the aforementioned disadvantages of the prior art, the present application is based on the object of providing an improved method for balancing a robot under the influence of external disturbances and an improved method for controlling the whole body of a robot under the influence of external disturbances, as well as a corresponding controller or a robot .

Die vorliegende Erfindung behandelt ein Verfahren, um humanoiden Robotern die Fähigkeit zu verleihen, auch in unfreiwilligen Kontaktsituationen (z.B. Stöße) aufrechte Balance zu bewahren und ein Hinfallen des Roboters zu verhindern. Dabei wird der schwerpunktsbezogene Drehimpuls des humanoiden Roboters aktiv geregelt, um Kräfte und Drehmomente zu erzeugen, welche den externen Kräften (induziert durch Kontakte mit der Umgebung) entgegenwirken. Im Gegensatz zu Satelliten im Orbit können humanoide Roboter einen Drehimpuls nur bis zu einer gewissen Magnitude generieren und dies auch nur für eine begrenzte Dauer, da ansonsten Positions- und/oder Geschwindigkeitsbegrenzungen in den Gelenken des Roboters erreicht werden. Diese Eigenschaften müssen bei der Erzeugung eines Drehimpulses berücksichtigt werden. Die hier vorgestellte Methode generiert, abhängig von den externen Kräften, eine Referenztrajektorie für den gewünschten Drehimpuls. Dabei wird berücksichtigt, dass der Drehimpuls schnell genug wieder reduziert werden muss, um das Erreichen von Positions- und/oder Geschwindigkeitsbegrenzungen in den Gelenken zu verhindern. Basierend auf dieser Referenztrajektorie werden Ganzkörperbewegungen erzeugt, welche den gewünschten Drehimpuls im humanoiden Roboter induzieren. Ein besonderer Fokus wird hierbei auf die kinematische Umsetzbarkeit der erzeugten Trajektorien gelegt.The present invention deals with a method to give humanoid robots the ability to maintain upright balance even in involuntary contact situations (e.g. bumps) and to prevent the robot from falling. The center of gravity-related angular momentum of the humanoid robot is actively controlled in order to generate forces and torques that counteract the external forces (induced by contacts with the environment). In contrast to satellites in orbit, humanoid robots can only generate angular momentum up to a certain magnitude and only for a limited period of time, otherwise position and/or speed limits in the robot's joints are reached. These properties must be taken into account when generating angular momentum. Depending on the external forces, the method presented here generates a reference trajectory for the desired angular momentum. It is taken into account that the angular momentum must be reduced again quickly enough to prevent the position and/or speed limits in the joints from being reached. Based on this reference trajectory, whole-body movements are generated, which induce the desired angular momentum in the humanoid robot. A special focus is placed on the kinematic feasibility of the generated trajectories.

Gemäß dem ersten Aspekt betrifft die vorliegende Erfindung ein Verfahren zur Balancierung eines Roboters zum Ausgleich von extern einwirkenden Störungen, der Roboter umfassend: mindestens zwei Körpersegmente, mindestens ein Gelenk mit der Anzahl von n aktuierten Freiheitsgraden zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung der Stellung q des mindestens einen Gelenks, sowie eine Aufstützfläche;
das Verfahren umfassend die Schritte:

  1. a) Überwachen und Ermitteln der auf den Roboter extern einwirkenden Kontaktmomente τext;
  2. b) Überprüfen, ob die ermittelten Kontaktmomente τext mindestens einen vorgegebenen Grenzwert τthres überschreiten;
  3. c) bei Überschreiten des mindestens einen vorgegebenen Grenzwertes τthres in Schritt b) Ausführen der Teilschritte c1) bis c3):
    • c1) Berechnen eines erforderlichen Referenzschwerpunktdrehimpulses (CAM) l c r e ƒ ,
      Figure DE102021112485B3_0003
      um den Druckmittelpunkt (CoP) des Roboters innerhalb der Aufstützfläche (support area) zu halten,
    • c2) Induzieren des erforderlichen Referenzschwerpunktdrehimpulses l c r e ƒ
      Figure DE102021112485B3_0004
      durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters, sowie c3) Abbauen des generierten Referenzschwerpunktdrehimpulses l c r e ƒ
      Figure DE102021112485B3_0005
      durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters;
  4. d) Berechnen von Ganzkörperbewegungen xcmd mittels eines Ganzkörperbewegungsoptimierers, welcher den Referenzschwerpunktdrehimpuls l c r e ƒ
    Figure DE102021112485B3_0006
    und eine Referenzpose xref als Eingabegrößen nutzt und dynamisch sowie kinematisch umsetzbare Gelenktrajektorien generiert und sicherstellt, dass der Roboter zu der vorgegebenen Referenzpose xref konvergiert und dass im Falle der Ausführung der Schritte c1) bis c3) nachfolgend nur betragsmäßig kleine Drehimpulse mit umgekehrten Vorzeichen zu den in den Schritten c2) und c3) generierten Drehimpulsen generiert werden;
  5. e) Induzieren der berechneten Ganzkörperbewegungen xcmd durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters; sowie
  6. f) kontinuierliches Wiederholen der vorbezeichneten Verfahrensschritte.
According to the first aspect, the present invention relates to a method for balancing a robot to compensate for external disturbances, the robot comprising: at least two body segments, at least one joint with the number of n actuated degrees of freedom for the articulated connection of the body segments with at least one adjusting device for actively influencing the position q of the at least one joint, and a support surface;
the procedure comprising the steps:
  1. a) Monitoring and determination of the contact moments τ ext acting externally on the robot;
  2. b) checking whether the determined contact torques τ ext exceed at least one predetermined limit value τ thres ;
  3. c) if the at least one predetermined limit value τ thres is exceeded in step b) execution of sub-steps c1) to c3):
    • c1) Calculating a required reference centroid angular momentum (CAM) l c right e ƒ ,
      Figure DE102021112485B3_0003
      to keep the robot's center of pressure (CoP) within the support area,
    • c2) Inducing the required reference centroid angular momentum l c right e ƒ
      Figure DE102021112485B3_0004
      by changing the position q of at least one joint by means of at least one actuating device of the robot, and c3) reducing the generated reference center of gravity angular momentum l c right e ƒ
      Figure DE102021112485B3_0005
      by changing the position q of at least one joint by means of at least one actuating device of the robot;
  4. d) Calculating whole-body motions x cmd using a whole-body motion optimizer that uses the reference centroid angular momentum l c right e ƒ
    Figure DE102021112485B3_0006
    and uses a reference pose x ref as input sizes and dynamic as well kinematically implementable joint trajectories are generated and ensures that the robot converges to the specified reference pose x ref and that, if steps c1) to c3) are carried out, angular momentum is only small in terms of magnitude with the opposite sign to the angular momentum generated in steps c2) and c3). to be generated;
  5. e) inducing the calculated whole-body movements x cmd by changing the position q of at least one joint by means of at least one actuating device of the robot; such as
  6. f) continuous repetition of the aforementioned process steps.

Das erfindungsgemäße Verfahren generiert eine Drehimpulsreferenztrajektorie für Balancier-Szenarien zur Laufzeit, abhängig von den wirkenden externen Kräften, um diesen entgegen zu wirken und ein Umfallen des Roboters zu verhindern. Die Methode berücksichtigt die Kraftmagnitude, den Kraftangriffspunkt und die Kraftrichtung. Der Verlauf der Drehimpulsreferenztrajektorie kann durch zwei Einstellparameter mit klarer physikalischer Interpretation angepasst werden. Die Drehimpulsreferenztrajektorie wird in drei aufeinanderfolgenden Phasen generiert. In der ersten Phase wird basierend auf den wirkenden Kontaktkräften und -drehmomenten ein benötigter Drehimpuls berechnet, um den „Center of Pressure (CoP)“ innerhalb der Aufstützfläche („support area“) zu halten. Falls der CoP die Kanten der Aufstützfläche erreicht, kann dies zum Umfallen des Humanoiden führen, dies gilt es in der ersten Phase zu verhindern. Die erste Phase wird aktiviert, sobald ein vorgegebener Grenzwert als Funktion der maximal zulässigen Kontaktmomente überschritten wird. Die erste Phase kann unabhängig von Aufgabenkonflikten aktiviert werden. Durch den dazugehörigen Einstellparameter kann sichergestellt werden, dass ein Drehimpuls generiert wird, bevor die Kontaktbedingungen erreicht werden. In der zweiten Phase muss der induzierte Drehimpuls wieder abgebaut werden. Dies darf nicht zu abrupt erfolgen, da die erste Zeitableitung des Drehimpulses direkt mit der Auslenkung des CoP zusammenhängt. The method according to the invention generates an angular momentum reference trajectory for balancing scenarios at runtime, depending on the acting external forces, in order to counteract them and prevent the robot from falling over. The method takes into account the magnitude of the force, the point of application of the force and the direction of the force. The course of the angular momentum reference trajectory can be adjusted by two setting parameters with clear physical interpretation. The angular momentum reference trajectory is generated in three consecutive phases. In the first phase, based on the acting contact forces and torques, a required angular momentum is calculated in order to keep the "Center of Pressure (CoP)" within the "support area". If the CoP reaches the edges of the support surface, this can cause the humanoid to fall over, which must be prevented in the first phase. The first phase is activated as soon as a predetermined limit as a function of the maximum permissible contact torque is exceeded. The first phase can be activated independently of task conflicts. The associated setting parameter can be used to ensure that angular momentum is generated before the contact conditions are reached. In the second phase, the induced angular momentum has to be reduced again. This must not be too abrupt, since the first time derivative of angular momentum is directly related to the deflection of the CoP.

Erfindungsgemäß kann dieses Problem durch die Verwendung eines Polynoms der dritten Ordnung und der Anpassung der Dauer von Phase 2 basierend auf dem maximal generierten Drehimpuls in Phase 1 gelöst werden. Dadurch ist ein Abbau des Drehimpulses sichergestellt, ohne Gelenkgeschwindigkeiten und -beschleunigungen zu verlangen, welche möglicherweise Positions- und/oder Geschwindigkeitsbegrenzungen in den Gelenken überschreiten könnten. Während der 3. Phase beträgt die Drehimpuls-Referenz dauerhaft null. Ein Bewegungsoptimierer, welcher die Drehimpuls-Referenz als Eingang hat und kinematisch und dynamisch umsetzbare Gelenktrajektorien generiert, stellt sicher, dass der Roboter zu einer vorgegebenen Referenzpose konvergiert und nur ein betragsmäßig kleiner Drehimpuls mit umgekehrtem Vorzeichen, zu dem in Phase 1 und 2 induziert wird. Zu jedem Zeitpunkt ist ein Wechsel in Phase 1 möglich, falls ein erneuter Stoß detektiert wird.According to the invention, this problem can be solved by using a third order polynomial and adjusting the duration of phase 2 based on the maximum angular momentum generated in phase 1. This ensures angular momentum dissipation without requiring joint velocities and accelerations that could potentially exceed position and/or velocity limitations in the joints. During the 3rd phase, the angular momentum reference is permanently zero. A motion optimizer, which has the angular momentum reference as input and generates kinematically and dynamically convertible joint trajectories, ensures that the robot converges to a specified reference pose and only a small angular momentum with the opposite sign, which is induced in phases 1 and 2. A change to phase 1 is possible at any time if another impact is detected.

Ein Bewegungsoptimierer erzeugt basierend auf der Drehimpulsreferenztrajektorie kinematisch und dynamisch umsetzbare Ganzkörperbewegungen. Der optimierungsbasierte Ansatz ermöglicht die flexible Gewichtung der Beiträge von unterschiedlichen Körpersegmenten zum resultierenden Drehimpuls, welche zur Laufzeit anpassbar sind. Ebenfalls zur Laufzeit können unterschiedliche Kontaktkonfigurationen gewählt werden (zum Beispiel Balancieren auf einem oder beiden Beinen).A motion optimizer generates kinematic and dynamic whole-body motion based on the angular momentum reference trajectory. The optimization-based approach enables the flexible weighting of the contributions from different body segments to the resulting angular momentum, which can be adjusted at runtime. Different contact configurations can also be selected at runtime (e.g. balancing on one or both legs).

Dieser Abschnitt gibt einen Überblick über das Dynamikmodell des Roboters, welches bei dem erfindungsgemäßen Verfahren angewendet wird und den Berechnungen zugrunde liegt.This section gives an overview of the dynamic model of the robot, which is used in the method according to the invention and forms the basis of the calculations.

Erfindungsgemäß kann es vorgesehen werden, als extern einwirkende Kontaktmomente τext kontinuierlich die Kontaktmomente τv in der Aufstützfläche des Roboters zu überwachen. Der Wert τ v a n k l e

Figure DE102021112485B3_0007
wird aus der Abweichung der aktuellen Position und/oder Geschwindigkeit von der Soll-Position und/oder -Geschwindigkeit des Roboters abgeleitet bzw. daraus berechnet. Eine unmittelbare Messung der auf den Roboter einwirkenden Stoßkräfte beispielsweise mittels Drucksensoren ist somit erfindungsgemäß nicht notwendig. In dem Fall, dass τ v a n k l e > τ t h r e s
Figure DE102021112485B3_0008
werden die Phasen aktiviert.According to the invention, the contact moments τ v in the support surface of the robot can be continuously monitored as externally acting contact moments τ ext . The value τ v a n k l e
Figure DE102021112485B3_0007
is derived or calculated from the deviation of the current position and/or speed from the target position and/or speed of the robot. A direct measurement of the impact forces acting on the robot, for example by means of pressure sensors, is therefore not necessary according to the invention. In the event that τ v a n k l e > τ t H right e s
Figure DE102021112485B3_0008
the phases are activated.

Erfindungsgemäß wird die Aufstützfläche auf einem planaren Untergrund gebildet durch das konvexe Polygon mindestens einer Kontaktfläche des Roboters mit dem Untergrund, bei der mindestens einen Kontaktfläche kann es sich beispielsweise um die Stützflächen des Roboters handeln, welche auf dem Untergrund aufliegen.According to the invention, the support surface is formed on a planar base by the convex polygon of at least one contact surface of the robot with the base. The at least one contact surface can be, for example, the support surfaces of the robot that rest on the base.

A. Dynamisches ModellA. Dynamic model

Als Systemmodell für einen humanoiden Roboter wird eine Gleitfußdynamik mit n drehmomentgesteuerten Gelenken angewendet. Anstelle der Basiskoordinaten wird die Position des CoM xc ∈ ℝ3 verwendet zusammen mit der Ausrichtung der Hüfte Rb ∈ SO(3) und mit den entsprechenden Translations- und Rotationsgeschwindigkeiten ẋc ∈ ℝ3 und ωb, ∈ ℝ3, die zu dem Geschwindigkeitsvektor ν c = ( x ˙ c T   ω b T ) T

Figure DE102021112485B3_0009
gestapelt werden. Die Gesamtzahl der Freiheitsgrade (DoF) des Systems wird durch n ¯   =   n   +   6
Figure DE102021112485B3_0010
bezeichnet. Die Dynamik des Systems kann formuliert werden wie folgt: M ( ν ˙ c q ¨ ) + C ( ν c q ˙ ) + ( w g 0 ) = ( 0 τ ) + τ e x t ,
Figure DE102021112485B3_0011
wobei M     n ¯ × n ¯
Figure DE102021112485B3_0012
und C     n ¯ × n ¯
Figure DE102021112485B3_0013
die positive definite Trägheit bzw. die Coriolis-Matrix sind. Die Schwerkraftauslenkung wird durch w g = ( m g 0 T   0 T ) T
Figure DE102021112485B3_0014
dargestellt, wobei m die Gesamtmasse des Roboters bezeichnet und g0 ∈ ℝ3 der Vektor der Erdbeschleunigung ist. Die Gelenkpositionen werden durch q ∈ ℝn dargestellt, und die entsprechenden Gelenkdrehmomente sind τ ∈ ℝn. Die Variable τ e x t     n ¯
Figure DE102021112485B3_0015
steht für die generalisierten externen Kräfte, die auf das System einwirken. Um eine Modelldarstellung zu erhalten, die für eine Ausbalancierungssteuerung geeignet ist, werden die Gelenkkoordinaten beider Füße durch ihre kartesischen Koordinaten ersetzt. Die folgende Aufgabe Jacobian J     n ¯ × n ¯
Figure DE102021112485B3_0016
leistet das Mapping auf Aufgabenraumgeschwindigkeiten R6 mit i  G x ˙     n ¯
Figure DE102021112485B3_0017
: ( ν c ν q ˙ ƒ ) x ˙ = [ I 0 A d J ' 0 S ƒ ] J ( ν c q ˙ ) ,
Figure DE102021112485B3_0018
wo ν i = ( x ˙ i T   ω i T ) T 6 ,
Figure DE102021112485B3_0019
wobei i ∈ {r, l} die Translations- bzw. Rotationsgeschwindigkeit des linken und des rechten Fußes ist, die zu dem Geschwindigkeitsvektor ν = ( ν r T   ν l T ) T
Figure DE102021112485B3_0020
gestapelt sind. Die verbliebenen freien DoFs q̇ƒ ∈ ℝn-12 sind im Gelenkraum definiert, wobei Sƒ ∈ ℝ(n-12)×n die entsprechenden Gelenke des Gesamtgelenkvektors auswählt. Die gestapelten adjungierten Matrizes für die Beine werden durch Ad ∈ ℝ12×6 bezeichnet, und J' ∈ ℝ12×n sind die jeweiligen gestapelten Jacobi Matrizen.A sliding foot dynamics with n torque-controlled joints is used as a system model for a humanoid robot. Instead of the base coordinates, the position of the CoM x c ∈ ℝ 3 is used together with the hip orientation R b ∈ SO(3) and with the corresponding translational and rotational velocities ẋ c ∈ ℝ 3 and ω b , ∈ ℝ 3 , which correspond to the velocity vector v c = ( x ˙ c T ω b T ) T
Figure DE102021112485B3_0009
be stacked. The total number of degrees of freedom (DoF) of the system is given by n ¯ = n + 6
Figure DE102021112485B3_0010
designated. The dynamics of the system can be formulated as follows: M ( v ˙ c q ¨ ) + C ( v c q ˙ ) + ( w G 0 ) = ( 0 τ ) + τ e x t ,
Figure DE102021112485B3_0011
whereby M n ¯ × n ¯
Figure DE102021112485B3_0012
and C n ¯ × n ¯
Figure DE102021112485B3_0013
are the positive definite inertia and the Coriolis matrix, respectively. The gravity deflection is through w G = ( m G 0 T 0 T ) T
Figure DE102021112485B3_0014
where m denotes the total mass of the robot and g 0 ∈ ℝ 3 is the vector of the acceleration due to gravity. The joint positions are represented by q ∈ ℝ n and the corresponding joint torques are τ ∈ ℝ n . The variable τ e x t n ¯
Figure DE102021112485B3_0015
stands for the generalized external forces acting on the system. In order to obtain a model representation suitable for balance control, the joint coordinates of both feet are replaced with their Cartesian coordinates. The following task Jacobian J n ¯ × n ¯
Figure DE102021112485B3_0016
performs the mapping on task space speeds R6 with i G x ˙ n ¯
Figure DE102021112485B3_0017
: ( v c v q ˙ ƒ ) x ˙ = [ I 0 A i.e J ' 0 S ƒ ] J ( v c q ˙ ) ,
Figure DE102021112485B3_0018
Where v i = ( x ˙ i T ω i T ) T 6 ,
Figure DE102021112485B3_0019
where i ∈ {r, l} is the translational and rotational velocities of the left and right feet, respectively, which correspond to the velocity vector v = ( v right T v l T ) T
Figure DE102021112485B3_0020
are stacked. The remaining free DoFs q̇ ƒ ∈ ℝ n-12 are defined in the joint space, where S ƒ ∈ ℝ (n-12)×n selects the corresponding joints of the total joint vector. The stacked adjoint matrices for the legs are denoted by Ad ∈ ℝ 12×6 and J' ∈ ℝ 12×n are the respective stacked Jacobian matrices.

Der Schwerpunktdrehimpuls lc ∈ ℝ3 hängt linear vom Geschwindigkeitsvektor ab l c = A ( ν c q ˙ ) = A J 1 A x ˙ ,

Figure DE102021112485B3_0021
wobei A     3 × n ¯
Figure DE102021112485B3_0022
der Rotationsteil der Schwerpunkdrehimpulsmatrix (CMM) ist. Der Schwerpunktdrehimpuls wird in einem Frame dargestellt, der an das CoM angefügt ist und mit dem Trägheitsframe aliniert ist. Er kann auch als Funktion der Aufgabengeschwindigkeiten und eines transformierten CMM ausgedrückt werden, der mit A bezeichnet wird, unter Verwendung einer inversen Kinematik von (2). In dieser Arbeit ist J eine quadratische Matrix, von der angenommen wird, dass sie invertierbar ist; die Behandlung von Redundanz- und singulären Konfigurationen wird als Aufgabe späterer Arbeiten betrachtet. The centroid angular momentum l c ∈ ℝ 3 depends linearly on the velocity vector l c = A ( v c q ˙ ) = A J 1 A x ˙ ,
Figure DE102021112485B3_0021
whereby A 3 × n ¯
Figure DE102021112485B3_0022
is the rotation part of the centroid angular momentum matrix (CMM). The centroid angular momentum is represented in a frame attached to the CoM and aligned with the inertial frame. It can also be expressed as a function of task velocities and a transformed CMM, denoted A, using inverse kinematics of (2). In this work, J is a square matrix assumed to be invertible; the treatment of redundancy and singular configurations is considered a task for later work.

B. Auf Passivität basierende GanzkörpersteuerungB. Whole-body control based on passivity

Die Ableitung der Steuerung in diesem Abschnitt geht davon aus, dass der Roboter bei doppelter Stützfläche balanciert, aber die Formulierung kann durch Anwenden mehrerer Modifikationen auf weitere Kontaktkonfigurationen ausgeweitet werden.The derivation of the control in this section assumes that the robot balances with double the support surface, but the formulation can be extended to other contact configurations by applying several modifications.

Inspiriert durch PD+-Steuerung [26] wird das Regelschleifenverhalten formuliert wie folgt: M ( Δ ν ˙ c Δ q ¨ ) + C ( Δ ν c Δ q ˙ ) = τ e x t J T ( w c i m p w g r ƒ τ ƒ i m p ) ,

Figure DE102021112485B3_0023
wobei w grf ∈ ℝ12 die zusammengeführten Kontaktauslenkungen beider Füße bezeichnet und die Abweichung von den kommandierten Trajektorien durch Δ ν = ν c ν c c m d  und  Δ q ˙ = q ˙ q ˙ c m d
Figure DE102021112485B3_0024
wiedergegeben werden. Wobei es zu beachten gilt, dass die kommandierten Trajektorien im Aufgabenraum erzeugt werden und die entsprechenden kommandierten CoM- und Gelenkwerte über inverse Kinematik berechnet werden: ( ν c c m d q ˙ c m d ) = J 1 x ˙ c m d .
Figure DE102021112485B3_0025
Inspired by PD+ control [26], the control loop behavior is formulated as follows: M ( Δ v ˙ c Δ q ¨ ) + C ( Δ v c Δ q ˙ ) = τ e x t J T ( w c i m p w G right ƒ τ ƒ i m p ) ,
Figure DE102021112485B3_0023
where w grf ∈ ℝ 12 denotes the combined contact deflections of both feet and the deviation from the commanded trajectories by Δ v = v c v c c m i.e and Δ q ˙ = q ˙ q ˙ c m i.e
Figure DE102021112485B3_0024
be played back. It should be noted that the commanded trajectories are generated in the task space and the corresponding commanded CoM and joint values are calculated via inverse kinematics: ( v c c m i.e q ˙ c m i.e ) = J 1 x ˙ c m i.e .
Figure DE102021112485B3_0025

Die CoM-assoziierten Impedanzen werden definiert durch w c i m p = ( K c ( x c x c c m d ) + D c ( x ˙ c x ˙ c c m d ) τ r ( Σ b , ( R b c m d ) T R b ) + B b ( ω b ω b c m d ) ) ,

Figure DE102021112485B3_0026
wobei die Linear- und Rotationssteifigkeitsmatrizes Kc > 0 und Σb > 0 sowie die Linear- und Rotationsdämpfungsmatrizes Dc > 0 und Bb > 0 symmetrisch und positiv definit sind. Die kartesische Ausrichtung der Hüfte wird von einer virtuellen Rotationsfeder τ r ( Σ b , ( R b c m d ) T R b )
Figure DE102021112485B3_0027
gesteuert [20], während die Impedanz der Gelenkaufgabe durch τ ƒ i m p = K ƒ ( q ƒ q ƒ c m d ) + D ƒ ( q ˙ ƒ q ˙ ƒ c m d ) ,
Figure DE102021112485B3_0028
realisiert wird, mit den positiv definiten, linearen Feder- und Dämpfer-Matrizen Kƒ > 0 und Dƒ > 0.The CoM-associated impedances are defined by w c i m p = ( K c ( x c x c c m i.e ) + D c ( x ˙ c x ˙ c c m i.e ) τ right ( Σ b , ( R b c m i.e ) T R b ) + B b ( ω b ω b c m i.e ) ) ,
Figure DE102021112485B3_0026
where the linear and rotational stiffness matrices K c > 0 and Σ b > 0 and the linear and rotational damping matrices D c > 0 and B b > 0 are symmetric and positive definite. The Cartesian alignment of the hip is driven by a virtual rotation spring τ right ( Σ b , ( R b c m i.e ) T R b )
Figure DE102021112485B3_0027
controlled [20], while the impedance of the joint task through τ ƒ i m p = K ƒ ( q ƒ q ƒ c m i.e ) + D ƒ ( q ˙ ƒ q ˙ ƒ c m i.e ) ,
Figure DE102021112485B3_0028
is realized with the positive definite, linear spring and damper matrices K ƒ > 0 and D ƒ > 0.

Durch Vergleichen der Systemdynamik (1) und des gewünschten Regelschleifenverhaltens (4), wobei lediglich die oberen sechs Zeilen betrachtet werden, erhält man die folgende Gleichung A d T w g r ƒ = M c ( ν ˙ c c m d q ¨ c m d ) + C c ( ν c c m d q ˙ c m d ) w c ƒ ƒ w g + w c i m p ,

Figure DE102021112485B3_0029
mit der CoM-projizierten Kraftwindung(wrench) auf der rechten Seite der Gleichung und der gewünschten Gesamt-CoM-Kraftwindung auf der rechten Seite. Demgemäß werden die Trägheits- und die Coriolis-Matrix in die oberen sechs Zeilen, welche die Schwerpunkdynamik beschreiben, und den unteren Teil, d.h. M = [ M c T , M q T ] T  und  C = [ C c T , C q T ] T ,
Figure DE102021112485B3_0030
geteilt. Die Vorsteuerungs-Terme werden in w c ƒ ƒ
Figure DE102021112485B3_0031
zusammengefasst. Es gilt zu beachten, dass die transponierte adjungierte Matrix, die auch als Kontaktkarte bezeichnet wird, einen vollen Rang von sechs aufweist, während die Größe von w grf bei doppelter Stützfläche 12 ist. Um die Verteilung von wgrf in allen möglichen Konfigurationen zu bestimmen, wird ein beschränkter QP auf Basis von (8) unter Verwendung der folgenden Kontaktbeschränkungen formuliert: Kontaktunilateralität, Coulomb-Reibungsmodell, begrenzte Normalkraft, begrenztes Drehmoment auf der z-Achse und CoP-Beschränkungen. Nach Lösung der Auslenkungsverteilung werden die finalen Steuerungsdrehmomente wie folgt berechnet: τ = M q ( ν ˙ c c m d q ¨ c m d ) + C q ( ν c c m d q ˙ c m d ) ( J ' ) T w g r ƒ S ƒ T τ ƒ i m p .
Figure DE102021112485B3_0032
Comparing the system dynamics (1) and the desired control loop behavior (4) considering only the top six rows gives the following equation A i.e T w G right ƒ = M c ( v ˙ c c m i.e q ¨ c m i.e ) + C c ( v c c m i.e q ˙ c m i.e ) w c ƒ ƒ w G + w c i m p ,
Figure DE102021112485B3_0029
with the CoM projected force-turn (wrench) on the right side of the equation and the desired total CoM force-turn on the right. Accordingly, the inertial and Coriolis matrices are divided into the top six rows, which describe the centroid dynamics, and the bottom part, ie M = [ M c T , M q T ] T and C = [ C c T , C q T ] T ,
Figure DE102021112485B3_0030
divided. The feedforward terms are in w c ƒ ƒ
Figure DE102021112485B3_0031
summarized. Note that the transposed adjoint matrix, also known as the contact map, has a full rank of six, while the size of w grf is 12 with double the support area. To determine the distribution of w grf in all possible configurations, a bounded QP is formulated based on (8) using the following contact constraints: contact unilaterality, Coulomb friction model, bounded normal force, bounded z-axis torque, and CoP constraints . After solving the deflection distribution, the final control torques are calculated as follows: τ = M q ( v ˙ c c m i.e q ¨ c m i.e ) + C q ( v c c m i.e q ˙ c m i.e ) ( J ' ) T w G right ƒ S ƒ T τ ƒ i m p .
Figure DE102021112485B3_0032

Bevorzugt werden während der Ausführung der Schritte c1) bis c3) parallel und kontinuierlich die Verfahrensschritte a) und b) ausgeführt, bei Überschreiten mindestens einen vorgegebenen Grenzwertes Schritt b) die aktuell ablaufende Ausführung der Schritte c1) bis c3) abgebrochen und die Schritte c1) bis c3) erneut ausgeführt.Method steps a) and b) are preferably carried out in parallel and continuously during the execution of steps c1) to c3), if at least one predetermined limit value is exceeded in step b), the currently running execution of steps c1) to c3) is aborted and steps c1) to c3) executed again.

Erfindungsgemäß kann es weiterhin vorgesehen werden, dass der Verfahrensschritt d) die folgenden Schritte umfasst:

  • d1) Aufteilen der Gesamtanzahl der n Freiheitsgrade im Aufgabenraum in: k zu beeinflussende Freiheitsgrade mit den zugehörigen Aufgabenvariablen xa sowie in n k unveränderte Freiheitsgrade mit den zugehörigen Aufgabenvariablen xu, mit k     { 0, , n ¯ } ;
    Figure DE102021112485B3_0033
  • d2) Bestimmen der optimierten Geschwindigkeiten unter Erfüllung der Beziehung: l c r e ƒ = A ¯ a x ˙ a o p t + A ¯ u x ˙ u r e ƒ ,
    Figure DE102021112485B3_0034
  • d3) Lösen der Beziehung in d2) durch Formulieren eines quadratischen Optimierungsproblems mit Nebenbedingungen zu: min x ˙ a o p t ( 1 2 δ l T Q l δ l + 1 2 δ p T Q p δ p ) ,
    Figure DE102021112485B3_0035
wobei QL und QR > 0 Gewichtungsmatrizen darstellen, welche beide positiv definit und symmetrisch sind mit den Residuen: δ l = A ¯ a x ˙ a o p t + A ¯ u x ˙ u r e ƒ l c r e ƒ ,
Figure DE102021112485B3_0036
δ p = x ˙ a o p t x ˙ a d ,
Figure DE102021112485B3_0037
unter Beachtung der Randbedingungen: x ˙ a m i n x ˙ a o p t x ˙ a m a x .
Figure DE102021112485B3_0038
wobei die gewünschte Geschwindigkeit x ˙ a d
Figure DE102021112485B3_0039
basierend auf der Abweichung der optimierten Position von ihrer Referenzposition x a r e ƒ
Figure DE102021112485B3_0040
berechnet wird: x ˙ a d = x ˙ a r e ƒ + K p ( x a r e ƒ x a o p t ) ,
Figure DE102021112485B3_0041
wobei Referenzgeschwindigkeit x ˙ a r e ƒ
Figure DE102021112485B3_0042
für die zu optimierenden Variablen und die zugehörige Referenzposition x a r e ƒ
Figure DE102021112485B3_0043
als Eingabegrößen bekannt sind, wobei die Konvergenz des Roboters zu der Referenzpose durch die Designparameter Kp > 0 beeinflussbar ist, welcher diagonal und positiv definit gewählt wird mit den Positionsbegrenzungen ( x _ a ,   x ¯ a ) ,
Figure DE102021112485B3_0044
und den Geschwindigkeitsbegrenzungen ( x ˙ a ,   x ˙ ¯ a ) ,
Figure DE102021112485B3_0045
x ˙ a m i n = max ( K a ( x _ a x a o p t ) ,   x ˙ _ a ) , x ˙ a m a x = min ( K a ( x ¯ a x a o p t ) ,   x ˙ ¯ a ) .
Figure DE102021112485B3_0046
mit Ka > 0, wobei Ka diagonal und positiv definit ist;
  • d4) Berechnen der optimierten Position x a o p t
    Figure DE102021112485B3_0047
    durch Integrieren der optimierten Geschwindigkeiten x ˙ a o p t
    Figure DE102021112485B3_0048
    über die Zeit; sowie
  • d5) Zusammensetzen der optimierten Position x a o p t
    Figure DE102021112485B3_0049
    für die veränderlichen Freiheitsgrade mit der Referenzposition x u r e ƒ
    Figure DE102021112485B3_0050
    der unveränderlichen Freiheitsgrade zu ( x c m d ) T = ( ( x a o p t ) T , ( x u r e ƒ ) T )
    Figure DE102021112485B3_0051
    und als Ganzkörperbewegung.
According to the invention, it can also be provided that method step d) comprises the following steps:
  • d1) Dividing the total number of n Degrees of freedom in the task space in: k degrees of freedom to be influenced with the associated task variables x a and in n k unchanged degrees of freedom with the associated task variables x u , with k { 0, ... , n ¯ } ;
    Figure DE102021112485B3_0033
  • d2) determining the optimized speeds satisfying the relationship: l c right e ƒ = A ¯ a x ˙ a O p t + A ¯ and x ˙ and right e ƒ ,
    Figure DE102021112485B3_0034
  • d3) Solving the relation in d2) by formulating a quadratic optimization problem with constraints to: at least x ˙ a O p t ( 1 2 δ l T Q l δ l + 1 2 δ p T Q p δ p ) ,
    Figure DE102021112485B3_0035
where Q L and Q R > 0 represent weight matrices, both of which are positive definite and symmetric with the residuals: δ l = A ¯ a x ˙ a O p t + A ¯ and x ˙ and right e ƒ l c right e ƒ ,
Figure DE102021112485B3_0036
δ p = x ˙ a O p t x ˙ a i.e ,
Figure DE102021112485B3_0037
taking into account the boundary conditions: x ˙ a m i n x ˙ a O p t x ˙ a m a x .
Figure DE102021112485B3_0038
where the desired speed x ˙ a i.e
Figure DE102021112485B3_0039
based on the deviation of the optimized position from its reference position x a right e ƒ
Figure DE102021112485B3_0040
is calculated: x ˙ a i.e = x ˙ a right e ƒ + K p ( x a right e ƒ x a O p t ) ,
Figure DE102021112485B3_0041
where reference speed x ˙ a right e ƒ
Figure DE102021112485B3_0042
for the variables to be optimized and the associated reference position x a right e ƒ
Figure DE102021112485B3_0043
are known as input variables, where the convergence of the robot to the reference pose can be influenced by the design parameters K p > 0, which is chosen to be diagonal and positive definite with the pose constraints ( x _ a , x ¯ a ) ,
Figure DE102021112485B3_0044
and the speed limits ( x ˙ a , x ˙ ¯ a ) ,
Figure DE102021112485B3_0045
x ˙ a m i n = Max ( K a ( x _ a x a O p t ) , x ˙ _ a ) , x ˙ a m a x = at least ( K a ( x ¯ a x a O p t ) , x ˙ ¯ a ) .
Figure DE102021112485B3_0046
with K a > 0, where K a is diagonal and positive definite;
  • d4) Calculating the optimized position x a O p t
    Figure DE102021112485B3_0047
    by integrating the optimized speeds x ˙ a O p t
    Figure DE102021112485B3_0048
    over time; such as
  • d5) assembling the optimized position x a O p t
    Figure DE102021112485B3_0049
    for the variable degrees of freedom with the reference position x and right e ƒ
    Figure DE102021112485B3_0050
    of the invariable degrees of freedom ( x c m i.e ) T = ( ( x a O p t ) T , ( x and right e ƒ ) T )
    Figure DE102021112485B3_0051
    and as a whole body movement.

A. GanzkörperbewegungsoptimierungA. Whole Body Movement Optimization

Der gesamte Aufgabenraum wird in k Freiheitsgrade-DoFs, die innerhalb des Bewegungsoptimierers angepasst werden, und die übrigen n k DoFs, die unverändert bleiben, aufgeteilt, wobei k     { 0, , n ¯ } .

Figure DE102021112485B3_0052
The entire task space is expressed in k degrees of freedom DoFs that are within the motion opti mierers to be adjusted, and the rest n — split k DoFs that remain unchanged, where k { 0, ... , n ¯ } .
Figure DE102021112485B3_0052

Das transformierte CMM und der Aufgabenraum-Geschwindigkeitsvektor (3) können dementsprechend aufgeteilt werden als A ¯ = [ A ¯ 1     A ¯ k A ¯ a 3 × k   A ¯ k + 1     A ¯ n ¯ A ¯ u 3 × ( n ¯ k ) ] ,

Figure DE102021112485B3_0053
x ˙ T = ( x ˙ 1     x ˙ k x ˙ a T k   x ˙ k + 1     x ˙ n x ˙ u T ( n k ) ) ,
Figure DE102021112485B3_0054
wobei die Indizes a und u angepasste bzw. unveränderte DoFs bezeichnen. Die Optimierungsvariablen können online und abhängig von der Kontaktkonfiguration und dem Planungsziel ausgewählt werden. Wenn beispielsweise nur die Geschwindigkeiten der Gelenkaufgabe in Bezug auf ein Schwerpunktdrehimpuls-Ziel angepasst werden sollen, wird der Aufgabenraum-Geschwindigkeitsvektor wie folgt zugewiesen: x ˙ a = q ˙ ƒ
Figure DE102021112485B3_0055
und x ˙ u = ( ν c T   ν T ) T .
Figure DE102021112485B3_0056
Accordingly, the transformed CMM and the task space velocity vector (3) can be partitioned as A ¯ = [ A ¯ 1 A ¯ k A ¯ a 3 × k A ¯ k + 1 A ¯ n ¯ A ¯ and 3 × ( n ¯ k ) ] ,
Figure DE102021112485B3_0053
x ˙ T = ( x ˙ 1 x ˙ k x ˙ a T k x ˙ k + 1 x ˙ n x ˙ and T ( n k ) ) ,
Figure DE102021112485B3_0054
where the indices a and u denote adjusted and unmodified DoFs, respectively. The optimization variables can be selected online and depending on the contact configuration and planning objective. For example, if only the joint task velocities are to be adjusted with respect to a centroid angular momentum target, the task space velocity vector is assigned as follows: x ˙ a = q ˙ ƒ
Figure DE102021112485B3_0055
and x ˙ and = ( v c T v T ) T .
Figure DE102021112485B3_0056

Das Ziel besteht darin, optimierte Geschwindigkeiten x ˙ a o p t

Figure DE102021112485B3_0057
für k ausgewählten DoFs zu finden, um einen vordefinierten Referenz-Schwerpunktdrehimpuls l c r e ƒ
Figure DE102021112485B3_0058
für das System zu induzieren. Wie in 1 gezeigt ist, wird der Referenz-Schwerpunktdrehimpuls aus dem Schwerpunktdrehimpuls-Referenzwerterzeuger erhalten, der in den Abschnitten III-B und III-C vorgestellt wird. Durch Umformulieren von (3) werden die optimierten Geschwindigkeiten so bestimmt, dass sie folgendes erfüllen: l c r e ƒ = A ¯ a x ˙ a o p t + A ¯ u x ˙ u r e ƒ ,
Figure DE102021112485B3_0059
mit den Residuen δ l = A ¯ a x ˙ a o p t + A ¯ u x ˙ u r e ƒ l c r e ƒ ,
Figure DE102021112485B3_0060
δ p = x ˙ a o p t x ˙ a d ,
Figure DE102021112485B3_0061
und vorbehaltlich der Beschränkungen x ˙ a m i n x ˙ a o p t x ˙ a m a x .
Figure DE102021112485B3_0062
The goal is optimized speeds x ˙ a O p t
Figure DE102021112485B3_0057
for k selected DoFs to find a predefined reference centroid angular momentum l c right e ƒ
Figure DE102021112485B3_0058
for the system to induce. As in 1 As shown, the reference centroid angular momentum is obtained from the centroid angular momentum reference generator presented in Sections III-B and III-C. Rephrasing (3), the optimized velocities are determined to satisfy: l c right e ƒ = A ¯ a x ˙ a O p t + A ¯ and x ˙ and right e ƒ ,
Figure DE102021112485B3_0059
with the residuals δ l = A ¯ a x ˙ a O p t + A ¯ and x ˙ and right e ƒ l c right e ƒ ,
Figure DE102021112485B3_0060
δ p = x ˙ a O p t x ˙ a i.e ,
Figure DE102021112485B3_0061
and subject to the restrictions x ˙ a m i n x ˙ a O p t x ˙ a m a x .
Figure DE102021112485B3_0062

Die gewünschte Geschwindigkeit x ˙ a d

Figure DE102021112485B3_0063
in (14b) wird auf Basis der Abweichung der optimierten Haltung von ihrem Referenzwert x ˙ a d = x ˙ a r e ƒ + K p ( x a r e ƒ x a o p t ) ,
Figure DE102021112485B3_0064
berechnet, wobei die Referenzgeschwindigkeit für die Optimierungsvariablen x ˙ a r e ƒ
Figure DE102021112485B3_0065
und die entsprechende Position x a r e ƒ
Figure DE102021112485B3_0066
von dem Trajektorieplaner bereitgestellt werden. Die optimierte Position x _ a o p t
Figure DE102021112485B3_0067
wird erhalten aus x ˙ a o p t
Figure DE102021112485B3_0068
durch Integration in Bezug auf die Zeit. Das Konvergenzverhalten des Roboters in Richtung auf seine Referenzpose kann durch den Designparameter Kp > 0 beeinflusst werden, der diagonal und positiv definit ist.The desired speed x ˙ a i.e
Figure DE102021112485B3_0063
in (14b) is based on the deviation of the optimized posture from its reference value x ˙ a i.e = x ˙ a right e ƒ + K p ( x a right e ƒ x a O p t ) ,
Figure DE102021112485B3_0064
calculated using the reference speed for the optimization variables x ˙ a right e ƒ
Figure DE102021112485B3_0065
and the corresponding position x a right e ƒ
Figure DE102021112485B3_0066
be provided by the trajectory planner. The optimized position x _ a O p t
Figure DE102021112485B3_0067
will get off x ˙ a O p t
Figure DE102021112485B3_0068
by integration with respect to time. The convergence behavior of the robot towards its reference pose can be influenced by the design parameter Kp > 0, which is diagonal and positive definite.

Der QP findet einen Kompromiss zwischen einer Drehimpulsaufgabe (14a) und einer Referenzhaltungsaufgabe (14b). Die nicht-strikten Prioritäten zwischen den beiden Aufgaben können auf Basis der Wahl der Gewichtungsmatrizes Ql und Qp > 0, die beide positiv definit und symmetrisch sind, angepasst werden. Eine nichtstrikte Aufgabenhierarchie ist notwendig, damit der Roboter sich seiner Referenzhaltung ganz annähern kann, auch wenn l c r e ƒ 0.

Figure DE102021112485B3_0069
Die Kombination eines Drehimpulses und einer Haltungsaufgabe wird gewählt, weil eine Optimierung für nur den Schwerpunktdrehimpuls (14a) zu ungünstigen Körperhaltungen führen kann. Die Referenzhaltung, die von dem Trajektorieplaner bereitgestellt wird, wird auf Basis von Zielen hochrangiger Aufgaben definiert.The QP finds a compromise between an angular momentum task (14a) and a reference posture task (14b). The non-strict priorities between the two tasks can be adjusted based on the choice of the weight matrices Q l and Q p > 0, both of which are positive definite and symmetric. A non-strict task hierarchy is necessary to allow the robot to approach its reference pose quite closely, even if l c right e ƒ 0
Figure DE102021112485B3_0069
The combination of an angular momentum and a posture task is chosen because an optimization for only the center of gravity angular momentum (14a) can lead to unfavorable body postures. The reference attitude provided by the trajectory planner is defined based on goals of high-level tasks.

Die kinematischen Beschränkungen im Aufgabenraum (15) stellen sicher, dass vordefinierte Positionsbegrenzungen ( x _ a , x ¯ a )

Figure DE102021112485B3_0070
und Geschwindigkeitsbegrenzungen ( x ˙ _ a , x ˙ ¯ a )
Figure DE102021112485B3_0071
nicht überschritten werden x ˙ a m i n = max ( K a ( x _ a x a o p t ) ,   x ˙ _ a ) , x ˙ a m a x = min ( K a ( x ¯ a x a o p t ) ,   x ˙ ¯ a ) ,
Figure DE102021112485B3_0072
wobei Ka > 0 diagonal und positiv definit ist. Größere Werte von Ka führen zu einem breiteren Bereich, wo die Optimierung (13) unbeeinflusst bleibt, aber sie verlangen auch höhere Beschleunigungen in der Nachbarschaft der Beschränkung. Diese Beschränkungen können auf eine Eigenkollisionsvermeidung oder Singular-Konfigurationsverhinderung auf kartesischer Basis ausgeweitet werden. Auf Basis der optimierten Geschwindigkeiten werden die entsprechenden kommandierten Ganzkörpertrajektorien durch numerische Differenzierung und Integration erzeugt und schließlich mit den unveränderten DoFs zusammengeführt.The kinematic constraints in task space (15) ensure that predefined position constraints ( x _ a , x ¯ a )
Figure DE102021112485B3_0070
and speed limits ( x ˙ _ a , x ˙ ¯ a )
Figure DE102021112485B3_0071
not be exceeded x ˙ a m i n = Max ( K a ( x _ a x a O p t ) , x ˙ _ a ) , x ˙ a m a x = at least ( K a ( x ¯ a x a O p t ) , x ˙ ¯ a ) ,
Figure DE102021112485B3_0072
where Ka > 0 is diagonal and positive definite. Larger values of Ka lead to a wider range where the optimization (13) remains unaffected, but they also require higher accelerations in the vicinity of the constraint. These constraints can be extended to Cartesian-based intrinsic collision avoidance or singular configuration avoidance. Based on the optimized velocities, the corresponding commanded whole-body trajectories are generated by numerical differentiation and integration and finally merged with the unchanged DoFs.

Bevorzugt kann es erfindungsgemäß vorgesehen sein, dass im Verfahrensschritt a) zusätzlich die folgenden Schritte ausgeführt werden:

  • a1) bei dem Vorliegen einer Mehrzahl von Stützflächen, Ersetzen der Mehrzahl von Stützflächen durch eine einzige virtuelle Aufstützfläche, deren Mittelpunkt xv durch den Mittelpunkt der mehreren Stützflächen gebildet wird und deren Fläche, welche der Summe der mehreren Stützflächen entspricht,
  • a2) Berechnen des Kontaktdrehmomentes τv ∈ ℝ3 der virtuellen Aufstützfläche zu: τ v = [ x ^ v , c I ] A d v , r o t T ( w c ƒ ƒ w g + w c i m p ) ,
    Figure DE102021112485B3_0073
    wobei x̂v,c die Kreuzproduktmatrix des Vektors xv,c = xc - xv zwischen der Schwerpunktsposition xc und der Position der Aufstützfläche xv ist, wobei der Rotationsteil der invertierten adjungierten Matrix der virtuellen Aufstützfläche, die durch Konstruktion einen vollen Rang aufweist, wird dargestellt durch A d v , r o t T ;
    Figure DE102021112485B3_0074
  • a3) weiteres Aufteilen der Kontaktdrehmomente in Schritt a2) zu: τ v = A d v , r o t T w c ƒ ƒ τ v h i p + A d v , r o t T ( w g + w c i m p ) τ v a n k l e .
    Figure DE102021112485B3_0075
  • wobei τ v h i p
    Figure DE102021112485B3_0076
    die Kontaktdrehmomente darstellt, die durch eine gewollte Bewegung des Oberkörpers erzeugt werden, hier in Form der Vorwärtskopplungsterme, und daher einer Hüftstrategie zugeordnet ist. Die Kontaktdrehmomente, die durch Schwerkrafts- und Impedanzterme induziert werden, werden von τ v a n k l e
    Figure DE102021112485B3_0077
    zusammengefasst, die als Fußgelenksstrategie betrachtet werden, da sie das resultierende Kontaktdrehmoment angeben, das vorhanden wäre, wenn eine feste Körperhaltung bewahrt werden würde, d.h. wenn w c ƒ ƒ = 0 ;
    Figure DE102021112485B3_0078
  • a4) Umformulieren der Vorsteuerungs-Terme in (8) die mit erweiterter Trägheits- und Coriolis-Matrix wie folgt umformuliert werden zu: ( ƒ c ƒ ƒ τ b ƒ ƒ ) w c ƒ ƒ = [ m I 0 0 0 M ω ω M ω q ] M c ( x ¨ c c m d ω ˙ b c m d q ¨ c m d ) + [ 0 C ω ] C c ( x ˙ c c m d ω b c m d q ˙ c m d ) .
    Figure DE102021112485B3_0079
    wobei die Vorsteuerungs-Kraft und das -Drehmoment ƒ c ƒ ƒ
    Figure DE102021112485B3_0080
    bzw. τ b ƒ ƒ
    Figure DE102021112485B3_0081
    sind. Das Vorsteuerungs-Drehmoment kann als die Änderungsrate des Schwerpunktdrehimpulses interpretiert werden, der sich aus der kommandierten Trajektorie ergibt, die über inverse Kinematik (5) aus dem Aufgabenraum transformiert wird. Die kommandierte Schwerpunkts-Geschwindigkeit und -Beschleunigung, und daher auch ƒ c ƒ ƒ ,
    Figure DE102021112485B3_0082
    ist für Ausbalancierungsszenarios als null definiert. Infolgedessen wird das Hüft-Kontaktdrehmoment vereinfacht zu τ v h i p = τ b ƒ ƒ = i c c m d ,
    Figure DE102021112485B3_0083
    wo i c c m d
    Figure DE102021112485B3_0084
    die Änderungsrate des kommandierten Schwerpunktdrehimpulses ist.
It can preferably be provided according to the invention that the following steps are additionally carried out in method step a):
  • a1) in the presence of a plurality of support surfaces, replacing the plurality of support surfaces with a single virtual support surface, whose center point x v is formed by the center point of the multiple support surfaces and whose area corresponds to the sum of the multiple support surfaces,
  • a2) Calculation of the contact torque τ v ∈ ℝ 3 of the virtual contact surface to: τ v = [ x ^ v , c I ] A i.e v , right O t T ( w c ƒ ƒ w G + w c i m p ) ,
    Figure DE102021112485B3_0073
    where x̂ v,c is the cross product matrix of the vector x v,c = x c - x v between the centroid position x c and the bearing surface position x v , where the rotation part of the inverted adjoint matrix of the virtual bearing surface, which by construction has a full rank has is represented by A i.e v , right O t T ;
    Figure DE102021112485B3_0074
  • a3) further splitting of the contact torques in step a2) to: τ v = A i.e v , right O t T w c ƒ ƒ τ v H i p + A i.e v , right O t T ( w G + w c i m p ) τ v a n k l e .
    Figure DE102021112485B3_0075
  • whereby τ v H i p
    Figure DE102021112485B3_0076
    which represents contact torques generated by voluntary movement of the upper body, here in terms of the feedforward terms, and is therefore associated with a hip strategy. The contact torques induced by gravity and impedance terms are accounted for by τ v a n k l e
    Figure DE102021112485B3_0077
    summarized, which are considered an ankle strategy because they indicate the resultant contact torque that would be present if a fixed body posture were maintained, i.e. if w c ƒ ƒ = 0 ;
    Figure DE102021112485B3_0078
  • a4) Rewrite the feedforward terms in (8) which, with the extended inertia and Coriolis matrix, are rewritten as follows: ( ƒ c ƒ ƒ τ b ƒ ƒ ) w c ƒ ƒ = [ m I 0 0 0 M ω ω M ω q ] M c ( x ¨ c c m i.e ω ˙ b c m i.e q ¨ c m i.e ) + [ 0 C ω ] C c ( x ˙ c c m i.e ω b c m i.e q ˙ c m i.e ) .
    Figure DE102021112485B3_0079
    where the pilot force and torque ƒ c ƒ ƒ
    Figure DE102021112485B3_0080
    or. τ b ƒ ƒ
    Figure DE102021112485B3_0081
    are. The feedforward torque can be interpreted as the rate of change of the centroid angular momentum resulting from the commanded trajectory transformed from the task space via inverse kinematics (5). The commanded center of gravity velocity and acceleration, and hence also ƒ c ƒ ƒ ,
    Figure DE102021112485B3_0082
    is defined as zero for balancing scenarios. As a result, the hip contact torque is simplified to τ v H i p = τ b ƒ ƒ = i c c m i.e ,
    Figure DE102021112485B3_0083
    Where i c c m i.e
    Figure DE102021112485B3_0084
    is the rate of change of commanded centroid angular momentum.

B. Hüft- und Fußgelenksstrategie im Kontext von auf Passivität basierender GanzkörpersteuerungB. Hip and ankle strategy in the context of passivity-based whole-body control

Für Ausbalancierungsszenarios erzeugt der High-Level-Planner Trajektorien, um eine feste Haltung zu bewahren, d.h., dass die Referenzwerte auf Geschwindigkeits- und Beschleunigungsebene null sind, x ˙ r e f   =   x ¨ r e f   =   0.

Figure DE102021112485B3_0085
Daher wird die Ganzkörperbewegung, die sich aus einem Stoß von außen ergibt, nur durch das erfindungsgemäße Verfahren erzeugt. Da die Kontaktauslenkungen die Kontaktbeschränkungen einhalten müssen, existieren ein oberer und ein unterer Grenzwert für die maximale erzeugbare CoM-Auslenkung. Genauer werden in dem Fall, wo Störungen aufgrund von Stößen vorkommen, die Kontaktauslenkungsbeschränkungen leicht erreicht, d.h. der CoP nähert sich dem Rand der Abstützfläche, und es kann zu einer Drehung oder Kippung des Fußes kommen, die bewirkt, dass der Roboter hinfällt. Um dies zu verhindern, muss durch aktives Erzeugen eines Schwerpunktdrehimpulses, der den vorhandenen Kontaktauslenkungen entgegenwirkt, ein zusätzliches Drehmoment um das CoM induziert werden. Als Folge davon können gewünschte CoM-Auslenkungen mit größeren Werten erzeugt werden, d.h. es können stärkere Stöße ausgeglichen werden.For balancing scenarios, the high-level planner generates trajectories to maintain a fixed attitude, ie that the reference values at the velocity and acceleration levels are zero, x ˙ right e f = x ¨ right e f = 0
Figure DE102021112485B3_0085
Therefore, the whole body movement resulting from an external impact is generated only by the method of the present invention. Since the contact deflections must comply with the contact restrictions, there is an upper and a lower limit for the maximum CoM deflection that can be generated. More specifically, in the case where disturbances occur due to impacts, the contact deflection limitations are easily reached, ie the CoP approaches the edge of the support surface, and foot rotation or tilting may occur, causing the robot to fall. To prevent this, an additional torque must be induced around the CoM by actively generating a centroid angular momentum that counteracts the existing contact deflections. As a result, desired CoM deflections can be generated with larger values, ie stronger shocks can be compensated.

Der Referenz-Schwerpunktdrehimpuls wird auf Basis der erforderlichen Kontaktdrehmomente berechnet. Um das Auslenkungsverteilungsproblem zu umgehen und die adjungierte Matrix (8) invertierbar zu machen, werden die Kontaktdrehmomente für einen einzelnen virtuellen Standfuß berechnet, dessen Zentrum sich bei doppelter Stützung zwischen der Position des rechten und des linken Fußes befindet, d. h. x v = 1 2 ( x r + x l ) ,

Figure DE102021112485B3_0086
oder der Fußposition des Standfußes bei einfacher Stützung gleich ist. Der virtuelle Standfuß hat eine Größe, die der Stützfläche des Roboters gleich ist. Durch Anwendung dieser Vereinfachung und Umformulierung (8) wird das Kontaktdrehmoment des virtuellen Standfußes τv ∈ ℝ3 erhalten als τ v = [ x ^ v , c I ] A d v , r o t T ( w c ƒ ƒ w g + w c i m p ) ,
Figure DE102021112485B3_0087
wo x̂v,c die Kreuzproduktmatrix des Vektors xv,c = xc - xv zwischen dem CoM und der Position des virtuellen Standfußes ist. Der Rotationsteil der invertierten adjungierten Matrix des virtuellen Standfußes, die durch Konstruktion einen vollen Rang aufweist, wird dargestellt durch A d v , r o t T .
Figure DE102021112485B3_0088
Die Kontaktdrehmomente in (18) können weiter aufgeteilt werden wie folgt: τ v = A d v , r o t T w c ƒ ƒ τ v h i p + A d v , r o t T ( w g + w c i m p ) τ v a n k l e .
Figure DE102021112485B3_0089
wo τ v h i p
Figure DE102021112485B3_0090
die Kontaktdrehmomente darstellt, die durch eine gewollte Bewegung des Oberkörpers erzeugt werden, hier in Form der Vorwärtskopplungsterme, und daher einer Hüftstrategie zugeordnet ist. Die Kontaktdrehmomente, die durch Schwerkrafts- und Impedanzterme induziert werden, werden von τ v a n k l e
Figure DE102021112485B3_0091
zusammengefasst, die als Fußgelenksstrategie betrachtet werden, da sie das resultierende Kontaktdrehmoment angeben, das vorhanden wäre, wenn eine feste Körperhaltung bewahrt werden würde, d.h. wenn w c ƒ ƒ = 0.
Figure DE102021112485B3_0092
The reference centroid angular momentum is calculated based on the required contact torques. To circumvent the displacement distribution problem and make the adjoint matrix (8) invertible, the contact torques are calculated for a single virtual foot whose center is between the right and left foot position under double support, ie x v = 1 2 ( x right + x l ) ,
Figure DE102021112485B3_0086
or equal to the foot position of the stand in simple support. The virtual foot has a size equal to the robot's support surface. Applying this simplification and reformulation (8), the contact torque of the virtual foot τ v ∈ ℝ 3 is obtained as τ v = [ x ^ v , c I ] A i.e v , right O t T ( w c ƒ ƒ w G + w c i m p ) ,
Figure DE102021112485B3_0087
where x̂ v,c is the cross product matrix of the vector x v , c = x c - x v between the CoM and the position of the virtual stand. The rotation part of the inverted adjoint matrix of the virtual pedestal, which is full rank by construction, is represented by A i.e v , right O t T .
Figure DE102021112485B3_0088
The contact torques in (18) can be further broken down as follows: τ v = A i.e v , right O t T w c ƒ ƒ τ v H i p + A i.e v , right O t T ( w G + w c i m p ) τ v a n k l e .
Figure DE102021112485B3_0089
Where τ v H i p
Figure DE102021112485B3_0090
which represents contact torques generated by voluntary movement of the upper body, here in terms of the feedforward terms, and is therefore associated with a hip strategy. The contact torques induced by gravity and impedance terms are accounted for by τ v a n k l e
Figure DE102021112485B3_0091
summarized, which are considered an ankle strategy because they indicate the resultant contact torque that would be present if a fixed body posture were maintained, i.e. if w c ƒ ƒ = 0
Figure DE102021112485B3_0092

Die Vorsteuerungs-Terme in (8) können mit erweiterter Trägheits- und Coriolis-Matrix wie folgt umformuliert werden: ( ƒ c ƒ ƒ τ b ƒ ƒ ) w c ƒ ƒ = [ m I 0 0 0 M ω ω M ω q ] M c ( x ¨ c c m d ω ˙ b c m d q ¨ c m d ) + [ 0 C ω ] C c ( x ˙ c c m d ω b c m d q ˙ c m d ) .

Figure DE102021112485B3_0093
wo die Vorsteuerungs-Kraft und das -Drehmoment ƒ c ƒ ƒ
Figure DE102021112485B3_0094
bzw. τ b ƒ ƒ
Figure DE102021112485B3_0095
sind. Das Vorsteuerungs-Drehmoment kann als die Änderungsrate des Schwerpunktdrehimpulses interpretiert werden, der sich aus der kommandierten Trajektorie ergibt, die über inverse Kinematik (5) aus dem Aufgabenraum transformiert wird. Die kommandierte CoM-Geschwindigkeit und -Beschleunigung, und daher auch ƒ c ƒ ƒ ,
Figure DE102021112485B3_0096
ist für Ausbalancierungsszenarios als null definiert. Infolgedessen wird das Hüft-Kontaktdrehmoment vereinfacht zu τ v h i p = τ b ƒ ƒ = i c c m d ,
Figure DE102021112485B3_0097
wo i c c m d
Figure DE102021112485B3_0098
die Änderungsrate des kommandierten Schwerpunktdrehimpuls ist.The feedforward terms in (8) can be reformulated using extended inertia and Coriolis matrices as follows: ( ƒ c ƒ ƒ τ b ƒ ƒ ) w c ƒ ƒ = [ m I 0 0 0 M ω ω M ω q ] M c ( x ¨ c c m i.e ω ˙ b c m i.e q ¨ c m i.e ) + [ 0 C ω ] C c ( x ˙ c c m i.e ω b c m i.e q ˙ c m i.e ) .
Figure DE102021112485B3_0093
where the pilot force and torque ƒ c ƒ ƒ
Figure DE102021112485B3_0094
or. τ b ƒ ƒ
Figure DE102021112485B3_0095
are. The feedforward torque can be interpreted as the rate of change of the centroid angular momentum resulting from the commanded trajectory transformed from the task space via inverse kinematics (5). The commanded CoM speed and acceleration, and hence ƒ c ƒ ƒ ,
Figure DE102021112485B3_0096
is defined as zero for balancing scenarios. As a result, the hip contact torque is simplified to τ v H i p = τ b ƒ ƒ = i c c m i.e ,
Figure DE102021112485B3_0097
Where i c c m i.e
Figure DE102021112485B3_0098
is the rate of change of commanded centroid angular momentum.

Erfindungsgemäß kann es vorgesehen werden, dass die Grenzen für die xy-Ebene auf Basis der Beschränkung berechnet werden, dass der kombinierte Druckmittelpunkt pv ∈ ℝ2 innerhalb einer virtuellen Aufstützfläche Sv p v = 1 ƒ v , z ( τ v , y τ v , x ) S v ,

Figure DE102021112485B3_0099
liegen muss, wobei ƒv,z die gesamte vertikale Kraft ist, die auf den Boden aufgebracht wird.According to the invention, it can be provided that the limits for the xy plane are calculated on the basis of the restriction that the combined center of pressure p v ∈ ℝ 2 within a virtual support surface Sv p v = 1 ƒ v , e.g ( τ v , y τ v , x ) S v ,
Figure DE102021112485B3_0099
where ƒ v,z is the total vertical force applied to the ground.

C. Schwerpunktdrehimpuls-Referenzwerterzeugung für Ausbalancierungsszenarios mit KraftstörungC. Centroid angular momentum reference generation for force disturbance balancing scenarios

In diesem Abschnitt wird ein Verfahren für die Planung der Aktivierungszeit der Hüftstrategie vorgestellt, und ein entsprechender Schwerpunktdrehimpuls-Referenzwert wird bereitgestellt. Auf Basis von τ v a n k l e

Figure DE102021112485B3_0100
τv (19) werden ein Referenz-Schwerpunktdrehimpuls und daher auch ein resultierender τ v h i p
Figure DE102021112485B3_0101
so erzeugt, dass τv innerhalb seiner Grenzen τ v m i n / m a x 3
Figure DE102021112485B3_0102
bleibt. Die Grenzen des Drehmoments um die z-Achse werden durch vordefinierte obere und untere Werte [21], [22] approximiert. Die Grenzen für die xy-Ebene werden auf Basis der Beschränkung berechnet, dass der kombinierte CoP pv ∈ ℝ2 innerhalb des virtuellen Standfußes Sv p v = 1 ƒ v , z ( τ v , y τ v , x ) S v ,
Figure DE102021112485B3_0103
liegen muss, wobei fv,z die gesamte vertikale Kraft ist, die auf den Boden aufgebracht wird. Um den begrenzten Drehimpuls-Speicherkapazitäten eines Humanoiden Rechnung zu tragen, wird die Schwerpunktdrehimpuls-Referenzwerterzeugung in drei aufeinanderfolgende Phasen unterteilt: 1) die erste Phase erzeugt aktiv einen Schwerpunktdrehimpuls, um die äußeren Kräfte auszugleichen, die durch eine Störung (z.B. einen Stoß) hervorgerufen werden; 2) die zweite Phase bringt den Schwerpunktdrehimpuls-Referenzwert auf null zurück, um den Roboter anzuhalten; und 3) die letzte Phase stellt sicher, dass der Roboter zu seiner Referenzpose zurückkehrt. Ein Zurückschalten auf Phase 1 ist jederzeit möglich, wenn ein weiterer Stoß erfasst wird. Der Push-Recovery-Algorithmus wird unabhängig für jede räumliche Dimension i ∈ {x, y, z} angewendet, die an dem (möglicherweise gedrehten) virtuellen Standfuß ausgerichtet ist, d.h. es können Stöße aus allen Richtungen unabhängig in der jeweiligen Achse kompensiert werden. Um der Klarheit willen werden die Indizes ab jetzt weggelassen. Die vorgestellten Beziehungen in Skalarform gelten für jede räumliche Dimension. Der vorgeschlagene Algorithmus wird mit Simulationsergebnissen unter Verwendung der Humanoidroboterplattform OpenHRP [28] erläutert, wobei in experimentellen Verifizierungen das gleiche Robotermodell verwendet wird.In this section, a method for planning the activation time of the hip strategy is presented and a corresponding center of gravity angular momentum reference value is provided. Based on τ v a n k l e
Figure DE102021112485B3_0100
τ v (19) becomes a reference centroid angular momentum and therefore also a resultant one τ v H i p
Figure DE102021112485B3_0101
generated in such a way that τ v is within its bounds τ v m i n / m a x 3
Figure DE102021112485B3_0102
remains. The limits of the torque about the z-axis are approximated by predefined upper and lower values [21], [22]. The xy-plane bounds are computed based on the constraint that the combined CoP p v ∈ ℝ 2 is within the virtual pedestal Sv p v = 1 ƒ v , e.g ( τ v , y τ v , x ) S v ,
Figure DE102021112485B3_0103
where fv ,z is the total vertical force applied to the ground. To accommodate the limited angular momentum storage capacities of a humanoid, the centroid angular momentum reference generation is divided into three sequential phases: 1) the first phase actively generates a centroid angular momentum to counterbalance the external forces induced by a disturbance (e.g., a shock). ; 2) the second phase returns the center of gravity angular momentum reference to zero to stop the robot; and 3) the last phase ensures that the robot returns to its reference pose. Switching back to phase 1 is possible at any time if another shock is detected. The push recovery algorithm is applied independently for each spatial dimension i ∈ {x, y, z}, which is aligned with the (possibly rotated) virtual stand, ie pushes from all directions can be compensated independently in the respective axis. For the sake of clarity, the indices are omitted from now on. The presented relationships in scalar form apply to any spatial dimension. The proposed algorithm is explained with simulation results using the humanoid robot platform OpenHRP [28], using the same robot model in experimental verifications.

1) Schwerpunktdrehimpuls-Erzeugungsphase: Die erste Phase wird aktiviert, nachdem ein Stoß stattgefunden hat, der erfasst wird, wenn der entsprechende τ v a n k l e

Figure DE102021112485B3_0104
einen vordefinierten Schwellenwert τ v t h r e s
Figure DE102021112485B3_0105
überschreitet. Der Schwellenwert ist eine Funktion der Kontaktdrehmomentgrenzen, die sich aus (22) ergeben τ v t h r e s = α τ v m i n / m a x ,
Figure DE102021112485B3_0106
mit dem Designparameter α ∈ [0, 1]. Je größer α ist, desto später wird die Hüftstrategie aktiviert. Im Allgemeinen sollte die Hüftstrategie so spät wie möglich aktiviert werden, um zunächst die Möglichkeiten der Fußgelenksstrategie voll auszuschöpfen. Wenn die Hüftstrategie jedoch erst aktiv wird, wenn die Kontaktbeschränkungen erreicht werden (α = 1), können kleine Modellunsicherheiten oder Tracking-Fehler auch bewirken, dass der Roboter hinfällt. Daher verbessert ein Sicherheitsspielraum die Robustheit des Algorithmus, in der Praxis wurden gute Ergebnisse mit α ∈ [0.7, 0.9] erzielt. 2a zeigt einen simulierten Verlauf von τ v a n k l e
Figure DE102021112485B3_0107
von (19). Der Roboter wird von hinten mit einem Impuls von 12 Ns angestoßen, der, normalisiert auf seine Masse, einer Deltageschwindigkeit von 0,152 m s
Figure DE102021112485B3_0108
entspricht.1) Center of Gravity Momentum Generation Phase: The first phase is activated after a shock has taken place, which is detected when the appropriate τ v a n k l e
Figure DE102021112485B3_0104
a predefined threshold τ v t H right e s
Figure DE102021112485B3_0105
exceeds. The threshold is a function of the contact torque limits resulting from (22). τ v t H right e s = a τ v m i n / m a x ,
Figure DE102021112485B3_0106
with the design parameter α ∈ [0, 1]. The larger α is, the later the hip strategy is activated. In general, the hip strategy should be activated as late as possible in order to fully exploit the possibilities of the ankle strategy first. However, if the hip strategy only becomes active when the contact restrictions are reached (α = 1), small model uncertainties or tracking errors can also cause the robot to fall. Therefore, a safety margin improves the robustness of the algorithm, in practice good results have been obtained with α ∈ [0.7, 0.9]. 2a shows a simulated course of τ v a n k l e
Figure DE102021112485B3_0107
from (19). The robot is pushed from behind with an impulse of 12 Ns, which, normalized to its mass, has a delta velocity of 0.152 m s
Figure DE102021112485B3_0108
is equivalent to.

Die Änderungsrate des Referenz-Schwerpunktdrehimpuls ist definiert als die Differenz des Winkeldrehmoments und dessen Schwellenwerts. l c r e ƒ ( t ) = τ v t h r e s ( t ) τ v a n k l e ( t ) .

Figure DE102021112485B3_0109
The rate of change of reference centroid angular momentum is defined as the difference in angular torque and its threshold. l c right e ƒ ( t ) = τ v t H right e s ( t ) τ v a n k l e ( t ) .
Figure DE102021112485B3_0109

Diese Differenz kann als das zusätzliche Hüftdrehmoment in (19), das nötig ist, um τv innerhalb seiner Grenzen zu halten, interpretiert werden. Der entsprechende Referenz-Schwerpunktdrehimpuls l c r e ƒ ( t )

Figure DE102021112485B3_0110
kann durch Integrieren von (24) in Bezug auf die Zeit erhalten werden. Die Zeit t ist innerhalb des Intervalls t ∈ [t1, t2) definiert, wobei der Moment der Aktivierung der ersten Phase durch t = t1 gekennzeichnet ist. Die Phase 1 ist abgeschlossen, wenn das Fußgelenksdrehmoment wieder unter dem vordefinierten Schwellenwert liegt, d.h. | τ v a n k l e ( t ) | < τ v t h r e s ( t ) ,
Figure DE102021112485B3_0111
dieser Zeitpunkt wird definiert durch t = t2. 2b zeigt den resultierenden Schwerpunktdrehimpuls-Referenzwert für unterschiedliche Werte von α.This difference can be interpreted as the additional hip torque in (19) needed to keep τ v within its limits. The corresponding reference centroid angular momentum l c right e ƒ ( t )
Figure DE102021112485B3_0110
can be obtained by integrating (24) with respect to time. The time t is defined within the interval t ∈ [t 1 , t 2 ), where the moment of activation of the first phase is marked by t = t 1 . Phase 1 is complete when the ankle torque is back below the predefined threshold, ie | τ v a n k l e ( t ) | < τ v t H right e s ( t ) ,
Figure DE102021112485B3_0111
this point in time is defined by t=t 2 . 2 B shows the resulting centroid angular momentum reference value for different values of α.

Es kann vorgesehen werden, dass im Verfahrensschritt b) als Kontaktmoment τext das Kontaktdrehmoment des virtuellen Standbeins bzw. der Aufstützfläche τ v a n k l e

Figure DE102021112485B3_0112
auf Überschreitung eines vordefinierten Schwellenwertes τ v t h r e s
Figure DE102021112485B3_0113
überprüft wird, wobei der Schwellenwert als Funktion der Kontaktdrehmomentgrenzen bestimmt wird: τ v t h r e s = α τ v m i n / m a x ,
Figure DE102021112485B3_0114
mit dem Designparameter α ∈ [0, 1] und wobei die Änderungsrate des Referenzschwerpunktdrehimpulses definiert wird als die Differenz des Fußgelenkdrehmoments und dessen Schwellenwerts l c r e ƒ ( t ) = τ v t h r e s ( t ) τ v a n k l e ( t ) .
Figure DE102021112485B3_0115
It can be provided that in method step b) the contact torque of the virtual supporting leg or the support surface is used as the contact torque τ ext τ v a n k l e
Figure DE102021112485B3_0112
for exceeding a predefined threshold τ v t H right e s
Figure DE102021112485B3_0113
is verified, determining the threshold as a function of the contact torque limits: τ v t H right e s = a τ v m i n / m a x ,
Figure DE102021112485B3_0114
with the design parameter α ∈ [0, 1] and where the rate of change of the reference centroid angular momentum is defined as the difference of the ankle torque and its threshold l c right e ƒ ( t ) = τ v t H right e s ( t ) τ v a n k l e ( t ) .
Figure DE102021112485B3_0115

Diese Differenz kann als das zusätzliche Hüftdrehmoment in (19), das nötig ist, um τv innerhalb seiner Grenzen zu halten, interpretiert werden. Der entsprechende Referenzschwerpunktimpuls l c r e ƒ ( t )

Figure DE102021112485B3_0116
kann durch Integrieren von (24) in Bezug auf die Zeit erhalten werden, wobei die Zeit t innerhalb des Intervalls t ∈ [t1, t2) definiert wird, wobei der Moment der Aktivierung der ersten Phase durch t = t1 gekennzeichnet ist und wobei die Phase 1 abgeschlossen ist, wenn das Fußgelenksdrehmoment wieder unter dem vordefinierten Schwellenwert liegt, d.h. | τ v a n k l e ( t ) | < τ v t h r e s ( t ) ,
Figure DE102021112485B3_0117
dieser Zeitpunkt wird definiert durch t = t2.This difference can be interpreted as the additional hip torque in (19) needed to keep τ v within its limits. The corresponding reference centroid momentum l c right e ƒ ( t )
Figure DE102021112485B3_0116
can be obtained by integrating (24) with respect to time, defining the time t within the interval t ∈ [t 1 , t 2 ), where the moment of activation of the first phase is characterized by t = t 1 and phase 1 is completed when the ankle torque is again below the predefined threshold, ie | τ v a n k l e ( t ) | < τ v t H right e s ( t ) ,
Figure DE102021112485B3_0117
this point in time is defined by t=t 2 .

Gemäß dem vorliegenden Verfahren kann es weiterhin vorgesehen werden, dass im Verfahrensschritt c3) die Gesamtdauer für die Reduktion des Referenzschwerpunktimpulses auf 0 wird als T = t3 - t2 definiert mit t2 als Startzeitpunkt und t3 als Endzeitpunkt der Reduktion des Referenzschwerpunktdrehimpulses, Vorgeben der Referenzschwerpunktdrehimpulses über folgende Beziehung: l c r e ƒ ( t ) = j = 0 3 a j ( t t 2 ) j T j ,

Figure DE102021112485B3_0118
According to the present method, it can also be provided that in method step c3) the total duration for the reduction of the reference center of gravity pulse to 0 is defined as T=t 3 -t 2 with t 2 as the start time and t 3 as the end time of the reduction of the reference center of gravity angular momentum, specifying the reference centroid angular momentum via the following relationship: l c right e ƒ ( t ) = j = 0 3 a j ( t t 2 ) j T j ,
Figure DE102021112485B3_0118

Ermitteln der von T auf Basis der kritischen Punkte von l c r e ƒ

Figure DE102021112485B3_0119
als Beziehung zwischen der Gesamtdauer T, dem Referenzschwerpunktdrehimpuls am Anfang der Reduktion des Schwerpunktdrehimpulses l c , t 2 r e ƒ ,
Figure DE102021112485B3_0120
Phase 2, und seiner maximalen Änderungsrate l ˙ c m a x > 0
Figure DE102021112485B3_0121
wie folgt erhalten: T = 3 | l c , t 2 r e ƒ | 2 l ˙ c m a x .
Figure DE102021112485B3_0122
wobei l ˙ c m a x
Figure DE102021112485B3_0123
als Funktion der höchsten Änderungsrate des Schwerpunktdrehimpulses während Phase 1 gewählt wird, erhalten durch: l ˙ c m a x = β ( max t 1 t < t 2   | l ˙ c r e ƒ ( t ) | ) ,
Figure DE102021112485B3_0124
mit dem Designparameter β, der innerhalb des Intervalls β ∈ (0, 1] definiert wird.Determine the of T based on the critical points of l c right e ƒ
Figure DE102021112485B3_0119
as the relationship between the total duration T, the reference centroid angular momentum at the beginning of the reduction of the centroid angular momentum l c , t 2 right e ƒ ,
Figure DE102021112485B3_0120
Phase 2, and its maximum rate of change l ˙ c m a x > 0
Figure DE102021112485B3_0121
received as follows: T = 3 | l c , t 2 right e ƒ | 2 l ˙ c m a x .
Figure DE102021112485B3_0122
whereby l ˙ c m a x
Figure DE102021112485B3_0123
is chosen as a function of the highest rate of change of centroid angular momentum during phase 1, obtained by: l ˙ c m a x = β ( Max t 1 t < t 2 | l ˙ c right e ƒ ( t ) | ) ,
Figure DE102021112485B3_0124
with the design parameter β defined within the interval β ∈ (0, 1].

2) Schwerpunktdrehimpuls-Reduzierungsphase:2) Centroid angular momentum reduction phase:

Während Phase 1 nimmt der Referenz-Schwerpunktdrehimpuls monoton zu. Nachdem der Stoß ausgeglichen wurde, hat der Referenz-Schwerpunktdrehimpuls einen Wert ungleich null, der weich auf null gesenkt werden muss, um den Roboter wieder zur Ruhe zu bringen. Daher wird ein Polynom dritter Ordnung verwendet, um eine Trajektorie zu erzeugen, während eine C1-Kontinuität sichergestellt wird, um Sprünge im resultierenden τ v h i p

Figure DE102021112485B3_0125
zu vermeiden.During phase 1, the reference centroid angular momentum increases monotonically. After the bump is balanced, the reference centroid angular momentum has a non-zero value that must be smoothly reduced to zero to bring the robot back to rest. Therefore, a third-order polynomial is used to generate a trajectory while ensuring C 1 continuity to avoid jumps in the resulting τ v H i p
Figure DE102021112485B3_0125
to avoid.

Der Systemzustand, wenn die Phase 2 aktiviert wird, wird als Anfangsbedingung für das Polynom verwendet. Um den Roboter nach Phase 2 anzuhalten, müssen der Schwerpunktdrehimpuls und seine Zeitableitung am Ende der Trajektorie null sein. Phase 2 ist innerhalb des Zeitintervalls t ∈ [t2, t3] definiert. Die Schwerpunktdrehimpuls-Referenztrajektorie wird formuliert als l c r e ƒ ( t ) = j = 0 3 a j ( t t 2 ) j T j ,

Figure DE102021112485B3_0126
wobei die Koeffizienten aj auf Basis der Grenzbedingungen bestimmt werden können. Der letzte freie Parameter ist die Gesamtdauer der Phase 2, die durch T = t3 - t2 bezeichnet wird. Auf Basis der kritischen Punkte von l ˙ c r e ƒ
Figure DE102021112485B3_0127
wird eine Beziehung zwischen der Gesamtdauer, dem Referenz-Schwerpunktdrehimpuls am Anfang der Phase 2 l c , t 2 r e ƒ
Figure DE102021112485B3_0128
und seiner maximalen Änderungsrate l ˙ c m a x > 0
Figure DE102021112485B3_0129
wie folgt erhalten: T = 3 | l c , t 2 r e ƒ | 2 l ˙ c m a x .
Figure DE102021112485B3_0130
The system state when phase 2 is activated is used as the initial condition for the polynomial. To stop the robot after phase 2, the center of mass angular momentum and its time derivative must be zero at the end of the trajectory. Phase 2 is defined within the time interval t ∈ [t 2 , t 3 ]. The centroid angular momentum reference trajectory is formulated as l c right e ƒ ( t ) = j = 0 3 a j ( t t 2 ) j T j ,
Figure DE102021112485B3_0126
where the coefficients a j can be determined based on the boundary conditions. The last free parameter is the total duration of phase 2, denoted by T = t 3 - t 2 . Based on the critical points of l ˙ c right e ƒ
Figure DE102021112485B3_0127
becomes a relationship between the total duration, the reference centroid angular momentum at the beginning of phase 2 l c , t 2 right e ƒ
Figure DE102021112485B3_0128
and its maximum rate of change l ˙ c m a x > 0
Figure DE102021112485B3_0129
received as follows: T = 3 | l c , t 2 right e ƒ | 2 l ˙ c m a x .
Figure DE102021112485B3_0130

Es gilt zu beachten, dass T nicht beliebig groß gewählt werden kann, ohne kinematische Grenzen zu erreichen, während ein kleines T eine hohe maximale Änderungsrate von Schwerpunktdrehimpuls induziert. Um einen Kompromiss zu finden, wird l ˙ c m a x

Figure DE102021112485B3_0131
als Funktion der höchsten Änderungsrate des Schwerpunktdrehimpulses während Phase 1 gewählt, erhalten durch l ˙ c m a x = β ( max t 1 t < t 2   | l ˙ c r e ƒ ( t ) | ) ,
Figure DE102021112485B3_0132
mit dem Designparameter, der innerhalb des Intervalls β ∈ (0, 1] definiert ist, siehe 2c.It should be noted that T cannot be chosen arbitrarily large without reaching kinematic limits, while a small T induces a high maximum rate of change of centroid angular momentum. To find a compromise, l ˙ c m a x
Figure DE102021112485B3_0131
chosen as a function of the highest rate of change of centroid angular momentum during phase 1, obtained by l ˙ c m a x = β ( Max t 1 t < t 2 | l ˙ c right e ƒ ( t ) | ) ,
Figure DE102021112485B3_0132
with the design parameter defined within the interval β ∈ (0, 1], see 2c .

Kleine Werte für β erhöhen das Risiko für die Aktivierung von Positionsgrenzen, während große Werte zu einer aggressiven Reduzierung des Schwerpunktdrehimpulses führen können. Beide Szenarios können den CoP zum Rand der Aufstützfläche hin ablenken und möglicherweise bewirken, dass der Roboter umfällt. Gute Ergebnisse wurden erzielt mit β ∈ [0.3, 0.5]. Diese Formulierung ist ein guter Anhaltspunkt dafür, wie schnell der Schwerpunktdrehimpuls reduziert werden sollte, aber keine formale Garantie dafür liefert, dass kinematische Grenzen oder Kontaktbeschränkungen nicht erreicht werden.Small values of β increase the risk of activating position limits, while large values can result in an aggressive reduction in centroid angular momentum. Both scenarios can distract the CoP towards the edge of the support surface and possibly cause the robot to fall over. Good results have been obtained with β ∈ [0.3, 0.5]. This formulation gives a good indication of how quickly the center of gravity angular momentum should be reduced, but does not provide a formal guarantee that kinematic limits or contact limitations will not be reached.

3) Haltungswiederherstellungsphase:3) Posture Recovery Phase:

Nachdem Phase 2 abgeschlossen wurde, wird der Referenz-Schwerpunktdrehimpuls auf null reduziert, aber die Roboterkonfiguration weicht immer noch von ihrer Referenzpose ab. An diesem Punkt wird die Haltungsaufgabe (14b) der Bewegungsoptimierung dominant. Sie sorgt für eine rasche Rückkehr zu der anfänglichen Roboterkonfiguration, während sie nur einen kleinen Schwerpunktdrehimpuls mit entgegengesetztem Vorzeichen zu dem, der in den Phasen 1 und erzeugt wurde, induziert. Das Schwerpunktdrehimpuls-Tracking hängt von Auswahl der Gewichtsmatrix ab. Durch Vergrößern von Ql in (13), während gleichzeitig Qp konstant gehalten wird, erhält man ein besseres Schwerpunktdrehimpuls-Tracking, verlängert aber auch die Konvergenzzeit in Bezug auf die Referenzpose und infolgedessen die Gesamtdauer der Phase 3, siehe 2d.After phase 2 is completed, the reference centroid angular momentum is reduced to zero, but the robot configuration still deviates from its reference pose. At this point, the posture task (14b) of optimizing movement becomes dominant. It provides a rapid return to the initial robot configuration while inducing only a small centroid angular momentum of opposite sign to that generated in phases 1 and . Centroid angular momentum tracking depends on weight matrix selection. Increasing Q l in (13) while keeping Q p constant gives better centroid angular momentum tracking, but also increases the convergence time with respect to the reference pose and consequently the overall duration of phase 3, see 2d .

Gemäß einem zweiten Aspekt der vorliegenden Erfindung kann ein Verfahren zur Ganzkörpersteuerung eines Roboters zum Ausgleich von externen einwirkenden Störungen der Roboter umfassend: mindestens zwei Körpersegmente, mindestens ein Gelenk mit der Anzahl von n Freiheitsgraden zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung der Stellung q des mindestens einen Gelenks, sowie eine Aufstützfläche; wobei das Regelschleifenverhalten zur Steuerung der mindestens einen Stelleinrichtung zu: M ( Δ ν ˙ c Δ q ¨ ) + C ( Δ ν c Δ q ˙ ) = τ e x t J T ( w c i m p w g r ƒ τ ƒ i m p ) ,

Figure DE102021112485B3_0133
wobei wqrf die zusammengeführten Kontaktkraftwindungen der Aufstützfläche des Roboters bezeichnet und die Abweichung von den kommandierten Trajektorien durch Δ ν = ν c ν c c m d  und  Δ q ˙ = q ˙ q ˙ c m d
Figure DE102021112485B3_0134
wiedergegeben werden; wobei die kommandierten Trajektorien xcmd im Aufgabenraum erzeugt werden über das Verfahren gemäß einem der Ansprüche 1 bis 6 und die entsprechenden kommandierten Schwerpunkts- und Gelenkwerte über inverse Kinematik berechnet werden: ( ν c c m d q ˙ c m d ) = J 1 x ˙ c m d .
Figure DE102021112485B3_0135
wobei die Schwerpunkts-assoziierten Impedanzen definiert werden durch: w c i m p = ( K c ( x c x c c m d ) + D c ( x ˙ c x ˙ c c m d ) τ r ( Σ b , ( R b c m d ) T R b ) + B b ( ω b ω b c m d ) ) ,
Figure DE102021112485B3_0136
wobei die Linear- und Rotationssteifigkeitsmatrizes Kc > 0 und Σb > 0 sowie die Linear- und Rotationsdämpfungsmatrizes Dc > 0 und Bb > 0 symmetrisch und positiv definit sind;
wobei die kartesische Ausrichtung der Hüfte von einer virtuellen Rotationsfeder τ r ( Σ b , ( R b c m d ) T R b )
Figure DE102021112485B3_0137
gesteuert wird, während die Impedanz der Gelenkaufgabe durch τ ƒ i m p = K ƒ ( q ƒ q ƒ c m d ) + D ƒ ( q ˙ ƒ q ˙ ƒ c m d ) ,
Figure DE102021112485B3_0138
realisiert wird, mit den Matrizes der positiven definiten und linearen Feder Kƒ > 0 und Dƒ > 0.According to a second aspect of the present invention, a method for controlling the whole body of a robot to compensate for external interference affecting the robot, comprising: at least two body segments, at least one joint with the number of n degrees of freedom for the articulated connection of the body segments with at least one actuating device for actively influencing the Position q of the at least one joint, and a support surface; the control loop behavior for controlling the at least one actuating device being: M ( Δ v ˙ c Δ q ¨ ) + C ( Δ v c Δ q ˙ ) = τ e x t J T ( w c i m p w G right ƒ τ ƒ i m p ) ,
Figure DE102021112485B3_0133
where w qrf denotes the combined contact force turns of the robot's support surface and the deviation from the commanded trajectories by Δ v = v c v c c m i.e and Δ q ˙ = q ˙ q ˙ c m i.e
Figure DE102021112485B3_0134
be reproduced; wherein the commanded trajectories x cmd are generated in the task space using the method according to one of claims 1 to 6 and the corresponding commanded center of gravity and joint values are calculated using inverse kinematics: ( v c c m i.e q ˙ c m i.e ) = J 1 x ˙ c m i.e .
Figure DE102021112485B3_0135
where the centroid-associated impedances are defined by: w c i m p = ( K c ( x c x c c m i.e ) + D c ( x ˙ c x ˙ c c m i.e ) τ right ( Σ b , ( R b c m i.e ) T R b ) + B b ( ω b ω b c m i.e ) ) ,
Figure DE102021112485B3_0136
where the linear and rotational stiffness matrices K c > 0 and Σ b > 0 and the linear and rotational damping matrices D c > 0 and B b > 0 are symmetric and positive definite;
where the Cartesian alignment of the hip from a virtual torsional spring τ right ( Σ b , ( R b c m i.e ) T R b )
Figure DE102021112485B3_0137
is controlled while the impedance of the joint task through τ ƒ i m p = K ƒ ( q ƒ q ƒ c m i.e ) + D ƒ ( q ˙ ƒ q ˙ ƒ c m i.e ) ,
Figure DE102021112485B3_0138
is realized, with the matrices of the positive definite and linear spring K ƒ > 0 and D ƒ > 0.

Berechnen der finalen Steuerungsdrehmomente: τ = M q ( ν ˙ c c m d q ¨ c m d ) + C q ( ν c c m d q ˙ c m d ) ( J ' ) T w g r ƒ S ƒ T τ ƒ i m p .

Figure DE102021112485B3_0139
Calculating the final control torques: τ = M q ( v ˙ c c m i.e q ¨ c m i.e ) + C q ( v c c m i.e q ˙ c m i.e ) ( J ' ) T w G right ƒ S ƒ T τ ƒ i m p .
Figure DE102021112485B3_0139

Gemäß einem dritten Aspekt der vorliegenden Erfindung kann ein Regler umfassend mindestens eine Recheneinheit und eine Speichereinheit vorgesehen werden, wobei auf der Speichereinheit Instruktionen zur Ausführung des Balancierverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung oder zur Ausführung der Ganzkörpersteuerung gemäß dem zweiten Aspekt der vorliegenden Erfindung durch die Recheneinheit abgelegt sind.According to a third aspect of the present invention, a controller can be provided comprising at least one computing unit and one memory unit, instructions for executing the balancing method according to the first aspect of the present invention or for executing the whole-body control according to the second aspect of the present invention being stored on the memory unit by the Arithmetic unit are stored.

Gemäß einem weiteren Aspekt kann erfindungsgemäß ein Roboter umfassend mindestens zwei Körpersegmente, mindestens ein Gelenk zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung des mindestens einen Gelenks sowie eine Aufstützfläche und eine Recheneinheit vorgesehen werden, welche zur Ausbalancierung des Roboters das erfindungsgemäße Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung ausführt.According to a further aspect, according to the invention, a robot can be provided comprising at least two body segments, at least one joint for the articulated connection of the body segments with at least one actuating device for actively influencing the at least one joint as well as a support surface and a computing unit, which use the method according to the invention to balance the robot the first aspect of the present invention.

Es werden zwei Szenarien vorgestellt, um die Leistungsfähigkeit des Push-Recovery-Verfahrens in dem realen System zu bewerten. In dem ersten Szenario steht der Roboter aufrecht und stützt sich an zwei Stellen auf und wird innerhalb der Sagittalebene (entlang der x-Achse) auf der Höhe der Hüfte mit einer maximalen Kraft von 65 N und einem Impuls von 18 Ns (0,227 m s

Figure DE102021112485B3_0140
impulsiv angestoßen. Die Optimierungsvariable x ˙ a o p t
Figure DE102021112485B3_0141
in (13) schließt die Geschwindigkeiten der Hüfte um alle drei Achsen, die Gelenksgeschwindigkeit im Torso sowie die ersten vier Gelenkgeschwindigkeiten in jedem Arm ein. Um den Stoß abzuwehren, erzeugt der Roboter einen Schwerpunktdrehimpuls durch Vorwärtsbeugen und Rückwärtsbewegen der Arme.Two scenarios are presented to evaluate the performance of the push recovery method in the real system. In the first scenario, the robot stands upright, supporting itself in two places, and is restrained within the sagittal plane (along the x-axis) at hip height with a maximum force of 65 N and an impulse of 18 Ns (0.227 m s
Figure DE102021112485B3_0140
impulsively initiated. The optimization variable x ˙ a O p t
Figure DE102021112485B3_0141
in (13) includes the hip velocities about all three axes, the joint velocities in the torso, and the first four joint velocities in each arm. To absorb the impact, the robot creates a center of gravity angular momentum by bending its arms forward and moving them backward.

Das Fußgelenks-, das Hüft- und das resultierende Kontaktdrehmoment des virtuellen Standfußes sind in 3a gezeigt. Das reine Fußgelenksdrehmoment überschreitet seinen Grenzwert, d.h., der kombinierte CoP hätte den Rand der Aufstützfläche erreicht, wenn eine feste Haltung beibehalten worden wäre, was ein Umfallen des Roboters bewirkt hätte. Die Steuerung von Abschnitt II-B allein hätte den Stoß ohne die vorgestellte Schwerpunktdrehimpuls-basierte Bewegungsoptimierung von Abschnitt III nicht ausgleichen können. Durch den zusätzlich erzeugten Schwerpunktdrehimpuls und den entsprechenden τ v h i p

Figure DE102021112485B3_0142
wird das resultierende Kontaktdrehmoment τv in seinen Grenzen gehalten und der Roboter findet sein Gleichgewicht nach dem Stoß wieder. 3d zeigt die entsprechende kombinierte Abweichung des CoP und CoM. Der Verlauf des Referenz-, des Befehls- und des gemessenen Schwerpunktdrehimpulses durch alle Phasen und ihre Änderungsrate sind in 3b bzw. 3c, abgebildet. Es gilt zu beachten, dass der gemessene Schwerpunktdrehimpuls direkt steigt, wenn der Stoß ausgeübt wird, da die externe Kraft an sich einen Drehimpuls in dem System hervorruft. Der Referenz-Schwerpunktdrehimpuls steigt mit Verzögerung an, abhängig von der Aktivierungszeit der Phase 1.The ankle, hip and resulting contact torque of the virtual foot are in 3a shown. The pure ankle torque exceeds its limit, ie the combined CoP would have reached the edge of the supporting surface if a fixed posture had been maintained, causing the robot to fall over. The control of Section II-B alone could not have compensated for the shock without the presented center of gravity-based motion optimization of Section III. Due to the additionally generated center of gravity angular momentum and the corresponding τ v H i p
Figure DE102021112485B3_0142
the resulting contact torque τ v is kept within its limits and the robot regains its balance after the impact. 3d shows the corresponding combined deviation of the CoP and CoM. The history of the reference, command, and measured centroid angular momentum through all phases and their rate of change are in 3b or. 3c , pictured. It should be noted that the measured centroid angular momentum increases directly when the impact is applied, since the external force itself creates angular momentum in the system. The reference centroid angular momentum increases with a delay dependent on the phase 1 activation time.

Im zweiten Versuch balanciert der Roboter auf dem rechten Bein und wird von vorne mit einer maximalen Kraft von 75 N und einem Impuls von 22,5 Ns (0,284 m s

Figure DE102021112485B3_0143
angestoßen. Die Ergebnisse sind in 4 gezeigt. Zu beachten ist, dass die translationale kartesische Geschwindigkeit des linken Fußes zu den Optimierungsvariablen des vorherigen Versuchs mit der doppelten Abstützung addiert wird; die entsprechende CoM-gemappte Impedanzauslenkung muss in (8) und in (18) zu dem Winkeldrehmoment addiert werden (für weitere Einzelheiten siehe [22]).In the second attempt, the robot balances on its right leg and is pushed from the front with a maximum force of 75 N and an impulse of 22.5 Ns (0.284 m s
Figure DE102021112485B3_0143
triggered. The results are in 4 shown. Note that the translational Cartesian velocity of the left foot is added to the optimization variables from the previous experiment with the double brace; the corresponding CoM-mapped impedance excursion has to be added to the angular torque in (8) and in (18) (for more details see [22]).

Es ist zu beachten, dass der Roboter bei einfacher Abstützung im Vergleich zu einem gleichen Versuchsaufbau bei doppelter Abstützung Stöße in der Sagittalebene von größerer Stärke kompensieren kann. Das Ausmaß des Unterstützungsbereichs in der x-Richtung ist bei beiden Konfigurationen gleich, aber bei der einfachen Abstützung erzeugt das Spielbein fast die Hälfte des Spitzen-Schwerpunktdrehimpulses in der y-Richtung, siehe 4d.

  • [20] C. Ott, M. A. Roa, and G. Hirzinger, „Posture and balance control for biped robots based on contact force optimization,“ in Proc. 11th IEEERAS Int. Conf. Humanoid Robots, 2011, pp. 26-33.
  • [21] B. Henze, M. A. Roa, and C. Ott, „Passivity-based whole-body balancing for torque-controlled humanoid robots in multi-contact scenarios,“ Int. J. Robot. Res., vol. 35, no. 12, pp. 1522-1543, 2016.
  • [22] G. Mesesan et al., „Dynamic walking on compliant and uneven terrain using DCM and passivity-based whole-body control,“ in Proc. 19th IEEE-RAS Int. Conf. Humanoid Robots, 2019, pp. 25-32.
  • [23] D. E. Orin, A. Goswami, and S.-H. Lee, „Centroidal dynamics of a humanoid robot,“ Auton. Robots, vol. 35, no. 2-3, pp. 161-176, Oct. 2013.
  • [24] J. Englsberger, G. Mesesan, and C. Ott, „Smooth trajectory generation and push-recovery based on divergent component of motion,“ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Sep. 2017, pp. 4560-4567.
  • [25] G. Mesesan, J. Englsberger, C. Ott, and A. Albu-Schäffer, „Convex properties of center-of-mass trajectories for locomotion based on divergent component of motion,“ IEEE Robot. Autom. Lett., vol. 3, no. 4, pp. 3449-3456, 2018.
  • [26] B. Paden and R. Panja, „Globally asymptotically stable ‚PD+‘ controller for robot manipulators,“ Int. J. Control, vol. 47, no. 6, pp. 1697-1712, 1988.
  • [27] J. Englsberger, „Combining reduced dynamics models and whole-body control for agile humanoid locomotion,“ Ph.D. dissertation, Tech. Univ. Munich, Munich, Dec. 2016.
  • [28] F. Kanehiro, H. Hirukawa, and S. Kajita, „OpenHRP: Open architecture humanoid robotics platform,“ Int. J. Robot. Res., vol. 23, no. 2, pp. 155-165, Feb. 2004.
  • [29] J. Englsberger et al., „Overview of the torque-controlled humanoid robot TORO,“ in Proc. IEEE-RAS Int. Conf. Humanoid Robots, 2014, pp. 916-923. [30] H. J. Ferreau, H. G. Bock, and M. Diehl, „An online active set strategy to overcome the limitations of explicit MPC,“ Int. J. Robust Nonlinear Control, vol. 18, no. 8, pp. 816-830, 2008.
  • [31] A. Albu-Schäffer et al., „The DLR lightweight robot: design and control concepts for robots in human environments,“ Ind. Robot: Int. J., vol. 34, no. 5, pp. 376-385, 2007.
It should be noted that the robot with single support is able to absorb impacts in the sagittal plane of greater magnitude compared to an identical experimental setup with double support. The extent of the support area in the x-direction is the same for both configurations, but in simple support the free leg generates almost half of the peak centroid angular momentum in the y-direction, see 4d .
  • [20] C Ott, MA Roa, and G Hirzinger, "Posture and balance control for biped robots based on contact force optimization," in Proc. 11th IEEERAS Int. conf Humanoid Robots, 2011, pp. 26-33.
  • [21] B. Henze, MA Roa, and C. Ott, "Passivity-based whole-body balancing for torque-controlled humanoid robots in multi-contact scenarios," Int. J Robot. Res., vol. 35, no. 12, pp. 1522-1543, 2016.
  • [22] G. Mesesan et al., "Dynamic walking on compliant and uneven terrain using DCM and passivity-based whole-body control," in Proc. 19th IEEE RAS Int. conf Humanoid Robots, 2019, pp. 25-32.
  • [23] DE Orin, A. Goswami, and S.-H. Lee, "Centroidal dynamics of a humanoid robot," Auton. Robots, vol. 35, no. 2-3, pp. 161-176, Oct. 2013
  • [24] Englsberger, J, Mesesan, G, and Ott, C, "Smooth trajectory generation and push-recovery based on divergent component of motion," in Proc. IEEE/RSJ Int. conf intel. Robots Syst., Sep. 2017, pp. 4560-4567.
  • [25] G Mesesan, J Englsberger, C Ott, and A Albu-Schäffer, "Convex properties of center-of-mass trajectories for locomotion based on divergent component of motion," IEEE Robot. Autom. Lett., vol. 3, no. 4, pp. 3449-3456, 2018.
  • [26] B Paden and R Panja, "Globally asymptotically stable 'PD+' controller for robot manipulators," Int. J. Control, vol. 47, no. 6, pp. 1697-1712, 1988.
  • [27] J. Englsberger, "Combining reduced dynamics models and whole-body control for agile humanoid locomotion," Ph.D. dissertation, tech. university Munich, Munich, Dec. 2016
  • [28] F Kanehiro, H Hirukawa, and S Kajita, "OpenHRP: Open architecture humanoid robotics platform," Int. J Robot. Res., vol. 23, no. 2, pp. 155-165, Feb. 2004.
  • [29] J. Englsberger et al., "Overview of the torque-controlled humanoid robot TORO," in Proc. IEEE RAS Int. conf Humanoid Robots, 2014, pp. 916-923. [30] HJ Ferreau, HG Bock, and M. Diehl, "An online active set strategy to overcome the limitations of explicit MPC," Int. J. Robust Nonlinear Control, vol. 18, no. 8, pp. 816-830, 2008.
  • [31] A. Albu-Schäffer et al., "The DLR lightweight robot: design and control concepts for robots in human environments," Ind. Robot: Int. J., vol. 34, no. 5, pp. 376-385, 2007.

Claims (8)

Verfahren zur Balancierung eines Roboters zum Ausgleich von externen einwirkenden Störungen, der Roboter umfassend: mindestens zwei Körpersegmente, mindestens ein Gelenk mit der Anzahl von n ¯
Figure DE102021112485B3_0144
aktuierten Freiheitsgraden zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung der Stellung q des mindestens einen Gelenks, sowie eine Aufstützfläche; das Verfahren umfassend die Schritte: a) Überwachen und Ermitteln der auf den Roboter extern einwirkenden Kontaktmomente τext; b) Überprüfen, ob die ermittelten Kontaktmomente τext mindestens einen vorgegebenen Grenzwert τthres überschreiten; c) bei Überschreiten des mindestens einen vorgegebenen Grenzwertes τthres in Schritt b) Ausführen der Teilschritte c1) bis c3): c1) Berechnen eines erforderlichen Referenzschwerpunktdrehimpulses (CAM) l c r e ƒ ,
Figure DE102021112485B3_0145
um den Druckmittelpunkt (CoP) des Roboters innerhalb der Aufstützfläche zu halten, c2) Induzieren des erforderlichen Referenzschwerpunktdrehimpulses l c r e ƒ
Figure DE102021112485B3_0146
durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters, sowie c3) Abbauen des generierten Referenzschwerpunktdrehimpulses l c r e ƒ
Figure DE102021112485B3_0147
durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters; d) Berechnen von Ganzkörperbewegungen xcmd mittels eines Ganzkörperbewegungsoptimierers, welcher den Referenzschwerpunktdrehimpuls l c r e ƒ
Figure DE102021112485B3_0148
und eine Referenzpose xref als Eingabegrößen nutzt und dynamisch sowie kinematisch umsetzbare Gelenktrajektorien generiert und sicherstellt, dass der Roboter zu der vorgegebenen Referenzpose xref konvergiert und dass im Falle der Ausführung der Schritte c1) bis c3) nachfolgend nur betragsmäßig kleine Drehimpulse mit umgekehrten Vorzeichen zu den in den Schritten c2) und c3) generierten Drehimpulsen generiert werden; e) Induzieren der berechneten Ganzkörperbewegungen xcmd durch Verändern der Stellung q mindestens eines Gelenks mittels mindestens einer Stelleinrichtung des Roboters; sowie f) kontinuierliches Wiederholen der vorbezeichneten Verfahrensschritte.
A method for balancing a robot to compensate for external interference, the robot comprising: at least two body segments, at least one joint with the number of n ¯
Figure DE102021112485B3_0144
actuated degrees of freedom for the articulated connection of the body segments with at least one adjusting device for actively influencing the position q of the at least one joint, and a support surface; the method comprising the steps: a) monitoring and determining the contact torques τ ext acting externally on the robot; b) checking whether the determined contact torques τ ext exceed at least one predetermined limit value τ thres ; c) if the at least one predetermined limit value τ thres is exceeded in step b) execution of sub-steps c1) to c3): c1) calculation of a required reference centroid angular momentum (CAM) l c right e ƒ ,
Figure DE102021112485B3_0145
to keep the robot's center of pressure (CoP) within the support surface, c2) inducing the required reference centroid angular momentum l c right e ƒ
Figure DE102021112485B3_0146
by changing the position q of at least one joint by means of at least one actuating device of the robot, and c3) reducing the generated reference center of gravity angular momentum l c right e ƒ
Figure DE102021112485B3_0147
by changing the position q of at least one joint by means of at least one actuating device of the robot; d) Calculating whole-body motions x cmd using a whole-body motion optimizer that uses the reference centroid angular momentum l c right e ƒ
Figure DE102021112485B3_0148
and uses a reference pose x ref as input variables and generates joint trajectories that can be implemented dynamically and kinematically and ensures that the robot converges to the specified reference pose x ref and that, if steps c1) to c3) are carried out, only small angular momenta with the opposite sign are subsequently generated the angular momenta generated in steps c2) and c3); e) inducing the calculated whole-body movements x cmd by changing the position q of at least one joint by means of at least one actuating device of the robot; and f) continuously repeating the aforementioned process steps.
Verfahren zur Balancierung nach Anspruch 1, wobei während der Ausführung der Schritte c1) bis c3) parallel und kontinuierlich die Verfahrensschritte a) und b) ausgeführt werden und bei Überschreiten mindestens einen vorgegebenen Grenzwertes τthres in Schritt b) die ablaufende Ausführung der Schritte c1) bis c3) abgebrochen wird und die Schritte c1) bis c3) erneut ausgeführt werden.Procedure for balancing claim 1 , wherein during the execution of steps c1) to c3) the method steps a) and b) are executed in parallel and continuously and if at least one predetermined limit value τ thres in step b) is exceeded, the ongoing execution of steps c1) to c3) is aborted and steps c1) to c3) are carried out again. Verfahren zur Balancierung nach Anspruch 1 oder 2, wobei der Verfahrensschritt d) die folgenden Schritte umfasst: d1) Aufteilen der Gesamtanzahl der n ¯
Figure DE102021112485B3_0149
aktuierten Freiheitsgrade im Aufgabenraum in: k zu beeinflussende Freiheitsgrade mit den zugehörigen Aufgabenvariablen xa sowie in n ¯     k
Figure DE102021112485B3_0150
unveränderte Freiheitsgrade mit den zugehörigen Aufgabenvariablen xu, mit k     { 0, , n ¯ } ;
Figure DE102021112485B3_0151
d2) Bestimmen der optimierten Geschwindigkeiten unter Erfüllung der Beziehung: l c r e ƒ = A ¯ a x ˙ a o p t + A ¯ u x ˙ u r e ƒ ,
Figure DE102021112485B3_0152
d3) Lösen der Beziehung in d2) durch Formulieren eines quadratischen Optimierungsproblems mit Nebenbedingungen zu: min x ˙ a o p t ( 1 2 δ l T Q l δ l + 1 2 δ p T Q p δ p ) ,
Figure DE102021112485B3_0153
wobei QL und QR > 0 Gewichtungsmatrizen darstellen, welche beide positiv definit und symmetrisch sind mit den Residuen: δ l = A ¯ a x ˙ a o p t + A ¯ u x ˙ u r e ƒ l c r e ƒ ,
Figure DE102021112485B3_0154
δ p = x ˙ a o p t x ˙ a d ,
Figure DE102021112485B3_0155
unter Beachtung der Randbedingungen: x ˙ a m i n x ˙ a o p t x ˙ a m a x .
Figure DE102021112485B3_0156
wobei die gewünschte Geschwindigkeit x ˙ a d
Figure DE102021112485B3_0157
basierend auf der Abweichung der optimierten Position von ihrer Referenzposition x a r e ƒ
Figure DE102021112485B3_0158
berechnet wird: x ˙ a d = x ˙ a r e ƒ + K p ( x a r e ƒ x a o p t ) ,
Figure DE102021112485B3_0159
wobei Referenzgeschwindigkeit x ˙ a r e ƒ
Figure DE102021112485B3_0160
für die zu optimierenden Variablen und die zugehörige Referenzposition x a r e ƒ
Figure DE102021112485B3_0161
als Eingabegrößen bekannt sind, wobei die Konvergenz des Roboters zu der Referenzpose durch die Designparameter Kp > 0 beeinflussbar ist, welcher diagonal und positiv definit gewählt wird mit den Positionsbegrenzungen ( x _ a , x ¯ a )
Figure DE102021112485B3_0162
und den Geschwindigkeitsbegrenzungen ( x _ ˙ a , x ˙ ¯ a ) ,
Figure DE102021112485B3_0163
x ˙ a m i n = max ( K a ( x _ a x a o p t ) ,   x ˙ _ a ) , x ˙ a m a x = min ( K a ( x ¯ a x a o p t ) ,   x ˙ ¯ a ) ,
Figure DE102021112485B3_0164
mit Ka > 0, wobei Ka diagonal und positiv definit ist; d4) Berechnen der optimierten Position x a o p t
Figure DE102021112485B3_0165
durch Integrieren der optimierten Geschwindigkeiten x ˙ a o p t
Figure DE102021112485B3_0166
über die Zeit; sowie d5) Zusammensetzen der optimierten Position x a o p t
Figure DE102021112485B3_0167
für die veränderlichen Freiheitsgrade mit der Referenzposition x u r e ƒ
Figure DE102021112485B3_0168
der unveränderlichen Freiheitsgrade zu ( x c m d ) T = ( ( x a o p t ) T , ( x u r e ƒ ) T )
Figure DE102021112485B3_0169
und als Ganzkörperbewegung.
Procedure for balancing claim 1 or 2 , wherein method step d) comprises the following steps: d1) dividing the total number of n ¯
Figure DE102021112485B3_0149
Actuated degrees of freedom in the task space in: k degrees of freedom to be influenced with the associated task variables x a and in n ¯ k
Figure DE102021112485B3_0150
unchanged degrees of freedom with the associated task variables x u , with k { 0, ... , n ¯ } ;
Figure DE102021112485B3_0151
d2) determining the optimized speeds satisfying the relationship: l c right e ƒ = A ¯ a x ˙ a O p t + A ¯ and x ˙ and right e ƒ ,
Figure DE102021112485B3_0152
d3) Solving the relation in d2) by formulating a quadratic optimization problem with constraints to: at least x ˙ a O p t ( 1 2 δ l T Q l δ l + 1 2 δ p T Q p δ p ) ,
Figure DE102021112485B3_0153
where Q L and Q R > 0 represent weight matrices, both of which are positive definite and symmetric with the residuals: δ l = A ¯ a x ˙ a O p t + A ¯ and x ˙ and right e ƒ l c right e ƒ ,
Figure DE102021112485B3_0154
δ p = x ˙ a O p t x ˙ a i.e ,
Figure DE102021112485B3_0155
taking into account the boundary conditions: x ˙ a m i n x ˙ a O p t x ˙ a m a x .
Figure DE102021112485B3_0156
where the desired speed x ˙ a i.e
Figure DE102021112485B3_0157
based on the deviation of the optimized position from its reference position x a right e ƒ
Figure DE102021112485B3_0158
is calculated: x ˙ a i.e = x ˙ a right e ƒ + K p ( x a right e ƒ x a O p t ) ,
Figure DE102021112485B3_0159
where reference speed x ˙ a right e ƒ
Figure DE102021112485B3_0160
for the variables to be optimized and the associated reference position x a right e ƒ
Figure DE102021112485B3_0161
are known as input variables, where the convergence of the robot to the reference pose can be influenced by the design parameters K p > 0, which is chosen to be diagonal and positive definite with the pose constraints ( x _ a , x ¯ a )
Figure DE102021112485B3_0162
and the speed limits ( x _ ˙ a , x ˙ ¯ a ) ,
Figure DE102021112485B3_0163
x ˙ a m i n = Max ( K a ( x _ a x a O p t ) , x ˙ _ a ) , x ˙ a m a x = at least ( K a ( x ¯ a x a O p t ) , x ˙ ¯ a ) ,
Figure DE102021112485B3_0164
with K a > 0, where K a is diagonal and positive definite; d4) Calculating the optimized position x a O p t
Figure DE102021112485B3_0165
by integrating the optimized speeds x ˙ a O p t
Figure DE102021112485B3_0166
over time; and d5) assembling the optimized position x a O p t
Figure DE102021112485B3_0167
for the variable degrees of freedom with the reference position x and right e ƒ
Figure DE102021112485B3_0168
of the invariable degrees of freedom ( x c m i.e ) T = ( ( x a O p t ) T , ( x and right e ƒ ) T )
Figure DE102021112485B3_0169
and as a whole body movement.
Verfahren zur Balancierung nach einem der vorausgehenden Ansprüche, wobei im Verfahrensschritt a) zusätzlich die folgenden Schritte ausgeführt werden: a1) bei dem Vorliegen einer Mehrzahl von Stützflächen, Ersetzen der Mehrzahl von Stützflächen durch eine einzige virtuelle Aufstützfläche, deren Mittelpunkt xv durch den Mittelpunkt der mehreren Stützflächen gebildet wird und deren Fläche, welche der Summe der mehreren Stützflächen entspricht, a2) Berechnen des Kontaktdrehmomentes τv ∈ ℝ3 der virtuellen Aufstandsfläche zu: τ v = [ x ^ v , c I ] A d v , r o t T ( w c ƒ ƒ w g + w c i m p ) ,
Figure DE102021112485B3_0170
wobei x̂v,c die Kreuzproduktmatrix des Vektors xv,c = xc - xv zwischen der Schwerpunktsposition xc und der Position der Aufstützfläche xv ist, wobei der Rotationsteil der invertierten adjungierten Matrix der virtuellen Aufstützfläche, die durch Konstruktion einen vollen Rang aufweist, wird dargestellt durch A d v , r o t T ;
Figure DE102021112485B3_0171
a3) weiteres Aufteilen der Kontaktdrehmomente in Schritt a2) zu: τ v = A d v , r o t T w c ƒ ƒ τ v h i p + A d v , r o t T ( w g + w c i m p ) τ v a n k l e ,
Figure DE102021112485B3_0172
wobei τ v h i p
Figure DE102021112485B3_0173
τv die Kontaktdrehmomente darstellt, die durch eine gewollte Bewegung des Oberkörpers erzeugt werden, hier in Form der Vorwärtskopplungsterme, und daher einer Hüftstrategie zugeordnet ist. Die Kontaktdrehmomente, die durch Schwerkrafts- und Impedanzterme induziert werden, werden von τ v a n k l e
Figure DE102021112485B3_0174
zusammengefasst, die als Fußgelenksstrategie betrachtet werden, da sie das resultierende Kontaktdrehmoment angeben, das vorhanden wäre, wenn eine feste Körperhaltung bewahrt werden würde, d.h. wenn w c ƒ ƒ = 0 ;
Figure DE102021112485B3_0175
a4) Umformulieren der Vorsteuerungs-Terme in (8) die mit erweiterter Trägheits- und Coriolis-Matrix wie folgt umformuliert werden: ( ƒ c ƒ ƒ τ b ƒ ƒ ) w c ƒ ƒ = [ m I 0 0 0 M ω ω M ω q ] M c ( x ¨ c c m d ω ˙ b c m d q ¨ c m d ) + [ 0 C ω ] C c ( x ˙ c c m d ω b c m d q ˙ c m d ) ,
Figure DE102021112485B3_0176
wobei die Vorsteuerungs-Kraft und das -Drehmoment ƒ c ƒ ƒ
Figure DE102021112485B3_0177
bzw. τ b ƒ ƒ
Figure DE102021112485B3_0178
sind. Das Vorsteuerungs-Drehmoment kann als die Änderungsrate des Schwerpunktdrehimpulses interpretiert werden, der sich aus der kommandierten Trajektorie ergibt, die über inverse Kinematik (5) aus dem Aufgabenraum transformiert wird. Die kommandierte Schwerpunkts-Geschwindigkeit und -Beschleunigung, und daher auch ƒ c ƒ ƒ ,
Figure DE102021112485B3_0179
ist für Ausbalancierungsszenarios als null definiert. Infolgedessen wird das Hüft-Kontaktdrehmoment vereinfacht zu τ v h i p = τ b ƒ ƒ = l ˙ c c m d ,
Figure DE102021112485B3_0180
wo l ˙ c c m d
Figure DE102021112485B3_0181
die Änderungsrate des kommandierten Schwerpunktdrehimpulses ist.
Method for balancing according to one of the preceding claims, wherein in method step a) the following steps are additionally carried out: a1) if there are a plurality of supporting surfaces, replacing the plurality of supporting surfaces with a single virtual supporting surface whose center x v is divided by the center of the several supporting surfaces is formed and whose area, which corresponds to the sum of the several supporting surfaces, a2) Calculation of the contact torque τ v ∈ ℝ 3 of the virtual contact area to: τ v = [ x ^ v , c I ] A i.e v , right O t T ( w c ƒ ƒ w G + w c i m p ) ,
Figure DE102021112485B3_0170
where x̂ v,c is the cross product matrix of the vector x v , c = x c − x v between the centroid position x c and the bearing surface position x v , where the rotation part of the inverted adjoint matrix of the virtual bearing surface, which by construction has a full rank has is represented by A i.e v , right O t T ;
Figure DE102021112485B3_0171
a3) further splitting of the contact torques in step a2) to: τ v = A i.e v , right O t T w c ƒ ƒ τ v H i p + A i.e v , right O t T ( w G + w c i m p ) τ v a n k l e ,
Figure DE102021112485B3_0172
whereby τ v H i p
Figure DE102021112485B3_0173
τ v represents the contact torques generated by a voluntary movement of the upper body, here in terms of the feedforward terms, and is therefore associated with a hip strategy. The contact torques induced by gravity and impedance terms are accounted for by τ v a n k l e
Figure DE102021112485B3_0174
collectively, which are considered an ankle strategy because they are the resultant State the contact torque that would exist if a fixed posture were maintained, ie when w c ƒ ƒ = 0 ;
Figure DE102021112485B3_0175
a4) Rephrase the feedforward terms in (8) which are rephrased with augmented inertia and Coriolis matrix as follows: ( ƒ c ƒ ƒ τ b ƒ ƒ ) w c ƒ ƒ = [ m I 0 0 0 M ω ω M ω q ] M c ( x ¨ c c m i.e ω ˙ b c m i.e q ¨ c m i.e ) + [ 0 C ω ] C c ( x ˙ c c m i.e ω b c m i.e q ˙ c m i.e ) ,
Figure DE102021112485B3_0176
where the pilot force and torque ƒ c ƒ ƒ
Figure DE102021112485B3_0177
or. τ b ƒ ƒ
Figure DE102021112485B3_0178
are. The feedforward torque can be interpreted as the rate of change of the centroid angular momentum resulting from the commanded trajectory transformed from the task space via inverse kinematics (5). The commanded center of gravity velocity and acceleration, and hence also ƒ c ƒ ƒ ,
Figure DE102021112485B3_0179
is defined as zero for balancing scenarios. As a result, the hip contact torque is simplified to τ v H i p = τ b ƒ ƒ = l ˙ c c m i.e ,
Figure DE102021112485B3_0180
Where l ˙ c c m i.e
Figure DE102021112485B3_0181
is the rate of change of commanded centroid angular momentum.
Verfahren zur Balancierung nach Anspruch 4, wobei die Grenzen für die xy-Ebene auf Basis der Beschränkung berechnet werden, dass der kombinierte Druckmittelpunkt pv ∈ ℝ2 innerhalb einer virtuellen Aufstützfläche Sv p v = 1 ƒ v , z ( τ v , y τ v , x ) S v ,
Figure DE102021112485B3_0182
liegen muss, wobei fv,Z die gesamte vertikale Kraft ist, die auf den Boden aufgebracht wird.
Procedure for balancing claim 4 , where the limits for the xy-plane are calculated based on the constraint that the combined center of pressure p v ∈ ℝ 2 is within a virtual bearing surface Sv p v = 1 ƒ v , e.g ( τ v , y τ v , x ) S v ,
Figure DE102021112485B3_0182
where f v,Z is the total vertical force applied to the ground.
Verfahren zur Balancierung nach Anspruch 5, wobei im Verfahrensschritt b) als Kontaktmoment rext das Kontaktdrehmoment des Fußgelenks τ v a n k l e
Figure DE102021112485B3_0183
auf Überschreitung eines vordefinierten Schwellenwertes τ v t h r e s
Figure DE102021112485B3_0184
überprüft wird, wobei der Schwellenwert als Funktion der Kontaktdrehmomentgrenzen bestimmt wird: τ v t h r e s = α τ v m i n / m a x ,
Figure DE102021112485B3_0185
mit dem Designparameter α ∈ [0, 1] und wobei die Änderungsrate des Referenzschwerpunktdrehimpulses definiert wird als die Differenz des Fußgelenkdrehmoments und dessen Schwellenwerts l c r e ƒ ( t ) = τ v t h r e s ( t ) τ v a n k l e ( t ) .
Figure DE102021112485B3_0186
Diese Differenz kann als das zusätzliche Hüftdrehmoment in (19), das nötig ist, um τv innerhalb seiner Grenzen zu halten, interpretiert werden. Der entsprechende Referenzschwerpunktimpuls l c r e ƒ ( t )
Figure DE102021112485B3_0187
kann durch Integrieren von (24) in Bezug auf die Zeit erhalten werden, wobei die Zeit t innerhalb des Intervalls t ∈ [t1, t2) definiert wird, wobei der Moment der Aktivierung der ersten Phase durch t = t1 gekennzeichnet ist und wobei die Phase 1 abgeschlossen ist, wenn das Fußgelenksdrehmoment wieder unter dem vordefinierten Schwellenwert liegt, d.h. | τ v a n k l e ( t ) | < τ v t h r e s ( t ) ,
Figure DE102021112485B3_0188
dieser Zeitpunkt wird definiert durch t = t2.
Procedure for balancing claim 5 , where in step b) the contact torque rext is the contact torque of the ankle τ v a n k l e
Figure DE102021112485B3_0183
for exceeding a predefined threshold τ v t H right e s
Figure DE102021112485B3_0184
is verified, determining the threshold as a function of the contact torque limits: τ v t H right e s = a τ v m i n / m a x ,
Figure DE102021112485B3_0185
with the design parameter α ∈ [0, 1] and where the rate of change of the reference centroid angular momentum is defined as the difference of the ankle torque and its threshold l c right e ƒ ( t ) = τ v t H right e s ( t ) τ v a n k l e ( t ) .
Figure DE102021112485B3_0186
This difference can be interpreted as the additional hip torque in (19) needed to keep τ v within its limits. The corresponding reference centroid momentum l c right e ƒ ( t )
Figure DE102021112485B3_0187
can be obtained by integrating (24) with respect to time, defining the time t within the interval t ∈ [t 1 , t 2 ), where the moment of activation of the first phase is characterized by t = t 1 and phase 1 is completed when the ankle torque is again below the predefined threshold, ie | τ v a n k l e ( t ) | < τ v t H right e s ( t ) ,
Figure DE102021112485B3_0188
this point in time is defined by t=t 2 .
Verfahren nach Anspruch 6, wobei im Verfahrensschritt c3) die Gesamtdauer für die Reduktion des Referenzschwerpunktimpulses auf 0 wird als T = t3 - t2 definiert mit t2 als Startzeitpunkt und t3 als Endzeitpunkt der Reduktion des Referenzschwerpunktdrehimpulses, Vorgeben des Referenzschwerpunktdrehimpulses über folgende Beziehung: l c r e ƒ ( t ) = j = 0 3 a j ( t t 2 ) j T j ,
Figure DE102021112485B3_0189
Ermitteln der von T auf Basis der kritischen Punkte von l ˙ c r e ƒ
Figure DE102021112485B3_0190
als Beziehung zwischen der Gesamtdauer T, dem Referenzschwerpunktdrehimpuls am Anfang der Reduktion des Schwerpunktdrehimpulses l c , t 2 r e ƒ ,
Figure DE102021112485B3_0191
Phase 2, und seiner maximalen Änderungsrate l ˙ c m a x > 0
Figure DE102021112485B3_0192
wie folgt erhalten: T = 3 | l c , t 2 r e ƒ | 2 l ˙ c m a x .
Figure DE102021112485B3_0193
wobei l ˙ c m a x
Figure DE102021112485B3_0194
als Funktion der höchsten Änderungsrate des Schwerpunktdrehimpulses während Phase 1 gewählt wird, erhalten durch: l ˙ c m a x = β ( max t 1 t < t 2   | l ˙ c r e ƒ ( t ) | ) ,
Figure DE102021112485B3_0195
mit dem Designparameter β, der innerhalb des Intervalls β ∈ (0, 1] definiert wird.
procedure after claim 6 , wherein in method step c3) the total duration for the reduction of the reference centroid impulse to 0 is defined as T = t 3 - t 2 with t 2 as the start time and t 3 as the end time of the reduction of the reference centroid angular momentum, specification of the reference centroid angular momentum via the following relationship: l c right e ƒ ( t ) = j = 0 3 a j ( t t 2 ) j T j ,
Figure DE102021112485B3_0189
Determine the of T based on the critical points of l ˙ c right e ƒ
Figure DE102021112485B3_0190
as the relationship between the total duration T, the reference centroid angular momentum at the beginning of the reduction of the centroid angular momentum l c , t 2 right e ƒ ,
Figure DE102021112485B3_0191
Phase 2, and its maximum rate of change l ˙ c m a x > 0
Figure DE102021112485B3_0192
received as follows: T = 3 | l c , t 2 right e ƒ | 2 l ˙ c m a x .
Figure DE102021112485B3_0193
whereby l ˙ c m a x
Figure DE102021112485B3_0194
is chosen as a function of the highest rate of change of centroid angular momentum during phase 1, obtained by: l ˙ c m a x = β ( Max t 1 t < t 2 | l ˙ c right e ƒ ( t ) | ) ,
Figure DE102021112485B3_0195
with the design parameter β defined within the interval β ∈ (0, 1].
Verfahren zur Ganzkörpersteuerung eines Roboters zum Ausgleich von externen einwirkenden Störungen der Roboter umfassend: mindestens zwei Körpersegmente, mindestens ein Gelenk mit der Anzahl von n Freiheitsgraden zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung der Stellung q des mindestens einen Gelenks, sowie eine Aufstützfläche; wobei das Regelschleifenverhalten zur Steuerung der mindestens einen Stelleinrichtung zu: M ( Δ ν ˙ c Δ q ¨ ) + C ( Δ ν c Δ q ˙ ) = τ e x t J T ( w c i m p w g r ƒ τ ƒ i m p ) ,
Figure DE102021112485B3_0196
wobei w grf die zusammengeführten Kontaktauslenkungen der Aufstützfläche des Roboters bezeichnet und die Abweichung von den kommandierten Trajektorien durch Δ ν = ν c ν c c m d  und  Δ q ˙ = q ˙ q ˙ c m d
Figure DE102021112485B3_0197
wiedergegeben werden; wobei die kommandierten Trajektorien xcmd im Aufgabenraum erzeugt werden über das Verfahren gemäß einem der Ansprüche 1 bis 6 und die entsprechenden kommandierten Schwerpunkts- und Gelenkwerte über inverse Kinematik berechnet werden: ( ν c c m d q ˙ c m d ) = J 1 x ˙ c m d .
Figure DE102021112485B3_0198
wobei die Schwerpunkts-assoziierten Impedanzen definiert werden durch: w c i m p = ( K c ( x c x c c m d ) + D c ( x ˙ c x ˙ c c m d ) τ r ( Σ b , ( R b c m d ) T R b ) + B b ( ω b ω b c m d ) ) ,
Figure DE102021112485B3_0199
wobei die Linear- und Rotationssteifigkeitsmatrizes Kc > 0 und Σb > 0 sowie die Linear- und Rotationsdämpfungsmatrizes Dc > 0 und Bb > 0 symmetrisch und positiv definit sind; wobei die kartesische Ausrichtung der Hüfte von einer virtuellen Rotationsfeder τ r ( Σ b , ( R b c m d ) T R b )
Figure DE102021112485B3_0200
gesteuert wird, während die Impedanz der Gelenkaufgabe durch τ ƒ i m p = K ƒ ( q ƒ q ƒ c m d ) + D ƒ ( q ˙ ƒ q ˙ ƒ c m d ) ,
Figure DE102021112485B3_0201
realisiert wird, mit den positiv definiten linearen Feder- und Dämpfer-Matrizen Kƒ > 0 und Dƒ > 0 . Berechnen der finalen Steuerungsdrehmomente: τ = M q ( ν ˙ c c m d q ¨ c m d ) + C q ( ν c c m d q ˙ c m d ) ( J ' ) T w g r ƒ S ƒ T τ ƒ i m p .
Figure DE102021112485B3_0202
Regler umfassend mindestens eine Recheneinheit und eine Speichereinheit, wobei auf der Speichereinheit Instruktionen zur Ausführung des Balancierungsverfahrens gemäß einem der Ansprüche 1 bis 7 durch die Recheneinheit abgelegt sind. Roboter umfassend: mindestens zwei Körpersegmente, mindestens ein Gelenk zur gelenkigen Verbindung der Körpersegmente mit mindestens einer Stelleinrichtung zur aktiven Beeinflussung der Stellung des mindestens einen Gelenks, sowie eine Aufstützfläche und eine Recheneinheit, welche zur Ausbalancierung des Roboters ein Verfahren gemäß einem der Ansprüche 1 bis 7 ausführt.
Method for whole-body control of a robot to compensate for external disturbances affecting the robot, comprising: at least two body segments, at least one joint with the number of n degrees of freedom for the articulated connection of the body segments with at least one actuating device for actively influencing the Position q of the at least one joint, and a support surface; the control loop behavior for controlling the at least one actuating device being: M ( Δ v ˙ c Δ q ¨ ) + C ( Δ v c Δ q ˙ ) = τ e x t J T ( w c i m p w G right ƒ τ ƒ i m p ) ,
Figure DE102021112485B3_0196
where w grf denotes the combined contact deflections of the robot's support surface and the deviation from the commanded trajectories by Δ v = v c v c c m i.e and Δ q ˙ = q ˙ q ˙ c m i.e
Figure DE102021112485B3_0197
be reproduced; wherein the commanded trajectories x cmd are generated in the task space via the method according to one of Claims 1 until 6 and the corresponding commanded center of gravity and joint values are calculated via inverse kinematics: ( v c c m i.e q ˙ c m i.e ) = J 1 x ˙ c m i.e .
Figure DE102021112485B3_0198
where the centroid-associated impedances are defined by: w c i m p = ( K c ( x c x c c m i.e ) + D c ( x ˙ c x ˙ c c m i.e ) τ right ( Σ b , ( R b c m i.e ) T R b ) + B b ( ω b ω b c m i.e ) ) ,
Figure DE102021112485B3_0199
where the linear and rotational stiffness matrices K c > 0 and Σ b > 0 and the linear and rotational damping matrices D c > 0 and B b > 0 are symmetric and positive definite; where the Cartesian alignment of the hip from a virtual torsional spring τ right ( Σ b , ( R b c m i.e ) T R b )
Figure DE102021112485B3_0200
is controlled while the impedance of the joint task through τ ƒ i m p = K ƒ ( q ƒ q ƒ c m i.e ) + D ƒ ( q ˙ ƒ q ˙ ƒ c m i.e ) ,
Figure DE102021112485B3_0201
is realized with the positive definite linear spring and damper matrices K ƒ > 0 and D ƒ > 0 . Calculating the final control torques: τ = M q ( v ˙ c c m i.e q ¨ c m i.e ) + C q ( v c c m i.e q ˙ c m i.e ) ( J ' ) T w G right ƒ S ƒ T τ ƒ i m p .
Figure DE102021112485B3_0202
Controller comprising at least one computing unit and one memory unit, wherein on the memory unit instructions for executing the balancing method according to one of Claims 1 until 7 are stored by the processing unit. Robot comprising: at least two body segments, at least one joint for the articulated connection of the body segments with at least one adjusting device for actively influencing the position of the at least one joint, as well as a support surface and a computing unit, which uses a method according to one of Claims 1 until 7 executes
DE102021112485.9A 2021-05-12 2021-05-12 Method for balancing a robot, method for whole-body control of a robot, regulator and robot Active DE102021112485B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021112485.9A DE102021112485B3 (en) 2021-05-12 2021-05-12 Method for balancing a robot, method for whole-body control of a robot, regulator and robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021112485.9A DE102021112485B3 (en) 2021-05-12 2021-05-12 Method for balancing a robot, method for whole-body control of a robot, regulator and robot

Publications (1)

Publication Number Publication Date
DE102021112485B3 true DE102021112485B3 (en) 2022-08-11

Family

ID=82493270

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021112485.9A Active DE102021112485B3 (en) 2021-05-12 2021-05-12 Method for balancing a robot, method for whole-body control of a robot, regulator and robot

Country Status (1)

Country Link
DE (1) DE102021112485B3 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022205011A1 (en) 2022-05-19 2023-11-23 Robert Bosch Gesellschaft mit beschränkter Haftung Method for determining a moment for operation of a robot using a model and method for teaching the model
CN117773954A (en) * 2024-02-27 2024-03-29 深圳威洛博机器人有限公司 Robot joint module motion control system and method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1334901B1 (en) 2002-02-12 2008-01-02 The University of Tokyo Method for generating a motion of a human type link system
EP1475196B1 (en) 2001-12-28 2010-03-31 Honda Giken Kogyo Kabushiki Kaisha Gait producing device for leg type movable robot
EP1649983B1 (en) 2003-06-27 2010-09-22 Honda Motor Co., Ltd. Gait generation device for legged mobile robot
US7835822B2 (en) 2005-03-30 2010-11-16 Honda Motor Co., Ltd. Systems and methods for controlling a legged robot using a two-phase disturbance response strategy
EP1642687B9 (en) 2003-06-27 2011-04-20 Honda Motor Co., Ltd. Control device for legged mobile robot
WO2011106543A1 (en) 2010-02-25 2011-09-01 Honda Motor Co., Ltd. A momentum-based balance controller for humanoid robots on non-level and non-stationary ground
DE102010064270B4 (en) 2009-12-28 2015-06-25 Honda Motor Co., Ltd. Control / regulating device for a robot

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1475196B1 (en) 2001-12-28 2010-03-31 Honda Giken Kogyo Kabushiki Kaisha Gait producing device for leg type movable robot
EP1334901B1 (en) 2002-02-12 2008-01-02 The University of Tokyo Method for generating a motion of a human type link system
EP1649983B1 (en) 2003-06-27 2010-09-22 Honda Motor Co., Ltd. Gait generation device for legged mobile robot
EP1642687B9 (en) 2003-06-27 2011-04-20 Honda Motor Co., Ltd. Control device for legged mobile robot
EP1642688B1 (en) 2003-06-27 2011-08-10 Honda Motor Co., Ltd. Gait generating device of legged mobile robot and legged mobile robot controller
US7835822B2 (en) 2005-03-30 2010-11-16 Honda Motor Co., Ltd. Systems and methods for controlling a legged robot using a two-phase disturbance response strategy
DE102010064270B4 (en) 2009-12-28 2015-06-25 Honda Motor Co., Ltd. Control / regulating device for a robot
WO2011106543A1 (en) 2010-02-25 2011-09-01 Honda Motor Co., Ltd. A momentum-based balance controller for humanoid robots on non-level and non-stationary ground
US9367795B2 (en) 2010-02-25 2016-06-14 Honda Motor Co., Ltd. Momentum-based balance controller for humanoid robots on non-level and non-stationary ground

Non-Patent Citations (16)

* Cited by examiner, † Cited by third party
Title
ABDALLAH, Muhammad ; GOSWAMI, Ambarish: A biomechanically motivated two-phase strategy for biped upright balance control. In: Proceedings of the 2005 IEEE International Conference on Robotics and Automation, 18-22 April 2005, Barcelona, Spain, S. 1996-2001. - ISBN 0-7803-8914-X (P). DOI: 10.1109/ROBOT.2005.1570406. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1570406 [abgerufen am 2021-06-23]
ALBU-SCHÄFFER, A. [et al]: The DLR lightweight robot: design and control concepts for robots in human environments. In: Industrial Robot: an International Journal, Vol. 34, 2007, No. 5, S. 376-385. - ISSN 0143-991X (P); 0143-991X (E). URL: https://www.emerald.com/insight/content/doi/10.1108/01439910710774386/full/pdf [abgerufen am 2020-11-16]
ENGLSBERGER, Johannes ; MESESAN, George ; OTT, Christian: Smooth trajectory generation and push-recovery based on Divergent Component of Motion. In: 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), September 24-28, 2017, Vancouver, BC, Canada, S. 4560-4567. - ISBN 978-1-5386-2682-5 (E); 978-1-5386-2683-2 (PoD). DOI: 10.1109/IROS.2017.8206324. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8206324 [abgerufen am 2021-06-23]
ENGLSBERGER, Johannes [et al.]: Overview of the torque-controlled humanoid robot TORO. In: 2014 14th IEEE-RAS International Conference on Humanoid Robots (Humanoids), November 18-20, 2014, Madrid, Spain, S. 916-923. - ISBN 978-1-4799-7174-9 (E). DOI: 10.1109/HUMANOIDS.2014.7041473. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7041473 [abgerufen am 2021-07-14]
ENGLSBERGER, Johannes Adalbert: Combining reduced dynamics models and whole-body control for agile humanoid locomotion. München, 2016. 118 S. - München, Techn. Univ., Diss., 2016. URL: https://mediatum.ub.tum.de/doc/1311519/1311519.pdf [abgerufen am 2021-06-23]
FERREAU, H. J. ; BOCK, H. G. ; DIEHL, M.: An online active set strategy to overcome the limitations of explicit MPC. In: International Journal of Robust and Nonlinear Control, Vol. 18, 2008, No. 8, S. 816-830. - ISSN 1049-8923 (P); 1099-1239 (E). DOI: 10.1002/rnc.1251. URL: https://onlinelibrary.wiley.com/doi/epdf/10.1002/rnc.1251 [abgerufen am 2021-07-14]
HENZE, Bernd ; ROA, Máximo A. ; OTT, Christian: Passivity-based whole-body balancing for torque-controlled humanoid robots in multi-contact scenarios. In: The International Journal of Robotics Research, Vol. 35, 2016, No. 12, S. 1522-1543. - ISSN 0278-3649 (P); 1741-3176 (E). DOI: 10.1177/0278364916653815. URL: https://journals.sagepub.com/doi/pdf/10.1177/0278364916653815 [abgerufen am 2021-06-23]
HINATA, Ryotaro ; NENCHEV, Dragomir N.: Balance stabilization with angular momentum damping derived from the reaction null-space. In: 2018 IEEE-RAS 18th International Conference on Humanoid Robots (Humanoids), November 6-9, 2018, Beijing, China, S. 188-195. - ISBN 978-1-5386-7283-9 (E); 978-1-5386-7284-6 (PoD). DOI: 10.1109/HUMANOIDS.2018.8624933. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8624933 [abgerufen am 2021-06-23]
HOFMANN, Andreas ; POPOVIC, Marko ; HERR, Hugh: Exploiting angular momentum to enhance bipedal center-of-mass control. In: 2009 IEEE International Conference on Robotics and Automation (ICRA), May 12-17, 2009, Kobe International Conference Center, Kobe, Japan, S. 4423-4429. - ISBN 978-1-4244-2788-8 (P). DOI: 10.1109/ROBOT.2009.5152573. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5152573 [abgerufen am 2021-06-22]
KANEHIRO, Fumio ; HIRUKAWA, Hirohisa ; KAJITA, Shuuji: OpenHRP: Open architecture humanoid robotics platform. In: The International Journal of Robotics Research, Vol. 23, 2004, No. 2, S. 155–165. - ISSN 0278-3649 (P); 1741-3176 (E). DOI: 10.1177/0278364904041324. URL: https://journals.sagepub.com/doi/pdf/10.1177/0278364904041324 [abgerufen am 2021-07-14]
LEE, Sung-Hee ; GOSWAMI, Ambarish: A momentum-based balance controller for humanoid robots on non-level and non-stationary ground. In: Autonomous Robots, Vol. 33, 2012, No. 4, S. 399-414. - ISSN 0929-5593 (P); 1573-7527 (E). DOI: 10.1007/s10514-012-9294-z. URL: https://link.springer.com/content/pdf/10.1007/s10514-012-9294-z.pdf [abgerufen am 2021-06-22]
MESESAN, George [et al.]: Convex properties of center-of-mass trajectories for locomotion based on Divergent Component of Motion. In: IEEE Robotics and Automation Letters, Vol. 3, 2018, No. 4, S. 3449-3456. - ISSN 2377-3766 (E). DOI: 10.1109/LRA.2018.2853557. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8404119 [abgerufen am 2021-06-23]
MESESAN, George [et al.]: Dynamic walking on compliant and uneven terrain using DCM and passivity-based whole-body control. In: 2019 IEEE-RAS 19th International Conference on Humanoid Robots (Humanoids), October 15-17, 2019, Toronto, ON, Canada, S. 25-32. - ISBN 978-1-5386-7630-1 (E); 978-1-5386-7631-8 (PoD). DOI: 10.1109/Humanoids43949.2019.9035053. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9035053 [abgerufen am 2021-06-23]
ORIN, David E. ; GOSWAMI, Ambarish ; LEE, Sung-Hee: Centroidal dynamics of a humanoid robot. In: Autonomous Robots, Vol. 35, 2013, Nos. 2-3, S. 161-176. - ISSN 0929-5593 (P); 1573-7527 (E). DOI: 10.1007/s10514-013-9341-4. URL: https://link.springer.com/content/pdf/10.1007/s10514-013-9341-4.pdf [abgerufen am 2021-06-23]
OTT, Christian ; ROA, Maximo A. ; HIRZINGER, Gerd: Posture and balance control for biped robots based on contact force optimization. In: 2011 11th IEEE-RAS International Conference on Humanoid Robots, October 26-28, 2011, Bled, Slovenia, S. 26-33. - ISBN 978-1-61284-866-2 (P); 978-1-61284-868-6 (E). DOI: 10.1109/Humanoids.2011.6100882. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6100882 [abgerufen am 2021-06-23]
PADEN, Brad ; PANJA, Ravi: Globally asymptotically stable ʻPD+ʼ controller for robot manipulators. In: International Journal of Control, Vol. 47, 1988, No. 6, S. 1697-1712. - ISSN 0020-7179 (P); 1366-5820 (E)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022205011A1 (en) 2022-05-19 2023-11-23 Robert Bosch Gesellschaft mit beschränkter Haftung Method for determining a moment for operation of a robot using a model and method for teaching the model
CN117773954A (en) * 2024-02-27 2024-03-29 深圳威洛博机器人有限公司 Robot joint module motion control system and method

Similar Documents

Publication Publication Date Title
DE60126153T2 (en) PATTERN GENERATING DEVICE FOR MOVING ROBOTS WITH LEGS
DE102021112485B3 (en) Method for balancing a robot, method for whole-body control of a robot, regulator and robot
DE69734835T2 (en) POSITIVE CONTROLLER ON A ROBOT MOVING ON LEGS
DE112006000313B4 (en) Binary robot and control method for the same
Guan et al. Adaptive fuzzy sliding mode control for flexible satellite
DE102010064270B4 (en) Control / regulating device for a robot
Lee et al. Balancing of humanoid robot using contact force/moment control by task-oriented whole body control framework
Sugihara et al. Whole-body cooperative balancing of humanoid robot using COG Jacobian
DE102010064267B4 (en) Control device for a mobile robot
DE60313952T2 (en) CONTROL FOR MOBILE ROBOT WITH LEGS
DE102009058004B4 (en) Impedance control in the operating room with several priorities
DE112005002207B4 (en) Running robot using passive changes in joint angles and control methods thereof
DE112017003961B4 (en) Control for parallel link mechanism
DE102020120116B4 (en) Method for impedance-based multi-tasking tracking control, impedance-based multi-tasking tracking controller and force and/or torque controlled robot
DE19810341C2 (en) Method for automatic collision avoidance of a manipulator in a work space limited by obstacles
EP3705664B1 (en) Articulated arm control for a concrete pump
EP3705663B1 (en) Articulated arm control for a concrete pump
Lee et al. Robust and adaptive dynamic controller for fully-actuated robots in operational space under uncertainties
EP2218556B1 (en) Controller and control method for a manipulator
DE112005001917T5 (en) Robot on legs, method for controlling a robot on legs and apparatus and method for generating gait data
Jalali et al. Design Parallel Linear PD Compensation by Fuzzy Sliding Compensator for Continuum Robot
EP3705662B1 (en) Articulated arm control for a concrete pump
Villa et al. Torque controlled locomotion of a biped robot with link flexibility
EP4164840B1 (en) Method and computer program product for controlling a robot
Abedzadeh Maafi et al. Pareto optimal design of a fuzzy adaptive sliding mode controller for a three-link model of a biped robot via the multi-objective improved team game algorithm

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final