ACTUATOR CAPABILITY-DRIVEN CONTROL ALLOCATION IN MULTI UNIT VEHICLE COMBINATIONS
20250340132 · 2025-11-06
Assignee
Inventors
Cpc classification
B60W10/08
PERFORMING OPERATIONS; TRANSPORTING
B60W30/188
PERFORMING OPERATIONS; TRANSPORTING
B60L2200/36
PERFORMING OPERATIONS; TRANSPORTING
B60W2520/403
PERFORMING OPERATIONS; TRANSPORTING
International classification
B60W10/08
PERFORMING OPERATIONS; TRANSPORTING
B60W30/188
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method of control allocation in a multi-unit vehicle combination is provided. The units include actuators configured to generate propulsion and/or braking forces. The method includes receiving a virtual control input for the vehicle combination as a whole, solving a control allocation problem to find a true control input for the actuators, including attempting to minimize a difference between the true control input and a reference control input. The method includes controlling the actuators based on the true control input. In particular, the method includes generating the reference control input such that a) capabilities of the actuators are taken into account, and b) such that a longitudinal force contribution of one vehicle unit does not counteract the contribution of another vehicle unit.
Claims
1. A method of control allocation in a vehicle combination including multiple vehicle units and a plurality of actuators configured to generate at least one of propulsion and braking forces, the plurality of actuators being distributed among the multiple vehicle units, the method being performed by processing circuitry of a controller and comprising: receiving requested global forces for the vehicle combination as a whole; solving a control allocation problem in an attempt to find a true control input for the plurality of actuators based on the requested global forces, including an attempt to minimize a difference between the true control input and a reference control input for the plurality of actuators, and controlling the plurality of actuators based on the true control input such that each vehicle unit contributes to a longitudinal force of the vehicle combination indicated in the requested global forces, wherein the method further comprises defining the reference control input such that: a) capabilities of the plurality of actuators to generate at least one of propulsion and braking force are taken into account, and b) if the true control input matches the reference control input, the contribution to the longitudinal force from one of the vehicle units does not counteract the contribution to the longitudinal force from any other one of the vehicle units.
2. The method according to claim 1, wherein the reference control input is defined such that, further, if the true control input matches the reference control input, there is no simultaneous braking and acceleration of a same vehicle unit of the multiple vehicle units.
3. The method according to claim 1, wherein defining the reference control input is further such that if the true control input matches the reference control input, the longitudinal force of the vehicle combination is split as evenly as possible among the multiple vehicle units subject to the capabilities of the actuators.
4. The method according to claim 1, wherein the method further comprises defining a preset split-ratio of the longitudinal force of the vehicle combination among the multiple vehicle units, and wherein defining the reference control input is further such that if the true control input matches the reference control input, the longitudinal force of the vehicle combination is split among the multiple vehicle units in accordance with the preset split-ratio.
5. The method according to claim 1, wherein the plurality of actuators includes one or more electric machines and one or more service brakes.
6. The method according to claim 5, wherein the one or more electric machines are capable of generating both propulsion and braking force.
7. A controller for control allocation in a vehicle combination including multiple vehicle units and a plurality of actuators configured to generate at least one of propulsion and braking forces, the plurality of actuators being distributed among the multiple vehicle units, and the controller comprising processing circuitry configured to cause the controller to: receive requested global forces for the vehicle combination as a whole; receive at least one indication of capabilities of the plurality of actuators to generate at least one of propulsion and braking force; solve a control allocation problem in an attempt to find a true control input for the plurality of actuators based on the requested global forces, including an attempt to minimize a difference between the true control input and a reference control input for the plurality of actuators, and control the plurality of actuators based on the true control input such that each vehicle unit contributes to a longitudinal force of the vehicle combination indicated in requested global forces, wherein the processing circuitry is further configured such that it causes the controller to define the reference control input such that: a) the capabilities of the plurality of actuators to generate at least one of propulsion and braking force are taken into account, and b) if the true control input matches the reference control input, the contribution to the longitudinal force from one of the vehicle units does not counteract the contribution to the longitudinal force from any other one of the vehicle units.
8. (canceled)
9. A vehicle unit configured to form part of a vehicle combination including multiple vehicle units and a plurality of actuators configured to generate at least one of propulsion and braking forces, the plurality of actuators being distributed among the multiple vehicle units, and the vehicle unit comprising the controller according to claim 7.
10. A vehicle combination including multiple vehicle units and a plurality of actuators configured to generate at least one of propulsion and braking forces, wherein the plurality of actuators are distributed among the multiple vehicle units, and wherein the vehicle combination includes the controller according to claim 7.
11. The vehicle combination according to claim 10, wherein the plurality of actuators includes one or more electric machines and one or more service brakes.
12. The vehicle combination according to claim 11, wherein the one or more electric machines are capable of generating both propulsion and braking force.
13. (canceled)
14. (canceled)
15. A non-transitory computer-readable storage medium storing a computer program with computer code that, when running on processing circuitry of a controller of the vehicle combination, causes the controller to performed the method according to claim 1.
16. A computer program product comprising the non-transitory computer-readable storage medium according to claim 15.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Exemplifying embodiments will now be described below with reference to the accompanying drawings, in which:
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035] In the drawings, like reference numerals will be used for like elements unless stated otherwise. Unless explicitly stated to the contrary, the drawings show only such elements that are necessary to illustrate the example embodiments, while other elements, in the interest of clarity, may be omitted or merely suggested. As illustrated in the Figures, the (absolute or relative) sizes of elements and regions may be exaggerated or understated vis--vis their true values for illustrative purposes and, thus, are provided to illustrate the general structures of the embodiments.
DETAILED DESCRIPTION
[0036] How control allocation is conventionally used to control the actuators of a vehicle combination will now be described in more detail with reference to
[0037]
[0038] The vehicle combination 100 also include at least one controller 170, which is usually provided as part of the towing unit 110a. As will be described below with reference also to
[0039]
[0040] In the vehicle combination 100, there are provided electric motors on all wheel units, such that each wheel unit may be powered individually. For example, right and left wheel units 150a and 150b on a front axle of the towing unit 110a are powered by right and left front electric motors 160a and 160b, respectively. Right and left wheel units 151a and 151b on a middle axle of the towing unit 110a are powered by right and left middle electric motors 161a and 161b, respectively. Right and left wheel units 152a and 152b on a rear axle of the towing unit 110a are powered by right and left rear electric motors 162a and 162b, respectively. There are also respective right and left front service brakes 140a and 140b, right and left middle brakes 141a and 141b, and right and left rear service brakes 142a and 142b arranged to provide service braking of the individual wheel units 150a-b, 151a-b and 152a-b.
[0041] The towed unit 110b is also equipped with electric motors and service brakes. Right and left front electric motors 163a and 163b are provided to power right and left front wheel units 153a and 153b on a front axle of the towed unit 110b, respectively. Right and left rear electric motors 164a and 164b are provided to power right and left wheel units 154a and 154b on a rear axle of the towed unit 110b. The towed unit 110b also has right and left front service brakes 143a and 143b, and right and left rear service brakes 144a and 144b, for providing service braking of the individual wheel units 153a-b and 154a-b.
[0042] It may of course be envisaged that not all of the electric motors and/or service brakes shown in
[0043] As mentioned earlier herein, the vehicle combination 100 includes at least one controller 170 which is responsible for calculating how the actuators (i.e. the electric motors and service brakes) are to be operated in order to generate desired overall forces and/or moments of the vehicle combination 100.
[0044] Example forces and moments of the vehicle combination 100 will now be described in more detail with reference also to
[0045] In what follows, the towing unit 110a will be referred to as a first vehicle unit 110a, and the towed unit 110b will be referred to as a second vehicle unit 110b, to further illustrate that the principle described herein is applicable to more vehicle combinations than exactly the vehicle combination 100 shown in
[0046] The operation of a conventional method of control allocation in e.g. the vehicle combination 100 will now be described with reference also to
[0047]
[0048] The virtual control unit 210 receives the signal 212 and calculates what forces and/or moments that need to be applied to the vehicle combination as a whole in order to follow the wish indicated by the signal 212. The result of such a calculation is a virtual control input v. The virtual control input v may for example be a vector
where F.sub.x,tot and F.sub.y,tot are the requested global forces of the vehicle combination as a whole, where M.sub.z,i,tot are the requested yaw moment of the i:th vehicle unit, e.g. as described earlier herein with reference to
[0049] The virtual control input v is provided to a control allocation unit 220 whose task it is to solve a control allocation problem in order to find a particular true control input u which satisfies the received virtual control input v. The true control input u is another vector which contains data indicative of what forces the respective actuators in the two vehicle units 110a and 110b are to produce in order for the generated forces to meet the requested virtual control input v. As electric motors and service brakes generate torque instead of linear forces, it is assumed that e.g. the control allocation unit 220 and/or the vehicle units 110a and 110b (which receive the signal u) understand how to convert/translate the received true control input u into actual steering commands for the actuators. For example, by knowing e.g. a radius r.sub.ij of a j:th wheel (unit) of an i:th vehicle unit, the longitudinal force generated by such a wheel (unit) is proportional to T.sub.ij/r.sub.ij, where T.sub.ij is the amount of torque applied on the j:th wheel (unit) of the i:th vehicle unit. By having knowledge also of other factors, such as road friction, losses due to transmissions, differentials, and similar, etc., a true control input in form of a force to be generated by an actuator (i.e. a longitudinal force generated by a wheel (unit) driven over a particular surface) can be translated into a required torque that needs to be applied on the wheel (unit) to generate such a longitudinal force.
[0050] To illustrate a particular disadvantage of the conventional method 200, the following example will focus on the longitudinal force-part of the virtual control input, i.e. on F.sub.x,tot. This may be a relevant example if the vehicle combination is for example driving along a straight section of a road, and the driver only either wants to reduce or increase the speed of the vehicle. It will further be assumed that the control allocation unit 220 is such that it converts the input v into force commands for the electric motors and service brakes of the first and second units 110a and 100b, respectively. Generally, for N vehicle units, the true control input u provided from the control allocation unit 220 may be a true control input vector
where F.sub.em,i and F.sub.sb,i are the combined longitudinal forces to be generated by the electric motors/machines and service brakes, respectively, of the i:th vehicle unit, such that F.sub.x,i=F.sub.em,i+F.sub.sb,i. In some conventional examples, the true control input may even specify forces for each actuator in each vehicle unit, further increasing the size of the vector u.
[0051] It should be noted that if the number of components of the true control input u exceeds the number of components in the virtual control input v, the vehicle combination is over-actuated and the problem of controlling such a vehicle combination is underdetermined as there then exist multiple possible solutions u which all satisfy the requirement stated by v.
[0052] The control allocation task solved by the control allocation unit 220 can thus be reformulated as the task of solving a sequential least-squares optimization problem
where u.sub.ref is a preferred/desired reference control input, W.sub.u and W.sub.v are (positive definite) weighting matrices, B is a control efficiency matrix, and u and are lower and upper capabilities of the various actuators, respectively, all defined and used as conventionally done in control allocation theory.
[0053] Solving the above problem as defined by equation (1) is often not tractable, and in particularly not in real-time. For this reason, the control allocation unit 220 may instead strive to solve a weighted least squares optimization problem
where is a weighting factor, such that when .fwdarw., the solution of the weighted least squares problem of equation (2) approaches the solution of the sequential least squares problems of equation (1).
[0054] In the conventional control allocation unit 220, the reference control input u.sub.ref is often set to zero in order to minimize the overall energy consumed by each actuator, and/or to reduce service brake wear. Phrased differently, the conventional control allocation unit 220 often attempts to find a solution centered around a working point uu.sub.ref=0.
[0055] The above conventional approach may result in undesirable and inefficient (in terms of e.g. vehicle combination energy consumption) solutions wherein actuators in different vehicle units end up working against each other, such that e.g. a longitudinal force generated by one vehicle unit counteracts a longitudinal force generated by another vehicle unit.
[0056] To illustrate the above issue, reference is once again made to the vehicle combination 100 of
where F.sub.em,1 is the combined longitudinal force to be generated by the electric motors 160a-b, 161a-b and 162a-b of the first vehicle unit 110a, F.sub.em,2 is the combined longitudinal force to be generated by the electric motors 163a-b and 164a-b of the second vehicle unit 110b, F.sub.sb,1 is the combined longitudinal braking force to be generated by the service brakes 140a-b, 141a-b and 142a-b of the first vehicle unit 110a, and F.sub.sb,2 is the combined longitudinal braking force to be generated by the service brakes 143a-b and 144a-b of the second vehicle unit 110b. In the particular example, it is assumed that the requested longitudinal force of the vehicle combination as a whole is F.sub.x,tot=10 kilo-Newtons (kN).
[0057] The task of the control allocation unit 220 is thus to find the true control input u based on the virtual control input v=[F.sub.x,tot, . . . ]=[10 kN, . . . ].sup.T, i.e. the desire of e.g. the driver has been interpreted by the virtual control unit 210 as if the overall longitudinal force F.sub.x,tot of the vehicle combination 100 should be 10 kN. As the control allocation unit 220 has to operate in real-time and only has a finite number of iterations available before a solution must be arrived at, a potential solution output by the control allocation unit 220 is a true control input u where (for example)
[0058] This solution satisfies the virtual control input v=[F.sub.x,tot, . . . ].sup.T=[10 kN, . . . ].sup.T, as the sum of the longitudinal forces to be generated by the electric motors and service brakes of the vehicle units 110a and 100b equals 10 kN. However, as can also be seen, this solution implies that the first vehicle unit 110a is trying to propel the vehicle combination forward by using its electric motors to apply 14 kN of propulsion force in the forward direction, while the second vehicle unit 110b is trying to brake the vehicle combination (by using both its electric motors and service brakes) by applying 14 kN of braking force in the negative direction (if both propulsion and braking forces are measured such that they are positive in the forward, longitudinal direction 102 of the vehicle combination 100). This solution is thus inefficient as it makes the vehicle units 110a and 110b work against each other in a non-cooperative manner. This inefficient type of solution is a result of the conventional control allocation unit 220 attempting to minimize the difference between u and u.sub.ref=0 as well as minimizing the difference between Bu and v, a tradeoff often causing the obtained solution to be less than optimal from an energy consumption perspective, in combination with the control allocation unit 210 having a limited amount of time available for converging towards a most optimal solution.
[0059] How e.g. a method as envisaged in the present disclosure helps to overcome the above-mentioned issues will now be described in more detail with reference also to
[0060]
[0061] As in the method 200 described with reference to
[0062] The method 300 differs from the conventional method 200 in that there is also provided a force reference unit 330, who is assigned the task of calculating the reference control input (or control reference) u.sub.ref in an improved way. To do this, the force reference unit 330 receives and uses the virtual control input v from the virtual control unit 310, but also receives (in a step S302) and uses lower and upper capabilities u=[u.sub.1, u.sub.2] and =[.sub.1, .sub.2] of the various actuators in the first and second vehicle units 110a and 110b, respectively. The capabilities may for example be provided from the vehicle units 110a and 110b, and may in some embodiments be provided in real-time, such that they reflect the current capabilities of the various actuators (capabilities which may change with time depending on factors such as e.g. a current loading of the vehicle combination, road slope, component wear, current degree of actuation, current cooling capacity of motors and/or service brakes, etc.). The calculated reference control input u.sub.ref is provided to the control allocation unit 220 and used, in the step S303, to do the control allocation task. Once the control allocation problem has been solved by the control allocation unit 310, the method 300 proceeds with controlling (in a step S304) the various actuators of the vehicle units using the generated true control input u.
[0063] In particular, the calculation/defining of the reference control input u.sub.ref is, in the envisaged improved method, done such that: [0064] a) The capabilities u and of the actuators of the vehicle units are taken into account, and [0065] b) If the true control input u matches the reference control input u.sub.ref, the contribution at least to the longitudinal force F.sub.x,tot (as requested in the virtual control input v) from one of the vehicle units 110a and 110b does not counteract the contribution to the longitudinal force F.sub.x,tot from the other one of the vehicle units 110a and 110b.
[0066] An example of how this can be done as envisaged in the present disclosure will now be provided, using once again also the vehicle combination 100 shown and described with reference to
[0067] If describing the functioning of the envisaged force reference unit 330 as an algorithm, this algorithm receives as its input at least u, , v, , and N, and returns as its output at least u.sub.ref. As explained above, u and are the capabilities of the actuators of the vehicle units (e.g., u may be an array containing all lower capabilities u.sub.i of the actuators of the vehicle units, and may be another array containing all upper capabilities .sub.i of the actuators of the vehicle units). The input parameter v is the virtual control input vector provided by the virtual control unit 310. In addition, is the predefined split-vector [.sub.1, .sub.2, . . . , .sub.N] indicating how to split the overall force between the vehicle units, and N is the total number of vehicle units. The parameter is a vector =[.sub.em,1, .sub.sb,1, .sub.em,2, .sub.sb,2, . . . , .sub.em,N, .sub.sb,N] defining how electric motor braking power and service brake power should be distributed locally/internally in each vehicle unit, wherein each term .sub.em/sb,i indicates a desired split between electric motor/service braking in the i:th unit, such that .sub.em,i+.sub.sb,j=1, i. It should be noted that, as also envisaged herein, one or both of and may be fixed and not used as input to the algorithm. In other examples, may for example use a same split between electric motor/service braking in each vehicle unit, such that e.g. .sub.em,i=.sub.em, .sub.sb,i=.sub.sb, and =[.sub.em, .sub.sb].
[0068] The lower and upper capability-vectors may for example be defined as
where u.sub.em/sb,i and .sub.em/sb,i are minimum and maximum capabilities of the electric motors/service brakes of the i:th vehicle unit, respectively.
[0069] The reference control input u.sub.ref may be defined as an array
where
are the reference longitudinal forces for the electric motors/service brakes of the i:th vehicle unit, and where
are the corresponding lateral reference force and reference yaw moment for the i:th vehicle unit.
[0070] In the example with only two vehicle units 110a and 110b, we may for example have that
[0071] At the start of the algorithm, the reference control input u.sub.ref may e.g. be initialized with all its components being zero. As an alternative, it may be desirable to e.g. at least set
Likewise, also at the start of the algorithm, it may be desirable to calculate forces F.sub.split,i indicating how much of the total requested longitudinal force F.sub.x,tot that is to be generated by each vehicle unit. Using the vector , this may be achieved by defining F.sub.split,i=.sub.iF.sub.x,tot. In other embodiments, it may be desirable to split the longitudinal force as evenly as possible among the vehicle units. For example, if having N vehicle units, A can be defined such that all its elements equal .sub.i=1/N. For the vehicle combination 100 with two vehicle units 110a and 110b, we may e.g. have that F.sub.split,1=F.sub.split,2=F.sub.x,tot/2.
[0072] As a next step, the algorithm checks whether the requested force F.sub.x,tot is positive or negative, i.e. whether the desire is to propel or brake the vehicle combination as a whole. If F.sub.x,tot>0, the algorithm may proceed with a part A) as defined below, and otherwise proceed with a part B) as also defined further below.
[0073] Part A) may include looping over all vehicle units (i.e. increasing a looping index i from 1 to N), i.e. such that a first loop-step is performed for each i:th vehicle unit. This may be done to split the propelling force among the vehicle units. In each such first looping-step, a remaining longitudinal force F.sub.x,rem may be defined/updated as F.sub.x,rem=F.sub.x,totS.sub.i, where S.sub.i is a sum
i.e. a sum of all previously (in the ongoing looping) calculated reference longitudinal forces (for the electric motors) of vehicle units earlier in the vehicle combination chain. For the first vehicle unit, the remaining longitudinal force F.sub.x,rem will thus be equal to F.sub.x,tot, and will in each successive first looping-step be reduced as more and more of the total request force F.sub.x,tot becomes distributed among previous vehicle units. The reference longitudinal force for the j:th vehicle unit may then be defined as
[0074] As the service brakes are not capable of generating propulsion force, it is noted that the corresponding, brake-related elements of the reference control input u.sub.ref thus remains zero after having complete part A).
[0075] Part B) may include defining a bookkeeping longitudinal force vector F.sub.bk=[F.sub.bk,1, . . . , F.sub.bk,N]. This vector may be initialized to zero, e.g. such that all elements F.sub.bk,i=0. Part B) may then include also looping over all vehicle units as described above, but such that a second loop-step is performed for each i:th vehicle unit. This may be done to calculate a total brake force per vehicle unit. In each second loop-step, a remaining longitudinal force F.sub.x,rem may be defined/updated according to F.sub.x,rem=F.sub.x,tot.sub.j<i F.sub.bk,j, and the bookkeeping longitudinal force vector F.sub.bk is then updated such that F.sub.bk,i=max(u.sub.em,i+u.sub.sb,1, F.sub.split,i, F.sub.x,rem).
[0076] After having completed the looping to calculate the total brake force per vehicle unit, part B) may continue by, for each of the vehicle units, calculate the reference longitudinal forces for the electric motors and/or service brakes of the vehicle unit as
[0077] After completing either one of part A) and part B), the algorithm may then end/return by outputting the vector u.sub.ref including the various terms
[0078] As a result of the above (algorithm), the reference control input u.sub.ref is generated such that it forces the control allocation unit 320 to (more likely) converge to a solution in which the various vehicle units do not end up working against each other. This because the proposed method/algorithm includes distributing the various (propulsion or braking forces) evenly among the vehicle units, in order to avoid one vehicle unit e.g. ending up working against another vehicle unit. Phrased differently, the vector u.sub.ref if generated as proposed herein is more likely to make the control allocation unit 320 arrive at a solution in which there is no simultaneous braking and acceleration of a same vehicle, or e.g. a solution in which one vehicle unit is not e.g. braking while another vehicle unit is driven/accelerated. This is all achieved by the even (or at least according to the pre-defined split vector ) splitting of the forces among the vehicle units, and in particular by taking the capabilities of the various actuators in each vehicle unit into account while performing such a splitting/distribution of the forces.
[0079] An example of the above-described algorithm, written in pseudo code, is provided below.
Example Algorithm
TABLE-US-00001 Input: u, , v, , , N Output: u.sub.ref u .Math. [u.sub.em,1 u.sub.sb,1 u.sub.em,2 u.sub.sb,2 ... u.sub.em,N u.sub.sb,N] .Math. [.sub.em,1 .sub.sb,1 .sub.em,2 .sub.sb,2 ... .sub.em,N .sub.sb,N] v .Math. [F.sub.x,tot F.sub.y,tot M.sub.z,1,tot M.sub.z,2,tot ... M.sub.z,N,,tot]
End of Algorithm
[0080] With reference to
[0081]
[0082] Particularly, the processing circuitry 410 is configured to cause the controller 400 to perform a set of operations, or steps, such as the steps S301-S304 as disclosed above e.g. when describing the method 300 illustrated in
[0083] The storage medium 420 may also include persistent storage, which, for example, can be a memory in form of any single or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The storage medium 420 may thus provide non-transitory storage, storing computer-readable instructions for the processing circuitry 410.
[0084] The controller 400 may further include a communications interface 430 for communications with other entities and objects, in order to e.g. receive/obtain one or more of the virtual control input v (e.g. from the virtual control unit 310 depicted in
[0085] The processing circuitry 410 controls the general operation of the controller 400 e.g. by sending data and control signals to the communications interface 430 and the storage medium 420, by receiving data and reports from the communications interface 430, and by retrieving data and instructions from the storage medium 420. The controller 400 may of course optionally also include other components, here illustrated by the dashed box 440. A communication bus 450 is also provided and connects the various modules/units 410, 420, 430, and 440 (if included), such that they may communicate with each other to exchange information.
[0086]
[0087] In general terms, each functional module (such as modules 401-404) may be implemented in hardware or in software. Preferably, one or more or all functional modules may be implemented by the processing circuitry 410, possibly in cooperation with the communications interface 430 and/or the storage medium 420. The processing circuitry 310 may thus be arranged to from the storage medium 420 fetch instructions as provided by a functional module (e.g. 401-404), and to execute these instructions and thereby perform any steps of the method 300 or any other method envisaged herein, performed by the controller 400 as disclosed herein.
[0088] The present disclosure also envisages to provide a vehicle unit configured to form part of a vehicle combination including multiple vehicle units and a plurality of actuators, as already described several times herein. The vehicle unit may e.g. be a vehicle unit such as the vehicle unit 110a or 110b, or similar. The vehicle unit include a control as described herein, e.g. the controller 400 described with reference to
[0089] The present disclosure also envisages to provide a vehicle combination including multiple vehicle units as described herein, where the vehicle combination includes a controller as envisaged herein, e.g. the controller 400. As also mentioned herein, the actuators of the vehicle units of this vehicle combination may e.g. include one or more electric machines/motors and one or more service brakes, where, in some embodiments, the electric machines/motors are capable of generating both propulsion and braking force(s).
[0090] The present disclosure also envisages to provide a computer program for control allocation in a vehicle combination including multiple vehicle units as described herein. The computer program includes computer code that, when running on a processing circuitry of a controller (such as e.g. the processing circuitry 410 of the controller 400 described with reference to
[0091] The present disclosure also envisages a computer program product (not shown) in which the above envisaged computer program is stored or distributed on a data carrier. As used herein, a data carrier may be a transitory data carrier, such as modulated electromagnetic or optical waves, or a non-transitory data carrier. Non-transitory data carriers include volatile and non-volatile memories, such as permanent and non-permanent storage media of magnetic, optical or solid-state type. Still within the scope of data carrier, such memories may be fixedly mounted or portable. In general, a data carrier may be a computer-readable storage medium, such as e.g. the storage medium 420 of the controller 400.
[0092] Although features and elements may be described above in particular combinations, each feature or element may be used alone without the other features and elements or in various combinations with or without other features and elements. Additionally, variations to the disclosed embodiments may be understood and effected by the skilled person in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims.
[0093] In the claims, the words comprising and including does not exclude other elements, and the indefinite article a or an does not exclude a plurality. The mere fact that certain features are recited in mutually different dependent claims does not indicate that a combination of these features cannot be used to advantage.
[0094] In summary of the present disclosure, it is provided an improved way of performing control allocation in a vehicle combination including multiple vehicle units, in which in particular a reference control input for a control allocation problem is defined such that it takes the various capabilities of the actuators of the vehicle units into account, and such that it forces the control allocation solver to more likely/quicker converge to a solution in which one vehicle unit does not end up working against another vehicle unit of the combination when generating a longitudinal force of the vehicle combination as a whole. The proposed solution thus causes the solutions of the control allocation problem to be more efficient in terms of e.g. energy consumption of the vehicle combination.