Method and computer program for controlling a robot

The modular passive tracking controller (MPTC) addresses the challenges of controlling kinematically redundant robots by using weighted quadratic programming to ensure passivity and robustness, achieving stable and accurate multitasking control.

JP7661370B2Active Publication Date: 2025-04-14ドイッチェス ゼントラム ヒュル ルフト- ウント ラウムファールト エーフェー
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022576402
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-06-10
Filing Date
2021-06-10
Publication Date
2025-04-14
Estimated Expiration
2041-06-10

AI Technical Summary

Technical Problem

Existing methods for controlling kinematically redundant robots to perform multiple tasks simultaneously face challenges such as loss of strict task hierarchy, robustness issues due to model errors and contact uncertainty, and poor tracking of reference trajectories.

Method used

A modular passive tracking controller (MPTC) is developed, which uses weighted quadratic programming to combine control targets for individual tasks, ensuring passivity and robustness by maintaining natural inertia and compensating for non-task-specific Coriolis and centrifugal effects.

Benefits of technology

The MPTC achieves stable and passive control of redundant robotic systems, ensuring accurate tracking of reference trajectories, robustness to singularities and model inaccuracies, and flexible implementation across various robotic applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007661370000108
    Figure 0007661370000108
  • Figure 0007661370000109
    Figure 0007661370000109
  • Figure 0007661370000110
    Figure 0007661370000110
Patent Text Reader

Abstract

The present invention relates to a method for controlling a kinematically redundant robot (100) to perform multiple tasks, the method comprising: using at least one passivity-based first controller module (102); calculating at least one task target description and at least one associated task mapping for the at least one first controller module (102); calculating at least one weighting for the tasks; and integrating the at least one first controller module (102) into an overall controller (104) using the at least one weighting; and a computer program comprising instructions that, when executed by at least one processor, cause the processor to perform the method.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a control method for making a kinematically redundant robot perform multiple tasks, and also to a computer program for carrying out such a method. [Background technology]

[0002] In the field of robot control, the simultaneous control of multiple tasks, so-called "tasks", is an important research topic. While previous work considered the simple case of a single task and the corresponding null space, i.e. the remaining robot degrees of freedom, for kinematically redundant robots, today there are several established methods that can handle multiple tasks with or without prioritization. In the literature, a distinction is made between those that first solve the task coordination problem at the kinematic level and those that address the control problem directly at the dynamics level. Another important classification possibility is the separation between methods that enforce strict task priorities by hierarchical controllers and those that generate soft or relaxed priorities by task weighting.

[0003] At the kinematic level, PublicationsY. Nakamura, H. Hanafusa, and T. Yoshi k awa. Taskpriority based redundancy control of robot manipulators. The International Journal of Robotics Research, 6(2): 3-15, 1987. doi: 10.1177 / 027836498700600201, and G. Antonelli. Stability Analysis for Prioritized closed-loop inverse kinematic algorithms for redundant robotic systems. IEEE Transactions on Robotics, 25(5):985-994, 2009. proposes a hierarchical controller that guarantees strict task hierarchy based on null space projection. To address possible task singularity issues, In the publication F. Kanehiro, H. Hirukawa, and S. Kajita. Openhrp: Open Architecture Humanoid Robotics Platform. The International Journal of Robotics Research, 23(2):155- 165, 2004. doi: 10.1177 / 0278364904041324., a singularity-robust inverse kinematics method is proposed. In any case, as a result of this singularity-robust inverse kinematics, the strict task hierarchy is lost, since it effectively creates a weighting between the individual tasks.

[0004] Other methods handle multiple tasks simultaneously at the dynamic level. The "Operational Space" method has been further developed to enable the control of humanoid robots. This is described in the publication L. Sentis and O. Khatib. Synthesis of Whole-Body behaviors through hierarchical control of behavioral primitives. International Journal of Humanoid Robotics, 2(4): 505-518, 2005. and See L. Sentis, J. Park, and O. Khatib. Compliant Control of multicontact and center-of-mass behaviors in humanoid robots. IEEE Transactions on Robotics, 26(3):483-501, 2010. verwiesen. Another inverse dynamics (ID) based method uses hierarchical quadratic programming (QP). This is described in the publication J. Peters, M. Mistry, F. Udwadia, J. Nakanishi, and S. Schaal. A unifying framework for robot control with redundant dofs. Autonomous Robots, 24:1-12, 2008. doi: 10.1007 / s10514-007-9051-x. Adrien Escande, Nicolas Mansard, and Pierre-Brice Wieber. Hierarchical quadratic programming: fast online humanoid-robot motion generation. The International Journal of Robotics Research, 33(7):1006-1028, 2014. doi: 10.1177 / 0278364914521306. See K. Bouyarmane and A. Kheddar. On Weight-Prioritized multitask control of humanoid robots. IEEE Transactions on Automatic Control, 63(6):1632-1647, June 2018. ISSN 2334-3303. doi: 10.1109 / TAC.2017.2752085. Most of the mentioned methods aim at a strict task separation, which ensures, for example, that different tasks do not affect each other, at least in theory, and similarly that the transient behavior of each individual task after a fault is completely independent of the other task coordinates.

[0005] The method presented here is inspired by a family of tracking controllers based on inverse dynamics and is implemented using a single weighted quadratic programming (QP) algorithm. of The use of MA Hopkins, DW Hong, and A. Leonessa. Compliant locomotion using whole-body control and divergent component of motion tracking. In IEEE Int. Conf. on Robotics and Automation (ICRA), pages 5726-5733, May 2015. doi: 10.1109 / ICRA.2015.7140001. T. Koolen, S. Bertrand, G. Thomas, T. de Boer, T. Wu, J. Smith, J. Englsberger, and J. Pratt. Design of a Momentum-Based Control Framework and application to the humanoid robot atlas. International Journal of Humanoid Robotics, 13(01):1650007, 2016. doi: 10.1142 / S0219843616500079., and See J. Englsberger, G. Mesesan, A. Werner, and C. Ott. Torque-Based Dynamic Walking - a long way from simulation to experiment. In IEEE Int. Conf. on Robotics and Automation (ICRA), pages 440-447, 2018. Such controllers are very easy to implement and highly flexible. However, the publication B. Paden and B. Riedle. A Positive-Real Modification of a class of nonlinear controllers for robot manipulators. In 1988 American Control Conference, pages 1782-1785, June 1988. doi: 10.23919 / ACC.1988.4790015. A. Dietrich. Whole-Body Impedance Control of Wheeled Humanoid Robots, volume 116. Springer International Publishing, 2016. ISBN 978-3-319-40557-5. B. Henze, MA Roa, and Ch. Ott. Passivity-based whole-body balancing for torque-controlled humanoid robots in multi-contact scenarios. The International Journal of Robotics Research, 35(12):1522-1543, 2016. doi: 10.1177 / 0278364916653815. G. Mesesan, J. Englsberger, G. Garofalo, C. Ott, and15:47 10.06.2020 A. Albu-Sch?ffer. Dynamic walking on compliant and uneven terrain using dcm and passivity-based wholebody control. In IEEE-RAS 19th Int. Conf. on Humanoid Robots (Humanoids), pages 25-32, 2019., and A. Dietrich and C. Ott. Hierarchical Impedance-Based Tracking Control of Kinematically Redundant Robots. IEEE Transactions on Robotics, 36(1):204-221, 2020. ISSN 1941-0468. doi: 10.1109 / TRO.2019.2945876., in comparison with passivity-based methods, controllers based on inverse dynamics are in any case less robust with respect to model errors and contact uncertainties or insecurities, which leads to problems such as vibrations in practical use that have to be dealt with using heuristic methods.

