The present invention relates to a method for controlling a kinematically redundant robot in order to fulfill multiple tasks. Moreover, the present invention relates to a computer program product for carrying out such a method.
The simultaneous control of multiple tasks represents an important research topic in the field of robotic control. While earlier studies considered the simpler case of controlling a single task and the corresponding nullspace, i.e., the remaining degrees of freedom of the robot, for kinematically redundant robots, several established methods presently exist that allow handling of multiple tasks with and without priorities. The literature makes a distinction between studies that solve the task coordination problem initially on a kinematic level, and studies that handle the control problem directly on the dynamic level. A further important classification option is the division into methods that require strict task priorities via hierarchical controllers, and other methods that apply a soft prioritization via task weighting.
At the kinematic level, hierarchical controllers that are based on nullspace projections and that guarantee a strict task hierarchy have been proposed in the publications by Y. Nakamura, H. Hanafusa, and T. Yoshi Kawa, Task-priority 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. To address the problem of possible task singularities, a singularity-robust inverse kinematics method has been proposed in the publication by 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. However, due to these singularity-robust inverse kinematics, the strict task hierarchy is lost, since ultimately a weighting is thus generated between the individual tasks.
Other methods handle multiple tasks simultaneously on the dynamic level. The “operational space” method has been further developed to enable the control of humanoid robots. In this regard, reference is made to the publications by 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 programs (QPs). In this regard, reference is made to the publications by 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; and 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 stated methods are aimed at a strict task decoupling. For example, this ensures, at least in theory, that different tasks do not mutually influence one another, and likewise that the particular transient response of individual tasks after disturbances is completely independent of other task coordinates.
The method provided here is inspired by the family of inverse dynamics-based tracking controllers, which seek a soft compromise between a series of tasks by using a single weighted quadratic program (QP). In this regard, reference is made to the publications by M. A. Hopkins, D. W. Hong, and A. Leonessa, Compliant locomotion using whole-body control and divergent component of motion tracking, 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 J. Englsberger, G. Mesesan, A. Werner, and C. Ott, Torque-based dynamic walking—a long way from simulation to experiment, IEEE Int. Conf. on Robotics and Automation (ICRA), pages 440-447, 2018. Such controllers are very easy to implement, and are characterized by their high level of flexibility. However, in comparison to passivity-based methods according to the publications by B. Paden and B. Riedle, A positive-real modification of a class of nonlinear controllers for robot manipulators, 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, M. A. 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, and A. Albu-Schaffer, 15:47 6/10/2020 [sic], Dynamic walking on compliant and uneven terrain using DCM and passivity-based whole-body control, 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, inverse dynamics-based controllers are less robust with regard to model errors and contact uncertainties, so that in actual use, problems such as vibrations, for example, occur, which must then in turn be handled with the aid of heuristic methods.
Furthermore, the provided method is inspired by the weighting-based multitasking controller from the publication by 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, and also by the strictly hierarchical passivity-based controller from the publication by 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. Similarly as in the publication by 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, the provided method uses a quadratic program (QP) to combine the control objectives of the individual tasks or to weight them against one another. However, in the publication by 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 of the controllers associated with the individual tasks is computed based on inverse dynamics, a unit matrix being used as desired inertia, which corresponds to feedback linearization. In contrast, the provided method computes the controllers associated with the individual tasks, based on the concept of passivity, and uses the natural inertia of the robot, so that a behavior similar to that of a PD+ controller is achieved. In contrast to the method known from the publication by 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 likewise based on the use of the natural inertia for the control approach, the provided method uses a weighted QP formulation, i.e., a soft prioritization, thus allowing combination of an arbitrary number of various tasks, the method also resulting in less aggressive behavior in certain situations, for example when a task singularity occurs.
The object underlying the present invention is to improve a method mentioned at the outset. Moreover, the object underlying the present invention is to provide a computer program product mentioned at the outset.
The object is achieved using a method having the features of claim 1. Moreover, the object is achieved using a computer program product having the features of claim 15. Advantageous embodiments and/or refinements are the subject matter of the subclaims.
The method may be used for closed-loop control of the robot. The method may be used, for example, in service robotics, in medical robotics, in Industry 4.0, and in the area of robotic assistance for astronauts. In principle, the method may be used anywhere that force/torque-controlled robots with kinematic redundancy may be employed, and thus where high precision as well as a flexible human-robot interaction or surroundings-robot-interaction are desired.
A kinematically redundant robot may have multiple degrees of freedom, in such a way that multiple tasks may be implemented at the same time. The tasks may be independent of one another. The tasks may be implementable, at least in part, at the same time. The robot may be force-controlled and/or torque-controlled. The passivity-based controller module may be an impedance-based controller module. In the present context, the term “passivity” is used in particular for delimiting an “activity” in which an undesirable energy increase occurs in the system.
In the present context, the phrase “task target description” describes in particular a variable that results from a combination of terms, corresponding to the actual objective of the particular task, with appropriate pilot control or compensation terms. The corresponding objective of the task may be made up, for example, of a nominal tracking of a reference trajectory and/or also made up, advantageously at the same time, of the flexible impedance behavior, for example in the case of an interaction with the surroundings, an object, or a human.
The pilot control and/or compensation terms may completely or partially compensate for gravitation effects as well as Coriolis and/or centrifugal effects, for example, in order to generate the actual desired behavior and/or the actual desired dynamics.
In the present context, the phrase “task mapping” describes in particular a variable that establishes the relationship between the given manipulated variables and/or control inputs and the particular above-mentioned task target description. The manipulated variables and/or control inputs may be made up, for example, of settable torques in the robot joints, and in the case of free-floating robots such as humanoid robots, for example, also of contact forces which under certain conditions result from the constraints between the joint torques and given end effector accelerations, for example robot foot accelerations.
The at least one task target description and the at least one associated task mapping may be computed in such a way that a nominal behavior of the at least one first controller module corresponds to the behavior of a mass-spring-damper system.
The at least one task target description and the at least one associated task may be computed based on a natural robot inertia.
The at least one task target description and the at least one associated task mapping may be computed in such a way that task-specific Coriolis and centrifugal effects remain unchanged, while all other Coriolis and centrifugal effects are compensated for.
The at least one task target description may be computed as a task vector. The task vector may indicate a force, a force direction, a torque, and/or a torque direction. Desired task force fk,des in equation (17) represents such a task vector. In addition, the individual task vectors may advantageously be combined to form a combined task vector. “Combination of all desired task forces” fdes described in equation (21) represents an example of such a combined task vector.
The at least one associated task mapping may be computed as a task mapping matrix. The task mapping matrix may also be referred to as a mapping matrix T or a mapping matrix U. Matrix Tk described in equation (12), which may be referred to as a “dynamically consistent pseudoinverse” of the transposition of task Jacobian matrix Jk, represents an example of such a task mapping matrix. The individual task mapping matrices may also advantageously be combined into a unified task mapping matrix T, as described in equation (22).
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.
The at least one first controller module and/or the at least one further controller module may be weighted. A weighting matrix may be used for the weighting. The weighting matrix may also be referred to as a weighting matrix W.
The at least one first controller module and/or the at least one further controller module may be weighted in such a way that the overall controller has an at least approximately passive behavior, even for an overdetermined control problem.
The at least one first controller module and/or the at least one further controller module may be optimized with the aid of at least one pseudoinverse and/or at least one inverse.
The at least one first controller module and/or the at least one further controller module may be optimized with the aid of at least one optimization variable. The at least one first controller module and/or the at least one further controller module may be quadratically optimized. The quadratic optimization may be implemented by a single instance or by multiple instances.
At least one of the controller modules may be designed as a tracking controller. At least one of the controller modules may be designed as a regulation controller. A separate controller module may be assigned to each controllable degree of freedom.
The computer program product may be present on a computer-readable memory medium, on a computer-readable data medium, or as a data medium signal.
The method may include the following steps: a) computing the desired task forces and the associated task mapping matrices for all passive tracking controller modules, the nominal behavior of the passive tracking controller modules corresponding to that of mass-spring-damper systems, in addition the natural inertia of the robot being maintained, and furthermore the task-specific Coriolis and centrifugal effects remaining unchanged, while all other Coriolis and centrifugal effects are compensated for; b) computing the particular passivity-guaranteeing or passivity-facilitating weighting matrices for all tasks, c) integrating and combining the individual passive tracking controller modules by optimization to form an overall controller, using the particular passivity-guaranteeing or passivity-facilitating weighting matrices.
In addition to the passive tracking controller modules, other controllers or controller modules may be integrated in method step c). In method step c), in addition to the weighted tasks, one or multiple tasks may also be formulated as a constraint and correspondingly integrated into the overall controller via the optimization. A pseudoinverse may be used in method step c) for the optimization. In method step c), the optimization may be based on the concept of quadratic optimization or quadratic programming (QP).
The present invention may relate to a controller module for controlling torque-based robots. The controller module may include a task mapping matrix and a desired task vector, it being possible for a nominal behavior of the controller module to correspond to a mass-spring-damper system.
The corresponding mass or inertia of the natural mass or inertia of the robot, optionally projected into the corresponding task space, may thus correspond to an impedance behavior, referred to as compliance behavior, which is based on the natural robot mass or the natural robot inertia, and which thus dispenses with the so-called inertia shaping.
The task-specific Coriolis and centrifugal effects may remain unchanged, while all other Coriolis and centrifugal effects are compensated for, as the result of which the passivity of the controller module may be achieved.
The controller module may be designed as a tracking controller. The controller module may be designed as a regulation controller, and a pilot control may thus be dispensed with.
An arbitrary number of such controller modules may be combined to form an overall controller. An arbitrary number of such controller modules and an arbitrary number of other controllers or controller modules may be combined to form an overall controller.
The present invention may relate to such an overall controller, it being possible for a soft prioritization to take place with the aid of weighting of the tasks, corresponding to the controller modules.
The weighting of the tasks corresponding to the controller modules may be designed in such a way that the passivity of the overall controller is guaranteed, or a behavior of the overall controller is generated which best approaches a passive behavior, even if the objectives of the individual tasks conflict and an overdetermined control problem is thus present.
In addition, a task or multiple tasks may be formulated as a hard constraint, while all other tasks are based on such controller modules and are taken into account by a soft weighting or are integrated into the overall controller.
For solving the control problem, a quadratic optimization may be used, which may be implemented by a single instance for the quadratic optimization, or also by multiple instances for the quadratic optimization.
One or multiple pseudoinverses or inverses may be used to solve the control problem.
A dedicated controller module may be assigned to each controllable degree of freedom, as the result of which a maximum granularity or the maximum possible decoupling of the individual task controllers is achieved.
In summary and stated in other words, the present invention thus results, among other things, in a modular passive tracking controller for force-/torque-controlled robots.
The controller according to the present invention allows a robust control of redundant robotic systems which is precise and at the same time flexible. This is achieved by using passivity-based controller modules, which may be combined to form an overall controller with the aid of various optimization methods (depending on the problem in question). By use of a particular weighting of the various tasks, the passivity of the overall controller, once again depending on the problem in question, is either guaranteed or at least facilitated. This particular weighting is based on using the particular inverted task inertia matrix, multiplied by a scalar task weighting number, as a weight for the individual tasks. Controller design and analysis are based on the concept of passivity or on Lyapunov theory, thus achieving the high level of robustness of the control.
The present method has proven to be very flexibly usable, with robustness against singularities and robustness with regard to modeling errors and measuring noise (changing the controller structure online is easily possible, as well as combination with other controller methods), and also very robust upon contact with the surroundings. The tuning effort during actual experiments or for actual applications is very low. An arbitrary number of tasks may be combined with one another; each task contributes to the overall result, corresponding to its weighting.
The present method thus combines the most important advantages of all methods described in the related art for the control of redundant, torque-controlled robotic systems, while avoiding all disadvantages.
The present method covers virtually the entire spectrum between inverse dynamics-based controllers and the very robust so-called PD+-based controllers. The granularity of the desired decoupling or the modularity of the individual subcontrollers is freely selectable.
The technical field addressed in particular by the present invention is the control of redundant, torque-controlled robotic systems. Solving multitasking tasks represents a difficult problem, in particular with regard to stability and passivity of the overall controller, precise tracking of desired reference trajectories, robustness with regard to modeling accuracy and sensor noise, robustness against singularities, flexibility in implementation and combinability of different subcontrollers, and contact stability.
The related art encompasses essentially two different methods which partially solve this problem: inverse dynamics-based methods on the one hand, and passivity- or impedance-based methods on the other hand. Both solution approaches contained in the related art have certain disadvantages which thus far have not been overcome:
Inverse dynamics are not passive, so that serious stability problems may occur in actual application scenarios. In addition, inverse dynamics are not robust with regard to modeling accuracy and sensor noise, and are also susceptible to singularities. Furthermore, the contact stability cannot always be ensured using inverse dynamics-based control methods.
The passivity- or impedance-based methods known from the related art generally have either poor tracking of the desired reference trajectories or a susceptibility to singularities. In addition, the corresponding controller implementation is generally inflexible, and a combination of different subcontrollers or controller types is not provided.
The present invention is based on a method for controlling redundant, torque-controlled robotic systems in which passive or impedance-based tracking controller modules are combined with one another via optimization. By use of a particular type of weighting, it is ensured that due to the combination/synthesis of the individual controller modules, the passivity of the overall system is not lost, or that the corresponding combination/synthesis does not result in an activity, i.e., a corresponding undesirable increase in the energy in the system. In this way, all above-mentioned advantages are achieved and the corresponding disadvantages are avoided. In particular, the method underlying the present invention ensures the stability and passivity of the overall system, or facilitates the latter in the case that stabilization or passivation of the overall system is technically impossible, achieves precise tracking of the desired reference trajectories, provided that they are not inconsistent and are thus technically achievable, is robust with respect to singularities, modeling accuracy, and sensor noise, is characterized by good contact stability, and allows a flexible implementation in which, among other things, different types of controllers may be combined with one another. The method underlying the present invention thus completely solves all problems addressed here.
Exemplary embodiments of the present invention are described in greater detail below with reference to figures, which schematically show the following by way of example:
One embodiment of a modular passive tracking controller (MPTC) for “stack of tasks”-based controller-frameworks is described.
Abstract—This work introduces the so-called Modular Passive Tracking Controller (MPTC), a generic passivity-based controller, which aims at independently fulfilling several subtask objectives. These are combined in a stack of tasks (SoT) that serves as a basis for the synthesis of an 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 specific optimization weighting matrix that ensures passivity of an overdetermined and thus conflicting task setup. The proposed framework is validated through simulations and experiments for both fixed-base and free-floating robots.
Simultaneous control of multiple tasks has emerged as a major research topic in robotic control. While initial works considered the simpler case of a single task and its nullspace for a kinematically redundant robot, nowadays there exist several well established frameworks for handling multiple tasks with and without priorities. In the literature one may distinguish between works that solve the task coordination problem first on a kinematic level, and works that formulate the control directly for the dynamics. Another important classification can be done based on the use of strict task priorities via hierarchic controllers as compared to controllers which apply a soft prioritization via task weighting.
At the kinematics level, hierarchical controllers based on either successive or augmented nullspace projections have been proposed in order to ensure a strict task hierarchy (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, G. Antonelli. Stability Analysis for Prioritized closed-loop inverse kinematic algorithms for redundant robotic systems. IEEE Transactions on Robotics, 25(5):985-994, 2009). For the handling of task singularities, a singularity robust inverse kinematics has been proposed (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). However, this singularity robust inverse destroys the strict task hierarchy and effectively generates a weighting among different tasks.
Other frameworks handle multiple tasks at the dynamics level. The operational space approach has been extended in this direction with applications in humanoid robotics (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, 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 Inverse Dynamics (ID) based controllers use hierarchic quadratic programs (QP) (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, 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 these works aim at a strict task decoupling.
The presented work is inspired by the family of Inverse Dynamics based tracking controllers that softly trade off a set of tasks (collected in a stack of tasks (SoT)) via a single weighted QP (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), 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, 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 straightforward to write and stand out due to their high flexibility. Yet, compared to passivity-based approaches such as (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, A. Dietrich. Whole-Body Impedance Control of Wheeled Humanoid Robots, volume 116. Springer International Publishing, 2016. ISBN 978-3-319-40557-5, B. Henze, M. A. 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, and A. Albu-Schaffer. 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), pages 25-32, 2019, 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), they are less robust w.r.t. modeling errors and contact uncertainties (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, 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). This causes real-world issues such as vibrations, which are often addressed using heuristic approaches (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), pages 5726-5733, May 2015. doi: 10.1109/ICRA.2015.7140001, 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).
Furthermore, the weighting based multi-objective controller 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 and the strictly hierarchical passivity-based controller 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 served as inspiration for this work. Similar to 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 we use a QP to combine individual control actions from separate task space controllers. However, 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 separate control action is computed based on ID with the unit matrix as the desired inertia (feedback linearization). In contrast, the individual task controllers presented here use the concept of passivity and avoid inertia shaping, i.e. we aim at a PD+ like closed-loop for each task (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). Compared to 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 also preserves the natural inertia, we use a weighted QP formulation (soft prioritization), which allows us to blend an arbitrary number of different tasks and in certain situations (e.g. when a single task becomes singular) behaves less aggressively.
In this work, we derive a control architecture that is based on nominally passive subtask controllers, the so-called Modular Passive Tracking Controllers (MPTC). These are combined and traded off via a stack of tasks, which is solved via a single weighted pseudo-inverse or QP, respectively. The control framework combines the advantages of both Inverse Dynamics controllers and passivity-based controllers, namely: ease of implementation and use, task space tracking capabilities, passivity and contact robustness, and natural redundancy handling. The corresponding stability analysis is based on Lyapunov theory. For the non-conflicting case, the overall controller is found to be asymptotically stable and passive. An important contribution of the presented work is the derivation of a specific optimization weight that additionally preserves passivity even in the over-determined (i.e. conflicting) case. For competing tasks and corresponding inconsistent task references, multiple simulations and experiments show evidence of MPTC's stability and robustness even in the tracking case, while a formal stability proof is missing so far.
The paper is organized as follows: Section II derives the Modular Passive Tracking Controller (MPTC) at task level, while section III provides the overall closed-loop analysis and controller derivation. Section IV compares MPTC to Inverse Dynamics (ID) and PD+ based controllers, and presents the wide range of possible decoupling levels. Section V provides simulation and experimental results for both fixed-base and free-floating robots, while section VI concludes the paper.
This work considers nT tasks, each having its own individual objective. To satisfy the single-task objectives, this section derives Modular Passive Tracking Controllers (MPTC), which are combined into different overall controllers in Sec. III.
A. General Robot Model
The general robot equation of motion can be written as
M(q){umlaut over (q)}+C(q,{dot over (q)}){dot over (q)}+τg(q)=τ (1)
where q∈n denotes the generalized coordinates (These are simply the joint coordinates in case of fixed-base robots (i.e.), while additionally containing the robot base coordinates (i.e.) in case of free-floating robots (e.g. humanoids)), M(q),C(q,{dot over (q)}) and τg(q) are the inertia matrix, Coriolis and centrifugal matrix, and gravitational torques, (Note: dependencies on q and {dot over (q)} will be omitted below.) respectively, and
denotes the generalized forces. These are composed of joint motor torques τj and internal perturbation torques τint acting in the robot joints (e.g. joint friction), which are both mapped to τ via the joint selection matrix S, (Note: S is a unit matrix for fixed base robots, while for free-floating robots S=[0n
Solving (1) for the generalized accelerations {umlaut over (q)} yields
{umlaut over (q)}=M−1(τ−C{dot over (q)}−τg) (3)
B. Task Space Quantities
1) Task space velocities and accelerations: In robotic control, for typical task spaces (Typical tasks are joint level control, Cartesian end effector control, etc.) a task velocity vector
{dot over (x)}k=Jk{dot over (q)} (4)
can be formulated. The index k indicates that such a mapping exists for all nT tasks, i.e. k∈{1, . . . , nT}. Here, Jk∈n
{umlaut over (x)}k={dot over (J)}k{dot over (q)}+Jk{umlaut over (q)}=JkM−1(τ−τg)−Qk{dot over (q)} (5)
where
Qk=JkM−1C−{dot over (J)}k (6)
For the design of a tracking control law (see Sec. II-C), the corresponding task velocity error
and task acceleration error
are of particular interest. Here, {dot over (x)}k,ref and {umlaut over (x)}k,ref denote the task reference velocity and acceleration, respectively.
2) Task space inertia and its derivative: Using Jk, the inertia matrix M can be projected into the task space (17]:
Mk=(JkM−1JkT)−1 (9)
Differentiating (9) yields
with the task space Coriolis and centrifugal matrix
Ck=MkQkTkT (11)
The matrix
Tk=MkJkM−1 (12)
is the dynamically consistent pseudo-inverse of JkT.
C. Modular Passive Tracking Controller (MPTC)
This section derives the proposed Modular Passive Tracking Controller (MPTC). It is written in generic form, serving as template for arbitrary specific controllers (e.g. Cartesian or joint controllers). For each one of then nT tasks, we use a separate Lyapunov function based on the task-related relative kinetic energy Ekin,k and relative potential energy Epot,k:
where the positive definite, symmetric matrix Kk denotes the task stiffness. This Lyapunov function is positive definite in the task position error {umlaut over (x)}k and the task velocity error {tilde over ({dot over (x)})}k.
Now we differentiate (13) and insert (8), which yields:
Here, we made use of the equality
which allows us to rewrite {tilde over ({dot over (x)})}kT{dot over (M)}k/2 {tilde over ({dot over (x)})}k as {tilde over ({dot over (x)})}kTCk{tilde over ({dot over (x)})}k, since the skew- symmetric term cancels.
We now define the (actual) taskforce (Note: depending on the task, the task force may contain linear forces, torques, wrenches, etc.) fk as:
fk=Tkτ (16)
By choosing the desired taskforce fk,des (Note: this desired task force fk,des will be used as task-specific controller objective in section III. Also note: in Sec. IV-B, we provide an alternative (yet equivalent) controller formulation (55), which better unveils the controller's similarity to a PD+ formulation.) as
fk,des=Tkτg+MkQk{dot over (q)}+Mk{umlaut over (x)}k,ref+(Ck+Dk){tilde over ({dot over (x)})}k+Kk{tilde over (x)}k (17)
and rewriting Tkτ as
the single task Lyapunov rate from (14) becomes
Note that the controlled system (at task level) is passive with respect to input {tilde over (f)}k output {tilde over ({dot over (x)})}k and the storage function Vk from (13). While the desired Lyapunov rate {dot over (V)}k,des is purely dissipative for a positive definite damping matrix Dk, the term {tilde over ({dot over (V)})}k may be non-zero, depending on factors including unknown perturbations, under-actuation and other actuation limits, task inconsistencies and prioritization. Finally, we premultiply (8) by Mk, insert (18) and (17), simplify and reorder to obtain a task dynamics of the form
Mk{tilde over ({umlaut over (x)})}k+(Ck+Dk){tilde over ({dot over (x)})}k+Kk{tilde over (x)}k={tilde over (f)}k. (20)
Note that the task related Coriolis term (i.e. Ck{tilde over ({dot over (x)})}k) has not been cancelled, which is a prerequisite for passivity. If the desired task force is achieved (i.e. {tilde over (f)}k=0), equation (20) corresponds to a spring-mass-damper dynamics for task k. For non-conflicting tasks, one can show asymptotic stability of all trajectories. That can be achieved, for example, by invoking the ε-method (R. M. Murray. A mathematical introduction to robotic manipulation. CRC press, 2017), to obtain a strong Lyapunov function with negative definite time derivative, similar to (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).
Otherwise, e.g. in case of under-actuation or other actuation limits, unexpected external perturbations or task inconsistencies, (20) corresponds to a compliance (Remember: compliance means an impedance behavior with natural inertia (no inertia shaping) behavior (A. Dietrich, C. Ott, and A. Albu-Schäffer. Multi-objective compliance control of redundant manipulators: hierarchy, control, and stability. In IEEE/RSJ Int. Conf on Intelligent Robots and Systems, pages 3043-3050, November 2013. doi: 10.1109/IROS.2013.6696787). For such cases, further analysis may become necessary. In this work, we focus on the problem of task inconsistencies, which will be addressed in the subsequent section.
In this section, we derive controllers for the overall system of subtask controllers, i.e. for the complete set of desired task forces fk,des from (17) for k∈{1, . . . , nT}, and analyze their closed-loop behaviors by applying Lyapunov theory.
A. Definition of Different Task Force Errors
Stacking all desired task forces fk,des from (17) fork k∈{1, . . . , nT} yields
Similarly, we stack (16) for k∈{1, . . . , nT} to obtain
This is the mapping from the actual generalized forces τ to the stack of actual taskforces f via the corresponding collected task mapping matrix T∈n
Now, we define the stack of actual task force errors
{tilde over (f)}=fdes−f=fdes−Tτ (23)
Next, to facilitate discussions about commanded taskforces and corresponding errors, we evaluate (22) for the commanded generalized forces τcmd from some controller (Possible controllers may, for example, use pseudo-inverse based optimization as in (36) for unconstrained control problems or quadratic programming (QP) based optimization (see Sec. III-E) to handle inequality constraints), which yields the stack of commanded task forces
For certain control problems (including under-actuation, see Sec. III-E), τcmd may result from the given optimization variables ucmd, which are mapped to corresponding generalized forces via the actuation mapping matrix U, i.e. τ=U ucmd.
Finally, subtracting (24) from (21), we obtain the corresponding stack of task force command errors:
{tilde over (f)}cmd=fdes−fcmd=fdes−Tτcmd=fdes−Tuucmd (25)
B. Definition of Overall System Lyapunov Function, and its Actual and Commanded Derivatives
In this section, we will analyze the stability and passivity of complete sets of modular task space controllers (and thus the stability of the complete robot system dynamics, if all robot DOF are covered by the collection of task coordinates). To this end, we combine all single task Lyapunov functions (13) to construct the following overall Lyapunov function
which for positive scalar weights (Note: These positive scalar weights are equivalent to the optimization weights used in (34), (41).) ψk>0 is positive definite (just like its input elements Vk). Correspondingly, the overall Lyapunov function derivative {dot over (V)} is obtained by combining the single task Lyapunov derivatives {dot over (V)}k from (19):
The term {dot over (V)}des is negative semi-definite if all ψk>0, since all desired task Lyapunov rates {dot over (V)}k,des are negative semi-definite. The actual overall Lyapunov rate error {tilde over ({dot over (V)})} can be written as
where {tilde over ({dot over (x)})}T=[{tilde over ({dot over (x)})}1T, . . . , {tilde over ({dot over (x)})}n
We will now additionally examine the effect of the stack of commanded task force errors
{tilde over ({dot over (V)})}cmd={tilde over ({dot over (x)})}TΨ{tilde over (f)}cmd (29)
which corresponds to the commanded overall Lyapunov rate
where {tilde over ({dot over (V)})}k,cmd={tilde over ({dot over (x)})}kT{tilde over (f)}k,cmd. Finally, we reformulate (28) as
which corresponds to the overall actual Lyapunov derivative
{dot over (V)}={dot over (V)}des+{tilde over ({dot over (V)})}cmd+{tilde over ({dot over (V)})}real (32)
that relates to the real system behavior. Here,
denotes the component of the Lyapunov rate error that corresponds to deviations {tilde over (f)}real of the commanded task forces fcmd from the actual ones f.
C. Overall Cost Function
Based on {tilde over (f)}cmd from (25), we formulate an overall cost function
Here, W denotes an arbitrary symmetric and positive-definite weighting matrix. This cost function G will be minimized by the different controllers presented in sections III-D and III-E.
D. Unconstrained and Fully Actuated Case
1) Pseudo-inverse based general analytical optimization:
This section considers the fully actuated, unconstrained and potentially conflicting case. The lack of inequality constraints facilitates an analytical solution via weighted pseudo-inverse, while the full actuation guarantees controllability and allows to directly use the commanded generalized forces τcmd as optimization variables. In this case, to optimize the cost function (34, second line), we differentiate G w.r.t. τcmd:
dG/dτcmd=τcmdTTTWT−fdesTWT. (35)
The cost function (34) is minimized by setting (35) to zero and solving for the controller torques τcmd
τcmd=(TTWT)−1TTWfdes, (36)
which are the optimal torque commands for the given problem statement. Inserting (36) in (25)
where ET denotes the taskforce trade-off matrix.
2) Non-conflicting case: If T is square and invertible (i.e. all subtasks are independent from each other and thus nonconflicting), the trade-off matrix from (37) becomes ET=0, and the task force command errors become {tilde over (f)}cmd=0. In this case, {tilde over ({dot over (V)})}cmd from (29) is also zero, and thus {dot over (V)} from (32) becomes
{dot over (V)}={dot over (V)}des+{tilde over ({dot over (V)})}real (38)
3) Conflicting case: If, in contrast, T is non-invertible (e.g. in over-determined controller setups), the trade-off matrix ET is non-zero. Inserting (37) into (29), we find the corresponding commanded overall Lyapunov rate error
{tilde over ({dot over (V)})}cmd=({dot over (x)}refT−{dot over (q)}TJT)ΨETfdes (39)
Here, J=[J1T, . . . , Jn
Here, we inserted T=ΛJ M−1, where Λ is a block-diagonal matrix with the task space inertia matrices {M1, . . . ,Mn
W=Λ−1Ψ (41)
equation (40) becomes
This means that (independently from the current generalized velocities {dot over (q)} and desired task forces fdes) for the choice (41) the commanded Lyapunov rate {tilde over ({dot over (V)})}cmd from (39) becomes
{tilde over ({dot over (V)})}cmd=0 (43)
in the regulation case {tilde over ({dot over (V)})}cmd, and {dot over (V)} from (32) becomes
{dot over (V)}={dot over (V)}des+{tilde over ({dot over (V)})}real (44)
Looking at the elements of (44), we find that the overall controlled system is passive with respect to the input Ψ{tilde over (f)}real, the output {tilde over ({dot over (x)})} (these two being the elements of {tilde over ({dot over (V)})}real) and the positive definite storage function V from (26). Thus, we conclude passivity of the overall system in the conflicting regulation case examined here. For the overall system closed-loop dynamics of over-determined/conflicting task setups (regulation case), (41) acts as Passivity Warranting Optimization Weight (PWOW). Note, (43) does not mean that the single task Lyapunov rate errors {tilde over ({dot over (V)})}k,end are zero (only their sum).
The overall weighting matrix W=Λ−1Ψ from (41) is symmetric and block-diagonal. Its symmetry property results from the symmetry of its diagonal sub-matrices
Wk=ψkMk−1 (45)
which are a function of ψk and the inverse of the (symmetric) task inertia matrix Mk. Looking at (45), it becomes clear that each task can still be weighted independently (w.r.t. other tasks) via its corresponding weighting scalar ψk.
Now, we consider the conflicting tracking case. For {dot over (x)}ref≠0 and still applying (41), (39) turns into
{tilde over ({dot over (V)})}cmd={dot over (x)}refTΨETfdes (46)
for which equation (32) becomes
For inconsistent task reference velocities, {tilde over ({dot over (V)})}cmd will typically be non-zero, which renders a formal passivity proof for the tracking case more difficult (out of the scope of this paper).
E. Handling Under-Actuation and Other Actuation Constraints
The analytical solutions presented in the previous section are dedicated to control problems that assume fully actuated robots, whose actuation limits (or other constraints) are not relevant. This section will treat the cases of under-actuation and actuation constraints, and propose a solution for such control problems in the MPTC context.
1) Under-actuation: In contrast to fixed-base robots, the robot base of free-floating robots (e.g. humanoids) is not actuated. Instead, in order to achieve a certain degree of controllability, a free-floating robot needs to use its end effectors to create contact wrenches that compensate for the lack of a direct base actuation. The corresponding actuation mapping matrix U from Sec. III-A has the following form:
U=[ST,LEET] (48)
The related actuation DOF/optimization variables are
where τj,cmd denotes the commanded joint torques and wEE,cmd are the commanded end effector wrenches. Equations (48) and (49) are based on elements from equation (2). Note however that here we replaced the collection of all link Jacobians Lall and link wrenches wall by a selection that corresponds to the contacting end effectors (“EE”), i.e. by LEE and wEE,cmd.
2) contact and actuation constraints: The commanded end effector wrenches, wEE,cmd just introduced are often subject to inequality constraints (the so-called “contact constraints”). As an example, in walking related applications (see Sec. V-B) these contact constraints are typically expressed in the form of unilaterality and friction cone constraints. Omitting such contact constraints may lead to a failure of the robot. Additionally, due to the physical limitations of the robot, it often makes sense to also constrain the commanded joint torques τj,cmd. This way, actuator saturation may be avoided.
3) solution via quadratic programming (QP): A popular method that allows us to handle the mentioned problems of under-actuation, actuation limits and contact constraints is to set up a quadratic program (QP) of the form (More explicit QP constraint formulations can be found e.g. in [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, pages 1085-1090, May 2011. doi: 10.1109/ICRA.2011.5980156, 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, 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)
Here, the third line of (34) was adapted for the formulation of the QP cost function GQP. It is well-known, that a QP provides the same solution as a weighted pseudo-inverse based optimization, as long the constraints are not active. We propose to use the exact same Passivity Warranting Optimization Weight (PWOW) that was applied in Sec. III-D for the analytical optimization, i.e. W=Λ−1 Ψ. Note however that, as soon as the constraints become active, passivity can no longer be guaranteed; even in the regulation case.
A. Comparison of Inverse Dynamics (JD) and MPTC
In this section, we compare the objectives of Inverse Dynamics (ID) based controllers and MPTC-based controllers, and show major similarities.
Inverse Dynamics (ID):
Inverse Dynamics (ID) based controllers typically implement a stable second order dynamics of the form
which enables the tracking of the reference motion xk,ref, {dot over (x)}k,ref, {umlaut over (x)}k,ref for positive definite proportional and derivative gain matrices {circumflex over (P)}ID,k and {circumflex over (D)}ID,k. These two gain matrices are typically designed as diagonal matrices in order to obtain a fully decoupled, linear dynamics. Oftentimes, pole placement (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) is used to achieve a critically damped transient response. Inserting the task space acceleration {umlaut over (x)}k from (5) into (51), and solving for the term related to the generalized forces τ yields:
Note that we do not solve for τ directly here, since, depending on the chosen controller setup, Jk may not be invertible.
Modular Passive Tracking Control (MPTC):
By replacing fk,des in (17) by fk=Tkτ (from (16)), premultiplying the result with Mk−1 and reordering, we find the following desired task control action:
When comparing (53) to (52), we find that the basic structure of the presented Modular Passive Tracking Controller (MPTC) and Inverse Dynamics (ID) based controllers is the same. They only differ by the chosen proportional and derivative gain matrices. For ID based controllers, {circumflex over (P)}ID,k and {circumflex over (D)}ID,k are designed to be constant, whereas, in case of MPTC, {circumflex over (P)}MPTC,k and {circumflex over (D)}MPTC,k are a function of the current task inertia Mk. Additionally, {circumflex over (D)}MPTC,k contains the task Coriolis matrix Ck, such that the task related Coriolis terms are not canceled, which is a prerequisite for passivity and increases robustness (This is due to the reduced number of feedback channels that may cause problems related to sensor noise and modeling errors.).
It is important to note, that (52) and (53) are denoted in task acceleration space, where for ID we find constant gain matrices, which correspond to constant system/task eigenvalues, while the local eigenvalues of MPTC are configuration-dependent. If, in contrast, (52) and (53) are transferred into task force space by premultiplying them with Mk, we find that the perceived damping and stiffness are constant in case of MPTC, while being configuration dependent for ID.
Remark: The strong similarity between (52) and (53) may be advantageous with regard to a potential porting of existing ID-based controller frameworks to the MPTC methodology.
B. Comparison to PD+ Control I Passivity-Based WBC
Reordering those terms in the subtask controller objective (17) that are related to Coriolis and centrifugal (from here on abbreviated as “CC”) effects, we find the following equality:
Here, Nk denotes a nullspace projector that cancels out all components of {dot over (q)} that would have an effect on the task-space velocity {dot over (x)}k, and the matrix Bk collects the corresponding CC related feedback terms. Inserting (54) in (17), we find an alternative (yet equivalent) subtask controller formulation:
fk,des=Tkτg+Bk{dot over (q)}+Mk{umlaut over (x)}k,ref+Ck{dot over (x)}k,ref+Dk{tilde over ({dot over (x)})}k+Kk{tilde over (x)}k (55)
As compared to the original subtask controller formulation from (17), this formulation enables a more straightforward insight into the CC term cancellation policy of the MPTC controller: MPTC cancels out all non-task-related CC feedback terms (comparable to off-diagonal terms in (A. Dietrich, C. Ott, and A. Albu-Schäffer. Multi-objective compliance control of redundant manipulators: hierarchy, control, and stability. In IEEE/RSJ Int. Conf on Intelligent Robots and Systems, pages 3043-3050, November 2013. doi: 10.109/IROS.2013.6696787)) and provides a task-related feedforward term Ck{dot over (x)}k,ref, while not canceling/utilizing task-related CC feedback terms. The latter can also be verified by revisiting the nominal subtask closed-loop behavior (20), in which the task-related CC terms remain unaffected. Maintaining the task-related CC terms is a prerequisite for passivity, and leads to a higher robustness against modeling errors as compared to Inverse Dynamics based controllers. The latter completely cancel all CC effects (based on the potentially inaccurate robot model), while MPTC-based controllers cancel only the non-task-related CC terms.
An interesting special case is, when only one task is considered (combining all subtasks into an overall task by stacking the corresponding subtask Jacobians) and the task Jacobian Jk is square and invertible. This requires the subtasks to be non-conflicting. In this particular case, Bk=0 and thus (55) is equivalent to a classic PD+ controller (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) (see
C. Granularity of Targeted Decoupling
MPTC is a generic controller design tool, both w.r.t. the choice of sub-controller types (e.g. Cartesian vs. joint control) and w.r.t. the “granularity” of the targeted decoupling (Note: we are talking here about “targeted decoupling”. In case of consistent tasks, MPTC yields a strictly decoupled error dynamics. However, in case of inconsistencies, a coupling between the respective task error dynamics is inevitable (at least for soft task prioritization)). When speaking about subtasks, we never specified their respective dimensions, i.e. the number of DOF that each task covers. This means there are many conceivable controller configurations. Collecting different control objectives (e.g. a Cartesian end effector tracking objective and a joint control one) into a single stack of tasks (SoT), the question remains open, which parts of the SoT should be assigned to what MPTC-related subtasks. As an example: a six-DOF Cartesian task can be defined as two decoupled (linear and angular) controller subtasks, or alternatively as a single six-DOF task. In the first case, the linear and angular error dynamics would be decoupled from each other, while in the second case they would be coupled.
One may also decide to combine all control objectives into a single task (resulting in a Fully Coupled Passive Tracking Controller (FC-PTC)), which under certain circumstances is equivalent to a PD+ controller (see Sec. IV-B and
Remember that there is only one single weighting scalar ψk per task, that allows for (softly) prioritizing the tasks amongst each other. This decreases the required tuning efforts. Note however, that to independently increase the priority of a certain task component (e.g. prefer the z-direction over the x and y components of a Cartesian task), it needs to be assigned to an own task and an appropriate weight (e.g. ψz).
In order to validate the performance of our proposed MPTC framework, we performed several simulations and experiments: on the one hand simple simulations based on a forward integration of (3) that used the computed controller torques as input, on the other hand simulations (using OpenHRP (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) as simulation environment) and experiments with the full-sized humanoid robot TORO (J. Englsberger, A. Werner, C. Ott, B. Henze, M. A. Roa, G. Garofalo, R. Burger, A. Beyer, O. Eiberger, K. Schmid, and A. Albu-Schäffer. Overview of the torque-controlled humanoid robot TORO. In IEEE-RAS Int. Conf on Humanoid Robots, pages 916-923, November 2014. doi: 10.1109/HUMANOIDS.2014.7041473).
A. Fixed-Base Robot Simulations
The first presented simulation is designed to examine the regulation case for a fully actuated, fully determined and thus non-conflicting task setup. To this end, the six joints of a fixed-base robot arm (whose kinematics and inertia properties correspond to one of TORO's legs) were assigned to two different joint tasks A and B (each covering three joints, see
The second presented simulation evaluates the controller's performance for a conflicting task setup, again for the regulation case. This time, a six-DOF Cartesian end effector task with stiffness Kcart=diag([2000, 2000, 2000, 100, 100, 100]) and damping Dcart=diag([500, 500, 500, 20, 20, 20]) was added to the previously described joint tasks A and B. The scalar task weights ψk are set to 1. After starting the controller, the robot converges to an equilibrium position. Note that the overall Lyapunov function value V decreases monotonically, while the weighted subtask Lyapunov function values may also grow (as for example ψj
B. Humanoid Robot Simulations and Experiments
We performed walking simulations of the humanoid robot TORO (see
To evaluate the real-world performance of MPTC, we conducted several experiments using TORO, including push recovery (during stance), human-robot interaction and walking (a video can be found here https://youtu.be/WdF9UQK8aIo). Here, we present a walking experiment during which TORO took six steps forward (see
This work introduced the so-called Modular Passive Tracking Controller (MPTC). This generic controller, at a first stage, intends to independently fulfill several subtask objectives. These primarily independent subtask controllers are then merged into an overall controller. The controller design and analysis is based upon Lyapunov theory, which facilitates statements about stability and passivity. One of the major contributions of this paper is the design of an optimization weighting matrix that, for fully actuated robots, guarantees the passivity of a complete set of conflicting subtasks. The proposed control framework was validated in several simulations and experiments for fixed-based and free-floating robots.
In our future research, we intend to extensively compare the control concepts of Inverse Dynamics (ID), the proposed Modular Passive Tracking Control (MPTC) and other passivity-based controllers, such as the PD+ controller. This extensive comparison will be based on theoretical analysis, simulations and hardware experiments.
The word “may” may refer in particular to optional features of the present invention. Consequently, there are also refinements and/or exemplary embodiments of the present invention which additionally or alternatively have the particular feature or the particular features.
If necessary, individual features may also be selected from the feature combinations disclosed above and used in combination with other features, with resolution of a structural and/or functional relationship possibly existing between the features, for delimiting the subject matter of the claims.
Number | Date | Country | Kind |
---|---|---|---|
10 2020 115 517.4 | Jun 2020 | DE | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2021/065699 | 6/10/2021 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2021/250201 | 12/16/2021 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4999553 | Seraji | Mar 1991 | A |
20100280661 | Abdallah et al. | Nov 2010 | A1 |
20110160906 | Orita et al. | Jun 2011 | A1 |
20130013112 | Darish | Jan 2013 | A1 |
20130268256 | Dariush | Oct 2013 | A1 |
20140229006 | Ruempling et al. | Aug 2014 | A1 |
20140379126 | Ueberle | Dec 2014 | A1 |
20150343633 | Gouaillier et al. | Dec 2015 | A1 |
20180081340 | Haddadin et al. | Mar 2018 | A1 |
20200276704 | Sindhwani et al. | Sep 2020 | A1 |
20230028405 | Malzahn | Jan 2023 | A1 |
Number | Date | Country |
---|---|---|
101947787 | Jan 2011 | CN |
103648733 | Mar 2014 | CN |
104227715 | Dec 2014 | CN |
104380306 | Feb 2015 | CN |
109079780 | Dec 2018 | CN |
110799308 | Feb 2020 | CN |
102010064267 | Jun 2015 | DE |
102015106227 | May 2016 | DE |
2740012 | Nov 2017 | EP |
1972416 | Apr 2018 | EP |
3054048 | Aug 2018 | FR |
WO2021123057 | Jun 2021 | WO |
Entry |
---|
Y. Nakamura, H. Hanafusa, and T. Yoshi Kawa. Taskpriority based redundancy control of robot manipulators. The International Journal of Robotics Research, 6(2): 3-15, 1987. doi: 10.1177/027836498700600201. |
Antonelli. Stability Analysis for Prioritized closedloop inverse kinematic algorithms for redundant robotic systems. IEEE Transactions on Robotics, 25(5):985-994, 2009. |
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. |
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. |
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. |
K. Bouyarmane and A. Kheddar. On Weight-Prioritized multitask control of humanoid robots. IEEE Transactions on Automatic Control, 63(6):1632-1647, Jun. 2018. ISSN 2334-3303. doi: 10.1109/TAC.2017.2752085. |
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. |
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. |
B. Paden and B. Riedle. A Positive-Real Modification of a class of nonlinear controllers for robot manipulators. In 1988 American Control Conference, pp. 1782-1785, Jun. 1988. doi: 10.23919/ACC.1988.4790015. |
B. Henze, M. A. 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 Oct. 6, 2020 A. Albu-Schäffer. Dynamic walking on compliant and uneven terrain using dem and passivity-based wholebody control. In IEEE-RAS 19th Int. Conf. on Humanoid Robots (Humanoids), pp. 25-32, 2019. |
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. |
J. Ackermann. Parameter space design of robust control systems. IEEE Transactions on Automatic Control, 25 (6): 1058-1072, Dec. 1980. ISSN 2334-3303. doi:10.1109/TAC.1980.1102505. |
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, Jun. 1997. ISSN 2374-958X. doi: 10.1109/70.585902. |
A. Dietrich, C. Ott, and A. Albu-Schaffer. Multiobjective compliance control of redundant manipulators:hierarchy, control, and stability. In IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 3043-3050, Nov. 2013. doi: 10.1109/IROS.2013.6696787. |
J. Englsberger, A. Werner, C. Ott, B. Henze, M. A. Roa, G. Garofalo, R. Burger, A. Beyer, O. Eiberger, K. Schmid, and A. Albu-Schaffer. Overview of the torque-controlled humanoid robot TORO. In IEEERAS Int. Conf. on Humanoid Robots, pp. 916-923, Nov. 2014. doi: 10.1109/HUMANOIDS.2014.7041473. |
J. Englsberger, C. Ott, and A. Albu-Schaffer. Three-Dimensional Bipedal Walking Control Based on divergent component of motion. IEEE Transactions on Robotics, 31(2):355-368, Apr. 2015. ISSN 1941-0468. doi: 10.1109/TRO.2015.2405592. |
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. |
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, Oct. 15, 2019 (Oct. 15, 2019), Seite 663-670, XP033740754. |
Cisneros Rafael et al., “Robust Humanoid Control Using a QP Solver with Integral Gains”, 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE,Oct. 1, 2018 (Oct. 1, 2018), Seite 7472-7479, XP033490715 Doi: 10.1109/IROS.2018.8593417. |
IPRP for PCT/EP2021/065699, dated Jun. 10, 2021. |
Number | Date | Country | |
---|---|---|---|
20240261964 A1 | Aug 2024 | US |