CN112135718A - Control of a robot - Google Patents

Control of a robot Download PDF

Info

Publication number
CN112135718A
CN112135718A CN201980033367.4A CN201980033367A CN112135718A CN 112135718 A CN112135718 A CN 112135718A CN 201980033367 A CN201980033367 A CN 201980033367A CN 112135718 A CN112135718 A CN 112135718A
Authority
CN
China
Prior art keywords
robot
acceleration
shaft
speed
limits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980033367.4A
Other languages
Chinese (zh)
Inventor
F·阿尔门丁格
J·D·穆诺茨奥索里奥
M·D·菲奥雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE102018207921.8A external-priority patent/DE102018207921B3/en
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Publication of CN112135718A publication Critical patent/CN112135718A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39319Force control, force as reference, active compliance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39338Impedance control, also mechanical
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40336Optimize multiple constraints or subtasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40344Configuration index, control, limits of joint movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40359Constraint, physical limitations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40454Max velocity, acceleration limit for workpiece and arm jerk rate as constraints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40552Joint limit

Abstract

In the method for controlling a robot (1) according to the invention, the robot is flexibly force-regulated (S50), wherein a target driving force is determined (S10, S30) not only on the basis of the set limits for the pose, speed and/or acceleration of at least one reference object fixed to the robot and/or the set limits for the axis position, axis speed and/or axis acceleration in the Cartesian workspace of the robot, but also on the basis of the set tasks, such that compliance with the limits is prioritized over performance of the tasks.

Description