[0006] Furthermore, the presented method is K. Bouyarmane and A. Kheddar. On Weight-Prioritized multitask control of humanoid robots. IEEE Transactions on Automatic Control, 63(6):1632-1647, June 2018. ISSN 2334-3303. doi: 10.1109 / TAC.2017.2752085. K. Bouyarmane and A. Kheddar. On Weight-Prioritized multitask control of humanoid robots. IEEE Transactions on Automatic Control, 63(6):1632-1647, June 2018. ISSN 2334-3303. doi: 10.1109 / TAC.2017.2752085. Similar publications Inspired by both the strictly hierarchical passivity-based controllers of A. Dietrich and C. Ott. Hierarchical Impedance-Based Tracking Control of Kinematically Redundant Robots. IEEE Transactions on Robotics, 36(1):204-221, 2020. ISSN 1941-0468. doi: 10.1109 / TRO.2019.2945876., the presented method uses quadratic programming (QP) to combine the control targets of the individual tasks or to weigh them against each other. However, the published In K. Bouyarmane and A. Kheddar. On Weight-Prioritized multitask control of humanoid robots. IEEE Transactions on Automatic Control, 63(6):1632-1647, June 2018. ISSN 2334-3303. doi: 10.1109 / TAC.2017.2752085., each controller belonging to an individual task is calculated based on inverse dynamics, where the identity matrix (Einheitsmatrix) is used as the desired inertia (Traegheit) corresponding to feedback linearization. In contrast, in our method, we calculate the controller belonging to each task based on the concept of passivity and use the natural inertia of the robot, thus realizing a method similar to the PD+ controller. Publication In contrast to methods known from A. Dietrich and C. Ott. Hierarchical Impedance-Based Tracking Control of Kinematically Redundant Robots. IEEE Transactions on Robotics, 36(1):204-221, 2020. ISSN 1941-0468. doi: 10.1109 / TRO.2019.2945876, which are also based on the use of natural inertia for control approaches, the presented method uses a weighted QP form, i.e. a soft prioritization, which makes it possible to combine any number of different tasks and also leads to less aggressive behavior in certain situations, e.g. when task singularities occur. Summary of the Invention

[0007] The invention is based on the object of improving the method mentioned at the beginning. Furthermore, the invention has the object of providing a computer program according to the above.

[0008] The problem is solved by a method with the features of claim 1. Furthermore, the problem is solved by a computer program having the features of claim 15. Advantageous designs and / or developments are the subject of the dependent claims.

[0009] The method can be used for controlling robots in a control-technical manner. The method can be used, for example, in the fields of service robots, medical robots, Industry 4.0 and robotic assistance for astronauts. In principle, the method can be used whenever force / torque controlled robots with kinematic redundancy are available and where both highly precise and flexible human-robot or environment-robot interaction is desired.

[0010] A kinematically redundant robot has multiple degrees of freedom so that it can perform multiple tasks simultaneously. The tasks may be independent of each other. The tasks may be performed at least partially simultaneously. The robot may be force-controlled and / or torque-controlled. The passive-based controller module may be an impedance-based controller module. In particular, the term "passivity" is used to distinguish from "activity", where an undesired energy increase occurs in the system.

[0011] The term "task target description" describes in particular quantities resulting from the combination of terms corresponding to the actual targets of the respective task with corresponding feedforward control or compensation terms. The corresponding target settings of a task can consist of a nominal tracking of a reference trajectory and / or, advantageously at the same time, a flexible impedance behavior, for example in the case of interaction with the environment, objects or humans. The feedforward control or compensation terms can, for example, fully or partially compensate for gravitational effects and Coriolis and / or centrifugal effects in order to generate an actual desired behavior and / or an actual desired dynamics.

[0012] The term "task-mapping" describes in particular variables or quantities that establish a relationship between given manipulated variables and / or control inputs and the respective aforementioned task target description. The manipulated variables and / or control inputs can consist, for example, of settable torques of the robot joints and, in the case of free-floating robots such as humanoid robots, also of contact forces that result from constraints between joint torques and given end-effector accelerations, for example the acceleration of the robot feet, under certain conditions.

[0013] At least one task target description and at least one associated task mapping can be calculated such that a nominal behavior of the at least one first controller module corresponds to a behavior of the spring-mass-damper system.

[0014] At least one task target description and at least one additional task can be calculated based on the natural inertia of the robot.

[0015] At least one task target description and at least one attached task mapping can be calculated to compensate for all other Coriolis and centrifugal effects while task-specific Coriolis and centrifugal effects remain unchanged.

[0016] At least one task target description can be calculated as a task vector. The task vector can indicate a force, a force direction, a moment, and / or a moment direction. The desired task force f in Eq. (17) k,des represents such a task vector. Furthermore, the individual task vectors can be advantageously combined into a combined task vector, f des An example of such a combined task vector is shown below.

[0017] At least one auxiliary task mapping can be calculated as a task mapping matrix, which can also be referred to as a mapping matrix (T) or a mapping matrix (U). a matrix J k The matrix T described in equation (12), which can also be called the “dynamically consistent pseudoinverse” of the permutation k represents an example of such a task mapping matrix. The individual task mapping matrices can also be advantageously combined into a unified task mapping matrix T, as described in equation (22).

[0018] At least one further controller module may be integrated into the overall controller.At least one further controller module formulated as a constraint may be integrated into the overall controller.

[0019] The at least one first controller module and / or the at least one further controller module may be weighted, which may be achieved using a weighting matrix, which may also be denoted as weighting matrix (W).

[0020] The at least one first controller module and / or the at least one further controller module can be weighted in such a way that the overall controller exhibits at least approximately passive behavior even in the case of an overdetermined control problem.

[0021] The at least one first controller module and / or the at least one further controller module may be optimized using at least one pseudo-inverse and / or at least one inverse.

[0022] The at least one first controller module and / or the at least one further controller module can be optimized with at least one optimization variable. The at least one first controller module and / or the at least one further controller module can be quadratically optimized or quadratically optimized. The quadratic optimization can be performed in a single instance or in multiple instances.

[0023] At least one of the controller modules can be designed as a tracking controller. At least one of the controller modules can be designed as a regulation controller or a closed-loop control controller (Regulation-Regler). A separate controller module can be assigned to each controllable degree of freedom.

[0024] The computer program product or computer program may be present on a computer readable storage medium, on a computer readable data carrier or as a data carrier signal.

[0025] The method may include the steps of: a) calculating desired task forces and associated task mapping matrices for all passive tracking controller modules, in which the nominal behavior of the passive tracking controller modules corresponds to the behavior of the spring-mass-damper system, the natural inertia of the robot is still maintained, task-specific Coriolis and centrifugal effects remain unaffected, while all other Coriolis and centrifugal effects are compensated; b) calculating special weighting matrices for all tasks that guarantee or promote passivity; c) Integrating and combining the individual passive tracking controller modules into an overall controller by optimization using a special weighting matrix that ensures or promotes passivity.

[0026] In method step c), in addition to the passive tracking controller module, other controllers or controller modules can be integrated. In step c), in addition to the weighted tasks, one or more tasks can also be formulated as constraints and integrated into the overall controller by optimization accordingly. In method step c), a pseudoinverse can be used for optimization. In step c), an optimization based on the concept of quadratic optimization or quadratic programming (QP) can be performed.

[0027] The present invention may relate to a controller module for controlling a torque-based robot, the controller module may have a task mapping matrix and a desired task vector, and the nominal behavior of the controller module may correspond to a spring-mass-damper system.

