Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR SUBTRACTIVE MANUFACTURING OF OBJECTS
Document Type and Number:
WIPO Patent Application WO/2021/214064
Kind Code:
A1
Abstract:
The invention relates to a method for manufacturing objects from a block of material (50) using a cutting element (20) attached to a robotic system (100), the robotic system (100) being configured to move and to control the cutting element (20), the method comprising the steps of: providing the target shape (40) of an object; calculating a set of data corresponding to a sequence of movements of the robotic system for configuring the cutting element (20); sequentially positioning the robotic system according to the set of data thereby sweeping the cutting element (20) creating a tool surface (30), and cutting the block of material (50); wherein the step of calculating the set of data comprises: formulating at least one objective function which describes the overall goal for the tool surface (30) to conform with the surface of the target shape, and applying an optimization algorithm to minimize the objective function. There is further provided a corresponding robotic system (100) for manufacturing of objects from the block of material.

More Like This:
JP2001121461ROBOT SYSTEM
WO/2017/033356ROBOT SYSTEM
Inventors:
PORANNE ROI (CH)
COROS STELIAN (CH)
DÜNSER SIMON (CH)
THOMASZEWSKI BERNHARD (CH)
Application Number:
PCT/EP2021/060250
Publication Date:
October 28, 2021
Filing Date:
April 20, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ETH ZUERICH (CH)
International Classes:
B25J9/16; B25J9/00; B25J11/00; B26D1/547; B26F3/12; G05B19/4099; B26D3/00; B26D5/00
Domestic Patent References:
WO2017157917A12017-09-21
Foreign References:
EP3429810A12019-01-23
Other References:
R RUST ET AL.: "SPATIAL WIRE CUTTING Cooperative robotic cutting of non-ruled surface geometries for bespoke building components", PROCEEDINGS OF THE 21ST INTERNATIONAL CONFERENCE OF THE ASSOCIATION FOR COMPUTER-AIDED ARCHITECTURAL DESIGN RESEARCH IN ASIA CAADRIA 2016, 1 January 2016 (2016-01-01), pages 529 - 538, XP055734090, Retrieved from the Internet [retrieved on 20200927]
ROMANA RUST: "Spatial Wire Cutting Integrated Design, Simulation and Force-adaptive Fabrication of Double Curved Formwork Components", 1 January 2017 (2017-01-01), Zurich (CH), pages 1 - 172, XP055734265, Retrieved from the Internet [retrieved on 20200928]
PETKOV KIRIL P ET AL: "Hot-blade cutting of EPS foam for double-curved surfaces-numerical simulation and experiments", THE INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING TECHNOLOGY, SPRINGER, LONDON, vol. 93, no. 9, 4 August 2017 (2017-08-04), pages 4253 - 4264, XP036370617, ISSN: 0268-3768, [retrieved on 20170804], DOI: 10.1007/S00170-017-0807-Y
MIKLÓS BERGOU ET AL: "Discrete viscous threads", ACM SIGGRAPH 2010 PAPERS, ACM, US, 26 July 2010 (2010-07-26), pages 1 - 10, XP058312534, ISBN: 978-1-4503-0210-4, DOI: 10.1145/1833349.1778853
BERGOU ET AL.: "ACM SIGGRAPH 2010 Papers", 2010, ACM, article "Discrete Viscous Threads."
Attorney, Agent or Firm:
P&TS SA (CH)
Download PDF:
Claims:
CLAIMS

1. A method for manufacturing objects from a block of material (50) using a cutting element (20) attached to a robotic system (100), the robotic system (100) being configured to move and to control the cutting element (20), the method comprisingthe steps of:

- providing a target shape (40) of an object;

- calculating a set of data corresponding to a sequence of movements of the robotic system for configuring the cutting element (20);

- sequentially positioning the robotic system according to the set of data thereby sweeping the cutting element (20) creating a tool surface (30), and cutting the block of material (50); wherein the step of calculating the set of data comprises: formulating at least one objective function which describes the overall goal for the tool surface (30) to conform with a surface of the target shape (40), and

- applying an optimization algorithm to minimize the objective function.