Control of a robot
Technical Field
The present invention relates to a method and a controller for controlling a robot, and a computer program product for performing the method.
Background
The robot should regularly perform predefined tasks, for example using its end effector or TCP to a predefined position, etc.
To this end, o.khatib entitled "unified method for movement and force control of a robotic manipulator: an article of The operating Space Formulation (A Unified Approach for Motion and Force Control of Robot managers: The operating Space Formulation) "(IEEE Journal of robots and automation Vol.RA-3, No.1, Februar 1987, ISSN 0882-.
Disclosure of Invention
The object of the invention is to improve the operation of a robot.
The object of the invention is achieved by a method having the features of claim 1. Claims 11 and 12 claim a controller or a computer program product for performing the method described herein. Preferred developments are given by the dependent claims.
According to one embodiment of the invention, the robot is adjusted by flexible ("compliant") forces, in one embodiment by avoiding external forces, in particular forces exerted thereon manually or by an operator, and in one embodiment by exerting a restoring force acting against these forces on its surroundings, in particular on the hand guiding the robot, etc., accordingly. In one embodiment, the robot is admittance regulated. In this way, a particularly advantageous flexible force adjustment can be achieved.
According to one embodiment of the invention, the force adjustment is based on or according to
-limits on the shaft position, shaft speed and/or shaft acceleration, in particular preset, in particular programmed and/or adjustable by user input, and
the set task, in particular the pre-programmed or stored task, determines the target driving force as follows or on the premise that: that is, compliance with the (axis) constraint is prioritized over task execution, and in particular tasks are executed only within the following ranges or are executed only to the extent: that is, the execution of the task allows compliance with the constraint or does not compromise compliance with the constraint. Therefore, in one embodiment, the target driving force for executing the task is commanded only within the following range: that is, the target driving force does not violate or react to the target driving force for compliance with the restriction. In particular, in the following states: that is, the execution of the task requires or conditions that at least a first target driving force of the first shaft and a second target driving force of the second shaft are required or conditions for, for example, entering a set posture or the like, and the adherence limit requires or conditions that a target driving force in the opposite direction to the first target driving force of the first shaft and a specific target driving force of the second shaft is not required or conditions because, for example, the first shaft is close to its limit and the second shaft is not, and therefore the target driving force in the opposite direction for adherence limit and the second target driving force for execution of the task are commanded.
Additionally or alternatively, according to an embodiment of the invention, in the force adjustment, based on or according to
-limits of the pose, speed and/or acceleration of a reference object fixed to the robot set in the cartesian working space of the robot, and
the set task, in particular the pre-programmed or stored task, determines the target driving force as follows or on the premise that: that is, compliance with the constraints (of the pose, velocity and/or acceleration of the reference object fixed to the robot in the cartesian working space) is prioritized over the execution of the task, in particular the task is executed only within the following ranges or to the extent that the task is executed only to the following extent: that is, the execution of the task allows compliance with the constraint or does not compromise compliance with the constraint. Therefore, in one embodiment, the target driving force for executing the task is commanded only within the following range: that is, the target driving force does not violate or react to the target driving force for compliance with the restriction. In particular, in the following states: that is, the execution of the task requires or conditions that at least a first target driving force of the first shaft and a second target driving force of the second shaft are required or conditions, for example, for entering a set posture or the like, and the adherence limit requires or conditions that a target driving force that is opposite to the first target driving force of the first shaft and a specific target driving force of the second shaft is not required or conditions, because, for example, adjustment of the first shaft causes a reference fixed to the robot to reach its limit and adjustment of the second shaft does not, and therefore the opposite target driving force for adherence limit and the second target driving force for execution of the task are commanded.
In one embodiment, the robot is therefore flexibly force-adjusted in order to or during the execution of the set task. Thus, in one embodiment, the robot may advantageously be guided (departed) or deflected or stopped by the operator while performing the task. The operation of the robot can thereby be improved.
In this case, however, it is possible that, as a result of manual guidance, either the shaft position limit, the shaft speed limit or the shaft acceleration limit implemented by hardware or software technology, or the pose limit, the speed limit or the acceleration limit of a reference object fixed to the robot in the cartesian workspace implemented by hardware or software technology, for example the shaft of the robot, its end effector or the elbow, reaches the boundary of an admissible range or an admissible speed, which can often lead to sudden, undesired and/or unexpected reactions of the robot.
According to the present invention, the target driving force is determined by (also) following or on the premise that: i.e. observing the set limits for the axis position, axis velocity and/or axis acceleration and/or the set limits for the pose, velocity and/or acceleration of at least one reference object fixed to the robot in the cartesian working space of the robot, in one embodiment the approach to the limits can be reacted force-adjustably on the basis of manual guidance of the flexible robot when performing the task. Hereby, in an embodiment, sudden behavior changes of the robot can advantageously be avoided by prioritizing the adherence limits over the execution of tasks.
In one embodiment, the target driving force is determined as follows or on the premise that: that is to say that the first and second electrodes,
observing limits on shaft position and shaft speed, and/or
Observing limits on shaft position and shaft acceleration, and/or
Compliance with limits on shaft speed and shaft acceleration
With the same priority. Hereby, in an embodiment, by having the same priority for complying with the restrictions on the axle position level, the axle speed level or the axle acceleration level, sudden behavior changes of the robot can advantageously be avoided.
Additionally or alternatively, in one embodiment, the target driving force is determined as follows or on the premise that: that is to say that the first and second electrodes,
obeying constraints on the pose and speed of a reference object fixed to the robot, and/or
Obeying constraints on the attitude and acceleration of a reference object fixed to the robot, and/or
Observing the limits of speed and acceleration of the reference fixed to the robot has the same priority. Hereby, in an embodiment, by having the same priority for complying with the restrictions on the gesture level, the velocity level or the acceleration level, sudden behavior changes of the robot can advantageously be avoided.
If not only limits on the axis position, axis velocity and/or axis acceleration are set, but also limits on the pose, velocity and/or acceleration of at least one reference object fixed to the robot in the cartesian working space of the robot, one of these two limits takes precedence over the other of these two limits in one embodiment.
Accordingly, in one embodiment, the limitation on the axis position, the axis velocity and/or the axis acceleration takes precedence over the limitation on the pose, the velocity and/or the acceleration of the at least one reference object fixed to the robot, which is set in the cartesian working space of the robot; or conversely, the limit set in the cartesian workspace of the robot on the attitude, speed and/or acceleration of the at least one reference object fixed to the robot takes precedence over the limit on the axis position, axis speed and/or axis acceleration; in one embodiment, the lower priority of the two limits is also implemented in a similar manner, in particular in multiple stages, with respect to the execution of the task. Hereby, in an embodiment, constraints on the robot and constraints on the environment can be advantageously observed together, and thereby sudden behavior changes of the robot can be advantageously avoided.
In one embodiment, in general, it is also possible, in particular only, to set limits for the pose, speed and/or acceleration of at least one reference object fixed to the robot in the cartesian working space of the robot, or else it is also possible, in particular only, to set limits for the axis position, axis speed and/or axis acceleration.
In one embodiment, the set task has at least a first and a second subtask, wherein the target driving force is determined as follows or on the basis thereof: that is, execution of the first subtask (itself) is prioritized over execution of the second subtask, and in particular execution of the second subtask (itself) is prioritized over execution of one or more other subtasks, which may, in one embodiment, be prioritized relative to each other.
Additionally or alternatively, the task, in particular one or more of its subtasks (respectively), may comprise: entering one or more set, in particular programmed or stored, gestures, in particular driving through a set trajectory; the set posture and/or the spacing relative to one or more set, in particular singular, postures is/are maintained in the working space and/or the axis space of the robot, in particular consisting of them.
Hereby, in an embodiment, a robot can be used particularly advantageously. Thus, in one embodiment, the robot is able to enter a set pose or travel through a trajectory with high priority and thereby avoid entering a low or higher priority singular pose.
In one embodiment, the target driving force is determined based on a dynamic model of the robot, which in one embodiment mimics the axis position, axis speed and axis acceleration and the axis, in particular the axis driving force, in particular in the form of
Figure BDA0002784293830000051
Wherein q is the position of the axis,
Figure BDA0002784293830000052
in order to determine the speed of the shaft,
Figure BDA0002784293830000053
is the axial acceleration, M is the generalized mass matrix,
Figure BDA0002784293830000054
is a position-and velocity-dependent force, in particular a coriolis force and a centrifugal force, g (q) is a (only) position-dependent force, in particular a gravitational force, and τ is an axis, in particular an axis driving force.
Hereby, in an embodiment, the behavior of the robot, in particular its inertia, etc., can be taken into account, thereby improving the operation.
In one embodiment, the target driving force is
Based on virtual restoring forces in the shaft space and/or working space of the robot for complying with limits of shaft position, shaft speed and/or shaft acceleration, and/or
Based on virtual reset forces in the robot's shaft space and/or working space for complying with limits, and/or
Virtual task forces based on performing tasks, in particular subtasks, in the robot's axis space and/or working space
To be determined.
According to the aforementioned article "unified method for motion and force control of a robotic manipulator: operating Space Formulation (A Unified application for Motion and Force Control of Robot managers: The operating Space Formulation) "as a supplementary reference and The content of which is incorporated herein by reference in its entirety, a virtual task Force (" operating Force ") f can be determined based on (sub) tasks in The Robot's axial Space or workspace, in particular in its subspacetIn one embodiment, the determination is made in the following manner
Figure BDA0002784293830000055
Wherein the content of the first and second substances,
Figure BDA0002784293830000061
Figure BDA0002784293830000062
Figure BDA0002784293830000063
Figure BDA0002784293830000064
Figure BDA0002784293830000065
wherein, JtIs a task jacobian matrix. Command vector f*Desired acceleration corresponding to the task
Figure BDA0002784293830000066
Command vector
Figure BDA0002784293830000067
A spring-damping characteristic corresponding to a desired cartesian end effector position.
In one embodiment, the shaft position limit and the shaft speed limit can advantageously be defined uniformly as a function of the acceleration level, in particular based on the set limits for the shaft position, the shaft speed and the shaft acceleration
Figure BDA0002784293830000068
And a time increment, in particular a sampling or adjustment increment T, is defined uniformly in terms of the acceleration level, in particular in the form:
Figure BDA0002784293830000069
wherein the set limit for the axle position and the axle speed defines the set limit for the axle acceleration or, in a development, additionally defines the set limit for the axle speed,
Figure BDA00027842938300000610
in one embodiment, the position limit and the speed limit for the reference object fixed to the robot can advantageously be defined jointly as a function of the acceleration level, in particular based on the set limits for the attitude, speed and acceleration of the reference object fixed to the robot
Figure BDA0002784293830000071
And the time increment, in particular the sampling or adjustment increment T, is defined uniformly in terms of the acceleration level, in particular in the form:
Figure BDA0002784293830000072
wherein the set limit for the attitude and the speed defines the set limit for the acceleration of the reference object fixed to the robot, or in a development the set limit for the attitude and the acceleration additionally defines the set limit for the speed of the reference object fixed to the robot,
Figure BDA0002784293830000073
where X is ═ X1 ... X6]TIndicates the (current) attitude of a reference object fixed to the robot, wherein, for example, [ X ]1... X3]TIts position can be defined, for example, in cartesian coordinates X, y, z, [ X [4 ... X6]TIts orientation may be defined, for example, in euler or gimbal angles, etc.
Thereby, in an embodiment, advantageous behavior of the robot can be obtained, in particular when approaching a limit.
In one embodiment, the virtual reset force
Figure BDA0002784293830000074
Or target driving force τdIs determined iteratively, wherein, in one embodiment, the start setting is set to
Figure BDA0002784293830000081
Subsequently determining
Figure BDA0002784293830000082
And utilize
Figure BDA0002784293830000083
According to the formula
Figure BDA0002784293830000084
Determining a new virtual reset force
Figure BDA0002784293830000085
Or target driving force τ corresponding theretodComponent τ oflimAnd is used in equation (7) as long as there is at least one virtual axis acceleration
Figure BDA0002784293830000086
One of the conditions in equation (8) may be satisfied. Here, the jacobian matrix J of the limits of the shaft position, shaft speed and/or shaft acceleration for each shaft whose virtual acceleration according to equation (7) satisfies one of the conditions in equation (8)limComprising a row having 1 in the corresponding row (with axis) and the remainder being 0, i.e. for example
(only) for
Figure BDA0002784293830000087
(only) for
Figure BDA0002784293830000088
And the like.
From this, the quality matrix Λ is determined according to equation (3)limSum vector plimlim,。
In one embodiment, the target driving force is commanded according to equation (7) if or as long as the virtual axis acceleration does not (any longer) satisfy one of the conditions in equation (8).
In one embodiment, the virtual reset force
Figure BDA0002784293830000089
Or target driving force τdIs determined iteratively, wherein, in one embodiment, the start setting is set to
Figure BDA0002784293830000091
Subsequently determining
Figure BDA0002784293830000092
Where q is the current shaft position,
Figure BDA0002784293830000093
x is the current attitude at the time point when the reference object fixed to the robot arrives at the (current) time point, and is used as the axis velocity
Figure BDA0002784293830000094
According to the formula
Figure BDA0002784293830000095
Determining a new virtual reset force
Figure BDA0002784293830000096
Or target driving force τ corresponding theretodComponent τ oflimAnd is used in equation (7) as long as there is at least one virtual acceleration
Figure BDA0002784293830000097
One of the conditions in equation (108) may be satisfied.
In this case, a jacobian matrix J of the limits of the pose, speed and/or acceleration of at least one reference object fixed to the robot in the cartesian working space of the robotlimIs based on the Jacobian matrix of the reference object fixed to the robot,
Figure BDA0002784293830000101
by deleting rows in which no restrictions are set or active, that is to say, for example, only in accordance with restrictions in the y direction of the cartesian workspace of the robot, since, for example, there are obstacles in this direction, or when there are restrictions also in, for example, the z direction.
From this, the quality matrix Λ is determined according to equation (3)limSum vector plimlim,。
In one embodiment, the target driving force is commanded according to equation (107) if or as long as the virtual acceleration does not (any longer) satisfy one of the conditions in equation (108).
As explained above with reference to the particularly preferred exemplary embodiment, in one exemplary embodiment, the target drive force, in particular for complying with the restrictions, is generally determined iteratively.
Additionally or alternatively, as explained above according to a particularly preferred embodiment, in one embodiment the target drive force for complying with the limitation of the shaft position, shaft speed he/or shaft acceleration is determined on the basis of the virtual shaft acceleration of the robot, and in one development the command is issued only when the limitation is reached, in particular predicted to be reached (see in particular the prediction of the shaft position or shaft speed in equations (5), (5'):
Figure BDA0002784293830000102
additionally or alternatively, as explained above according to a particularly preferred embodiment, in one embodiment the determination of the target driving force for complying with the limit of the pose, speed and/or acceleration of the at least one robot-fixed reference object set in the cartesian working space of the robot is typically based on a virtual acceleration and a virtual speed of the robot-fixed reference object, whereas the virtual acceleration and the virtual speed are determined based on a virtual shaft acceleration and a shaft speed, and in one development the command is issued only when the limit is reached, in particular predicted to be reached (see in particular the prediction of the pose or speed of the robot-fixed reference object in equations (105), (105'):
Figure BDA0002784293830000111
thereby, in an embodiment, the calculation time and/or the calculation power can be reduced and/or the behavior of the robot can be improved (respectively).
In one embodiment, the higher priority of the compliance limit with respect to the execution task and/or the higher priority of the first subtask with respect to the second subtask is/are achieved by means of a corresponding projection in a null space having a higher priority, in particular in the form of equation (7) or (107) or in a corresponding form as follows
Figure BDA0002784293830000112
Wherein f iskIs a virtual task force for performing the kth subtask, and is projected as
Figure BDA0002784293830000113
In one embodiment, the determination for performing the hold cartesian position x is based on or according to a virtual spring-damper system, for exampleEThe virtual task forces of (sub) tasks of (1) are:
Figure BDA0002784293830000114
in one embodiment, the limits on the pose, speed and/or acceleration are set before the set task is performed by the robot and/or based on a set model, in particular a target model, preferably a CAD model, of the robot's surroundings. For example, the attitude limit of the tool may be set in advance based on a CAD model of a workpiece machined by the tool guided by the robot, or the attitude limit of the elbow of the robot may be set in advance based on a CAD model of a robot cell.
In one embodiment, such a limit can thus advantageously be set (more) precisely, (more) quickly and/or (less) falsely due to measurement errors.
In one embodiment, the limit for the gesture, speed and/or acceleration is set during the execution of the set task by the robot and/or on the basis of an environment recognition, in particular by means of image processing of a sensor fixed to the robot and/or a sensor arranged in the surroundings of the robot and/or by means of distance measurement of a sensor fixed to the robot and/or a sensor arranged in the surroundings of the robot. For example, the pose limits of the end effector may be set on-line based on obstacle recognition by means of image processing or based on distance measurements.
In one embodiment, such a limitation can thus advantageously be set in (more) real time, (more) simply and/or (less) distorted due to deviations between the real and target environment.
According to one embodiment of the invention, a system is proposed, in particular designed by hardware and/or software technology, in particular programming technology, for carrying out the method described here, and/or has:
-means for flexibly force adjusting the robot.
According to one embodiment of the invention, the system has:
means for determining the target driving force based not only on the set limits for the axle position, axle speed and/or axle acceleration, but also on the set task, such that adherence to the limits has priority over performing the task.
Additionally or alternatively, according to an embodiment of the invention, the system has:
-means for determining the target driving force based not only on the set limits for pose, velocity and/or acceleration of the at least one reference object fixed to the robot in the cartesian work space of the robot, but also on the set tasks such that adherence limits have priority over execution tasks.
In one embodiment, the controller or a device thereof has:
-means for determining the target driving force such that adherence to the limits for the axle position and the axle speed and/or adherence to the limits for the axle position and the axle acceleration and/or adherence to the limits for the axle speed and the axle acceleration have the same priority; and/or
-means for determining the target driving force such that compliance with the constraints on the attitude and speed of the reference object fixed to the robot and/or compliance with the constraints on the attitude and acceleration of the reference object fixed to the robot and/or compliance with the constraints on the speed and acceleration of the reference object fixed to the robot have the same priority;
-means for determining the target driving force such that a first sub-task performing the set task has a higher priority relative to a second sub-task performing the set task, in particular the second sub-task has a higher priority relative to at least one other sub-task performing the set task; and/or
-means for determining a target driving force based on a dynamic model of the robot; and/or
-means for determining a target driving force based on a virtual reset force in an axis space and/or a working space of the robot to comply with limits on axis position, axis speed and/or axis acceleration; and/or
-means for determining a target driving force based on a virtual reset force in an axis space and/or a working space of the robot to comply with limits set in a cartesian working space of the robot on a pose, a velocity and/or an acceleration of at least one reference object fixed to the robot; and/or
-means for determining a target driving force based on a virtual task force in an axis space and/or a working space of the robot to perform a task; and/or
-means for determining the target driving force iteratively and/or based on a virtual shaft acceleration of the robot, to comply with a limit on shaft position, shaft speed and/or shaft acceleration, in particular to command the target driving force to comply with the limit only when the limit is reached; and/or
Means for determining the target driving force iteratively and/or based on a virtual axis acceleration of the robot and/or a virtual acceleration of at least one reference object fixed to the robot, in order to comply with limits set in the cartesian working space of the robot on the attitude, speed and/or acceleration of the reference object fixed to the robot, in particular for commanding the target driving force to comply with the limits only when they are reached.
The device according to the invention can be implemented by hardware and/or software, and in particular has: a processing unit, in particular a digital processing unit, in particular a microprocessor unit (CPU), which is preferably connected to a memory system and/or a bus system in a data or signal manner; and/or one or more programs or program modules. The CPU can be designed for this purpose: executing instructions implemented as a program stored in a storage system; collecting an input signal from a data bus; and/or send output signals to a data bus. The storage system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state and/or other non-volatile media. The program may be provided as follows: i.e. it is capable of embodying or executing the method described herein, so as to enable the CPU to perform the steps of the method and thereby in particular to control the robot. In one embodiment, a computer program product may have, in particular may be, in particular, a non-volatile storage medium for storing a program or a storage medium having a program stored thereon, wherein execution of the program causes a system or a controller, in particular a computer, to carry out the method or one or more steps of the method described herein.
In one embodiment, one or more, in particular all, of the steps of the method are performed fully or partially automatically, in particular by a controller or a device thereof.
For a more compact illustration, in one embodiment, the anti-parallel force couple or torque is also referred to generally as force. Accordingly, the target driving force may accordingly have, and in particular may be, the target driving torque. In the sense of the present invention, the regulation or command of the target variable on the basis of or as a function of the actual variable detected is also referred to as control.
In one embodiment, the robot has at least three, in particular at least six, in one embodiment at least seven axes or joints, in particular rotational axes or rotational joints, and has a drive, in one embodiment an electric drive, for adjusting or moving these axes or joints based on the determined target drive force, in one embodiment a (curved) arm with an axis.
In this context, a space of coordinates describing or representing the position of the axis, for example an angular position, is referred to as an axis space, in particular in a manner customary in the art. In this context, a space which describes or represents the one-dimensional, two-dimensional or three-dimensional position and/or the coordinates of the one-dimensional, two-dimensional or three-dimensional direction of a reference object fixed to the robot, in particular TCP or other points or coordinate systems shown on the robot, for example an end effector (fixed point or coordinate system), an elbow (fixed point or coordinate system), or the like, is referred to as a working space, in particular in a manner customary in the art. The gestures in the sense of the present invention can accordingly be set, in particular, in the form of one-, two-or three-dimensional positions and/or one-, two-or three-dimensional directions of a reference object (in the working space) fixed to the robot or in the form of axial coordinates or axial positions, or can have, in particular, one-, two-or three-dimensional positions and/or one-, two-or three-dimensional directions of a reference object (in the working space) fixed to the robot.
Drawings
Further advantages and features are given by the dependent claims and embodiments. To this end, part of the schematic illustration shows:
FIG. 1 is a controller for controlling a robot according to one embodiment of the present invention; and
fig. 2 is a method for controlling a robot according to an embodiment of the present invention.
Detailed Description
Fig. 1 shows a seven-axis robot 1 according to an embodiment of the invention, whose axis positions (coordinates) are denoted q ═ q1… q7]TIs shown and a robot controller 2 for controlling a robot is shown, which performs the method as will be elucidated below with reference to fig. 2 or is designed for this purpose.
In step S10, a virtual task force τ for performing a set task in the axis space and/or the working space of the robot is determined, for example according to equation (12), in particular in combination with equation (10) in the case of a plurality of subtasks having a priority with respect to one anothert
In step S20, the value τ is paired for the iteration, e.g., according to equation (6)lim,
Figure BDA0002784293830000141
NlimInitialization is performed.
Thus, in step S30, the (initial) target driving force τ is determined, for example, according to equation (7)dIn particular the target moment, and thereby determining the virtual axis acceleration, for example on the basis of a dynamic model according to equation (1)
Figure BDA0002784293830000151
The virtual axis acceleration is (already) generated when the target driving force is applied.
Subsequently, these virtual axis accelerations are checked in step S40 for at least one axis acceleration
Figure BDA0002784293830000152
The set limit is reached, for example one of the conditions according to equation (8) is fulfilled. Here, the shaft position limitation and/or the shaft speed limitation can likewise be taken into account as a function of the acceleration level, or the set limitation is defined by the shaft acceleration, for example as a function of equation (5) or (5').
If there is no axial acceleration qiSatisfying one of the conditions according to equation (8) (S40: "N"), the target driving force τ determined in step S30 is commandeddAnd the robot 1 is thus flexibly force-adjusted.
If there is one or more axis acceleration
Figure BDA0002784293830000153
Satisfying one of the conditions according to equation (8) (S40: "Y"), it is set to a corresponding boundary value according to equation (5) or (5') so as to update the virtual reset force, for example, according to equation (9) in step S60
Figure BDA0002784293830000154
Or a target driving force τ corresponding to the virtual reset forcedComponent τ oflimAnd projection NlimAnd a new iteration is performed starting from step S30.
In this way, the restrictions on the shaft position, shaft speed and/or shaft acceleration are preferably complied with in the flexible force regulation, wherein the restrictions on the shaft position and shaft speed define the restrictions on the shaft acceleration and the restrictions on the shaft position and shaft acceleration define the restrictions on the shaft speed (see equations (5'), (7)), and the set tasks are performed secondarily (nachraging) in a flexible force regulation manner as much as possible (see equations (12), (7)).
In an alternative embodiment, in step S10, the virtual task force τ for performing the set task in the axis space and/or the working space of the robot is determined, for example, according to equation (12), in particular in combination with equation (10) in the case of a plurality of subtasks having a priority with respect to one anothert
In step S20, the value τ is paired for the iteration, e.g., according to equation (106)lim,
Figure BDA0002784293830000155
NlimInitialization is performed.
Thus, in step S30, the (initial) target driving force τ is determined, for example, according to equation (107)dIn particular the target moment, and thereby determining the virtual axis acceleration, for example on the basis of a dynamic model according to equation (1)
Figure BDA0002784293830000156
And determining therefrom a virtual acceleration of a reference object (e.g. TCP, end effector, elbow, etc.) fixed to the robot
Figure BDA0002784293830000157
They are (already) generated when the target driving force is applied.
Subsequently, in step S40, it is checked whether or not there is at least one acceleration in the virtual acceleration of the reference object fixed to the robot
Figure BDA0002784293830000161
The set limit is reached, e.g. one of the conditions according to equation (108) is fulfilled. Here, too, the position limitation and/or the speed limitation can be taken into account as a function of the acceleration level, or the set limitation is defined by the shaft acceleration, for example according to equation (105) or (105').
If there is no acceleration
Figure BDA0002784293830000162
Satisfying one of the conditions according to equation (108) (S40: "N"), the target driving force τ determined in step S30 is commandeddAnd the robot 1 is thus flexibly force-adjusted.
If there is one or more axis acceleration
Figure BDA0002784293830000163
Satisfies one of the conditions according to equation (108)(S40: "Y"), it is set to the corresponding boundary value according to equation (105) or (105') so that the virtual reset force is updated in step S60, for example, according to equation (109)
Figure BDA0002784293830000164
Or a target driving force τ corresponding to the virtual reset forcedComponent τ oflimAnd projection NlimAnd a new iteration is performed starting from step S30.
In this way, the constraints on the attitude, the velocity and/or the acceleration of the reference object fixed to the robot are preferably complied with in the flexible force adjustment, wherein the constraints on the attitude and the velocity define the constraints on the acceleration and the constraints on the attitude and the acceleration define the constraints on the velocity (see equations (105'), (107)), and the set tasks are performed secondarily as much as possible in the flexible force adjustment (see equations (12), (107)).
Although exemplary embodiments have been set forth in the foregoing description, it should be noted that many variations are possible.
In the foregoing, it was separately stated that the set limits for the shaft position, shaft speed and/or shaft acceleration are observed more preferentially than the task is performed and that the set limits for the pose, speed and/or acceleration of the reference object fixed to the robot are observed more preferentially than the task is performed in the cartesian working space of the robot, since they can each be performed separately as described above.
For example, by first determining the target driving force or torque τ, particularly in the manner previously describeddIn order to comply with the limits for shaft position, shaft speed and/or shaft acceleration in the flexible force regulation, which is then used as a defined target drive force or torque τ, in particular in the manner described abovedVirtual task force of time τtThese two embodiments can be combined in order to comply with the constraints set in the cartesian working space of the robot on the attitude, speed and/or acceleration of the reference object fixed to the robot. Thus, in the two-stage method, it is possible to make the compliance pair fixed to the machineThe constraints on the pose, speed and/or acceleration of the reference object of the robot are prioritized over the constraints on the axis position, axis speed and/or axis acceleration, which in turn are prioritized over the execution of the task.
Conversely, it is also possible to first determine the target driving force or torque τ, in particular in the manner described abovedIn order to comply with the constraints set in the cartesian working space of the robot on the attitude, speed and/or acceleration of the reference object fixed to the robot, and then to use them as the determined target driving force or torque τ, in particular in the manner described abovedVirtual task force of time τtTo comply with limits on shaft position, shaft speed and/or shaft acceleration. In this way, in the two-stage method, it is possible to prioritize the compliance with the limits on the axis position, the axis speed and/or the axis acceleration over the compliance with the limits on the attitude, the speed and/or the acceleration of the reference object fixed to the robot, which in turn prevails over the execution of the task.
It should also be noted that the exemplary embodiments are only examples, and should not be construed as limiting the scope, applicability, or configuration in any way. Rather, the foregoing description will enable one skilled in the art to practice the teachings of the conversion to at least one exemplary embodiment, wherein various changes, particularly in matters of function and arrangement of parts described herein may be made without departing from the scope of the present invention, such as may be found in the claims and the equivalents thereof.
List of reference numerals
1 robot
2 (robot) controller
q1, …, q7 axis positions (coordinates).

Claims (12)

1. A method for controlling a robot (1), wherein the robot is subjected to a flexible force adjustment (S50), wherein a target driving force (S10, S30) is determined not only based on set limits for the pose, speed and/or acceleration of at least one reference object fixed to the robot and/or set limits for axis position, axis speed and/or axis acceleration in a cartesian working space of the robot, but also based on set tasks, such that adherence to one or more of said limits takes precedence over execution of said tasks.
2. Method according to claim 1, characterized in that the target driving forces are determined such that adherence to the limits of the shaft position and shaft speed and/or adherence to the limits of the shaft position and shaft acceleration and/or adherence to the limits of the shaft speed and shaft acceleration and/or adherence to the limits of the pose and speed of the at least one robot-fixed reference and/or adherence to the limits of the pose and acceleration of the at least one robot-fixed reference and/or adherence to the limits of the speed and acceleration of the at least one robot-fixed reference have the same priority.
3. Method according to any of the preceding claims, characterized in that the set task comprises entering, maintaining and/or spacing at least one set pose in the working space and/or the axis space of the robot, in particular driving through a set trajectory.
4. Method according to any of the preceding claims, characterized in that the set task has at least a first and a second subtask, and the target driving force is determined in the following way: i.e. to prioritize the execution of the first subtask over the execution of the second subtask, in particular to prioritize the execution of the second subtask over the execution of at least one other subtask of the set task.
5. A method according to any of the preceding claims, characterized in that the target driving force is determined based on a dynamic model of the robot.
6. Method according to any of the preceding claims, characterized in that the target driving force is determined based on a virtual reset force in the robot's shaft space and/or workspace for complying with limits on shaft position, shaft speed and/or shaft acceleration, and/or based on a virtual reset force in the robot's shaft space and/or workspace for complying with limits on the pose, speed and/or acceleration of the at least one robot-fixed reference object set in the robot's cartesian workspace, and/or based on a virtual task force in the robot's shaft space and/or workspace for performing a task.
7. Method according to any of the preceding claims, characterized in that a target driving force for complying with a limit for a shaft position, a shaft speed and/or a shaft acceleration and/or for complying with a limit for a posture, a speed and/or an acceleration of the at least one robot-fixed reference object set in the cartesian workspace of the robot is determined iteratively and/or on the basis of the virtual shaft acceleration of the robot and/or the virtual acceleration of the at least one robot-fixed reference object, in particular only commanded when this limit is reached, in particular predicted to be reached.
8. Method according to any one of the preceding claims, characterized in that the set limit for the shaft position and/or the shaft speed defines a limit for the shaft acceleration and/or the set limit for the shaft position and/or the shaft acceleration defines a limit for the shaft speed and/or the limit for the pose and/or the speed of the at least one robot-fixed reference object set in the cartesian working space of the robot defines a limit for the acceleration of the at least one robot-fixed reference object set in the cartesian working space of the robot and/or the limit for the pose and/or the acceleration of the at least one robot-fixed reference object set in the cartesian working space of the robot defines a limit for the at least one robot-fixed reference object set in the cartesian working space of the robot The speed limitation.
9. Method according to any of the preceding claims, characterized in that a limit is set on the pose, speed and/or acceleration of the at least one reference object fixed to the robot before performing the set task and/or based on the set model of the environment of the robot.
10. Method according to any of the preceding claims, characterized in that during the execution of the set task and/or based on environmental recognition, a limit is set on the pose, speed and/or acceleration of the at least one robot-fixed reference object.
11. A controller (2) for controlling a robot (1), which controller is designed for carrying out the method according to any one of the preceding claims, and/or has:
-means for flexibly force adjusting the robot; and at least one of the following:
-means for determining a target driving force based not only on the set limits for axle position, axle speed and/or axle acceleration, but also on the set task, so that compliance with the limits is prioritized over performance of the task; and/or
-means for determining a target driving force based not only on constraints set in a cartesian working space of the robot on the pose, velocity and/or acceleration of at least one reference object fixed to the robot, but also on the set task, so as to prioritize adherence to said constraints over execution of said task.
12. A computer program product having a program code stored on a medium readable by a computer for performing the method according to any of the preceding claims.
CN201980033367.4A 2018-05-18 2019-05-16 Control of a robot Pending CN112135718A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102018207921.8A DE102018207921B3 (en) 2018-05-18 2018-05-18 Controlling a robot
DE102018207921.8 2018-05-18
DE102018214946.1 2018-09-03
DE102018214946 2018-09-03
PCT/EP2019/062575 WO2019219795A1 (en) 2018-05-18 2019-05-16 Controlling a robot

Publications (1)

Publication Number Publication Date
CN112135718A true CN112135718A (en) 2020-12-25

Family

ID=66597585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980033367.4A Pending CN112135718A (en) 2018-05-18 2019-05-16 Control of a robot

Country Status (3)

Country Link
KR (1) KR20210010870A (en)
CN (1) CN112135718A (en)
WO (1) WO2019219795A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019220619B3 (en) * 2019-12-30 2021-01-28 Kuka Deutschland Gmbh Moving a robot-fixed reference

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181983B1 (en) * 1997-06-20 2001-01-30 Deutsches Zentrum f{umlaut over (u)}r Luft-und Raumfahrt e.v. Method of command control for a robot manipulator
JP2008110406A (en) * 2006-10-27 2008-05-15 Yaskawa Electric Corp Direct instructing device of robot
CN106826839A (en) * 2015-11-19 2017-06-13 库卡罗伯特有限公司 Control to robot
US9694495B1 (en) * 2013-06-24 2017-07-04 Redwood Robotics Inc. Virtual tools for programming a robot arm
US20180099410A1 (en) * 2016-10-12 2018-04-12 Fanuc Corporation Robot control device having function for limiting speed and/or acceleration of robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181983B1 (en) * 1997-06-20 2001-01-30 Deutsches Zentrum f{umlaut over (u)}r Luft-und Raumfahrt e.v. Method of command control for a robot manipulator
JP2008110406A (en) * 2006-10-27 2008-05-15 Yaskawa Electric Corp Direct instructing device of robot
US9694495B1 (en) * 2013-06-24 2017-07-04 Redwood Robotics Inc. Virtual tools for programming a robot arm
CN106826839A (en) * 2015-11-19 2017-06-13 库卡罗伯特有限公司 Control to robot
US20180099410A1 (en) * 2016-10-12 2018-04-12 Fanuc Corporation Robot control device having function for limiting speed and/or acceleration of robot

Also Published As

Publication number Publication date
WO2019219795A1 (en) 2019-11-21
KR20210010870A (en) 2021-01-28

Similar Documents

Publication Publication Date Title
US10828769B2 (en) Ascertaining an input command for a robot, said input command being entered by manually exerting a force onto the robot
JP4508164B2 (en) Articulated robot and its control program
JP2895672B2 (en) Multiple robot control method
JP6238628B2 (en) Robot device, robot control method, robot control program, and part manufacturing method using robot device
EP4045390B1 (en) Dynamic planning controller
US20170259431A1 (en) Robot control apparatus, robot, and robot system
JP2006334774A (en) Method for controlling track of effector
US20230085221A1 (en) Robot control
US20150051735A1 (en) Control apparatus of robot, robot, and program thereof
Žlajpah On orientation control of functional redundant robots
CN112809667A (en) Force control method and device of industrial robot and application of force control device
Zarafshan et al. Manipulation control of a space robot with flexible solar panels
Völz et al. A predictive path-following controller for continuous replanning with dynamic roadmaps
CN112135718A (en) Control of a robot
Zanchettin et al. Near time-optimal and sensor-based motion planning for robotic manipulators
CN110026986B (en) Multi-arm cooperative operation compliance control method
CN113474130A (en) Method and system for executing preset task by using robot
CN112292238B (en) Method and system for transferring end effector of robot between one end effector pose and another end effector pose
Van Brussel et al. An intelligent force controlled robot
CN111405966A (en) Method and control device for controlling a robot group
JP2020110884A (en) Robot control device, robot control method, and robot control program
EP3784448A1 (en) Method and control system for controlling movement trajectories of a robot
US11738458B2 (en) Control method for robot system
US20240116178A1 (en) Predictive control method for torque-rate control and vibration suppression
Heikkilä et al. Robot skills-modeling and control aspects

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination