Controlling the movement of a tool
By defining an objective function with optimization criteria and extremizing movement coordinates through simulation, the method optimizes excess degrees of freedom in tool movement, enhancing performance and reducing energy consumption and wear in manufacturing processes.
Patent Information
- Application Number
- PCT/EP2024/050451
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-10
- Publication Date
- 2025-07-17
AI Technical Summary
Conventional methods for controlling the movement of a tool relative to a workpiece in manufacturing apparatuses often result in arbitrary settings for excess degrees of freedom, leading to varying movement paths with differing performance in terms of proximity to unfavorable machine poses, covered motion ranges, and energy consumption.
A method that determines a target path with fewer specified coordinates than available degrees of freedom, using an objective function with optimization criteria to extremize movement coordinates through computer-assisted simulation, ensuring optimal configuration of excess degrees of freedom.
This approach removes arbitrariness in setting excess degrees of freedom, resulting in improved performance based on predefined criteria, minimizing directional changes, energy consumption, and wear, while avoiding unfavorable poses and collisions.
Smart Images

Figure EP2024050451_17072025_PF_FP_ABST
Abstract
Description
[0001] Description
[0002] Controlling the movement of a tool
[0003] The present invention relates to a method for controlling the movement of a tool relative to a workpiece within an apparatus, the apparatus comprising a tool manipulator and / or a workpiece manipulator to enable the relative movement according to a plurality k of movement axes, thereby defining a number k of available degrees of freedom for the relative movement. The invention further relates to a computer program product and to an apparatus for controlling such a movement.
[0004] Modern manufacturing apparatuses increasingly use integrated controllers for automatically determining and executing a tool path, which defines the movement of a tool relative to a workpiece. Such an automated tool path can for example be generated and executed with computer-aided manufacturing (CAM) software, such as the software NX CAM by the company Siemens AG. This usually involves the generation of a so-called target path, in which the relative movement is defined as a sequence of data points in a multi-dimensional coordinate space. The number of specified spatial coordinates is often five or six: Usually, the cartesian position coordinates (e.g. x,y and z coordinates) are specified for each point of the target path and additionally two or three rotational coordinates are specified for the tilt angles that define the tool orientation relative to the work piece. When the tool is rotationally symmetric and / or or rotates during the manufacturing process, then the angle with respect to the axis of rotation is typically not specified, and only five spatial coordinates are relevant for each point along the target path. When the tool is not a symmetric or rotational tool, then the tilt with respect to all three spatial dimensions is relevant, and accordingly six spatial coordinates are usually specified for each point.
[0005] The relative movement between the tool and the workpiece can be effected by a tool manipulator or a workpiece manipulator or a combination of both. The manufacturing apparatuses of modern manufacturing lines increasingly comprise manipulators which allow automated movements with respect to many movement axes. For example, robotic arms with six or seven rotational axes have become very common in recent years, optionally in combination with sliding mounts which allow further translational degrees of freedom. Therefore, the available degrees of freedom which can be controlled in an automated process is often higher than the coordinates specified in the above-mentioned target path for the relative movement of the tool. As a consequence, one or more excess degrees of freedom arise and accordingly, there is a certain flexibility in how a given target path can be implemented with the available manipulator(s). In other words, there is more than one movement path of the manipulator(s) which can implement a given target path for the relative movement. In this context, the "movement path" defines the path of the absolute movement of both the tool and the workpiece in the full coordinate space, as defined by the available movement axes. When only the target path for the relative movement is given in a lower dimensionality, the full movement path is underdetermined, and additional constraints need to be derived to fully define the movement to be executed. Conventional control methods usually derive these additional parameters by using default settings, random settings, settings according to user input or a combination thereof. A user input with respect to such underdetermined settings can for example be based on previous experience and / or a simulation of the behavior of the apparatus. A general disadvantage of the conventional approach is that determining the parameters of the excess degree(s) of freedom can be rather arbitrary. Even though several possible settings can allow an execution of one pre-defined target path, the associated movement paths can differ in their performance with respect to other criteria, such as a proximity to unfavorable machine poses or the covered motion ranges of individual axes.
[0006] It is therefore a goal of the present invention to provide a way for controlling the relative movement between a tool and a workpiece which overcomes the above-mentioned disadvantages. In particular, a method for deriving a preferred movement path with respect to all available movement axes is to be given. Further goals of the inventions are to provide a corresponding computer program product and a corresponding apparatus.
[0007] These objects of the invention are achieved by claim 1 with respect to the method, by claim 14 with respect to the computer program product and by claim 15 with respect to the apparatus.
[0008] The method according to the invention serves to control the movement of a tool relative to a workpiece within an apparatus. The apparatus comprises a tool manipulator and / or a workpiece manipulator to enable the relative movement according to a plurality k of movement axes, thereby defining a number k of available degrees of freedom for the relative movement. The method comprises the following steps: a) determining a target path for the relative movement, which contains a number I of specified coordinates which is smaller than the number k of available degrees of freedom, thereby giving rise to a number m = k-l of excess degrees of freedom, b) defining an objective function which contains a plurality of optimization criteria for the movement, c) extremizing the objective function based on a computer-assisted simulation of a plurality of overall movement paths which implement the target path, wherein the objective function is extremized by varying at least one movement coordinate corresponding to at least one excess degree of freedom, thereby obtaining an optimum configuration for said at least one movement coordinate, d) controlling the relative movement according to an overall movement path which implements the target path, wherein the at least one movement coordinate is set to its optimum configuration for at least part of the movement path.
[0009] To allow the relative movement between the tool and the workpiece, the tool can be moved by the tool manipulator, or the workpiece can be moved by the workpiece manipulator or both. The tool can be attached to a tool mount of the tool manipulator, and the tool can optionally be comprised in the apparatus. Correspondingly, the workpiece can be attached to a workpiece mount of the workpiece manipulator. The workpiece is usually not a part of the apparatus, but it is rather manufactured, machined and / or handled by the apparatus. If the apparatus is an apparatus for an additive manufacturing process, it is possible that the workpiece is not yet present at the beginning of the manufacturing process, but rather it is created during this process and the relative movement between tool and workpiece starts after this creation is initiated. The above-mentioned movement axes can therefore comprise movement axes of the tool and / or of the workpiece. These can in particular comprise one or more rotational axes and one or more translational axes. They can also comprise combined rotational and translational axes, in other words one or more axes which allow a helical movement.
[0010] The target path for the relative movement between the tool and the workpiece represents a task to be performed by the apparatus. The determination of this target path according to a given task can typically be performed by an automated CAM software. The task can in particular be a task within a manufacturing process, such as a material deposition task, a machining task or a pick-and-place task. All these tasks can be implemented by means of a suitable track of the tool relative of the workpiece which is termed the target path. This target path is defined by specifying a number of coordinates which is smaller (by an integer of at least one) than the number of available movement axes, as explained above. Therefore, at least one excess degree of freedom exists, and the movement path is not fully determined by specifying the target path. The movement path is defined in terms of all available movement coordinates (the coordinates for all available movement axes of the tool and the workpiece), and therefore several movement paths exist which are different implementations of the same target path. Generally, the number of excess degrees of freedom can be more than one, thus allowing an even greater flexibility in implementing a given target path.
[0011] The invention provides a way of determining suitable values for the flexible variable(s) by means of steps b) and c). The objective function defined in step b) is a function of the movement coordinates, according to the k available movement axes or at least a subset thereof. In particular, it is a function of the movement coordinate(s) associated with the at least one excess degree of freedom. The objective function can be a so-called loss function or cost function and correspondingly, the extremization in step c) can be a minimization of the value of this function by varying the movement coordinates within the available flexibility (i.e. while still fulfilling the target path). Alternatively, the objective function can be a so-called reward function or fitness function, and the extremization can be a maximization of this function. The objective function comprises several optimization criteria for the movement, in other words it is a function of these multiple criteria. The values for these criteria in turn depend on the values of one or more movement coordinates. For example, the objective function can comprise several terms (cost terms and / or reward terms), each term representing a different optimization criterion, possibly weighted by a corresponding weighting function.
[0012] The extremization (minimization or maximization) of step c) can be performed with generally known procedures for solving mathematical optimization problems. This involves determining the values of the objective function for different possible movement paths (each of which implements the target path) and optimizing the resulting value by varying the free parameters (the movement coordinate(s) according to the at least one excess degree of freedom). The determination of the values for the objective function is based on a computer-assisted simulation, in particular a simulation that provides values for the above-mentioned optimization criteria in dependence of the flexible movement coordinate(s).
[0013] When the extremization of step c) is performed, the simulated values for the objective function can for example be determined for the implementation of the target path as a whole, i.e. for the entirety of each evaluated movement path. The value(s) for the flexible movement coordinate(s) obtained from the extremization can for example be held constant along the whole target path, and the execution within step d) can correspondingly be performed with fixed value(s) for the excess degree(s) of freedom. Such a fixed value for an excess degree of freedom can for example mean fixing the coordinate of one selected movement axis or fixing the ratio or another given dependence between two axes or fixing another property of the movement (such as an angle of the tool along the target path), thereby reducing the available degrees of freedom by one. Alternatively to such a constant value however, the optimized movement coordinate(s) can also vary as a function of the progress along the target path. In this case, the execution within step d) also involves a corresponding variation of the optimized movement coordinate along the movement path. More generally speaking, the "optimum configuration" determined in step c) and executed in step d) can either be constant along the path or vary along the path.
[0014] An important advantage of the method according to the present invention is that the movement coordinate(s) corresponding to the one or more excess degrees of freedom are configured automatically according to a plurality of pre-determined objective criteria, which lead to an overall an objective score forjudging different possibilities. This removes an element of arbitrariness from the controlling of the movement and allows the apparatus to achieve a better performance, as judged in terms of those pre-determined objective criteria. The evaluation of the predicted performance within the optimization is based on a simulation, and at least two objective criteria are considered in this evaluation. This allows several competing objectives to be taken into account when determining a suitable movement path for a complex apparatus.
[0015] Besides the above method, the invention relates to a computer program product with program code, which is stored in machine-readable form on a medium, for carrying out a method according to the invention or one or more preferred embodiments of the invention when the program code is executed on a computer. In particular, such a computer program product can be executed within a control device comprised in the corresponding apparatus, by which the movement is to be executed.
[0016] Furthermore, the invention relates to an apparatus for controlling the movement of a tool relative to a workpiece. The apparatus comprises a tool manipulator and / or a workpiece manipulator to enable the relative movement according to a plurality k of rotational and / or translational movement axes. The apparatus further comprises a control device configured for carrying out the method according to the invention or one or more preferred embodiments of the invention. The advantages of the computer program product and of the apparatus correspond to the above-mentioned advantages of the method according to the invention.
[0017] Advantageous configurations and embodiments of the method according to the invention follow from the claims dependent on claim 1 as well as the following description. The advantageous features of the method, the computer program product and the apparatus can generally be combined and interchanged. According to a generally favorable embodiment, each optimization criterion is associated with a corresponding weight within the objective function. In general, the objective function can be a composite function, involving the sum of several terms. For example, the objective function F can be represented as
[0018] F = w1(c1) + w2(c2) + ... where c1 is a first criterion, and w1 is a corresponding first weighting function, c2 is a second criterion, and w2 is a corresponding second weighting function, and so on. The weighting functions w1, w2, ... could for example be simple multiplications with weighting factors. In particular, these weights associated with each relevant criterion can be defined by a user input. This allows the user to control the effect of conflicting goals on the operation of the apparatus. In this fashion, the experience and the personal preferences of the user can still affect the configuration of the apparatus and the way the excess degrees of freedoms are set, by way of tuning the weights. But this influence can be exercised in a reproducible fashion, removing an element of arbitrariness from determining useful operational settings. The user input can for example be given via a graphical user interface (GUI) which contains sliders for setting a low value or a high value for a weighting factor associated with each of the considered criteria.
[0019] According to another generally preferred embodiment, the optimization criteria within the objective function comprise one or more of the following first group of criteria: a number of directional changes with respect to the available movement axes within the movement path, a total length of travel with respect to the available movement axes within the movement path, a velocity, in particular a maximum velocity with respect to the available movement axes within the movement path, an acceleration, in particular a maximum acceleration with respect to the available movement axes within the movement path, a proximity of the configuration of the apparatus to a singularity pose within the movement path, a proximity to predefined geometrical limits with respect to the available movement axes within the movement path.
[0020] This first group of criteria comprises geometrical quantities which can be determined for each movement path by a geometrical simulation of the movement path. In general, each movement path is defined by the full set of k coordinates, usually each as a function of time. Therefore, the positions and orientations of the tool, the workpiece and all relevant moving parts of the manipulators are known for each time step. As a result, the corresponding velocity and acceleration values are also known.
[0021] A directional change is for example a change in the direction of an angle variation with respect to a rotational axis. According to another example, it can be a change in the direction of a translational motion with respect to a translational axis. A directional change with a movement axis often gives rise to a backlash when executing a predetermined movement path and therefore a deviation between the intended path and the actually implemented path.
[0022] Additionally, frequent directional changes can lead to an increased inaccuracy in implementing the target path. It can also lead to an increased wear of the motor(s) actuating the corresponding movements according to the individual movement axes. The criterion of minimizing the number of directional changes can be a composite criterion comprising terms (contributions) for the individual movement axes, and each such term can be weighted with a corresponding weighting factor.
[0023] A total length of travel for a given movement axis is for example a range of angles covered during the movement with respect to a rotational axis. Alternatively, it can be a range of translational positions covered during the movement with respect to a translational axis. Generally and independent of the implementation of the various movement axes, it is favorable to minimize the total length of travel with respect to the individual movement axes. A large length of travel typically gives rise to a larger energy consumption and / or to a higher wear associated with the corresponding movement axis. The criterion of minimizing the total length of travel can be a composite criterion comprising terms (contributions) for the individual movement axes, and each such term can be weighted with a corresponding weighting factor.
[0024] The velocity with respect to a given movement axis can for example be an angular velocity or a translational velocity. It is generally favourable to minimize the velocities and in particular the maximum velocities along the movement path with respect to the individual movement axes. A large velocity typically gives rise to more vibrations, to a larger energy consumption and / or to a higher wear. The criterion of minimizing the (maximum) velocities can also be a composite criterion comprising weighted terms for the individual movement axes.
[0025] The acceleration with respect to a given movement axis can for example be an angular acceleration or a translational acceleration. It is generally favourable to minimize the accelerations and in particular the maximum accelerations along the movement path with respect to the individual movement axes. In other words, the smoothness of the velocity profile is to be maximized. A large acceleration typically gives rise to larger vibrations, to a larger energy consumption and / or to a higher wear. The criterion of minimizing the (maximum) accelerations can also be a composite criterion comprising weighted terms for the individual movement axes.
[0026] A singularity pose of a manipulator, in particular of a robotic arm, is a pose in which the motion of the end effector (the unit holding the tool) is restricted. This can for example happen when a robot arm with several rotational axes has a configuration where two or more axes coincide in their orientation. In such a configuration (i.e. in the corresponding singular point within the available coordinate space), the robot arm loses one degree of freedom and accordingly the motion of the end effector becomes blocked in certain directions. Such a blocking state can cause a controller of the apparatus to crash and therefore to terminate the automated execution of a target path. Such a singularity pose is therefore generally to be avoided during the operation of a manipulator, and this avoidance can be treated as a boundary condition in the optimization. For optimizing the configuration, it is generally favorable to minimize even the proximity to such singularity poses. The criterion of minimizing the proximity to singularity poses can also be a composite criterion comprising weighted terms for the individual singularity poses, if more than one such singularity pose is possible within the manipulator(s) of the apparatus.
[0027] A predefined geometrical limit of a movement axis is for example a minimum or maximum joint angle for a rotational axis or a minimum or maximum x, y, or z position for a translational axis. Such geometrical limits can arise from the mechanical implementation of each axis and are typically represented in the operating specifications of the manipulator(s). Therefore, the avoidance of exceeding such geometrical limits can be a boundary condition (a hard limit) for the optimization. For optimizing the objective function, it is also generally favorable to minimize even the proximity to such geometrical limits. The criterion of minimizing the proximity to geometrical can also be a composite criterion comprising weighted terms for the individual movement axes, for which geometrical limits are relevant.
[0028] According to another generally preferred embodiment, the optimization criteria within the objective function comprise one or more of the following second group of criteria: a total energy consumption for the implementation of the movement path, a proximity of cables attached to the apparatus to other cables and / or to joints and / or limbs and / or other elements of the apparatus within the movement path, a rigidity of the poses assumed along the movement path, a predicted wear of the apparatus due to the implementation of the movement path, a deviation of the tool orientation from the direction of gravity.
[0029] This second group of criteria reflects further aspects of the operation of the apparatus, apart from the simple geometrical configuration of the individual movement axes in implementing the target path. A prediction of physical quantities according to these further criteria may involve more complex simulations, i.e. simulations of other physical properties apart from the geometrical configuration of the manipulator(s). In a particularly favorable embodiment, the objective function comprises at least one criterion from the first group and at least one criterion from the second group of criteria.
[0030] The total energy consumption for implementing the movement path typically comprises the contributions for the energy consumption for the movements according to the individual movement axes. These may be the energy consumptions of individual drives, in particular of individual motors associated with these individual movement axes, such as motors for rotational motion and / or motors for linear motion. Apart from the parameters of these motors, the energy consumption is also influenced by the properties of any gear units, friction in robotic joints and movement rails, size and weight of robotic limbs and the like. It is generally favourable to minimize the overall energy consumption. The total energy consumption can for example be minimized by executing larger movements of lighter parts (e.g. a relatively light tool) and smaller movements of heavier parts (e.g. a relatively heavy workpiece and / or workpiece mount).
[0031] A proximity of cables and other auxiliary elements attached to the apparatus to other cables and / or to joints and / or limbs and / or other elements of the apparatus within the movement path is also generally to be minimized. A collision of such elements can be treated by a boundary condition which excludes certain forbidden geometries from the optimization. In addition, a minimization of the proximity to such an unfavourable configuration can also enter the objective function as one of the optimization criteria. An unfavourable configuration of a cable can also be given by a sharp bending angle of a cable which can lead to an increased wear of the cable.
[0032] The rigidity of a pose (in particular the pose of a robotic arm) can be a relevant criterion when a mechanical force is applied between the tool and the workpiece, in particular during a machining step of a manufacturing process. For example, processes like milling, drilling, or grinding lead to vibrations within the tool manipulator and / or the workpiece manipulator which can destabilize the apparatus. It is therefore generally favorable to maximize the rigidity of the manipulator poses which are used in such process steps. The settings with respect to the excess degrees of freedom can have a high influence on the rigidity (higher stiffness) of the manipulators in the direction where the corresponding forces between tool and workpiece are applied.
[0033] The configuration with respect to the excess degrees of freedom can also have an impact on the predicted wear of the apparatus. The predicted wear with respect to a certain movement axis can be influenced by the covered length of travel, the velocities, acceleration, and directional changes along the movement path, as explained above. It can also be influenced by the energy consumptions of the associated drives and the heat dissipation within the associated elements of the apparatus. It is generally favorable to minimize the predicted wear of the apparatus which arises from the implementation of the movement path. The wear can for example be minimized by avoiding overly repetitive movements and replacing them by more diverse implementations.
[0034] For some apparatuses it is favorable to operate them with a tool orientation which is close to the direction of gravity. This is often the case for manufacturing apparatuses, in particular for apparatuses for additive manufacturing processes or for other types of material deposition apparatuses. When additional material is to be deposited onto the workpiece, it is generally favorable to maintain a relatively constant deposition direction (with respect to the direction of gravity) along the target path. In particular, it is favorable to minimize the deviation of the tool orientation from the direction of gravity, in other words the deposition direction should be close to the direction of gravity.
[0035] Generally, the extremization within step c) can be carried out subject to one or more further constraints. In other words, one or more boundary conditions can be observed in the extremization, such as: an avoidance of exceeding pre-determined motion limits for the individual movement axes, an avoidance of collisions of parts of the apparatus and other forbidden poses.
[0036] The violation of pre-determined geometrical limits of the individual movement axes should generally be avoided as explained above. In the same way, collisions should be avoided, such as collisions between the existing manipulators and / or between individual joints, limbs, cables and / or other elements within each manipulator. Similarly, other forbidden poses can be defined and excluded from the extremization, such as the singularity poses defined above. Similarly, the allowed deviation of the tool orientation from the direction of gravity can be restricted to a permitted range. For example, for a wire-arc additive manufacturing process, the deviation of the deposition direction from the direction of gravity is usually limited to a maximum of about + / - 20°. For a fused deposition modelling process, a maximum deviation of about + / - 45° is more typical.
[0037] According to a first favorable alternative for the optimum configuration determined in step c), this optimum configuration varies as a function of the progress along the target path. In other words, the optimum value according to each excess degree of freedom is not constant, but variable along the movement path and therefore time dependent. Correspondingly, the execution of the movement path in step c) also uses variable progress-dependent settings for these excess degree(s) of freedom.
[0038] In order to determine this optimum configuration as a function of the progress along the target path, the target path can be subdivided into a number of segments, and the optimum setting(s) with respect to the excess degree(s) of freedom can be determined by an extremization for each such segment of the target path. Correspondingly, the simulated values for the objective function can be determined separately for each path segment. The overall values for the objective function (as a function of the free parameters) are then obtained by a summation of the contributions of the individual segments. As a result, an optimum value set is obtained for each path segment. When the segments are larger than the step size for controlling the movement of the manipulator(s), a blending between the resulting set of discrete optimized values can be performed in order to avoid abrupt, stepwise changes with respect to the associated movement axes.
[0039] According to a second favorable alternative for the optimum configuration determined in step c), the optimum values associated with the excess degree(s) of freedom can be held constant along the target path. Such a constant optimum configuration is much simpler to determine and implement. However, the performance in terms of the above-mentioned criteria can be somewhat inferior if the flexible parameters are held constant along the path. Depending on the complexity of the apparatus and the complexity of the given target path, the expected improvement may or may not be worth the additional effort in the extremization step c) and in the execution step d).
[0040] According to another generally preferred embodiment, the extremization according to step c) can be carried out by an optimization algorithm. Many suitable mathematical optimization algorithms for solving optimization problems are known in the art. For example, an evolutionary algorithm (such as a genetic algorithm), a particle swarm algorithm, an ant-colony optimization algorithm and / or a brute-force optimization algorithm can be used. Alternatively or additionally, a machine-learning approach may be used. In such an approach, an artificial intelligence (for example, an artificial neural network) can be trained with existing data sets to yield optimized sets of output values for a given input. Generally and independently of the applied method, it is important to note that the obtained optimum does not have to be the best solution that is possible within the solution space. It is only the best solution that is found by the applied extremization procedure, and the corresponding optimum configuration is then used to control the movement.
[0041] According to a further, generally favourable embodiment, the computer-assisted simulation, on which the extremization of step c) is based, can at least in part be carried out as a substep within step c). In other words, the extremization involves an in-situ simulation for determining the value of the objective function for each candidate movement plan that is to be evaluated in the extremization. Such a simulation can for example comprise a geometrical simulation of the positions, orientations, velocities and accelerations of the tool and the workpiece as a function of the k coordinates in which the movement path is defined. In addition, the positions, orientations, velocities, and accelerations of other elements of the apparatus, such as robotic limbs, joints, motors, gear units and / or cables can be derived. According to one variant, the simulation can be based on a purely geometrical simulation model. According to an alternative variant, the simulation can be based on a more complex model which allows the modelling of other physical quantities such as energy consumption, heat dissipation, friction, wear and / or rigidity and the like. It is also possible that only part of the simulation is carried out as a sub-step within step c) and another part of the simulation is carried out separately (e.g. outside of the method for controlling the movement). For example, the results of some previously performed simulations can be supplied within a data base. Alternatively to a simulation, some quantities such as energy consumption and / or rigidity as a function of the coordinates with respect to individual movement axes can be supplied from historical data (e.g. from physical measurements in the form of a look-up table). In any case, the evaluation of the objective function within step c) shall at least in part be based on a simulation and this can in particular be a geometrical simulation which is carried out as a substep of step c).
[0042] According to a generally favorable embodiment, the apparatus can be a manufacturing apparatus. The advantages of the present invention are particularly relevant with respect to automated manufacturing processes, where an automatically controlled movement of a tool with respect to a workpiece is usually applied. According to a first variant of this embodiment, the apparatus can be an apparatus for an additive manufacturing process. Such an additive manufacturing process is also sometimes referred to as "generative manufacturing" or as 3D printing. According to the industrial norm ASTM F2792, an additive manufacturing process is understood to be a process of joining materials to make objects from 3D model data, usually (but not necessarily) layer upon layer, as opposed to subtractive manufacturing methodologies. The invention is particularly relevant with respect to such additive manufacturing processes, as these processes often involve complex pre-defined target paths for depositing the material to generate the workpiece, and there is often at least one excess degree of freedom available. In this embodiment, the workpiece does often not yet exist at the start of the manufacturing process, but rather it is created on a workpiece mount (relative to which the tool is moved) during the manufacturing process.
[0043] Alternatively or additionally, the manufacturing apparatus can be an apparatus for a carrying out conventional subtractive manufacturing process (machining) such as milling, drilling, grinding, cutting or the like. The apparatus can also comprise a pick-and-place unit with a gripping tool for handling a workpiece.
[0044] Correspondingly, the tool can for example be or comprise one or more of the following elements:
[0045] - a laser source,
[0046] - a welding tool,
[0047] - an extrusion tool,
[0048] - a coating tool (e.g. a spraying tool),
[0049] - an electron-beam source,
[0050] - a plasma source,
[0051] - an ultrasonic source,
[0052] - a rotatable machining tool,
[0053] - a knife,
[0054] - a gripper tool.
[0055] In this list, the first seven entries are typical tool types used in additive manufacturing apparatuses. In contrast, rotating machining tools and knives are often used in apparatuses for traditional, subtractive manufacturing. A rotatable machining tool can for example be a rotary milling, drilling, or grinding tool. Alternatively or additionally, a rotating propellor tool may be used for cleaning the workpiece. A common feature or all rotating and rotationally symmetric tools is that the orientation with respect to the rotational axis or symmetry axis is usually not defined within the pre-defined target path. According to a generally preferred embodiment, the apparatus comprises a tool manipulator, by which at least part of the relative movement between tool and workpiece can be executed. This tool manipulator can in particular be or comprise a robotic device (such as a robotic arm), a movable table or a combination thereof. A robotic arm with a plurality of rotational axes is particularly favorable or achieving a relative movement with respect to a large number of movement axes.
[0056] Additionally or alternatively, the apparatus can comprise a workpiece manipulator, by which at least part of the relative movement between tool and workpiece can be executed. This workpiece manipulator can in particular be or comprise a robotic device (such as a robotic arm), a movable table or a combination thereof. For example, the workpiece can be mounted to a movable table such as a one-, two- or three-dimensional tilt table, which optionally also provides one or more translational degrees of freedom. Alternatively, the workpiece can also be mounted to a robot arm. When both the tool and the workpiece are manipulated by robot arms, a particularly high number of available degrees of freedom for the relative movement can be achieved. For example, twelve degrees of freedom can be achieved, when robot arms with six degrees of freedom each as used as tool manipulator and as workpiece manipulator.
[0057] Generally favorably, the number I of coordinates specifying the target path can be five or six. A five-dimensional target path can for example specify three cartesian position coordinates and two tilt angles, whereas the third tilt angle is not specified. Such a five-dimensional target path is often used for rotating or rotationally symmetric tools. A six-dimensional target path can in particular specify three cartesian position coordinates and three tilt angles. Such a sixdimensional target path is often used when the orientation relative to the tool axis matters for the process (for example when the tool is a swivel knife). Generally, the number k of available degrees of freedom, as given by the present manipulator(s), is higher than the dimensionality of the specified target path by at least an integer of one. If the target path is specified in five dimensions, k can for example be between 6 and 12, particularly between 6 and 8. If the target path is specified in six dimensions, k can for example be between 7 and 12, particularly between 7 and 9.
[0058] Further advantages and details of the invention may be found in the exemplary embodiments described below and in the drawings, in which:
[0059] Figure 1 shows a schematic representation of a target path for the relative movement between a tool and a workpiece, Figure 2 shows a schematic perspective view of an apparatus comprising a tool manipulator and a workpiece manipulator,
[0060] Figure 3 shows an enlarged view of the tool area of the apparatus of Figure 2 in a first configuration,
[0061] Figure 4 shows a similar view of this apparatus in a second configuration, Figure 5 shows an overall view of this apparatus in an unfavorable pose, Figure 6 shows a flow diagram illustrating several steps of the method for controlling the movement and
[0062] Figure 7 shows how the optimum value for a selected movement coordinate can vary as a function of the progress along the target path.
[0063] Figure 1 shows a schematic representation of a tool 10 and its target path T relative to a workpiece mount 22 in perspective view. The tool 10 is shown in one representative position near the center of the target path T. This is a close-up view of part of an overall apparatus, which comprises a tool manipulator and a workpiece manipulator (both not shown here) for executing a relative movement according to this target path T. The apparatus is a manufacturing apparatus, in this case for an additive manufacturing process, namely for so- called wire-arc additive manufacturing (WAAM). Correspondingly, the tool is a weld torch for welding a wire of metallic material, thereby depositing layers of this material. This process can be used for additive manufacturing or for repairing a metallic workpiece. When a workpiece is additively manufactured, it is not yet present at the start of the process, but it is formed during the deposition of material. Correspondingly, Figure 1 shows a state where the workpiece is not yet there, but rather will start to be formed by the depositioning of the first layer on a base plate 23 which is attached to the workpiece mount 22. The depicted target path T corresponds to the deposition of the first layer of material. Usually, the additive manufacturing of a whole workpiece involves the subsequent depositioning of several such layers, and each layer involves a similar target path section. The plurality of layers and their corresponding target path sections for the movement of the tool define the overall geometry of the workpiece to be formed. For the sake of simplicity, the metal wire and the part of the apparatus holding the wire are not shown here, but another tool may be present to hold the wire, and for this holding tool a target path relative to the created workpiece may also be defined in a similar way.
[0064] The target path T defines the relative movement between the tool 10 and the workpiece to be formed. It is possible that the tool 10 is moved or the workpiece is moved or both. Each movement can be described within a cartesian coordinate system with the coordinates x, y, and z. The target path T for the relative movement is defined with respect to a plurality of relevant movement coordinates, corresponding to a plurality of movement axes, depending on the nature of the process. In this example, the target path is defined with respect to five movement axes for the tool 10 relative to a workpiece. The five movement axes correspond to three translational coordinates within the cartesian coordinate system and two rotational coordinates. These rotational coordinates correspond two tilt axes, namely the tilt around the x axis and the tilt around the y axis. The tilt angle with respect the z axis is not defined in the target path, because the weld tool 10 is rotationally symmetric and the rotational coordinate with respect to this axis is not relevant for the process. When the tool manipulator for example allows a movement of the tool with respect to six movement axes (thereby fixing the values of three translational position coordinates and three rotational coordinates), this gives rise to one excess degree of freedom which is not determined by the five-dimensional definition of the target path. The six-dimensional movement of the tool manipulator is therefore underdetermined by the target path even when the workpiece fixed in space during the process. Therefore, there arises an additional flexibility for defining the movement path for the tool in six dimensions.
[0065] Figure 2 shows a similar schematic perspective view of an apparatus 1 comprising a tool manipulator 11 for a motion of the tool 10 of Figure 1 and a workpiece manipulator 21 which also enables a movement of the workpiece to be formed on the workpiece mount 22. The tool 10 is connected to the tool manipulator 11 by a tool mount 12. In this example, the tool manipulator 11 is a robotic arm, which comprises robotic joints and actuators that allow a movement with respect to six rotational movement axes A1 to A6. Such a robotic arm 11 is also sometimes referred to as a six-axes robot. The workpiece manipulator 21 is a tilt table which provides two additional rotational movement axes A7 and A8 for positioning and / or orienting the workpiece. In total, there are therefore eight movement axes A1 to A8 available for actuating a relative movement between the tool 10 and the workpiece to be formed. Compared to the target path T defined in only five dimensions, there are three excess degrees of freedom which correspond to flexible coordinates that are not yet fixed by defining the target path T. If the two movement axes A7 and A8 of the workpiece manipulator 21 are frozen within the additive manufacturing process (i.e. during the execution of the target path T), there still remains one excess degree of freedom because the tool manipulator provides six movement axes A1 to A6. The following figures show different manipulator poses for the tool manipulator 11 with respect to this excess degree of freedom, in particular for different tilt angles around the z axis.
[0066] Figure 3 shows a close-up view of the area of the tool 10 of the apparatus 1 of Figure 2 in a first configuration. In this figure, a schematic illustration of the workpiece 20 to be formed is also shown. The weld tool 10 is attached to the tool mount 12, the tool mount 12 in turn being attached to the joint corresponding to the outermost rotational axis A6 of the workpiece manipulator 11. The first configuration corresponds to a robotic pose, where the axis A6 forms a relatively small angle with the x axis and a relatively large angle with the y axis. Figure 4 in turn shows a second configuration of the apparatus, corresponding to a robotic pose where the axis A6 forms a relatively large angle with the x axis and a relatively small angle with the y axis. The two configurations differ in the rotational angle of the tool 10 with respect to the z axis. The target path T can be implemented with each of the two configurations, as shown in Figures 3 and 4. It can also be implemented with other tool orientations with respect to the z axis. During the implementation of the target path T, the orientation with respect to the z axis can in principle either remain fixed or it can vary along the path. Note that in this example, the orientation with respect to the z axis is not influenced by one single rotational axis of the robotic arm 11 , but rather by an interplay of all rotational axes A1 to A6 of the robotic arm. However, when the orientation with respect to the z axis becomes fixed (either to a constant value or to a given profile along the target path), then the movement profiles for all six rotational axes A1 to A6 for implementing the target path T become fixed, because now the movement path is fully defined within the six available coordinates. In this sense, the configurations of Figure 3 and Figure 4 show two possible implementations of the same target path T, which differ by the orientation of the tool 10 with respect to the z axis (which in this case remains fixed along the target path T within each configuration).
[0067] The two configurations according to Figures 3 and 4 can have a different performance with respect to different performance criteria. For example, these two different implementations of the target path can differ in the length of travel with respect to the angular movements of the six rotational joints and in the velocities and accelerations of these angular movements. They can differ in the energy consumption for actuating the movement, in the expected wear caused to the tool manipulator 11 and in the proximity to unfavorable poses with respect to the whole robot or with respect to certain movement axes. These are just a few examples of criteria by which the different implementations of the target path T can be evaluated and according to which a selection can be made.
[0068] Figure 5 shows an overall view of the same apparatus 1 in a third configuration which corresponds to an unfavorable pose of the robotic arm 11. As compared to the configuration of Figure 3, the tool mount 12 reaches towards the target region roughly from the opposite side. Correspondingly, the robotic limbs close to the pedestal of the robotic arm are quite extended, but the joint corresponding to axis A5 is at or near the geometrical limit that is allowed for this joint. This geometrical limit arises from the fact that the two robotic limbs which are connected to the joint of axis A5 will collide if the corresponding joint is bent further. Therefore, the third configuration according to Figure 5 is either a forbidden configuration which is excluded from a search for a favorable configuration, or it is an unfavorable configuration which is awarded a large penalty (i.e. , an unfavorable contribution) in an objective function used to find an optimal solution for a movement path.
[0069] Figures 2 to 5 illustrate only one example of how an available excess degree of freedom can lead to different possible implementations of the target path. In this example, the tool orientation with respect to a z axis rotation can be used to specify an optimum configuration and thereby fully determine the movement path. According to other possible examples, an excess degree of freedom can be fixed by specifying a certain robot configuration, such as an angular value for a selected rotational axis. This can also "freeze" the excess degree of freedom and thereby lead to a fully determined movement path. In other examples, there can be more than one excess degree of freedom which can be optimized according to the present invention. For example, the workpiece mount 22 with the manufactured workpiece can be moved according to the additional rotational axes A7 and A8 during the process, and optimum settings can be derived for those additional movement axes of the workpiece (also sometimes referred to as auxiliary axes). In this case, a three-dimensional optimum configuration can be determined by the method according to the invention.
[0070] Figure 6 shows a flow diagram illustrating several steps of the method for controlling the movement according to the present invention. For example, this method can be applied for determining a favorable movement path which implements the five-dimensional target path T with the apparatus 1 of Figures 2 to 5 by using the six dimensions provided by the robotic arm 11 or by using the eight dimensions provided by both manipulators 11 and 21.
[0071] In step a), the target path T is determined in terms of I specified coordinates. For example, this can be the five-dimensional target path according to Figure 1. In step b), an objective function F is defined, which comprises several optimization criteria c1 , c2, etc. for selecting a suitable configuration of the excess coordinates of the movement, as explained above. These criteria can each be associated with a weight, and a user can for example determine the weights for the different criteria. For example, the total length of travel covered by all rotational axes can enter the function with a first weighting factor, the expected total energy consumption can enter the function with a second weighting factor and the proximity to certain unfavorable poses (such as the pose of Figure 5 can enter the function with a third weighting factor. However, this is just one illustrative example, and many combinations of criteria can be used to define the objective function. It is only essential that the objective function contains a plurality of criteria and that it provides a way of quantitatively determining a value on which a selection between different candidate configurations can be based.
[0072] In step c), an extremization of the objective function F is performed, based on simulated values of the objective function. These simulations can be performed by simulation module SIM, which can for example be integrated into a controller of the apparatus or which can be implemented in a separate processor. The simulation can be performed as a substep of step c), as indicated here. In principle, it can also be performed separately or at least parts of it can be performed separately, and certain values (e.g., the predicted energy consumption as a function of a specific movement with respect to a specific axis) can be provided within a data base to be used within step c). In any case, the objective function is evaluated for a number of different configurations, and an extremization is performed by minimizing or maximizing the resulting value as a function of the coordinates associated with the at least one excess degree of freedom (e.g. the rotation of the tool with respect to the z axis in Figure 2 to 5). The extremization can for example be performed by means of an optimization algorithm and / or by using a machine learning approach. In any case, an optimum OPT is obtained, which can be an approximation of either a local or a global extremum of the objective function F. The optimum OPT corresponds to a favorable configuration with respect to the at least one excess degree of freedom. The optimum OPT can for example be a constant setting (i.e. , a fixed optimum value) for an excess degree of freedom along the target path. Alternatively, it can be an optimum configuration which comprises a variation of the corresponding setting along the target path.
[0073] In step d), the relative movement between the tool 10 and the workpiece 20 is executed by the apparatus 1. In particular, this relative movement can be controlled by a controller CON of the apparatus 1. The movement is executed and controlled according to an overall movement path which implements the target path T by setting the movement coordinate(s) according to the at least one excess degree of freedom to the optimum configuration OPT, as determined in step c). It is to be noted that a setting according to the optimum configuration generally includes a setting which deviates slightly from the exact optimum value(s) as determined by the extremization, e.g. by rounding errors, offsets and / or inaccuracies of the control process. A smoothing between a series of discrete optimum values OPT shall also be comprised, as explained in more detail below.
[0074] As explained above, the optimum configuration OPT can be represented by a fixed value for the relevant flexible coordinate(s) or by a variable value which depends on the progress along the target path T. In the second case, the variable value can be obtained by segmenting the target path T into a number of pre-defined segments and performing the extremization of step c) for each of those segments. For example, a movement path with a length of several meters (as specified by the distance covered in cartesian space), can be sub-divided into segments with a width of a few millimeters, for example a width of 10 mm each.
[0075] The result of such a segmented optimization is illustrated schematically in Figure 7. Figure 7 shows a plot of the value v determined by the extremization for a selected movement coordinate (corresponding to an excess degree of freedom) as a function of the progress p along the target path. This one-dimensional progress coordinate p is characteristic of the progress along the predefined target path T. Such a progress coordinate p can for example be a covered distance from a pre-determined starting position in a three-dimensional cartesian coordinate space. Alternatively, the progress coordinate can be represented by time steps for the time necessary to cover the target path. In any case, the target path T can be sub-divided into a plurality of segments s, five of which are shown in the representative illustration of Figure 7. The extremization of step c) can be performed separately for each segment. This can for example be done by evaluating the contribution to the objective function for each segment. The extremization of the objective function then leads to an optimum configuration OPT for each of the segments s. As shown explicitly for the first segment s, this optimum value OPT can be assigned to a data point dp which corresponds to the center of the segment. As can be seen from the graph, a different optimum value is obtained for each segment. In order to avoid abrupt changes in the flexible coordinates when implementing the target path, the value v can be varied according to a smoothed curve when the movement path is implemented in step d). The result of such a smoothing or blending is illustrated by the solid line connecting the selected data points dp at the centers of the individual segments.
[0076] It is to be noted that independent of the grammatical term usage within the above description, individuals with male, female or other gender identities are included within the term. Reference Numerals
[0077] I apparatus
[0078] 10 tool (welding tool)
[0079] I I tool manipulator (robotic arm)
[0080] 12 tool mount
[0081] 20 workpiece
[0082] 21 workpiece manipulator (tilt table)
[0083] 22 workpiece mount
[0084] 23 base plate
[0085] A1-A8 movement axes CON controller dp selected data point
[0086] F objective function
[0087] OPT optimum value I optimum configuration p progress coordinate s segment of target path
[0088] SIM simulation module
[0089] T target path v value of selected movement coordinate x,y,z cartesian coordinates
Claims
Patent Claims1. Method for controlling the movement of a tool (10) relative to a workpiece (20) within an apparatus (1), the apparatus (1) comprising a tool manipulator (11) and / or a workpiece manipulator (21) to enable the relative movement according to a plurality k of movement axes (A1-A8), thereby defining a number k of available degrees of freedom for the relative movement, the method comprising the following steps: a) determining a target path (T) for the relative movement, which contains a number I of specified coordinates which is smaller than the number k of available degrees of freedom, thereby giving rise to a number m = k-l of excess degrees of freedom, b) defining an objective function (F) which contains a plurality of optimization criteria for the movement, c) extremizing the objective function (F) based on a computer-assisted simulation (SIM) of a plurality of overall movement paths which implement the target path (T), wherein the objective function (F) is extremized by varying at least one movement coordinate corresponding to at least one excess degree of freedom, thereby obtaining an optimum configuration (OPT) for said at least one movement coordinate, d) controlling the relative movement according to an overall movement path which implements the target path (T), wherein the at least one movement coordinate is set to its optimum configuration (OPT) for at least part of the movement path.
2. Method according to claim 1, wherein each optimization criterion is associated with a corresponding weight within the objective function, said weights being defined by a user input.
3. Method according to claim 1 or 2, wherein the optimization criteria within the objective function comprise at least one of the following first group of criteria: a number of directional changes with respect to the available movement axes (A1-A8) within the movement path, a total length of travel with respect to the available movement axes (A1-A8) within the movement path, a maximum velocity with respect to the available movement axes (A1-A8) within the movement path, a maximum acceleration with respect to the available movement axes (A1-A8) within the movement path,a proximity of the configuration of the apparatus (1) to a singularity pose within the movement path, a proximity to predefined geometrical limits with respect to the available movement axes (A1-A8) within the movement path.
4. Method according to any of the preceding claims, wherein the optimization criteria within the objective function comprise at least one of the following second group of criteria: a total energy consumption for the implementation of the movement path, a proximity of cables attached to the apparatus (1) to other cables and / or to joints and / or limbs and / or other elements of the apparatus (1) within the movement path, a rigidity of the poses assumed along the movement path, a predicted wear of the apparatus (1) due to the implementation of the movement path, a deviation of the tool orientation from the direction (z) of gravity.
5. Method according to any of the preceding claims, wherein the extremization with step c) is carried out subject to at least one of the following constraints: an avoidance of exceeding pre-determined motion limits for the individual movement axes (A1-A8), an avoidance of collisions of parts of the apparatus (1) and other forbidden poses.
6. Method according to any of the preceding claims, wherein the optimum configuration (OPT) determined in step c) varies as a function of the progress (p) along the target path (T).
7. Method according to any of the preceding claims, wherein the extremization according to step c) is carried out by means of an optimization algorithm and / or based on a machine-learning approach.
8. Method according to any of the preceding claims, wherein the computer-assisted simulation (SIM) is at least in part carried out as a substep within step c).
9. Method according to any of the preceding claims, wherein the apparatus (1) is a manufacturing apparatus, in particular an apparatus for an additive manufacturing process.
10. Method according to any of the preceding claims, wherein the tool (10) is or comprises at least one of the following elements:- a laser source,- a welding tool,- an extrusion tool,- a coating tool,- an electron-beam source,- a plasma source,- an ultrasonic source,- a rotatable machining tool,- a knife,- a gripper tool.
11. Method according to any of the preceding claims, wherein the apparatus (1) comprises a tool manipulator (11), in particular comprising a robotic device and / or a movable table.
12. Method according to any of the preceding claims, wherein the apparatus (1) comprises a workpiece manipulator (21), in particular comprising a robotic device and / or a movable table.
13. Method according to any of the preceding claims, wherein the number I of coordinates specifying the target path (T) for the relative movement is five or six.
14. A computer program product with program code, which is stored in machine-readable form on a medium, for carrying out a method according to one of the preceding claims when the program code is executed on a computer.
15. An apparatus (1) for controlling the movement of a tool (10) relative to a workpiece (20), the apparatus (1) comprising a tool manipulator (11) and / or a workpiece manipulator (21) to enable the relative movement according to a plurality k of movement axes (A1-A8), wherein the apparatus (1) further comprises a control device (CON) configured for carrying out the method according to any of the claims 1 to 13.
Citation Information
Patent Citations
Spawning cage for black soldier fly
KR1020230015560A
Method of robot dynamic motion planning and control
US20230302645A1
Cited By
Robot evaluation method, storage medium, electronic device and program product
CN121018532A