Method and computer program product for controlling a robot
Through the modular passive tracking controller (MPTC) method, the passive controller module and weighted quadratic planning (QP) formula are used to solve the problem of stability and passivity of kinematic redundant robots in multi-task control, achieving efficient and robust control effects.
Patent Information
- Application Number
- CN202180055850.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-10
- Filing Date
- 2021-06-10
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2041-06-10
AI Technical Summary
The prior art is difficult to ensure the stability and passivity of the system when controlling kinematic redundant robots to perform multiple tasks simultaneously, and is susceptible to model errors, sensor noise and singularity.
The modular passive tracking controller (MPTC) method is adopted to achieve soft priority and combination between tasks through passive controller modules and weighted quadratic planning (QP) formulas, ensuring the passivity and robustness of the total controller.
Accurate, flexible and robust control of redundant robot systems is achieved, ensuring the stability and passivity of the system, reducing the tuning workload, and showing good contact stability and robustness in real applications.
Smart Images

Figure CN116033998B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for controlling a kinematically redundant robot to perform multiple tasks. The present invention also relates to a computer program product for performing such a method. Background Art
[0002] Controlling multiple tasks simultaneously, so-called "Tasks", is an important research topic in the field of robot control. Early work addressed the simpler case of observing a single task and the control of the corresponding null space, i.e., the remaining degrees of freedom of the robot, for kinematically redundant robots, while today there are various established methods that enable the handling of multiple tasks with and without priorities. This document will first distinguish between work that addresses the task coordination problem at the kinematic level and work that directly addresses the control problem at the dynamic level. Another important classification possibility lies in the division into methods that enforce strict task priorities through hierarchical controllers and other methods that generate soft priorities through task weighting.
[0003] At the kinematic level, the publications "Task priority based redundancy control of robot manipulators" by Y. Nakamura, H. Hanafusa, and T. Yoshikawa (The International Journal of Robotics Research, 6(2):3 - 15, 1987. doi:10.1177 / 027836498700600201) and "Stability Analysis for Prioritized closed - loop inverse kinematic algorithms for redundant robotic systems" by G. Antonelli (IEEE Transactions on Robotics, 25(5):985 - 994, 2009) proposed hierarchical controllers based on null - space projection and ensuring a strict task hierarchy. To address possible task singularity problems, the publication "Open Architecture Humanoid Robotics Platform" of OpenHRP by F. Kanehiro, H. Hirukawa, and S. Kajita (The International Journal of Robotics Research, 23(2):155 - 165, 2004. doi:10.1177 / 0278364904041324) proposed a singularity - robust inverse kinematics method. However, with this singularity - robust inverse kinematics, the strict task hierarchy is lost because weights will ultimately be generated between various tasks as a result.
[0004] Other methods handle multiple tasks simultaneously at the dynamic level. The "operational space" method has been further developed to achieve the control of humanoid robots. For this purpose, reference is made to the publications 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 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. Other methods based on "Inverse Dynamics" (ID) use hierarchical Quadratic Programming (QP). For this purpose, reference is made to the publications 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 as well as 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 methods mentioned are aimed at strict task decoupling. This ensures, for example, at least in theory that different tasks do not affect each other, and the corresponding transient characteristics of each task after interference are also completely independent of the coordinates of other tasks.
[0005] The method presented here is inspired by a family of inverse-dynamics-based tracking controllers that strive to achieve soft trade-offs between a set of tasks by using a single weighted quadratic program (QP). For this purpose, reference is made to the publications M.A. Hopkins, D.W. 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), pp. 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 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), pp. 440-447, 2018. Such controllers are very easy to implement and are characterized by a high degree of flexibility.However, compared with "APositive-Real Modification of a class of nonlinear controllers for robot manipulators" by B. Paden and B. Riedle in the 1988 American Control Conference, pages 1782 - 1785, June 1988, doi: 10.23919 / ACC.1988.4790015., "Whole-Body Impedance Control of Wheeled Humanoid Robots" by A. Dietrich, Volume 116, Springer International Publishing, 2016, ISBN 978 - 3 - 319 - 40557 - 5., "Passivity-based whole-body balancing for torque-controlled humanoid robots in multi-contact scenarios" by B. Henze, M. A. Roa and Ch. Ott, The International Journal of Robotics Research, 35(12): 1522 - 1543, 2016, doi: 10.1177 / 0278364916653815., "A.Albu-" by G. Mesesan, J. Englsberger, G. Garofalo, C. Ott and 15:47 10.06.2020. Compared with the passivity-based approach in 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, and "Dynamic walking on compliant and uneven terrain using dcm and passivity-based whole-body control," in IEEE-RAS 19th Int. Conf. on Humanoid Robots (Humanoids), pp. 25-32, 2019, the inverse dynamics-based controller is less robust in terms of model errors and contact uncertainties, so problems such as vibrations will occur in practical use, and these problems must be addressed by heuristic methods.
[0006] In addition, the proposed method is inspired by the weight-based multitask controller of the publication "On Weight-Prioritized multitask control of humanoid robots" by K. Bouyarmane and A. Kheddar, IEEE Transactions on Automatic Control, 63(6): 1632-1647, June 2018. ISSN 2334-3303, doi: 10.1109 / TAC.2017.2752085, and also by the passivity-based strictly hierarchical controller of the publication "Hierarchical Impedance-Based tracking control of kinematically redundant robots" by A. Dietrich and C. Ott, IEEE Transactions on Robotics, 36(1): 204-221, 2020, ISSN 1941-0468, doi: 10.1109 / TRO.2019.2945876. Similar to the publication "On Weight-Prioritized multitask control of humanoid robots" by K. Bouyarmane and A. Kheddar, IEEE Transactions on Automatic Control, 63(6): 1632-1647, June 2018. ISSN 2334-3303, doi: 10.1109 / TAC.2017.2752085, the proposed method uses quadratic programming (QP) to unify the control objectives of individual tasks or to trade them off against each other. However, in this case, in the publication "On Weight-Prioritized multitask control of humanoid robots" by K. Bouyarmane and A. Kheddar, IEEE Transactions on Automatic Control, 63(6): 1632-1647, June 2018. ISSN 2334-3303, doi: 10.1109 / TAC.2017.2752085, each controller associated with an individual task is calculated based on inverse dynamics, where the identity matrix is used as the desired inertia, which corresponds to feedback linearization. In contrast, the proposed method calculates the controllers associated with individual tasks based on the passivity concept and uses the natural inertia of the robot, thus achieving characteristics similar to those of a PD+ controller.Contrary to the method disclosed in Publication 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 is also based on the use of the natural inertia of the control scheme, the proposed method uses a weighted QP formulation, i.e., soft priorities, whereby any number of different tasks can be combined, and the method also results in reduced aggression in specific situations (e.g., when task singularities occur).
[0007] The publication "CISNEROS RAFAEL ET AL: "QP-based task-space hybrid / parallel control for multi-contact motion in a torque-controlled humanoid robot", 2019 IEEE-RAS 19TH INTERNATIONAL CONFERENCE ON HUMANOID ROBOTS (HUMANOIDS), IEEE, October 15, 2019 (2019-10-15), pp. 663-670, XP033740754, DOI: 10.1109 / HUMANOIDS43949.2019.9035038" discusses QP-based task-space hybrid / parallel control for multi-contact motion in a torque-controlled humanoid robot and extends an earlier QP-based system for robust torque control to achieve force control without total torque feedback. The control relies only on force / torque sensors on the end effector, joint encoders, and an IMU for kinematic feedback. In addition, it is consistent with the internal state of the QP solver.
[0008] The published document "CISNEROS RAFAEL ET AL: "Robust Humanoid Control Using a QPSolver with Integral Gains", 2018 IEEE / RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), IEEE, October 1, 2018 (2018-10-01), pp. 7472-7479, XP033490715, DOI: 10.1109 / IROS.2018.8593417" discusses the robust control of humanoid robots by using a QP solver with integral gains. A control framework for humanoid robots for torque control is proposed, which can effectively minimize the tracking error in quadratic programming (QP), and the quadratic programming is formulated as a weighted multi-objective task with constraints. As a result, an optimal and dynamically realizable reference frame is produced, which can robustly track in an exponentially convergent manner without total torque feedback in the presence of unmodeled torque distortion and low-frequency limited disturbances. This is achieved by introducing integral gains in Lyapunov stable torque control, and the integral gains utilize the passive characteristics of the robot dynamic model and its influence on the dynamic limitations of the QP solver.
[0009] A modularly configurable robot is known from document WO 2021 / 123057 A1. Summary of the Invention
[0010] The task underlying the present invention is to improve the method mentioned at the beginning. In addition, the task underlying the present invention is to provide a computer program product as described at the beginning.
[0011] This task is solved by the following method. This task is also solved by a computer program product having the features mentioned below.
[0012] This method can be used to control a robot by means of feedback control techniques. For example, this method can be used in service robots, medical robots, Industry 4.0, and the field of astronaut robot assistance. In principle, as long as a force / torque-controlled robot with kinematic redundancy can be used and both high precision and flexible human-robot interaction or environment-robot interaction are desired, this method can be used.
[0013] A kinematically redundant robot can have so many degrees of freedom that multiple tasks can be performed simultaneously. These tasks can be independent of each other. These tasks can be performed at least partially simultaneously. The robot can be controlled by force and / or by torque. The passivity-based controller module can be an impedance-based controller module. The term "passivity" is used in the present context in particular to limit "activity" in which an undesired increase in energy occurs in the system.
[0014] In the present context, the term "task objective description" in particular describes the following variable, which is produced by the combination of terms corresponding to the actual objective of the respective task with corresponding pre-control or compensation terms. The corresponding objective of the task can consist, for example, of the nominal tracking of a reference trajectory and / or advantageously simultaneously flexible impedance characteristics (for example in the case of interaction with the environment, an object or a person). The pre-control and / or compensation terms can, for example, completely or partially compensate for the gravitational effect as well as the Coriolis effect and / or the centrifugal effect in order to produce the actual desired characteristics and / or the actual desired dynamics.
[0015] In the present context, the term "task mapping" in particular describes the following variable, which establishes a relationship between a given manipulated variable and / or control input and the corresponding above-mentioned task objective description. The manipulated variable and / or control input can consist, for example, of adjustable torques in the robot joints and also, in the case of a freely floating robot (such as a humanoid robot), of contact forces, which are derived from the constraint between the joint torques and a given end-effector acceleration (i.e. for example the robot foot acceleration) under certain preconditions.
[0016] At least one task objective description and at least one associated task mapping can be calculated in such a way that the nominal characteristics of at least one first controller module correspond to the characteristics of a spring-mass-damper system.
[0017] The at least one task objective description and the at least one associated task can be calculated based on the natural robot inertia.
[0018] The at least one task objective description and the at least one associated task mapping can be calculated in such a way that the task-specific Coriolis and centrifugal effects remain constant while compensating for all the remaining Coriolis and centrifugal effects.
[0019] The at least one task objective description can be calculated as a task vector. The task vector can specify a force, a force direction, a moment and / or a moment direction. The desired task force f in equation (17) k,des represents such a task vector. Furthermore, the individual task vectors can advantageously be combined into a combined task vector. The "combination of all desired task forces" f described in equation (21) desAn example of a task vector representing such a combination.
[0020] The at least one associated task mapping can be calculated as a task mapping matrix. The task mapping matrix can also be referred to as the mapping matrix (T) or the mapping matrix (U). The matrix T described in equation (12) k can be referred to as the task Jacobian matrix J k of the transpose of the "dynamically consistent pseudoinverse", which matrix is an example of such a task mapping matrix. The individual task mapping matrices can also be advantageously combined in a unified task mapping matrix T, as described in equation (22).
[0021] At least one additional controller module can be integrated into the overall controller. At least one additional controller module formulated as a constraint can be integrated into the overall controller.
[0022] The at least one first controller module is weighted. The at least one additional controller module can be weighted. A weighting matrix is used for weighting. The weighting matrix can also be referred to as the weighting matrix (W).
[0023] The at least one first controller module and / or the at least one additional controller module can be weighted in such a way that, in the case of an overdetermined control problem, the overall controller also has at least approximately passive characteristics.
[0024] The at least one first controller module and / or the at least one additional controller module can be optimized by means of at least one pseudoinverse and / or at least one inverse.
[0025] The at least one first controller module and / or the at least one additional controller module can be optimized by means of at least one optimization variable. The at least one first controller module and / or the at least one additional controller module can be quadratically optimized. The quadratic optimization can be performed by a single instance or multiple instances.
[0026] At least one of the controller modules can be implemented as a tracking controller. At least one of the controller modules can be implemented as an adjustment controller. A separate controller module can be assigned to each controllable degree of freedom.
[0027] A computer program product can exist on a computer-readable storage medium, on a computer-readable data carrier, or as a data carrier signal.
[0028] The method can have the following steps: a) calculating the desired task forces and the associated task mapping matrices for all passive tracking controller modules, where the nominal behavior of the passive tracking controller modules corresponds to the nominal behavior of a spring-mass-damper system, where the natural inertia of the robot is also obtained, and where the task-specific Coriolis and centrifugal effects are also kept constant while compensating for all the remaining Coriolis and centrifugal effects; b) calculating dedicated passivity-guaranteeing or passivity-promoting weight matrices for all tasks; c) integrating and combining the individual passive tracking controller modules into a total controller by optimization using the dedicated passivity-guaranteeing or passivity-promoting weight matrices.
[0029] In method step c), in addition to the passive tracking controller modules, other controllers or controller modules can also be integrated. In method step c), in addition to the weighted tasks, one or more tasks can also be formulated as constraints and correspondingly integrated into the total controller by optimization. In method step c), a pseudo-inverse can be used for the optimization. In method step c), the optimization can be based on the concept of quadratic optimization or "quadratic programming" (QP).
[0030] The invention can relate to a controller module for controlling a torque-based robot. The controller module can have a task mapping matrix and a desired task vector, where the nominal behavior of the controller module can correspond to a spring-mass-damper system.
[0031] The corresponding mass or inertia of the natural mass or inertia of the robot (projected into the corresponding task space if necessary) can be called the compliance characteristic, i.e., the impedance characteristic, which is based on the natural robot mass or natural robot inertia and thus eliminates the so-called inertia shaping.
[0032] The task-specific Coriolis and centrifugal effects can be kept unaffected while all the remaining Coriolis and centrifugal effects are compensated, whereby passivity of the controller module can be achieved.
[0033] The controller module can be implemented as a tracking controller. The controller module can be implemented as an adjustment controller, thus eliminating pre-control.
[0034] Any number of such controller modules can be combined into a total controller. Any number of such controller modules and any number of other controllers or controller modules can be combined into a total controller.
[0035] The invention can relate to such a total controller, where gentle or soft prioritization can be carried out for the controller module by weighting the tasks.
[0036] The weighting of tasks corresponding to the controller modules can be designed such that the passivity of the overall controller is ensured, or a characteristic as close as possible to the passive characteristic of the overall controller is generated, even if the individual task objectives are contradictory and thus an overdetermined control problem exists.
[0037] Furthermore, one or more tasks can be formulated as hard constraints, while all the remaining tasks are based on such controller modules and are taken into account or integrated into the overall controller through mild weighting.
[0038] Quadratic optimization can be used to solve the control problem, which can be implemented either by a single instance for quadratic optimization or by multiple instances for quadratic optimization.
[0039] One or more pseudo-inverses or inverses can be used to solve the control problem.
[0040] A separate controller module can be assigned to each controllable degree of freedom, thereby achieving the maximum granularity or the maximum possible decoupling of the individual task controllers.
[0041] All in all, in other words, a modular passive tracking controller for a robot for force / torque control is thus obtained in particular by the present invention.
[0042] The controller according to the present invention allows precise, simultaneous, flexible and robust control of a redundant robot system. This is achieved by using passivity-based controller modules, which are combined into an overall controller by means of various optimization methods (depending on the currently existing problems). By using dedicated weights for the various tasks, the passivity of the overall controller can be ensured or at least promoted, which also depends on the currently existing problems. This dedicated weighting is based on the fact that the corresponding inverse task inertia matrix is multiplied by a scalar task weight number for each task and used as the weight. The design and analysis of the controller are based on the concepts of passivity or Lyapunov theory, thereby achieving high robustness of the control.
[0043] This method has been proven to be robust to singularities, robust to modeling errors and measurement noise, very flexible in use (the controller structure can be easily changed online and easily combined with other controller methods), and very robust when in contact with the environment. The adjustment cost in real experiments or real applications is very low. Any number of tasks can be combined with each other; each task contributes to the overall result corresponding to its weight.
[0044] Therefore, this method combines the most important advantages of all the methods described in the prior art for controlling redundant torque-controlled robot systems, while avoiding all the disadvantages.
[0045] The current methods cover almost the entire range between inverse-dynamics-based controllers and very robust, so-called PD+-based controllers. The granularity of the desired decoupling or the modularity of the individual sub-controllers can be freely selected.
[0046] The technical field specifically addressed by the present invention is that of redundant, torque-controlled robotic systems. In this context, the solution of multi-task missions is a difficult problem, especially with regard to the stability and passivity of the overall controller, the precise tracking of the desired reference trajectory, the robustness against model inaccuracies and sensor noise, the robustness against singularities, the flexibility of implementation and the combinability of different sub-controllers, as well as contact stability.
[0047] The prior art essentially includes two different approaches that partially solve this task: on the one hand, inverse-dynamics-based approaches, and on the other hand, passivity- or impedance-based approaches. Both solutions included in the prior art have certain drawbacks that have not been overcome to date:
[0048] Inverse dynamics is not passive, which can lead to serious stability problems in real-world use scenarios. In addition, inverse dynamics is not robust against model inaccuracies and sensor noise and is also vulnerable to singularities. Contact stability cannot always be guaranteed by inverse-dynamics-based control methods either.
[0049] The passivity- or impedance-based methods known in the prior art usually either track the desired reference trajectory poorly or are vulnerable to singularities. In addition, the corresponding controller implementations are mostly inflexible and do not provide combinations of different sub-controllers or controller types.
[0050] The present invention is based on a method for controlling redundant, torque-controlled robotic systems, in which passivity- or impedance-based tracking controller modules are optimally combined with each other. In this case, the passivity of the entire system is ensured by a special type of weighting not to be lost due to the combination / synthesis of the individual controller modules, or not to cause activity, i.e., an undesired increase in energy in the system, due to the corresponding combination / synthesis. All of the above advantages are thereby achieved and the corresponding drawbacks are bypassed. In particular, the method on which the present invention is based ensures the stability and passivity of the entire system, or promotes the stability and passivity of the entire system in cases where the stabilization or passivation of the entire system is technically impossible. The method enables precise tracking of the desired reference trajectory, is robust against singularities, model inaccuracies and sensor noise if the reference trajectory is not inconsistent and thus technically achievable, is characterized by good contact stability, and enables flexible implementation, in particular, different types of controllers can also be combined with each other. Thus, the method on which the present invention is based completely solves all the problems posed here. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Embodiments of the present invention will be described in more detail below by way of example and illustration with reference to the accompanying drawings:
[0052] Figure 1 Shows that MPTC covers the entire range between inverse dynamics (ID) and PD+ control,
[0053] Figure 2 Shows the step response of a fully determined non-contradictory task setting. Left: Joint angles and reference. Right: All and task-specific Lyapunov function values,
[0054] Figure 3 Shows the step response of an overdetermined (and thus contradictory) task setting,
[0055] Figure 4 Shows the humanoid robot TORO walking in the OpenHRP simulation (single and double support times: TSS = 0.8 s, TDS = 0.12 s). After 2.5 seconds, the left foot is disturbed by an external force of -60 N in the x direction for 0.3 s,
[0056] Figure 5 Shows TORO walking in the experiment (single and double support times: TSS = 0.9 s, TDS = 0.3 s, step length 0.15 m), and
[0057] Figure 6 Shows possible applications of the method according to the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0058] Describes an implementation of using a modular passive tracking controller (MPTC) in a "task stack"-based controller framework.
[0059] ABSTRACT
[0060] This work presents the so-called modular passive tracking controller (MPTC), a general passivity-based controller designed to independently achieve several subtask goals. These subtask goals are combined into a task stack (SoT), which serves as the basis for integrating the overall system controller. The corresponding analysis and controller design are based on Lyapunov theory. An important contribution of this work is the design of a dedicated optimized weight matrix, which ensures the passivity of overdetermined and thus conflicting task settings. The proposed framework is verified through simulations and experiments for fixed and free-floating robots.
[0061] I. INTRODUCTION
[0062] The simultaneous control of multiple tasks has become an important research topic in robot control. Although the initial work considered the simpler case of a single task and its null space for kinematically redundant robots, there are now several established frameworks for handling multiple tasks with and without priorities. In this literature, it is possible to distinguish between work that first solves the task coordination problem at the kinematic level and work that directly formulates control for dynamics. Another important classification can be made based on the use of strict task priorities through hierarchical controllers compared to controllers that apply soft priorities through task weighting.
[0063] At the kinematic level, hierarchical controllers based on continuous or augmented null space projection have been proposed to ensure a strict task hierarchy [18,2]. To handle task singularities, singularity-robust inverse kinematics have been proposed [4]. However, this singularity-robust inverse breaks the strict task hierarchy and ultimately introduces weighting between different tasks.
[0064] Other frameworks handle multiple tasks at the dynamics level. The operational space approach has been extended with applications in humanoid robots in this direction [22,23]. Other inverse dynamics (ID)-based controllers use hierarchical quadratic programming (QP) [20,11,3]. Most of these works aim at strict task decoupling.
[0065] This work is inspired by a family of inverse dynamics-based tracking controllers that softly balance a set of tasks (collected in a task stack (SoT)) through a single weighted QP [13,15,10]. Such controllers are easy to code and are remarkable for their high flexibility. However, compared to passivity-based methods such as [19,5,12,16,6], these controllers are less robust with respect to modeling errors and contact uncertainties [10,6]. This leads to real-system problems such as vibrations, which are typically addressed through heuristic methods [13,10].
[0066] In addition, the weighted multi-objective controller in [3] and the strict hierarchical passivity-based controller in [6] inspired this work. Similar to [3], we use QP to combine the individual control actions from different task-space controllers. However, in [3], each individual control action is computed based on inverse dynamics (ID), using the identity matrix as the desired inertia (feedback linearization). In contrast, the individual task controllers proposed here use the concept of passivity and avoid inertia shaping, that is, our goal is to use PD+-like closed-loop characteristics for each task
[19] . Compared to [6] which also preserves the natural inertia, we use a weighted QP formulation (soft prioritization), which allows us to combine any number of different tasks together and results in reduced aggression in certain situations (e.g., when a single task becomes singular).
[0067] In this work, we derive a control architecture based on nominal passivity-based sub-task controllers, namely the so-called Modular Passivity-based Tracking Controller (MPTC). These controllers are combined and weighted against each other through a task stack, which is solved separately via a single weighted pseudo-inverse or QP. The control framework combines the advantages of both inverse dynamics controllers and passivity-based controllers, namely: easy implementation and use, support for task-space tracking, passivity and contact robustness, and natural redundancy handling. The corresponding stability analysis is based on Lyapunov theory. For non-conflicting cases, the overall controller is found to be asymptotically stable and passive. An important contribution of the proposed work is the derivation of dedicated optimization weights that maintain passivity even in over-determined (i.e., conflicting) cases. For competing tasks and corresponding inconsistent task references, multiple simulations and experiments show evidence of the stability and robustness of the MPTC even in tracking scenarios, although a formal stability proof is still lacking.
[0068] This paper is organized as follows: Section II derives the Modular Passivity-based Tracking Controller (MPTC) at the task level, while Section III provides the overall closed-loop analysis and controller derivation. Section IV compares the MPTC with inverse dynamics (ID) and PD+-based controllers and presents various possible decoupling levels. Section V provides simulation and experimental results for fixed and free-floating robots, while Section VI concludes the paper.
[0069] II. DERIVATION OF MODULAR PASSIVITY-BASED TRACKING CONTROL (MPTC)
[0070] This work considers n TThere are multiple tasks, each with its own goal. To meet the goals of individual tasks, this section derives modular passive tracking controllers (MPTCs), which are combined into different overall controllers in Section III.
[0071] A. General Robot Model
[0072] The general robot motion equations can be written as
[0073]
[0074] where \(q\in\mathbb{R}^{n_q}\) n represents the generalized coordinates 1 , \(M(q)\), and \(\tau\) g \((q)\) are the inertia matrix, the Coriolis and centrifugal matrix, and the gravity torque 2 , and
[0075]
[0076] represents the generalized force. These are composed of the joint motor torque \(\tau\) j and the internal disturbance torque \(\tau\) int acting on the robot joints (such as joint friction), both of which are mapped to \(\tau\) through the joint selection matrix \(S\) 3 , and it is composed of the external torque \(\tau\) ext . The latter is composed of all the screw forces L acting on the \(n\) robot links, and these screw forces are mapped to \(\tau\) through the stack of link Jacobians . Although individual elements of (2) will be used in Section III-E, we will simply use \(\tau\) to represent any generalized force hereinafter.
[0077] By solving (1) for the generalized acceleration we obtain
[0078]
[0079] B. Task Space Parameters
[0080] 1) Task Space Velocity and Acceleration: In robot control, the task velocity vector in the typical task space 4 can be represented as
[0081]
[0082] The index \(k\) indicates that such a mapping exists for all \(n\) T tasks, i.e., \(k\in\{1,\ldots,n\) T \}. Here, denotes the corresponding task Jacobian matrix, with dimension n for the k-th task T,k . By differentiating (4) with respect to time and substituting (3), we obtain the task-space acceleration
[0083]
[0084] where
[0085]
[0086] For the design of the tracking control law (see Section II-C), the corresponding task velocity error
[0087]
[0088] and the task acceleration error
[0089]
[0090] are of particular interest. Here, and denote the task reference velocity and the task reference acceleration, respectively. 2) Task-space inertia and its derivative: Using J k , the inertia matrix M can be projected onto the task space
[17] :
[0091]
[0092] Differentiating (9) gives
[0093]
[0094] where the task-space Coriolis and centripetal matrix is
[0095]
[0096] The matrix
[0097] T k = M k J k M -1 (12)
[0098] is the dynamic consistency pseudo-inverse.
[0099] 1 In the case of a fixed robot, these are only the joint coordinates q j (i.e., q = q j ), while in the case of a free-floating robot (e.g., a humanoid robot) they also include the robot base coordinates x b (i.e.,
[0100] 2 Note: The following will ignore the dependencies of q and .
[0101] 3 Note: For a fixed robot, S is the identity matrix, while for a free-floating robot, where n act represents the number of actuated robot joints.
[0102] 4 Typical tasks are joint-level control, Cartesian end-effector control, etc.
[0103] C. Modular Passive Tracking Controller (MPTC)
[0104] This section derives the proposed Modular Passive Tracking Controller (MPTC). It is written in a general form and serves as a template for any dedicated controller (e.g., Cartesian or joint controller). For each of the n T tasks, a separate Lyapunov function is used based on the task-related relative kinetic energy E kin,k and relative potential energy E pot,k :
[0105]
[0106] where the positive definite symmetric matrix K k represents the task stiffness. This Lyapunov function is positive definite with respect to the task position error and task velocity error .
[0107] Now, differentiating (13) and substituting (8) gives:
[0108]
[0109] Here, the equality
[0110]
[0111] is used, which allows us to rewrite as since the skew-symmetric terms cancel out.
[0112] We now define the (actual) task force 5 f k as:
[0113] f k = T k τ (16)
[0114] By selecting the desired task force 6 f k,des to be
[0115]
[0116] and rewriting T k τ as
[0117]
[0118] the single-task Lyapunov rate from (14) becomes
[0119]
[0120] Note that the controlled system (at the task level) is passive with respect to the input output and the storage function V from (13). k Although the desired Lyapunov rate is purely dissipative for a positive definite damping matrix D k , the term can be non-zero, depending on factors including unknown disturbances, underactuation and other actuation limitations, task inconsistency, and prioritization. Finally, we pre-multiply (8) by M k , substitute into (18) and (17), simplify and reorder to obtain the task dynamics in the following form
[0121]
[0122] Note that the task-related Coriolis terms (i.e., ) are not canceled, which is a prerequisite for passivity. If the desired task force is achieved (i.e., ), then equation (20) corresponds to the spring-mass-damper dynamics of task k. For non-conflicting tasks, one can show the asymptotic stability of all trajectories. This can be achieved, for example, by invoking the ε-method
[17] to obtain a strong Lyapunov function with a negative definite time derivative, similar to [6].
[0123] Otherwise, for example, in the case of underactuation or other actuation limitations, unexpected external disturbances, or task inconsistency, (20) corresponds to compliance 7 characteristics [7]. For these cases, further analysis may be required. In this work, we focus on the problem of task inconsistency, which will be elaborated in the subsequent sections.
[0124] 5 Note: Depending on the task, the task force can include linear forces, torques, screw forces, etc.
[0125] 6 Note: This desired task force f k,des will be used as the task-specific controller objective in Section III. Also note that in Section IV-B, we provide an alternative (but equivalent) controller formulation (55) that better reveals the similarity of this controller to the PD+ formulation.
[0126] 7 Reminder: Compliance means having impedance characteristics with natural inertia (no inertia shaping).
[0127] III. Overall Closed-Loop Analysis and Control
[0128] In this section, we derive the overall system for the subtask controllers, i.e., for the desired task force f from (17) k,des , k ∈ {1,..., n T}, and analyze its closed-loop characteristics by applying Lyapunov theory.
[0129] A. Definition of Different Task Force Errors
[0130] Stack all the desired task forces f from (17) k,des , k ∈ {1,..., n T}, to obtain
[0131]
[0132] Similarly, stack (16) for k ∈ {1,..., n T} to obtain
[0133]
[0134] This is the stack of actual task forces f mapped from the actual generalized force τ by the corresponding assembled task mapping matrix where the sum of all subtask dimensions is denoted by .
[0135] Now we define the stack of actual task force errors
[0136]
[0137] Next, to simplify the discussion on the commanded task forces and the corresponding errors, we evaluate (22) for the commanded generalized force τ 8 from some controller cmd to obtain:
[0138]
[0139] where, f cmd represents the stack of commanded task forces. For some control problems (e.g., underactuation, see Section III-E), τ cmd can be derived from the given optimization variables u cmd which are mapped to the corresponding generalized forces through the actuation mapping matrix U, i.e., τ cmd = U u cmd .
[0140] Finally, by subtracting (24) from (21), we obtain the stack of corresponding task force command errors:
[0141]
[0142] B. Definition of the Overall System Lyapunov Function and Its Actual and Commanded Derivatives
[0143] In this section, we will analyze the stability and passivity of the entire set of modular task space controllers (and thus, if all robot DOFs are covered by the set of task coordinates, the stability of the full robot system dynamics). To this end, we combine all the individual task Lyapunov functions (13) to construct the following overall Lyapunov function
[0144]
[0145] This function is positive definite for positive scalar weights 9 ψ k > 0 (just like its input elements V k ). Correspondingly, the derivative of the overall Lyapunov function is obtained by combining the derivatives of the individual task Lyapunov functions from (19)
[0146]
[0147] If all ψ k > 0, the term is negative semi-definite because all the desired task Lyapunov rates are negative semi-definite. The actual overall Lyapunov rate error can be written as:
[0148]
[0149] where Note that is a function of and thus also of the actual generalized force τ.
[0150] We will now also examine the commanded task force error Effect on the stack. By adapting (28) accordingly, we obtain the commanded overall Lyapunov rate error
[0151]
[0152] which corresponds to the following commanded overall Lyapunov rate
[0153]
[0154] where Finally, we rewrite (28) as
[0155]
[0156] which corresponds to the overall actual Lyapunov derivative
[0157]
[0158] This derivative involves the true system characteristics. Here,
[0159]
[0160] denotes the component of the Lyapunov rate error that corresponds to the commanded task force f cmd the deviation from the actual task force f
[0161] 8 For example, a possible controller can use pseudoinverse-based optimization for unconstrained control problems or quadratic programming (QP)-based optimization (see Section III-E) as in (36) to handle inequality constraints.
[0162] 9 Note: These positive scalar weights ψ k are equivalent to the optimization weights used in (34), (41).
[0163] C. Overall cost function
[0164] Based on from (25) We formulate the overall cost function as
[0165]
[0166] Here, W represents an arbitrary symmetric and positive definite weighting matrix. This cost function G will be minimized by different controllers introduced in Sections III-D and III-E.
[0167] D. Unconstrained and fully actuated case
[0168] 1) General analysis optimization based on the pseudo-inverse:
[0169] This section considers the case of full actuation, no constraints, and potential conflicts. The lack of inequality constraints facilitates obtaining an analytical solution through the weighted pseudo-inverse, while full actuation ensures controllability and allows the direct use of the commanded generalized force τ cmd as the optimization variable. In this case, to optimize the cost function (34, second line), we differentiate G with respect to τ cmd as follows:
[0170]
[0171] By setting (35) to zero and solving for the controller torque τ cmd to minimize the cost function (34):
[0172]
[0173] , the torque is the optimal torque command for the stated given problem. Substituting (36) into (25) gives
[0174]
[0175] where E T denotes the task force balance matrix.
[0176] 2) Non-conflicting case: If T is square-invertible (i.e., all subtasks are independent and thus non-conflicting), then the balance matrix from (37) becomes E T = 0, and the task force command error becomes In this case, the from (29) is also zero, and thus the from (32) becomes
[0177]
[0178] 3) Conflicting case: Conversely, if T is non-invertible (e.g., in an over-determined controller setup), then the balance matrix E T is non-zero. Substituting (37) into (29), we obtain the corresponding commanded overall Lyapunov rate error
[0179]
[0180] Here, is the stack of individual task Jacobians.
[0181] First considering the conflict regulation case (i.e., ), we examine the matrix that appears in (39)
[0182]
[0183] Here, we substitute \(T = \Lambda JM\) -1 , where \(\Lambda\) is a block - diagonal matrix with the task - space inertia matrix as its diagonal sub - matrix. For any choice of \(W\) 10 , (40) is a non - zero matrix, making the from (39) non - zero, even in the case of adjustment. However, for the choice
[0184] \(W=\Lambda\) -1 \(\Psi\) (41)
[0185] Equation (40) becomes
[0186]
[0187] This means (independent of the current generalized velocity and the desired task force \(f\) des ) that for the choice (41), in the case of adjustment the indicated Lyapunov rate from (39) becomes
[0188]
[0189] while the from (32) becomes
[0190]
[0191] Examining the elements of (44), we find that the controlled overall system is passive with respect to the input output (these two are the elements) and the positive - definite storage function \(V\) from (26). Thus, we can conclude the passivity of the overall system in the conflict - adjustment cases examined here. For the closed - loop dynamics of the overall system in the over - determined / conflict task setting (adjustment cases), (41) acts as a passivity - warranting optimization weight (PWOW). Note: (43) does not mean that the individual task Lyapunov rate errors are zero (only that their sum is zero).
[0192] The overall weighted matrix \(W = \Lambda\) -1 \(\Psi\) from (41) is symmetric and block - diagonal. Its symmetric property stems from the symmetry of its diagonal sub - matrix (45),
[0193]
[0194] The diagonal sub - matrix is ψ k and the (symmetric) task inertia matrix M k is a function of the inverse. Looking at (45), it can be clearly seen that each task can still be weighted independently (relative to other tasks) by its corresponding weighting scalar ψ k .
[0195] Now we consider the conflict - tracking case. For and still applying (41), (39) becomes
[0196]
[0197] For (46), equation (32) becomes
[0198]
[0199] For inconsistent task reference velocities, it will generally not be zero, which makes the formal passivity proof for the tracking case more difficult (beyond the scope of this article).
[0200] 10 Even when chosen to be in diagonal form, as is often found in inverse - dynamics (ID) related literature.
[0201] E. Handling under - actuated and other actuation constraints
[0202] The analytical solutions presented in the previous section are dedicated to the control problems of robots assumed to be fully actuated, where actuation limitations (or other constraints) are not relevant. This section will handle the cases of under - actuated and actuation constraints and present solutions to these control problems in the context of MPTC.
[0203] 1) Under - actuation: Compared with a fixed robot, the robot base of a non - actuated free - floating robot (such as a humanoid robot) is not actuated. Instead, to obtain a certain degree of controllability, the free - floating robot needs to use its end - effector to create contact screw forces that compensate for the lack of direct base actuation. The corresponding actuation mapping matrix U from Section III - A has the following form:
[0204]
[0205] The relevant actuation DOF / optimization variables are
[0206]
[0207] where τ j,cmd represents the commanded joint torque, w EE,cmdis the commanded end - effector twist. Equations (48) and (49) are based on the elements of Equation (2). Note, however, that here we replace the set of all link Jacobians L all and link twists w all with the selection results corresponding to the contacting end - effector (“EE”), i.e., replaced with L EE and w EE,cmd .
[0208] 2) Contact and actuation constraints: The commanded end - effector twist w EE,cmd just introduced is typically subject to inequality constraints (so - called “contact constraints”). For example, in locomotion - related applications (see Section V - B), these contact constraints are typically expressed in the form of unilateral and friction - cone constraints. Omitting such contact constraints may lead to robot malfunctions. In addition, due to the physical limitations of the robot, the joint torques τ j,cmd indicated by the constraints are also typically meaningful. In this way, actuator saturation can be avoided.
[0209] 3) Solution via quadratic programming (QP): A popular approach that allows us to handle the above - mentioned problems of under - actuation, actuation limits, and contact constraints is to set up the quadratic programming (QP) 11 in the following form
[0210]
[0211] , which is restricted by contact and joint torque constraints.
[0212] Here, the third line of (34) is adapted for the formulation of the QP cost function G QP . It is well - known that as long as the constraints are not active, QP provides the same solution as the optimization based on the weighted pseudoinverse. We recommend using the exact same passivity - guaranteed optimization weights (PWOW) as the one used for analytical optimization in Section III - D (i.e., W = Λ -1 Ψ). Note, however, that once the constraints are active, passivity can no longer be guaranteed; even in the case of adaptation.
[0213] 11 More explicit QP constraint formulations can be found in [21, 15, 10].
[0214] IV. Granularity of Layout and Orientation Decoupling in Related Controller Types
[0215] A. Comparison between Inverse Dynamics (ID) and MPTC
[0216] In this section, we compare the objectives of controllers based on inverse dynamics (ID) with those of controllers based on MPTC and show important similarities.
[0217] Inverse dynamics (ID):
[0218] A controller based on inverse dynamics (ID) typically implements stable second-order dynamics of the following form
[0219]
[0220] which is able to track a reference motion x for a positive definite proportional matrix and a derivative gain matrix . The two gain matrices are typically designed to be diagonal matrices to obtain fully decoupled linear dynamics. Usually, pole placement [1] is used to achieve a critically damped transient response. Substituting the task space acceleration k,ref 、 from (5) into (51), and solving for the terms related to the generalized force τ, we get: Substituting the task space acceleration from (5) into (51), and solving for the terms related to the generalized force τ, we get:
[0221]
[0222] Note that we do not solve for τ directly here because, depending on the controller settings chosen, J k may not be invertible.
[0223] Modular passive tracking control (MPTC):
[0224] By replacing f in (17) with f k,des = T k τ (from (16)), pre-multiplying the result by k and reordering, we find the following desired task control action: By replacing f in (17) with f = Tτ (from (16)), pre-multiplying the result by and reordering, we find the following desired task control action:
[0225]
[0226] When comparing (53) with (52), we find that the basic structure of the introduced modular passive tracking controller (MPTC) is the same as that of the inverse dynamics (ID)-based controller. Their difference lies only in the chosen proportional and derivative gain matrices. For the ID-based controller, and are designed to be constants, while in the case of MPTC, and are functions of the current task inertia M k . Additionally, constrains the task Coriolis matrix C k such that the task-related Coriolis terms are not canceled out, which is a prerequisite for passivity and improves robustness 12 .
[0227] It is important to note that (52) and (53) are represented in the task acceleration space, where we found constant gain matrices for ID that correspond to constant system / task eigenvalues, while the local eigenvalues of MPTC are configuration-dependent. In contrast, if we pre-multiply (52) and (53) by M k and transfer them to the task force space, we find that the perceived damping and stiffness are constant in the case of MPTC, while they are configuration-dependent for ID.
[0228] Remark: The high similarity between (52) and (53) may be beneficial for potentially porting existing ID-based controller frameworks to the MPTC approach.
[0229] 12 This is due to the reduced number of feedback channels, which may lead to problems related to sensor noise and modeling errors.
[0230] B. Comparison with PD+ control / passivity-based WBC
[0231] By reordering the terms related to the Coriolis and centrifugal effects (hereinafter referred to as "CC") in the subtask controller objective (17), we obtain the following equation:
[0232]
[0233] Here N k denotes the null space projection operator that cancels all components in that would affect the task space velocity and the matrix B k collects the corresponding CC-related feedback terms. Substituting (54) into (17), we find the alternative (but equivalent) subtask controller formula:
[0234]
[0235] Compared with the original subtask controller formula from (17), this formula provides a more direct insight into the CC term cancellation strategy of the MPTC controller: MPTC cancels all task-independent CC feedback terms (compared to the off-diagonal terms in [7]) and provides task-related feedforward terms , without eliminating / utilizing the task-related CC feedback terms. The task-related CC feedback terms can also be verified by reviewing the nominal sub-task closed-loop characteristics (20), in which the task-related CC terms remain unchanged. Retaining the task-related CC terms is a prerequisite for passivity and leads to higher robustness against modeling errors compared to inverse-dynamics-based controllers. Inverse-dynamics-based controllers completely eliminate all CC effects (based on a possibly inaccurate robot model), while MPTC-based controllers only eliminate the task-unrelated CC terms.
[0236] An interesting special case is when only one task is considered (by stacking the corresponding sub-task Jacobians to combine all sub-tasks into an overall task) and the task Jacobian J k is quadratic-invertible. This requires the sub-tasks to be non-conflicting. In this particular case, B k = 0, so (55) is equivalent to the classical PD+ controller
[19] (see Figure 1 ), or (in the case of inequality constraints) equivalent to the passivity-based whole-body controller (WBC) introduced just now [12, 16].
[0237] C. Granularity of Orientation Decoupling
[0238] MPTC is a general controller design tool, both in terms of the choice of sub-controller type (e.g., Cartesian versus joint control) and in terms of the "granularity" of orientation decoupling. 13 When talking about sub-tasks, we never specified their respective dimensions, i.e., the number of DOFs covered by each task. This means there are a large number of conceivable controller configurations. By collecting different control goals (e.g., Cartesian end-effector tracking goal and joint-control end-effector tracking goal) in a single task stack (SoT), the question remains as to which parts of the SoT should be assigned to which MPTC-related sub-tasks. As an example: A six-DOF Cartesian task can be defined as two decoupled (linear and angular) controller sub-tasks, or alternatively as a single six-DOF task. In the first case, the linear and angular error dynamics will be decoupled, while in the second case they will be coupled.
[0239] One can also decide to combine all control goals into a single task (resulting in a fully-coupled passivity-based tracking controller (FC-PTC)), which in some cases is equivalent to the PD+ controller (see Section IV-B and Figure 1)。Alternatively, one can define a set of multiple natural tasks (e.g., one task for the left foot and one task for the right foot), which can be handled by the standard MPTC framework. Finally, one can decide to design the controller settings with the largest granularity, where each row of the SoT forms a single task. We refer to this specific type of controller settings as the fully decoupled passive tracking controller (FD-PTC). Among all possible MPTC settings, FD-PTC is the one most similar to the inverse dynamics controller; both are based on the decoupled task dynamics of individual DOFs (see Figure 1 ). However, it is expected that FD-PTC exhibits higher robustness because there is no inertia shaping and fewer CC terms are canceled.
[0240] Remember that each task has only a single weighted scalar ψ k , which allows (soft) prioritization of tasks relative to each other. This reduces the necessary tuning effort. However, it should be noted that in order to independently increase the priority of a certain task component (e.g., bias towards the z-direction compared to the x and y components of the Cartesian task), one needs to assign its own task and appropriate weight to this task component (e.g., ψ z ).
[0241] 13 Note: We are talking about "oriented decoupling" here. In the case of task consistency, MPTC leads to strictly decoupled error dynamics. However, in the case of inconsistency, the coupling between the corresponding task error dynamics is inevitable (at least for soft task prioritization).
[0242] V. SIMULATIONS AND EXPERIMENTS
[0243] To verify the performance of the proposed MPTC framework, we conducted several simulations and experiments: on the one hand, simple simulations based on the forward integration of (3) using the computed controller torques as inputs, and on the other hand, simulations and experiments with the full-scale humanoid robot TORO [8] (using OpenHRP
[14] as the simulation environment).
[0244] A. Fixed-base robot simulations
[0245] The first simulation introduced is designed to check the tuning for a fully actuated, fully determined and thus non-conflicting task setting. For this purpose, the six joints of a fixed-base robot arm (whose kinematic and inertial properties correspond to one leg of TORO) are assigned to two different joint tasks A and B (each task covering three joints, see Figure 2 ). The corresponding joint task stiffness and damping gains 14 are selected as K A = 300I 3×3 , DA = diag([40, 20, 10]), K B = 40I 3×3 and D B = 2I 3×3 . Note that the scalar task weight ψ k (which is set to 1 here) has no effect because all tasks are perfectly completed anyway due to no conflicts. It must be noted that the controller does not require any additional tuning. The presented parameters are chosen to increase Figure 2 the educational value. At the start of the simulation, all joints quickly converge to the initial setpoints. One second later, the joints in Group A experience a velocity change, resulting in jumps in the corresponding task error derivatives. Note that when Group A reconverges, Group B is completely unaffected due to task decoupling. Two seconds later, the setpoints of Group B change. Similarly, the corresponding joint coordinates converge while Group A is now completely unaffected. Note: The perfect task decoupling observed here is only achievable because the two joint tasks are consistent. Finally, after 3 seconds, a torque offset τ ext = [20, 20, 20, 5, 5, 5] Nm is first applied, and then this torque offset is removed after 4 seconds. The observed controller characteristics are still very good and meet expectations. Using this simulation, we can verify that the overall Lyapunov function value V always decreases, except in the case of perturbations and setpoint changes (see Figure 2 (right)).
[0246] The second simulation presented evaluates the controller performance for conflicting tasks settings, again for the tuning scenario. This time, a six-DOF Cartesian end-effector task with stiffness K cart = diag([2000, 2000, 2000, 100, 100, 100]) and damping D cart = diag([500, 500, 500, 20, 20, 20]) is added to the joint tasks A and B described previously. The scalar task weight ψ k is set to 1. After starting the controller, the robot converges to the equilibrium position. Note that the overall Lyapunov function value V decreases monotonically, while the weighted subtask Lyapunov function values can also increase (e.g., Figure 3 in ).
[0247] 14 Note: For the sake of brevity, the units of stiffness (linear: angle: ) and damping (linear: angle: ) are omitted here
[0248] B. Humanoid Robot Simulation and Experiment
[0249] We performed walking simulations of the humanoid robot TORO based on the following hybrid WBC setup (see Figure 4 ): Inverse dynamics-based torso orientation and overall posture tasks, a task for the divergent component of motion (DCM) [9] control and angular momentum regularization, and a Cartesian (6DOF) MPTC-based foot tracking controller were combined 15 . Precise tracking of the foot reference trajectory was achieved. After 2.5 s, the left foot was perturbed by a force of -60 N in the x direction for 0.3 s, resulting in a maximum foot position error of 51 mm and a maximum DCM error of 45 mm. After removing the perturbation, the foot converged quickly enough to continue successful walking.
[0250] To evaluate the performance of MPTC in the real world, we conducted several experiments using TORO, including push recovery (while standing), human-robot interaction, and walking (videos can be found at https: / / youtu.be / WdF9UQK8aIo). Here, we present a walking experiment where TORO walked six steps forward (see details in Figure 5 ). Separate MPTC-based controllers were used to control the foot (6DOF Cartesian tracking), the torso (3DOF rotational tracking), the leg joints, the waist joint, and the upper body joints (the latter three for overall posture control and regularization tasks). For these simulations, a DCM-based controller and an angular momentum regularization controller were also applied. The walking performance was generally robust. However, tracking errors were observed, which we believe were caused by torque offsets and joint friction. Compared with the ID-based controller
[10] , the tuning effort was less, which demonstrated the robustness of MPTC in real-world settings.
[0251] 15 Note: Due to the modularity of MPTC, ID-based and MPTC-based tasks can be combined in the same overall control setup.
[0252] VI. CONCLUSIONS AND FUTURE WORK
[0253] This work introduced the so-called Modular Passive Tracking Controller (MPTC). In the first stage, this general controller aimed to independently achieve several subtask objectives. Then these mainly independent subtask controllers were merged into an overall controller. The controller design and analysis were based on Lyapunov theory, which facilitated statements about stability and passivity. One of the main contributions of this paper was the design of an optimized weight matrix, which ensured the passivity of the entire set of conflicting subtasks for fully actuated robots. The proposed control framework has been verified in several simulations and experiments on fixed and free-floating robots.
[0254] In our future research, we aim to extensively compare the control concepts of inverse dynamics (ID), the proposed modular passive tracking control (MPTC), and other passive controllers (such as the PD+ controller). This extensive comparison will be based on theoretical analysis, simulations, and hardware experiments.
[0255] References
[0256] [1] J. Ackermann. Parameter space design of robust control Systems. IEEE Transactions on Automatic Control, 25(6): 1058—1072, December 1980. ISSN 2334-3303. doi: 10.1109 / TAC.1980.1102505.
[0257] [2] G. Antonelli. Stability Analysis for Prioritized closed-loop inverse kinematic algorithms for redundant robotic Systems. IEEE Transactions on Robotics, 25(5): 985-994, 2009.
[0258] [3] 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.
[0259] [4] S. Chiaverini. Singularity-robust task-priority redundancy resolution for real-time kinematic control of robot manipulators. IEEE Transactions on Robotics and Automation, 13(3): 398—410, June 1997. ISSN 2374-958X. doi: 10.1109 / 70.585902.
[0260] [5] A. Dietrich. Whole-Body Impedance Control of Wheeled Humanoid Robots, Volume 116. Springer International Publishing, 2016. ISBN 978-3-319-40557-5.
[0261] [6] 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.
[0262] [7] A. Dietrich, C. Ott and A. Albu- Multi-objective compliance control of redundant manipulators: hierarchy, control, and stability. In IEEE / RSJ Int. Conf. on Intelligent Robots and Systems, pp. 3043-3050, November 2013. doi:10.1109 / IROS.2013.6696787.
[0263] [8] J. Englberger, A. Werner, C. Ott, B. Henze, M. A. Roa, G. Garofalo, R. Burger, A. Beyer, O. Eiberger, K. Schmid and A. Albu- OverView of the torque-controlled humanoid robot TORO. In IEEE-RAS Int. Conf. on Humanoid Robots, pp. 916-923, November 2014. doi:10.1109 / HUMANOIDS.2014.7041473.
[0264] [9] J. Englberger, C. Ott and A. Albu- Three-Dimensional BipedalWalking Control Based on divergent component of motion.IEEE Transactions onRobotics,31(2):355—368,2015年4月.ISSN 1941-0468.doi:10.1109 / TRO.2015.2405592.
[0265]
[10] J.Englsberger,G.Mesesan,A.Werner和C.Ott.Torque-Based DynamicWalking-a long way from Simulation to experiment.In IEEE Int.Conf.on Roboticsand Automation(ICRA),第440-447页,2018.
[0266]
[11] Adrien Escande,Nicolas Mansard和Pierre-Brice Wieber.Hierarchicalquadratic programming:fast online humanoid-robot motion generation.TheInternational Journal of Robotics Research,33(7):1006—1028,2014.doi:10.1177 / 0278364914521306.
[0267]
[12] B.Henze,M.A.Roa和Ch.Ott.Passivity-based whole-body balancing fortorque-controlled humanoid robots in multi-contact scenarios.TheInternational Journal of Robotics Research,35(12):1522-1543,2016.doi:10.1177 / 0278364916653815.
[0268]
[13] M, A. Hopkins, D. W. 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), pp. 5726 - 5733, May 2015. doi:10.1109 / ICRA.2015.7140001.
[0269]
[14] F. Kanehiro, H. Hirkawa and S. Kajita. Openhrp: Open Architecturc Humanoid Robotics Platform. The International Journal of Robotics Research, 23(2): 155 - 165, 2004. doi:10.1177 / 0278364904041324.
[0270]
[15] 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.
[0271]
[16] G. Mesesan, J. Englsberger, G. Garofalo, C. Ott and A. Albu- Dynamic walking on compliant and uneven terrain using dem and passivity-based whole-body control. In IEEE - RAS 19th Int. Conf. on Humanoid Robots (Humanoids), pp. 25 - 32, 2019.
[0272]
[17] R.M. Murray. A mathematical introduction to robotic manipulation. CRC press, 2017.
[0273]
[18] Y. Nakamura, H. Hanafusa and T. Yoshikawa. Task-priority based redundancy control of robot manipulators. The International Journal of Robotics Research, 6(2):3-15, 1987. doi:10.1177 / 027836498700600201.
[0274]
[19] B. Paden and B. Riedle. A Positive-Real Modification of a class of nonlinear controllers for robot manipulators. In 1988 American Control Conference, 1782-1785, June 1988. doi:10.23919 / ACC.1988.4790015.
[0275]
[20] 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.
[0276]
[21] L. Righetti, J. Buchli, M. Mistry and S. Schaal. Inverse dynamics control of floating-base robots with external constraints: A unified view. In IEEE Int. Conf. on Robotics and Automation, pp. 1085-1090, May 2011. doi:10.1109 / ICRA.2011.5980156.
[0277]
[22] L. Sentis and O. Khatib. Synthesis of Wliole-Body behaviors through hierarchical control of behavioral primitives. International Journal of Humanoid Robotics, 2(4): 505-518, 2005.
[0278]
[23] 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.
[0279] Figure 6 A possible application of the method according to the invention is shown by way of example. In this case, a plurality of impedance-based controller modules 102 (modular passive tracking controllers) are integrated into an overall controller 104 by means of the method according to the invention. In the example shown, the representation of each controller module 102 includes a reference trajectory and a mass, which are connected to each other via a spring-damper system, wherein the controller modules 102 with the designations A and C represent Cartesian control tasks, respectively, while the controller modules 102 with the designations B and D are formulated as joint controllers. Figure 6 As shown, various controller modules 102, each consisting of a task mapping matrix and a task vector, can be combined into a task stack consisting of a unified task mapping matrix 106 and a combined task vector 110. By suitable optimization methods, for example, with the aid of optimization variables 108, the controller modules represented by the task stack can be merged into an overall controller 104. In this case, an optimal compromise is achieved from the various sub-controller objectives, wherein in particular the passivity of the resulting overall controller 104 is achieved in the best possible way.
[0280] Reference numerals list
[0281] 100 Robot
[0282] 102 Controller Module
[0283] 104 Master Controller
[0284] 106 Task Mapping Matrix
[0285] 108 Optimization variables
[0286] 110 Task vector.
Claims
1. A method for controlling a kinematically redundant robot (100) to perform multiple tasks, wherein, Using at least one first controller module (102) based on passivity, calculating at least one task objective description and at least one associated task mapping for the at least one first controller module (102), and calculating at least one weight in the form of a task-specific symmetric matrix for the task in the form of k where the matrix W k is composed of the inverse matrix of the task inertia matrix M k and a weighting scalar Ψ for independently weighting different tasks k such that M k =(J -1 M k T J -1 ), where J k is the task Jacobian matrix, and M is the inertia matrix of the dynamic model of the robot, and integrating the at least one first controller module (102) into the overall controller (104) in the case of using at least one task weighting matrix W k where the at least one task weighting matrix is combined in the form of sub-matrices into a symmetric and block-diagonal overall weighting matrix W.
2. The method according to claim 1, characterized in that, the at least one task objective description and the at least one associated task mapping are calculated in such a way that the nominal characteristics of the at least one first controller module (102) correspond to the characteristics of a spring-mass-damper system.
3. The method according to claim 1 or 2, characterized in that, the at least one task objective description and the at least one associated task mapping are calculated based on the natural robot inertia.
4. The method according to claim 1 or 2, characterized in that, the at least one task objective description and the at least one associated task mapping are calculated in such a way that the task-specific Coriolis and centrifugal effects remain constant while compensating for all the remaining Coriolis and centrifugal effects.
5. The method according to claim 1 or 2, characterized in that, the at least one task objective description is calculated as a task vector, and / or the at least one associated task mapping is calculated as a task mapping matrix.
6. The method according to claim 1 or 2, characterized in that, at least one additional controller module is integrated into the overall controller (104).
7. The method according to claim 1 or 2, characterized in that, at least one additional controller module formulated as a constraint is integrated into the overall controller (104).
8. The method according to claim 6, characterized in that, the at least one additional controller module is weighted.
9. The method according to claim 6, characterized in that, the at least one first controller module and / or the at least one additional controller module are weighted in such a way that in the case of an overdetermined control problem, the overall controller (104) also has at least approximately passive characteristics.
10. The method according to claim 6, characterized in that, the at least one first controller module (102) and / or the at least one additional controller module are optimized by means of at least one pseudo-inverse and / or at least one inverse.
11. The method according to claim 6, characterized in that, the at least one first controller module (102) and / or the at least one additional controller module are quadratically optimized.
12. The method according to claim 1 or 2, characterized in that, at least one of the first controller modules (102) is implemented as a tracking controller.
13. The method according to claim 1 or 2, characterized in that, at least one of the first controller modules (102) is implemented as an adjustment controller.
14. The method according to claim 1 or 2, characterized in that, a separate controller module is assigned to each controllable degree of freedom.
15. A computer program product comprising instructions which, when the program is executed by at least one processor, cause the at least one processor to perform the method according to any one of claims 1 to 14.
Citation Information
Patent Citations
A modular configurable robot, corresponding method and computer program product
WO2021123057A1
Hierarchical robot control system and method for controlling select degrees of freedom of an object using multiple manipulators
CN101947787A