METHOD AND CONTROL MEANS FOR CONTROLLING A ROBOT ASSEMBLY
20210178582 · 2021-06-17
Inventors
Cpc classification
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1687
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1669
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A method for controlling a robot assembly having at least one robotic arm. The method includes determining a trajectory in the axis space of the robot assembly on the basis of a path having a plurality of previously specified Cartesian poses of at least one robot-assembly-fixed reference, and determining control values in the axis space on the basis of said trajectory. The robot assembly is controlled on the basis of the control values.
Claims
1-10. (canceled)
11. A method for controlling a robot assembly comprising at least one robot arm, the method comprising: determining a first trajectory in an axis space of the robot assembly based on a path having a plurality of cartesian poses, specified in advance, of at least one reference fixed to the robot assembly; determining first control values in the axis space based on the determined first trajectory; and controlling operation of the robot assembly based on the determined first control values.
12. The method of claim 11, further comprising: determining a second trajectory in the axis space of the robot assembly based on the path of the at least one reference; determining second control values based on the determined second trajectory; and controlling operation of the robot assembly based on the determined second control values.
13. The method of claim 12, wherein the second control values are determined starting from a contact point of the second trajectory that is spaced apart from the start of the second trajectory and which was not previously approached on the first trajectory.
14. The method of claim 11, wherein determining at least one of the first or second control values comprises at least one of: variable scanning of the first or second trajectory; or correcting at least one point of the first or second trajectory to a control value when a deviation of a cartesian pose that corresponds to the point of the trajectory from a corresponding point of the path that has been corrected, exceeds a specified tolerance value.
15. The method of claim 14, wherein at least one of: the corrected path is a path that is corrected in a sensor-assisted manner; or correcting at least one point of the determined first or second trajectory is performed while at least one of: resolving a redundancy of the robot assembly with respect to the path, or resolving a redundancy of the robot assembly in order to reduce the deviation.
16. The method of claim 11, wherein determining the first or second trajectory comprises: planning the path based on at least one of the poses or of an operational program for the robot assembly; determining discrete trajectory points on the basis of discrete path points; optimizing a velocity profile of the trajectory on the basis of a dynamic model of the robot assembly; interpolating discrete trajectory points; or resolving a redundancy of the robot assembly with respect to the path.
17. The method of claim 16, wherein at least one of: planning the path comprises optimizing the path; determining the discrete trajectory points comprises performing inverse transformations based on the discrete path points; or determining the discrete trajectory points is performed while recursively minimizing a deviation of a cartesian pose that corresponds to the relevant trajectory point from a corresponding point of the path.
18. The method of claim 16, wherein resolving the redundancy comprises taking account of a quality factor that is specified in at least one of cartesian or axis space.
19. The method of claim 18, wherein at least one of: the quality factor comprises at least one of a distance from axis regions to be avoided or desired cartesian poses; or the quality factor is specified by a null space projection.
20. The method of claim 11, wherein at least one of: the robot assembly comprises at least two robot arms; or the at least one robot arm comprises at least seven axes.
21. Control means for controlling a robot assembly that includes at least one robot arm, the control means configured to: determine a first trajectory in an axis space of the robot assembly based on a path having a plurality of cartesian poses, specified in advance, of at least one reference fixed to the robot assembly; determine first control values in the axis space based on the first trajectory; and control operation of the robot assembly based on the first control values.
22. A robot assembly, comprising at least one robot arm and a control means according to claim 21.
23. A computer program product for controlling a robot assembly that includes at least one robot arm, the computer program product comprising program code stored on a non-transitory, computer-readable medium, the program code, when executed by a computer, causing the computer to: determine a first trajectory in an axis space of the robot assembly based on a path having a plurality of cartesian poses, specified in advance, of at least one reference fixed to the robot assembly; determine first control values in the axis space based on the determined first trajectory; and control operation of the robot assembly based on the determined first control values.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0067] 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.
[0068]
[0069]
DETAILED DESCRIPTION
[0070]
[0071] Purely by way of example, both robot arms 1, 2 each comprise a linear axis having an axial coordinate q.sub.1,1 or q.sub.2,1, and six axes of rotation of which, by way of example, the axial coordinates or joint angles q.sub.1,2, q.sub.1,3, q.sub.1,7, q.sub.2,2, q.sub.2,3 and q.sub.2,7 are labelled. In this case, again purely by way of example, the master robot 1 guides a workpiece 3 which the slave robot 2 is intended to machine using a tool 4.
[0072] The vector of the axial coordinate is designated q=[q.sub.1,1, . . . , q.sub.2,2].sup.T, in a manner conventional in the art, the dimension thereof in the embodiment being purely by way of example.
[0073] In a step S5, carried out in advance, first of all cartesian poses x.sub.i of the TCP of the slave robot 2 relative to the master robot-guided workpiece 3 are taught, and an operational program for the robot assembly is created on the basis of said poses, for example with program commands “travel from pose x.sub.i in cartesian space, on a straight line, to pose x.sub.i+1” or the like. This, again, is also purely by way of example, and in the same way, in modifications, for example three-dimensional positions and orientations of a TCP of a seven-axis or multiple-axis robot arm, or merely the three-dimensional position of a TCP of a six-axis robot arm could be taught.
[0074] The forwards transformation VT or Jacobian matrix J can be determined analytically and transfers, in a linear approximation, axial coordinate increments Δq into pose increments Δx:
Δx=JΔq
[0075] Owing to the redundancy, this Jacobian matrix J cannot be clearly inverted. However, a right inverse J.sup.# exists, having:
J.Math.J.sup.#=1; J.sup.#.Math.J≠1,
which defines a null-space transformation (1−J.sup.#.Math.J).
[0076] Using these, it is possible for axial coordinates to be determined in an incremental manner, such that they primarily approximate a cartesian path x(s) as well as possibly and in addition, subordinately or in a manner having lower priority, achieve desired axial coordinate changes Δq.sub.opt:
Δq=J.sup.#.Math.Δx+(1−J.sup.#.Math.J).Math.Δq.sub.opt.
[0077] In the case of this redundancy resolution, the desired axial coordinate changes can take account of or map a quality factor specified in the axis space, for example maximize a distance of the axial coordinates from axial regions to be avoided:
Δq.sub.opt=λ.Math.∇w(q)
having a scalar weighting λ of a function w(q), which rises (significantly), close to the axis regions to be avoided, and the known nabla operator ∇.
[0078] Similarly, in the case of the redundancy resolution, the desired axial coordinate changes can take account of or map a quality factor specified in cartesian space, for example desired cartesian poses x.sub.opt of the workpiece 3, in an incremental form:
Δx.sub.opt=J.sub.opt.Math.Δq.
[0079] Inserted into the above equation, Δq=J.sup.#Δx+(1−J.sup.#.Math.J).Math.Δq.sub.opt this leads to
Δq=J.sup.#.Math.Δx+(1−J.sup.#.Math.J).Math.λ∇w(q)
or
Δq=J.sup.#.Math.Δx+(J.sub.opt.Math.[J.sub.opt.Math.(1−J.sup.#.Math.J)].sup.#.Math.(Δx.sub.opt−J.sub.opt.Math.J.sup.#.Math.Δx)
having the right inverses as defined above [J.sub.opt.Math.(1−J.sup.#.Math.J)].sup.#.
[0080] Prior to each approach of the taught poses x.sub.i, in accordance with the operational program, in a step S10 the controller 5 reads in the taught poses x.sub.i and, in a step S20, plans the cartesian path on the basis of said poses and of the operational program x(s).
[0081] Then, in a step S30, always in the same manner, the controller 5 determines incremental points q.sub.j of a trajectory q(s):
q.sub.j−1=q.sub.i+Δq.sub.i,
the increments Δq.sub.i being determined for example according to any of the above equations for Δq, and the cartesian path x(s) always being scanned in the same manner, beginning with the same starting pose of the robot assembly.
[0082] In this case, in step S30, a deviation Δx.sub.Rest of a cartesian pose x.sub.i=VT(q.sub.i), (VT being the forwards transformation function), which corresponds to the relevant trajectory point q.sub.j, from a corresponding point x(s.sub.j) of the path, is recursively minimized, in that the method described above for Δx=J.Math.Δq is applied to
Δx.sub.Rest=J.Math.Δq.sub.Rest
until the deviation Δx.sub.Rest falls below a specified residual error limit.
[0083] Subsequently, in step S30, the incrementally determined trajectory point q.sub.j is interpolated by spline functions which are stored. In addition or alternatively, in step
[0084] S30 optimization of the velocity profile ś(s) along the trajectory can take place.
[0085] In a step S40, this trajectory q(s) is then scanned during the transit time in the interpolation cycle of the controller, and thus in a variable manner, or the corresponding spline functions are evaluated, and thus preliminary control values for the drives of the robot arms 1, 2 are determined.
[0086] In a step S50, the deviation of the cartesian pose, which corresponds to the trajectory points scanned in each case or the preliminary control value, from a corresponding point of the planned path is determined, and, in a step S60, the scanned trajectory points or preliminary control values are corrected to final control values, as has already been described above for scanning the path or determining the trajectory, if the deviation exceeds a specified tolerance value (S50: “Y”). In this case, just as in step S30, the planned path can additionally be corrected in a sensor-assisted manner, for example be displaced or the like, due to deviations of the workpiece 3 that are recorded in a sensor-assisted manner.
[0087] In a step S70, the drives of the robot arms 1, 2 are controlled/actuated on the basis of said control values, until the entire trajectory has been traveled (S80: “Y”).
[0088] For new travel of the path or trajectory, the steps S10 to S80, explained above, are repeated. In this case, if necessary, step S40 can also start from a contact point that is spaced apart from the start of the trajectory and has previously not been approached on the trajectory.
[0089] In general, as explained on the basis of the above example, in one embodiment of the present invention, in automatic operating mode for multiple times traveling the same cartesian poses, specified in advance, the cartesian path is planned (S20) prior to travel in each case, and a trajectory in axis space is determined (S30) therefor, using redundancy resolution and optionally recursive minimization of a deviation, which is subsequently scanned (S40) during the transit time, the scanned trajectory points optionally being corrected (S60) and the robot arms 1, 2 being controlled (S80) on the basis of these, optionally corrected, trajectory points or control values. In this case, the reference fixed to the robot assembly is the TCP of the slave robot 2, the cartesian poses of which, relative to the workpiece 3, are specified in advance (S5). This is, as already mentioned, given merely by way of example, and in the same way, for example it is also possible to teach absolute cartesian poses of a TCP of a robot arm, relative to the surroundings or the robot arm base.
[0090] Although embodiments given by way of example have been explained in the preceding description, it is noted that a plurality of modifications are possible. It should furthermore be noted that the embodiments given by way of example are merely examples which are not intended to restrict the scope of protection, the applications, and the structure, in any way. Instead, the above description provides guidance for a person skilled in the art to implement at least one embodiment given by way of example, it being possible for various amendments to be made, in particular in view of the function and arrangement of the described components, without departing from the scope of protection as emerges from the claims and the combinations of features equivalent thereto.
[0091] 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.