[0028] The corresponding mass or inertia of the robot, possibly projected onto the corresponding task space, can be represented as a compliance behavior, i.e., an impedance behavior based on the robot's natural mass or inertia, thus making so-called inertia shaping unnecessary.

[0029] Passivity of the controller module can be achieved by compensating for all other Coriolis and centrifugal effects while task-specific Coriolis and centrifugal effects remain unaffected.

[0030] The controller module can be designed as a tracking controller, a regulation controller or a closed-loop control controller, so that no feedforward or open-loop control is required.

[0031] Any number of such controller modules may be coupled to the overall controller. Any number of such controller modules, as well as any number of other controllers or controller modules, may be coupled to the overall controller.

[0032] The invention may relate to such a global controller, which allows for mild or soft prioritization by weighting the tasks corresponding to the controller modules.

[0033] The weighting of tasks corresponding to controller modules can be designed to ensure the passivity of the global controller or to generate a global controller behavior that approaches a passive behavior as much as possible even when the target settings of the individual tasks are mutually inconsistent and there is an overdetermined control problem.

[0034] Furthermore, one or more tasks can be formulated as hard constraints while all other tasks are considered with mild weighting or integrated into the overall controller based on the controller module.

[0035] Quadratic optimization can be used to solve the control problem, which can be performed by a single quadratic optimization instance or by multiple quadratic optimization instances.

[0036] One or more pseudoinverses or inverse matrices can be used to solve the control problem.

[0037] By assigning a specific controller module to each controllable degree of freedom, a maximum degree of decoupling or maximal granularity of the individual task controllers can be achieved.

[0038] In short or in other words, the present invention provides a modular passive tracking controller, especially for force / torque controlled robots.

[0039] The controller according to the invention allows for precise, yet flexible and robust control of redundant robotic systems. This is achieved by using passive-based controller modules, which are coupled to an overall controller by means of various optimization methods (depending on the problem at hand). The passivity of the overall controller, which depends on the problem at hand, is guaranteed or at least promoted by using special weightings for the different tasks. The special weightings are based on using the respective inverse task inertia matrix multiplied by a scalar task weighting factor as weightings for the individual tasks. The control design and analysis are based on the concept of passivity or Lyapunov theory, which achieves high robustness of the control.

[0040] The method has been proven to be robust against singularities, robust against modeling errors and measurement noise, flexible in use (easy to change controller structure online, easy to combine with other controller approaches), and robust against contact with the environment. It requires very little tuning effort during real experiments or applications. Any number of tasks can be combined, with each task contributing to the overall result according to its weighting.

[0041] Thus, the present method combines the most important advantages of all the methods described in the prior art for the control of redundant torque-controlled robotic systems while avoiding all their drawbacks.

[0042] The method covers almost the entire range between inverse dynamics-based control and so-called PD+-based very robust control. The desired granularity of decoupling or decoupling or the modularization of the individual sub-controllers is freely selectable.

[0043] The technical field of particular interest to the present invention is the control of redundant, torque-controlled robotic systems. The solution of the multitasking problem presents difficult problems, especially with regard to stability and passivity of the global controller, accurate tracking of the desired reference trajectory, robustness against model inaccuracies and sensor noise, robustness against singularities, flexibility of implementation and combination of different partial controllers, as well as contact stability.

[0044] Two methods have been proposed to partially solve this problem: inverse dynamics-based methods and passive or impedance-based methods. Both prior art approaches have drawbacks that have yet to be overcome.

[0045] Inverse dynamics is not passive, which may cause serious stability problems in practical application scenarios. In addition, inverse dynamics is not robust to model inaccuracies and sensor noise, and is susceptible to singularities. Inverse dynamics-based control methods cannot always guarantee contact stability.

[0046] Previously known passivity or impedance based methods usually have poor tracking of the desired reference trajectory or are sensitive to singularities. Moreover, the implementation of the corresponding controllers is often inflexible and does not provide for the coupling of different partial controllers or controller types.

[0047] The invention is based on a control method for a redundant torque-controlled robot system, in which passive or impedance-based tracking controller modules are coupled to each other by optimization. Special weighting ensures that the coupling / combination of the individual controller modules does not result in a loss of passivity of the overall system, nor does the corresponding coupling / combination result in a corresponding undesired increase in activity, i.e. energy, in the system. This achieves all the aforementioned advantages and avoids the corresponding disadvantages. In particular, the method on which the invention is based guarantees stability and passivity of the overall system, or promotes passivity if stabilization or passivation of the entire system is technically impossible, achieves accurate tracking of the desired reference trajectory, is robust against singularities, model inaccuracies and sensor noise, as long as these are not inconsistent and therefore technically feasible, is characterized by good contact stability, and allows a flexible implementation, in particular where different controller types can be coupled to each other. Thus, the method on which the invention is based completely solves all the problems discussed here.

[0048] In the following, embodiments of the invention are illustrated diagrammatically and are explained in more detail by way of example with reference to the figures. [Brief description of the drawings]

[0049] [Figure 1] FIG. 1 shows that MPTC covers the full range from inverse dynamics (ID) to PD+ control. [Diagram 2] Step or jump responses for a fully determined and consistent task setup. Left: joint angles and reference. Right: global and task-specific Lyapunov function values. [Diagram 3] FIG. 1 illustrates step responses to overdetermined (and therefore contradictory) task settings. [Figure 4]This figure shows the walking of the humanoid robot TORO in the OpenHRP simulation (single and double support times: TSS = 0.8 s, TDS = 0.12 s). After 2.5 s, an external force of -60 N is applied to the left foot in the x direction for 0.3 s. [Diagram 5] This figure shows the TORO walking experiment (single and double support times: TSS = 0.9 s, TDS = 0.3 s, step length 0.15 m). [Figure 6] Figure 2 illustrates a possible application example of the method according to the invention Figure 3 illustrates an embodiment of a Modular Passive Tracking Controller (MPTC) for a controller framework based on a stack of tasks. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0050] overview This work proposes generic passive-based controllers, so-called Modular Passive Tracking Controllers (MPTCs), which aim to achieve targets of different subtasks independently of each other. These are combined as a stack of tasks (SoT) and serve as a basis for synthesizing a global system controller. The corresponding analysis and controller design are based on Lyapunov theory. An important contribution of this work is the design of a special optimization weighting matrix that guarantees the passivity of overdetermined and therefore inconsistent task configurations. The proposed framework is validated by simulations and experiments for both fixed and free-floating robots.

[0051] I. Introduction In the field of robotic control, the simultaneous control of different tasks has become an important research problem. While early works considered the simple case of a single task and its null space for kinematically redundant robots, today frameworks dealing with multiple tasks, with or without prioritization, are more established. In the literature, a distinction is first made between studies that solve the task coordination problem at the kinematic level and those that formulate direct control over the dynamics. Another important classification is that based on the use of strict task prioritization with hierarchical controllers and those with controllers using soft prioritization by weighting the tasks.

[0052] In the field of motion control, hierarchical controllers based on sequential or augmented null space projections have been proposed to ensure strict task hierarchies [18,2]. To handle task singularities, singularity-robust inverse kinematics has been proposed [ 1 4]. However, this singularity-robust inverse matrix breaks the strict task hierarchy and effectively weights different tasks.

[0053] There are also frameworks that deal with multiple tasks at the dynamics level. The operational space approach has been extended in this direction with applications to humanoid robots [22, 23]. Other inverse dynamics (ID)-based controllers use hierarchical quadratic programs (QP) [20, 11, 3]. Many of these works aim at a strict task separation or decoupling (Aufgabenentkopplung).

