This application claims the benefit of priority under 35 U.S.C. § 119(a) to German Patent Application DE 10 2015 014 994.6, filed Nov. 19, 2015 (pending), the disclosure of which is incorporated by reference herein in its entirety.
The present invention relates to a method and a system for controlling a robot, as well as a computer programming product for executing the method.
A robot control is known from US 2004/0128026 A1 comprising an admittance control, with its control parameters being increased when the robot approaches a predetermined boundary.
The objective of the present invention is to improve the control of a robot.
According to one embodiment of the present invention a method for controlling a robot includes the following particularly automated and/or computer-based steps:
A velocity, particularly the actual and/or the target velocity, may include in one embodiment a one-dimensional or multi-dimensional translational and/or rotational velocity of a reference fixed to a robot, particularly the TCP of the robot, may particularly represent it, particularly a velocity (component) in one or more spatial directions and/or degrees of freedom. Similarly, a one-dimensional or multi-dimensional velocity, particularly the actual and/or target velocity, may comprise in one embodiment a translational and/or rotational velocity of one or more drives and/or joints and/or degrees of freedom of joints of a robot, particularly represent it. It is here generally designated {dot over (q)}.
An actual velocity can be detected in one embodiment with respective sensors, using in one further development a velocity of a robot-fixed reference potentially being determined based on a measured velocity of joints of the robot using a forward transformation.
In one embodiment the robot comprises one or more, particularly at least six or more axes and/or joints, particularly axes of rotation and/or linear and/or thrust axes and/or joints, and in one further development it comprises drives, particularly electric motors for moving the axes and/or joints. It represents in one embodiment an industrial robot.
A one-dimensional or multi-dimensional drive parameter may in one embodiment comprise one or more driving forces and/or torques/moment of the robot, particularly represent them. They are here generally designated τ.
In one embodiment the drive arrangement is controlled based on a drive parameter, particularly a damping drive parameter and in a further development one or more additional drive parameters, particularly the resilience-drive parameter explained in the following such that it (also) applies and/or attempts to apply these drive parameter(s), particularly (also) applies and/or implements them at least essentially. Accordingly, such a drive parameter may comprise one or more target or actual driving forces and/or torque/moments of the robot and/or portions thereof, particularly represent them.
In one embodiment, by the damping driving parameter a motion of the robot, particularly a motion of the robot commanded by a resilience control and/or manual control, can be damped in an advantageous fashion. In other words, in one embodiment a damping is provided which in a further development advantageously acts additionally and/or parallel to a damping within the scope of a resilience control.
By determining the target velocity based on particularly fixed and or variably, predetermined one-dimensional or multi-dimensional maximum velocities, in one embodiment advantageously a velocity of the robot can be limited, particularly in a motion commanded by a resilience control and/or manual guidance of the robot: if the actual velocity exceeds the predetermined maximum velocity, in another implementation the damping drive parameter brakes such a motion, particularly for individual components.
By determining the target velocity based on particularly fixed or variable, predetermined one-dimensional or multi-dimensional minimum velocities, in one embodiment advantageously a motion of the robot, particularly a motion commanded by a resilience control and/or manual guidance of the robot, is influenced below this minimum velocity maximally to a limited extent, particularly at least essentially not influenced by the damping drive parameter, particularly for individual components.
By determining such a target velocity based on a one-dimensional or multi-dimensional distance of the robot from a predetermined boundary, in one embodiment advantageously a motion of the robot, particularly a motion commanded by a resilience control and/or manual guidance of the robot, upon approaching the boundary and/or the proximity of the respective boundary or boundaries, is damped stronger by the damping drive parameter and/or at a greater distance from the respective boundary damped to a lesser extent by the damping drive parameter such that particularly in a permitted range defined by the boundary/boundaries advantageously a free(er) motion is possible, particularly for individual components.
A distance of the robot from a predetermined boundary can represent in one embodiment a distance of one and/or the robot-fixed reference, particularly the TCP of the robot from a boundary predetermined in the operating space of the robot. Similarly, a distance of the robot from a predetermined boundary can include in one embodiment a distance of a joint and/or drive position from a boundary predetermined in the joint and/or drive coordinate space of the robot, particularly represent it.
Generalizing, a one-dimensional or multi-dimensional upper limit is designated qmax, a one-dimensional or multi-dimensional lower limit is designated qmin, and a one-dimensional or multi-dimensional (actual) position and orientation of the robot in the operating or joint or drive coordinate space of the robot is designated qist. Then, in one embodiment the one-dimensional or multi-dimensional distance distiof the robot from a predetermined boundary i, particularly for individual components and/or for the j component and/or coordinate, according to
disti=(qmax,i−qist)bzw·distj,i=(qj,max,i−qj,ist) (1)
and/or
disti=(qist−qmin,i)bzw·distj,i=(qj,ist−qj,min,i) (1′)
can be defined and/or determined. It is discernible that in one embodiment generally the distance is subject to an algebraic sign, and particularly for individual components, is precisely positive when the robot is below a predetermined upper limit and/or above a predetermined lower limit and/or within a permissible range, and vice versa, particularly for individual components, is precisely negative if the robot is above a predetermined upper limit and/or below a predetermined lower limit and/or outside a permissible range.
Accordingly, in one embodiment the target velocity is determined in general, particularly for individual components such that when it shows the same distance value of the robot from the same predetermined boundary (absolutely and/or considering the algebraic sign) it is greater if the robot is at a permitted side of the boundary, and (absolutely and/or considering the algebraic sign) it is smaller if the robot is at an impermissible side of the boundary.
If in one embodiment n≥1 boundaries are predetermined, particularly one or more upper limits and lower limits for one or more components and/or coordinates of the position or orientation of the robot, particularly in the operating or joint or drive coordinate space, in one implementation the smallest distance (seen absolutely), particularly the smallest component (seen absolutely) of the multi-dimensional distance is determined as a (one-dimensional) distance dist of the robot from all of these predetermined boundaries, if applicable also the maximum negative distance with regards to value:
This way advantageously a perhaps maximally exceeded limit is considered. Similarly, the distance based on which the target velocity is determined can also be multi-dimensional in an appropriate fashion, particularly determined for various spatial directions of the operating space or various joints and/or drives of the robot and/or for individual components:
In one embodiment one and/or the above-mentioned resilience drive parameter is determined based on a resilience control, particularly an impedance or admittance control, and the drive arrangement is additionally controlled based on the resilience drive parameter, particularly based on a sum of the damping drive parameter and the resilience drive parameter.
An impedance or admittance control provides in one embodiment in a common fashion a spring characteristic, particularly a spring damper and/or a mass-spring characteristic, particularly a mass-spring damper characteristic of the robot so that it follows a virtual spring and/or spring-damper arrangement and/or (re)acts as a (mass) spring (damper) system showing a stiffness and/or damping that is predeterminable by control parameters. To this regard, reference is made additionally to US 2004/0128026 A1 mentioned at the outset, with its content here explicitly being included in the present disclosure. For a more compact illustration, in the present case generally a regulation is also considered a control in the sense of the present invention so that for example a control of the robot and/or a controlling of the drive arrangement in particular also includes a regulating of the robot and/or a regulating of the drive arrangement.
An advantageous behavior of the robot can be realized by a resilience control known per se, particularly a manual guidance and/or advantageous collision behavior. If in one embodiment the damping drive parameter is applied additionally, particularly additively, to the resilience drive parameter of the resilience control and/or the drive arrangement is controlled based on the sum of damping and/or resilience drive parameter, beneficially the damping of the resilience control can be adjusted for its stiffness, particularly in order to reduce and particularly prevent overshooting, and simultaneously by the damping drive parameter independent therefrom provide a limitation to a maximum velocity and/or a stronger damping in the proximity of predetermined boundaries.
Accordingly, in a further development a damping, particularly a damping parameter and/or damping coefficient of the resilience control, depends on a stiffness, particularly a stiffness parameter and/or stiffness coefficient of the resilience control, particularly in a linear fashion and/or based on a Lehr-damping.
In one embodiment the target velocity, which hereinafter is designated {dot over (q)}soll without limitation of the general scope, is provided with an upper limit particularly for individual components, in the amounts by the predetermined maximum velocity, which hereinafter is designated {dot over (q)}max without limitation of the general scope. Additionally or alternatively the target velocity {dot over (q)}soll is provided with a lower limit, particularly individual components thereof, in its amount by the predetermined minimum velocity, which hereinafter is designated {dot over (q)}min without limitation of its general scope.
|{dot over (q)}min|≤|{dot over (q)}soll|≤|{dot over (q)}max| (2)
Multi-dimensional velocities may be limited according to individual components:
|{dot over (q)}j,min|≤|{dot over (q)}j,soll|≤|{dot over (q)}j,max| (2)
In one embodiment the target velocity, particularly in its individual components, according to
{dot over (q)}soll=KPq·dist (3)
or
{dot over (q)}soll=KPq·dist+|{dot over (q)}min| (3′)
may be defined and/or determined with the predetermined one-dimensional or multi-dimensional positive constant KPq=diag(K1,Pq, K2,Pq, . . . ) and the vector |{dot over (q)}min|=[|{dot over (q)}1,min|,|{dot over (q)}2,min|, . . . ]T, with the one-dimensional or multi-dimensional distance potentially being defined and/or determined particularly according to the equation (1)-(1″), particularly under the additional framework condition (2):
In other words, in one embodiment the predetermined minimum velocity is determined as the target velocity, particularly its individual components, when the robot is located in the impermissible range beyond the predetermined boundary/boundaries (dist(j)<0).
Additionally or alternatively, in one embodiment, particularly for individual components, the predetermined maximum velocity is determined under the additional framework condition (2) as the target velocity when the robot is located in the permissible range within the predetermined boundary/boundaries (dist(j)>0) and shows a predetermined distance therefrom:
Additionally or alternatively, in one embodiment the magnitude of the target velocity increases, particularly in its components, with the distance of the robot from a predetermined boundary, particularly linearly and/or according to the equation (3) and/or (3′), when the robot is located within the boundary, particularly up to the predetermined maximum velocity.
As explained above, this may apply particularly for individual components, thus for example for the j-component {dot over (q)}j,soll of the target velocity {dot over (q)}soll:
{dot over (q)}j,soll=Kj,Pq·dist(j) (3)
or
{dot over (q)}j,soll=Kj,Pq·dist(j)+|{dot over (q)}j,min| (3′)
with dist(j) potentially representing the one-dimensional distance and/or the respective j-component of the multi-dimensional distance according to the equation (1)-(1″) and {dot over (q)}j,min the one-dimensional minimum velocity or the respective component of the multi-dimensional minimum velocity.
In one embodiment the damping drive parameter, which here is generally designated τd, acts here particularly upon individual components opposite in reference to the actual velocity, which here is generally designated {dot over (q)}ist and/or seeks to reduce it. In consideration of the algebraic sign, in one embodiment it particularly applies
{dot over (q)}ist>0τd≤0; {dot over (q)}ist<0τd≥0 (6)
and/or
{dot over (q)}j,ist>0τj,d≤0; {dot over (q)}j,ist<0τj,d≥0 (6)
Additionally or alternatively in one embodiment the damping drive parameter τd, particularly for individual components, is determined such that it abstains from exceeding a predetermined amount, particularly a positive minimum value τd0, in particular is at least essentially equal to zero if the (components of the) target velocity exceeds in its magnitude the (components of the) actual velocity:
|{dot over (q)}soll|>|{dot over (q)}ist||τd|<τd0 (7)
and/or
{dot over (q)}soll|>|{dot over (q)}ist|τd=0 (7′)
In other words, in one embodiment at least essentially no damping drive parameter and/or component is applied and/or commanded in the respective degree of freedom if the actual velocity is with its magnitude below the target velocity. As mentioned above, the equations (7), (7′) may apply particularly for individual components:
|{dot over (q)}j,soll|>|{dot over (q)}j,ist||τj,d|<τj,d0 (7)
and/or
|{dot over (q)}j,soll|>|{dot over (q)}j,ist|τj,d=0 (7′)
Additionally or alternatively, in one embodiment the damping drive parameter τd, is provided with an amount for its upper limit particularly for individual components by a predetermined maximum value, which hereinafter is designated τmax without limitation thereto:
|τd|≤τmax (8)
and/or
|τj,d|≤τj,max (8)
Additionally or alternatively, in one embodiment the damping drive parameter, particularly for individual components, is determined such that its magnitude increases with the difference between the (respective component of the) target velocity and the (respective component of the) actual velocity, particularly the magnitude is proportional to the difference between the (respective component of the) target velocity and the (respective component of the) actual velocity, when the (respective component of the) actual velocity exceeds in its magnitude the (respective component of the) target velocity:
(|{dot over (q)}ist,2|−|{dot over (q)}soll,2|)>(|{dot over (q)}ist,1|−|{dot over (q)}soll,1|)>0τd({dot over (q)}ist,2,{dot over (q)}soll,2)>τd({dot over (q)}ist,1,{dot over (q)}soll,1) (9)
and/or
|{dot over (q)}ist|−|{dot over (q)}soll|>0|τd|=KPv·(|{dot over (q)}soll|−|{dot over (q)}ist) (9′),
with the predetermined one-dimensional or multi-dimensional constant KPv=diag(K1,Pv, K2,Pv, . . . ), particularly under additional framework conditions (6), (7), and/or (7′) and/or (8). The framework condition (6) can particularly according to
|{dot over (q)}ist|−|{dot over (q)}soll|>0τd=sgn({dot over (q)}ist)·KPv·(|{dot over (q)}soll|−|{dot over (q)}ist|) (9″)
with the algebraic sign and/or signum function sgn be considered, with τd and {dot over (q)}ist being defined with identical algebraic signs, i.e. the damping drive parameter τd of the actual velocity {dot over (q)}ist each being and/or acting oppositely.
As already mentioned, the equations (9)-(9″) can also be applicable, particularly for individual components:
(|{dot over (q)}j,ist,2|−|{dot over (q)}j,soll,2|)>(|{dot over (q)}j,ist,1|−|{dot over (q)}j,soll,1|)>0τj,d({dot over (q)}ist,2,{dot over (q)}soll,2)>τj,d({dot over (q)}ist,1,{dot over (q)}soll,1) (9)
and/or
|{dot over (q)}j,ist|−|{dot over (q)}j,soll|>0|τj,d|=Kj,Pv·(|{dot over (q)}j,soll|−|{dot over (q)}j,ist|) (9′),
and/or
|{dot over (q)}j,ist|−|{dot over (q)}j,soll|>0τj,d=sgn({dot over (q)}j,ist)·Kj,Pv·({dot over (q)}j,soll|−|{dot over (q)}j,ist|) (9″),
According to one aspect of the present invention, a system for controlling a robot is implemented or embodied in particular by hardware and/or software and/or program technology to execute a method described here, comprising:
In one embodiment the system comprises means for determining the resilience drive parameter based on the resilience control, particularly an impedance or admittance control, with the means for controlling the drive arrangement being arranged such that the drive arrangement additionally is controlled based on the resilience drive parameter, particularly based on a sum of the damping drive parameter and the resilience drive parameter.
In one embodiment the system includes means for providing the value of an upper limit of the target velocity by the predetermined maximum velocity and/or a lower limit by the predetermined minimum velocity.
In one embodiment the system comprises means for determining the target velocity such that in its magnitude it is greater at the same distance of the robot from this predetermined boundary, if the robot is within the permitted boundaries, and smaller if the robot is beyond the permitted boundaries.
In one embodiment the system comprises means for determining the damping drive parameter such that it does not exceed a predetermined minimum value, particularly for individual components, in particular it is at least essentially equal to zero, if the target velocity exceeds the magnitude of the actual velocity.
In one embodiment the system comprises means to set, particularly for individual components, upper limits of the magnitude for the damping drive parameter by a predetermined maximum parameter.
In one embodiment the system comprises means for determining the damping drive parameter such that, particularly for individual components, it grows in its magnitude with the difference between the target velocity and the actual velocity, particularly in its magnitude proportional in reference to the difference between the target velocity and the actual velocity when the actual velocity exceeds in its magnitude the target velocity.
A means in the sense of the present invention may be embodied by way of technical hardware and/or software means, in particular a processing, in particular micro-processing unit (CPU), preferably connected via a storage and/or bus system transmitting data and/or signals, in particular digital ones, and/or show one or more programs or program modules. The CPU may be embodied such that commands are implemented to process a program saved in a storage system, record input signals from a data bus and/or issue output signals to a data bus. A storage system may comprise one or more, in particular different storage media, in particular optical, magnetic, solid matter, and/or other non-volatile media. The program may be embodied such that it represents and/or can implement the methods described here such that the CPU can execute the steps of such methods and thus can in particular control the robot.
The above and other objects and advantages of the present invention shall be made apparent from the accompanying drawings and the description thereof.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the invention and, together with a general description of the invention given above, and the detailed description given below, serve to explain the principles of the invention.
In a first step S10 the control 2 determines the distance dist of the robot 1 from predetermined boundaries qmax, qmin according to the above-stated equations (1) to (1″). This is illustrated in
In the position and orientation of the robot 1 shown, as an example the positive distance from the lower limit qmin according to the equations (1′) is smaller than the also positive distance from the upper limit qmax according to the equations (1), and thus according to equations (1″) it is determined as the distance dist of the robot 1 from the predetermined boundaries qmax, qmin. For illustration purposes, dot-dash lines also show another actual position of the robot in the impermissible (hatched in
If here boundaries are predetermined in several spatial directions and/or joints, in particular the (seen absolutely and/or subject to an algebraic sign) smallest distance is determined as the distance dist, as illustrated in
The determination of the distance can also occur as described in the following step in one embodiment in individual components such that qmin, qmax, and qist each can illustrate one component of the position along the coordinate axis indicated in
Then the control 2 determines a target velocity a {dot over (q)}soll in a step S20 according to the equation (3′) under the additional framework conditions according to the equation (2). This is illustrated in
Then the control 2 determines in a step S30 according to the equation (9″) under the additional framework conditions (7′) and (8) a damping drive parameter τd. This is illustrated in
This damping drive parameter τd commands the control 2 commands in a step S40 additively to the resilience drive parameter based on a resilience control, particularly an impedance or admittance control in a manner known per se and thus it is not shown in greater detail, to the drives A1, . . . , A6 of the robot 1.
Although exemplary embodiments have been explained in the above description, it is hereby noted that a number of modifications are possible.
As repeatedly mentioned the steps can be performed particularly for one or more components of positions, velocity, and drive parameters and/or degrees of freedom of the robot 1, which may be as above-stated vector-defined parameters also in a scalar fashion and mark a position, velocity and/or drive parameter in a spatial direction or a degree of freedom in a drive or joint coordinate system.
The individual calculations and/or equations can particularly be respectively implemented in the drive and/or joint coordinate system or in the operating space of the robot, with the parameters if applicable being transferred between these rooms by forward and backward transformation. For example, boundaries predetermined in the operating space are transformed into the drive and/or joint coordinate space and then the drive forces and/or torque/moments are determined here directly. Similarly, drive parameters determined in the operating space can also be transformed into the drive and/or joint coordinate space.
In addition, it is hereby noted that the exemplary embodiments are merely examples which are not intended to in any way restrict the scope of protection, the uses, and the construction. Rather, the preceding description gives a person skilled in the art a guideline for the implementation of at least one exemplary implementation, wherein various modifications, in particular with respect to the function and arrangement of the components described, can be undertaken without departing from the scope of protection as indicated by the claims and the equivalent combinations of features.
While the present invention has been illustrated by a description of various embodiments, and while these embodiments have been described in considerable detail, it is not intended to restrict or in any way limit the scope of the appended claims to such detail. The various features shown and described herein may be used alone or in any combination. Additional advantages and modifications will readily appear to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and method, and illustrative example shown and described. Accordingly, departures may be made from such details without departing from the spirit and scope of the general inventive concept.
Number | Date | Country | Kind |
---|---|---|---|
10 2015 014 994 | Nov 2015 | DE | national |
Number | Name | Date | Kind |
---|---|---|---|
20040128026 | Harris | Jul 2004 | A1 |
20130090761 | Sejimo et al. | Apr 2013 | A1 |
20130172902 | Lightcap et al. | Jul 2013 | A1 |
20130253702 | Lecours | Sep 2013 | A1 |
20150025684 | Negishi | Jan 2015 | A1 |
Number | Date | Country |
---|---|---|
103107767 | May 2013 | CN |
103496633 | Jan 2014 | CN |
104254430 | Dec 2014 | CN |
H0780786 | Mar 1995 | JP |
02060653 | Aug 2002 | WO |
Entry |
---|
European Patent Office; Search Report in European Patent Application No. 16002371.9 dated Apr. 3, 2017; 8 pages. |
Peter Englert; publication entitled “Simulation des Frasens mit Industrierobotern: Trajektorienplanung und experimentelle Parameteridentifikation” dated May 1, 2011; 30 pages. |
Nirut Naksuk; publication entitled “The Implementation of a Natural Admittance Controller on an Industrial Robot” dated Jan. 1, 2000; 82 pages. |
Korean Patent Office; Office Action in related Korean Patent Application No. 10-2016-0153323 dated Mar. 22, 2018; 12 pages. |
Chinese Patent Office; Examination Report in related Chinese Patent Application No. 201611043636X dated Sep. 29, 2018; 5 pages. |
Chinese Patent Office; Search Report in related Chinese Patent Application No. 201611043636X dated Sep. 19, 2018; 2 pages. |
Number | Date | Country | |
---|---|---|---|
20170144302 A1 | May 2017 | US |