2. The method according to claim 1, wherein the optimization algorithm is a gradient-based algorithm. 3. The method according to any of the preceding claims, wherein the steps of calculating the set of data and sequentially positioning the robotic system are repeated until a predefined tolerance is achieved.

4. The method according to any of the preceding claims, wherein the calculating of the set of data further comprises formulating additional objective functions related to path smoothness and/or collision avoidance and/or workspace constrains. 5. The method according to any of the preceding claims further comprising the step of formulating a differentiable numerical model of the cutting element (20) for computing the rest shape of the cutting element for given boundary conditions .

6. The method according to any of the preceding claims further comprising the step of calculating a kinematic model of the robotic system (100).

7. The method according to any of the preceding claims, wherein the block of material (50) is made of expanded polystyrene foam.

8. The method according to any of the preceding claims, wherein the cutting element (20) is one of: a wire, a rod, a blade and a strip.

9. The method according to any of the preceding claims wherein the cutting element (20) is configured to be heated.

10. The method according to any of the preceding claims wherein the cutting element (20) is elastic and/or flexible.

11. The method according to any of the preceding claims wherein the cutting of the block of material (50) is user initialized or automatically initialized.

12. A Robotic system (100) for manufacturing objects from a block of material (50), the system comprising:

- at least one robotic arm (10) having an end effector (14a);

- a cutting element (20) attached to the end effector (14a); and - computing means configured to control the robotic arm (10) and execute the steps of the method of any of claims 1 to 11. 13. The system according to claim 12, the robotic system further comprising a support element (70), wherein one end portion (20a) of the cutting element is attached to the support element.

14. The system according to claim 12, wherein the robotic system comprises the first robotic arm and the second robotic arm having respectively a first end effector (14a) and a second end effector (14b), and wherein end portions (20a, 20b) of the cutting element are attached to the end effectors (14a, 14b). 15. A computer readable storage medium comprising instructions, which when executed by computer, cause the computer to carry out the steps of the method of any of claims 1 to 11.

Description:
Method and system for subtractive manufacturing of objects

Field of the invention

[0001] The present invention relates to a method and system for robotic manufacturing of objects out of block of material using a cutting element. Background

[0002] Robotic manufacturing is widely used in industrial and creative environments. Contemporary architecture and design are challenging traditional construction methods. Using molds for the realization of complex concrete structures or curvatures is state of the art for the construction of modern buildings. One common example of subtractive robotic manufacturing is hot-wire cutting. Hot-wire cutters can be easily mounted on robotic platforms, and together with milling tools, they are routinely employed in machine shops. For example, manufacturing curved concrete structures may rely on robotic hot-wire cutting systems for hot- wire cutting of molds made of polystyrene. These robotic systems are cutting out a predefined shape of the material following a calculated path and sequence of cuts.

[0003] Traditionally, a tensioned wire is used for the cutting, which relies on the cutting tool having a straight configuration. The straight configuration of the cutting tool however limits the number of cuttable shapes. For example, surfaces with cavities, i.e. bowl-like surfaces cannot be cut at all. Alternatively, permanently deformed metal rods, being self- supporting, can be shaped to match the desired shape for the cut. For complex structures this might be a disadvantage, as the tool must be changed several times to realize the complex structure, if the cut at all is feasible.

[0004] Further developments in hot-wire cutting technology lead to self- supporting but elastically deformable rods or blades as a cutting tool, which are manipulated from both ends to reversibly bend the tool into a desired shape. This allows not only a wider range of shapes which can be cut with this method, but also a reduction of the number of cuts required to realize a general target shape.

[0005] However, the prior art techniques have been limited to deformations of the cutting tool in a two-dimensional plane which therefore does not fully exploit the capabilities of elastically deformable tools. For example, EP3429810A1 describes a method and a system for manufacturing a mold for creation of complex objects, such as concrete objects, by deforming and moving a deformable cutting blade or rod through controlled movements of the first and the second end effector of a robotic system to which respective end portions of the deformable cutting blade are connected.