[0054] This work is inspired by a family of inverse dynamics-based tracking controllers that softly balance multiple tasks (combined as a Task Stack (SoT)) with each other using a single weighted QP's [13, 15, 10]. Such controllers are characterized by being easy to write and highly flexible. However, they are less robust to modeling errors and contact uncertainties (Kontaktunsicherheiten) [10, 6] than passive-based approaches, e.g. [19, 5, 12, 16, 6]. In real-world implementations, this can lead to problems such as oscillations, which are often addressed by heuristic approaches [13, 10].

[0055] Furthermore, the weighting-based approach of [3] of The multi-objective controller and the strictly hierarchical passive-based controller of [6] were the inspiration for this work. Similar to [3], here we use QP to couple individual control targets from different task space controllers. In [3], the individual control targets are calculated based on inverse dynamics (feedback linearization) with an identity matrix as the desired inertia. In contrast, the individual task controller proposed here uses the concept of passivity and avoids inertia modifications, i.e., we aim for a PD+-like closed-loop behavior for each individual task

[19] . Compared to the one that preserves natural inertia [6], a weighted QP formulation (soft prioritization) is used, which allows to couple any number of different tasks to each other and, moreover, leads to a relatively less aggressive behavior in certain situations (e.g., when a single task becomes singular).

[0056] In this work, we derive a control architecture based on nominally passive subtask controllers, so-called Modular Passive Tracking Controllers (MPTCs). These are interconnected and balanced with each other using a task stack, which is solved by a single weighted pseudoinverse or corresponding QP. This control framework combines the advantages of inverse dynamics control with those of passive-based control, namely: ease of implementation and application, support for task space tracking, passivity and contact robustness, and natural handling of singularities. The corresponding stability analysis is based on Lyapunov theory. It is shown that the global controller is asymptotically stable and passive when the tasks are not mutually contradictory. An important contribution of this work is the derivation of a special optimization weighting (Herleitung) as well as the preservation of passivity even in overdetermined (i.e. contradictory) cases. Although there is still no formal proof of stability for competing tasks and corresponding inconsistent task references, several simulations have shown the stability and robustness of MPTC even in the tracking case.

[0057] This paper is structured as follows: Section II derives a task-level modular passive tracking controller (MPTC), Section III presents the controller derivation and corresponding analysis of the overall closed loop, Section IV compares the MPTC with inverse dynamics (ID) and PD+ based controllers and introduces a wide range of possible representation options for decoupling, Section V presents simulation results for a fixed-base robot and a free-floating robot, and Section VI concludes the paper.

[0058] II. Derivation of Modular Passive Tracking Controller (MPTC) This research is carried out in three stages, each with its own target or purpose. T We consider individual tasks. To achieve the goal of each task, we derive modular passive tracking controllers (MPTCs) in this section, which are then combined into different global controllers in Section II.

[0059] A. General Robot Model The general equation of motion for a robot is expressed as follows:

[0060]

number

[0061] (outside 1) TIFF0007661370000002.tif6155 represents the generalized coordinates, M(q),

[0062] (outside 2) TIFF0007661370000003.tif5126 and τ g (q) represents the inertia matrix, the Coriolis and centrifugal matrices, and the gravitational torque moment. 2 ,moreover,

[0063]

number

[0064] Generalized Acceleration

[0065] (Outside 3) By solving equation (1) for TIFF0007661370000005.tif10170, equation (3) is obtained.

[0066]

number

[0067] B. Size of the task space 1) Task space velocity and acceleration: The task velocity vector is a typical task space in robot control. 4 Against

[0068]

number

[0069] (outside 4) TIFF0007661370000008.tif9170 is the dimension n_ of the kth task T,k So, the corresponding task Jacobi a By deriving equation (4) with respect to time and using equation (3), the task space acceleration

[0070]

number

[0071]

number

[0072] 1 For a fixed base robot, these are simply the joint coordinates q j (That is, q=q j ), but for a free-floating robot (e.g., a humanoid), the robot base coordinate x b (That is, q=[x b T ,q j T ] T ) is also included.

[0073] 2 Note: In the following, q and

[0074] (outside 5) The dependency on TIFF0007661370000011.tif9170 is ignored.

[0075] 3 NOTE: For fixed-base robots, S is the identity matrix, and for free-floating robots, S = [0 nacl×6 ,I nacl×nacl ], where n acl denotes the number of actuated or driven robot joints.

[0076] 4 Typical tasks are, for example, joint controllers and Cartesian end effector controllers.

[0077] In the design of the tracking controller (see Section II-C), the corresponding task velocity error

[0078]

number

[0079]

number

[0080] (outside 6) TIFF0007661370000014.tif7170 and

[0081] (outer 7) TIFF0007661370000015.tif7170 represents task reference velocity and task reference acceleration.

[0082] 2) Task space inertia and its derivation J k can be used to project the inertia matrix M into the task space

[17] .

[0083]

number

[0084]

number

[0085]

number

[0086]

number

[0087] C. Modular Passive Tracking Controller (MPTC) In this chapter, we derive a proposed modular passive tracking controller (MPTC), which is written in a generic form and thus serves as a template for any special controller (e.g., a Cartesian controller or an articulated controller, etc.). For each of the nT tasks, the task-related relative kinetic energy E kin,k and the relative potential energy E pot,k Based on this, a separate Lyapunov function is used.

[0088]

number

[0089] (outside 8) TIFF0007661370000021.tif8170 (hereinafter "x k ~ ") and task speed error

