Method and system for performing a given task by a robot
The method improves robot precision by using admittance control with redundant joints to adapt to external forces and navigate the null space, enhancing hand guidance accuracy.
Patent Information
- Application Number
- DE102019202456
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2019-02-22
- Publication Date
- 2025-07-10
- Estimated Expiration
- 2039-02-22
AI Technical Summary
Existing methods for controlling robots with redundant degrees of freedom, particularly during hand guidance, often result in unsatisfactory precision.
A method involving admittance control, where a robot with redundant joints performs an admittance movement based on external forces, virtual mass, and damping, utilizing the null space of the task to enhance precision by manually guiding the robot.
Enhances the precision of task execution by allowing the robot to adapt to external forces and avoid collisions, thereby improving hand guidance performance.
Smart Images

Figure 00000007_0000 
Figure 00000007_0001
Abstract
Description
The present invention relates to a method for carrying out a predefined task by a robot that is redundant with respect to this task, to a system for operating the robot that is set up to carry out the method, and to a computer program product for carrying out the methodRobots can perform tasks with respect to which they are redundant. If a task comprises, for example, a predefined three-dimensional position and three-dimensional orientation of a robot end flange or of a robot-guided tool connected thereto, a robot having seven or more successive joints is redundant with respect to this task.On the other hand, hand guidance of robots is known, in which the robot follows a force manually exerted on it or searches out(to)divers(s).In previous in-house approaches to hand guidance of robots when performing a predefined task, with respect to which the robot is redundant, the precision of performing the task is frequently unsatisfactory.DE 10 2017 004 711 A1 relates to a method for controlling a robot, which method comprises the steps of: detecting current positions of joints of the robot; and actuating the joints by drives of the robot on the basis of these detected current joint positions in such a way that at least one drive assists a hand guidance-induced movement of the joint actuated by it if a distance between its detected or desired joint position and a predefined first boundary has a first value, and on the other hand less assists if this distance has a second value which is smaller than the first value, and in addition the hand guidance-induced movement is directed towards the first boundary.DE 10 2015 210 218 A1 relates to a method for operating a robot at a robot workstation, and a robot and robot workstation in this respect, wherein the robot has a control device which is designed and / or configured to preset a state type of the robot workstation or robot to be monitored, to monitor a state parameter of the robot workstation or robot corresponding to the state type, to preset a limit value for the monitored state parameter of the robot workstation or robot, to move the robot arm in a manually guided manner by manually applying forces to one or more of the links in order to adjust the joints of the robot arm, and to generate a vibration at the robot arm, controlled by the control device, during the manually guided movement when the monitored state parameter reaches the preset limit value.DE 10 2014 222 809 B3 relates to a method and a system for controlling a robot which has at least one redundant degree of freedom, wherein the method prevents the robot from colliding with the environment on account of its redundancy and / or moving into an unfavorable position without the tool center point being displaced disadvantageously.DE 10 2013 010 290 A1 relates to a method for monitoring a kinematically redundant robot, which comprises the steps of: detecting joint forces which act in joints of the robot; determining an external active force between a robot-fixed reference and an environment on the basis of the detected joint forces; determining a further monitoring variable which is at least substantially independent of an external force acting on the robot-fixed reference on the basis of the detected joint forces; and monitoring the determined external active force and the determined further monitoring variable.DE 10 2011 083 347 B4 relates to a method for controlling a redundant robot system for executing a task, having the following steps: monitoring the energy added to the robot system during the task to be executed, wherein the energy component exceeding the energy limit is dissipated when a predefined energy limit is exceeded, wherein the method has the following further steps: determining zero space movements during the task to be executed, assigning a dissipation of at least a part of the energy component exceeding the energy limit to at least one of the zero space movements, and dissipation of the energy by said at least one of the zero space movements.DE 10 2009 007 181 A1 relates to a method for traversing a predefined path by an end effector of a manipulator, in particular of a robot, wherein the manipulator has a zero space with at least two manipulator positions assigned to the same end effector position with respect to the predefined path, wherein the method comprises the steps of: detecting a storage of the manipulator in the zero space and changing a process variable of the end effector in accordance with the detected storage.It is an object of the present invention to improve the performance of predetermined tasks by robots that are redundant with respect to these tasks, preferably to increase the precision of the task performance in or despite hand guidance of the robot.This object is achieved by a method having the features of claim 1. Claims 8, 9 protect a system or computer program product for carrying out a method described here. The dependent claims relate to advantageous refinements.According to an embodiment of the present invention, a robot is redundant with respect to a predetermined task. In one embodiment, the robot has more degrees of freedom, in particular joints or axes, than the task or is required for carrying out the task or is determined by it.If x d ∈R task or ẋ d ∈R task respectively denotes a predefined task, for example a pose or position and / or orientation of a robot-fixed reference or its change over time, and q ∈R DoF denotes joint coordinates, for example angular positions, of the robot, the ((task) redundant) robot correspondingly applies in an execution task<DoF.In a development, the robot has at least six, in particular at least seven, joints or axes, in particular rotary joints or axes, which follow one another in an embodiment (Dof≥6 or Dof≥7), so that it can in particular approach arbitrary predetermined three-dimensional positions and orientations (Dof≥6) or can always be used redundantly (Dof≥7) with respect to arbitrary predetermined six-dimensional poses of robot-fixed references and thus very flexibly.According to one embodiment of the present invention, when performing the predefined task programmed or stored in advance or commanded by an input command, a movement i(n one) of zero space (of the robot with respect to the task) is performed, in particular commanded, by the robot, which movement is referred to in the present case as admittance movement and depends on an external, in particular manual, force exerted on the robot and a predefined virtual mass, virtual rigidity and / or virtual damping set or parameterized in an embodiment, is determined or is determined in an embodiment on the basis of the force exerted externally on the robot and predefined virtual mass, rigidity or damping. In one embodiment, joints or drives of the robot, in one embodiment electric motors, are actuated or commanded in such a way that the robot carries out the task and admittance movement or actuates or commands it to carry out the task and admittance movement.In this way, in one embodiment, the robot can be manually guided during the execution of the predefined task (by external exertion of the force) and thereby exploited its redundancy, in particular for collision avoidance or the like, and thereby advantageously increase the precision of the task execution.For the purposes of more compact illustration, an anti-parallel force pair or torque is also referred to in the present case in a general way as force in the sense of the present invention.The Jacobi matrix (of the task) is defined in an embodiment in a manner customary in the art by or with the time derivativesA generalized or pseudoinversary J # of the Jacobian matrix maps d to q̇ d in reverse and may be defined or determined in one embodiment according to the inverse () -1 a weighting matrix W, for example the unit or mass matrix, and the transpose () T respectively.The null space (of the task) is defined in an embodiment in a manner customary in the art by the null space operator or projectorIn one embodiment, a setpoint admittance movement is determined, in a development in the joint coordinate space of the robot and / or with the aid of admittance regulation, on the basis of the force T ext exerted externally on the robot, i.e. transformed in particular into the joint coordinate space, and / or the predefined virtual mass M, stiffness K and / or damping D, in an embodiment according to or, in particular by integration or in a control loop, according to and projecting this determined setpoint admittance movement into the zero space, in an embodiment by left multiplication of the zero space operator N according to Eq. (4).In this case, in one embodiment, Kand / or D can be identical or unequal to zero or the corresponding terms can be omitted and / or M can be the unit matrix or different from this and zero.Such an admittance setpoint movement provides a movement which constitutes a virtual mass, spring and / or damper system, in particular a virtual mass-damper system q̈ a= M -1 · (T ext- D·q̇ a)) or a virtual mass (q̈ a= M -1. T ext), due to the external force T would execute ext. In this way, in one embodiment, an advantageous behavior of the robot during hand guidance can be realized.The force externally exerted on the robot is determined in an embodiment in the joint coordinate space and / or on the basis of forces in joints of the robot and / or an, in particular mathematical or numerical, model of the robot, in an embodiment in which forces in joints of the robot are determined, in particular with the aid of sensors, in particular force sensors, measured or, in particular with the aid of secondary encoders, detected currents in joint drives or the like, and in an embodiment those internal forces determined in an embodiment model-based and / or on the basis of positions and / or movements of the robot are subtracted from these forces, which internal forces result from the dynamics, in particular the weight and the movements of the robot, in an embodiment according to the forces T i determined in the joints, the current joint coordinates q i or their time derivatives, as well as the mass matrix M m and the vector h of the generalized forces, in particular gyroscopic, gravitational and / or frictional forces, of the robot or its model. As already mentioned, torques are also generally referred to herein as forces. In general, the force externally exerted on the robot is determined in an embodiment on the basis of forces determined by means of sensors in joints of the robot.In this way, in one embodiment, the force externally exerted on the robot can be determined particularly advantageously, in particular precisely(s), and the hand guidance can thereby be improved.In one embodiment, the task is specified in the (Cartesian) workspace of the robot.Additionally or alternatively, in one embodiment, the task comprises one or more poses of a robot-fixed reference and / or one or more changes of a pose of a robot-fixed reference, in one embodiment a predefined movement and / or a predefined holding of a pose of the robot-fixed reference.In one embodiment, a pose has a one-, two- or three-dimensional position and / or a one-, two- or three-dimensional orientation, can in particular (by) be (defined) such or determine such.As a result, tasks can be advantageously predefined or carried out.In one embodiment, the robot-fixed reference is arranged on a robot-guided tool, in a development between a tool tip and a robot end flange, at which the tool is connected to the robot.Thus, in one embodiment, a robot can be moved in a hand-guided manner and a fixed point, in particular a trocar point, of a robot-guided, in particular medical, tool can be maintained with high precision.In one embodiment, the robot fixed reference is the "Tool Center Point" (TCP) of the robot.This allows it to be positioned with high precision in an embodiment.Additionally or alternatively, in one embodiment, a task setpoint movement, in particular in the joint coordinate space of the robot, is determined on the basis of the predefined task, in particular its Jacobian matrix, in particular its generalized or pseudo-inverses, in one embodiment according toIn one embodiment, the robot is controlled with the aid of speed and / or position control on the basis of the task setpoint movement and / or the admittance setpoint movement projected into the zero space, in particular on the basis of a setpoint speed according to which this setpoint speed can be integrated to a setpoint position in one embodiment. In one embodiment, joints or drives of the robot are thus actuated or commanded on the basis of the task setpoint movement and / or the admittance setpoint movement projected into the zero space.The present invention can be used with particular advantage in medical robotics. Accordingly, in one embodiment, the robot guides a medical, in one embodiment microinvasive, or non-surgically (used). Likewise, the present invention can be used with particular advantage in telemanipulation or the robot can be used as a telemanipulator.According to one embodiment of the present invention, a system for operating the robot is configured, in particular by hardware and / or software, in particular by program technology, for carrying out a method described here and / or has means for carrying out the task and carrying out an admittance movement in zero space, which movement is dependent on a force exerted externally on the robot and on a predefined virtual mass, stiffness and / or damping, when carrying out the task.In one embodiment, the system or its(s) has means:means for determining the force externally applied to the robot based on forces in joints of the robot and / or a model of the robot; and / ormeans for determining a task setpoint movement, in particular in the joint coordinate space of the robot, on the basis of the predefined task, in particular its Jacobi matrix; and / ormeans for determining a setpoint admittance motion, in particular in the joint coordinate space of the robot and / or with the aid of admittance control, on the basis of the force and / or predetermined virtual mass, stiffness and / or damping applied externally to the robot and for projecting this determined setpoint admittance motion into the zero space; and / ora speed and / or position control based on the task setpoint movement and / or the admittance setpoint movement projected into the zero space.A means in the sense of the present invention can be designed using hardware and / or software technology, in particular can have a processing, in particular microprocessor unit (CPU), graphics card (GPU) or the like, preferably connected to a memory and / or bus system by data or signals, and / or can have one or more programs or program modules. The processing unit can be designed to process commands implemented as a program stored in a memory system, to acquire input signals from a data bus and / or to deliver output signals to a data bus. A storage system may include one or more, in particular different, storage media, in particular optical, magnetic, solid-state and / or other non-volatile media. The program can be designed such that it embodies or is capable of executing the methods described here, so that the processing unit can execute the steps of such methods and can thus in particular operate or control the robot. For more compact representation, a rule is also referred to in general terms as control in the present case. In one embodiment, a computer program product may have, in particular be, an, in particular non-volatile, storage medium for storing a program or having a program stored thereon, wherein executing this program causes a system or a controller, in particular a computer, to execute a method described here or one or more of its steps.In one embodiment, one or more, in particular all, steps of the method are carried out completely or partially automatically, in particular by the system or its(s) means.In one embodiment, the system comprises the robot and / or its controller.Time derivatives can be implemented in an embodiment by corresponding differences, i.e., for example, task ẋ d by a differential command Δx d, setpoint speed q̇ d by a differential command Δq d etc.Further advantages and features are evident from the dependent claims and the exemplary embodiments. This is partially schematic: FIG. 1 : shows a system for operating a robot or performing a predefined task by the robot according to one embodiment of the present invention; and FIG. 2 : shows a method for carrying out the task by the robot according to one embodiment of the present invention.FIG. 1 shows a system having a controller 2 for operating or controlling a seven-axis robot 10 or performing a predefined task by the robot 10 according to one embodiment of the present invention, FIG. 2 shows a method for performing the task by the robot according to one embodiment of the present invention.The robot 10 guides a tool 12 which is fastened to the robot end flange 11 and has a distal tool tip 13.A predefined task consists, for example, in keeping the three-dimensional Cartesian position of the tool-fixed point X constant. Another predefined task can be, for example, a predefined TCP pose or TCP path.In a first step S 10, the controller 2 determines forces, in particular torques T i about the (rotational) axes, in the joints of the robot, for example by means of force, in particular torque sensors, in the joints (not shown).In a second step S 20, the controller 2 uses this to determine a force T ext, applied externally to the robot, for example according to Eq. (6) or in some other way.In a third step S 30, the controller 2 determines a setpoint admittance movement q̇ a or q̈ a, for example according to Eq. based on this force T ext applied externally to the robot and a predefined virtual mass mouth damping D with the aid of admittance regulation. (5), (5') with K = 0 or otherwise.In a fourth step S40, the controller 2 projects this admittance target movement into the zero space of the task, adds a task target movement, which it uses on the basis of the generalized or pseudo-inverses of the Jacobi matrix of the specified task, for example according to Eq. (7) or in another way, and produces the resultant or according to Eq. (8) Determined desired movement qdv d, optionally after integration to a desired position q d in the joint coordinate space, for speed or position control, commanding corresponding joint angles or controlling drives of the robot 10 (not shown) accordingly (on).As a result, when performing the task in the zero space, the robot 10 performs an admittance movement q̇ a depending on the force externally exerted on it and the predetermined virtual mass and damping.Although exemplary embodiments have been explained in the preceding description, it should be noted that a multiplicity of modifications are possible. It should also be noted that the exemplary embodiments are merely examples that are not intended to limit the scope, applications, and configuration in any way.List of reference characters10 Robot 11 Robot end flange 12 Robot-guided tool 13 Tool tip 2 Controller q 1,... q 7= q Joint coordinates / angle X Robot-fixed reference
Claims
Method for carrying out a predefined task by a robot (10) which is redundant with respect to this task, wherein, when carrying out the task, an admittance movement dependent on a force exerted externally on the robot and on a predefined virtual mass, stiffness and / or damping is carried out in the zero space, wherein a setpoint admittance movement is determined on the basis of the force exerted externally on the robot and / or predefined virtual mass, stiffness and / or damping and this determined setpoint admittance movement is projected into the zero space.Method according to claim 1, characterized in that the external force exerted on the robot is determined on the basis of forces in joints of the robot and / or a model of the robot.Method according to one of the preceding claims, characterized in that the task is specified in the working space of the robot and / or comprises at least one pose and / or pose change of a robot-fixed reference (X).Method according to one of the preceding claims, characterized in that the robot-fixed reference (X) is arranged on a robot-guided tool (12) or is the TCP of the robot and / or a task setpoint movement is determined on the basis of the predefined task.Method according to the preceding claim, characterized in that the robot-fixed reference (X) is arranged between a tool tip (13) and a robot end flange (11) and / or the task desired movement is determined in the joint coordinate space of the robot and / or on the basis of the Jacobian matrix of the predefined task and / or the admittance desired movement is determined in the joint coordinate space of the robot and / or with the aid of an admittance control on the basis of the force applied externally to the robot and / or predefined virtual mass, rigidity and / or damping and this determined admittance desired movement is projected into the zero space.Method according to at least one of the preceding claims, characterized bya speed and / or position control on the basis of the task setpoint movement and / or the admittance setpoint movement projected into the zero space.Method according to one of the preceding claims, characterized in that the robot guides a medical tool (12).System (2) for operating a robot (10), which is configured to carry out a method according to one of the preceding claims.A computer program product having program code stored on a computer readable medium for performing a method according to any of the preceding claims 1-7.
Citation Information
Patent Citations
Method for inputting commands into controller of e.g. multi-axis robot, involves comparing detected force with stored force, and outputting commands associated with stored force to controller if detected force corresponds to stored force
DE102009007181A1
Method for controlling a redundant robot system
DE102011083347B4
Monitoring a kinematically redundant robot
DE102013010290A1
event-based redundancy angle configuration for articulated arm robots
DE102014222809B3
Method for operating a robot, associated robot with a vibration device and robot work station
DE102015210218A1