METHOD AND COMPUTER PROGRAM PRODUCT FOR CONTROLLING A ROBOT

20240261964 ยท 2024-08-08

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for controlling a kinematically redundant robot (100) in order to fulfill multiple tasks. At least one passivity-based first controller module (102) is used, at least one task target description and at least one associated task mapping are computed for the at least one first controller module (102), at least one weighting is computed for the tasks, and the at least one first controller module (102) is integrated into an overall controller (104), using the at least one weighting. Moreover, the invention relates to a computer program product that includes commands which, when the program is executed with the aid of at least one processor, prompt the processor to carry out such a method.

    Claims

    1-30. (canceled)

    31. A method for controlling a kinematically redundant robot in order to fulfill multiple tasks, comprising the steps of using at least one passivity-based first controller module, computing at least one task target description and at least one associated task mapping for the at least one first controller module, computing at least one weighting the tasks weighting in the form of a task-specific symmetrical matrix W.sub.k=?.sub.kM.sub.k.sup.?1, wherein the matrix W.sub.k from the inverse of the task inertia matrix M.sub.k, where M.sub.k=(J.sub.kM.sup.?1J.sub.kT).sup.?1, J.sub.k is the task Jacobian and M is the inertia matrix of the dynamic model of the robot, and a weighting scalar ?.sub.k for independently weighting different tasks with respect to each other, and integrating the at least one first controller module into an overall controller, using the at least one task weighting matrix W.sub.k which is combined in the form of sub-matrices into a symmetrical and block-diagonal overall weighting matrix W.

    32. The method as recited in claim 30, wherein the at least one task target description and the at least one associated task mapping are 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.

    33. The method as recited in claim 30, wherein the at least one task target description and the at least one associated task mapping are computed based on a natural robot inertia.

    34. The method as recited in claim 30, wherein the at least one task target description and the at least one associated task mapping are computed in such a way that task-specific Coriolis and centrifugal effects remain unchanged, while all other Coriolis and centrifugal effects are compensated for.

    35. The method as recited in claim 30, wherein the at least one task target description is computed as a task vector, or the at least one associated task mapping is computed as a task mapping matrix.

    36. The method as recited in claim 30, wherein at least one further controller module is integrated into the overall controller.

    37. The method as recited in claim 30, wherein at least one further controller module formulated as a constraint is integrated into the overall controller.

    38. The method as recited in claim 36, wherein the at least one further controller module is weighted.

    39. The method as recited in claim 30, wherein the at least one first controller module or the at least one further controller module is weighted in such a way that the overall controller has an at least approximately passive behavior, even for an overdetermined control problem.

    40. The method as recited in claim 30, wherein the at least one first controller module or the at least one further controller module is optimized with the aid of at least one pseudoinverse and/or at least one inverse.

    41. The method as recited in claim 30, wherein the at least one first controller module and/or the at least one further controller module are/is quadratically optimized.

    42. The method as recited in claim 30, wherein the first controller module is designed as a tracking controller.

    43. The method as recited in claim 30, wherein the first controller module is designed as a regulation controller.

    44. The method as recited in claim 30, wherein a separate controller module is assigned to each controllable degree of freedom.

    45. A computer program product that includes commands which, when the program is executed with the aid of at least one processor, prompt the processor to carry out the method as recited in claim 30.

    Description

    [0048] 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:

    [0049] FIG. 1 shows that MPTC covers the complete range between inverse dynamics (ID) and PD+ control;

    [0050] FIG. 2 shows transient responses for a fully determined and nonconflicting task setup. Left: joint angles and references. Right: overall and task-specific Lyapunov function values;

    [0051] FIG. 3 shows transient response for an overdetermined (and thus conflicting) task setup;

    [0052] FIG. 4 shows a humanoid robot TORO walking in OpenHRP simulation (single and double support times: TSS=0.8 s, TDS=0.12 s). After 2.5 s, the left foot is perturbed by an external force of ?60 N in the x direction for 0.3 s;

    [0053] FIG. 5 shows TORO walking in an experiment (single and double support times: TSS=0.9 s, TDS=0.3 s, step length 0.15 m); and

    [0054] FIG. 6 shows one possible application of the method according to the present invention.

    [0055] One embodiment of a modular passive tracking controller (MPTC) for stack of tasks-based controller-frameworks is described.

    [0056] FIG. 6 shows an example of one possible application of the method according to the present invention. Multiple impedance-based controller modules 102 (modular passive tracking controllers) are integrated into an overall controller 104, using the method according to the present invention. In the example shown, the illustration of controller modules 102 in each case includes a reference trajectory and a mass that are connected to one another via a spring-damper system, controller modules 102 denoted by reference symbols A and C each representing a Cartesian control task, while controller modules 102 denoted by reference symbols B and D are formulated as joint controllers. As shown in FIG. 6, the various controller modules 102, each made up of a task mapping matrix and a task vector, may be combined to form a stack of tasks made up of a unified task mapping matrix 106 and a combined task vector 110. By use of a suitable optimization method, for example with the aid of optimization variables 108, the controller modules represented by the stack of tasks may be fused to form an overall controller 104. An optimal compromise between the various subcontroller objectives is thus achieved, in particular the passivity of resulting overall controller 104 being implemented in the best possible way.

    [0057] 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.

    [0058] 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.

    LIST OF REFERENCE NUMERALS

    [0059] 100 robot [0060] 102 controller module [0061] 104 overall controller [0062] 106 task mapping matrix [0063] 108 optimization variables [0064] 110 task vector