CROSS REFERENCE TO RELATED APPLICATION
This patent application claims the benefit and priority of Chinese Patent Application No. 202310433407.2, filed with the China National Intellectual Property Administration on Apr. 21, 2023, the disclosure of which is incorporated by reference herein in its entirety as part of the present application.
TECHNICAL FIELD
The present disclosure relates to the technical field of dynamics control allocation of a redundant drive system, and in particular, to a method for calculating a control attainable set of a redundant drive system under a linear constraint.
BACKGROUND
A control attainable set of a redundant drive system can quantitatively characterize a control capability of the system, and calculation of the control attainable set is an inverse problem of control allocation. The control allocation is responsible for allocating an expected system control vector to each redundant actuator for execution. The calculation of the control attainable set is to determine, in the case of a known variation range of each actuator, a boundary of a system control attainable vector that can be achieved by all actuators acting simultaneously, to obtain the control capability of the redundant drive system, especially a control capability of the system after some actuators fail. A control allocation method based on the control attainable set has become a hot research topic in the field of control allocation.
A control attainable set of a parallel configuration redundant drive system can be mathematically expressed as follows:
- In the above expression, u represents a control vector, and u=(u1, . . . , um)T, which represents a control input of the redundant drive system, where T represents a matrix transpose symbol, and an ith control component is a control action of a corresponding ith actuator, where 1≤i≤m, m represents a quantity of actuators, uimin≤ui≤uimax≤uimin represents a minimum constraint value of the control action of the ith actuator, and uimax represents a maximum constraint value of the control action of the ith actuator; there is often a linear or nonlinear constraint between each ui; Ω represents a control set, and Ω={u}; v represents a control attainable vector of the redundant drive system, and v=(v1, L, vn)T, which represents a control output of the redundant drive system, where vj represents a jth control attainable component, 1≤j≤n, n represents a dimension of the control attainable vector, and n<m; Φ represents the control attainable set; and B represents an n-row and m-column control efficiency matrix.
The above expression (1-1) is physically used to describe how to determine, based on the control efficiency matrix B, the control attainable vector set Φ composed of n control outputs of the redundant drive system, provided that the control vector set Ω composed of m control inputs of the redundant drive system is known. For example, a physical meaning of a control attainable set of a four-wheel independently driven and independently steered vehicle is as follows:
- 1) Four longitudinal forces of four wheels are FL1, FL2, FL3, and FL4 respectively, and four lateral forces of the four wheels are, FT1, FT2, FT3 and FT4 respectively.
- 2) A control vector uv=(FL1, FT1, FL2, FT2, FL3, FT3, FL4, FT4)T containing eight control components is set for the four-wheel independently driven and independently steered vehicle, where FLimin≤FLi≤FLi max, FTimin≤FTi≤FTi max, (i−1, . . . , 4), FLimin and FTimin respectively represent a minimum longitudinal force and a minimum lateral force of each wheel, and FLi max and FTi max respectively represent a maximum longitudinal force and a maximum lateral force of each wheel. There is often a nonlinear or linear constraint relationship between the components in the uv.
- 3) All values of the uv constitute a control set Ωv={uv} of the four-wheel independently driven and independently steered vehicle.
- 4) A specific group of data uvs ∈ΩV in the ΩV is processed by a wheel force control efficiency matrix BV to generate a specific overall longitudinal force FLS of the vehicle, a a specific overall lateral force FTS of the vehicle. and a specific overall yawing moment MS of specific overall lateral force the vehicle, which is denoted as VVS=(FLS, FTS, MS)T. Therefore, vVS=BV·uVS.
- 5) All values of the vVS constitute a control attainable set ΦV of the four-wheel independently driven and independently steered vehicle, namely,
The literature “Attainable Moments for the Constrained Control Allocation Problem” and the patent “Control Allocation Method for Overdrive System Based on Geometrically and Intuitively Constructed Attainable Set” (Patent Application No.: ZL201810131251.1) disclose a problem of determining a control attainable set when control actions of various actuators are independent of each other, in other words, when there is no constraint relationship between ui and uj(1≤i≤m, and 1≤j≤m, i≠j). The control attainable set is mathematically represented as follows:
The patent “Method for Determining Control Attainable Set of Overdrive System under One Pair of Linear Constraint Control Components” (Patent Application No.: ZL201911405624.0) solves a problem of determining a control attainable set of a redundant drive system with a linear constraint relationship between only one pair of actuators, but is not applicable to determining a control attainable set of a redundant drive system with a linear constraint relationship between a plurality of pairs of actuators. The patent “Method for Determining Control Attainable Set of Overdrive System under Each Pair of Linear Constraint Control Components” (Patent Application No.: ZL201911411744.1) and the patent “Method for Determining Control Attainable Set of Overdrive System under a Plurality of Pairs of Linear Constraint Control Components (Patent Application No.: ZL201911405939.5) solve a problem of determining a control attainable set when there is a constraint relationship between each actuator pair and when there is a constraint relationship among a plurality of pairs of actuators. However, the two patents require determining a quasi-key boundary surface first. For each quasi-key boundary surface, a vertex mapped onto a control attainable set is first calculated to obtain a plane equation, and then a vertex of a boundary surface that has been determined as a key boundary surface is mapped to obtain a vertex of the control attainable set, and the vertex of the control attainable set is substituted into the plane equation. Finally, whether the quasi-key boundary surface is the key boundary surface is determined based on a characteristic that the control attainable set is a convex set. Calculation steps are complex and error-prone, and as a result, a good application result cannot be achieved.
SUMMARY
An objective of the present disclosure is to provide a method for calculating a control attainable set of a redundant drive system under a linear constraint to overcome the shortcomings in the existing technologies. The present disclosure solves a problem of determining a control attainable set of a parallel configuration redundant drive system in which the control attainable set is three-dimensional (3D) space, any three columns of a control efficiency matrix are linearly independent, and each pair of control components are linear constraint control components. The method can be used for evaluating a control capability of a parallel hybrid system with a redundant driving characteristic and each pair of control components being linear constraint control components in an advanced satellite, aircraft, ship, automobile, parallel robot, and the like. The present disclosure can provide a basis for control allocation of the system and be used for fault-tolerant control of the system after some actuators fail.
The present disclosure proposes a method for calculating a control attainable set of a redundant drive system under a linear constraint, including the 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:
- where [m/2] represents an integer part obtained by dividing m by 2, u represents a control vector, the u is denoted as uELR, uELR=(u1, . . . , um)T, uimin≤ui≤ui max, i=1,L,m (uk max−uk min))uk+1+(uk+1max−uk+1min)uk≤uk+1maxuk max−uk+1minuk min, and k=1, 3, . . . 2[m/2]−1;
where ith control component ui is a control action of a corresponding ith actuator, where 1≤i≤m, and m represents a quantity of actuators; uimin represents a minimum constraint value of the control action of the ith actuator, and uimax represents a maximum constraint value of the control action of the ith actuator; Ω represents a control set, and Ω={u}; v represents a control attainable vector of the redundant drive system, and v=(v1, v2, v3)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; and
- the expression (1) is rewritten to a following expression (2):
- where uk and uk+1 represent a pair of control components with a linear constraint, ΦELR represents a control attainable set of a redundant drive system with each pair of control components being linear constraint control components, ΩELR represents a control set, uELR represents a control vector, and ΩELR={uELR};
- 2) classifying all boundary surfaces of the control set ΩELR obtained in the step 1) into four types, which includes:
- using, as a vertex of the control set ΩELR a point obtained by taking a corresponding maximum or minimum constraint value of each component ui of the control vector uELR=(u1, . . . , um)T, where the m-dimensional control set ΩELR represented in the expression (2) has
vertices, and [m/2] represents a remainder of dividing m by 2; and
- setting ∂(ΩELR) to represent a boundary of the ΩELR, and classifying boundary surfaces of the ∂(ΩELR) into a type-rectangular boundary surface, a type-rectangular boundary surface, a type-=2 \*ROMAN I rectangular boundary surface, and a triangular boundary surface based on a value of each component of each vertex, which specifically includes:
- assuming that 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,
- if any rectangular boundary surface satisfies following conditions: for the vertices A and B, one component has a different value, and other components have a same value; 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 for the vertices A and D, the above two components have different values, and other components have a same value, determining that the rectangular boundary surface is the type-rectangular boundary surface;
- if any rectangular boundary surface satisfies following conditions: for the vertex A and the vertex B, one pair of linear constraint components have different values, and other components have a same value; 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 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, determining that the rectangular boundary surface is the type-rectangular boundary surface;
- if any rectangular boundary surface satisfies following conditions: for the vertex A and the vertex B, one pair of linear constraint components have different values, and other components have a same value; 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 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, determining that the rectangular boundary surface is the type-=2 \*ROMAN I rectangular boundary surface; and
- if any right angle satisfies following conditions: for the vertex A and the vertex B, one pair of linear constraint components have different values, and other components have a same value;
- for the vertex A and the vertex C, one component of the one pair of linear constraint components has a different value, and other components have a same value; and 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, determining that the right angle is the triangular boundary surface;
- 3) dividing all the boundary surfaces of the control set into groups, where
- if values of two components in the uELR are between the corresponding minimum and maximum values, and values of other m−2 components are the corresponding minimum or maximum value, the m components form 2m−2 boundary surfaces of the control set; and
- if any two components in the uELR are denoted as a pth component and a qth component, values of the pth component and the qth component are between the corresponding minimum and maximum values, 1≤p≤m, 1≤q≤m, p<q values of other m−2 components are the corresponding minimum or maximum value, and a formed boundary surface is denoted as a P−q group, all the boundary surfaces of the control set are divided into the Cm2 groups;
- 4) determining a key boundary surface for each of the Cm2 groups in the step 3), where
- a boundary surface of an image mapped onto the ΦELR in the ΩELR of a boundary ∂(ΦELR) is denoted as the key boundary surface, the Ω is denoted as a set of key boundary surfaces, the Ω is initialized as an empty set, and the step includes following substeps:
- 4-1) selecting any group for which no key boundary surface has been determined, denoting the group as a current p-q group, and performing a step 4-2);
- 4-2) determining whether the pth control component and the qth control component are a pair of linear constraint components; and
- if they are a pair of linear constraint components, performing a step 4-3);
- if they are not a pair of linear constraint components, and m is an even number, performing a step 4-4);
- if they are not a pair of linear constraint components, m is an odd number, and the pth and qth control components each have a paired linear constraint component, performing a step 4-4); or
- if they are not a pair of linear constraint components, m is an odd number, and the qth control component has no paired linear constraint component, performing a step 4-5);
- 4-3) when the pth control component and the qth control component are a pair of linear constraint components, determining a key boundary surface of the p-q group according to a following specific method:
- 4-3-1) when the pth control component and the qth control component are a pair of linear constraint components, determining 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:
- where a vertex of each boundary surface in the group is represented by an m-row and 3-column matrix Δ, and 3 columns are vectors corresponding to 3 vertices; values of the pth and qth components of three vertices on each boundary surface are shown in pth and qth rows of the matrix Δ, while values of other components are all the uimax or the uimin; one pair of linear constraint components in the other components do not simultaneously take a maximum constraint value corresponding to the one pair of linear constraint components; and the pth row of the matrix Δ is (upmax, upmin, upmin), and the qth row is (uqmin, uqmin, uqmax);
- 4-3-2) constructing a coordinate rotation transformation 1T, such that a transformed coordinate axis v1 is perpendicular to an image of the triangular boundary surface of the group, which specifically includes: setting
where 1cij represents an element of an ith row and a jth column of the matrix 1C, 1tij represents an element of an ith row and a jth column of the matrix 1T, and bij represents an element of an ith row and a jth column of the matrix B;
- setting 1C=1T·B, such that 1c1p=0 and 1c1q=0;
- substituting the 1T and the B into the 1C=1T·B to obtain a following equation set:
- solving the linear equation set (4) to obtain a first row (1t11, 1t12, 1t13) of the 1T; and
- calculating a first row (1c11, . . . , 1c1m) of the matrix 1C according to the 1C=T·B;
- 4-3-3) processing 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 1≤i≤m,i is an integer, i≠p, q; and
- the rule is as follows:
- when 1c1i·1c1i+1<0,
- if 1c1i>0 and 1c1i+1<0, setting an ith row of the matrix Δ to the uimax and an i+1th row to ui+1 min; or
- if 1c1i<0 and 1c1i+1<0, setting an ith row of the matrix Δ to the uimin and an i+1th row to ui+1max;
- when 1c1i<0 and 1c1i+1<0,
- setting an ith row of the matrix Δ to the uimin and an i+1th row to ui+1min; or
- when 1c1i>0 and 1c1i+1<0,
- calculating 1z01=1c1i·uimax+1c1i+1·ui+1min and 1z02=1c1i·uimin+1c1i+1·ui+1max, and then performing determining as follows:
- if 1z01>1z02, setting an ith row of the matrix Δ to the uimax and an i+1th row to ui+1min; if 1z01<1z02 setting an ith row of the matrix Δ to the uimin and an i+1th row to ui+1max; or if 1z01=1z02, setting an ith row and an i+1th row of the matrix Δ as follows: setting the ith row of the matrix Δ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Δ to the uimin and the i+1th row to ui+1max;
- 4-3-4) processing 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 performing a step 4-6), where 1≤i≤m,i is an integer, i≠p, q; and
- the rule is as follows:
- when 1c1i·1c1i+1<0,
- if 1c1i>0 and 1c1i+1<0, setting the ith row of the matrix Δ to the uimin and the i+1th row to the ui+1max; or
- if 1c1i<0 and 1c1i+1>0, setting the ith row of the matrix Δ to the uimax and the i+1th row to ui+1 min;
- when 1c1i>0 and 1c1i+1>0,
- setting the ith row of the matrix Δ to the uimin and the i+1th row to the ui+1min; or
- when 1c1i<0 and 1c1i+1<0,
- calculating 2z01=1c1i·uimax+1c1i+1·ui+1min and 2z02=1c1i·uimin+1c1i+1·ui+1max and performing determining as follows: if 2z01>2z02, setting the ith row of the matrix Δ to the uimin and the i+1th row to the uimax; if 2z01<2z02, setting the ith row of the matrix Δ to the uimax and the i+1th row to the ui+1min; or if 1z01=1z02, setting the ith row and the i+1th row of the matrix Δ as follows: setting the ith row of the matrix Δ to the uimax and the i+1th row to the ui+1min; or setting the ith row of the matrix Δ to the uimin and the i+1th row to the ui+1max;
- 4-4) when the pth control component and the qth control component are not a pair of linear constraint components, and each have the paired linear constraint component, determining a key boundary surface of the p-q group according to a following specific method:
- 4-4-1) denoting the component paired with the pth component as a p component, and the component paired with the qth component as a q′th component, where the p-q group has three types of rectangular boundary surfaces, and each component of each point on the boundary surfaces of the group has a value that satisfies a following formula:
- when up′=up′min and uq′=uq′min, determining that a boundary surface formed by a point satisfying the formula (5) is the type-I rectangular boundary surface;
- when up′=up′min and
determining that a boundary surface formed by a point satisfying the formula (5) is the type-II rectangular boundary surface;
and uq′=uq′min, determining that a boundary surface formed by a point satisfying the formula (5) also is the type-II rectangular boundary surface;
determining that a boundary surface formed by a point satisfying the formula (5) is the type-III rectangular boundary surface; and
- representing a vertex of each rectangular boundary surface of the group by using an m-row and 4-column matrix, where 4 columns respectively represent vectors corresponding to 4 vertices; a matrix Λ represents a vertex of one type-I rectangular boundary surface, a matrix 1Π or 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 pth, p′th, qth, and q′th components of four vertices of each boundary surface are shown in a pth row, a p′th row, a qth row, and a q′th row of the matrix, and other components are all the uimax or the uimin; one pair of linear inequality constraint components do not simultaneously take a maximum constraint value corresponding to the one pair of linear inequality constraint components; for the Λ, the pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′min, up′min, up′min), the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′min, uq′min, uq′min, uq′min);
- for the 1Λ, the pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′max, up′max, up′min), the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′min, uq′min, uq′min, uq′min);
- for the 2Π, the pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′min, up′min, up′min, the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′max, uq′max, uq′min, uq′min);
- for the T, the pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′max, up′max, up′min), the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′max, uq′max, uq′min, uq′min);
- where if P is an odd number, the pth row comes before the p′th row; if p is an even number, the pth row comes after the p′th row; if q is an odd number, the qth row comes before the q′th row; and if q is an even number, the qth row comes after the q′th row;
- 4-4-2) constructing a coordinate rotation transformation G, such that a transformed coordinate axis v1 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 v1 axis, which specifically includes:
- setting
where gij represents an element of an ith row and a jth column of the matrix G, and eij represents an element of an ith row and a jth column of the matrix E;
and substituting the G and the B into the E=G·B to obtain a following equation set:
- solving the linear equation set (7) to obtain a first row of the G, and calculating a first row (e11, . . . , e1m) of the matrix E according to the E=G·B; and if e1p′>0 and e1q′>0, performing a step 4-4-3); if and e1p′<0 and e1q′<0, performing a step 4-4-4); or if e1p′·e1q′<0 performing a step 4-4-5);
- 4-4-3) processing 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 performing the step 4-4-5), where i=1, . . . , m, i≠p, p′, q, q′; and
- the rule is as follows:
- when e1i·e1i+1<0,
- if e1i>0 and e1i−1<0, setting an ith row of the matrix T to the uimax and an i+1th row to ui+1min; or
- if e1i<0 and e1i+1>0, setting an ith row of the matrix T to the uimin and an i+1th row to ui+1max;
- when e1i<0 and e1i+1<0 (i=1, . . . , m,i≠p, p′,q,q′),
- setting an ith row of the matrix T to the uimin and an i+1th row to ui+1min; or
- when e1i>0 and e1i+1>0,
- calculating 1d01=e1i·uimax+e1i+1min and 1d02=e1i·uimin+e1i+1max, and performing determining as follows: if 1d01>1d02, setting an ith row of the matrix T to the uimax and an i+1th row to ui+1min; if 1d01<1d02, setting an ith row of the matrix T to the uimin and an i+1th row to ui+1max; or if 1d01=1d02, setting an ith row and an i+1th row of the matrix T as follows: setting the ith row of the matrix T to the uimax and the i+1th row to the ui+1min; or setting the ith row of the matrix T to the uimin and the i+1th row to the ui+1max;
- 4-4-4) processing 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 performing the step 4-4-5), where i=1, . . . , m, i≠p, p′, q, q′; and
- the rule is as follows:
- when e1i·e1i+1<0,
- if e1i>0 and e1i+1<0, setting an ith row of the matrix T to the uimin and an i+1th row to ui+1max; or
- if e1i<0 and e1i+1>0, setting an ith row of the matrix T to the uimax and an i+1th row to ui+1min;
- when e1i<0 and e1i+1<0,
- calculating 2d01=2h1i·uimax+2h1i+1·+ui+1min and 2d02=2h1i·uimin+2h1i+1·ui+1max and if 2d01>2d02, setting an ith row of the matrix T to the uimin and an i+1th row to ui+1max; if 2d01<2d02, setting an ith row of the matrix T to the uimax and an i+1th row to ui+1min; or if 2d01=2d02, setting an ith row and an i+1th row of the matrix T as follows: setting the ith row of the matrix T to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix T to the uimin and the i+1th row to ui+1max; or
- when e1i>0 and e1i+1>0,
- setting an ith row of the matrix T to the uimin and an i+1th row to ui+1min;
- 4-4-5) constructing a coordinate rotation transformation 2T, such that a transformed coordinate axis v1 is perpendicular to an image of the type-I rectangular boundary surface of the group, which specifically includes: setting
where 2Cij represents an element of an ith row and a jth column of the matrix 2C, and 2tij represents an element of an ith row and a jth column of the matrix 2T;
- setting 2C=2T·B, such that 2c1p=0 and 2C1q=0; and substituting the 2T and the B into the 2C=2T·B to obtain a following equation set:
- solving the linear equation set (8) to obtain a first row (2t11, 2t12, 2t13) of the 2T, and calculating a first row (2C11, . . . , 2C1m) of the matrix 2C according to the 2C=2T·B; and
- if 2c1p′<0 and 2C1q′<0 performing a step 4-4-6); if 2c1p′>0 and 2C1q′>0, performing a step 4-4-7); or if 2c1p′·2C1q′<0, performing a step 4-4-8);
- 4-4-6) processing 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, i≠p, p′, q, q′; and then performing determining as follows:
- if two key boundary surfaces have been found for the group, performing a step 4-6); otherwise, performing the step 4-4-8); where
- the rule is as follows:
- when 2c1i·2c1i+1<0,
- if 2c1i>0 and 2c1i+1<0 setting an ith row of the matrix Λ to the uimax and an i+1th row to ui+1min; or
- if 2c1i<0 and 2c1i+1>0, setting an ith row of the matrix Λ to the uimin and an i+1th row to ui+1max;
- when 2c1i<0 and 2c1i+1<0,
- setting an ith row of the matrix Λ to the uimin and an i+1th row to ui+1min; or
- when 2c1i>0 and 2c1i+1>0,
- calculating 3d01=2c1i·uimax+2c1i+1·ui+1min, and 3d02=2c1i·uimin+2c1i+1·ui+1max; and if 3d01>3d02, setting an ith row of the matrix Λ to the uimax and an i+1th row to ui+1min; if 3d01<3d02, setting an ith row of the matrix Λ to the uimin and an i+1th row to ui+1max; or if 3d01=3d02, setting an ith row and an i+1th row of the matrix Λ as follows: setting the ith row of the matrix Λ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Λ to the uimin and the i+1th row to ui+1max;
- 4-4-7) processing 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, i≠p, p′, q, q′; and then performing determining as follows:
- if two key boundary surfaces have been found for the group, performing a step 4-6); otherwise, performing the step 4-4-8); where
- the rule is as follows:
- when 2c1i·2c1i+1<0,
- if 2c1i>0 and 2c1i+1<0, setting an ith row of the matrix Λ to the uimin and an i+1th row to ui+1max; or
- if 2c1i<0 and 2c1i+1>0 setting an ith row of the matrix Λ to the uimax and an i+1th row to ui+1min;
- when 2c1i<0 and 2c1i+1<0,
- calculating 4d01=2c1i·uimax+2c1i+1·ui+1min and 4d02=2c1i·uimin+2c1i+1·ui+1max; and if 4d01>4d02, setting an ith row of the matrix Λ to the uimin and an i+1th row to ui+1max; if 4d01<4d02, setting an ith row of the matrix Λ to the uimax and an i+1th row to ui+1min; or if 4d01=4d02, setting an ith row and an i+1th row of the matrix Λ as follows: setting the ith row of the matrix Λ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Λ to the uimin and the i+1th row to ui+1max; or
- when 2c1i>0 and 2c1i+1>0,
- setting an ith row of the matrix Λ to the uimin and an i+1th row to ui+1 min;
- 4-4-8) constructing a coordinate rotation transformation 1F, such that a transformed coordinate axis v1 is Perpendicular to an Image of a Boundary Surface Whose Vertex Matrix is the 1Π in the group, and images of all points on the boundary surface have equal coordinate values on the v1 axis, which specifically includes: setting
where 1fij represents an element of an ith row and a jth column of the matrix 1F, and 1hij represents an element of an ith row and a jth column of the matrix 1H;
- setting 1H=1F·B, such that
and 11q=0; and substituting the 1F and the B into the 1H= 1F·B to obtain a following equation set:
- solving the linear equation set (9) to obtain a first row of the 1F, and calculating a first row (1h11, . . . , 1h1m) of the matrix 1H according to the 1H=1F·B; and
- if 1h1p′>0 1h1q′<0, performing a step 4-4-9); if 1h1p′<0 and 1h1q′>0, performing a step 4-4-10); or if 1h1p′·1h1q′>0, performing a step 4-4-11);
- 4-4-9) processing other rows than the rows p, q, P′, q′ of the matrix 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, i≠p, p′, q, q′; and then performing determining as follows:
- if two key boundary surfaces have been found for the group, performing a step 4-6); otherwise, performing the step 4-4-11); where
- the rule is as follows:
- when 1h1i·1h1i+1<0,
- if 1h1i>0 and 1h1i+1<0, setting an ith row of the matrix 1Π to the uimax and an i+1th row to ui+1min; or
- if 1h1i<0 and 1h1i+1>0, setting an ith row of the matrix 1Π to the uimin and an i+1th row to ui+1max;
- when 1h1i<0 and 1h1i+1<0,
- setting an ith row of the matrix 1Π to the uimin and an i+1th row to ui+1min; or
- when 1h1i>0 and 1h1i+1>0,
- calculating 5d01=1h1i·uimax+1h1i+1·ui+1min and 5d02=1h1i·uimin+1h1i+1·ui+1max; and if 5d01>5d02, setting an ith row of the matrix 1Π to the uimax and an i+1th row to ui+1min; if 5d01<5d02, setting an ith row of the matrix 1Π to the uimin and an i+1th row to ui+1max; or if 5d01=5d02, setting an ith row and an i+1th row of the matrix 1Π as follows: setting the ith row of the matrix 1Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix 1Π to the uimin and the i+1th row to ui+1max;
- 4-4-10) processing other rows than the rows p, q, p′, q′ of the matrix 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, i≠p, p′, q, q′; and then performing determining as follows:
- if two key boundary surfaces have been found for the group, performing a step 4-6); otherwise, performing the step 4-4-11); where
- the rule is as follows:
- when 1h1i·1h1i+1<0,
- if 1h1i>0 and 1h1i+1<0, setting an ith row of the matrix 1Π to the uimin and an i+1th row to ui+1max; or
- if 1h1i<0 and 1h1i+1>0, setting an ith row of the matrix 1Π to the uimax and an i+1th row to ui+1min;
- when 1h1i>0 and 1h1i+1>0,
- setting an ith row of the matrix 1Π to the uimin and an i+1th row to ui+1min; or
- when 1h1i<0 and 1h1i+1<0,
- calculating 6d01=1h1i·uimax+1h1i+1·ui+1min and 6d02=1h1i·uimin+1h1i+1·ui+1max; and if 6d01>6d02, setting an ith row of the matrix 1Π to the uimin and an i+1th row to ui+1max; if 6d01<6d02, setting an ith row of the matrix 1Π to the uimax and an i+1th row to ui+1min; or if 6d01=6d02, setting an ith row and an i+1th row of the matrix 1Π as follows: setting the ith row of the matrix 1Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix 1Π to the uimin and the i+1th row to ui+1max;
- 4-4-11) constructing a coordinate rotation transformation 2F, such that a transformed coordinate axis v1 is perpendicular to an image of a boundary surface whose vertex matrix is the 2Π in the group, and images of all points on the boundary surface have equal coordinate values on the v1 axis, which specifically includes:
- setting
where 2fij represents an element of an ith row and a jth column of the matrix 2F, and 2hij represents an element of an ith row and a jth column of the matrix 2H;
- setting 2H=2F·B, such that
and 2h1p=0 and substituting the 2F and the B into the 2H=2F·B to obtain a following equation set:
- solving the linear equation set (10) to obtain a first row of the 2F, and calculating a first row (2h11, . . . , 2h1m) of the matrix 2H according to the 2H=2F·B; and if 2h1p′<0 and 2h1q′>0, performing a step 4-4-12); if 2h1p′>0 and 2h1q′<0 and, performing a step 4-4-13); or if 2 h1p′·2h1q′>0, performing a step 4-6);
- 4-4-12) processing other rows than the rows p, q, p′, q′ of the matrix 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, i≠p, p′, q, q′; and then performing the step 4-6), where
- the rule is as follows:
- when 2h1i·2h1i+1<0,
- if 2h1i>0 and 2h1i+1<0, setting an ith row of the matrix 2Π to the uimax and an i+1th row to ui+1min; or
- if 2h1i<0 and 2h1i+1>0, setting an ith row of the matrix 2Π to the uimin and an i+1th row to ui+1max;
- when 2h1i<0 and 2h1i+1<0,
- setting an ith row of the matrix 2Π to the uimin and an i+1th row to ui+1min; or
- when 2h1i>0 and 2h1i+1>0,
- calculating 7d01=2h1i·uimax+2h1i+1·ui+1min and 7d02=2h1i·uimin+2h1i+1·ui+1max; and if 7d01>7d02, setting an ith row of the matrix 2Π to the uimax and an i+1th row to ui+1min; if 7d01<7d02, setting an ith row of the matrix 2Π to the uimin and an i+1th row to ui+1max; or if 7d01=7d02, setting an ith row and an i+1th row of the matrix 2Π as follows: setting the ith row of the matrix 2Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix 2Π to the uimin and the i+1th row to ui+1max;
- 4-4-13) processing other rows than the rows p, q, p′, q′ of the matrix 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, i≠p, p′, q, q′; and then performing the step 4-6), where
- the rule is as follows:
- when 2h1i·2h1i+1<0,
- if 2h1i>0 and 2h1i+1<0, setting an ith row of the matrix 2Π to the uimin and an i+1th row to ui+1max; or
- if 2h1i<0 and 2h1i+1>0, setting an ith row of the matrix 2Π to the uimax and an i+1th row to ui+1min;
- when 2h1i<0 and 2h1i+1<0,
- calculating 8d01=2h1i·uimax+2h1i+1·ui+1min and 8d02=2h1i·uimin+2h1i+1·ui+1max; and if 8d01>8d02, setting an ith row of the matrix 2Π to the uimin and an i+1th row to ui+1max; if 8d01<8d02, setting an ith row of the matrix 2Π to the uimax and an i+1th row to ui+1min; or if 8d01=8d02, setting an ith row and an i+1th row of the matrix 2Π as follows: setting the ith row of the matrix 2Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix 2Π to the uimin and the i+1th row to ui+1max; or
- when 2h1i>0 and 2h1i+1>0,
- setting an ith row of the matrix 2Π to the uimin and an i+1th row to ui+1min;
- 4-5) when the pth control component and the qth control component are not a pair of linear constraint components, and the qth control component has no paired linear constraint component, determining a key boundary surface of the p-q group according to a following specific method:
- 4-5-1) denoting a component paired with the pth component as a p′th component, where the p-q group contains both the type-I and the type-II rectangular boundary surfaces, and each component of each point on the boundary surfaces of the group has a value that satisfies a following formula (11):
- when up′=up′min determining that a boundary surface formed by a point satisfying the formula (11) is the type-I rectangular boundary surface; or when
determining that a boundary surface formed by a point satisfying the formula (11) is the type-II rectangular boundary surface;
- representing a vertex of each rectangular boundary surface of the group by using an m-row and 4-column matrix, where 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 Π′ represents a vertex of one type-II rectangular boundary surface; values of the pth, p′th, and qth components of four vertices of each boundary surface are shown in a pth row, a p′th row, and a qth row of the matrix, and other components are all uimax or uimin; one pair of linear inequality constraint components do not simultaneously take a maximum constraint value corresponding to the one pair of linear inequality constraint components; and for the Λ′, the pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′min, up′min, up′min) the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′min, uq′min, uq′min, uq′min);
- in the matrices shown in the above formula, if p is an odd number, the pth row comes before the p′th row; or if p is an even number, the pth row comes after the p′th row;
- 4-5-2) constructing a coordinate rotation transformation T, such that a transformed coordinate axis v1 is perpendicular to an image of the type-I rectangular boundary surface of the group, which specifically includes:
- setting
where 3tij represents an element of an ith row and a jth column of the matrix 3T, and 3cij represents an element of an ith row and a jth column of the matrix 3C;
- setting 3C=3T·B, such that 3c1p=0 and 3c1q=0; and substituting the 3T and the B into the 3C=3T·B to obtain a following equation set:
- solving the linear equation set (12) to obtain a first row (3t11, 3t12, 3t13) of the 3T, and calculating a first row (3c11, . . . , 3c1m) of the matrix 3C according to the 3C=3T·B; and if 3 c1p′<0, performing a step 4-5-3); or if 3c1p′>0, performing a step 4-5-4);
- 4-5-3) processing 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 performing a step 4-5-5), where i=1, . . . , m, i≠p, p′, q; and
- the rule is as follows:
- when 3c1i·3h1i+1<0,
- if 3c1i>0 and 3c1i+1<0, setting an ith row of the matrix Λ′ to the uimax and an i+1th row to ui+1min; or
- if 3c1i<0 and 3h1i+1>0, setting an ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1max;
- when 3c1i<0 and 3c1i+1<0,
- setting an ith row of the matrix Π′ to the uimin and an i+1th row to ui+1min; or
- when 3c1i>0 and 3h1i+1>0,
- calculating 9d01=3c1i·uimax+3c1i+1·ui+1min, and 9d02=3c1i·uimin+3c1i+1·ui+1max; and performing determining as follows:
- if 9d01>9d02, setting an ith row of the matrix Λ′ to the uimax and an i+1th row to ui+1min; if 9d01<9d02, setting an ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1max; or if 9d01=9d02, setting an ith row and an i+1th row of the matrix Λ′ as follows: setting the ith row of the matrix Λ′ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Λ′ to the uimin and the i+1th row to ui+1max;
- 4-5-4) processing 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 performing a step 4-5-5), where i=1, . . . , m, i≠p, p′, q; and
- the rule is as follows:
- when 3c1i·3h1i+1<0,
- if 3c1i>0 and 3c1i+1<0, setting an ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1max; or
- if 3c1i<0 and 3h1i+1>0, setting an ith row of the matrix Λ′ to the uimax and an i+1th row to ui+1min;
- when 3c1i>0 and 3c1i+1>0,
- setting an ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1min; or
- when 3c1i<0 and 3h1i+1<0,
- calculating 10d01=3c1i·uimax+3c1i+1·ui+1min, and 10d02=3c1i·uimin+3c1i+1·ui+1max; and if 10d01>10d02, setting an ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1max; if 10d01<10d02, setting an ith row of the matrix Λ′ to the uimax and an i+1th row to ui+1min; or if 10d01=10d02, setting an ith row and an i+1th row of the matrix Λ′ as follows: setting the ith row of the matrix Λ′ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Λ′ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Λ′ to the uimin and the i+1th row to ui+1max;
- 4-5-5) constructing a coordinate rotation transformation 3F, such that a transformed coordinate axis v1 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 v1 axis, which specifically includes:
- setting
where 3hij represents an element of an ith row and a jth column of the matrix 3H, and 3fij represents an element of an ith row and a jth column of the matrix 3F;
- setting 3H=3F·B, such that
and 3h1q=0; and substituting the 3F and the B into the 3H=3F·B to obtain a following equation set:
- solving the linear equation set (13) to obtain a first row of the 3F, and calculating a first row (3h11, . . . , 3h1m) of the matrix 3H according to the 3H=3F·B; and if 3h1p′>0, performing a step 4-5-6); or if 3h1p′<0, performing a step 4-5-7);
- 4-5-6) processing 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 performing a step 4-6), where i=1, . . . , m, i≠p, p′, q; and
- the rule is as follows:
- when 3h1i·3h1i+1<0
- if 3h1i>0 and 3h1i+1<0, setting an ith row of the matrix Π′ to the uimax and an i+1th row to ui+1min; or
- if 3h1i<0 and 3h1i+1>0, setting an ith row of the matrix Π′ to the uimin and an i+1th row to ui+1max;
- when 3h1i<0 and 3h1i+1<0,
- setting an ith row of the matrix Π′ to the uimin and an i+1th row to ui+1min; or
- when 3h1i; >0 and 3h1i+1>0,
- calculating 11d01=3c1i·uimax+3c1i+1·ui+1min, and 11d02=3c1i·uimin+3c1i+1·ui+1max; and if 11d01>11d02, setting an ith row of the matrix Π′ to the uimax and an i+1th row to ui+1min; if 11d01<11d02, setting an ith row of the matrix Π′ to the uimin and an i+1th row to ui+1max; or if 11d01=11d02, setting an ith row and an i+1th row of the matrix Π′ as follows: setting the ith row of the matrix Π′ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Π′ to the uimin and the i+1th row to ui+1max;
- 4-5-7) processing 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 performing a step 4-6), where i=1, . . . , m, i≠p, p′, q; and
- the rule is as follows:
- when 3h1i·3h1i+1<0
- if 3h1i>0 and 3h1i+1<0, setting an ith row of the matrix Π′ to the uimin and an i+1th row to ui+1max; or
- if 3h1i<0 and 3h1i+1>0, setting an ith row of the matrix Π′ to the uimax and an i+1th row to ui+1min;
- when 3h1i<0 and 3h1i+1<0,
- calculating 12d01=3c1i·uimax+3c1i+1·ui+1min, and 12d02=3c1i·uimin+3c1i+1·ui+1max; and if 12d01>12d02, setting an ith row of the matrix Π′ to the uimin and an i+1th row to ui+1max; if 12d01<12d02, setting an ith row of the matrix Π′ to the uimax and an i+1th row to ui+1min; or if 12d01=12d02, setting an ith row and an i+1th row of the matrix Π′ as follows: setting the ith row of the matrix Π′ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Π′ to the uimin and the i+1th row to ui+1max; or
- when 3h1i>0 and 3h1i+1>0,
- setting an ith row of the matrix Π′ to the uimin and an i+1th row to ui+1min; and
- 4-6) returning to the step 4-1), selecting 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 performing a step 5);
- 5) checking all key boundary surfaces in the 52, and performing determining as follows: if there are identical key boundary surfaces, retaining only one of the identical key boundary surfaces, and removing other key boundary surfaces that are the same as the retained one key boundary surface; after processing all the key boundary surfaces, forming a new set of key boundary surfaces, which is denoted as Ω′; and
- then performing a step 6); and
- 6) mapping all vertices of each key boundary surface in the Ω′ according to v=B·uELR 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 all key boundary surfaces in the Ω′ are all the key boundary surfaces of the control set; the boundary surface of the control attainable set is a quadrilateral or triangle; and boundary surfaces that are of the control attainable set and determined based on all the key boundary surfaces in the Ω′ constitute the boundary ∂(ΦELR) of the control attainable set.
The present disclosure has following characteristics and beneficial effects:
The present disclosure breaks through a limitation that all control components need to be independent of each other in existing technologies, and solves a problem of determining a control attainable set of a parallel configuration redundant drive system in which the control attainable set is 3D space, any three columns of a control efficiency matrix are linearly independent, and each pair of control components are linear constraint control components. Instead, the present disclosure can omit a step of determining a quasi-key boundary surface but directly find a key boundary surface for each group. The method is concise and computationally efficient, and has high application value.
The method can be used for evaluating a control capability of a parallel hybrid system with a redundant driving characteristic and each pair of control components being linear constraint control components in an advanced satellite, aircraft, ship, automobile, parallel robot, and the like. The present disclosure can provide a basis for control allocation of the system and be used for fault-tolerant control of the system after some actuators fail.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an overall flowchart of a method for calculating a control attainable set of a redundant drive system under a linear constraint according to the present disclosure.
DETAILED DESCRIPTION OF THE EMBODIMENTS
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.
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 FIG. 1, and the method includes following steps.
1) Establish an expression of a control attainable set of a redundant drive system under each pair of linear constraint control components as follows:
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 uELR, uELR=(u1, . . . , um)T, uimin≤ui≤uimax, i=1,L,m, (ukmax−ukmin)uk+1+(uk+1max−uk+1min)uk≤uk+1maxukmax−uk+1minukmin, and k=1,3, . . . , 2[m/2]−1.
An ith control component ui is a control action of a corresponding ith actuator, where 1≤i≤m, and m represents a quantity of actuators; and uimin represents a minimum constraint value of the control action of the ith actuator, and uimax represents a maximum constraint value of the control action of the ith actuator. Ω represents a control set, and Ω={u}; v represents a control attainable vector of the redundant drive system, and v=(v1, v2, v3)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.
For convenience of subsequent description, the expression (1) is rewritten to an expression (2):
In the above expression, uk and uk+1 represent a pair of control components with a linear constraint, which is referred to as a pair of linear constraint control components, ΦELR represents a control attainable set of a redundant drive system with each pair of control components being linear constraint control components, ΩELR represents a control set, uELR represents a control vector, and ΩELR={uELR}. A boundary of the ΩELR is represented by ∂(ΩELR), and a boundary of the ΦELR is represented by ∂(Φ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 ∂(ΦELR) based on the given ΩELR and B.
- 2) Classify all boundary surfaces of the control set ΩELR obtained in the step 1) into four types.
In this embodiment, for the control set ΩELR={uELR}, a point obtained by taking a corresponding maximum or minimum constraint value of each component ui(i=1, . . . , m) of the control vector uELR=(u1, . . . , um)T is used as a vertex of the control set ΩELR. m represents the quantity of actuators, and m>3. One m-dimensional control set has at most 2m vertices. Because paired linear constraint control components cannot take the maximum value simultaneously, the m-dimensional control set Ω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.
Ω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 ΩELR is the ∂(ΩELR) Based on a value of each component of each vertex, there are four types of boundary surfaces constituting the ∂(Ω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:
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.
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.
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.
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.
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.
3) Divide all the boundary surfaces of the control set ΩELR into Cm2 groups.
If values of two components of the uELR are between the corresponding minimum and maximum values, and values of other m−2 components are the corresponding minimum or maximum value, the m components form 2m−2 boundary surfaces of the control set.
If any two components in the uELR are denoted as a pth component and a qth component, values of the pth component and the qth component are between the corresponding minimum and maximum values, 1≤p≤m, 1≤q≤m, p<q, values of other m−2 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 Cm2 groups.
4) Determine a key boundary surface for each of the Cm2 groups in the step 3).
A boundary surface of an image mapped onto the ΦELR in the ΩELR of the boundary ∂(Φ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.
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).
4-2) Determine whether the pth control component and the qth control component are a pair of linear constraint components; and
- if they are a pair of linear constraint components, perform a step 4-3);
- if they are not a pair of linear constraint components, and m is an even number, perform a step 4-4);
if they are not a pair of linear constraint components, m is an odd number, and the pth and qth control components each have a paired linear constraint component, perform a step 4-4); or
if they are not a pair of linear constraint components, m is an odd number, and the qth control component has no paired linear constraint component, perform a step 4-5).
It should be noted that an mth 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 pth control component must have a paired linear constraint component.
4-3) When the pth control component and the qth 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:
- 4-3-1) When the pth control component and the qth 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:
A vertex of each boundary surface in the group is represented by an m-row and 3-column matrix 4, and 3 columns are vectors corresponding to 3 vertices. Values of the pth and qth components of three vertices on each boundary surface are shown in pth and qth rows of the matrix Δ. A value of an i(i=1, . . . , m,i≠p,q)th component is the uimax or the uimin, and an i(i=1, . . . , m, i≠p, q)th row of the corresponding matrix Δ is the uimax Or the uimin. 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 pth row of the matrix Δ is (upmax, upmin, upmin), and the qth row is (uqmin, uqmin, uqmax).
4-3-2) Construct a coordinate rotation transformation 1T, such that a transformed coordinate axis v1 is perpendicular to an image of the triangular boundary surface of the group, where only a first row of the 1T is required because only the V1 axis is considered.
are set, where 1cij represents an element of an ith row and a jth column of the matrix 1C, 1tij represents an element of an ith row and a jth column of the matrix 1T, and bij represents an element of an ith row and a jth column of the matrix B.
1C=1T·B is set, such that 1c1p=0, and 1c1q=0. The 1T and the B are substituted into the 1C=1T·B to obtain a following equation set:
The linear equation set (4) is solved to obtain the first row (1t11, 1t12, 1t13) of the 1T. Then, a first row (1C11, . . . , 1C1m) of the matrix 1C is calculated according to the 1C=1T·B.
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 1≤i≤m,i is an integer, i≠p,q.
The rule is as follows:
- when 1c1i·1c1i+1<0,
- if 1c1i>0 and 1c1i+1<0, setting the ith row of the matrix Δ to the uimax and an i+1th row to ui+1min; or
- if 1c1i<0 and 1c1i+1>0, setting the ith row of the matrix Δ to the uimin and an i+1th row to ui+1max; or
when 1c1i<0 and 1c1i+1<0,
- setting the ith row of the matrix Δ to the uimin and an i+1th row to ui+1min; or
- when 1c1i>0 and 1c1i+1>0,
- calculating 1z01=1c1i·uimax+1c1i+1·ui+1min and 1z02=1c1i·uimin+1c1i+1·ui+1max and then performing determining as follows:
- if 1z01>1z02, setting an ith row of the matrix Δ to the uimax and an i+1th row to ui+1min; if 1z01<1z02, setting an ith row of the matrix Δ to the uimin and an i+1th row to ui+1max; or if 1z01=1z02, setting an ith row and an i+1th row of the matrix Δ as follows: setting the ith row of the matrix Δ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Δ to the uimin and the i+1th row to ui+1max.
- 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 1≤i≤m, i is an integer, i≠p, q.
The rule is as follows:
- when 1c1i·1c1i+1<0,
- if 1c1i>0 and 1c1i+1<0, setting the ith row of the matrix Δ to the uimin and an i+1th row to ui+1max; or
- if 1c1i<0 and 1c1i+1>0, setting the ith row of the matrix Δ to the uimax and an i+1th row to ui+1min; or
- when 1c1i>0 and 1c1i+1>0,
- setting the ith row of the matrix Δ to the uimin and an i+1th row to ui+1min; or
- when 1c1i<0 and 1c1i+1<0,
- calculating 2z01=1c1i·uimax+1c1i+1·ui+1min and 2z02=1c1i·uimin+1c1i+1·ui+1max and performing determining as follows: if 2z01>2z02, setting an ith row of the matrix Δ to the uimin and the i+1th row to the ui+1max; if 2z01<2z02, setting an ith row of the matrix Δ to the uimax and the i+1th row to ui+1min; or if 1z01=1z02, setting an ith row and an i+1th row of the matrix Δ as follows: setting the ith row of the matrix Δ to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Δ to the uimin and the i+1th row to ui+1max.
- 4-4) When the pth control component and the qth 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:
- 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 pth component is denoted as a p′th component, and the component paired with the qth component is denoted as a q′th component.
When up′=up′min and uq′=uq′min it is determined that a boundary surface formed by a point satisfying the formula (5) is the type-I rectangular boundary surface.
When up′=up′min and
it is determined that a boundary surface formed by a point satisfying the formula (5) is the type-II rectangular boundary surface.
When
and uq′=uq′min, is determined that a boundary surface formed by a point satisfying the formula (5) also is the type-II rectangular boundary surface.
When
it is determined that a boundary surface formed by a point satisfying the formula (5) is the type-III rectangular boundary surface.
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 1Π or 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 pth, the p′th, the qth, and the q′th components of four vertices on each boundary surface are shown in pth, p′th, qth, and q′th rows of the matrix. A value of an ith component is the uimax or the uimin, and an ith row of the corresponding matrix is the uimax or the uimin. 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 pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′min, up′min, up′min), the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′min, uq′min, uq′min, uq′min).
For the 1Π, the pth row is (upmax, upmin, upmin, up max), the p′ th row is (up′min, up′max, up′max, up′min), the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′min, uq′min, uq′min, uq′min).
For the 2Π, the pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′min, up′min, up′min), the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′max, uq′max, uq′min, uq′min).
For the T, the pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′max, up′max, up′min), the qth row is (uqmin, uqmin, uqmax, uqmax), and the q′th row is (uq′max, uq′max, uq′min, uq′min).
It should be noted that: In the four matrices shown in the above formula, if p is an odd number, the pth row comes before the p′th row; or if p is an even number, the pth row comes after the p′th row. If q is an odd number, the qth row comes before the q′th row; or if q is an even number, the qth row comes after the q′th row.
- 4-4-2) Construct a coordinate rotation transformation G, such that a transformed coordinate axis v1 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 v1 axis.
are set, where gij represents an element of an ith row and a jth column of the matrix G, and eij represents an element of an ith row and a jth column of the matrix E.
E=G·B is set, such that
The G and the B are substituted into the E=G·B to obtain a following equation set:
The linear equation set (7) is solved to obtain a first row of the G, and a first row (e11, . . . , e1m) of the matrix E is calculated according to the E=G·B. If e1p′>0 and e1q′22 0, a step 4-4-3) is performed; if e1p′<0 and e1q′21 0, a step 4-4-4) is performed; or if e1p′·e1q′21 0, a step 4-4-5) is performed.
- 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, i≠p, p′, q, q′.
The rule is as follows:
- when e1i·e1i+1<0,
- if e1i>0 and e1i+1<0, setting the ith row of the matrix T to the uimax and an i+1th row to ui+1min; or
- if e1i<0 and e1i+1>0, setting the ith row of the matrix T to the uimin and an i+1th row to ui+1max;
- when e1i<0 and e1i+1<0,
- setting the ith row of the matrix T to the uimin and an i+1th row to ui+1min; or
- when e1i<0 and e1i+1>0,
- calculating 1d01=e1i·uimax+e1i+1·ui+1min and 1d02=e1i·uimin+e1i+1·ui+1max and performing determining as follows: if 1d01>1d02, setting an ith row of the matrix T to the uimax and an i+1th row to the ui+1min; if 1d01<1z02, setting an ith row of the matrix T to the uimin and an i+1th row to ui+1max; or if 1d01=1d02, setting an ith row and an i+1th row of the matrix T as follows: setting the ith row of the matrix T to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix T to the uimin and the i+1th row to ui+1max.
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, i≠p, p′, q, q′.
The rule is as follows:
- when e1i·e1i+1<0,
- if e1i>0 and e1i+1<0, setting the ith row of the matrix T to the uimin and an i+1th row to ui+1max; or
- if e1i<0 and e1i+1>0, setting the ith row of the matrix T to the uimax and an i+1th row to ui+1min;
- when e1i<0 and e1i+1<0,
- calculating 2d01=2h1i·uimax+2h1i+1·ui+1min, and 2d02=2h1i·uimin+2h1i+1·ui+1max; and if 2d01>2d02, setting an ith row of the matrix T to the uimin and an i+1th row to the ui+1max; if 2d01<2d02, setting an ith row of the matrix T to the uimax and an i+1th row to ui+1min; or if 2d01=2d02, setting an ith row and an i+1th row of the matrix T as follows: setting the ith row of the matrix T to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix T to the uimin and the i+1th row to ui+1max; or
- when e1i>0 and e1i+1>0;
- setting the ith row of the matrix T to the uimin and an i+1th row to the ui+1min.
- 4-4-5) Construct a coordinate rotation transformation 2T, such that a transformed coordinate axis v1 is perpendicular to an image of the type-I rectangular boundary surface of the group, where only a first row of the 2T is required because only the v1 axis is considered.
are set, where 2cij represents an element of an ith row and a jth column of the matrix 2C, and 2tij represents an element of an ith row and a jth column of the matrix 2T.
2C=2T·B is set, such that 2c1p=0, and 2c1q=0. The 2T and the B are substituted into the 2C=2T·B to obtain a following equation set:
The linear equation set (8) is solved to obtain the first row (2t11, 2t12,2t13) of the 2T. Then, a first row(2c11, . . . , 2c1m) of the matrix 2c can be calculated according to the 2C=2T·B.
If 2c1p′<0 and 2c1q′<0, a step 4-4-6) is performed; if 2c1p′>0 and 2c1q′>0, a step 4-4-7) is performed; or if 2c1p′·2c1q′<0, a step 4-4-8) is performed.
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, i≠p, p′, q, q′; and then perform determining as follows:
- if two key boundary surfaces have been found for the group, perform a step 4-6); otherwise, perform the step 4-4-8).
The rule is as follows:
- when 2c1i·2c1i+1<0,
- if 2c1i>0 and 2c1i+1<0, setting the ith row of the matrix Λ to the uimax and an i+1th row to ui+1min; or
- if 2c1i<0 and 2c1i+1>0, setting the ith row of the matrix Λ to the uimin and an i+1th row to ui+1max;
- when 2c1i<0 and 2c1i+1<0,
- setting the ith row of the matrix Λ to the uimin and an i+1th row to ui+1min; or
- when 2c1i>0 and 2c1i+1>0,
- calculating 3d01=2c1i·uimax+2c1i+1·ui+1min, and 3d02=2c1i·uimin+2c1i+1·ui+1max and if 3d01>3d02, setting an ith row of the matrix Λ to the uimax and the i+1th row to the ui+1min; if 3d01<3d02, setting an ith row of the matrix Λ to the uimin and an i+1th row to ui+1max; or if 3d01=3d02, setting an ith row and an i+1th row of the matrix Λ as follows: setting the ith row of the matrix Λ to the uimin and the i+1th row to ui+1max.
- 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, i≠p, p′, q, q′; and then perform determining as follows:
- if two key boundary surfaces have been found for the group, perform a step 4-6); otherwise, perform the step 4-4-8).
The rule is as follows:
- when 2c1i·2c1i+1<0,
- if 2c1i>0 and 2c1i+1<0, setting the ith row of the matrix Λ to the uimin and an i+1th row to ui+1max; or
- if 2c1i<0 and 2c1i+1>0, setting the ith row of the matrix Λ to the uimax and an i+1th row to ui+1min;
- when 2c1i<0 and 2c1i+1<0,
- calculating 4d01=2c1i·uimax+2c1i+1·ui+1min, and 4d02=2c1i·uimin+2c1i+1·ui+1max and if 4d01>4d02, setting an ith row of the matrix Λ to the uimin and the i+1th row to the ui+1max; if 4d01<4d02, setting an ith row of the matrix Λ to the uimax and an i+1th row to ui+1min; or if 4d01=4d02, setting an ith row and an i+1th row of the matrix Λ as follows: setting the ith row of the matrix Λ to the uimin and the i+1th row to ui+1max; or
- when 2c1i>0 and 2c1i+1>0,
- setting the ith row of the matrix Λ to the uimin and an i+1th row to ui+1min.
- 4-4-8) Construct a coordinate rotation transformation 1F, such that a transformed coordinate axis is perpendicular v1 to an image of a boundary surface whose vertex matrix is the 1Π in the group, and images of all points on the boundary surface have equal coordinate values on the v1 axis, where only a first row of the 1F is required because only the axis is considered.
are set, where 1fij represents an element of an ith row and a jth column of the matrix 1F, and 1hij represents an element of an ith row and a jth column of the matrix 1H.
1H=1F·B is set, such that
and 1h1q=0. The 1F and the B are substituted into the 1H=1F·B to obtain a following equation set:
The linear equation set (9) is solved to obtain the first row of the 1F, and a first row (1h11, . . . , 1h1m) of the matrix 1H according to the 1H=1F·B.
If 1h1p′>0, and 1h1p′<0, a step 4-4-9) is performed; if 1h1p′<0 and 1h1p′<0, a step 4-4-10) is performed; or if 1h1p′·1h1p′>0, a step 4-4-11) is performed.
4-4-9) Process other rows than the rows p, q, p′, q′ of the matrix 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, i≠p, p′, q, q′; and then perform determining as follows:
- if two key boundary surfaces have been found for the group, perform a step 4-6); otherwise, perform the step 4-4-11).
The rule is as follows:
- when 1h1i·1h1i+1<0,
- if 1h1i>0 and 1h1i+1<0, setting the ith row of the matrix 1Π to the uimax and an i+1th row to ui+1min; or
- if 1h1i<0 and 1h1i+1>0, setting the ith row of the matrix 1Π to the uimin and an i+1th row to ui+1max;
- when 1h1i<0 and 1h1i+1<0,
- setting the ith row of the matrix 1Π to the uimin and an i+1th row to ui+1min, or
- when 1h1i>0 and 1h1i+1>0,
- calculating 5d01=1h1i·uimax+1h1i+1·ui+1min, and 5d02=1h1i·uimin+1h1i+1·ui+1max; and if 5d01>5d02, setting an ith row of the matrix 1Π to the uimax and the i+1th row to the ui+1min; if 5d01<5d02, setting an ith row of the matrix 1Π to the uimin and an i+1th row to ui+1max; or if 5d01=5d02, setting an ith row and an i+1th row of the matrix 1Π as follows: setting the ith row of the matrix 1Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix 1Π to the uimin and i+1th row to ui+1max.
4-4-10) Process other rows than the rows p, q, p′, q′ of the matrix 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, i≠p, p′, q, q′; and then perform determining as follows:
if two key boundary surfaces have been found for the group, perform a step 4-6); otherwise, perform the step 4-4-11).
The rule is as follows:
- when 1h1i·1h1i+1<0,
- if 1h1i>0 and 1h1i+1<0, setting the ith row of the matrix 1Π to the uimin and an i+1th row to ui+1max; or
- if 1h1i<0 and 1h1i+1>0, setting the ith row of the matrix 1Π to the uimax and an i+1th row to ui+1min;
- when 1h1i>0 and 1h1i+1>0,
- setting the ith row of the matrix 1Π to the uimin and an i+1th row to ui+1min, or
- when 1h1i<0 and 1h1i+1<0,
- calculating 6d01=1h1i·uimax+1h1i+1·ui+1min, and 6d02=1h1i·uimin+1h1i+1·ui+1max; and if 6d01>6d02, setting an ith row of the matrix 1Π to the uimin and the i+1th row to the ui+1max; if 6d01<6d02, setting an ith row of the matrix 1Π to the uimax and an i+1th row to ui+1min; or if 6d01=6d02, setting an ith row and an i+1th row of the matrix 1Π as follows: setting the ith row of the matrix 1Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix 1Π to the uimin and i+1th row to ui+1max.
4-4-11) Construct a coordinate rotation transformation 2F, such that a transformed coordinate axis v1 is perpendicular to an image of a boundary surface whose vertex matrix is the 2Λ in the group, and images of all points on the boundary surface have equal coordinate values on the v1 axis, where only a first row of the 2F is required because only the v1 axis is considered.
are set, where 2fij represents an element of an ith row and a jth column of the matrix 2F, and 2hij represents an element of an ith row and a jth column of the matrix 2H.
2H=2F·B is set, such that
and 2h1p=0. The 2F and the B are substituted into the 2H=2F·B to obtain a following equation set:
The linear equation set (10) is solved to obtain the first row of the 2F, and a first row (2h11, . . . , 2h1m) of the matrix 2H according to the 2H=2F·B. If and 2h1p′<0 and 2h1q′>0, a step 4-4-12) is performed; if 2h1p′>0 and 2h1q′<0, a step 4-4-13) is performed; or if 2h1p′·2h1q′>0, a step 4-6) is performed.
4-4-12) Process other rows than the rows p, q, p′, q′ of the matrix 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, i≠p, p′, q, q′; and then perform the step 4-6).
The rule is as follows:
- when 2h1i·2h1i+1<0,
- if 2h1i>0 and 2h1i+1<0, setting the ith row of the matrix 2Π to the uimax and an i+1th row to ui+1min; or
- if 2h1i<0 and 2h1i+1>0, setting the ith row of the matrix 2Π to the uimin and an i+1th row to ui+1max;
- when 2h1i<0 and 2h1i+1<0,
- setting the ith row of the matrix 2Π to the uimin and an i+1th row to ui+1min, or
- when 2h1i<0 and 2h1i+1<0,
- calculating 7d01=2h1i·uimax+2h1i+1·ui+1min, and 7d02=2h1i·uimin+2h1i+1·ui+1max; and if 7d01>7d02, setting an ith row of the matrix 2Π to the uimax and the i+1th row to the ui+1min; if 7d01<7d02, setting an ith row of the matrix 2Π to the uimin and an i+1th row to ui+1max; or if 7d01=7d02, setting an ith row and an i+1th row of the matrix 2Π as follows: setting the ith row of the matrix 2Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix 2Π to the uimin and i+1th row to ui+1max.
4-4-13) Process other rows than the rows p, q, p′, q′ of the matrix 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, i≠p, p′, q, q′; and then perform the step 4-6).
The rule is as follows:
- when 2h1i·2h1i+1<0,
- if 2h1i>0 and 2h1i+1<0, setting the ith row of the matrix 2Π to the uimin and an i+1th row to ui+1max; or
- if 2h1i<0 and 2h1i+1>0, setting the ith row of the matrix 1Π to the uimax and an i+1th row to ui+1min;
- when 2h1i>0 and 2h1i+1>0,
- calculating 8d01=2h1i·uimax+2h1i+1·ui+1min, and 8d02=2h1i·uimin+2h1i+1·ui+1max; and if 8d01>8d02, setting an ith row of the matrix 2Π to the uimin and the i+1th row to the ui+1max; if 8d01<8d02, setting an ith row of the matrix 2Π to the uimax and an i+1th row to ui+1min; or if 8d01=8d02, setting an ith row and an i+1th row of the matrix 2Π as follows: setting the ith row of the matrix 2Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix 2Π to the uimin and i+1th row to ui+1max; or
- when 2h1i>0 and 2h1i+1>0,
- setting the ith row of the matrix 2Π to the uimin and an i+1th row to ui+1min.
4-5) When the pth control component and the qth control component are not a pair of linear constraint components, and the qth control component has no paired linear constraint component, determine a key boundary surface of the p-q group according to a following specific method:
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 pth component is denoted as a p′th component.
When up′=up′min, 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.
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 pth p′th, and qth components of four vertices on each boundary surface are shown in pth, p′th and qth rows of the matrix. A value of an i(i=1, . . . , m, i≠p, p′, q)th component is the uimax or the umin, and an i(i=1, . . . , m, i≠p, p′, q)th row of the corresponding matrix is the uimax or the uimin. 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 pth row is (upmax, upmin, upmin, upmax), the p′th row is (up′min, up′min, up′min, up′min), the qth row is) (uqmin, uqmin, uqmax, uqmax), and the qth row is (uq′min, uq′min, uq′min, uq′min).
In the matrices shown in the above formula, if P is an odd number, the pth row comes before the p′th row; or if P is an even number, the pth row comes after the p′th row.
4-5-2) Construct a coordinate rotation transformation 3T, such that a transformed coordinate axis v1 is perpendicular to an image of the type-I rectangular boundary surface of the group, where only a first row of the 3T is required because only the v1 axis is considered.
are set, where 3tij represents an element of an ith row and a jth column of the matrix 3T, and 3cij represents an element of an ith row and a jth column of the matrix 3C.
3C=3T·B is set, such that 3c1p=0, and 3c1q=0. The 3T and the B are substituted into the 3C=3T·B to obtain a following equation set:
The linear equation set (12) is solved to obtain the first row (3t11, 3t12, 3t13) of the 3T. Then, a first row (3c11, . . . , 3c1m) of the matrix 3C can be calculated according to the 3C=3T·B. If 3c1p′<0, a step 4-5-3) is performed; or if 3c1p′>0, a step 4-5-4) is performed.
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, i≠p, p′, q.
The rule is as follows:
- when 3c1i·3c1i+1<0,
- if 3c1i>0 and 3c1i+1<0, setting the ith row of the matrix Λ′ to the uimax and an i+1th row to ui+1min; or
- if 3c1i<0 and 3c1i+1>0, setting the ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1max;
- when 3c1i<0 and 3c1i+1<0,
- setting the ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1min; or
- when 3c1i>0 and 3c1i+1>0,
- calculating 9d01=3c1i·uimax+3c1i+1·ui+1min, and 9d02=3c1i·uimin+3c1i+1·ui+1max; and
- if 9d01>9d02, setting an ith row of the matrix Λ′ to the uimax and the i+1th row to ui+1min; if 9d01<9d02, setting an ith row of the matrix Λ to the uimin and an i+1th row to ui+1max; or if 9d01=9d02, setting an ith row and an i+1th row of the matrix Λ′ as follows: setting the ith row of the matrix Λ′ to the uimin and the i+1th row to ui+1max.
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, i≠p, p′, q.
The rule is as follows:
- when 3c1i·3c1i+1<0,
- if 3c1i>0 and 3c1i+1<0, setting the ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1max; or
- if 3c1i<0 and 3c1i+1>0, setting the ith row of the matrix Λ′ to the uimax and an i+1th row to ui+1min;
- when 3c1i>0 and 3c1i+1>0,
- setting the ith row of the matrix Λ′ to the uimin and an i+1th row to ui+1min; or
- when 3c1i<0 and 3c1i+1<0,
- calculating 10d01=3c1i·uimax+3c1i+1·ui+1min, and 10d02=3c1i·uimin+3c1i+1·ui+1max; and if 10d01>10d02, setting an ith row of the matrix Λ′ to the uimin and the i+1th row to ui+1max; if 10d01<10d02, setting an ith row of the matrix Λ to the uimax and an i+1th row to ui+1min; or if 10d01=10d02, setting an ith row and an i+1th row of the matrix Λ′ as follows: setting the ith row of the matrix Λ′ to the uimin and the i+1th row to ui+1max.
4-5-5) Construct a coordinate rotation transformation 3F, such that a transformed coordinate axis v1 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 v1 axis, where only a first row of the 3F is required because only the v1 axis is considered.
are set, where 3hij represents an element of an ith row and a jth column of the matrix 3H, and 3fij represents an element of an ith row and a jth column of the matrix 3F.
3H=3F·B is set, such that
and 3h1q=0. The 3F and the B are substituted into the 3H=3F·B to obtain a following equation set:
The linear equation set (13) is solved to obtain the first row of the 3F, and a first row (3h11, . . . , 3h1m) of the matrix 3H according to the 3H=3F·B. If 3h1p′>0, a step 4-5-6) is performed; or if 3h1p′<0, a step 4-5-7) is performed.
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, i≠p, p′, q.
The rule is as follows:
- when 3h1i·3h1i+1<0,
- if 3h1i>0 and 3h1i+1<0, setting the ith row of the matrix Π to the uimax and an i+1th row to ui+1min; or
- if 3h1i<0 and 3h1i+1>0, setting the ith row of the matrix Π to the uimin and an i+1th row to ui+1max;
- when 3h1i<0 and 3h1i+1<0,
- setting the ith row of the matrix Π to the uimin and an i+1th row to ui+1min, or
- when 3h1i>0 and 3h1i+1>0,
- calculating 11d01=3h1i·uimax+3h1i+1·ui+1min, and 11d02=3h1i·uimin+3h1i+1·ui+1max; and if 11d01>11d02, setting an ith row of the matrix Π to the uimax and the i+1th row to the ui+1min; if 11d01<11d02, setting an ith row of the matrix Π to the uimin and an i+1th row to ui+1max; or if 11d01=11d02, setting an ith row and an i+1th row of the matrix Π as follows: setting the ith row of the matrix Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Π to the uimin and i+1th row to ui+1max.
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, i≠p, p′, q.
The rule is as follows:
- when 3h1i·3h1i+1<0,
- if 3h1i>0 and 3h1i+1<0, setting the ith row of the matrix Π to the uimin and an i+1th row to ui+1max; or
- if 3h1i<0 and 3h1i+1>0, setting the ith row of the matrix Π to the uimax and an i+1th row to ui+1min;
- when 3h1i<0 and 3h1i+1<0,
- calculating 12d01=3h1i·uimax+3h1i+1·ui+1min, and 12d02=3h1i·uimin+3h1i+1·ui+1max; and if 12d01>12d02, setting an ith row of the matrix Π to the uimin and the i+1th row to the ui+1max; if 12d01<12d02, setting an ith row of the matrix Π to the uimax and an i+1th row to ui+1min; or if 12d01=12d02, setting an ith row and an i+1th row of the matrix Π as follows: setting the ith row of the matrix Π to the uimax and the i+1th row to ui+1min; or setting the ith row of the matrix Π′ to the uimin and i+1th row to ui+1max; or
- when 3h1i>0 and 3h1i+1>0,
- setting the ith row of the matrix Π′ to the uimin and an i+1th row to ui+1min.
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).
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).
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·uELR 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 ∂(ΦELR) of the control attainable set.
The method in the present disclosure is further described in detail below with reference to a specific embodiment.
EMBODIMENT
In this embodiment, a control attainable set of a four-wheel independently driven and independently steered vehicle is calculated.
Given that four longitudinal forces of four wheels are FL1, FL2, FL3, and FL4, respectively, and four lateral forces are FT1, FT2, FT3, and FT4 respectively. It is set that uv=(FL1, FT1, FL2, FT2, FL3,FT3, FL4, FT4)T, FLimin≤FLi≤FLimax, FTimin≤FTi≤FTimax, i=1, . . . , 4, FLimin, FTimin respectively represent minimum values of the longitudinal and lateral forces of each wheel, FLimax, FTimax respectively represent maximum values of the longitudinal and lateral forces of each wheel, [FL1min, . . . , FL4min]=[−16, −16, −19.3, −19.3], [FT1min, . . . , FT4min]=[−5, −5, −9.21, −9.21], [FL1max, . . . , FL4max]=[16, 16, 9.3, 9.3], and [FT1max, . . . , FT4max]=[5,5,9.21,9.21]. There is a following linear relationship between an ith longitudinal force and an ith lateral force: (FLimax-FLimin)FTi+(FTimax-FTimax)FLi≤FTimaxFLimax−FTiminFLimin. All values of the uv constitute a control set Ωv={uv} of the four-wheel independently driven and independently steered vehicle. In addition, a wheel force control efficiency matrix Bv is known:
The control attainable set Φv of the four-wheel independently driven and independently steered vehicle is calculated according to a following formula: Φv={vVS|vVS=Bv·uVS=(FLS, FTS, MS)T, uvs∈Ωv}, where FLS represents a specific overall longitudinal force of the vehicle, FTS represents a specific overall lateral force of the vehicle, and Ms represents a specific overall yawing moment of the vehicle.
This embodiment proposes a method for calculating a control attainable set of a redundant drive system under a linear constraint, including following steps:
1) Construct a control attainable set of a redundant drive system under each pair of linear constraint control components.
In this embodiment, a correspondence between each physical quantity and the terms used in the foregoing description is as follows: Ωv corresponds to ΩELR, Bv corresponds to B, Φv corresponds to ΦELR, and uv=(FL1, FT1, FL2, FT2, FL3, FT3, FL4, FT4)T corresponds to uELR=(u1, . . . , u8)T The physical problem is to:
- determine a control containable set of an 8-dimensional control vector uELR=(u1, . . . , u8)T, where u1 and u2 are a pair of control components, u3 and u4 are a pair of control components, u5 and u6 are a pair of control components, and u7 and u8 are a pair of control components; and each control component ui has a value range, namely uimin≤ui≤uimax, where i=1, . . . , 8,
There is a following linear relationship between each pair of control components:
ΩELR={uELR} is set, where
Each control vector uELR of the ΩELR generates a control attainable vector v through following mapping: v=B·uELR, where B:R8→R3,
Requirement: Determine ∂(ΦELR) of the control attainable set.
2) Classify all boundary surfaces of the control set ΩELR into four types.
A point obtained by taking a corresponding maximum or minimum constraint value of each component ui(i=1, . . . , 8) of the control vector uELR=(u1, . . . , u8)T is a vertex of the control set ΩELR. The 8-dimensional control set ΩELR in this embodiment has 34 vertices. Boundary surfaces constituting ∂(Ω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.
3) Divide all the boundary surfaces of the control set into C82 groups.
Values of a pth control component up, uq and a qth control component (1≤p≤8, 1≤q≤8, p<q) are between the corresponding minimum and maximum values, and values of other 6 components ui(1≤i≤8, i≠p, i≠q) are the corresponding minimum or maximum value, namely, ui=uimax or uimin Through such combination, a total of 26 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.
4) Determine a key boundary surface for each of the C82 groups in the step 3).
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.
4-1) Denote the 1-2 group as a current p-q group.
4-2) Perform a step 4-3) because a first control component and a second control component are a pair of linear constraint components.
4-3)
4-3-1) Boundary surfaces of the group are all triangular boundary surfaces.
4-3-2) Construct a coordinate rotation transformation 1T, such that a transformed coordinate axis v1 is perpendicular to an image of the triangular boundary surface of the group, where only a first row of the 1T is required because only the v1 axis is considered.
Given that
are set. 1C=1T·B is set, such that 1C11=0, and 1C12=0.
The 1T and the B are substituted into the 1C=1T·B to obtain a following equation set:
The linear equation set (14) is solved. Set 1t13=1, such that 1t11=−1.4, 1t12=−0.7 can be calculated.
Then, the first row of the matrix 1C can be calculated according to the 1C=1T·B, which is (1c11, . . . , 1C18)=(0, 0, 0.4093, −1.3388, −2.8738, −2.0252, −2.5334, −0.5849) Then, a step 4-3-3) is performed.
4-3-3) Due to 1c13·1c14<0, and 1c13>0, and 1c14<0, set a third row of a matrix Δ to u3max and a fourth row to u4min; due to1c15<0,1c16<0, set a fifth row of the matrix Δ to u5min and a sixth row to u6min; due to 1c17<0,1c18<0, set a seventh row of the matrix Δ to u7min and an eighth row to u8min; and represent an obtained matrix by Δ1, where a boundary surface represented by the matrix Δ1, is the key boundary surface and placed into the set Ω, and then a step 4-3-4) is performed.
4-3-4) Due to, and 1c13·1c14<0, and 1c13>0 and 1c14<0, set the third row of the matrix Δ to theu3min and the fourth row to the u4max; due to 1c15<0, 1c16<0 and 1c15·u5max+1c16·u6min<1c15·u5min+1c16·u6max, set the fifth row of the matrix Δ to the u5max and the sixth row to the u6min; due to 1c17<0,1c18<0 and 1c17·u7max+1c18·u8min<1c17·u7min+1c18·u8max, set the seventh row of the matrix Δ to the u7max and the eighth row to the u8min; and represent an obtained matrix by Δ2, where a boundary surface represented by the matrix Δ2 is the key boundary surface and placed into the set Ω, and then a step 4-6) is performed.
4-1) Denote the 3-5 group as a current p-q group.
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.
4-4)
4-4-1) The p-q group has three types of rectangular boundary surfaces. A step 4-4-2) is performed.
4-4-2) Construct a coordinate rotation transformation G, such that a transformed coordinate axis v1 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 v1 axis is considered.
Given that
are set. E=G·B is set, such that
The G and the B are substituted into the E=G·B to obtain a following equation set:
The linear equation set (15) is solved to obtain the first row of the G, and a first row (e11, . . . , e18)=(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·B. Due to e14>0 and e16>0, a step 4-4-3) is performed.
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).
Due to e11>0 and e12>0, and e11·u1max+e12·u2min<e11·u1min+e12·u2max, a first row of the matrix T is set to u1min, and a second row is set to u2max; due to e17>0 and e18>0, and e17·u7max+e18·u18min<e17·u7min+e18·u8max, a seventh row of the matrix T is set to u7min, and an eighth row is set to u8max; and an obtained matrix is represented by T1, and a boundary surface represented by the matrix T1 is the key boundary surface and placed in the set Ω
4-4-5) Construct a coordinate rotation transformation 2T, such that a transformed coordinate axis v1 is perpendicular to an image of the type-I rectangular boundary surface of the group, where only a first row of the 2T is required because only the v1 axis is considered.
Given that
are set. 2C=2T·B is set, such that 2c13=0, and 2c18=0. The 2T and the B are substituted into the 2C=2T·B to obtain a following equation set:
The linear equation set (16) is solved. Set 2t13=1, such that 2t13=−0.0143, 2t12=5.2321 can be calculated.
Then, a first row of the matrix 2C can be calculated according to the 2C=2T·B, which is (2c11, . . . , 2c18)=(−0.7266,5.1005,0,3.9289,0, 4.0633,0.151,5.507). Due to 2c14>0 and 2c16>0, a step 4-4-7) is performed.
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.
Due to 2c11·2c12<0, and 2c11<0 and 2c12>0, a first row of the matrix Λ is set to u1max, and a second row is set to u2min; due to 2c17>0, 2c18>0, a seventh row of the matrix Λ is set to u7min, and an eighth row is set to u8min; and an obtained matrix is represented by Λ1, and a boundary surface represented by the matrix Λ1 is the key boundary surface and placed into the set Ω.
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.
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.
Step 6) Constitute the boundary ∂(Φ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.
Three vertices of a key boundary surface Δ1 in the 1-2 group are mapped according to v=B·uELR 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 ∂(Δ1), with each column representing one vertex.
Three vertices of another key boundary surface Δ2 in the 1-2 group are mapped according to the v=B·uELR 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 ∂(Δ2), with each column representing one vertex.
Four vertices of a key boundary surface T1 in the 3-5 group are mapped according to the v=B·uELR 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 ∂(T1), with each column representing one vertex.
Four vertices of another key boundary surface Λ1 in the 3-5 group are mapped according to the v=B·uELR 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 ∂(Λ1), with each column representing one vertex.
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.