[0090] (outer 9) TIFF0007661370000022.tif7170 (hereinafter referred to as “x k ~· ") is positive.

[0091] By deriving equation (13) and substituting it into equation (8),

[0092]

number

[0093]

number

[0094] (Outside 10) TIFF0007661370000025.tif10170

[0095] (Outside 11) We can rewrite it as TIFF0007661370000026.tif10170 because the skew-symmetric term is removed.

[0096] Here, the (actual) task force 5 f k Define it as follows:

[0097]

number

[0098]

number

[0099]

number

[0100]

number

[0101] The controlled system (at the task level) is

[0102] (Outside 12) TIFF0007661370000031.tif9170, output

[0103] (Outside 13) TIFF0007661370000032.tif9170 and the memory function V from Eq. (13) k Note that it is passive with respect to Desired Lyapunov Rate V k,des is a positive definite damping matrix D k is purely passive or dissipative with respect to the term

[0104] (Outside 14) TIFF0007661370000033.tif9170 can be nonzero depending on factors such as unknown faults, underactivation, other activation limits, task inconsistency and prioritization. Finally, in equation (8), M k Multiplying by (18) and (17), substituting, simplifying, and rearranging, the task dynamics are expressed as follows:

[0105]

number

[0106] Note that the task-related Coriolis term (i.e., C k x k ~· ) is not truncated, which is a requirement for passivity. If the desired task force is achieved (i.e.

[0107] (Outside 15) TIFF0007661370000035.tif6170) corresponds to equation (20) for the spring-mass-damping dynamics for task k. For compatible tasks, it is possible to show the asymptotic stability of all trajectories. This can be achieved, for example, by using the ε-method

[17] to hold the strong Lyapunov function with negative definite time derivative (mit negativ definiter Zeitableitung) similar to [6].

[0108] Otherwise, for example in the case of underactivation or other activation limitations, unwanted external interference or conflicting tasks, formula (20) Compliance 7 This corresponds to the behavior of [7]. In such cases, further analysis may be required. In this work, we focus on the problem of task inconsistency, which we will discuss in the next chapter.

[0109] III. Analysis of the closed-loop behavior of the overall system and the overall controller In this chapter, we define the controller of the entire system consisting of subtask controllers as k∈{1,...,n τ}, the desired task force f k,des We derive a complete set of , and analyze its closed-loop behavior by applying Lyapunov theory.

[0110] A. Definitions of various task force errors k∈{1,...,n τ}, the desired task force f k,des By combining

[0111]

number

[0112]

number

[0113] 5 NOTE: Depending on the task, task forces may include linear forces, torque, torsion, etc.

[0114] 6 Note: This desired task force f k,desis used as a task-specific control target in Section III. Similarly, Note: In Section IV-B, we present an alternative (also equivalent) controller formulation (55) that makes it easy to recognize the controller's similarity to the PD+ formulation.

[0115] 7 Compliance means impedance behavior with natural inertia (no change in inertia).

[0116] This corresponds to the joint task mapping matrix

[0117] (Outside 16) via TIFF0007661370000038.tif7170 represents the mapping of the actual generalized force τ to a stack of actual task forces, where the sum of all subtask dimensions is

[0118] (Outside 17) TIFF0007661370000039.tif10170 defines the actual task force error stack.

[0119]

number

[0120] To simplify the study of the combined task forces and the corresponding errors, the controller 8 The commanded generalized force τ generated by cmd Evaluate equation (22) for

[0121]

number

[0122] Subtracting equation (24) from equation (21) gives the corresponding command task force error stack.

[0123]

number

[0124] B. Definition of Lyapunov function and its real command derivative for the whole system In this chapter, we analyze the stability and passivity of the complete set of modular task space controllers (and therefore the stability of the whole robot system when all robot degrees of freedom are covered by the combined task coordinates). Here, we combine the Lyapunov functions (13) of all the individual tasks to construct the global Lyapunov function:

[0125]

number

[0126] (outside 18) TIFF0007661370000044.tif8170 is the Lyapunov function derivative for individual tasks

[0127] (Outside 19) TIFF0007661370000045.tif8170(V k · (sometimes also expressed as

[0128]

number

[0129] All ψ k If >0, then the term V des · is negative semidefinite. All desired task Lyapunov function derivatives

[0130] (outside 20) This is because TIFF0007661370000047.tif7170 is negative semidefinite. The real error of the derivative of the total Lyapunov function (Der tatsaechliche Fehler)

[0131] (outside 21) TIFF0007661370000048.tif7170 can be expressed as follows.

[0132]

number

[0133] (outside 22) The file is TIFF0007661370000050.tif11170.

[0134] (outside 23) TIFF0007661370000051.tif9170

[0135] (outside 24) It should be noted that the actual generalized force is τ, not τ.

[0136] Here, the command task force error

[0137] (Outside 25) Further investigate the impact of stacking TIFF0007661370000053.tif8170. By correspondingly adjusting the equation (28), the command error of the global Lyapunov function derivative

[0138]

number

[0139]

number

[0140] (outside 26) The file is TIFF0007661370000056.tif9170. Finally, equation (28) can be transformed as follows:

[0141]

number

[0142]

number

[0143]

number

[0144] (outside 27) Equivalent to TIFF0007661370000060.tif11170.

[0145] 8Possible controllers can use pseudoinverse-based optimization for unconstrained control problems, for example in equation (36), or use quadratic programming (QP)-based optimization (see Chapter III-E) to handle inequality-based side conditions.

[0146] 9 Note that this positive scalar weighting ψ k is equivalent to the optimization weighting used in equation (34) or (41).

[0147] C. Overall system cost function

[0148] (outside 28) Based on TIFF0007661370000061.tif7170, we formulate the following cost function for the entire system from equation (25):

[0149]

number

[0150] D. Unconstrained full operation case 1) General analytical optimization based on pseudoinverse: In this chapter, we consider the fully actuated, unconstrained and potentially contradictory case. The absence of inequality-based side conditions allows an analytical solution by weighted pseudoinverse, where full actuation guarantees controllability and the commanded and generalized forces τ cmd We can then use G as an optimization variable directly to optimize the cost function.cmd Differentiate with respect to (nach τ cmd ab leiten) (line 2 of Equation 34).

[0151]

number

[0152]

number

[0153]

number

[0154] (outside 29) TIFF0007661370000066.tif7170. In this case, from equation (29),

[0155] (Outside 30) TIFF0007661370000067.tif7170 also becomes zero, and therefore, from equation (32),

[0156] (Outside 31) TIFF0007661370000068.tif5170 is

[0157]

number

[0158] 3) Conflicting cases: On the other hand, if T is not invertible (for example, when the controller settings are predetermined), the equilibrium matrix E τ does not equal 0. By substituting (37) into (29), the total Lyapunov The instruction error of the function derivative is

[0159]

number

[0160] First, in the case of conflicting regulations (i.e.

[0161] (Outside 32) TIFF0007661370000071.tif7170) and the matrix J T ψE τ Investigate.

[0162]

number

[0163] (Outside 33) TIFF0007661370000073.tif7170 is not 0. In any case

[0164]

number

[0165]

number

[0166] (Outside 34) The command Lyapunov function derivative from equation (39) for TIFF0007661370000076.tif5170 is

[0167]

number

[0168] (Outside 35) TIFF0007661370000078.tif7170

[0169]

number

[0170] (Outside 36) TIFF0007661370000080.tif5170, output x ~· (These two are

[0171] (Outside 37) TIFF0007661370000081.tif8170) and passivity with respect to a positive definite preserving function V. Correspondingly, in the case of inconsistent regulation considered here, one can conclude that the global system is passive. For the global system closed-loop dynamics of the overdetermined / inconsistent task setting (regulation case), equation (41) serves as the passivity guaranteed optimization weighting (PWOW). Equation (43) represents the Lyapunov function derivation error of the individual tasks

[0172] (Outside 38) Note that this does not mean that TIFF0007661370000082.tif7170 will be 0 (only their sum).

[0173] From equation (41), the total weighting matrix W = Λ -1 ψ is symmetric and block diagonal. Its symmetry is determined by the symmetry of its diagonal submatrix.

[0174]

number

[0175] Next, we consider the case of inconsistent tracking.

[0176] (Outside 39) In the case of TIFF0007661370000084.tif7170, still formula If you are using (41), formula (39)

[0177]

number

[0178]

number

[0179] (outside 40) TIFF0007661370000087.tif6170 is normally non-zero and is the official passivity proof for tracking cases (not the subject of this document).

[0180] 10 Even when W is chosen as a diagonal matrix, this is common in the inverse dynamics (ID) literature.

[0181] E. Dealing with Underactivation and Other Activation Limitations The analytical solutions presented in the previous chapter are targeted at control problems starting from fully actuated robots, where actuation constraints (or any other constraints) are not relevant. In this chapter, we consider the underactuated and actuation-limited cases in the context of MPTC and propose solutions for them.

[0182] 1) Under-actuation: In contrast to fixed-base robots, the robot base of so-called free-floating robots (e.g. humanoids) is not actuated. To obtain a certain degree of controllability, free-floating robots need to use end-effectors to generate contact forces that compensate for the lack of direct base actuation. The corresponding actuation mapping matrix U from Section III-D has the following form:

[0183]

number

[0184]

number

