CN112135718A - Control of a robot - Google Patents
Control of a robot Download PDFInfo
- 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.)
- Granted
Links
- 230000001133 acceleration Effects 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 claims 1
- 230000001276 controlling effect Effects 0.000 abstract description 5
- 230000001105 regulatory effect Effects 0.000 abstract description 2
- 239000011159 matrix material Substances 0.000 description 7
- 239000012636 effector Substances 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000009472 formulation Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000036544 posture Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013016 damping Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39319—Force control, force as reference, active compliance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39338—Impedance control, also mechanical
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40336—Optimize multiple constraints or subtasks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40344—Configuration index, control, limits of joint movement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40359—Constraint, physical limitations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40454—Max velocity, acceleration limit for workpiece and arm jerk rate as constraints
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40552—Joint limit
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
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
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
Wherein q is the position of the axis,in order to determine the speed of the shaft,is the axial acceleration, M is the generalized mass matrix,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
Wherein,
wherein, JtIs a task jacobian matrix. Command vector f*Desired acceleration corresponding to the taskCommand vectorA 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
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:
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,
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
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:
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,
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 forceOr target driving force τdIs determined iteratively, wherein, in one embodiment, the start setting is set to
Subsequently determining
And utilize
According to the formula
Determining a new virtual reset forceOr target driving force τ corresponding theretodComponent τ oflimAnd is used in equation (7) as long as there is at least one virtual axis accelerationOne 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
From this, the quality matrix Λ is determined according to equation (3)limSum vector plim,μlim,。
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 forceOr target driving force τdIs determined iteratively, wherein, in one embodiment, the start setting is set to
Subsequently determining
Where q is the current shaft position,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
According to the formula
Determining a new virtual reset forceOr target driving force τ corresponding theretodComponent τ oflimAnd is used in equation (7) as long as there is at least one virtual accelerationOne 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,
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 plim,μlim,。
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'):
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'):
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
Wherein f iskIs a virtual task force for performing the kth subtask, and is projected as
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:
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,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)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 accelerationThe 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 accelerationSatisfying 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 S60Or 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,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)And determining therefrom a virtual acceleration of a reference object (e.g. TCP, end effector, elbow, etc.) fixed to the robotThey 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 robotThe 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 accelerationSatisfying 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 accelerationSatisfies 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)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.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018207921.8 | 2018-05-18 | ||
DE102018207921.8A DE102018207921B3 (en) | 2018-05-18 | 2018-05-18 | Controlling a robot |
DE102018214946.1 | 2018-09-03 | ||
DE102018214946 | 2018-09-03 | ||
PCT/EP2019/062575 WO2019219795A1 (en) | 2018-05-18 | 2019-05-16 | Controlling a robot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112135718A true CN112135718A (en) | 2020-12-25 |
CN112135718B CN112135718B (en) | 2024-06-07 |
Family
ID=66597585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980033367.4A Active CN112135718B (en) | 2018-05-18 | 2019-05-16 | Control of robots |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20210010870A (en) |
CN (1) | CN112135718B (en) |
WO (1) | WO2019219795A1 (en) |
Families Citing this family (1)
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)
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 |
-
2019
- 2019-05-16 CN CN201980033367.4A patent/CN112135718B/en active Active
- 2019-05-16 KR KR1020207034504A patent/KR20210010870A/en not_active Application Discontinuation
- 2019-05-16 WO PCT/EP2019/062575 patent/WO2019219795A1/en active Application Filing
Patent Citations (5)
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 |
---|---|
KR20210010870A (en) | 2021-01-28 |
CN112135718B (en) | 2024-06-07 |
WO2019219795A1 (en) | 2019-11-21 |
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 | |
EP4045390B1 (en) | Dynamic planning controller | |
JP6238628B2 (en) | Robot device, robot control method, robot control program, and part manufacturing method using robot device | |
JP2895672B2 (en) | Multiple robot control method | |
EP1728600B1 (en) | Controlling the trajectory of an effector | |
US20170259431A1 (en) | Robot control apparatus, robot, and robot system | |
US20230085221A1 (en) | Robot control | |
US20150051735A1 (en) | Control apparatus of robot, robot, and program thereof | |
Žlajpah | On orientation control of functional redundant robots | |
CN112135718B (en) | Control of robots | |
CN111405966A (en) | Method and control device for controlling a robot group | |
CN113474130A (en) | Method and system for executing preset task by using robot | |
US11738458B2 (en) | Control method for robot system | |
CN112703090B (en) | Robot control device, robot control method, and storage medium | |
CN112292238B (en) | Method and system for transferring end effector of robot between one end effector pose and another end effector pose | |
JP6429977B2 (en) | Robot apparatus and robot control method | |
Van Brussel et al. | An intelligent force controlled robot | |
CN117798938B (en) | Non-singular evaluation control method and device for multi-joint robot | |
US20240116178A1 (en) | Predictive control method for torque-rate control and vibration suppression | |
Heikkilä et al. | Robot skills-modeling and control aspects | |
Kim et al. | Development of robot manipulation technology in ROS environment | |
CN117597217A (en) | Method and system for controlling teleoperated robot | |
JPH09155776A (en) | Robot controller | |
Xue et al. | A Dynamic Finger Gait via Pivoting and Regulating Contact Forces Smoothly |
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 | ||
GR01 | Patent grant |