[0006] However, the solution according to this prior art divides a target surface into several segments. Each of the segments is represented by a sequence of planar curves. For each planar curve an elastic curve is calculated that approximates the said original curve. The cutting tool is deformed according to the elastic curve. This method requires a larger number of cuts, and segmentation of the fabricated object into smaller parts according to the surface segmentation. Calculation and realization, if at all feasible, of complex shapes may be cumbersome.

[0007] An aim of the present invention is therefore to provide a method and a system which mitigate at least some of the above-mentioned disadvantages.

Brief Summary

[0008] According to the present invention there is provided a method for manufacturing objects from a block of material using a cutting element attached to a robotic system, the robotic system being configured to move and to control the cutting element, the method comprising the steps of: providing a target shape of an object;

- calculating a set of data corresponding to a sequence of movements of the robotic system for configuring the cutting element; - sequentially positioning the robotic system according to the set of data thereby sweeping the cutting element creating a tool surface, and cutting the block of material; wherein the step of calculating the set of data comprises:

- formulating at least one objective function which describes the overall goal for the tool surface to conform with a surface of the target shape, and

- applying an optimization algorithm to minimize the objective function.

[0009] In an embodiment the optimization algorithm is a gradient- based algorithm. In one preferred embodiment the gradient-based algorithm is Gauss-Newton method.

[0010] In an embodiment the steps of calculating the set of data and sequentially positioning the robotic system are repeated until a predefined tolerance is achieved.

[0011] In an embodiment the calculating of the set of data further comprises formulating additional objective functions related to path smoothness and/or collision avoidance and/or workspace constrains.

[0012] In an embodiment the method further comprises the step of formulating a differentiable numerical model of the cutting element for computing the rest shape of the cutting element for given boundary conditions.

[0013] In an embodiment the method further comprises the step of calculating a kinematic model of the robotic system.

[0014] In an embodiment the block of material is made of expanded polystyrene foam.

[0015] In an embodiment the cutting element is one of: a wire, a rod, a blade and a strip. [0016] In an embodiment the cutting element is configured to be heated.

[0017] In an embodiment the cutting element is elastic and/or flexible.

[0018] In an embodiment the cutting of the block of material is user initialized or automatically initialized.

[0019] According to a further aspect of the present invention there is provided a system for manufacturing objects from a block of material. The system is comprising at least one robotic arm having an end effector; a cutting element attached to the end effector; and computing means configured to control the robotic arm and execute the steps of the method according to the invention.

[0020] In an embodiment the system comprises a support element, wherein one end portion of the cutting element is attached to the support element.

[0021] In an embodiment the system comprises the first robotic arm and the second robotic arm having respectively a first end effector and a second end effector, and wherein end portions of the cutting element are attached to the end effectors.

[0022] According to a further aspect of the present invention there is provided a computer readable storage medium comprising instructions, which when executed by computer, cause the computer to carry out the steps of the method of the embodiments of the invention.

Brief description of the drawings

[0023] The invention will be better understood with the aid of the description of several embodiments given by way of examples and illustrated by the figures, in which: Fig. 1 shows a perspective view of a robotic system comprising one robotic arm manufacturing an object out of a block of material according to an embodiment;

Fig. 2 shows a perspective view of a robotic system comprising two robotic arms manufacturing an object out of a block of material according to an embodiment;

Fig. 3 shows a perspective view of the block of material of Fig. 2when the object manufacturing is almost completed and a representation of a tool surface;

Fig. 4 shows a tool surface and manufacturing of a bowl-shaped object according to the invention;

Fig. 5 shows a tool surface and the manufacturing of the hart-shaped object according to the invention;

Fig. 6 shows another perspective view of robotic system, the tool surface structure and target object according to the invention;

Fig. 7 shows a point matching process of a targeted shape of the object and the points of the model of the cutting element.

Detailed description

