Method for calculating Control Attainable Set of redundant drive system under linear constraint
20240402667 ยท 2024-12-05
Inventors
Cpc classification
International classification
Abstract
Provided is a method for calculating a control attainable set of a redundant drive system under a linear constraint, which relates to the technical field of dynamics control allocation of the redundant drive system. The method first constructs a control attainable set problem for a redundant drive system under each pair of linear constraint control components, and then classifies boundary surfaces corresponding to a control set into three types of rectangular boundary surfaces and one type of triangular boundary surface. By grouping the boundary surfaces, the method determines a key boundary surface for each group to form a boundary surface set. After removing duplicate boundary surfaces from the boundary surface set, the method calculates a boundary surface of a control attainable set, and finally obtains the control attainable set.
Claims
1. A method for calculating a control attainable set of a redundant drive system under a linear constraint, comprising following steps: 1) establishing an expression of a control attainable set of a redundant drive system under each pair of linear constraint control components as follows:
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0229]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0230] The present disclosure provides a method for calculating a control attainable set of a redundant drive system under a linear constraint. The following provides further detailed description based on the accompanying drawings and specific embodiments.
[0231] The present disclosure proposes a method for calculating a control attainable set of a redundant drive system under a linear constraint. An overall process is shown in
[0232] 1) Establish an expression of a control attainable set of a redundant drive system under each pair of linear constraint control components as follows:
[0233] In the above expression, [m/2] represents an integer part obtained by dividing m by 2, u represents a control vector, the u is denoted as u.sub.ELR, u.sub.ELR=(u.sub.1, . . . , u.sub.m).sup.T, u.sub.iminu.sub.iu.sub.imax, i=1,L,m, (u.sub.kmaxu.sub.kmin)u.sub.k+1+(u.sub.k+1maxu.sub.k+1min)u.sub.ku.sub.k+1maxu.sub.kmaxu.sub.k+1minu.sub.kmin, and k=1,3, . . . , 2[m/2]1.
[0234] An i.sup.th control component u.sub.i is a control action of a corresponding i.sup.th actuator, where 1im, and m represents a quantity of actuators; and u.sub.imin represents a minimum constraint value of the control action of the i.sup.th actuator, and u.sub.imax represents a maximum constraint value of the control action of the i.sup.th actuator. represents a control set, and ={u}; v represents a control attainable vector of the redundant drive system, and v=(v.sub.1, v.sub.2, v.sub.3).sup.T, which represents a control output of the redundant drive system; represents the control attainable set; and B represents a 3-row and m-column control efficiency matrix.
[0235] For convenience of subsequent description, the expression (1) is rewritten to an expression (2):
[0236] In the above expression, u.sub.k and u.sub.k+1 represent a pair of control components with a linear constraint, which is referred to as a pair of linear constraint control components, .sub.ELR represents a control attainable set of a redundant drive system with each pair of control components being linear constraint control components, .sub.ELR represents a control set, u.sub.ELR represents a control vector, and .sub.ELR={u.sub.ELR}. A boundary of the .sub.ELR is represented by (.sub.ELR), and a boundary of the .sub.ELR is represented by (.sub.ELR). In this way, determining of the control attainable set of the redundant drive system with each pair of control components being linear constraint control components is to determine (.sub.ELR) based on the given .sub.ELR and B. [0237] 2) Classify all boundary surfaces of the control set .sub.ELR obtained in the step 1) into four types.
[0238] In this embodiment, for the control set .sub.ELR={u.sub.ELR}, a point obtained by taking a corresponding maximum or minimum constraint value of each component u.sub.i(i=1, . . . , m) of the control vector u.sub.ELR=(u.sub.1, . . . , u.sub.m).sup.T is used as a vertex of the control set .sub.ELR. m represents the quantity of actuators, and m>3. One m-dimensional control set has at most 2.sup.m vertices. Because paired linear constraint control components cannot take the maximum value simultaneously, the m-dimensional control set .sub.ELR represented by the expression (2) has
vertices. [m/2] represents the integer part obtained by dividing m by 2, and (m/2) represents a remainder of dividing m by 2.
[0239] .sub.ELR represents the control set of the redundant drive system with each pair of control components being linear constraint control components, and the boundary of the .sub.ELR is the (.sub.ELR) Based on a value of each component of each vertex, there are four types of boundary surfaces constituting the (.sub.ELR): a type-rectangular boundary surface, a type-rectangular boundary surface, a type-=2\*ROMAN I rectangular boundary surface, and a triangular boundary surface. The four types of boundary surfaces are defined as follows:
[0240] Four vertices of the rectangular boundary surface are denoted as A, B, D, and C in clockwise order, and three vertices of the triangular boundary surface are denoted as A, C, and B in clockwise order.
[0241] A rectangle that satisfies following three conditions is referred to as the type-I rectangular boundary surface: (i) for the vertices A and B, one component has a different value, and other components have a same value; (ii) for the vertices A and C, one component of another pair of components has a different value, and other components have a same value; and (iii) for the vertices A and D, the above two components have different values, and other components have a same value.
[0242] A rectangle that satisfies following three conditions is referred to as the type-II rectangular boundary surface: (i) for the vertex A and the vertex B, one pair of linear constraint components have different values, and other components have a same value; (ii) for the vertex C and the vertex D, the one pair of linear constraint components have different values, and other components have a same value; and (iii) for the vertex A and the vertex C, the one pair of linear constraint components have a same value, and other components have a same value except that one of the other components has a different value.
[0243] A rectangle that satisfies following three conditions is referred to as the type=2\*ROMAN I rectangular boundary surface: (i) for the vertex A and the vertex B, one pair of linear constraint components have different values, and other components have a same value; (ii) for the vertex A and the vertex C, another pair of linear constraint components have different values, and other components have a same value; and (iii) for the vertex D and the vertex A, each of the above two pairs of linear constraint components has a different value, and other components have a same value.
[0244] A right triangle that following three conditions is referred to as the triangular boundary surface: (i) for the vertex A and the vertex B, one pair of linear constraint components have different values, and other components have a same value; (ii) for the vertex A and the vertex C, one component of the one pair of linear constraint components have a different value, and other components have a same value; and (iii) for the vertex B and the vertex C, the other component of the one pair of linear constraint components has a different value, and other components have a same value.
[0245] 3) Divide all the boundary surfaces of the control set .sub.ELR into C.sub.m.sup.2 groups.
[0246] If values of two components of the u.sub.ELR are between the corresponding minimum and maximum values, and values of other m2 components are the corresponding minimum or maximum value, the m components form 2.sup.m2 boundary surfaces of the control set.
[0247] If any two components in the u.sub.ELR are denoted as a p.sup.th component and a q.sup.th component, values of the p.sup.th component and the q.sup.th component are between the corresponding minimum and maximum values, 1pm, 1qm, p<q, values of other m2 components are the corresponding minimum or maximum value, and a boundary surface formed in such a manner is added to one group that is referred to as a p-q group, all the boundary surfaces in the control set are divided into the C.sub.m.sup.2 groups.
[0248] 4) Determine a key boundary surface for each of the C.sub.m.sup.2 groups in the step 3).
[0249] A boundary surface of an image mapped onto the .sub.ELR in the .sub.ELR of the boundary (.sub.ELR) is denoted as the key boundary surface, the is denoted as a set of key boundary surfaces, and the is initialized as an empty set.
[0250] 4-1) Select any group for which no key boundary surface has been determined, denote the group as a current p-q group, and perform a step 4-2).
[0251] 4-2) Determine whether the p.sup.th control component and the q.sup.th control component are a pair of linear constraint components; and [0252] if they are a pair of linear constraint components, perform a step 4-3); [0253] if they are not a pair of linear constraint components, and m is an even number, perform a step 4-4);
[0254] if they are not a pair of linear constraint components, m is an odd number, and the p.sup.th and q.sup.th control components each have a paired linear constraint component, perform a step 4-4); or
[0255] if they are not a pair of linear constraint components, m is an odd number, and the q.sup.th control component has no paired linear constraint component, perform a step 4-5).
[0256] It should be noted that an m.sup.th component does not have a paired linear constraint component only when m is the odd number. Since it has been limited earlier that p<q the p.sup.th control component must have a paired linear constraint component.
[0257] 4-3) When the p.sup.th control component and the q.sup.th control component are a pair of linear constraint components, determine a key boundary surface of the p-q group according to a following specific method: [0258] 4-3-1) When the p.sup.th control component and the q.sup.th control component are a pair of linear constraint components, determine that all boundary surfaces of the group are triangular boundary surfaces, where a value of each component of each point on the boundary surface satisfies a following formula:
[0259] A vertex of each boundary surface in the group is represented by an m-row and 3-column matrix 4, and .sup.3 columns are vectors corresponding to 3 vertices. Values of the p.sup.th and q.sup.th components of three vertices on each boundary surface are shown in p.sup.th and q.sup.th rows of the matrix . A value of an i(i=1, . . . , m,ip,q).sup.th component is the u.sub.imax or the u.sub.imin, and an i(i=1, . . . , m, ip, q).sup.th row of the corresponding matrix is the u.sub.imax Or the u.sub.imin. However, one pair of linear constraint components in other components cannot simultaneously take a maximum constraint value corresponding to the one pair of linear constraint components, and values of the other components are uniformly represented by ellipses in the . The p.sup.th row of the matrix is (u.sub.pmax, u.sub.pmin, u.sub.pmin), and the q.sup.th row is (u.sub.qmin, u.sub.qmin, u.sub.qmax).
[0260] 4-3-2) Construct a coordinate rotation transformation .sup.1T, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of the triangular boundary surface of the group, where only a first row of the .sup.1T is required because only the V.sub.1 axis is considered.
are set, where .sup.1c.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.1C, .sup.1t.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.1T, and b.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix B.
[0261] .sup.1C=.sup.1T.Math.B is set, such that .sup.1c.sub.1p=0, and .sup.1c.sub.1q=0. The .sup.1T and the B are substituted into the .sup.1C=.sup.1T.Math.B to obtain a following equation set:
[0262] The linear equation set (4) is solved to obtain the first row (.sup.1t.sub.11, .sup.1t.sub.12, .sup.1t.sub.13) of the .sup.1T. Then, a first row (.sup.1C.sub.11, . . . , .sup.1C.sub.1m) of the matrix .sup.1C is calculated according to the .sup.1C=.sup.1T.Math.B.
[0263] 4-3-3) Process other rows than the rows P, q of the matrix according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set , and 1im,i is an integer, ip,q.
[0264] The rule is as follows: [0265] when .sup.1c.sub.1i.Math..sup.1c.sub.1i+1<0, [0266] if .sup.1c.sub.1i>0 and .sup.1c.sub.1i+1<0, setting the i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or [0267] if .sup.1c.sub.1i<0 and .sup.1c.sub.1i+1>0, setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or
[0268] when .sup.1c.sub.1i<0 and .sup.1c.sub.1i+1<0, [0269] setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min; or [0270] when .sup.1c.sub.1i>0 and .sup.1c.sub.1i+1>0, [0271] calculating .sup.1z.sub.01=.sup.1c.sub.1i.Math.u.sub.imax+.sup.1c.sub.1i+1.Math.u.sub.i+1min and .sup.1z.sub.02=.sup.1c.sub.1i.Math.u.sub.imin+.sup.1c.sub.1i+1.Math.u.sub.i+1max and then performing determining as follows: [0272] if .sup.1z.sub.01>.sup.1z.sub.02, setting an i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; if .sup.1z.sub.01<.sup.1z.sub.02, setting an i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or if .sup.1z.sub.01=.sup.1z.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix as follows: setting the i.sup.th row of the matrix to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max. [0273] 4-3-4) Process other rows than the rows p, q of the matrix according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and then perform a step 4-6), where 1im, i is an integer, ip, q.
[0274] The rule is as follows: [0275] when .sup.1c.sub.1i.Math..sup.1c.sub.1i+1<0, [0276] if .sup.1c.sub.1i>0 and .sup.1c.sub.1i+1<0, setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or [0277] if .sup.1c.sub.1i<0 and .sup.1c.sub.1i+1>0, setting the i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or [0278] when .sup.1c.sub.1i>0 and .sup.1c.sub.1i+1>0, [0279] setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min; or [0280] when .sup.1c.sub.1i<0 and .sup.1c.sub.1i+1<0, [0281] calculating .sup.2z.sub.01=.sup.1c.sub.1i.Math.u.sub.imax+.sup.1c.sub.1i+1.Math.u.sub.i+1min and .sup.2z.sub.02=.sup.1c.sub.1i.Math.u.sub.imin+.sup.1c.sub.1i+1.Math.u.sub.i+1max and performing determining as follows: if .sup.2z.sub.01>.sup.2z.sub.02, setting an i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to the u.sub.i+1max; if .sup.2z.sub.01<.sup.2z.sub.02, setting an i.sup.th row of the matrix to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or if .sup.1z.sub.01=.sup.1z.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix as follows: setting the i.sup.th row of the matrix to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max. [0282] 4-4) When the p.sup.th control component and the q.sup.th control component are not a pair of linear constraint components, and each have the paired linear constraint component, determine a key boundary surface of the p-q group according to a following specific method: [0283] 4-4-1) The p-q group has three types of rectangular boundary surfaces. Each component of each point on the boundary surfaces of the group has a value that satisfies a following formula. The component paired with the p.sup.th component is denoted as a p.sup.th component, and the component paired with the q.sup.th component is denoted as a q.sup.th component.
[0284] When u.sub.p=u.sub.pmin and u.sub.q=u.sub.qmin it is determined that a boundary surface formed by a point satisfying the formula (5) is the type-I rectangular boundary surface.
[0285] When u.sub.p=u.sub.pmin and
it is determined that a boundary surface formed by a point satisfying the formula (5) is the type-II rectangular boundary surface.
[0286] When
and u.sub.q=u.sub.qmin, is determined that a boundary surface formed by a point satisfying the formula (5) also is the type-II rectangular boundary surface.
[0287] When
it is determined that a boundary surface formed by a point satisfying the formula (5) is the type-III rectangular boundary surface.
[0288] A vertex of each boundary surface in the group can be represented by an m-row and 4-column matrix, and 4 columns respectively represent vectors corresponding to 4 vertices. A matrix represents a vertex of one type-I rectangular boundary surface, a matrix .sup.1 or .sup.2 represents a vertex of one type-II rectangular boundary surface, and a matrix T represents a vertex of one type-III rectangular boundary surface. Values of the p.sup.th, the p.sup.th, the q.sup.th, and the q.sup.th components of four vertices on each boundary surface are shown in p.sup.th, p.sup.th, q.sup.th, and q.sup.th rows of the matrix. A value of an i.sup.th component is the u.sub.imax or the u.sub.imin, and an i.sup.th row of the corresponding matrix is the u.sub.imax or the u.sub.imin. However, one pair of linear inequality constraint components cannot simultaneously take a maximum constraint value corresponding to the one pair of linear inequality constraint components, and the maximum constraint value is uniformly represented by an ellipsis in the matrix. For the , the p.sup.th row is (u.sub.pmax, u.sub.pmin, u.sub.pmin, u.sub.pmax), the p.sup.th row is (u.sub.pmin, u.sub.pmin, u.sub.pmin, u.sub.pmin), the q.sup.th row is (u.sub.qmin, u.sub.qmin, u.sub.qmax, u.sub.qmax), and the q.sup.th row is (u.sub.qmin, u.sub.qmin, u.sub.qmin, u.sub.qmin).
[0289] For the .sup.1, the p.sup.th row is (u.sub.pmax, u.sub.pmin, u.sub.pmin, u.sub.p max), the p .sup.th row is (u.sub.pmin, u.sub.pmax, u.sub.pmax, u.sub.pmin), the q.sup.th row is (u.sub.qmin, u.sub.qmin, u.sub.qmax, u.sub.qmax), and the q.sup.th row is (u.sub.qmin, u.sub.qmin, u.sub.qmin, u.sub.qmin).
[0290] For the .sup.2, the p.sup.th row is (u.sub.pmax, u.sub.pmin, u.sub.pmin, u.sub.pmax), the p.sup.th row is (u.sub.pmin, u.sub.pmin, u.sub.pmin, u.sub.pmin), the q.sup.th row is (u.sub.qmin, u.sub.qmin, u.sub.qmax, u.sub.qmax), and the q.sup.th row is (u.sub.qmax, u.sub.qmax, u.sub.qmin, u.sub.qmin).
[0291] For the T, the p.sup.th row is (u.sub.pmax, u.sub.pmin, u.sub.pmin, u.sub.pmax), the p.sup.th row is (u.sub.pmin, u.sub.pmax, u.sub.pmax, u.sub.pmin), the q.sup.th row is (u.sub.qmin, u.sub.qmin, u.sub.qmax, u.sub.qmax), and the q.sup.th row is (u.sub.qmax, u.sub.qmax, u.sub.qmin, u.sub.qmin).
[0292] It should be noted that: In the four matrices shown in the above formula, if p is an odd number, the p.sup.th row comes before the p.sup.th row; or if p is an even number, the p.sup.th row comes after the p.sup.th row. If q is an odd number, the q.sup.th row comes before the q.sup.th row; or if q is an even number, the q.sup.th row comes after the q.sup.th row. [0293] 4-4-2) Construct a coordinate rotation transformation G, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of the type-III rectangular boundary surface, and images of all points on the boundary surface have equal coordinate values on the v.sub.1 axis.
are set, where g.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix G, and e.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix E.
[0294] E=G.Math.B is set, such that
The G and the B are substituted into the E=G.Math.B to obtain a following equation set:
[0295] The linear equation set (7) is solved to obtain a first row of the G, and a first row (e.sub.11, . . . , e.sub.1m) of the matrix E is calculated according to the E=G.Math.B. If e.sub.1p>0 and e.sub.1q22 0, a step 4-4-3) is performed; if e.sub.1p<0 and e.sub.1q21 0, a step 4-4-4) is performed; or if e.sub.1p.Math.e.sub.1q21 0, a step 4-4-5) is performed. [0296] 4-4-3) Process other rows than the rows p, q, p, q of the matrix T according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and then perform the step 4-4-5), where i=1, . . . , m, ip, p, q, q.
[0297] The rule is as follows: [0298] when e.sub.1i.Math.e.sub.1i+1<0, [0299] if e.sub.1i>0 and e.sub.1i+1<0, setting the i.sup.th row of the matrix T to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or [0300] if e.sub.1i<0 and e.sub.1i+1>0, setting the i.sup.th row of the matrix T to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; [0301] when e.sub.1i<0 and e.sub.1i+1<0, [0302] setting the i.sup.th row of the matrix T to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min; or [0303] when e.sub.1i<0 and e.sub.1i+1>0, [0304] calculating .sup.1d.sub.01=e.sub.1i.Math.u.sub.imax+e.sub.1i+1.Math.u.sub.i+1min and .sup.1d.sub.02=e.sub.1i.Math.u.sub.imin+e.sub.1i+1.Math.u.sub.i+1max and performing determining as follows: if .sup.1d.sub.01>.sup.1d.sub.02, setting an i.sup.th row of the matrix T to the u.sub.imax and an i+1.sup.th row to the u.sub.i+1min; if .sup.1d.sub.01<.sup.1z.sub.02, setting an i.sup.th row of the matrix T to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or if .sup.1d.sub.01=.sup.1d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix T as follows: setting the i.sup.th row of the matrix T to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix T to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max.
[0305] 4-4-4) Process other rows than the rows p, q, p, q of the matrix T according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and then perform the step 4-4-5), where i=1, . . . , m, ip, p, q, q.
[0306] The rule is as follows: [0307] when e.sub.1i.Math.e.sub.1i+1<0, [0308] if e.sub.1i>0 and e.sub.1i+1<0, setting the i.sup.th row of the matrix T to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or [0309] if e.sub.1i<0 and e.sub.1i+1>0, setting the i.sup.th row of the matrix T to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; [0310] when e.sub.1i<0 and e.sub.1i+1<0, [0311] calculating .sup.2d.sub.01=.sup.2h.sub.1i.Math.u.sub.imax+.sup.2h.sub.1i+1.Math.u.sub.i+1min, and .sup.2d.sub.02=.sup.2h.sub.1i.Math.u.sub.imin+.sup.2h.sub.1i+1.Math.u.sub.i+1max; and if .sup.2d.sub.01>.sup.2d.sub.02, setting an i.sup.th row of the matrix T to the u.sub.imin and an i+1.sup.th row to the u.sub.i+1max; if .sup.2d.sub.01<.sup.2d.sub.02, setting an i.sup.th row of the matrix T to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or if .sup.2d.sub.01=.sup.2d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix T as follows: setting the i.sup.th row of the matrix T to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix T to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max; or [0312] when e.sub.1i>0 and e.sub.1i+1>0; [0313] setting the i.sup.th row of the matrix T to the u.sub.imin and an i+1.sup.th row to the u.sub.i+1min. [0314] 4-4-5) Construct a coordinate rotation transformation .sup.2T, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of the type-I rectangular boundary surface of the group, where only a first row of the .sup.2T is required because only the v.sub.1 axis is considered.
are set, where .sup.2c.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.2C, and .sup.2t.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.2T.
[0315] .sup.2C=.sup.2T.Math.B is set, such that .sup.2c.sub.1p=0, and .sup.2c.sub.1q=0. The .sup.2T and the B are substituted into the .sup.2C=.sup.2T.Math.B to obtain a following equation set:
[0316] The linear equation set (8) is solved to obtain the first row (.sup.2t.sub.11, .sup.2t.sub.12,.sup.2t.sub.13) of the .sup.2T. Then, a first row(.sup.2c.sub.11, . . . , .sup.2c.sub.1m) of the matrix .sup.2c can be calculated according to the .sup.2C=.sup.2T.Math.B.
[0317] If .sup.2c.sub.1p<0 and .sup.2c.sub.1q<0, a step 4-4-6) is performed; if .sup.2c.sub.1p>0 and .sup.2c.sub.1q>0, a step 4-4-7) is performed; or if .sup.2c.sub.1p.Math..sup.2c.sub.1q<0, a step 4-4-8) is performed.
[0318] 4-4-6) Process other rows than the rows p, q, p, q of the matrix according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set , and i=1, . . . , m, ip, p, q, q; and then perform determining as follows: [0319] if two key boundary surfaces have been found for the group, perform a step 4-6); otherwise, perform the step 4-4-8).
[0320] The rule is as follows: [0321] when .sup.2c.sub.1i.Math..sup.2c.sub.1i+1<0, [0322] if .sup.2c.sub.1i>0 and .sup.2c.sub.1i+1<0, setting the i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or [0323] if .sup.2c.sub.1i<0 and .sup.2c.sub.1i+1>0, setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; [0324] when .sup.2c.sub.1i<0 and .sup.2c.sub.1i+1<0, [0325] setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min; or [0326] when .sup.2c.sub.1i>0 and .sup.2c.sub.1i+1>0, [0327] calculating .sup.3d.sub.01=.sup.2c.sub.1i.Math.u.sub.imax+.sup.2c.sub.1i+1.Math.u.sub.i+1min, and .sup.3d.sub.02=.sup.2c.sub.1i.Math.u.sub.imin+.sup.2c.sub.1i+1.Math.u.sub.i+1max and if .sup.3d.sub.01>.sup.3d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imax and the i+1.sup.th row to the u.sub.i+1min; if .sup.3d.sub.01<.sup.3d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or if .sup.3d.sub.01=.sup.3d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix as follows: setting the i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max. [0328] 4-4-7) Process other rows than the rows p, q, p, q of the matrix according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set , and i=1, . . . , m, ip, p, q, q; and then perform determining as follows: [0329] if two key boundary surfaces have been found for the group, perform a step 4-6); otherwise, perform the step 4-4-8).
[0330] The rule is as follows: [0331] when .sup.2c.sub.1i.Math..sup.2c.sub.1i+1<0, [0332] if .sup.2c.sub.1i>0 and .sup.2c.sub.1i+1<0, setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or [0333] if .sup.2c.sub.1i<0 and .sup.2c.sub.1i+1>0, setting the i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; [0334] when .sup.2c.sub.1i<0 and .sup.2c.sub.1i+1<0, [0335] calculating .sup.4d.sub.01=.sup.2c.sub.1i.Math.u.sub.imax+.sup.2c.sub.1i+1.Math.u.sub.i+1min, and .sup.4d.sub.02=.sup.2c.sub.1i.Math.u.sub.imin+.sup.2c.sub.1i+1.Math.u.sub.i+1max and if .sup.4d.sub.01>.sup.4d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to the u.sub.i+1max; if .sup.4d.sub.01<.sup.4d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or if .sup.4d.sub.01=.sup.4d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix as follows: setting the i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max; or [0336] when .sup.2c.sub.1i>0 and .sup.2c.sub.1i+1>0, [0337] setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min. [0338] 4-4-8) Construct a coordinate rotation transformation .sup.1F, such that a transformed coordinate axis is perpendicular v.sub.1 to an image of a boundary surface whose vertex matrix is the .sup.1 in the group, and images of all points on the boundary surface have equal coordinate values on the v.sub.1 axis, where only a first row of the .sup.1F is required because only the axis is considered.
are set, where .sup.1f.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.1F, and .sup.1h.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.1H.
[0339] .sup.1H=.sup.1F.Math.B is set, such that
and .sup.1h.sub.1q=0. The .sup.1F and the B are substituted into the .sup.1H=.sup.1F.Math.B to obtain a following equation set:
[0340] The linear equation set (9) is solved to obtain the first row of the .sup.1F, and a first row (.sup.1h.sub.11, . . . , .sup.1h.sub.1m) of the matrix .sup.1H according to the .sup.1H=.sup.1F.Math.B.
[0341] If .sup.1h.sub.1p>0, and .sup.1h.sub.1p<0, a step 4-4-9) is performed; if .sup.1h.sub.1p<0 and .sup.1h.sub.1p<0, a step 4-4-10) is performed; or if .sup.1h.sub.1p.Math..sup.1h.sub.1p>0, a step 4-4-11) is performed.
[0342] 4-4-9) Process other rows than the rows p, q, p, q of the matrix .sup.1 according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set , and i=1, . . . , m, ip, p, q, q; and then perform determining as follows: [0343] if two key boundary surfaces have been found for the group, perform a step 4-6); otherwise, perform the step 4-4-11).
[0344] The rule is as follows: [0345] when .sup.1h.sub.1i.Math..sup.1h.sub.1i+1<0, [0346] if .sup.1h.sub.1i>0 and .sup.1h.sub.1i+1<0, setting the i.sup.th row of the matrix .sup.1 to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or [0347] if .sup.1h.sub.1i<0 and .sup.1h.sub.1i+1>0, setting the i.sup.th row of the matrix .sup.1 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; [0348] when .sup.1h.sub.1i<0 and .sup.1h.sub.1i+1<0, [0349] setting the i.sup.th row of the matrix .sup.1 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min, or [0350] when .sup.1h.sub.1i>0 and .sup.1h.sub.1i+1>0, [0351] calculating .sup.5d.sub.01=.sup.1h.sub.1i.Math.u.sub.imax+.sup.1h.sub.1i+1.Math.u.sub.i+1min, and .sup.5d.sub.02=.sup.1h.sub.1i.Math.u.sub.imin+.sup.1h.sub.1i+1.Math.u.sub.i+1max; and if .sup.5d.sub.01>.sup.5d.sub.02, setting an i.sup.th row of the matrix .sup.1 to the u.sub.imax and the i+1.sup.th row to the u.sub.i+1min; if .sup.5d.sub.01<.sup.5d.sub.02, setting an i.sup.th row of the matrix .sup.1 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or if .sup.5d.sub.01=.sup.5d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix .sup.1 as follows: setting the i.sup.th row of the matrix .sup.1 to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix .sup.1 to the u.sub.imin and i+1.sup.th row to u.sub.i+1max.
[0352] 4-4-10) Process other rows than the rows p, q, p, q of the matrix .sup.1 according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set , and i=1, . . . , m, ip, p, q, q; and then perform determining as follows:
[0353] if two key boundary surfaces have been found for the group, perform a step 4-6); otherwise, perform the step 4-4-11).
[0354] The rule is as follows: [0355] when .sup.1h.sub.1i.Math..sup.1h.sub.1i+1<0, [0356] if .sup.1h.sub.1i>0 and .sup.1h.sub.1i+1<0, setting the i.sup.th row of the matrix .sup.1 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or [0357] if .sup.1h.sub.1i<0 and .sup.1h.sub.1i+1>0, setting the i.sup.th row of the matrix .sup.1 to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; [0358] when .sup.1h.sub.1i>0 and .sup.1h.sub.1i+1>0, [0359] setting the i.sup.th row of the matrix .sup.1 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min, or [0360] when .sup.1h.sub.1i<0 and .sup.1h.sub.1i+1<0, [0361] calculating .sup.6d.sub.01=.sup.1h.sub.1i.Math.u.sub.imax+.sup.1h.sub.1i+1.Math.u.sub.i+1min, and .sup.6d.sub.02=.sup.1h.sub.1i.Math.u.sub.imin+.sup.1h.sub.1i+1.Math.u.sub.i+1max; and if .sup.6d.sub.01>.sup.6d.sub.02, setting an i.sup.th row of the matrix .sup.1 to the u.sub.imin and the i+1.sup.th row to the u.sub.i+1max; if .sup.6d.sub.01<.sup.6d.sub.02, setting an i.sup.th row of the matrix .sup.1 to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or if .sup.6d.sub.01=.sup.6d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix .sup.1 as follows: setting the i.sup.th row of the matrix .sup.1 to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix .sup.1 to the u.sub.imin and i+1.sup.th row to u.sub.i+1max.
[0362] 4-4-11) Construct a coordinate rotation transformation .sup.2F, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of a boundary surface whose vertex matrix is the .sup.2 in the group, and images of all points on the boundary surface have equal coordinate values on the v.sub.1 axis, where only a first row of the .sup.2F is required because only the v.sub.1 axis is considered.
are set, where .sup.2f.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.2F, and .sup.2h.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.2H.
[0363] .sup.2H=.sup.2F.Math.B is set, such that
and .sup.2h.sub.1p=0. The .sup.2F and the B are substituted into the .sup.2H=.sup.2F.Math.B to obtain a following equation set:
[0364] The linear equation set (10) is solved to obtain the first row of the .sup.2F, and a first row (.sup.2h.sub.11, . . . , .sup.2h.sub.1m) of the matrix .sup.2H according to the .sup.2H=.sup.2F.Math.B. If and .sup.2h.sub.1p<0 and .sup.2h.sub.1q>0, a step 4-4-12) is performed; if .sup.2h.sub.1p>0 and .sup.2h.sub.1q<0, a step 4-4-13) is performed; or if .sup.2h.sub.1p.Math..sup.2h.sub.1q>0, a step 4-6) is performed.
[0365] 4-4-12) Process other rows than the rows p, q, p, q of the matrix .sup.1 according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set , and i=1, . . . , m, ip, p, q, q; and then perform the step 4-6).
[0366] The rule is as follows: [0367] when .sup.2h.sub.1i.Math..sup.2h.sub.1i+1<0, [0368] if .sup.2h.sub.1i>0 and .sup.2h.sub.1i+1<0, setting the i.sup.th row of the matrix .sup.2 to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or [0369] if .sup.2h.sub.1i<0 and .sup.2h.sub.1i+1>0, setting the i.sup.th row of the matrix .sup.2 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; [0370] when .sup.2h.sub.1i<0 and .sup.2h.sub.1i+1<0, [0371] setting the i.sup.th row of the matrix .sup.2 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min, or [0372] when .sup.2h.sub.1i<0 and .sup.2h.sub.1i+1<0, [0373] calculating .sup.7d.sub.01=.sup.2h.sub.1i.Math.u.sub.imax+.sup.2h.sub.1i+1.Math.u.sub.i+1min, and .sup.7d.sub.02=.sup.2h.sub.1i.Math.u.sub.imin+.sup.2h.sub.1i+1.Math.u.sub.i+1max; and if .sup.7d.sub.01>.sup.7d.sub.02, setting an i.sup.th row of the matrix .sup.2 to the u.sub.imax and the i+1.sup.th row to the u.sub.i+1min; if .sup.7d.sub.01<.sup.7d.sub.02, setting an i.sup.th row of the matrix .sup.2 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or if .sup.7d.sub.01=.sup.7d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix .sup.2 as follows: setting the i.sup.th row of the matrix .sup.2 to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix .sup.2 to the u.sub.imin and i+1.sup.th row to u.sub.i+1max.
[0374] 4-4-13) Process other rows than the rows p, q, p, q of the matrix .sup.2 according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set , and i=1, . . . , m, ip, p, q, q; and then perform the step 4-6).
[0375] The rule is as follows: [0376] when .sup.2h.sub.1i.Math..sup.2h.sub.1i+1<0, [0377] if .sup.2h.sub.1i>0 and .sup.2h.sub.1i+1<0, setting the i.sup.th row of the matrix .sup.2 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or [0378] if .sup.2h.sub.1i<0 and .sup.2h.sub.1i+1>0, setting the i.sup.th row of the matrix .sup.1 to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; [0379] when .sup.2h.sub.1i>0 and .sup.2h.sub.1i+1>0, [0380] calculating .sup.8d.sub.01=.sup.2h.sub.1i.Math.u.sub.imax+.sup.2h.sub.1i+1.Math.u.sub.i+1min, and .sup.8d.sub.02=.sup.2h.sub.1i.Math.u.sub.imin+.sup.2h.sub.1i+1.Math.u.sub.i+1max; and if .sup.8d.sub.01>.sup.8d.sub.02, setting an i.sup.th row of the matrix .sup.2 to the u.sub.imin and the i+1.sup.th row to the u.sub.i+1max; if .sup.8d.sub.01<.sup.8d.sub.02, setting an i.sup.th row of the matrix .sup.2 to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or if .sup.8d.sub.01=.sup.8d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix .sup.2 as follows: setting the i.sup.th row of the matrix .sup.2 to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix .sup.2 to the u.sub.imin and i+1.sup.th row to u.sub.i+1max; or [0381] when .sup.2h.sub.1i>0 and .sup.2h.sub.1i+1>0, [0382] setting the i.sup.th row of the matrix .sup.2 to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min.
[0383] 4-5) When the p.sup.th control component and the q.sup.th control component are not a pair of linear constraint components, and the q.sup.th control component has no paired linear constraint component, determine a key boundary surface of the p-q group according to a following specific method:
[0384] 4-5-1) This situation occurs only when m is an odd number and q=m. The p-q group contains both the type-I and the type-II rectangular boundary surfaces. Each component of each point on the boundary surfaces of the group has a value that satisfies a following formula (11). A component paired with the p.sup.th component is denoted as a p.sup.th component.
[0385] When u.sub.p=u.sub.pmin, it is determined that a boundary surface formed by a point satisfying the formula (11) is the type-I rectangular boundary surface; or when
it is determined that a boundary surface formed by a point satisfying the formula (11) is the type-II rectangular boundary surface.
[0386] A vertex of each boundary surface in the group can be represented by an m row and 4-column matrix, and 4 columns respectively represent vectors corresponding to 4 vertices. A matrix is used to represent a vertex of one type-I rectangular boundary surface, and a matrix is used to represent a vertex of one type-I rectangular boundary surface. Values of the p.sup.th p.sup.th, and q.sup.th components of four vertices on each boundary surface are shown in p.sup.th, p.sup.th and q.sup.th rows of the matrix. A value of an i(i=1, . . . , m, ip, p, q).sup.th component is the u.sub.imax or the u.sub.min, and an i(i=1, . . . , m, ip, p, q).sup.th row of the corresponding matrix is the u.sub.imax or the u.sub.imin. However, one pair of linear constraint components cannot simultaneously take a maximum constraint value corresponding to the one pair of linear constraint components, and the maximum constraint value is uniformly represented by an ellipsis in the matrix. For the , the p.sup.th row is (u.sub.pmax, u.sub.pmin, u.sub.pmin, u.sub.pmax), the p.sup.th row is (u.sub.pmin, u.sub.pmin, u.sub.pmin, u.sub.pmin), the q.sup.th row is) (u.sub.qmin, u.sub.qmin, u.sub.qmax, u.sub.qmax), and the q.sup.th row is (u.sub.qmin, u.sub.qmin, u.sub.qmin, u.sub.qmin).
[0387] In the matrices shown in the above formula, if P is an odd number, the p.sup.th row comes before the p.sup.th row; or if P is an even number, the p.sup.th row comes after the p.sup.th row.
[0388] 4-5-2) Construct a coordinate rotation transformation .sup.3T, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of the type-I rectangular boundary surface of the group, where only a first row of the .sup.3T is required because only the v.sub.1 axis is considered.
are set, where .sup.3t.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.3T, and .sup.3c.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.3C.
[0389] .sup.3C=.sup.3T.Math.B is set, such that .sup.3c.sub.1p=0, and .sup.3c.sub.1q=0. The .sup.3T and the B are substituted into the .sup.3C=.sup.3T.Math.B to obtain a following equation set:
[0390] The linear equation set (12) is solved to obtain the first row (.sup.3t.sub.11, .sup.3t.sub.12, .sup.3t.sub.13) of the .sup.3T. Then, a first row (.sup.3c.sub.11, . . . , .sup.3c.sub.1m) of the matrix .sup.3C can be calculated according to the .sup.3C=.sup.3T.Math.B. If .sup.3c.sub.1p<0, a step 4-5-3) is performed; or if .sup.3c.sub.1p>0, a step 4-5-4) is performed.
[0391] 4-5-3) Process other rows than the rows p, q, p according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and then perform a step 4-5-5), where i=1, . . . , m, ip, p, q.
[0392] The rule is as follows: [0393] when .sup.3c.sub.1i.Math..sup.3c.sub.1i+1<0, [0394] if .sup.3c.sub.1i>0 and .sup.3c.sub.1i+1<0, setting the i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or [0395] if .sup.3c.sub.1i<0 and .sup.3c.sub.1i+1>0, setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; [0396] when .sup.3c.sub.1i<0 and .sup.3c.sub.1i+1<0, [0397] setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min; or [0398] when .sup.3c.sub.1i>0 and .sup.3c.sub.1i+1>0, [0399] calculating .sup.9d.sub.01=.sup.3c.sub.1i.Math.u.sub.imax+.sup.3c.sub.1i+1.Math.u.sub.i+1min, and .sup.9d.sub.02=.sup.3c.sub.1i.Math.u.sub.imin+.sup.3c.sub.1i+1.Math.u.sub.i+1max; and [0400] if .sup.9d.sub.01>.sup.9d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; if .sup.9d.sub.01<.sup.9d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or if .sup.9d.sub.01=.sup.9d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix as follows: setting the i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max.
[0401] 4-5-4) Process other rows than the rows p, q, p of the matrix according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and then perform a step 4-5-5), where i=1, . . . , m, ip, p, q.
[0402] The rule is as follows: [0403] when .sup.3c.sub.1i.Math..sup.3c.sub.1i+1<0, [0404] if .sup.3c.sub.1i>0 and .sup.3c.sub.1i+1<0, setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or [0405] if .sup.3c.sub.1i<0 and .sup.3c.sub.1i+1>0, setting the i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; [0406] when .sup.3c.sub.1i>0 and .sup.3c.sub.1i+1>0, [0407] setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min; or [0408] when .sup.3c.sub.1i<0 and .sup.3c.sub.1i+1<0, [0409] calculating .sup.10d.sub.01=.sup.3c.sub.1i.Math.u.sub.imax+.sup.3c.sub.1i+1.Math.u.sub.i+1min, and .sup.10d.sub.02=.sup.3c.sub.1i.Math.u.sub.imin+.sup.3c.sub.1i+1.Math.u.sub.i+1max; and if .sup.10d.sub.01>.sup.10d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max; if .sup.10d.sub.01<.sup.10d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or if .sup.10d.sub.01=.sup.10d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix as follows: setting the i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to u.sub.i+1max.
[0410] 4-5-5) Construct a coordinate rotation transformation .sup.3F, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of a boundary surface whose vertex matrix is the in the group, and images of all points on the boundary surface have equal coordinate values on the v.sub.1 axis, where only a first row of the .sup.3F is required because only the v.sub.1 axis is considered.
are set, where .sup.3h.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.3H, and .sup.3f.sub.ij represents an element of an i.sup.th row and a j.sup.th column of the matrix .sup.3F.
[0411] .sup.3H=.sup.3F.Math.B is set, such that
and .sup.3h.sub.1q=0. The .sup.3F and the B are substituted into the .sup.3H=.sup.3F.Math.B to obtain a following equation set:
[0412] The linear equation set (13) is solved to obtain the first row of the .sup.3F, and a first row (.sup.3h.sub.11, . . . , .sup.3h.sub.1m) of the matrix .sup.3H according to the .sup.3H=.sup.3F.Math.B. If .sup.3h.sub.1p>0, a step 4-5-6) is performed; or if .sup.3h.sub.1p<0, a step 4-5-7) is performed.
[0413] 4-5-6) Process other rows than the rows p, q, p of the matrix according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and then perform a step 4-6), where i=1, . . . , m, ip, p, q.
[0414] The rule is as follows: [0415] when .sup.3h.sub.1i.Math..sup.3h.sub.1i+1<0, [0416] if .sup.3h.sub.1i>0 and .sup.3h.sub.1i+1<0, setting the i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or [0417] if .sup.3h.sub.1i<0 and .sup.3h.sub.1i+1>0, setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; [0418] when .sup.3h.sub.1i<0 and .sup.3h.sub.1i+1<0, [0419] setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min, or [0420] when .sup.3h.sub.1i>0 and .sup.3h.sub.1i+1>0, [0421] calculating .sup.11d.sub.01=.sup.3h.sub.1i.Math.u.sub.imax+.sup.3h.sub.1i+1.Math.u.sub.i+1min, and .sup.11d.sub.02=.sup.3h.sub.1i.Math.u.sub.imin+.sup.3h.sub.1i+1.Math.u.sub.i+1max; and if .sup.11d.sub.01>.sup.11d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imax and the i+1.sup.th row to the u.sub.i+1min; if .sup.11d.sub.01<.sup.11d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or if .sup.11d.sub.01=.sup.11d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix as follows: setting the i.sup.th row of the matrix to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix to the u.sub.imin and i+1.sup.th row to u.sub.i+1max.
[0422] 4-5-7) Process other rows than the rows p, q, p of the matrix according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and then perform a step 4-6), where i=1, . . . , m, ip, p, q.
[0423] The rule is as follows: [0424] when .sup.3h.sub.1i.Math..sup.3h.sub.1i+1<0, [0425] if .sup.3h.sub.1i>0 and .sup.3h.sub.1i+1<0, setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1max; or [0426] if .sup.3h.sub.1i<0 and .sup.3h.sub.1i+1>0, setting the i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; [0427] when .sup.3h.sub.1i<0 and .sup.3h.sub.1i+1<0, [0428] calculating .sup.12d.sub.01=.sup.3h.sub.1i.Math.u.sub.imax+.sup.3h.sub.1i+1.Math.u.sub.i+1min, and .sup.12d.sub.02=.sup.3h.sub.1i.Math.u.sub.imin+.sup.3h.sub.1i+1.Math.u.sub.i+1max; and if .sup.12d.sub.01>.sup.12d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imin and the i+1.sup.th row to the u.sub.i+1max; if .sup.12d.sub.01<.sup.12d.sub.02, setting an i.sup.th row of the matrix to the u.sub.imax and an i+1.sup.th row to u.sub.i+1min; or if .sup.12d.sub.01=.sup.12d.sub.02, setting an i.sup.th row and an i+1.sup.th row of the matrix as follows: setting the i.sup.th row of the matrix to the u.sub.imax and the i+1.sup.th row to u.sub.i+1min; or setting the i.sup.th row of the matrix to the u.sub.imin and i+1.sup.th row to u.sub.i+1max; or [0429] when .sup.3h.sub.1i>0 and .sup.3h.sub.1i+1>0, [0430] setting the i.sup.th row of the matrix to the u.sub.imin and an i+1.sup.th row to u.sub.i+1min.
[0431] 4-6) Return to the step 4-1), select a next group for which no key boundary surface has been determined, until the key boundary surface has been determined for all groups, and then perform a step 5).
[0432] 5) Check all key boundary surfaces in the , and perform determining as follows: if there are identical key boundary surfaces, retain only one of the identical key boundary surfaces, and remove other key boundary surfaces that are the same as the retained one key boundary surface; after processing all the key boundary surfaces, form a new set of key boundary surfaces, which is denoted as ; and then perform a step 6).
[0433] 6) All key boundary surfaces in the are all key boundary surfaces in the control set. All vertices of each key boundary surface in the are mapped according to v=B.Math.u.sub.ELR to obtain all vertices of a boundary surface corresponding to the control attainable set, so as to determine the boundary surface of the control attainable set, where the boundary surface of the control attainable set is a quadrilateral or triangle. Boundary surfaces that are of the control attainable set and determined based on all the key boundary surfaces in the constitute the boundary (.sub.ELR) of the control attainable set.
[0434] The method in the present disclosure is further described in detail below with reference to a specific embodiment.
EMBODIMENT
[0435] In this embodiment, a control attainable set of a four-wheel independently driven and independently steered vehicle is calculated.
[0436] Given that four longitudinal forces of four wheels are F.sub.L1, F.sub.L2, F.sub.L3, and F.sub.L4, respectively, and four lateral forces are F.sub.T1, F.sub.T2, F.sub.T3, and F.sub.T4 respectively. It is set that u.sub.v=(F.sub.L1, F.sub.T1, F.sub.L2, F.sub.T2, F.sub.L3,F.sub.T3, F.sub.L4, F.sub.T4).sup.T, F.sub.LiminF.sub.LiF.sub.Limax, F.sub.TiminF.sub.TiF.sub.Timax, i=1, . . . , 4, F.sub.Limin, F.sub.Timin respectively represent minimum values of the longitudinal and lateral forces of each wheel, F.sub.Limax, F.sub.Timax respectively represent maximum values of the longitudinal and lateral forces of each wheel, [F.sub.L1min, . . . , F.sub.L4min]=[16, 16, 19.3, 19.3], [F.sub.T1min, . . . , F.sub.T4min]=[5, 5, 9.21, 9.21], [F.sub.L1max, . . . , F.sub.L4max]=[16, 16, 9.3, 9.3], and [F.sub.T1max, . . . , F.sub.T4max]=[5,5,9.21,9.21]. There is a following linear relationship between an i.sup.th longitudinal force and an i.sup.th lateral force: (F.sub.Limax-F.sub.Limin)F.sub.Ti+(F.sub.Timax-F.sub.Timax)F.sub.LiF.sub.TimaxF.sub.LimaxF.sub.TiminF.sub.Limin. All values of the u.sub.v constitute a control set .sub.v={u.sub.v} of the four-wheel independently driven and independently steered vehicle. In addition, a wheel force control efficiency matrix B.sub.v is known:
[0437] The control attainable set .sub.v of the four-wheel independently driven and independently steered vehicle is calculated according to a following formula: .sub.v={v.sub.VS|v.sub.VS=B.sub.v.Math.u.sub.VS=(F.sub.LS, F.sub.TS, M.sub.S).sup.T, u.sub.vs.sub.v}, where F.sub.LS represents a specific overall longitudinal force of the vehicle, F.sub.TS represents a specific overall lateral force of the vehicle, and M.sub.s represents a specific overall yawing moment of the vehicle.
[0438] This embodiment proposes a method for calculating a control attainable set of a redundant drive system under a linear constraint, including following steps:
[0439] 1) Construct a control attainable set of a redundant drive system under each pair of linear constraint control components.
[0440] In this embodiment, a correspondence between each physical quantity and the terms used in the foregoing description is as follows: .sub.v corresponds to .sub.ELR, B.sub.v corresponds to B, .sub.v corresponds to .sub.ELR, and u.sub.v=(F.sub.L1, F.sub.T1, F.sub.L2, F.sub.T2, F.sub.L3, F.sub.T3, F.sub.L4, F.sub.T4).sup.T corresponds to u.sub.ELR=(u.sub.1, . . . , u.sub.8).sup.T The physical problem is to: [0441] determine a control containable set of an 8-dimensional control vector u.sub.ELR=(u.sub.1, . . . , u.sub.8).sup.T, where u.sub.1 and u.sub.2 are a pair of control components, u.sub.3 and u.sub.4 are a pair of control components, u.sub.5 and u.sub.6 are a pair of control components, and u.sub.7 and u.sub.8 are a pair of control components; and each control component u.sub.i has a value range, namely u.sub.iminu.sub.iu.sub.imax, where i=1, . . . , 8,
[0442] There is a following linear relationship between each pair of control components:
[0443] .sub.ELR={u.sub.ELR} is set, where
[0444] Each control vector u.sub.ELR of the .sub.ELR generates a control attainable vector v through following mapping: v=B.Math.u.sub.ELR, where B:R.sup.8.fwdarw.R.sup.3,
[0445] Requirement: Determine (.sub.ELR) of the control attainable set.
[0446] 2) Classify all boundary surfaces of the control set .sub.ELR into four types.
[0447] A point obtained by taking a corresponding maximum or minimum constraint value of each component u.sub.i(i=1, . . . , 8) of the control vector u.sub.ELR=(u.sub.1, . . . , u.sub.8).sup.T is a vertex of the control set .sub.ELR. The 8-dimensional control set .sub.ELR in this embodiment has 3.sup.4 vertices. Boundary surfaces constituting (.sub.ELR) are a type-rectangular boundary surface, a type-rectangular boundary surface, a type=2\*ROMAN I rectangular boundary surface, and a triangular boundary surface.
[0448] 3) Divide all the boundary surfaces of the control set into C.sub.8.sup.2 groups.
[0449] Values of a p.sup.th control component u.sub.p, u.sub.q and a q.sup.th control component (1p8, 1q8, p<q) are between the corresponding minimum and maximum values, and values of other 6 components u.sub.i(1i8, ip, iq) are the corresponding minimum or maximum value, namely, u.sub.i=u.sub.imax or u.sub.imin Through such combination, a total of 2.sup.6 boundary surfaces are obtained and added to a group referred to as a p-q group. All the boundary surfaces of the control set are divided into a total of 28 groups, namely, a 1-2 group, a 1-3 group, . . . , and a 7-8 group.
[0450] 4) Determine a key boundary surface for each of the C.sub.8.sup.2 groups in the step 3).
[0451] There are a total of 28 groups. Due to limited space, only the 1-2 group and the 3-5 group are used as examples to illustrate a process of determining the key boundary surface. A set of key boundary surfaces is denoted as , and the is initialized as an empty set.
[0452] 4-1) Denote the 1-2 group as a current p-q group.
[0453] 4-2) Perform a step 4-3) because a first control component and a second control component are a pair of linear constraint components.
[0454] 4-3)
[0455] 4-3-1) Boundary surfaces of the group are all triangular boundary surfaces.
[0456] 4-3-2) Construct a coordinate rotation transformation .sup.1T, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of the triangular boundary surface of the group, where only a first row of the .sup.1T is required because only the v.sub.1 axis is considered.
[0457] Given that
are set. .sup.1C=.sup.1T.Math.B is set, such that .sup.1C.sub.11=0, and .sup.1C.sub.12=0.
[0458] The .sup.1T and the B are substituted into the .sup.1C=.sup.1T.Math.B to obtain a following equation set:
[0459] The linear equation set (14) is solved. Set .sup.1t.sub.13=1, such that .sup.1t.sub.11=1.4, .sup.1t.sub.12=0.7 can be calculated.
[0460] Then, the first row of the matrix .sup.1C can be calculated according to the .sup.1C=.sup.1T.Math.B, which is (.sup.1c.sub.11, . . . , .sup.1C.sub.18)=(0, 0, 0.4093, 1.3388, 2.8738, 2.0252, 2.5334, 0.5849) Then, a step 4-3-3) is performed.
[0461] 4-3-3) Due to .sup.1c.sub.13.Math..sup.1c.sub.14<0, and .sup.1c.sub.13>0, and .sup.1c.sub.14<0, set a third row of a matrix to u.sub.3max and a fourth row to u.sub.4min; due to.sup.1c.sub.15<0,.sup.1c.sub.16<0, set a fifth row of the matrix to u.sub.5min and a sixth row to u.sub.6min; due to .sup.1c.sub.17<0,.sup.1c.sub.18<0, set a seventh row of the matrix to u.sub.7min and an eighth row to u.sub.8min; and represent an obtained matrix by .sub.1, where a boundary surface represented by the matrix .sub.1, is the key boundary surface and placed into the set , and then a step 4-3-4) is performed.
[0462] 4-3-4) Due to, and .sup.1c.sub.13.Math..sup.1c.sub.14<0, and .sup.1c.sub.13>0 and .sup.1c.sub.14<0, set the third row of the matrix to theu.sub.3min and the fourth row to the u.sub.4max; due to .sup.1c.sub.15<0, .sup.1c.sub.16<0 and .sup.1c.sub.15.Math.u.sub.5max+.sup.1c.sub.16.Math.u.sub.6min<.sup.1c.sub.15.Math.u.sub.5min+.sup.1c.sub.16.Math.u.sub.6max, set the fifth row of the matrix to the u.sub.5max and the sixth row to the u.sub.6min; due to .sup.1c.sub.17<0,.sup.1c.sub.18<0 and .sup.1c.sub.17.Math.u.sub.7max+.sup.1c.sub.18.Math.u.sub.8min<.sup.1c.sub.17.Math.u.sub.7min+.sup.1c.sub.18.Math.u.sub.8max, set the seventh row of the matrix to the u.sub.7max and the eighth row to the u.sub.8min; and represent an obtained matrix by .sub.2, where a boundary surface represented by the matrix .sub.2 is the key boundary surface and placed into the set , and then a step 4-6) is performed.
[0463] 4-1) Denote the 3-5 group as a current p-q group.
[0464] 4-2) Perform a step 4-4) because a third control component and a fifth control component are not a pair of linear constraint components, and m=8, which is an even number.
[0465] 4-4)
[0466] 4-4-1) The p-q group has three types of rectangular boundary surfaces. A step 4-4-2) is performed.
[0467] 4-4-2) Construct a coordinate rotation transformation G, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of the type-III rectangular boundary surface of the group, where only a first row of the G is required because only the v.sub.1 axis is considered.
Given that
are set. E=G.Math.B is set, such that
The G and the B are substituted into the E=G.Math.B to obtain a following equation set:
[0468] The linear equation set (15) is solved to obtain the first row of the G, and a first row (e.sub.11, . . . , e.sub.18)=(0.2621 1.8566 0.5041 1.6130 1.0 2.0955 1.0152 2.4431) of the matrix E according to the E=G.Math.B. Due to e.sub.14>0 and e.sub.16>0, a step 4-4-3) is performed.
[0469] 4-4-3) Process other rows than third, fourth, fifth, and sixth rows of a matrix T according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and then perform a step 4-4-5).
[0470] Due to e.sub.11>0 and e.sub.12>0, and e.sub.11.Math.u.sub.1max+e.sub.12.Math.u.sub.2min<e.sub.11.Math.u.sub.1min+e.sub.12.Math.u.sub.2max, a first row of the matrix T is set to u.sub.1min, and a second row is set to u.sub.2max; due to e.sub.17>0 and e.sub.18>0, and e.sub.17.Math.u.sub.7max+e.sub.18.Math.u.sub.18min<e.sub.17.Math.u.sub.7min+e.sub.18.Math.u.sub.8max, a seventh row of the matrix T is set to u.sub.7min, and an eighth row is set to u.sub.8max; and an obtained matrix is represented by T.sub.1, and a boundary surface represented by the matrix T.sub.1 is the key boundary surface and placed in the set
[0471] 4-4-5) Construct a coordinate rotation transformation .sup.2T, such that a transformed coordinate axis v.sub.1 is perpendicular to an image of the type-I rectangular boundary surface of the group, where only a first row of the .sup.2T is required because only the v.sub.1 axis is considered.
[0472] Given that
are set. .sup.2C=.sup.2T.Math.B is set, such that .sup.2c.sub.13=0, and .sup.2c.sub.18=0. The .sup.2T and the B are substituted into the .sup.2C=.sup.2T.Math.B to obtain a following equation set:
[0473] The linear equation set (16) is solved. Set .sup.2t.sub.13=1, such that .sup.2t.sub.13=0.0143, .sup.2t.sub.12=5.2321 can be calculated.
[0474] Then, a first row of the matrix .sup.2C can be calculated according to the .sup.2C=.sup.2T.Math.B, which is (.sup.2c.sub.11, . . . , .sup.2c.sub.18)=(0.7266,5.1005,0,3.9289,0, 4.0633,0.151,5.507). Due to .sup.2c.sub.14>0 and .sup.2c.sub.16>0, a step 4-4-7) is performed.
[0475] 4-4-7) Process other rows than third, fourth, fifth, and sixth rows of a matrix according to a following rule, where a boundary surface represented by an obtained matrix is the key boundary surface and placed into the set ; and because two key boundary surfaces have been found for the group, a step 4-6) is performed.
[0476] Due to .sup.2c.sub.11.Math..sup.2c.sub.12<0, and .sup.2c.sub.11<0 and .sup.2c.sub.12>0, a first row of the matrix is set to u.sub.1max, and a second row is set to u.sub.2min; due to .sup.2c.sub.17>0, .sup.2c.sub.18>0, a seventh row of the matrix is set to u.sub.7min, and an eighth row is set to u.sub.8min; and an obtained matrix is represented by .sub.1, and a boundary surface represented by the matrix .sub.1 is the key boundary surface and placed into the set .
[0477] 4-6) Determine the key boundary surface for each group according to the steps 4-1 to 4-5-7 in this embodiment of the present disclosure.
[0478] Due to limited space, the key boundary surface is not determined for each group. Therefore, the above steps do not provide all elements of the set . As a result, a step 6) is performed, while a step 5) is omitted.
[0479] Step 6) Constitute the boundary (.sub.ELR) of the control attainable set by using boundary surfaces that are of the control attainable set and determined based on all key boundary surfaces in the . According to the implementation steps of the present disclosure, a total of 36 boundary surfaces of the control attainable set in this embodiment can be calculated. Because the step 5) is omitted, all the boundary surfaces of the control attainable set are not calculated any longer. Only boundary surfaces that are of the control attainable set and for the groups 1-2 and 3-5 are calculated below.
[0480] Three vertices of a key boundary surface .sub.1 in the 1-2 group are mapped according to v=B.Math.u.sub.ELR to obtain three vertices of a corresponding boundary surface of the control attainable set. In this way, it is determined that one boundary surface of the control attainable set is a triangle represented by a matrix (.sub.1), with each column representing one vertex.
[0481] Three vertices of another key boundary surface .sub.2 in the 1-2 group are mapped according to the v=B.Math.u.sub.ELR to obtain three vertices of a corresponding boundary surface of the control attainable set. In this way, it is determined that one boundary surface of the control attainable set is a triangle represented by a matrix (.sub.2), with each column representing one vertex.
[0482] Four vertices of a key boundary surface T.sub.1 in the 3-5 group are mapped according to the v=B.Math.u.sub.ELR to obtain four vertices of a corresponding boundary surface of the control attainable set. In this way, it is determined that one boundary surface of the control attainable set is a quadrilateral represented by a matrix (T.sub.1), with each column representing one vertex.
[0483] Four vertices of another key boundary surface .sub.1 in the 3-5 group are mapped according to the v=B.Math.u.sub.ELR to obtain four vertices of a corresponding boundary surface of the control attainable set. In this way, it is determined that one boundary surface of the control attainable set is a quadrilateral represented by a matrix (.sub.1), with each column representing one vertex.
[0484] The foregoing are merely descriptions of preferred embodiments of the present disclosure, and are not intended to limit the protection scope of the present disclosure. Any modification, equivalent substitution, improvement, etc. within the spirit and principles of the present disclosure shall fall within the scope of protection of the present disclosure.