[0185] 2) Contact constraints and actuation limits: The command end effector force ω εε,cmd is often subject to inequality-based restrictions (so-called contact constraints). For example, in applications related to robot walking ( Chapter VB In conventional robotics (see ), these contact constraints are usually expressed in terms of one-sidedness and friction cone constraints. Ignoring such contact constraints can cause the robot to fail. Due to the physical limitations of the robot, the command joint torques τ j,cmd It makes sense to limit Vcc as well. In this way, saturation of the actuator can be avoided.

[0186] 3) Quadratic Programming (QP) Solution: A common approach to be able to handle the above problems related to under-actuation, actuator limits, and contact constraints is to set up a quadratic programming (QP) of the form: Considering the contact joint torque constraints,

[0187]

number

[0188] IV. Classification of types of controllers involved and the granularity of desired decoupling A. Comparison of Inverse Dynamics (ID) and MPTC In this chapter, we compare the targeting of an inverse dynamics (ID)-based controller and an MPTC-based controller, showing remarkable similarities.

[0189] Inverse Dynamics (ID): Inverse Dynamics (ID) based controllers typically implement quadratic stable dynamics of the form

[0190]

number

[0191] (outside 41) TIFF0007661370000092.tif7170 and

[0192] (outside 42) For TIFF0007661370000093.tif9170, tracking of reference trajectory

[0193] (outside 43) TIFF0007661370000094.tif8170 is possible. Both gain matrices are usually chosen to be diagonal in order to obtain fully decoupled linear dynamics.

[0194] 11 More explicit QP formulations can be found, for example, in [21, 15, 10].

[0195] Here, the so-called pole placement [1] is often used to achieve a critically damped transient response.

[0196] (outside 44) Insert TIFF0007661370000095.tif8170 and solve for the terms related to the generalized force τ,

[0197]

number

[0198] Modular Passive Tracking Controller (MPTC): f in Eq. (17) k,des From equation (16), k =T kτ and replace it with M k -1 Pre-multiplying and solving gives the desired task controller equation:

[0199]

number

[0200] (outside 45) TIFF0007661370000098.tif9170 and

[0201] (outside 46) TIFF0007661370000099.tif9170 is selected as a constant, and for MPTC

[0202] (outside 47) TIFF0007661370000100.tif10170 and

[0203] (outside 48) TIFF0007661370000101.tif9170 is the current task inertia M K is a function of . Also,

[0204] (outside 49) TIFF0007661370000102.tif8169 is the task Coriolis matrix C k and thus, in addition, the task-related Coriolis terms are not truncated, which is a requirement for passivity and enhances robustness. 12

[0205] The key aspect here is that (52) and (53) are written in the task acceleration space, resulting in a constant gain matrix of ID corresponding to constant system or task eigenvalues, while the local eigenvalues ​​of MPTC are configuration dependent. On the other hand, (52) and (53) are written in the task acceleration space, resulting in a constant gain matrix of ID corresponding to constant system or task eigenvalues, while the local eigenvalues ​​of MPTC are configuration dependent. k When transferred to the task force space by multiplying, we find that in the case of MPTC, the perceived damping and stiffness are constant, but they depend on the ID configuration.

[0206] NOTE: The strong similarity between equation (52) and equation (53) can have beneficial effects regarding the feasibility of porting existing ID-based controller frameworks to the MPTC method.

[0207] B. PD+Control vs. Passivity-Based Systemic Control Target setting for subtask controllers related to the Coriolis effect and the centrifugal effect (hereafter abbreviated as "CC"). An expression where Rearranging the terms in (17) gives us the following equation:

[0208]

number

[0209] (outside 51) May affect TIFF0007661370000104.tif7170

[0210] (outside 50) TIFF0007661370000105.tif7170 shows a null space projector that separates all components of matrix B k combine the corresponding CC-related feedback terms. Substituting equation (54) into equation (17), an alternative (but equivalent) subtask controller formulation is found:

[0211]

number

[0212] (outside 52) TIFF0007661370000107.tif7170, the task-related CC feedback terms are not truncated or used. The latter results in a nominal subtask closed-loop behavior where the task-related CC terms remain unchanged. Formula This can be verified again by considering (20). Preserving the task-relevant CC terms is a prerequisite for passivity and results in greater robustness to model errors compared to the inverse dynamics-based controller. While the latter completely truncates all CC effects (based on possible inaccuracies in the robot model), the MPTC-based controller only truncates irrelevant CC terms.

[0213] 12 As the number of feedback channels is reduced, issues related to sensor noise and model errors may occur.

[0214] An interesting special case is when only a single task is considered (combining all subtasks into one overall task by stacking the Jacobians of the corresponding subtasks), and the Jacobian of the task J k is quadratically invertible. A prerequisite for this is that the subtasks do not contradict each other. In this particular case, B k = 0, equation (55) is equivalent to the classical PD+ controller

[19] (see Fig. 1) or (in the case of inequality constraints) the passivity-based whole-body controller (WBC) introduced later [12, 16].

[0215] C. Desired decoupling granularity MPTC is a general purpose controller design tool, both in the choice of subcontroller type (e.g. Cartesian or joint controller) and in the "granularity" of the objective decoupling. 13 In this paper, we did not specify the dimensionality of the subtasks, i.e. the number of degrees of freedom assigned to each task. This means that a wide variety of controller configurations are possible. When combining different control targets (e.g. Cartesian end-effector tracking target and joint control target) in a single task stack (SoT), the question remains which part of the SoT to assign to which MPTC-related subtask. For example, a 6-dimensional Cartesian task can be defined as two separate (linear and angular) control subtasks or alternatively as a single 6-dimensional task. In the first case, the dynamics of the linear and angular errors are separated, while in the second case they are coupled.

[0216] One can also combine the target settings of all controllers into a single task (resulting in a fully coupled passive tracking controller (FC-PTC)), which is equivalent to a PD+ controller under certain circumstances (see Section IV-B and Fig. 1). Alternatively, one can define a set of multiple tasks (e.g. one for the left leg, one for the right leg) that can be handled by the standard MPTC framework. Finally, one can choose a maximal granular controller setting, where each row of the SoT represents a separate task. This special type of controller setting is called a fully decoupled passive tracking controller (FD-PTC). Among all possible MPTC settings, the FD-PTC is the setting that is most similar to an inverse dynamic controller. Both are based on task dynamics with decoupled degrees of freedom (see Fig. 1). However, the FD-PTC is assumed to be more robust, since the inertia is not modified and fewer CC terms are truncated.

