CN112135718B - Control of robots - Google Patents
Control of robots Download PDFInfo
- Publication number
- CN112135718B CN112135718B CN201980033367.4A CN201980033367A CN112135718B CN 112135718 B CN112135718 B CN 112135718B CN 201980033367 A CN201980033367 A CN 201980033367A CN 112135718 B CN112135718 B CN 112135718B
- Authority
- CN
- China
- Prior art keywords
- robot
- shaft
- acceleration
- speed
- task
- 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.)
- Active
Links
- 230000001133 acceleration Effects 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000004590 computer program Methods 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 claims description 2
- 230000001276 controlling effect Effects 0.000 abstract description 5
- 230000001105 regulatory effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 239000012636 effector Substances 0.000 description 6
- 230000001143 conditioned effect Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000009472 formulation Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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 according to the invention for controlling a robot (1), the robot is flexibly force-regulated (S50), wherein the target driving force is determined not only on the basis of a limit set in the Cartesian working space of the robot for the pose, speed and/or acceleration of at least one reference object fixed to the robot and/or a limit set for the shaft position, shaft speed and/or shaft acceleration, but also on the basis of a set task, such that the compliance with the limit takes precedence over the execution of the task.
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 periodically perform a predetermined task, for example, using its end effector or TCP to drive to a predetermined location, etc.
For this purpose, the topic written in o.khatib is "unified method for motion and force control of robotic manipulators: in the article of the operating space formulation (A Unified Approach for Motion and Force Control of Robot Manipulators:The Operational Space Formulation)"(IEEE Journal of Robotics and AutomationVol.RA-3,No.1,Februar 1987,ISSN 0882-4967,S.43-53), a so-called task space regulation ("operating space control") is proposed, in which a virtual force for performing a task is determined and converted into a target driving force in the axis space of the robot by means of a task-jacobian matrix.
Disclosure of Invention
The invention aims 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 embodiments are given by the dependent claims.
According to one embodiment of the invention, the robot is flexibly ("compliantly") force-regulated, in one embodiment such that the robot evades external forces, in particular forces applied thereto manually or by an operator, and in one embodiment a restoring force is applied therearound, in particular on the hand or the like guiding the robot, against these forces. 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, in the force adjustment, the force adjustment is based on or according to
Limitations of the shaft position, shaft speed and/or shaft acceleration, in particular preset, in particular programmed and/or adjustable by user input, and
The set tasks, in particular the tasks programmed or stored in advance, determine the target drive force as follows or on the premise of this: that is, adherence to this (axis) restriction takes precedence over execution of the task, and in particular, the task is executed only within the following range or the task is executed only to the extent that: that is, execution of the task allows compliance with the constraint or does not compromise compliance with the constraint. Thus, in one embodiment, the target driving force for performing 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 is conditioned on at least the first target driving force of the first shaft and the second target driving force of the second shaft, for example, in order to enter a set posture or the like, while the adherence to the restriction requires or is conditioned on a target driving force that is opposite to the first target driving force of the first shaft and does not require or is conditioned on a specific target driving force of the second shaft, since, for example, the first shaft is close to its restriction and the second shaft does not, the opposite target driving force for adherence to the restriction and the second target driving force for execution of the task are ordered.
Additionally or alternatively, according to an embodiment of the invention, in the force adjustment, the force adjustment is based on or according to
-Limits of pose, speed and/or acceleration of a reference fixed to the robot set in the cartesian workspace of the robot, and
The set task, in particular a pre-programmed or stored task, determines the target drive force as follows or on the premise of this: that is, adherence to constraints (of the pose, velocity and/or acceleration of the reference object fixed to the robot in the cartesian workspace) takes precedence over execution of the task, in particular to the extent that the task is executed only within the following ranges or only to the extent that: that is, execution of the task allows compliance with the constraint or does not compromise compliance with the constraint. Thus, in one embodiment, the target driving force for performing 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 is conditioned on at least the first target driving force of the first shaft and the second target driving force of the second shaft, for example, in order to enter a set posture or the like, while the adherence to the restriction is required or conditioned on a target driving force opposite to the first target driving force of the first shaft and not on a specific target driving force of the second shaft, since, for example, the adjustment of the first shaft causes the reference fixed to the robot to reach its restriction and the adjustment of the second shaft is not, thus the adherence to the opposite target driving force and the second target driving force for execution of the task are ordered.
Thus, in one embodiment, the robot is flexibly force-adjusted in order to or while performing the set task. In one embodiment, the robot can thus advantageously be guided (moved away) or deflected or stopped by the operator when performing the task. Thereby, the operation of the robot can be improved.
In this case, however, a shaft position limitation, a shaft speed limitation or a shaft acceleration limitation implemented by hardware or software technology or a gesture limitation, a speed limitation or an acceleration limitation of a reference object fixed to the robot in a cartesian workspace implemented by hardware or software technology, for example, the shaft of the robot, its end effector or the elbow reaches a boundary of an allowable range or an allowable speed, which may generally lead to a sudden, undesired and/or unexpected reaction of the robot, may be inadvertently reached due to manual guidance.
According to the invention, the target driving force is determined by (further) or on the premise that: that is, the set limits on the shaft position, shaft speed and/or shaft acceleration and/or the set limits on the pose, speed and/or acceleration of at least one reference fixed to the robot in the cartesian workspace of the robot are complied with, in one embodiment the approach to said limits can be counteracted force-adjusted based on manual guidance of the flexible robot when performing tasks. Accordingly, in one embodiment, abrupt behavior changes of the robot can be advantageously avoided by prioritizing compliance limitations over execution tasks.
In one embodiment, the target driving force is determined as follows or on the premise of this: that is to say,
Compliance with limits on shaft position and shaft speed, and/or
Compliance with limits on shaft position and shaft acceleration, and/or
Compliance with limits on shaft speed and shaft acceleration
With the same priority. Accordingly, in one embodiment, abrupt behavior changes of the robot can be advantageously avoided by having the same priority in respect of adhering to the limits of the shaft position level, the shaft speed level or the shaft acceleration level.
Additionally or alternatively, in one embodiment, the target driving force is determined as follows or on the premise of this: that is to say,
Adherence to constraints on the pose and speed of a reference fixed to the robot, and/or
Adherence to constraints on the pose and acceleration of a reference fixed to the robot, and/or
Compliance with the limits on the speed and acceleration of the reference fixed to the robot has the same priority. Accordingly, in one embodiment, abrupt behavior changes of the robot can be advantageously avoided by having compliance with the limits on the gesture level, the speed level, or the acceleration level have the same priority.
If not only the limits on the shaft position, shaft speed and/or shaft acceleration are set, but also the limits on the pose, speed and/or acceleration of at least one reference fixed to the robot in the cartesian workspace of the robot, then in one embodiment one of the two limits takes precedence over the other of the two limits.
Accordingly, in one embodiment, the limitation of the shaft position, shaft speed and/or shaft acceleration takes precedence over the limitation of the pose, speed and/or acceleration of at least one reference fixed to the robot set in the cartesian workspace of the robot; or conversely, the limitation of the pose, speed and/or acceleration of at least one reference fixed to the robot set in the cartesian workspace of the robot takes precedence over the limitation of the axis position, axis speed and/or axis acceleration; in one embodiment, the lower priority of the two restrictions is also implemented in a similar manner, in particular in multiple stages, with respect to the execution of the task. Hereby, in one embodiment, the restrictions regarding the robot and the restrictions regarding the environment can be advantageously complied with together, and thus abrupt behavior changes of the robot can be advantageously avoided.
In one embodiment, it is also possible, in general, to set, in particular, only limits on the pose, speed and/or acceleration of at least one reference object fixed to the robot in the cartesian workspace of the robot, or to set, in particular, only limits on the axis position, axis speed and/or axis acceleration.
In one embodiment, the set task has at least a first subtask and a second subtask, wherein the target drive force is determined as follows or on the premise of this: that is, the execution of the first subtask (itself) is prioritized over the execution of the second subtask, in particular the execution of the second subtask (itself) is prioritized over the execution of one or more other subtasks, which may have priority with respect to each other in one embodiment.
Additionally or alternatively, the task, in particular one or more of its sub-tasks (respectively), may comprise: entering one or more set, in particular programmed or stored, poses, in particular driving over a set trajectory; the set pose and/or the spacing relative to one or more set, in particular singular poses, is/are maintained in the working space and/or the axis space of the robot, in particular made up of them.
Accordingly, in one embodiment, a robot can be particularly advantageously used. Thus, in one embodiment, the robot is able to enter a set pose or travel track with high priority and accordingly avoid entering a singular pose with low priority or higher.
In one embodiment, the target driving force is determined based on a dynamic model of the robot, which in one embodiment mimics the shaft position, shaft speed and shaft acceleration and shaft, in particular shaft driving force, in particular in the form of
Where q is the position of the axis,For the shaft speed,For axis acceleration, M is a generalized mass matrix,For position and velocity dependent forces, in particular coriolis forces and centrifugal forces, g (q) is (only) a position dependent force, in particular gravity, and τ is an axis, in particular an axis driving force.
Accordingly, in one 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 adhering to the limits of the shaft position, shaft speed and/or shaft acceleration, and/or
Based on virtual restoring forces for compliance in the shaft space and/or working space of the robot, and/or
Based on virtual task forces for performing tasks, in particular subtasks, in the shaft space and/or the working space of the robot
To determine.
According to the aforementioned article "unified method for motion and force control of a robotic manipulator: the operation space formulation (A Unified Approach for Motion and Force Control of Robot Manipulators:The Operational Space Formulation)", is incorporated herein by reference in its entirety and may determine a virtual task force ("operation force") f t based on a (sub) task in an axis space or working space of the robot, in particular in a subspace thereof, in one embodiment in the form of
Wherein,
Wherein J t is a task jacobian matrix. The command vector f * corresponds to the desired acceleration of the taskCommand vectorSpring-damping characteristics corresponding to a desired cartesian end effector position.
In one embodiment, the shaft position limit and the shaft speed limit may advantageously be defined in a unified manner 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 as a function of the acceleration level, in particular in the form of:
Wherein the set limits on the shaft position and the shaft speed define the set limits on the shaft acceleration, or in one embodiment, the set limits on the shaft position and the shaft acceleration additionally define the set limits on the shaft speed,
In one embodiment, the position and speed limits for the reference object fixed to the robot may advantageously be defined in a unified way as a function of the acceleration level, in particular based on the set limits for the pose, speed and acceleration of the reference object fixed to the robot
The time increment, in particular the sampling or adjustment increment T, is defined uniformly as a function of the acceleration level, in particular in the form of:
Wherein the set limits on pose and speed define the set limits on acceleration of the reference object fixed to the robot, or in one extension, the set limits on pose and acceleration additionally define the set limits on speed of the reference object fixed to the robot,
Here, x= [ X 1 ... X6]T ] represents the (current) pose of the reference object fixed to the robot, where for example, [ X 1... X3]T ] may define its position in cartesian coordinates X, y, z, and [ X 4 ... X6]T ] may define its direction in euler or gimbal angles, for example.
In this way, in one embodiment, advantageous behaviour of the robot can be obtained, in particular when approaching a limit.
In one embodiment, the virtual restoring forceOr target driving force τ d is iteratively determined, wherein, in one embodiment, the start setting is
Subsequent determination of
And utilize
According to the following
Determining a new virtual reset forceOr a component τ lim of the target driving force τ d corresponding thereto, and is used in equation (7) as long as there is at least one virtual axis accelerationOne of the conditions in equation (8) is satisfied. Here, the jacobian matrix J lim for 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)) contains a row with 1 in the column (corresponding to the shaft) and the remaining 0, i.e., for example
(Only) for
(Only) forEtc.
From this, the quality matrix Λ lim and the vector p lim,μlim are determined according to equation (3).
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 restoring forceOr target driving force τ d is iteratively determined, wherein, in one embodiment, the start setting is
Subsequent determination of
Where q is the current axis position,X is the current pose of the reference object fixed to the robot when reaching the (current) time point, and is used
According to the following
Determining a new virtual restoring forceOr a component τ lim of the target driving force τ d corresponding thereto, and is used in equation (7) as long as there is at least one virtual accelerationOne of the conditions in equation (108) is satisfied.
Here, the jacobian matrix J lim of the constraints of the pose, velocity and/or acceleration of at least one reference object fixed to the robot in the cartesian workspace of the robot is 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 there is a barrier in this direction for example, or when there is a restriction in the z-direction for example as well.
From this, the quality matrix Λ lim and the vector p lim,μlim are determined according to equation (3).
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 described above with respect to the particularly preferred embodiment, in one embodiment, the target drive force, in particular for compliance with the limitation, is generally determined iteratively.
Additionally or alternatively, as explained above according to a particularly preferred embodiment, in one embodiment the target driving force for adhering to the limitation of the shaft position, the shaft speed he and/or the shaft acceleration is determined on the basis of the virtual shaft acceleration of the robot, and in one embodiment the command is issued only when the limitation is reached, in particular predicted reached (see in particular predictions of the shaft position or the shaft speed in equations (5), (5')):
Additionally or alternatively, as set forth above in accordance with a particularly preferred embodiment, in one embodiment the determination of the target driving force for adhering to the constraints of the pose, speed and/or acceleration of at least one robot-fixed reference set in the cartesian workspace of the robot is generally based on the virtual acceleration and the virtual speed of the robot-fixed reference, which are determined based on the virtual axis acceleration and the axis speed, and in one development the command is issued only when the constraints are reached, in particular predicted (see in particular the predictions of the pose or speed of the robot-fixed reference in equations (105), (105')):
thus, in one 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 adherence constraint with respect to the execution task and/or the higher priority of the first subtask with respect to the second subtask is carried out by means of a corresponding projection in the zero space with higher priority, in particular in the form of equation (7) or (107) or in the corresponding form as follows
Wherein f k is the virtual task force for performing the kth subtask and projected as
In one embodiment, the determination of the virtual task force for performing the (sub) task of maintaining the cartesian position x E, for example based on or according to a virtual spring-damping system, is:
In one embodiment, the limits on pose, speed and/or acceleration are set before the set task is performed by the robot and/or based on a set model of the robot surroundings, in particular a target model, preferably a CAD model. For example, the posture limit of the tool may be set in advance based on a CAD model of the workpiece processed by the tool guided by the robot, or the posture limit of the elbow of the robot may be set in advance based on a CAD model of the robot unit.
In one embodiment, such a limit can thus advantageously be set (more) accurately, (more) rapidly and/or (less) distorted by measurement errors.
In one embodiment, the limitation of the pose, the speed and/or the acceleration is set during the execution of the set task by the robot and/or on the basis of an environmental recognition, in particular by means of image processing of sensors fixed to the robot and/or sensors arranged in the surroundings of the robot and/or by means of a distance measurement of sensors fixed to the robot and/or sensors arranged in the surroundings of the robot. For example, the pose restriction of the end effector may be set online based on obstacle recognition by means of image processing or based on distance measurement.
In one embodiment, such limits can thus advantageously be set (more) in real time, (more) simply and/or (less) distorted by deviations between the reality and the target environment.
According to one embodiment of the invention, a system is proposed, in particular designed by hardware technology and/or software technology, in particular programming technology, for carrying out the method described herein, and/or having:
-means for flexibly force-adjusting the robot.
According to one embodiment of the invention, the system has:
means for determining the target driving force not only on the basis of the set limits of the shaft position, the shaft speed and/or the shaft acceleration, but also on the basis of the set tasks such that the compliance limits have priority with respect to executing the tasks.
Additionally or alternatively, according to one embodiment of the invention, the system has:
-means for determining the target driving force not only based on the set limits of pose, speed and/or acceleration of at least one reference object fixed to the robot in the cartesian workspace of the robot, but also based on the set tasks such that the adherence limits are prioritized with respect to executing the tasks.
In one embodiment, the controller or the device thereof has:
Means for determining the target driving force such that compliance with the limits on the shaft position and the shaft speed and/or compliance with the limits on the shaft position and the shaft acceleration and/or compliance with the limits on the shaft speed and the shaft acceleration have the same priority; and/or
-Means for determining the target driving force such that adherence to the limits of the pose and the speed of the reference object fixed to the robot and/or adherence to the limits of the pose and the acceleration of the reference object fixed to the robot and/or adherence to the limits of the speed and the 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 with respect to a second sub-task performing the set task, in particular the second sub-task has a higher priority with respect 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 restoring force in the shaft space and/or the working space of the robot to respect the restrictions of the shaft position, the shaft speed and/or the shaft acceleration; and/or
-Means for determining a target driving force based on a virtual restoring force in an axis space and/or a working space of the robot to respect constraints set in a cartesian working space of the robot for pose, speed and/or acceleration of at least one reference fixed to the robot; and/or
-Means for determining a target driving force based on virtual task forces in the shaft space and/or the working space of the robot to perform the task; and/or
Means for determining the target driving force iteratively and/or based on the virtual shaft acceleration of the robot to respect a limitation of the shaft position, the shaft speed and/or the shaft acceleration, in particular to command the target driving force to respect the limitation only if the limitation 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 on a virtual acceleration of at least one reference object fixed to the robot, in order to comply with constraints set in the cartesian workspace of the robot on the pose, the speed and/or the acceleration of the reference object fixed to the robot, in particular in order to command the target driving force to comply with the constraints only when the constraints are reached.
The device in the sense of the present invention can be constructed in hardware technology and/or software technology, in particular with: a processing unit, in particular a digital processing unit, in particular a microprocessor unit (CPU), preferably in data connection or signal connection with the memory system and/or the bus system; and/or one or more programs or program modules. The CPU can be designed for this purpose as: instructions that execute as a program stored in a storage system; collecting input signals from a data bus; and/or send the output signal to a data bus. The storage system may 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 able to embody or perform the method described herein, thereby enabling the CPU to perform the steps of the method and thereby in particular to control the robot. In one embodiment, the computer program product may have, in particular be, a storage medium, in particular non-volatile, for storing a program or a storage medium having a program stored thereon, wherein execution of the program causes a system or controller, in particular a computer, to perform the method or one or more steps of the method described herein.
In one embodiment, one or more steps of the method, in particular all steps, are performed fully or partially automatically, in particular by a controller or a device thereof.
For more compact illustration, in one embodiment, an antiparallel couple or torque is also referred to generally as a force. The target drive force may accordingly have, in particular be, a target drive torque. In the sense of the present invention, the regulation or command of the target variable based on or in accordance with the actual variable acquired 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, in one embodiment a (curved) arm with axes, based on the determined target driving force.
In this context, in particular, a space that describes or represents the position of an axis, for example the coordinates of an angular position, is referred to as an axis space in a manner customary in the art. In this context, in particular, a space describing or representing a reference object, in particular TCP, fixed to the robot or other points or coordinate systems shown on the robot, such as a one-dimensional, two-dimensional or three-dimensional position of an end effector (fixed point or coordinate system), an elbow (fixed point or coordinate system), etc., and/or a coordinate of a one-dimensional, two-dimensional or three-dimensional direction is referred to as a working space, in a manner customary in the art. The pose in the sense of the present invention may accordingly be set in particular in the form of a one-dimensional, two-dimensional or three-dimensional position and/or a one-dimensional, two-dimensional or three-dimensional direction of a reference object (in the working space) fixed to the robot or in the form of an axis coordinate or an axis position, or may have, in particular, a one-dimensional, two-dimensional or three-dimensional position and/or a one-dimensional, two-dimensional or three-dimensional direction of a reference object (in the working space) fixed to the robot.
Drawings
Further advantages and features are given by the dependent claims and the embodiments. To this end, a part is schematically shown:
fig. 1 is a controller for controlling a robot according to an 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= [ q 1… q7]T ] and a robot controller 2 for controlling the robot, which performs the method which will be elucidated below with reference to fig. 2 or is designed for this purpose.
In step S10, a virtual task force τ t 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 connection with equation (10) in the case of a plurality of subtasks having priority with respect to one another.
In step S20, the value τ lim is calculated for the iteration, for example according to equation (6),N lim is initialized.
Thus, in step S30, the (initial) target driving force τ d, in particular the target torque, is determined, for example, according to equation (7), and the virtual axis acceleration is determined, for example, based on the dynamic model according to equation (1)The virtual axis acceleration is (has) generated when the target driving force is applied. /(I)
Subsequently, in step S40, it is checked whether these virtual axis accelerations have at least one axis accelerationThe set limit is reached, for example, one of the conditions according to equation (8) is satisfied. The shaft position limit and/or the shaft speed limit can likewise be considered in this case as a function of the acceleration level, or the limit set is limited by the shaft acceleration, for example as per equation (5) or (5').
If none of the shaft accelerations q i satisfies one of the conditions according to equation (8) (S40: "N"), the target driving force τ d determined in step S30 is commanded, and the robot 1 is thus flexibly force-adjusted.
If there are one or more shaft accelerationsOne of the conditions according to equation (8) is satisfied (S40: "Y"), which is then set to the corresponding boundary value according to equation (5) or (5'), in order to update the virtual restoring force/>, for example according to equation (9), in step S60Or a component τ lim of the target driving force τ d and the projection N lim corresponding to the virtual reset force, and a new iteration is performed from step S30.
In this way, in flexible force regulation, the limits of the shaft position, the shaft speed and/or the shaft acceleration are preferably complied with, wherein the limits of the shaft position and the shaft speed define the limits of the shaft acceleration and the limits of the shaft position and the shaft acceleration define the limits of the shaft speed (see equations (5'), (7)), and the set task is performed secondarily (nachranging) in a flexible force regulation manner as much as possible (see equations (12), (7)).
In an alternative embodiment, in step S10, a virtual task force τ t 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 connection with equation (10) in the case of a plurality of subtasks having priority with respect to one another.
In step S20, the value τ lim is calculated for the iteration, for example according to equation (106),N lim is initialized.
Thus, in step S30, the (initial) target driving force τ d, in particular the target torque, is determined, for example, according to equation (107), and the virtual axis acceleration is determined, for example, based on the dynamic model according to equation (1)And thereby determining a virtual acceleration/>, of a reference (e.g., TCP, end effector, elbow, etc.) fixed to the robotThey are (already) generated when a target driving force is applied.
Subsequently, in step S40, it is checked whether the virtual acceleration of the reference object fixed to the robot is at least one accelerationThe set limit is reached, for example one of the conditions according to equation (108) is fulfilled. Here, the position limit and/or the speed limit can likewise be considered as a function of the acceleration level, or the limit set is limited by the shaft acceleration, for example as a function of equation (105) or (105').
If there is no accelerationOne of the conditions according to equation (108) is satisfied (S40: "N"), the target driving force τ d determined in step S30 is commanded, and the robot 1 is thus flexibly force-adjusted.
If there are one or more shaft accelerationsOne of the conditions according to equation (108) is fulfilled (S40: "Y"), which is then set to the corresponding boundary value according to equation (105) or (105'), in order to update the virtual restoring force/>, for example according to equation (109), in step S60Or a component τ lim of the target driving force τ d and the projection N lim corresponding to the virtual reset force, and a new iteration is performed from step S30.
In this way, in flexible force adjustment, the restrictions on the position, the speed and/or the acceleration of the reference object fixed to the robot are preferably complied with, wherein the restrictions on the position and the speed define the restrictions on the acceleration and the restrictions on the position and the acceleration define the restrictions on the speed (see equations (105'), (107)), and the set task is performed secondarily in a flexible force adjustment manner as much as possible (see equations (12), (107)).
While exemplary embodiments have been set forth in the foregoing description, it should be noted that numerous variations are possible.
In the foregoing, it was stated separately that the defined limits on the shaft position, shaft speed and/or shaft acceleration are more preferably complied with than the execution of the task and the defined limits on the pose, speed and/or acceleration of the reference object fixed to the robot in the cartesian working space of the robot are more preferably complied with than the execution of the task, since they can be carried out separately as described above.
For example, both embodiments may be combined by first determining the target driving force or torque τ d in particular in the manner described above in order to respect the limitations on the shaft position, shaft speed and/or shaft acceleration in the flexible force adjustment, and then taking this as the virtual task force τ t in determining the target driving force or torque τ d in particular in the manner described above in order to respect the limitations set in the cartesian working space of the robot on the pose, speed and/or acceleration of the reference object fixed to the robot. In this way, in a two-stage method, it is possible to give preference to adhering to constraints on the pose, speed and/or acceleration of the reference object fixed to the robot over constraints on the shaft position, shaft speed and/or shaft acceleration, which in turn give preference to execution of the task.
Instead, the target driving force or torque τ d may also be determined first, in particular in the manner described above, to respect the constraints set in the cartesian working space of the robot on the pose, speed and/or acceleration of the reference object fixed to the robot, and then in particular as the virtual task force τ t when determining the target driving force or torque τ d in the manner described above, to respect the constraints on the shaft position, shaft speed and/or shaft acceleration. In this way, in a two-stage method, it is possible to prioritize the adherence to the limits of the shaft position, shaft speed and/or shaft acceleration over the adherence to the pose, speed and/or acceleration of the reference object fixed to the robot, which in turn prioritizes the execution of the task.
It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing will so provide those skilled in the art with a generic teaching for at least one exemplary embodiment that this disclosure may be practiced without departing from the scope of the invention, and in particular with respect to the function and arrangement of the parts so as to obtain, for example, from the claims and the equivalent combination of features.
List of reference numerals
1. Robot
2 (Robot) controller
Q1, …, q7 axis position (coordinates).
Claims (14)
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 a set limit on the pose, speed and/or acceleration of at least one reference object fixed to the robot and/or a set limit on the shaft position, shaft speed and/or shaft acceleration in a cartesian workspace of the robot, but also based on a set task, such that compliance with one or more of the limits takes precedence over performing the task,
Wherein the target driving force is determined such that the limitation of the shaft position and the shaft speed and/or the limitation of the shaft position and the shaft acceleration and/or the limitation of the shaft speed and the shaft acceleration and/or the limitation of the pose and the speed of the at least one robot-fixed reference and/or the limitation of the pose and the acceleration of the at least one robot-fixed reference and/or the limitation of the speed and the acceleration of the at least one robot-fixed reference are given the same priority.
2. The method according to claim 1, wherein the set task comprises entering, maintaining and/or spacing apart at least one set pose in a workspace and/or an axis space of the robot.
3. The method of claim 2, wherein the set task includes driving through a set trajectory.
4. A method according to any one of claims 1 to 3, characterized in that the set task has at least a first subtask and a second subtask, and the target driving force is determined in such a way that: that is, execution of the first subtask is prioritized over execution of the second subtask.
5. The method according to claim 4, characterized in that the target driving force is determined in such a manner that: that is, execution of the second sub-task is prioritized over execution of at least one other sub-task of the set task.
6. A method according to any one of claims 1 to 3, characterized in that the target driving force is determined based on a dynamic model of the robot.
7. A method according to any of claims 1-3, characterized in that the target driving force is determined based on a virtual restoring force in the shaft space and/or working space of the robot for adhering to restrictions on shaft position, shaft speed and/or shaft acceleration, and/or based on a virtual restoring force in the shaft space and/or working space of the robot for adhering to restrictions on pose, speed and/or acceleration of the at least one reference fixed to the robot set in the cartesian working space of the robot, and/or based on a virtual task force in the shaft space and/or working space of the robot for performing tasks.
8. A method according to any of claims 1-3, characterized in that a target driving force for adhering to the restrictions on the shaft position, shaft speed and/or shaft acceleration and/or for adhering to the restrictions on the pose, speed and/or acceleration of the at least one robot-fixed reference set in the cartesian workspace of the robot is determined iteratively and/or based on the virtual shaft acceleration of the robot and/or the virtual acceleration of the at least one robot-fixed reference.
9. The method of claim 8, wherein the command is only issued when the limit is predicted to be reached.
10. A method according to any one of claims 1-3, characterized in that the set limits on the axis position and/or axis speed define limits on the axis acceleration, and/or the set limits on the axis position and/or axis acceleration define limits on the axis speed, and/or the set limits on the pose and/or speed of the at least one reference object fixed to the robot in the cartesian workspace of the robot define limits on the acceleration of the at least one reference object fixed to the robot in the cartesian workspace of the robot, and/or the set limits on the pose and/or acceleration of the at least one reference object fixed to the robot in the cartesian workspace of the robot define limits on the speed of the at least one reference object fixed to the robot.
11. A method according to any of claims 1-3, characterized in that restrictions on the pose, speed and/or acceleration of the at least one reference object fixed to the robot are set before performing the set task and/or based on a set model of the robot's environment.
12. A method according to any of claims 1-3, characterized in that limits on the pose, speed and/or acceleration of the at least one robot-fixed reference are set during execution of the set task and/or based on environmental recognition.
13. A controller (2) for controlling a robot (1), the controller being designed for performing the method according to any one of claims 1 to 12, and/or having:
-means for flexibly force-adjusting the robot; and at least one of the following:
-means for determining a target driving force not only based on the set limits on shaft position, shaft speed and/or shaft acceleration, but also on the set task to prioritize compliance with the limits over performance of the task; and/or
-Means for determining a target driving force based not only on a set limit in a cartesian workspace of the robot for at least one reference object fixed to the robot, but also on a set task to prioritize compliance with the limit over execution of the task.
14. A medium readable by a computer, having program code embodied therein, the computer program product for performing the method according to any of claims 1 to 12.
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 CN112135718A (en) | 2020-12-25 |
CN112135718B true 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) | KR102707130B1 (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 (4)
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 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3975959B2 (en) * | 2003-04-23 | 2007-09-12 | トヨタ自動車株式会社 | Robot operation regulating method and apparatus, and robot equipped with the same |
JP2018062026A (en) * | 2016-10-12 | 2018-04-19 | ファナック株式会社 | Robot control device with function for restricting speed and acceleration of robot |
-
2019
- 2019-05-16 CN CN201980033367.4A patent/CN112135718B/en active Active
- 2019-05-16 WO PCT/EP2019/062575 patent/WO2019219795A1/en active Application Filing
- 2019-05-16 KR KR1020207034504A patent/KR102707130B1/en active IP Right Grant
Patent Citations (4)
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 |
Also Published As
Publication number | Publication date |
---|---|
KR20210010870A (en) | 2021-01-28 |
CN112135718A (en) | 2020-12-25 |
KR102707130B1 (en) | 2024-09-13 |
WO2019219795A1 (en) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4045390B1 (en) | Dynamic planning controller | |
JP6717768B2 (en) | Robot for learning control considering operation in production line and control method thereof | |
US10828769B2 (en) | Ascertaining an input command for a robot, said input command being entered by manually exerting a force onto the robot | |
JP2895672B2 (en) | Multiple robot control method | |
US5499320A (en) | Extended task space control for robotic manipulators | |
EP1728600B1 (en) | Controlling the trajectory of an effector | |
US11975451B2 (en) | Simulation-in-the-loop tuning of robot parameters for system modeling and control | |
CN110612181B (en) | Method for controlling an industrial robot during the guidance of the robot through programming and industrial robot | |
JP2017094438A (en) | Robot system having function of simplifying teaching work by learning and function of improving operation performance | |
JP2008000861A (en) | Articulated robot and its control program | |
US20230085221A1 (en) | Robot control | |
CN112809667A (en) | Force control method and device of industrial robot and application of force control device | |
WO2022201811A1 (en) | System and method for robotic assembly based on adaptive compliance | |
Lim et al. | Designing path of collision avoidance for mobile manipulator in worker safety monitoring system using reinforcement learning | |
Oliva et al. | A general visual-impedance framework for effectively combining vision and force sensing in feature space | |
CN112135718B (en) | Control of robots | |
CN112703090B (en) | Robot control device, robot control method, and storage medium | |
CN113474130B (en) | Method and system for executing preset tasks by using robot | |
Boumann et al. | Optimization of trajectories for cable robots on automated construction sites | |
CN112292238B (en) | Method and system for transferring end effector of robot between one end effector pose and another end effector pose | |
CN117062692A (en) | Transfer between tasks in different domains | |
US12097619B2 (en) | Predictive control method for torque-rate control and vibration suppression | |
JP7528709B2 (en) | Force control parameter adjustment method | |
CN117597217A (en) | Method and system for controlling teleoperated robot | |
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 |