[0024] Figure 1 shows the robotic system 100 according to one embodiment of the present invention. The robotic system 100 comprises for example one robotic arm 10 having a first arm 11a and a second arm portion 11b connected through a joint 12 to form a joint angle varying as a function of the movement of the first arm portion 11a relative to the second arm portion 11b. An end effector 14 is connected to the robotic arm 10. The robotic system 100 is configured to move and to control a cutting element 20, which is preferably in the form of one of a wire, a blade, a strip or a rod. In the preferred embodiment, the cutting element 20 is elastic and/or flexible. In one preferred embodiment the cutting element 20 is deformable. The cutting element 20 comprise a first end portion 20a and a second end portion 20b. The first end portion 20a may be attached to a terminal portion of the end effector 14. In the embodiment shown in Figure 1, the second end portion 20b may be attached to an anchoring element 72 which may be fixed or movable. For example, the second end portion 20b of the rod 20 may be attached to a fixed anchoring element 72 which may be part of a wall, a floor, a rod 70, a supporting table or any other suitable attaching structure.

[0025] According to this embodiment, the robotic arm 10 is configured to move the first end portion 20a of the cutting element 20 whereas the anchoring element 72 passively keeps the second end portion 20b of the rod 20 attached. Alternatively, the anchoring element 72 may be moved freely. For example, the anchoring element 72 may be operably connected to a rail system along which the anchoring element 72 may move. Alternatively, the anchoring element 72 may be a spring, a bearing or a rail. Any of these alternative anchoring elements would allow passive bending and twisting movements of the cutting element 20. The twisting and/or bending movements of the cutting element 20 are induced as a function of the physical property of the cutting element 20, the movement of the robotic arm 10 and the interdependence between the anchoring element 72 and the cutting element 20, for example the strain force induced by the anchoring element attached to the rod. A supporting element 60 may be provided onto which the block of material 50 is attached. In the embodiment illustrated in Figure 1, the supporting element 60 is a fixed element.

[0026] In one embodiment, the supporting element 60 is rotatable and/or movable in further directions. For example, the supporting element 60 may be an additional robotic arm 10c which may support and move the block of material 50. Mounting the workpiece on a robotic arm advantageously eliminates the need to manually re-adjust the placement and orientation of the material before each cut, and it may significantly increase the effective workspace of the robotic system 200. In yet another embodiment, the supporting element 60 comprises a rail system for incremental positioning or a ball-bearing having a degree of freedom of movements in a multitude of directions, whereby the block of material 50 may be moved and secured into a specific position for a 2D or 3D surface cut, and then moved and secured into another position for another 2D or 3D surface cut.

[0027] In an embodiment illustrated in Figure 2, the robotic cutting system 200 comprises a first robotic arm 10a and a second robotic arms 10b. Each of the first and second robotic arms 10a, 10b comprises a first arm and a second arm portion 11a, 11b connected through a joint 12 to form a joint angle varying as a function of the movement of the first arm portion 11a relative to the second arm portion 11b. A first and a second end effector 14a, 14b are connected respectively to the first and second robotic arms 10a, 10b. The robotic system 200 is configured to move and to control a cutting element 20, which is preferably in the form of one of: a wire, a blade, a strip or a rod. In the preferred embodiment, the cutting element 20 is elastic and/or flexible. In one preferred embodiment the cutting element 20 is deformable. The cutting element 20 comprises a first end portion 20a and a second end portion 20b connected to a distal portion of respectively the first and second end effectors 14a, 14b. Similarly to the embodiment illustrated in Figure 1, a supporting element 60 may be provided onto which the block of material 50 may be attached.

[0028] The robotic system 100, 200as shown in Figure 1, Figure 2 may be configured for the manufacturing of predefined objects 40 out of a block of material 50 through anticipating and controlling the deformations of the cutting element 20. [0029] In the embodiment illustrated in Figure 1, the deformations (bending and/or twisting) of the cutting element 20 may be produced by a sequence of movements of a distal portion of the end effector 14 of the robotic arm 10 to which is connected one of the first and second end portion 20a, 20b of the cutting element 20.

[0030] In the embodiment illustrated in Figure 2, the deformations of the cutting element 20 may be produced by a sequence of movements of a distal portion of both end effectors 14a, 14b of respective first and second robotic arms 10a, 10b to which the first and second end portions 20a, 20b of the deformable cutting element 20 are attached to.

[0031] For example, the object 40 may be cut out of the block of material 50 by the calculated motion path of the at least one robotic arm 10 moving the cutting element 20 through the block of material 50 in a predefined way according to method steps described below.