[0217] As mentioned before, each task has a unique weighting scalar ψ k It only has a weighted weighting of 1, which allows for (soft) prioritization of tasks among each other. In this way, tuning effort can be reduced. However, to increase the priority of a particular task component (e.g., to prioritize the z direction over the x,y components of a Cartesian task), it is necessary to assign it to its own task and appropriate weighting (e.g., ψ z Note that you need to assign

[0218] V. Simulations and Experiments To verify the performance of the proposed MPTC framework, several simulations were performed: one using the calculated controller torque as input; formula The first is a simple simulation based on the forward integration of (3), and the second is a simulation of the humanoid robot TORO[8] using OpenHRP

[14] as the simulation environment.

[0219] A. Fixed base B Bot Simulation The first simulation presented here examines the case of a fully actuated, fully determined and therefore conflict-free regulation of task setups. For this purpose, the six joints of a fixed-base robot arm (whose kinematic and inertial properties correspond to one of TORO's legs) were assigned to two different joint tasks A and B (covering three joints each, see Figure 2). The stiffness and damping gains of the corresponding joint tasks are 14 , K=300I 3×3 , D=diag([40,20,10]), K B =40I 3×3 and D=2I 3×3 The weights of the scalar tasks (here all set to 1) have no effect since all tasks were fully completed based on the absence of conflicts. Note that the controller did not require any additional tuning. The presented parameters were chosen to improve the didactic values ​​in Figure 2. At the beginning of the simulation, all joints rapidly converge to their initial target values. After 1 second, the joints of group A experience a speed change, which results in a sharp increase in the corresponding task error derivatives. Note that while group A is reconverging, group B is not affected at all based on the task separation. After 2 seconds, the target values ​​of group B are changed. Again, the corresponding joint coordinates converge, but group A is completely unaffected.

[0220] NOTE: The complete task separation observed here was only achievable through consistency of both joint tasks. Finally, after 3 s, τ ext A torque offset of =[20,20,20,5,5,5] Nm is applied initially and removed after 4 seconds. Again, the observed controller behavior is gentle and meets our expectations. In this simulation, we can see that the sum of the Lyapunov function V always decreases, except in the case of disturbances and target value changes (see Figure 2 (right)).

[0221] 13 Note: here we speak of "separation or decoupling of objectives". For coherent tasks, MPTC induces strictly decoupled error dynamics, whereas for incoherent tasks coupling of the corresponding task error dynamics is unavoidable (at least for soft task prioritization).

[0222] 14 NOTE: For simplicity, the units of stiffness (linear: N / m, angular: Nm / rad) and damping capacity (linear: Ns / m, angular: Nms / rad) have been omitted here.

[0223] The second simulation presented evaluates the performance of the controller for conflicting task settings and also for the regulation case. This time, stiffness K cart =diag([2000,2000,2000,100,100,100]) and attenuation D cart A Cartesian 6 DOF end effector task with weights ψ = diag([500,500,500,20,20,20]) is added. k is set to 1. After starting the controller, the robot converges to an equilibrium position. Note that the sum of the Lyapunov functions V decreases monotonically, and the weighted Lyapunov function values ​​of the subtasks may increase at the same time (e.g., ψ in Fig. 3). jB V jB ) 。

[0224] B. Humanoid Robot Simulation and Experiments Finally, we performed a walking simulation of the humanoid robot TORO (see Figure 4) based on a hybrid WBC setup: inverse dynamics-based trunk orientation and whole-body pose tasks, divergent motion components (DCM) [9] and control and regularization of angular momentum, mixed with a Cartesian (6 degrees of freedom) MPTC-based controller for foot tracking.15 The foot reference trajectory is tracked accurately. After 2.5 seconds, the left foot is gestoert in x direction with a force of -60N for 0.3 seconds, resulting in a maximum foot position error of 51mm and a maximum DCM error of 45mm. After the interference is removed, the foot converges fast enough to continue normally.

[0225] To evaluate the performance of MPTC under real conditions, we used TORO to perform multiple experiments, including push recovery (standing), human-robot interaction, and walking (corresponding videos are available here: https: / / lyoutu.be / WdF9UQK8aio). Here, we provide a walking experiment in which TORO walks six steps forward (see Figure 5 for details). Separate MPTC-based controllers were used for the control of the feet (6-DOF Cartesian tracking), torso (3-DOF rotational tracking), leg joints, hip joints, and torso joints (the last three served as full-body pose control and regularization tasks). As in the simulations, a DCM-based controller and an angular momentum regularization controller were also used. The overall walking performance was robust. However, tracking errors could be observed in some cases, which could be attributed to torque offsets and joint friction. Compared to ID-based controllers

[10] , it required less tuning effort, proving the robustness of MPTC when used under real conditions.

[0226] VI. Summary and Outlook In this work, a so-called Modular Passive Tracking Controller (MPTC) is introduced. This generic controller is intended to achieve the targeting of several subtasks independently of each other as a first step. Then, these first-order independent subtask controllers are integrated into one overall controller. The controller design and analysis are based on Lyapunov theory, which facilitates the statement of stability and passivity. One of the main objectives of this paper is to design an optimized weight matrix that guarantees the passivity of a complete set of conflicting subtasks of a fully actuated robot. The proposed control framework is validated with several simulations and experiments on a fixed-base robot and a free-floating robot.

[0227] In future work, we aim to make an extensive comparison of the control concepts of other passive-based controllers such as Inverse Dynamics (ID), the proposed Modular Passive Tracking Controller (MPTC), and the PD+ controller. This comprehensive comparison will be based on theoretical analysis, simulations, and hardware experiments.

[0228] 15 NOTE: The modularity of MPTC allows combining ID-based and MPTC-based tasks in the same whole-body control setup.

[0229] References [1] J. Ackermann. Parameter space design of robust control systems. IEEE Transactions an Automati c Contr o l, 25(6): 1058-1072, December 1980. ISSN 2334-3303. doi: 10.11109 / TAC.1980.1102505. [2]G. Antonelli. Stability Analysis fur Prioritized closed-loop inverse kinematic algorithms for redundant robotic systems. IEEE Transactions on Robotics, 25(5):985-994, 2009. [3]K. Bouyarmane, A. Kheddar. On Weight-Prioritized multitask control of humanoid robots. JEEE Transactions on Automatic Control, 63(6): 1632-1647, June 2018. ISSN 2334-3303. doi: 10.1109 / TAC.2017.2752085. [4]S. Chiaverini. Singularity-robust task-priority redundancy resolution fur real-time kine m atic control of robot manipulators. IEEE Transactions an Robotics and Automation, 13(3):398-410, June 1997. lSSN 2374-958X. doi: 10.1109 / 70.585902. [5]A. Dietrich. Whole-Body Impedance Co nt ro l of Wheeled Humanoid Robots, volume 116. Springer International Publishing, 2016. ISBN 978-3-319-40557-5. [6]A. Dietrich, C. Ott. Hierarchical Impedance-Based tracking control of kinematically redundant robots. IEEE Transactions on Robotics, 36(1):204-221, 2020. ISSN 1941-0468. doi: 10.1109 / TRO.2019.2945876. [7]A. Dietrich, C. Ott, A. Albu-Schaeffer. Multi-objective compliance control of redundant m anipulators: hierarchy, control, and stability. In IEEE / RSJ Int. Conf on intelligent Robots and S y stems, pages 3043-3050, Nov 2013. doi: 10.1109 / IROS.2013.6696787. [8]J. Englsberger, A. Werner, C. Ott, B. Henze, M. A. Roa, G. Garofalo, R. Burger, A. Beyer, O. Eiberger, K. Schmid, A. Albu-Schaeffer. Overview of the torque-controlled humanoid robot TORO. In IEEE-RAS Int, Conf on Humanoid Robots, pages 916-923, Nov 2014. doi: 10. 1109 / HUMANOIDS.2014.7041473. [9]J. Englsberger, C. Ott, A. Albu-Schaffer. Three-Dimensional Bipedal Walking Contr ol Based on divergent component of motion. IEEE Transactions on Robotics, 31(2):355368, April 2015. ISSN 1941-0468. doi: 10.1109 / TRO.2015. 2405592.

[10] J. Englsberger, G. Mesesan, A. Werner, C. Ott. Torque-Based Dynamic Walking - a long way from simulation to experiment. In IEEE Int. Conf 011 Robotics and Automation (ICRA), pages 440-447, 2018.

[11] Adrien Escande, Nicolas Mansard, Pierre-Brice Wieber. Hi e rarchical quadratic programming: fast online humanoid robot motion generation. The International Journal of Robotics Research, 33(7): 1006-1028, 2014. doi: 10.1177 / 0278364914521306.

[12] B. Henze, M. A. Roa, Ch. Ott. Passivity-base d whole-body balancing for torque-controlled humanoid robots in multi-contact scenarios. The International Journal of Robotics Research, 35(12): 1522-1543, 2016. doi: 10.1177 / 0278364916653815.

[13] M. A. Hopkins, D. W. Hong, A. Leonessa. Compliant locomotion using who le-body control and divergent compon e nt of motion tracking. In IEEE lnt. Conf on Robotics and Automation (ICRA), pages 5726-5733, May 2015. doi: 10.1109 / ICRA.2015.7140001.

[14] F. Kanehiro, H. Hirukawa, S. Kajita. Openhrp: Open Architecture Humanoid Robotics Platf or m. The International Journal of Robotics Research, 23(2): 155-165, 2004. doi: 10.1177 / 0278364904041324.

[15] T. Koolen, S. Bertrand, G. Thomas, T. de Boer, T. Wu, J. Smith, J. Englsberger, J. Pratt. Design of a Momentum-Based Contr o l Framework and application to the humanoid robot atlas. International Journal of Humanoid Robotics, 13(01):1650007, 2016. doi: 101142 / S0219843616500079.

[16] G. Mesesan, J. Englsberger, G. Garofalo, C. Ort, A. Albu-Schaffer. Dyna m ic walking on compliant aml uneven terrain using dem and passivity-based whole-body control. In IEEE-RAS 19th Int. Conf’ on Humanoid Robots {Humanoids), pages 25-32, 2019.

[17] R. M. Murrny. A mathematical introduction to robotic manipulation. CRC press, 2017.

[18] Y. Naka m ur a , H. Hanafusa, T. Yoshikawa. Task- priority based redundancy control of r o bot manipulators. The International Journal of Robotics Research, 6(2):3-15, 1987. doi: 10.1177 / 027836498700600201.

[19] B. Paden, B. Riedle. A Positive-Real Modifica t ion of a class of nonlinear controllers for robot manipulators. In 1988 A.rnerican Control Conference, pages 1782-1785, June 1988. doi: 10.23919 / ACC. 1988.4790015.

[20] J. Peters, M. Mistry, F. Udwadia, J. Nakanishi, and S. Sehaal. A unifying fra me work for robot control with redundant DOFs . Autonomous Robots, 24:1-12, 2008. doi: 10.1007 / s10514-007-9051-x.

[21] L. Righetti, J. Buchli, M. Mistry, S. Sehaal. Inverse dynam1ics control of flo at ing-b a se r bots with external constra ints: A unified view. IEEE Int. C n of. on Robotics and Automation, pages 1085-1090, May 2011 doi: 10. 1109 / ICRA.2011. 5980156.

[22] L. Sentis, O. Khatib. Synthesis of Whole-Body behaviors thr o Well hie ra theoretical control of behavioral primitives. International Journal of Humanoid Robotics, 2(4):505-518, 2005.

[23] J. L. Sentis, J. Park, Cl. Khatib. Compliant Control of multicontac t and center-of-mass behaviors in hu m anoid robots. IEEE Transactions on Robotics, 26(3):483-501, 2010.

[0230] FIG. 6 shows a possible application example of the method according to the invention. Here, multiple impedance-based controller modules 102 ( MoThe controller modules 102 (Joule-type passive tracking controllers) are integrated into an overall controller 104 by the method according to the invention. In the illustrated example, the representations of the controller modules 102 each comprise a reference trajectory and a mass, which are connected to each other via a spring-damper system, the controller modules 102 with the signs A and C respectively represent orthogonal control tasks, and the controller modules 102 with the signs B and D are formalized as articulated controllers. As shown in FIG. 6, the various controller modules 102, each with a task mapping matrix and a task vector, can be combined into a stack of tasks with a unified task mapping matrix 106 and a combined task vector 110. By means of suitable optimization methods, for example with the optimization variables 108, the controller modules represented by the stack of tasks can be fused into an overall controller 104. In this way, an optimal compromise of the various sub-controller targets is achieved, In particular, the passivity of the resulting overall controller 104 is implemented in the best possible way.

[0231] "Can" specifically refers to any feature of the invention. Thus, there are further developments and / or embodiments of the invention that additionally or alternatively have one or more of the respective features.

[0232] Where appropriate, isolated features may be selected from the combinations of features disclosed in this specification and used in combination with other features to define the subject matter of the claims, while breaking any structural and / or functional connections that may exist between the features. [Explanation of symbols]

[0233] 100 Roboter 102 Controller module 104 General Controller 106 Task-Mapping-Matrix 108 Optimization variables 110 Task-Vector

Claims

1. 1. A method for controlling a kinematically redundant robot to perform multiple tasks, comprising: using at least one first controller module that is passive based; calculating at least one task target description and at least one associated task mapping for the at least one first controller module such that an overall controller for controlling the robot exhibits at least a substantially passive behavior; For the task, a task-specific symmetric matrix W k =Ψ k M k ―1 Calculate at least one task weighting matrix of the form: k is the task inertia matrix M k It is calculated from the inverse matrix of M k = (J k M -1 J k T ) -1 J k is the task Jacobian, M is the inertia matrix of the dynamic model of the robot, and a weighting scalar Ψ k Combined with The at least one task weighting matrix W k and integrating the at least one first controller module into the overall controller using the at least one task weighting matrix W k are incorporated in the form of sub-matrices into a symmetric and block-diagonal global weighting matrix W, and the use of W k =Ψ k M k −1 as the task weighting matrix ensures that the global controller is passive and therefore robustly stable. method.

2. calculating the at least one task target description and the at least one associated task mapping such that a nominal behavior of the at least one first controller module corresponds to a behavior of a spring-mass-damper system; The method of claim 1.

3. Calculating the at least one task target description and the at least one attached task mapping based on the natural inertia of the robot.

3. The method according to claim 1 or 2.

4. Calculating said at least one task target description and said at least one attached task mapping such that task specific Coriolis and centrifugal effects remain unchanged while compensating for all other Coriolis and centrifugal effects.

4. The method according to claim 1 ,

5. Computing the at least one task target description as a task vector and / or computing the at least one associated task mapping as a task mapping matrix.

5. The method according to any one of claims 1 to 4.

6. At least one further controller module is integrated into the overall controller; 6. The method according to any one of claims 1 to 5.

7. at least one further controller module formulated as a constraint is integrated into the overall controller; 7. The method according to any one of claims 1 to 6.

8. the at least one further controller module is weighted; 8. The method according to claim 6 or 7.

9. the at least one first controller module and / or the at least one further controller module are weighted such that the overall controller exhibits at least approximately passive behavior even in the case of an overdetermined control problem.

9. The method according to any one of claims 1 to 8.

10. the at least one first controller module and / or the at least one further controller module are optimized using at least one pseudo-inverse matrix and / or at least one inverse matrix.

10. The method of any one of claims 1 to 9.

11. the at least one first controller module and / or the at least one further controller module are secondarily optimized.

11. The method according to any one of claims 1 to 10.

12. At least one of the first controller modules is designed as a tracking controller.

12. The method of any one of claims 1 to 11.

13. At least one of the first controller modules is designed as a regulation controller.

13. The method of any one of claims 1 to 12.

14. Each controllable degree of freedom is assigned a separate controller module; 14. The method of any one of claims 1 to 13.

15. A computer program comprising instructions which, when said program is executed by at least one processor, cause the processor to carry out a method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Compliance controller for redundancy degree-of-freedom manipulator

    JP1998329067A

  • Method for controlling a joint system, storage medium, control system

    JP2013520327A

  • Robot control device

    JP2016155203A