DISTRIBUTED AND GENERIC CONTROL ALLOCATION FOR MULTI-UNIT VEHICLE COMBINATIONS
20250326449 · 2025-10-23
Inventors
- Maliheh SADEGHI KATI (Öjersjö, SE)
- Mats Jonasson (Partille, SE)
- Jonas FREDRIKSSON (Mölndal, SE)
- Leo LAINE (Göteborg, SE)
Cpc classification
B60W10/08
PERFORMING OPERATIONS; TRANSPORTING
B60W30/188
PERFORMING OPERATIONS; TRANSPORTING
B60L15/2045
PERFORMING OPERATIONS; TRANSPORTING
B60W2300/14
PERFORMING OPERATIONS; TRANSPORTING
B60W50/06
PERFORMING OPERATIONS; TRANSPORTING
B60W10/20
PERFORMING OPERATIONS; TRANSPORTING
B60Y2200/147
PERFORMING OPERATIONS; TRANSPORTING
B60W30/02
PERFORMING OPERATIONS; TRANSPORTING
B62D53/005
PERFORMING OPERATIONS; TRANSPORTING
B60L2200/36
PERFORMING OPERATIONS; TRANSPORTING
B60L15/2036
PERFORMING OPERATIONS; TRANSPORTING
B60W30/045
PERFORMING OPERATIONS; TRANSPORTING
B60T7/20
PERFORMING OPERATIONS; TRANSPORTING
B60W2050/0006
PERFORMING OPERATIONS; TRANSPORTING
B60W2050/0031
PERFORMING OPERATIONS; TRANSPORTING
B60W2520/22
PERFORMING OPERATIONS; TRANSPORTING
B60W2556/65
PERFORMING OPERATIONS; TRANSPORTING
B60T8/1708
PERFORMING OPERATIONS; TRANSPORTING
B60W10/26
PERFORMING OPERATIONS; TRANSPORTING
International classification
B62D53/00
PERFORMING OPERATIONS; TRANSPORTING
B60W30/045
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method of distributed control allocation in a vehicle combination including multiple vehicle units is provided, in which a master control allocator solves a combination-specific control allocation problem to perform control allocation on a combination level, and each of a plurality of slave control allocators receives unit-specific virtual control inputs from the master control allocator and then performs control allocation on vehicle unit level to control actuators of an associated vehicle unit. A method performed in a master control allocator, a method performed in a slave control allocator, a distributed control allocation system, a master control allocator, a slave control allocator, a vehicle combination, a vehicle unit, and computer programs and computer program products are also provided.
Claims
1-29. (canceled)
30. A method of distributed control allocation in a vehicle combination including a plurality of vehicle units, each vehicle unit including one or more wheel units and one or more actuators configured to provide at least one of torque and steering for the one or more wheel units, the method being performed by processing circuitry of a master control allocator associated with the vehicle combination as a whole and of a plurality of slave control allocators each associated with a respective vehicle unit of the vehicle combination, comprising: receiving at least one of requested global forces and requested global moments for the vehicle combination as a whole; in the master control allocator: receiving at least one of vehicle unit-specific force-limitations and vehicle unit-specific moment-limitations of the vehicle units; and calculating vehicle unit-specific desired forces for each vehicle unit by solving a vehicle combination-specific control allocation problem, wherein solving the vehicle combination-specific control problem includes attempting to distribute the requested global forces for the vehicle combination as a whole among the vehicle units in accordance with a vehicle combination-specific control efficiency matrix and subject to at least one of the received vehicle unit-specific force-limitations and the received vehicle unit-specific moment-limitations, and wherein the vehicle combination-specific control efficiency matrix is defined based on one or more articulation angles between the vehicle units and an arrangement of coupling points in the vehicle units; and in each of the plurality of slave control allocators: receiving the vehicle unit-specific desired forces for the vehicle unit; calculating a vehicle unit-specific control input for the vehicle unit based on the vehicle unit-specific desired forces for the vehicle unit by solving a vehicle unit-specific control allocation problem; and controlling the one or more actuators of the vehicle unit associated with the slave control allocator based on the calculated vehicle unit-specific control input.
31. The method of claim 30, wherein the method further includes each slave control allocator receiving actuator-limitations of the one or more actuators of the vehicle unit associated with the slave control allocator, and each slave control allocator using the received actuator-limitations as input to the vehicle unit-specific control allocation problem.
32. The method claim 31, wherein the method further includes each slave control allocator calculating the at least one of the vehicle unit-specific force-limitations and the vehicle unit-specific moment-limitations of the vehicle unit based on the received actuator-limitations of the one or more actuators of the vehicle unit, and the master control allocator receiving the at least one of the vehicle unit-specific force-limitations and the vehicle unit-specific moment-limitations for the vehicle units from the slave control allocators.
33. The method of claim 31, wherein the actuator-limitations include limitations on at least one of torque and steering providable by the one or more actuators.
34. The method of claim 30, wherein the one or more actuators include at least one of an electric machine, a service brake, and a steering servo arrangement.
35. A method performed in a master control allocator of a distributed control allocation system of a vehicle combination including a plurality of vehicle units, each vehicle unit including one or more wheel units and one or more actuators configured to provide at least one of torque and steering for the one or more wheel units, the master control allocator being communicatively connected to a plurality of slave control allocators each associated with a respective vehicle unit, the method being performed by processing circuitry of the master control allocator and comprising: receiving requested global forces for the vehicle combination as a whole; receiving at least one of vehicle unit-specific force-limitations and vehicle unit-specific moment-limitations of the vehicle units; calculating vehicle unit-specific desired forces for each slave control allocator currently connected to the master control allocator, by solving a vehicle combination-specific control allocation problem, wherein solving the vehicle combination-specific control problem includes attempting to distribute the requested global forces for the vehicle combination as a whole among the vehicle units in accordance with a vehicle combination-specific control efficiency matrix and subject to at least one of the received vehicle unit-specific force-limitations and the received vehicle unit-specific and moment-limitations, and wherein the vehicle combination-specific control efficiency matrix is defined based on one or more articulation angles between the vehicle units and an arrangement of coupling points in the vehicle units; and sending the calculated vehicle unit-specific desired forces to the respective one or more slave control allocators connected to the master control allocator.
36. The method of claim 35, wherein the method further includes receiving the at least one of the force-limitations and moment-limitations of the vehicle units from the one or more slave control allocators connected to the master control allocator.
37. A method performed in a slave control allocator of a distributed control allocation system of a vehicle combination including a vehicle unit, the vehicle unit including one or more wheel units and one or more actuators configured to provide at least one of torque and steering for the one or more wheel units, the slave control allocator being associated with the vehicle unit and communicatively connected to a master control allocator of the distributed control allocation system and to the one or more actuators, the method being performed by processing circuitry of the slave control allocator and comprising: receiving vehicle unit-specific desired forces for the vehicle unit from the master control allocator; receiving actuator-limitations of the one or more actuators; calculating at least one of vehicle unit-specific force-limitations and vehicle unit-specific moment-limitations for the vehicle unit based on the received actuator-limitations of the one or more actuators, and sending the calculated at least one of vehicle unit-specific force-limitations and vehicle unit-specific moment-limitations to the master control allocator; calculating a vehicle unit-specific control input for the vehicle unit based on the vehicle unit-specific desired forces, by solving, subject to at least the received actuator-limitations of the one or more actuators, a vehicle unit-specific control allocation problem; and controlling the one or more actuators connected to the slave control allocator based on the calculated vehicle-specific control input.
38. The method of claim 37, wherein the actuator-limitations include limitations on at least one of torque and steering providable by the one or more actuators.
39. A distributed control allocation system for a vehicle combination including a plurality of vehicle units, each vehicle unit including one or more wheel units and one or more actuators configured to provide at least one of torque and steering for the one or more wheel units, the system comprising: a master control allocator; and a plurality of slave control allocators each communicatively connectable to the master control allocator and to the one or more actuators of a respective one of the vehicle units; wherein the master control allocator and plurality of slave control allocators comprise processing circuitry configured to cause the distributed control allocation system to perform the method of claim 30.
40. The system of claim 39, wherein the processing circuitry of each slave control allocator is further configured to: receive actuator-limitations of the one or more actuators connected to the slave control allocator; and calculate the at least one of vehicle unit-specific force-limitations and vehicle unit-specific moment-limitations for the vehicle unit based on the received actuator-limitations of the one or more actuators connected to the slave control allocator, and send the calculated at least one of vehicle unit-specific force-limitations and vehicle unit-specific moment-limitations to the master control allocator.
41. The system of claim 39, wherein the actuator-limitations include limitations on at least one of torque and steering providable by the one or more actuators.
42. A master control allocator for a distributed control allocation system for a vehicle combination including a plurality of vehicle units, each vehicle unit including one or more wheel units and one or more actuators configured to provide at least one of torque and steering for the one or more wheel units, the master control allocator being communicatively connectable to a plurality of slave control allocators of the distributed control allocation system, and comprising processing circuitry configured to cause the master control allocator to perform the method of claim 35.
43. A slave control allocator for a distributed control allocation system for a vehicle combination including a vehicle unit, the vehicle unit including one or more wheel units and one or more actuators configured to provide at least one of torque and steering for the one or more wheel units, the slave control allocator being communicatively connectable to a master control allocator of the distributed control allocation system and to the one or more actuators of the vehicle unit, and comprising second processing circuitry configured to cause the slave control allocator to perform the method of claim 37.
44. A vehicle combination, comprising: a plurality of coupled vehicle units, each vehicle unit including one or more wheel units and one or more actuators configured to provide at least one of torque and steering for the one or more wheel units; and the distributed control allocation system of claim 39, wherein the master control allocator is communicatively connected to each of the slave control allocators, and wherein each slave control allocator is associated with a respective vehicle unit and communicatively connected to the one or more actuators of the vehicle unit.
45. The vehicle combination of claim 44, wherein the one or more actuators of each vehicle unit include at least one of an electric machine, a service brake, and a steering servo arrangement.
46. A vehicle unit, comprising the master control allocator of claim 42.
47. A non-transitory computer-readable storage medium comprising instructions which, when executed by processing circuitry of the master control allocator, cause the processing circuitry to cause the master control allocator to perform the method of claim 35.
48. A non-transitory computer-readable storage medium comprising instructions which, when executed by processing circuitry of the slave control allocator, cause the processing circuitry to cause the slave control allocator to perform the method of claim 37.
49. A vehicle unit, comprising the slave control allocator of claim 42.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Exemplifying embodiments will now be described below with reference to the accompanying drawings, in which:
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053] 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
[0054] How control allocation is conventionally used to control the actuators of a multi-unit vehicle combination will now be described in more detail with reference to
[0055]
[0056] The vehicle combination 100 further includes a control allocator 220, which may be provided e.g. (as shown) as part of the truck 110-1. The control allocator 220 may e.g. be implemented as code running on a processing circuitry, or similar. The task of the control allocator 220, as will be described in more detail further below, is to calculate how various actuators (not shown) of the vehicle combination 100 are to be controlled in order to generate requested global forces of the vehicle combination 100 as a whole.
[0057] Examples of such actuators may e.g. be various electric machines and/or service brakes, or e.g. steering servo arrangements, distributed among the vehicle units 110-1 to 110-N in order to provide torque and/or steering of the wheel units (also not shown) of the vehicle units 110-1 to 110-N. As mentioned earlier herein, an electric machine can e.g. be an electric motor. It is also common to use electric motors which may also be operated as generators, in order for the electric motors to also, when required, generate braking force. Examples of requested global forces of the vehicle combination 100 as a whole may e.g. include a total longitudinal/axial force F.sub.xtot, a total lateral/radial force F.sub.ytot, and/or e.g. one or more yaw moments M.sub.ztot,1, M.sub.ztot,2, . . . , M.sub.ztot,N for the respective vehicle units 110-1 to 110-N.
[0058]
[0059] 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.xtot, F.sub.ytot and M.sub.ztot,i are the requested global forces and yaw moments as mentioned above, and where N is an integer indicating the total number of vehicle units in the vehicle combination 100.
[0060] The virtual control input v is provided to the control allocation unit (or control allocator) 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 respective actuators 112-1 to 112-N of the vehicle units 110-1 to 110-N 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 110-1 to 110-N (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 of a wheel (unit), the longitudinal force generated by such a wheel is proportional to a torque applied to the wheel (unit) divided by the radius. 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.
[0061] Generally, for N vehicle units, the true control input u provided from the control allocation unit 220 may be e.g.
where T.sub.n,m is a torque which is to be generated by the m:th actuator of the n:th vehicle unit, where .sub.n,k is a steering angle to be applied to the k:th steering-actuator of the n:th vehicle unit, and where M.sub.n is the number of torque-producing actuators of the n:th vehicle unit and K.sub.n is the number of steering-actuators of the n:th vehicle unit.
[0062] It should be noted that if the number of components of the true control input u exceeds the number of components of the virtual control input v, the vehicle combination 100 is over-actuated and the problem of controlling such a vehicle combination 100 is underdetermined as there then exists multiple possible solutions u which all satisfy the requirement stated by v.
[0063] As a response to such over-actuation and underdetermination, the control allocation task solved by the control allocation unit 220 can 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.
[0064] 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).
[0065] As mentioned in the introductory part of the present disclosure, a problem with the conventional solution (as generated by the control allocator 220) is that the control allocator 220 is specifically tailored to a particular vehicle combination, i.e. to a specific combination of vehicle units and actuators in each vehicle unit. As soon as e.g. a vehicle unit is connected or removed from the vehicle combination 100, and/or as soon as e.g. the exact configuration of actuators in one of the vehicle units 110-1 to 110-N changes, the control allocator 220 often has to be re-developed before control allocation can be performed for the new vehicle combination (configuration). This reduces the flexibility of the control allocator and the vehicle combination as a whole, as major reconfigurations have to be performed each time the vehicle combination changes. It may of course be such that the control allocator contains a set of prestored configurations for different, predefined vehicle combinations. This may help to at least partially alleviate the situation, but would still provide little use if e.g. a new, not previously assumed vehicle combination is created.
[0066] How the present disclosure solves the above issue will now be described in more detail with reference first to
[0067]
[0068]
[0069] As in the conventional method 200 described with reference to
[0070] Contrary to the conventional method 200, in the method 400, the combination-specific virtual control input v.sub.vc is provided to and received by (in a step S403) a combination control allocation unit (i.e. a master control allocator) 420. The master control allocator may be provided as part of the method 400, in e.g. a step S401. The master control allocator 420 performs control allocation (in a step S404) on a combination level, including making an attempt to solve a combination-specific control allocation problem in order to calculate unit-specific virtual control inputs v.sub.i (i[1,N]) for each vehicle unit 310-1 to 310-N, based on the received combination-specific virtual control input v.sub.vc.
[0071] This combination-specific control allocation may e.g. be defined as the weighted least-squares problem
where W.sub.u.sub.
[0072] If having N vehicle units in total, the combination-specific virtual control input v.sub.vc may for example be
and the capabilities of the various vehicle units may e.g. be
where u.sub.unit,n=[F.sub.x,n, F.sub.y,n, M.sub.z,n] and .sub.unit,n=[
[0073] The true control input vector u.sub.unit generated by solving the problem defined by equation (3) can e.g. be defined as
where u.sub.unit,n=[F.sub.x,n, F.sub.y,n, M.sub.z,n] is a unit-specific solution including the desired lateral and longitudinal forces, and the yaw moment, to be generated by/for the n:th vehicle unit.
[0074] After having solved the problem as defined in equation (3), the master control allocator thus obtains unit-specific solutions, i.e. u.sub.unit,i, for all vehicle units 310-1 to 310-N.
[0075] Also contrary to the method 200, in the method 400, the master control allocator 420 then provides/distributes (e.g. sends, as part of a step S405) the unit-specific solutions u.sub.unit,i as unit-specific virtual control inputs v.sub.i (e.g. such that v.sub.i=u.sub.unit,i) to a plurality of unit control allocation units (i.e. slave control allocators) 430-1 to 430-N, each associated with a particular vehicle unit 310-1 to 310-N. The slave control allocators may e.g. be provided as part of the method 400, in e.g. a step S402. The unit-specific virtual control inputs v.sub.i are provided to the respective slave control allocators 430-1 to 430-N such that i.e. each particular slave control allocator 430-i preferably receives only a particular unit-specific virtual control input v.sub.i specific only for the particular slave control allocator 430-i. Each slave control allocator 430-i thus receives virtual control input information pertinent only to itself and its associated vehicle unit 310-i, and is thus not concerned with any virtual control input information provided to any other slave control allocator.
[0076] After having received its unit-specific virtual control input v.sub.i (as part of the step S405), each slave control allocator 430-i then performs (in a step S406) control allocation on a unit level, in order to calculate a unit-specific true control input u.sub.i for its associated vehicle unit 430-i. This is achieved by the slave control allocator 430-i attempting to solve a unit-specific control allocation problem based on the received unit-specific virtual control input v.sub.i. This unit-specific control allocation problem can e.g. be defined as the weighed least squares problem
where W.sub.u.sub.
[0077] After having solved their own unit-specific control allocation problem as defined in equation (4), each slave control allocator 430-i can then obtain its own unit-specific true control input u.sub.i for its actuator(s), where this unit-specific true control input is e.g. defined as
where T.sub.i,j is the torque to be generated by the j:th torque-generating actuator of the i:th vehicle unit 310-i (where Mi is the total number of such torque-generating actuators of the i:th vehicle unit 310-i), and where .sub.i,k is the steering-angle to be generated by the k:th sterring-actuator of the i:th vehicle unit 310-I (wherein K.sub.i is the total number of such steering-actuators of the i:th vehicle unit 310-i). If a vehicle unit does not include any torque-generating actuators or steering-actuators, the corresponds torque and/or steering angle values in u.sub.i can then of course be omitted. As used herein, a torque-generating actuator means an actuator (such as an electric motor and/or a service brake) configured to apply torque on a wheel unit in order to use the wheel unit to either propel/accelerate or brake the vehicle. Likewise, a steering-actuator means an actuator (such as a steering servo arrangement or similar) which is configured to steer a wheel unit of the vehicle unit, where steer in this case means that the wheel unit has a steerable angle, and that the actuator is capable of changing this angle (e.g. by also applying torque to the wheel unit).
[0078] After having obtained their respective unit-specific true control input u.sub.i, the method 400 then includes each slave control allocator 430-i using the true control input u.sub.i to control the one or more actuators 312-i of the vehicle unit 310-i in accordance therewith (e.g. based on). As used herein, controlling may include e.g. sending a suitable control signal to the one or more actuators, or e.g. sending a signal instruction some other unit/device responsible for generating such control signals for the one or more actuators. For example, a driving/control circuit for a particular actuator may e.g. form part of the slave control allocator associated with the vehicle unit in which the particular actuator is included, or e.g. be provided as a separate part communicatively connected to the slave control allocator.
[0079] It should be noted that
[0080] Generally herein, that one entity is communicatively coupled or communicatively connected to another entity means that the two entities are thus able to exchange information, e.g. by sending one or more signals between them. The sending of the signals can e.g. be performed using one or more wires/cables suitable therefore, or e.g., in addition or instead, by using one or more suitable wireless interfaces and communication techniques. The exact protocol used for such signaling between entities is not important, as long as the information needed for the entities to operate as intended may be exchanged in some way between them. It should be noted that the connection does not need to be direct, but may also be indirect. For example, a master control allocator as envisaged herein may be connected to a first slave control allocator of a first vehicle unit, and the first slave control allocator may in turn be connected to a second slave control allocator, and so on, such that signals from a distance slave control allocator passes through one or more other slave control allocators before reaching the master control allocator, and vice versa, in a daisy-chain fashion. In other embodiments, the master control allocator may be connected directly to each slave control allocator in a star-topology fashion. In yet other embodiments, all master and slave control allocators may be connected to a same communication bus, such that each entity may communicate with all other entities on the communication bus. As mentioned before, the connections between the master and slave control allocators may be wired, wireless, or include combinations of both wired and wireless technologies.
[0081] Additionally, the actuators 312-i of a particular vehicle unit 310-i can be capable of estimating their own limitations, e.g. how much and/or how fast the actuators can e.g. move at a current time instance. The capabilities/limitations of the actuators can e.g. change depending on how the vehicle combination or vehicle unit is currently loaded, on a current road surface, on friction and/or temperature conditions of e.g. the wheel units used to transfer the forces/moments of the actuators on to the ground on which the vehicle combination/unit is currently travelling, etc. The actuators may update and send their limitations/capabilities in real time, such that the respective slave control allocators 430-i has real-time information about the capabilities/limitations of its associated actuators 310-i.
[0082] A slave control allocator 430-i as envisaged herein can thus receive the actuator-limitations .sub.i=[u.sub.i, .sub.i] of its associated actuators, e.g. from the actuators themselves, where for example
are the lower and upper limitations of the actuators 312-i of the i:th vehicle unit 310-i, respectively, where T.sub.i,j and
[0083] As shown in
[0084]
[0085]
[0086] In
[0087] A particular example of how the envisaged way of distributed control allocation may be performed in a more specific, exemplary vehicle combination will now be described in more detail with reference to
[0088]
[0089] Performing control allocation for the vehicle combination 500 includes the master control allocator 420 determining the unit-specific forces u.sub.unit=[u.sub.unit,1, u.sub.unit,2], where
that would match a requested global, combination-specific virtual control input
where the respective yaw moments M.sub.ztot,i are the total yaw moments around the center-of-gravities 512-i of the respective vehicle units 510-i. The master control allocator 420 may receive first unit-specific force- and/or moment-limitations .sub.unit,1=[u.sub.unit,1, .sub.unit,1] from a first slave control allocator 430-1 associated with the first vehicle unit 510-1, and second such unit-specific limitations .sub.unit,2=[u.sub.unit,2, .sub.unit,2] from a second slave control allocator 430-2 associated with the second vehicle unit 510-2, such that u.sub.unit=[u.sub.unit,1, u.sub.unit,2] and .sub.unit=[.sub.unit,1, .sub.unit,2].
[0090] The master control allocator 420 may distribute the virtual control input forces on a combination level to each vehicle unit, e.g. as v.sub.vc=B.sub.vcu.sub.unit, where
and where it is for example seen how the requested yaw-moments M.sub.ztot,i relates to the yaw-moments M.sub.z,i.
[0091] From the above definition of B.sub.vc, the master control allocator 420 may solve the combination-specific control allocation problem defined in equation (3), in order to find u.sub.unit=[u.sub.unit,1, u.sub.unit,2], and may then distribute (i.e. send) the solutions u.sub.unit,i as unit-specific virtual control inputs v.sub.i=.sub.unit,i to the respective slave control allocators 430-i, i.e. such that the first slave control allocator 430-1 receives v.sub.1 and the second slave control allocator 430-2 receives v.sub.2.
[0092] It should be noted that the master control allocator 420 does not assume anything about the internal configuration of each vehicle unit 310-i, i.e. about the exact configuration of actuators 312-i in each vehicle unit 310-i or similar. Instead, the master control allocator 420 only uses the unit-specific force- and/or moment-limitations .sub.unit,i for the respective vehicle units, as received from the respective slave control allocators. As mentioned herein, this is what makes the master control allocator 420 more general than conventional control allocators (such as the control allocator 220 of the conventional method 200 described with reference to
[0093] After having received the unit-specific virtual control inputs v.sub.i from the master control allocator 420, the slave control allocators 430-1 and 430-2 are then responsible for finding their own, unit-specific true control outputs u.sub.1 and u.sub.2, respectively.
[0094]
[0095] Based on the above, the task of the first slave control allocator 430-1 associated with the first vehicle unit 510-1 is thus to find, based on the unit-specific virtual control input
received from the master control allocator 420, the unit-specific true control output
where T.sub.1,j is the torque to be applied to the j:th wheel unit 551-j, and where it has been further assumed that the two steering angles .sub.1,1 and .sub.1,2 of the left and right wheel units 551-1 and 551-2 are the same (i.e., the two wheel units 551-1 and 551-2 are not independently steerable, and instead controlled by a single steering-actuator such that K.sub.1=1), and equal to .sub.1 (thus reducing the number of elements in u.sub.1 from eight to seven).
[0096] In order to find the efficiency matrix B.sub.i for a vehicle unit 510-i, the tire forces for the wheel units of the vehicle unit as function of applied torque must first be defined. In the coordinate frames of the respective wheel units, the j:th wheel unit of the i:th vehicle unit 510-I generates longitudinal and lateral tire forces F.sub.x,i,j and F.sub.y,i,j, respectively, defined in their own wheel unit-fixed coordinate systems as shown in
where C.sub.x,i,j and C.sub.,i,j is the longitudinal and cornering tire stiffness, respectively, of the j:th wheel unit of the i:th vehicle unit. If, for example, further assuming negligible rolling resistance and disregarding an inertia of a wheel unit, the generated longitudinal tire force F.sub.x,i,j can be further simplified as
where F.sub.x,i,j, T.sub.i,j and R.sub.i,j are the longitudinal tire force of, the torque applied to, and the effective rolling radius, respectively, of the j:th wheel unit of the i:th vehicle unit, and where the torque is the combined engine and braking torque applied to the wheel unit.
[0097] In order to translate the tire forces for each steerable wheel unit from its own, unit-fixed coordinate frames to the coordinate frame of the vehicle unit, the forces may be rotated by using the rotation matrix
If, however, assuming that the steering angles .sub.i,j are sufficiently small, the rotation matrix R(.sub.i,j1) simplifies into a unit matrix, and it can thus be assumed that the wheel unit-fixed coordinate systems for steerable wheel units thus aligns with the coordinate system of the vehicle unit itself (i.e. the coordinate system of the unit-specific forces F.sub.x,1, F.sub.y,2 and yaw-moment M.sub.z,1 as shown in
[0098] The first slave control allocator 430-1 is now faced with the task of finding the true control input u.sub.i for its actuators based on v.sub.1=B.sub.1u.sub.1. Using the assumptions made in equations (5a) and (5b), the efficiency matrix B.sub.1 for the first vehicle unit 510-1 can be formulated such that
where it has been assumed that the cornering stiffness of all wheel units of the first vehicle unit 510-1 are equal, such that C.sub.,1,j=C.sub.,1.
[0099] Based on the above definition of e.g. B.sub.1, the first slave control allocator 430-1 may then proceed by solving its unit-specific control allocation problem as defined in equation (4), find the true control input u.sub.1, and then control the actuators 312-1 based on torques and steering angles provided by u.sub.1. It should be noted that the slave control unit 430-1 is only concerned with finding the correct true control input u.sub.1 for its own actuators, and does not need to worry about how the other vehicle units and their associated slave control allocators perform. All information the slave control allocator 430-1 needs is provided in the unit-specific virtual control input v.sub.1 it receives from the master control allocator 420.
[0100]
[0101] If further assuming that the steerable wheel units 552-1 to 552-6 are steered such that their steering angles .sub.2,j are always equal, i.e. .sub.2,j=.sub.2, it may be assumed that there is only a single steering-actuator involved, such that K.sub.2=1.
[0102] The unit-specific control allocation problem that needs to be solved by the second slave control allocator 430-2 is thus to, based on the unit-specific virtual control input
provided from the master control allocator 420, find
where T.sub.2,j is the torque to be applied to the j:th wheel unit 552-j of the second vehicle unit 510-1.
[0103] The longitudinal and lateral tire forces of the wheel units 552-1 to 552-6 are, in their respective wheel unit-fixed coordinate frames as shown in
where it has been assumed that the cornering stiffness of all wheel units of the second vehicle unit 510-2 are also equal, such that C.sub.,2,j=C.sub.,2.
[0104] Based on the above definition of e.g. B.sub.2, the second slave control allocator 430-2 may then proceed by solving its unit-specific control allocation problem as defined in equation (4), find the true control input u.sub.2, and then control the actuators 312-2 based on torques and steering angles provided by u.sub.2. It should be noted that just as for the first slave control allocator 430-1, the second slave control allocator 430-2 is not either concerned with the operations of any of the other slave control allocators and vehicle units, and receives all information from the master control allocator 420 via the unit-specific virtual control input v.sub.2.
[0105] For example, it may be assumed that the first vehicle unit in a vehicle combination is e.g. the towing unit (such as a tractor or truck), and that the remaining vehicle units are all connected to this first vehicle unit in series. It can further be assumed that the i:th vehicle unit in such a vehicle combination forms an articulation angle .sub.i with the next (i+1):th vehicle unit in the vehicle combination (except, of course, for the last, N:th, vehicle unit which is not towing any other vehicle unit). Under these assumptions, the desired relation between u.sub.vc and u.sub.unit can be written as
where B.sub.i,j are functions coupling the i:th and j:th vehicle units together, and may be based on how the coupling points in the respective vehicle units are arranged, and similar.
[0106] As an example, for the two-unit example described earlier herein, the coupling functions are provided as
where I is a 33 unit-matrix, B.sub.2,1() is a 33 matrix, and B.sub.2,2 is a 13 matrix/array.
[0107] With reference to
[0108] It should further be noticed that for example the efficiency matrix B.sub.i for each vehicle unit is easily adjustable to other wheel unit and actuator configurations, following the same principles and reasonings as have been applied above when discussing the particular example shown in
[0109] Likewise, for an arbitrary number of N vehicle units, the problem to be solved by the master control allocator 420 is easily adjusted to account for the exact amount of vehicle units and slave control allocators involved, and still without concern for the exact configuration of wheel units and actuators in each vehicle unit.
[0110]
[0111] Particularly, the processing circuitry 610 is configured to cause the master control allocator 420 to perform a set of operations, or steps, such as one or more of steps S403-S405 (and optionally also step S408)) as disclosed above e.g. when describing the methods 400 and/or 401 illustrated in
[0112] The storage medium 620 may also include persistent storage, which, for example, can be any single or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The storage medium 620 may thus provide non-transitory storage, storing computer-readable instructions for the processing circuitry 610.
[0113] The master control allocator 420 may further include a communications interface 630 for communications with other entities and objects, in order to communicate with one or more slave control allocators as also envisaged herein, and/or e.g. to receive the signal 412 from the virtual control unit 410. The interface 630 may also be used to receive other information about the vehicle combination 300. The communication interface 630 may include one or more transmitters and receivers, including analogue and/or digital components, and may utilize e.g. one or more wired and/or wireless connections for this purpose.
[0114] The processing circuitry 610 controls the general operation of the master control allocator 420 e.g. by sending data and control signals to the communications interface 630 and the storage medium 620, by receiving data and reports from the communications interface 630, and by retrieving data and instructions from the storage medium 620. The master control allocator 420 may of course optionally also include other components, here illustrated by the dashed box 640. A communication bus 650 is also provided and connects the various modules/units 610, 620, 630, and 640 (if included), such that they may communicate with each other to exchange information.
[0115]
[0116] In general terms, each functional module (such as modules 601-604) may be implemented in hardware or in software. Preferably, one or more or all functional modules may be implemented by the processing circuitry 610, possibly in cooperation with the communications interface 630 and/or the storage medium 620. The processing circuitry 610 may thus be arranged to from the storage medium 620 fetch instructions as provided by a functional module (e.g. 601-604), and to execute these instructions and thereby perform any steps of the method 400 (and/or the method 401), or any other method envisaged herein, performed by the master control allocator 420 as disclosed herein.
[0117]
[0118]
[0119] The present disclosure also envisages to provide a distributed control allocation system, such as e.g. the system 490 illustrated and described with reference to
[0120] The present disclosure also envisages to provide a vehicle combination, such as for example the vehicle combination 300 described earlier herein with reference to
[0121] The present disclosure also envisages to provide a vehicle unit, such as e.g. the vehicle unit 310-i of the vehicle combination 300. Such a vehicle unit may include at least one of a master control allocator and a slave control allocator, such as e.g. the master control allocator 420 and/or the slave control allocator 430-i described with reference to e.g.
[0122] The present disclosure also envisages to provide computer programs (not shown) for a master control allocator and computer programs for a slave allocator, as envisaged herein. The computer programs includes computer code that, when running on a processing circuitry of e.g. the master control allocator or the slave control allocator (such as e.g. the processing circuitry 610 of the master control allocator 420 described with reference to
[0123] The present disclosure also envisages to computer program products (not shown) in which the one or both of the above envisaged computer programs are stored or distributed on a data carrier. For example, a computer program may include the computer program for the master control allocator, the computer program for the slave control allocator, or even the computer programs for both the master control allocator and the slave control allocator. 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.
[0124] 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. For all methods disclosed herein and described herein, the order of these steps may not necessarily be as illustrated in the corresponding Figures. To the contrary, if not explicitly stated otherwise, the order of the steps of any method disclosed herein may be changed while still maintaining the intended functionality of the method.
[0125] 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.
[0126] In summary of the present disclosure, it is provided an improved way of performing control allocation in a multi-unit vehicle combination, wherein a distributed control allocation system uses a master control allocator for control allocation on a vehicle combination level, and one or more slave control allocators for control allocation on vehicle unit level. As each slave control allocator is responsible only for controlling its own associated actuators and vehicle unit, the slave control allocators may operate independently of each other. Likewise, the master control allocator can be constructed in a more generic way and does not need to take into account the exact configuration of each connected vehicle unit. Instead, the master control allocator only needs to consider how many vehicle units and slave control allocators that are currently connected, and may receive e.g. unit-specific force- and/or moment-limitations for each vehicle unit in order to adaptively thereto solve its combination-specific control allocation problem and distribute the solutions to each respective slave control allocator and vehicle unit. This makes the master control allocator more versatile, as it does not need to be re-developed each time the configuration of the vehicle combination changes, or each time a configuration of a vehicle unit changes.