[0032] In the embodiment illustrated in Figure 2 the robotic system 200 is controlled as to move the first and second end effectors 14a and 14b to bend and/or twist and displace the deformable cutting element 20 and to position the block of material 50 with rotational and or inclinational movements, to define successive 3D cutting surfaces. The method as will be described in further detail hereafter, generates a sequence of trajectories of the first and second robotic arms 10a, 10b with the deformable cutting element 20 spanned between respective end effectors 14a, 14b, whereby the cutting element is swept through the block of material 50 to create a 2D or 3D cutting surface. This sequence of deformations and displacements of the cutting element 20 defines a tool surface 30.

[0033] In another embodiment the robotic cutting system is controlled as to move the first, second and third end effectors to bend and/or twist and displace the cutting element 20 and to position the block of material 50 with rotational and or inclinational movements, to define successive cutting surfaces. The method as will be described in further detail hereafter, generates a sequence of trajectories of the first and second robotic arms 10a, 10b with the deformable cutting element 20 spanned between respective end effectors whereby the cutting element is swept through the block of material 50 to create a 2D or 3D cutting surface.

[0034] The cutting element 20 may be bended and twisted such that the deformations of the cutting element may occur in a 3D space rather than being restricted to a 2D space.

[0035] In one embodiment, after the target shape 40 is provided, a set of data is calculated corresponding to a sequence of movements of the robotic system 100 for configuring a shape of the cutting element 20. Next, the robotic system is sequentially positioned according to the set of data, thereby sweeping the cutting element 20 creating the tool surface 30, thereby cutting the block of material 50. The trajectories for each cut may be optimized such that the cutting element 20 moves and deforms in order to maximally decrease the difference between the current workpiece and the target shape.

[0036] In one embodiment, a kinematic model of the robotic system is calculated. For example, a kinematic model links the robot joint angles with the end effector's positions and orientation, and thereby the cutting element boundary conditions, e.g. positions and orientations of the cutting element ends.

[0037] Figure 6 shows the configuration of Figure 2 in more detail indicating the notation which allows to better explain the required modelling. The surface generated by a given cut is defined as a tool surface 5. Each cut removes part of the workpiece I/I/, thereby reducing its distance to the target shape T. Starting from an initial workpiece W l the sequence of tool surfaces S k results in a sequence of workpieces W k , where . Each S k divides the current W K into two volumes: the one that remains, , and the one that is removed, Applying S k to W k thus results in a more refined workpiece which is then used as input for computing S k+1 .

[0038] In the discrete setting, a tool surface is defined by a set of piecewise linear curves stacked in time, each corresponding to an equilibrium state of the cutting element. Given robot joint angles q,, the corresponding equilibrium shape x, of the cutting element 20 is found by minimizing its elastic energy subject to the boundary conditions imposed by the robotic system. The joint trajectories are linearly discretized into timesteps q, where i=1,..., n k . Each q, produces a different wire configuration x, defined by nodal positions Xi j ΕR 3 . The tool surface S is obtained by linearly interpolating between subsequent x,. The proper cut is defined as a tool surface that satisfies (X 1 u x n ) n W = ø and that starts and ends entirely outside of the workpiece.

