The present invention relates to methods for managing systems provided with redundant actuators, in particular operating machines with redundant axes. The invention is nevertheless not limited to operating machines only, but extends to all possible machine architectures (not merely planar Cartesian architectures) with redundant kinematics obtained by introducing two or more axes actuated along one or more kinematic degrees of freedom, or to systems that operate according to redundant variables.
More in particular, the invention relates to a method for managing systems provided with redundant actuators of the type comprising at least a first system operating according to a first set of variables, representative of a physical quantity to be controlled and a second system operating according to a second set of said variables, representative of a physical quantity to be controlled, said first set of variables and second set of variables identifying one or more redundant variables,
said method comprising the operations of:
commanding said actuators of said system through a numeric control unit and a servo control module to follow trajectories of said variables as a function of a set sequence.
Although the embodiment to be described herein pertains to a case in which the variables are to spatial variables relating to Cartesian axes, and therefore the resulting trajectory is a curve that lies in a plane, trajectories of variables generally mean curves in an n-dimensional space identified by n variables, said n variables not necessarily representing spatial quantities, but also other types of quantities, such as temperature.
An operating machine is defined redundant when the number of its joints is higher than the degrees of freedom needed to describe the operating space. This entails infinite possible configurations of the joints that accomplish the desired positioning and orientation for the terminal member.
The set of redundant solutions enables to obtain a more flexible operating machine, both in terms of kinematic configurations and in the interaction with the surrounding environment. In particular, redundancy can be exploited to comply with the constraints imposed by the work space, not to violate physical constraints of the operating machine itself and to execute trajectories without collisions.
The fundamental aspect of the analysis of a redundant operating machine is to manage redundancy identifying a relationship between the co-ordinates of the terminal member in Cartesian space and those in the space of the joints.
The position and the orientation of the terminal member in Cartesian space are linked to the space of the joints by the following direct kinematic law:
p(t)=f(q(t)) (1)
where
pεRm represents the position of the terminal member in Cartesian space, where m is an integer representing the number of Cartesian axes;
qεRn represents the displacement of the joints, where n is an integer representing the number of axes of the joints;
f(·) is a continuous non linear function.
A study of the reverse kinematics is then applied, to find an appropriate configuration of the joints q(t) as a function of the position of the terminal member p(t) through the relationship:
q(t)=f−1(p(t)) (2)
The solution of equation (2) is not easy because of the non linearity of the function f(·).
Usually, the reverse kinematics problem for an operating machine is confronted as a function of speeds, because there is a linear relationship between the speed of the terminal member, designated as ({dot over (p)}(t)) and the speed of the joints ({dot over (q)}(t)), which can be obtained differentiating the equation (1) relative to time:
{dot over (p)}(t)=J(q(t)){dot over (q)}(t) (3)
where J(q(t)) εRn×m is the Jacobian defined as
When an operating machine is not redundant, the Jacobian J(q(t)) is square and the speed of the joints {dot over (q)}(t) can be determined solving the equation (3) relative to the vector of the speeds of the joints in non singular configurations, as indicated in the equation (5) that follows:
{dot over (q)}(t)=J−1{dot over (p)}(t) (5)
The position of the joints q(t) is obtained integrating the speed of the joints {dot over (q)}(t) for a given initial value of position q(0).
However, in a redundant operating machine the equation (3) is under-determined, since m<n, and the matrix J(q(t)) is thus not square. The speed of the joints of a redundant operating machine can be expressed as:
{dot over (q)}(t)=J+{dot over (p)}(t)+JP{dot over (q)}a (6)
where J+ is the pseudo-reverse of the Jacobian, P is a matrix (n×n) such that its image coincides with the null space of J, {dot over (q)}a is an arbitrary vector in the space {dot over (q)}(t).
The equation (6) is then of the form:
{dot over (q)}(t)={dot over (q)}part+{dot over (q)}hom (7)
where {dot over (q)}part is a particular solution that achieves the desired movement and {dot over (q)}hom is the homogeneous solution of the equation (5). This homogeneous solution {dot over (q)}hom can be used to optimise the performance of the operating machine if selected in such a way as to advantageously use the redundant degrees of mobility. The role of the particular solution {dot over (q)}part is to generate internal motions of the structure, which do not modify the position and orientation of the terminal member and which can allow for example to identify dextrous postures of the operating machine for the execution of an assigned task.
The object of the invention is to provide a method that optimally manages the redundant degrees of freedom, or axes, according to the performance of the system or of the operating machine.
According to the invention, said object is achieved thanks to the fact that the method comprises the operations of:
Thanks to this solution idea, it is possible to calculate in simple fashion the splitting and the uncoupling of the trajectories relating to the two systems, with low computation cost in particular for the second system, whose movement is determined starting from the filtering operated to generate the trajectory of the first system.
According to a preferred embodiment of the invention, the filtering operated to generate the trajectory of the first system is a filtering applied to the trajectory of the actuator system.
The invention shall now be described in detail with reference to the accompanying drawings, provided purely by way of non limiting example.
Hereafter, by way of example of a system implementing the method according to the invention, a laser operating machine is described, of the type disclosed in the Italian patent application no. TO2005A000016 in the name of the same Applicant.
Referring initially to
The support structure 3 in turn bears sliding guides 4 arranged according to a horizontal Cartesian axis Y orthogonal to the axis X, along which a movable equipment can be translated, globally designated by the reference number 5. The linear displacements of the movable equipment 5 along the axis Y are also operated with movements at relatively low accelerations, substantially throughout the transverse extension of the base 1, through motorised actuators, also conventional and not shown in the drawings, because they are also known to those skilled in the art.
Hence the support structure 3 and the movable equipment 5 define a first system, movable along the axes X and Y.
The movable equipment 5 comprises a slide 6 movable along the guides 4 above the piece L to be machined and bearing a pair of guiding blocks 7,8 positioned horizontally and, relative to the support structure 3, according to a generally “V” shaped configuration. The guiding blocks 7,8 are inferiorly provided with respective sliding guides (not shown) along which slidably engage sliding blocks 9,10 borne respectively by a first slide 11 and by a second slide 12.
The slides 11, 12 are linearly displaceable relative to the blocks 7,8 along two mutually orthogonal horizontal Cartesian respectively designated u and v. The displacement of each slide 11, 12 is operated by means of a respective actuator 13, 14, constituted for example by a linear or rotary electric motor with screw and nut screw transmission, or the like.
Two slides 11, 12 bear, at the respective front sides, respective guides 15,16 whereon is slidable a laser cutting head 17 with vertical axis provided in generally known fashion with an optical system (e.g. a reflection or fibre optics system) for focusing a laser beam, emitted by a laser source, on the piece L to be machined. The laser source and the focusing system are not shown for the sake of brevity, since they are both conventional and known to those skilled in the art.
The laser head 17 is provided with a pair of lateral cursors 18 and 19, e.g. constituted by sliding blocks or carriages, movable along the front guides 15 and 16 of the slides 11 and 12.
Hence the laser head 17, movable thanks to the slides 11 and 12, defines a second system, movable along the axes u and v.
The motors 13 and 14 are operatively connected to a numeric control unit 50, which shall be illustrated hereafter with reference to
The actuators 20 and 21 for movable balancing masses are also operatively connected to the programmable control unit 50 of the machine, so that all masses in motion during the machining of the piece L are co-ordinated to assure continuity of motion.
It should be noted that the laser head 17, or part thereof, may also be displaceable along a vertical axis Z, by means of a suitable motorised actuator, also connected to the control unit of the machine.
Hence, the axes X and Y pertaining to the first system, which transport throughout the work area of the machine the small working volume of the laser head 17, have low acceleration (by way of example, less than or equal to 12 m/s2) and high maximum speed (about 1.7 m/s), whilst the axes u and v pertaining to the second system have high acceleration (by way of example, greater than or equal to 50 m/s2), but low speed (about 0.5 m/s). Globally, the axes of the machine inclusive of the first system and of the second system are five.
The resulting laser operating machine operates in two dimensions, but with redundant Cartesian axes (the axis u is parallel to the axis X, similarly the axis v is parallel to the axis Y) which co-operate for the displacement of the TCP (Tool Centre Point), i.e. the operating reference point of the laser head 17.
For the control of said laser operating machine it is therefore necessary to co-ordinate the movements of the axes of the first system X and Y and of the axes of the second system u and v respectively, taking into account that the axes of the first system X and Y have the task of transferring the head 17 with continuity throughout the work area, dynamically tracking the movements of said head 17 without the axes of the second system u and v having to stop to wait for the movement of the axes of the first system X and Y.
The personal computer 51 implements a Windows operating system and it operates as user interface to send instructions and commands to the second personal computer 52, which comprises a Linux operating system 52a associated to Real Time extensions 52b for the management of the machine. The personal computer 52 then provides the trajectories to be executed to a DSP PCI servo control board 53 for control of the actuators, among them the actuators 13 and 14 which move the slides 11 and 12 and the actuators of the support 3 and of the movable equipment 5.
In the personal computer 52 and in the servo control board 53 is implemented a procedure for managing the redundant axes which is better described with reference to
The numeric control unit 50, according to procedures that are known in themselves in the state of the art, generates a sequence of instructions P, corresponding to a so-called 1part program′ for a “virtual” machine with determined acceleration and speed specifications. This sequence of instructions P comes from the personal computer 51, and it is originated by a dedicated program, to set the trajectories and the movements of the machine offline.
The reference number 100 in
Said trajectory of the machine (Xs, Ys) is input to a block 110, in which to said trajectory of the machine (Xs, Ys) is applied a filtering function whose output is constituted by a trajectory of the first system (X, Y).
The filtering block 110 operates in such a way as to remove, i.e. to filter, from the trajectory of the machine (Xs, Ys) specific trajectory characteristics that are not to be executed by the first system.
By way of example, the filtering block 110 implements a filtering function to remove from the trajectory of the machine (Xs, Ys) excursions having a small modulus of the distance to be travelled, below a predetermined threshold. Similarly, the filtering block 110 can be configured to remove particular trajectory elements that require to operate with small angles or radii of curvature, in this case, too, below a predetermined threshold value, and hence better suited to be executed by the second system. The filtering block 110 can also remove characteristics relating to the presence of sharp edges, or of complex curves.
The filtering block 110 can operate in such a way as to assure conformity with the specific dynamics of each of the two systems, filtering determined spectral components associated with the trajectory, in particular filtering the high frequency component of the trajectory of the machine (Xs, Ys).
Moreover, the filtering block 110 can also be provided to operate the filtering of specific shapes and curves.
The trajectory of the first system (X, Y) is delivered both to the input of a block 120, and in parallel to an actuation block 130, which represents the function of the servo-control board that commands actuation, in this case of the first system comprising the support structure 3 and the movable equipment 5 which move along the axes X and Y.
In a block 120, by difference from the trajectory of the machine (Xs, Ys), is obtained the trajectory of the second system (u, v) relative to the head 17. Thus, by definition the trajectory resulting from the sum of the trajectory of the first system (X, Y) and of the trajectory of the second system (u, v) corresponds to the trajectory of the machine (Xs, Ys), described in the sequence of instructions P.
The characteristics removed by the filtering block 110 are thus found in the trajectory of the second system (u, v) as obtained by the block 120.
The operation of calculating a second trajectory of the second system (u, v) as difference trajectory comprises the step of obtaining complementary trajectory elements, with modulus, angle or radius of curvature below a predetermined threshold, or high frequency components as trajectory of the second system (u, v), operating differences between the components (u=Xs−X; v=Ys−Y) of the trajectory of the machine (Xs, Ys) and of the trajectory of the first system (X, Y).
A change to the calibration files enables to generate the trajectories to be followed by the so-called Tool Centre Point (TCP), i.e. the reference point of the head 17, exploiting the maximum possible dynamics of the two systems, i.e., for example, obtaining the maximum tangential acceleration of the second system constituted by the head 17, e.g. 50 m/s2, and the maximum tangential speed of the first system related to support structure 3 and movable equipment 5, e.g. 1.667 m/s. In this way the generated trajectory references refer to the sum axis, whose movement in the operating space is given by the sum of the displacements of the first system, relating to the support 3 and to the movable equipment 5, and to the second system relating to the laser head 17.
Naturally, the construction details and the embodiments may be widely varied from what is described and illustrated herein, without thereby departing from the scope of the present invention, as defined in the appended claims.
The filtering operated on the trajectory of the machine may be of different types according to the dynamic characteristics to be allocated on the different systems.
It is also clear that the present method extends to machines or manipulators comprising any number of redundant axes and any number of systems. The invention is thus not limited to laser operating machines only, but extends to all possible machine architectures (not merely planar Cartesian architectures) with redundant kinematics obtained by introducing two or more axes actuated along one or more kinematic degrees of freedom.
More in general, given a physical and/or engineering problem characterised by n degrees of freedom and a set of control technologies available to solve it (sensors, actuators, control software and hardware), for which a control system with n inputs and n outputs would need to be obtained, whose performance would be limited by the limitations of available technological solutions, a redundant physical and/or engineering system with n+m degrees of freedom (with m>=1) can be obtained, which enables, for equal technological limitations, to improve the performance of the system, using the additional degrees of freedom to optimise a given target function (in general, weighted sum of multiple factors such as costs, consumption, speed, accuracy, reliability, sustainability, etc.) through, for example, the frequency uncoupling of the redundant variables.
Possible application consequences, in general terms, can be for example:
Particular examples of operating machines can be, in addition to planar and three-dimensional laser machines, pick and place systems, machine tools in general such as milling machines for mould machining or wood working machines.
In accordance with the above, the invention therefore relates also to a method for managing systems provided with redundant actuators of the type comprising at least a first system operating according to a first set of variables, representative of a physical quantity to be controlled and a second system operating according to a second set of said variables, representative of a physical quantity to be controlled, said first set of variables and second set of variables identifying one or more redundant variables, said method comprising the operations of:
commanding said actuators of said system through a numeric control unit and a servo control module to follow trajectories of said variables as a function of a set sequence, said method comprising the operations of:
It is clear from the above that the method according to the invention can also be applied to more than two systems with redundant axes.
Number | Date | Country | Kind |
---|---|---|---|
TO2005A0578 | Aug 2005 | IT | national |
Number | Name | Date | Kind |
---|---|---|---|
5011282 | Ream et al. | Apr 1991 | A |
5109148 | Fujita et al. | Apr 1992 | A |
5751585 | Cutler et al. | May 1998 | A |
5798927 | Cutler et al. | Aug 1998 | A |
5847960 | Cutler et al. | Dec 1998 | A |
6723949 | Yamazaki et al. | Apr 2004 | B2 |
Number | Date | Country |
---|---|---|
WO 0202281 | Jan 2002 | WO |
WO 2006075209 | Jul 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20070040527 A1 | Feb 2007 | US |