Control of redundant laser processing machines
10307863 ยท 2019-06-04
Assignee
Inventors
- Stefano Di Cairano (Somerville, MA)
- Sohrab Haghighat (Cambridge, MA, US)
- Scott A. Bortoff (Brookline, MA)
Cpc classification
B23K26/082
PERFORMING OPERATIONS; TRANSPORTING
B23K26/04
PERFORMING OPERATIONS; TRANSPORTING
B23K26/0869
PERFORMING OPERATIONS; TRANSPORTING
B23K26/0344
PERFORMING OPERATIONS; TRANSPORTING
International classification
B23K26/03
PERFORMING OPERATIONS; TRANSPORTING
B23K26/082
PERFORMING OPERATIONS; TRANSPORTING
B23K26/08
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method controls an operation of a laser processing machine with redundant actuators including a first actuator and a second actuator. The method determines a feasible region for states of the first actuator and states of a reference trajectory of the first actuator defined by constraints of the laser processing machine, constraints on the reference trajectory and constraints on a range of motion of the second actuator. The method selects a subset of the feasible region, such that for any state of the first actuator and any state of the reference trajectory within the subset, there is an admissible control maintaining the state of the first actuator within the subset of the feasible region for admissible future states of the reference trajectory, and selects an admissible control action for controlling the operation such that the state of the first actuator remains in the subset of the feasible region.
Claims
1. A method for controlling an operation of a laser processing machine with redundant actuators including a first actuator and a second actuator to place a laser beam along a reference trajectory by joint motions of the first actuator and the second actuator, wherein the method uses a processor coupled to a memory storing a model of the reference trajectory, constraints of the laser processing machine including physical constraints of a structure of the laser processing machine, constraints on the reference trajectory including constraints on a rate of change of the reference trajectory, constraints on a range of motion of the first actuator, and constraints on a range of motion of the second actuator, wherein a composition of the range of motion of the first actuator and the range of motion of the second actuator represent a range of possible positions of the laser beam controlled by the first or the second actuators, wherein the range of motion of the first actuator is greater than the range of motion of the second actuator, wherein the processor is coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor carry out steps of the method, comprising: determining, using the processor, a feasible region for states of the first actuator and states of a reference trajectory of the first actuator, wherein the feasible region is defined by the constraints of the laser processing machine, the constraints on the reference trajectory, and the constraints on the range of motion of the second actuator, wherein the states of the first actuator include positions and velocity of the first actuator, wherein the states of the reference trajectory of the first actuator include positions of the reference trajectory of the first actuator; selecting, using the processor, a subset of the feasible region forming a convex region of the states of the first actuator and the states of the reference trajectory of the first actuator, such that for any state of the first actuator and any state of the reference trajectory of the first actuator within the subset, there is an admissible control maintaining the state of the first actuator within the subset of the feasible region for admissible future states of the reference trajectory, wherein the admissible future states of the reference trajectory are determined according to the model of the reference trajectory and the constraints on the reference trajectory, wherein the model of the reference trajectory includes a position and a rate of change of the reference trajectory represented by states of the model of the reference trajectory, inputs to the model of the reference trajectory, or combination thereof; selecting, using the processor, a first admissible control action maintaining the state of the first actuator within the subset of the feasible region; determining, using the processor, a second admissible control action based on a difference between the state of the reference trajectory and the state of the first actuator controlled by the first admissible control action; and controlling, using the processor, the first actuator using the first admissible control action and controlling the second actuator using the second admissible control action to jointly place the laser beam on the reference trajectory.
2. The method of claim 1, wherein the constraints on the reference trajectory includes a rate of change of the reference trajectory, further comprising: determining the model of the reference trajectory modeling a position and the rate of change of the reference trajectory as a function of time.
3. The method of claim 1, wherein the selecting the subset of the feasible region comprises: determining iteratively the subset of the feasible region and the constraints of the reference trajectory by optimizing a processing speed of the first actuator.
4. The method of claim 3, further comprising: selecting a highest rate of change of the reference trajectory resulting in the subset of the feasible region being nonempty.
5. The method of claim 4, further comprising: determining the subset of the feasible region for a value of the rate of change of the reference trajectory; increasing a value of the rate of change of the reference trajectory; and repeating the determining the subset and the increasing the value until the subset of the feasible region is empty.
6. The method of claim 4, further comprising: selecting a value of the rate of change of the reference trajectory resulting in an empty subset of the feasible region; and decreasing iteratively the value of the rate of change of the reference trajectory until the value results in a nonempty subset of the feasible region.
7. The method of claim 3, further comprising: determining a set of pairs of values of the rate of change and a size of the subset of the corresponding feasible region; and selecting from the set of pairs a pair optimizing a combination of a value of the rate of change and the size of the subset of the feasible region.
8. The method of claim 4, further comprising: determining, according to a processing pattern, the reference trajectory of the first actuator as a function of time such that the reference trajectory of the first actuator has the highest rate of change.
9. The method of the claim 8, further comprising: applying a rate bounding filter to the processing pattern, such that a change of position of a laser point within a control period of the machine is less than the rate of change of the reference trajectory and processing speed limitations imposed by the second actuator are satisfied for the change of position of the laser point.
10. The method of the claim 8, further comprising: determining for a current reference point on the reference trajectory of the first actuator a future feasible reference point satisfying the constraints on the reference trajectory and a future infeasible point violating the constraints on the reference trajectory; determining an interpolation segment connecting the future feasible and the future infeasible reference points; and determining a furthest point on the interpolation segment satisfying the constraints as a next reference point.
11. The method of claim 1, wherein the selecting further comprises: testing each state of the feasible region to determine the subset.
12. The method of claim 1, wherein the selecting further comprises: partitioning the feasible region into a set of subsets; and selecting the subset satisfying a control invariance test.
13. The method of claim 1, wherein the selecting the subset further comprises: initializing a current feasible region as the feasible region; performing iteratively a backward-reachable region computation until a backward reachable region is equal to the current feasible region, wherein, for each iteration, the backward-reachable region computation removes states with no control that maintains the state of the machine within the current feasible region for the reference trajectories satisfying the constraints on a transient of the reference trajectory.
14. The method of claim 13, wherein the backward-reachable region computation comprises: increasing a dimensionality of the current feasible region by combining the feasible region with a set of admissible control actions to produce a higher dimensional region; selecting, from the higher dimensional region, combinations of the state of the machine, the state of the reference trajectory and the control action such that the control action maintains the state of the machine within the current feasible region for all the reference trajectories satisfying the constraints on the transient of the reference trajectory; and selecting unique pairs of the state of the machine and the state of the reference trajectory, such that at least one machine input exists such that the state of the machine, the state of the reference trajectory and the machine inputs are in the higher dimensional region.
15. The method of claim 1, wherein the selecting the control action comprises: optimizing a cost function representing the operation of the machine subject to constraints defined by the subset using a model of the machine, the model of the reference trajectory, a current state of the machine, and a current state of the reference trajectory.
16. The method of claim 1, wherein the subset of the feasible region is formed by a single convex polyhedron.
Description
BRIEF DESCRIPTION OF THE FIGURES
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(19) Some embodiments of the invention provide a system and a method for controlling an operation of a redundant laser processing machine. Some embodiments control the machine using an optimization-based receding horizon control subject to constraints that guarantees the feasibility of tracking the reference trajectory with an error defined by bounds of a tracking error. A non-limited example of the receding horizon control is a Model Predictive Control (MPC).
(20)
(21) A workpiece 100 is supported on a beam dump 110 beneath a gantry 120. The gantry moves on rails 125 and 126 along a first direction, e.g., along a Y-axis. The gantry 120 is moved along the first direction by a first servo motor and a first screw 123. A platform 130 is arranged on the gentry 120 and moves with the gentry along the first direction. Also, the platform 130 is moved along a second direction, e.g., along an X-axis, by a second servo motor and a second screw 135. In this embodiment, the gentry 120, the first servo motor and the first screw 123, and the second servo motor and the first screw 135 form a motion system for moving the platform in a plane parallel to the workpiece along the first and the second direction. However, other embodiments of the invention use different types of the prismatic joints to move the platform. For example, the first prismatic joint can include a first direction linear drive motor, and the second prismatic joint can include a second direction linear drive motor.
(22) A galvano-assembly, e.g., a two-axis galvano scan head having two orthogonal galvano drives, i.e., a first drive 140 and a second drive 145, a first mirror 141 and a second mirror 146, is arranged on the platform 130. A third motion of the first mirror 141 caused by the first driver 140 positions the laser beam along a third direction, and a fourth motion of the second mirror 146 caused by the second driver 145 positions the laser beam along a fourth direction.
(23) In the context of this description, the gantry 120 is a first actuator, or the slow actuator, with large operating range, and the galvano assembly is a second actuator, or the fast actuator, with smaller operating range. However, such usage is not intended to limit the scope of the claims. For example, in some variations the first actuators is the fast actuator, and the second actuator is the slow actuator.
(24) In various embodiments, the galvano assembly is arranged on the platform such that the third direction is fixed with respect to the first direction, and the fourth direction is fixed with respect to the second direction. For example, in one embodiment, the first direction coincides with the third direction, and the second direction coincides with the fourth direction. In another embodiment, the first direction forms an angle of 45 degrees with the third direction, and the second direction forms the angle of 45 degrees with the fourth direction.
(25) The galvano assembly can be affixed to the platform in order to fix the direction of motion. Alternatively, the galvano assembly can be arranged on the platform rotationally, such that the mutual orientations of the first, the second, the third, and the fourth directions can be fixed before, or during the operation of the laser processing machine. In the context of this invention, the galvano assembly is the second stage, or fast stage, with small operating range.
(26) The laser processing machine can include a laser 150 for directing a cutting laser beam 160 to the first 141 and the second 146 mirrors of the galvano assembly via an optical fiber 170 and a collimator 175. In an alternative embodiment, the laser beam is directed to the galvano assembly via diagonal mirrors moving along the Y-gantry and X-axis platform. However, other variations are also possible.
(27) The collimated cutting laser beam 160 is directed by the mirrors through a focusing module 180 for focusing the laser beam on the workpiece, producing a combined X-axis and Y-axis galvano assembly scan area 165 on the workpiece 100, and cutting the workpiece 100. An example of the focusing module 180 is a field-flattening F-theta lens or a non-telecentric F-theta lens. A size of the workpiece 100 can be greater than the galvano scan area 165 due to the motion of the platform.
(28) In some embodiments, the control module includes a computer numerical control (CNC) controller 195. Other embodiments can use different types of controllers. The control module may control the motion system and the galvano assembly according to precomputed G-code 190 that defines a trajectory of positions of the laser beam or can performs the computations to decide how to control the machine. For example, the computations can define successive positions for the X-axis platform 130, the Y-axis gantry X-motion galvano assembly and mirror 141, and Y-motion galvano assembly and mirror 146.
(29) In general the machines are built with actuators that have different dynamical behaviors. For example, the first actuator is in usually significantly slower than the second actuator, due to the difference in the displaced mass. From this difference, the indicated names of slow and fast actuators are derived.
(30)
(31) Thus, the machine operating range at any time is centered at the current position of the slow actuator, and has size equal to the size of the operating range of the fast actuator. By changing the position of the slow actuator, the current machine operating range is also changed, thus realizing an overall operating range, which is the composition of the operating range of the slow actuator and the operating range of the fast actuator.
(32) Some embodiments of the invention consider constraints of the slow and fast actuators of the laser processing machine in determining trajectory and controlling the operation of the machine. For the purpose of the clarity of this disclosure, the laser processing machine with redundant actuator is arranged such that the slow actuator has larger operating range, but smaller velocity and acceleration limits than the fast actuator, while the fast actuator has smaller operating range, but larger velocity and acceleration limits than the slow actuator.
(33) Tracking Using Control Invariant Sets
(34) Some embodiments of the invention provide a system and a method for controlling an operation of the laser processing machine according to a model of a reference trajectory. Some embodiments control the machine using an optimization-based receding horizon control subject to constraints that guarantees the feasibility of tracking the reference trajectory with a bounded error. A non-limited example of the receding horizon control is a model predictive control (MPC).
(35)
(36) During the operation, the controller receives a command 201 indicating the reference behavior of the machine. The command can be, for example, a motion command. In response to receiving the command 201, the controller generates input u 211 for the machine. In response to the input, the machine updates the output y 203 and the state x 221 of the machine.
(37)
(38)
(39) Some embodiments of the invention are based on a realization that the laser control problem can be expressed as a bounded tracking problem of only one actuator, e.g., the slow actuator. For example, the slow actuator needs to track the processing pattern with an error smaller than an operation range of the fast actuator while enforcing the constraints of the slow actuator. Some embodiments solve this tracking problem by controlling the operation of the slow actuator within a subset of a feasible region of the states of the slow actuator of the laser processing machine and states of the reference trajectory, wherein the subset of the feasible region is control invariant with respect to all possible future values of the reference trajectory.
(40) One embodiment model the dynamics of the slow actuator as
(41)
where p is a position of the slow actuator, v is a velocity of the slow actuator, is a torque of the slow actuator, T.sub.s is a control period of the machine at which a control cycle is executed, k is an index of the control cycle, J is an inertia of the slow actuator, L is a length of a pitch of a ball screw which converts the longitudinal motion into linear notion, and is the torque of the slow actuator, is a friction coefficient determining the friction torque on the slow actuator for a given angular velocity of the slow actuator.
(42) In general, parameters p, v, t are two dimensional vectors with x and y coordinates, and are subject to constraints
p.sub.minp(k)p.sub.max
v.sub.minv(k)v.sub.max
a.sub.mina(k)a.sub.max
.sub.min(k).sub.max(2)
that define lower and upper bounds on position p, velocity v, acceleration a, and torque .
(43) One embodiment expresses the model 202 of the slow actuator as a linear difference equation
x(k+1)=Ax(k)+Bu(k)
y(k)=Cx(k)(3)
where k is a time instant when the signals are sampled, i.e., the index of the control cycle, u is the machine input, y is the machine output, x is the state of the machine, and A, B, C, are parameters of the model. For example, x=[p, v], y=p, u=, and A, B, C are matrices of appropriate dimensions, and the operation of the slow actuator is subject to linear constraints
x(k)X,u(k)U,k0,(4)
where X, U are polyhedral sets.
(44) Some embodiments determine the model of the reference trajectory having a position and a rate of change of the reference trajectory as states of the model or inputs to the model. Such models can represent all possible future reference trajectories and the constraints on those trajectories needed for the determination of the control invariant subset. For example, one embodiment models the reference trajectory r as a constrained integrator of the rate of change of the reference trajectory according to
r(k+1)=r(k)+y(k)
d(k)=r(k),(5)
subject to constraints
r.sub.minr(k)r.sub.max,.(6)
(45) The rate of change can be unknown but bounded
.sub.min(k).sub.max,(7)
where the bounds on (.sub.min, .sub.max) can be selected, e.g., as described below.
(46) Thus the reference trajectory can be modeled as a linear system
r(k+1)=A.sub.rr(k)+B.sub.r(k),
d(k)=C.sub.rr(k),(8)
where rR is a reference state of the reference model and d is a reference output of the reference model, is the reference input, and A.sub.r, B.sub.r, C.sub.r, are the parameters that define the model of the reference trajectory. For instance for the constrained integrator model the reference trajectory on each axis s defined by A.sub.r=1, B.sub.r=1, C.sub.r=1.
(47) It is realized that the dynamics of the constrained integrator model in (5) is the simplest model that allows representing time trajectories that generate any spatial laser processing pattern. Hence (5) is the model that requires minimal complexity in terms of parameter selection and computations and still allow processing any processing pattern. However, in other embodiments of this invention different models for the reference trajectory are developed according to (8), by selecting the values of A.sub.r, B.sub.r, C.sub.r.
(48) The enforcement of the constraints on the fast actuator results in the constraint connecting the linear system in (3) and the reference system in (5) as
F.sub.minp(k)d(k)F.sub.max(9)
where F.sub.max, F.sub.min are the maximal and minimal value for the position of the fast actuator generated achieved during operation of the machine. Some embodiments allow values of F.sub.max, F.sub.min to be a fraction of the actual physical range of the fast actuator, for instance half of the range, or a third of the range.
(49) The bounds on the rate of change of the reference trajectory determine how fast the reference position for the laser beam is allowed to move. If the rate of change is smaller, then the laser processing is slower. If the rate of change is larger, then the laser processing is faster.
(50) For dynamics in equations (3) and (5), subject to constraints in equations (2), (6), (9) and with unknown bounded rate of change satisfying the equations (7), a set of constraints
H.sub.xx(k)+H.sub.rr(k)H.sub.c,(10)
can describe the machine states and reference states with dynamics according to equations (3) and (5) such that every possible future value of the reference trajectory that satisfies equations (6) and (7) can always be tracked within the range (9) of the fast actuator while always satisfying constraints (4).
(51) From equation (10), the constraints on the control command for given state of the machine state and the reference trajectory are
M.sub.xx(k)+M.sub.rr(k)+M.sub.uu(k)M.sub.c,(11)
which describes the commands such that every future reference that satisfies equations (5), (6), (7) can be tracked within the range of the fast actuator in equations (9), while satisfying constraints in equation (4) from the current state and reference state that satisfy the constraints in equation (10), while also guaranteeing that constraints in the equations (10) will be satisfied in the future.
(52)
(53) The model of the reference trajectory constrains a range 440 of possible future reference motions, thus providing the constraints on transients of the reference trajectory. The constraints can be determined in advance, but also can vary in dependence to previously determined trajectory. For example, the constraints on the range of the reference trajectory at a specific time can be determined by a region 450. However, when the trajectory is determined at a step 425, the constraints on the range of the reference trajectory can be tightened to a region 455. Thus, at the specific iteration, the region 455 defines the constraints on the range of the reference trajectory.
(54) The constraints on the state of the machine, constraints on the reference trajectory and the constraints on a range of motion of a fast actuator of the laser processing machine form a feasible region of a state of the machine and a state of the reference trajectory. Accordingly, it is possible to optimize the control maintaining the state of the machine and the state of the reference trajectory within that feasible region and, thus, to convert the tracking problem into a purely optimization problem.
(55)
(56) Some embodiments of the invention are based on yet another realization that it is possible to select a subset 515 of the feasible region, such that from any state of the machine within that subset, there is a control action maintaining the state of the machine within the subset for the known future states of the reference trajectory or for all admissible future states of the reference trajectory. For example, for any state such as a state 530 within the subset 515 and within all possible control actions 531-534 that the controller can execute, there is at least one control action 534 that maintains the state of the machine and reference within the subset 515.
(57) Accordingly, if a control action for controlling the operation is selected such that the state of the machine remains in that special subset 515 of the feasible region, and the feasible region is generated also according to Equation (4), (6), (7) then there is a guarantee that the resulting optimal trajectory tracks the reference trajectory with the bounded error and every future state of the machine always admits at least one feasible control action. In this case, the subset 515 is a control invariant set. For example, the selection of the control action can be performed by optimizing a cost function representing the operation of the machine subject to constraints defined by that special subset 515 of the feasible region, as contrasted with the optimization within the feasible region 510.
(58)
(59) The method determines 610 a feasible region 510 of a state of the machine and a state of the reference trajectory defined by constraints 204 including constraints of the machine, constraints on transient of the reference trajectory and constraints on a range of motion of a fast actuator of the laser processing machine. Next, the method selects 620 a subset 515 of the feasible region, such that from any state of the machine within the subset, there is a control maintaining the state of the machine within the subset and selects 630 a control action 640 for controlling the operation such that the state of the machine remains in the subset. In one embodiment, the selecting includes optimizing a cost function 635 representing the operation of the machine subject to constraints defined by the subset region 515. The cost function is optimized iteratively for a fixed time horizon to produce a control action 640 of a current iteration.
(60) In some embodiments, all steps of the method of
(61) Determining Control Invariant Subsets of Feasible Region
(62) Some embodiments determine the set 515 as a control invariant set for the machine model (3) and reference model (5) subject to constraints (4), (6), (7), (9). In some variations, when the reference input is unknown, the set 515 is a control invariant set for the machine and reference of Equations (3), (5) subject to constraints given by Equations (4), (6), (7), (9) for disturbances in the set of the reference inputs.
(63)
(64)
(65) However, the generation and verification of candidate sets can take a significant amount of time, and one embodiment uses an automated procedure to generate and verify the candidate sets.
(66) Because the subset 515 is a control invariant set, a method for control invariant set computation can be used for generating the set 515. Such a method can be modified with the capability of enforcing constraints in Eqn. (5) and considering the input to the model of the reference (5) as source of uncertainty.
(67)
X.sub.x,r={[xr]:xX,yd,rR},(12)
(68) The state of the machine 902 and the state of the reference trajectory 903 define a point in (x,r) 901 in the feasible region 510. Given the admissible set 904 for future states of the reference trajectory according to
C.sub.(r)={:A.sub.rr+B.sub.rR},(13)
the future state of the machine and the future state of the reference trajectory can be anywhere in the polyhedron 907, delimited by segments 905, 906. Thus, the controller can take any control action such that the future state of the machine 902 remains in the segment 910, so that the combination of the future machine state and future reference state remains in the polyhedron 907.
(69) If the set C.sub.x,r 907 is such that there is always a control action that keeps the machine state and reference state 901 in the set 907 for the entire admissible range of the reference 904
C.sub.x,r={[xr]C.sub.x,r:uU,Ax+BuX,C(Ax+Bu)C.sub.(A.sub.r+B.sub.),C.sub.},(14)
(70) it is always possible to guarantee
[(Ax+Bu)(A.sub.rr+B.sub.r)]C.sub.x,r,
which guarantees that the constraints on the machine and on the tracking error bounds are satisfied. Notably, this procedure can be repeated at a next step because the update states are still inside C.sub.x,r hence recursively guaranteeing the constraints enforcement.
(71)
(72) For example, the backward-reachable region computation initializes 1001 at a step k=0 a current feasible region 1001 as the feasible region 510,
.sub.0={[xr]X.sub.x,r}
then determines 1002 a backward-reachable region of the states of the machine and reference trajectory that can be transition to the current feasible region for all the value of the admissible reference input according to
.sub.k+1=Pre(.sub.k,C.sub.(r))={[xr]X.sub.x,r:UU,(Ax+Bu,A.sub.rr+B.sub.r).sub.k,C.sub.(r)}(15)
(73) The computation of Equation (15) removes the states of the backward reachable region for which there exists no control action that keeps states into the current feasible region for all the admissible values of the future state of the reference.
(74) At step 1003 the computation tests if the backward-reachable region is equal to the current feasible region, i.e., .sub.k+1=.sub.k, If yes 1004, the backward-reachable region is control invariant 515 and the computation stops. Otherwise 1005, the backward-reachable region is used as current feasible region in the next iteration (k=k+1) of the computation.
(75) The backward-reachable region computation of
(76)
(77) The method initializes 1101 the matrices M, L, and the sets F, X, as
k=0,M.sub.0=C,L.sub.0=C.sub.r,F.sub.0={e:e},X.sub.0=X
and the current feasible region
.sub.0={[xr]X.sub.x,r:rC.sub.r.sup.(CxC.sub.rr)F.sub.0)}.
(78) Initially, the current feasible region is the feasible region. The method is performed iteratively, such that the states that cannot be maintained in the current feasible region for all the admissible values of the future disturbance are removed, thus forming a new current feasible region. The current feasible region is reformulated 1102 as polyhedral invariant subset of feasible region, in details as an intersection of a set of the states of the machine satisfying the constraints of the machine, the set of states on the trajectory satisfying some constraints on the transient of the reference trajectory, and the set of the states satisfying the error bounds constraints, such that a forward set k in the form
.sub.k={[xr]X.sub.x,r:rC.sub.r.sup.,rX,(M.sub.kxL.sub.kr)F.sub.k},
is obtained, where the constraints rC.sub.r.sup. the maximum output admissible set for the reference trajectory state that is the largest set of reference trajectory states for which the reference state admits input for which all the constraints (6), are satisfied. To that end, checking the constraints on the state of the machine and the constraints on the state of the reference trajectory are decoupled and the full range of reference input allowing the reference trajectory to move from an admissible state, regardless if the future state of the reference trajectory is admissible, is accepted.
(79) Then, the tightened backward-reachable region is determined 1103 according to
.sub.k+1={[xr]X.sub.x,r:uU,rC.sub.r.sup.,Ax+BuX.sub.k,(M.sub.k(Ax+Bu)L.sub.k(A.sub.rr+B.sub.r))F.sub.k,}.
(80) If the tightened backward-reachable region equals 1104 the current feasible region, i.e.,
.sub.k+1==.sub.k,
then 1105 the tightened backward-reachable region is control invariant 515 and the algorithm stops with
C.sub.x,r=.sub.k.
(81) Otherwise 1106, the matrices M, L are updated as
M.sub.k+1=M.sub.kA,L.sub.k+1=L.sub.kA.sub.r
and 1107 the sets F, X are updated as
X.sub.k+1={xX:Ax+BuX.sub.k}
F.sub.k+1={v:uU,bF.sub.k,v=bM.sub.kBu+L.sub.kB.sub.r,}.
(82) Then, the tightened backward-reachable region is assigned as new current feasible region 1108, and a new iteration is performed from 1102 with k=k+1.
(83) Because in the method of
(84)
(85) Optimizing Rate of Change of the Reference Trajectory
(86) Some embodiments of the invention determine iteratively the subset of the feasible region and the constraints of the reference trajectory optimizing a processing speed of the slow actuator. The bounds of the rate of change , i.e., (.sub.min, .sub.max) in equation (7) determines how fast the slow actuator can move the reference position for the laser beam. If the bounds of the rate of change force to be too small, the reference position does not move much and the laser processing is slow. If the bounds of the rate of change allow to be large, the laser processing is faster, If the bounds of the rate of change allow to be too large, the subset of the feasible region can be empty. Accordingly, some embodiments select a highest rate of change of the reference trajectory resulting in a nonempty subset of the feasible region.
(87)
(88) Next, the method increases 1304 the value of the rate of change of the reference trajectory and repeats 1315 the determining the subset and the increasing the value until 1316 the subset of the feasible region is empty. In such a manner, the last stored value 1306 of the rate of change is the highest rate of change of the reference trajectory resulting in the nonempty subset of the feasible region.
(89)
(90) The increase 1305 and/or the decrease 1404 can be performed in a variety of ways, for instance by adding/removing a constant term to the current value of the rate of change .sub.max or by adding a term related to the current value of .sub.max.
(91)
(92) The method determines a set of pairs of values of the rate of change and volumes of the subset of the feasible region. For example, such a set can be determined during an execution of the methods of
(93) Then value of .sub.max is determined 1503 by solving an optimization problem
(94)
where N.sub.k is the total number of non-empty control invariant set found in 1503, and V(C) is a measure of the size of the set C, such as the volume, possibly scaled, the surface, or the maximum inscribed circle. The selected value of .sub.max is used in equation (7).
(95) Selection of Reference Trajectory
(96) In laser processing machine applications, the reference trajectory is usually defined as points in space, i.e., a space-based trajectory, and for the application of controls, a time-based trajectory needs to be determined. Hence, some embodiments are based on a realization that the rate of change of the reference trajectory can be used for generating the time-based reference trajectory from the space-based trajectory.
(97) Some embodiments determine the reference trajectory for the slow actuator as a function of time such that the reference trajectory satisfies the rate of change of the reference trajectory. For example, one embodiment applies a rate bounding filter to the processing pattern such that a change of position of a laser point within a control period of the machine is less than the rate of change of the reference trajectory.
(98) The reference trajectory is a time-based reference trajectory of the slow actuator tracking the processor pattern with an error bounded by a range of motion of the fast actuator of the laser processing machine, such that a control action that changes a state of the slow actuator according to the reference trajectory maintains the state of the slow actuator within a subset of the feasible region of states of the slow actuator and states of the reference trajectory.
(99) Some embodiments of the invention determine a future feasible reference point for a current reference point. The feasible point is a reference point on the reference trajectory of the slow actuator, such that the slow actuator controlled to that reference point satisfies the constraints in the equations (5), (6) for a value of the rate of change that satisfies bounds in the equation (7), and that all the reference points between the current reference point and the future reference point are at a distance lesser than the size of the range of the fast actuator, and that enough time in one control sampling period is available for the fast actuator to process all intermediate points on the processing pattern.
(100)
(101) Accordingly, some embodiments determine 1710, for a current reference point on the reference trajectory, a future feasible reference point, e.g., the point 1621, satisfying the constraints on the reference trajectory and a future infeasible point, e.g., the point 1620 violating the constraints on the reference trajectory. Next, the embodiment determines 1720 an interpolation segment 1602 connecting the future feasible 1621 and the future infeasible 1620 reference points, and determines 1730 a point 1630, furthest from the feasible point 1621 on the interpolation segment 1602 satisfying the constraints. In other words, the point 1630 can be identified as the closest point to the point 1620 in the segment 1602 such that the point is covered by the range 1605 of the fast actuator at current reference point, is in the range of achievable motions 1604, the current reference point 1610 is in the range of the 1605 of the fast actuator centered at the point 1630, all intermediate points 1601 are covered by ranges 1603 and 1605, and there is enough time for the laser to operate all the intermediate points 1601. The point 1630 is a next reference point of the reference trajectory.
(102)
(103) The method above provides the fastest processing that is achievable with guarantees that no constraints are ever violated in the future, for all the references that are feasible.
(104) The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. Such processors may be implemented as integrated circuits, with one or more processors in an integrated circuit component. Though, a processor may be implemented using circuitry in any suitable format.
(105) Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
(106) Also, the embodiments of the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts concurrently, even though shown as sequential acts in illustrative embodiments.
(107) Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.