[0039] In one embodiment the method comprises formulating a differentiable numerical model for computing the rest shape of the cutting element 20 for given boundary conditions. For example, the elastic rod model as described in detail in Bergou et al. (2010, Discrete Viscous Threads. In ACM SIGGRAPH 2010 Papers, ACM, New York, NY, USA, Article 116, https://doi.org/10.1145/1833349.1778853) can be used to determine the shape of the cutting element 20 as a function of the robotic system configuration. This model represents twisting and bending of the wire by defining a material frame along its piecewise linear centerline x u whose edges are equipped with additional angle variables a έ = (c¾) that represent rotations of the cross section. The joint angles q t of the robot determine the position and orientation of its end-effectors which, in turn, impose boundary conditions on x t . For example, these boundary conditions may be enforced using soft constraints on ch,c^, and the material frame normal n tl on one end point, and analogously for x im-1 X im and rii m-! on the other end point. The positions and orientations of the end effectors are computed using forward kinematics. Specifically, 1,2, m - 1 ,m, and l = l,m - 1 may be the locations and the material frame normal of the attachment points in the end-effector's local coordinate system. The soft boundary constraint is then defined as where K(·,·) is the mapping from local to global coordinates, and z( v ) is the angle between two vectors.

[0040] The equilibrium shapes are determined for the wire by minimizing E wire (X i , α i , q)=E strech (x i ) + E bend (x I, α i) + E twist (x i' α i ) + where , Estrech, E bend and E twist denote energy terms corresponding to stretching, bending and twisting as defined in Bergou et al, and Wbound \s a scaling parameter for the penalty term.

[0041] The method of the present invention aims to optimize the efficiency of each cut, which requires some measure of difference between a given toolsurface S k+1 and the target shape T that accounts for the current workpiece W k . As the tool surface covers the target shape only partially and in an approximate way, this setting bears some similarity to the problem of non-rigid partial surface registration. However, as a crucial difference to standard metrics, parts of a cut that are not sufficiently close to the target shape may receive a constant penalty, since the corresponding surface region will have to be cut again. [0042] In designing a metric that reflects this aspect approximately, it may be for example possible to replace the standard Euclidean norm. As a starting point for such a metric, it is necessary to first establish correspondence between the target shape T and its partial approximation S.

[0043] Referring to Figure 7, U fc is the uncut surface part of T after k — 1 cuts. The first step is to find corresponding points between the wire nodes x = {x ij } that define the toolsurface S k and U k . A straightforward approach would be to match each vertex with its closest counterpart on U k . However, since nothing prevents several wire configurations x ; from taking on the same shape, this strategy runs the risk of making the toolsurface collapse to a single curve. For example, the roles may be switched and points on the target surface attract their closest counterparts on the tool surface.

[0044] The process may start by triangulating S k and uniformly sampling U k . Denoting the samples on U k it is possible to find for each u t its closest point on S k , which is denoted by e ( (x). This point can be either a vertex, or it can lie on an edge or within a triangle.

[0045] Having established correspondence, the distance between S k and U k may be defined as: where f p (·) models a norm, d (·, ) is the Euclidean distance, and Ai is the surface area pertaining to sample ui. The choice for f p has a large impact on the quality of the cut. The standard L 2 -norm may be inadequate since minimizing the average distance can lead to large parts of the cut lying outside the tolerance. Preferably, it is desirable to have as many samples u, as possible within the tolerance. The exact distance may not be important as long as it is less than a given tolerance "a". Likewise, a sample whose distance is larger than "a" may be assigned the same cost, since it has to be uncovered by another cut, irrespective of its actual distance. To remain within the continuous setting, a sequence of smoothed step-functions may be defined as: this function yields the desired L 0 -IiKe behavior when applied to the Euclidean distance, i.e.,

It should be noted that every function in the one-parameter family of the above equation is a cubic spline that smoothly transitions from 0 to 1 over a span of length t . During optimization, a continuation method may be used that gradually decrease t, thus tightening the transition region such that

H at ® H a .

[0046] In one embodiment the step of calculating the set of data corresponding to a sequence of movements of the robotic system for configuring the cutting element (20) comprises formulating at least one objective function which describes the overall goal for the tool surface (30) to conform with a surface of the target shape, and applying an optimization algorithm to minimize the objective function. In one embodiment the objective function is E dist (x) as defined in [0048].

[0047] The goal of the optimization is to find feasible shapes x, of the cutting element 20 that minimize the surface matching objective. In order for a given x, to be feasible, it needs to be a stable equilibrium configuration with respect to the boundary conditions imposed by the robot configuration q i, i.e. where position and angle variables are summarized as . With these constraints introduced, the optimization problem can now be formulated as: where E reg (y,q) is a regularization term, and The first of the above expressions asks for stationarity, which is a necessary but not sufficient condition for stability. The second condition requires the Hessian to be positive definite, thus restricting feasible y to stable local minima.

[0048] The challenge of solving the optimization problem stems mainly from the highly non-linear relationship between the robot pose and the equilibrium shape of the cutting element 20. For example, the implicit function theorem to eliminate the constraints and instead solve the unconstrained problem may be used. [0049] The only variables of this problem are the robot configurations q, which implicitly determine the cutting element configurations. The derivative of the objective function O is therefore: The sensitivity analysis may be used to analytically compute dy/dq as: and a generalized Gauss-Newton Hessian approximation of O,

[0050] To minimize the objective, these derivatives may be used within a standard Quasi-Newton method augmented with line search. For each evaluation of 0(y(q), q) and its derivatives, y(q) may be computed by solving a separate minimization problem. While this yields an equilibrium configuration for every admissible robot state, not all equilibria are equally desirable. For example, the equilibrium states for the cutting element may be calculated using Newton's method with Levenberg-Marquardt-type regularization. However, to ensure that the wire is indeed stable, the minimization strategy may be adapted as follows: whenever the algorithm has converged to an equilibrium point, the test is made to check whether the Hessian is indefinite. If so, the solution is perturbed in the direction of the eigenvector associated with the most negative eigenvalue and proceed with the minimization. It should be stressed that the algorithm cannot ascend back to the pre-perturbation state; thanks to its line search and regularization strategies, it is forced to descend toward a stable local minimum.

[0051] To achieve reliable and accurate cutting, two more considerations regarding the equilibrium state of the cutting element play an important role: its stability with respect to external disturbances, and its sensitivity with respect to inaccuracies in the boundary conditions induced by the robotic system. The first aspect can be quantified by considering the smallest eigenvalue of the Hessian, λ min (H wire ), which represents the resistance of the system to external forces in its weakest direction. Similarly, the sensitivity matrix S expresses how deviations of the robot pose translate into changes in the cutting element shape, and its largest singular value o m ax(S) quantifies the worst possible amplification of such inaccuracies.

[0052] A strategy for avoiding these problems may be to impose bounds of the form λ min >a λ and σ max <a σ that are enforced as part of the optimization problem. However, directly applying these bounds would require tracking eigenvalues and their derivatives which is computationally expensive and numerically unstable. In one embodiment alternative characteristics of the wire state that allows to identify non-robust and too- sensitive configurations in an efficient way is used. Such an attribute may be the angle spanned by the tangents of the wire ends: . Considering the constraints of our particular problem, a bound α γ can be found such that for reasonable choices of bounds a λ and a σ . The cutting element configurations is considered as robust if the tangents at the cutting element's ends are sufficiently non-parallel. In one embodiment an objective is constructed which enforces cutting element states that are robust with respect to external forces and inaccuracies in the robot's pose.

[0053] In addition to surface matching and wire stability, one embodiment comprises inclusion of several other objective functions in the formulation that promote smooth solutions, prevent collisions between robot and workpiece, enforce workspace constraints, and safeguard against plastic deformations of the cutting element. All of these objectives are added to E reg (x,y) in the optimization problem described above.

[0054] The optimal path planning may be cast as an unconstrained minimization problem with judiciously designed objectives. Nevertheless, several of these objectives are strongly nonlinear and non-convex, which can lead to ill-conditioning and other numerical problems that make robust optimization challenging. In particular, it may be difficult to select parameters such as the coefficients for distance objective and constraint penalties: too aggressive values can attract the solver to undesirable local minima, while too conservative values lead to less accurate surface approximation and constraint satisfaction. Instead, a continuation strategy that adjusts these coefficients, primarily the transition length t of the distance function based on progress. Starting with conservative choices, tightness may be gradually increased whenever progress — as measured by the difference pj = Oj — Oj+1 in objective values between subsequent iterations falls below a given threshold p min , which is the only remaining parameter in this continuation method. Advantageously, this strategy allows to reliably converge to good final results even for far off initializations.

[0055] The optimization algorithm described above may be integrated in a sequential planning approach that, given a rough path as initialization, maximizes the efficiency of each cut. This initialization is generated from a set of simple rules and heuristics, allowing advantageously for a fully automatic computation of the entire cutting sequence without any need for user input. In one embodiment, initializations can also be defined interactively by the user, offering a means of guiding the length of a cut and its general placement. These two approaches are described as follows

[0056] In one embodiment the cut is automatically initialized. Each cut is initialized based on an automatically generated offset curve on the target shape. This offset curve is created by intersecting the target shape with a cutting plane whose orientation is chosen at random. After offsetting and resampling, each point on the curve is assigned a score reflecting their position with respect to the uncut regions of the target surface. A set of candidate curves is created by sampling cutting planes with different orientations and select the one that maximize the sum of per-point scores.

[0057] In yet another embodiment the cut is initialized by a user. The system also offers two ways for manually guiding the aesthetics of the cut surface. First, the user may provide the initialization path for each cut and, if desired, the user may prescribe the orientation of the workpiece. In this way, the user can effectively control the general region in which a cut will be made as well as its approximate length. Second, the user may restrict the optimization to consider only sub-regions of the target surface for matching, thus narrowing down the placement of the cut.

[0058] One example of results of the optimization process of one cut is shown on Figure 3 where a bunny shaped object is fabricated. The relatively thin, but far protruding ears are particularly challenging as they limit the accessibility of the neck region. The method according to the invention nevertheless produces a visually pleasing rendition of this model with good approximation accuracy. [0059] In one embodiment, once the trajectories for all cuts have been computed, they are transferred to the robotic system for the execution. Before a trajectory is transmitted, the duration between two subsequent robot poses may be set such that the maximum cutting velocity of the cutting element equals a target velocity value. In one embodiment the velocity of the cutting element is 2 mm/s. In between cuts, the user may need to reorient the workpiece to match the orientation specified in the application. In one embodiment, excess material is removed after each cut to advantageously provide more room for the robot arms to move.

[0060] The method of the present invention may advantageously generate trajectories for the robot arms where the wire curvature is adapted to the target surface while sweeping the wire, carving out doubly curved surfaces with a single cut. Figure 4 shows an example of single cut manufacturing of the inside surface of a bowl-shaped object. Another example is shown in Figure 5. In this example the complicated heart-shaped object 42 is manufactured after 12 cuts.

[0061] One of the goals of the optimization procedure is to achieve a final shape that approximates the target up to a user-defined tolerance. This can be achieved with one or several cuts depending also on the complexity of the object. This tolerance induces a symmetric band around the target shape, and the relevant objective functions are adjusted such that they force the cut surface to lie within this band. During optimization, the lower bound of the tolerance is of particular importance and it is preferably not violated since too deep cuts cannot be undone. For this reason, the lower bound may be enforced with a unilateral penalty function. The upper bound, on the other hand, does not need to be enforced, since any excess material can be removed by subsequent cuts. [0062] The method as described offers many advantages over the known methods. In one embodiment it allows for efficient cutting of a broad space of shapes; achieving to resolve three tightly coupled subproblems in an unified ma: 1) modelling the way in which the shape of the cutting element and the surface it sweeps are governed by the robot's motions; 2) approximating a target shape through a sequence of surfaces swept by the cutting element; and 3) generating collision-free motion trajectories that enable the robot to create desired sweeps with the cutting element. [0063] In one embodiment the linear systems as defined previously may be solved use Eigen libraries for matrix algebra. Other libraries for closest point searches can be for example those for spatial acceleration structures. The simulation calculations may be parallelized for reducing computation time and cost. [0064] In one preferred embodiment the manufacturing method is hotwire cutting. The trajectories and subsequent poses of the robotic arms may be adjusted to comply with a target velocity of the cutting element 20. The velocity may be a function of the temperature of the cutting element and the melting point of the block of material. The optimal condition is the melting of the material before contact of the cutting element 20 with the block of material 50. In one preferred embodiment, a robot with two arms having a working range of about 660 millimetres for each arm may be used. A cube of polystyrene material may be used as the block of material, and it may be mounted on a tripod and placed within the working range of the robotic arms. The diameter of the cutting element may be one millimetre heated to 250 degrees Celsius.

[0065] Other combinations of cutting element diameter, temperature and velocity may be considered, in accordance with the type of material to be cut. For instance, a block of ice, foam or chocolate may require a different combination of temperature and velocity of the cutting element than is required for a polystyrene block for cutting the predefined object.




 
Previous Patent: WATER GUN

Next Patent: VOICE GRAFTING USING MACHINE LEARNING