Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF CONTROL ALLOCATION FOR MULTI-UNIT VEHICLE COMBINATIONS
Document Type and Number:
WIPO Patent Application WO/2023/237221
Kind Code:
A1
Abstract:
A computer-implemented method (400) for controlling a vehicle combination (100) comprising a tractor unit and at least one trailing unit is disclosed. The method comprises: determining (406) a power allocation input for the vehicle combination based on a reference input for the vehicle combination and a power capability of one or more units (110) of the vehicle combination; determining (410) a virtual control input for the vehicle combination based on the reference input; and determining (412, 414, 416) a control input for the vehicle combination based on the power allocation input and the virtual control input. A corresponding computer program product, control system, non-transitory computer-readable storage medium, computer system and vehicle are also disclosed.

Inventors:
SADEGHI KATI MALIHEH (SE)
GELSO ESTEBAN (SE)
LAINE LEO (SE)
Application Number:
PCT/EP2022/082338
Publication Date:
December 14, 2023
Filing Date:
November 17, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VOLVO TRUCK CORP (SE)
International Classes:
B60W10/26; B60L15/38; B60W30/02; B60W30/188
Domestic Patent References:
WO2022106005A12022-05-27
Foreign References:
US20220097786A12022-03-31
US20180304944A12018-10-25
EP2022082326W2022-11-17
EP2022082327W2022-11-17
EP2022065415W2022-06-07
Other References:
TAGESSON K ET AL: "Real-time performance of control allocation for actuator coordination in heavy vehicles", INTELLIGENT VEHICLES SYMPOSIUM, 2009 IEEE, IEEE, PISCATAWAY, NJ, USA, 3 June 2009 (2009-06-03), pages 685 - 690, XP031489922, ISBN: 978-1-4244-3503-6
Attorney, Agent or Firm:
STRÖM & GULLIKSSON AB (SE)
Download PDF:
Claims:
CLAIMS

1. A computer-implemented method (400) for controlling a vehicle combination (100) comprising a tractor unit and at least one trailing unit, the method comprising: determining (406) a power allocation input, Uumts.des, for the vehicle combination based on a reference input, rrey, for the vehicle combination and a power capability of one or more units (110) of the vehicle combination; determining (410) a virtual control input, v comb, req, for the vehicle combination based on the reference input; and determining (412, 414, 416) a control input, limits,, limits, t, in, for the vehicle combination based on the power allocation input and the virtual control input.

2. The computer-implemented method (400) of claim 1, wherein the virtual combination control input, vComb,req, comprises a set of desired motion parameters determined based the reference input, rre/,.

3. The computer-implemented method (400) of claim 2, wherein the set of desired motion parameters of the virtual combination control input, vComb,req, comprises at least one of a longitudinal force, FXM, of the vehicle combination (100), a lateral force, Fytot, of the vehicle combination, a longitudinal coupling force, FCXi, between consecutive units (110), a lateral coupling force, Fcyt, between consecutive units, and a yaw moment for one or more units, Mzi.

4. The computer-implemented method (400) of any preceding claim, comprising determining (410) the virtual control input, vComb,req, for the vehicle combination (100) based on a motion capability, vComb,cap, of the vehicle combination.

5. The computer-implemented method (400) of any preceding claim, comprising determining (410) the virtual control input, vComb,req, for the vehicle combination (100) based on a vehicle model configured to model instabilities in vehicle motion.

6. The computer-implemented method (400) of any preceding claim, wherein the reference input, rref, comprises at least one of a longitudinal acceleration, a longitudinal velocity, vXi, of the tractor unit, a lateral velocity, vyt, of the tractor unit, a yaw rate, am, of at least one unit (110) of the vehicle combination (100), and a steering angle, req, of the tractor unit. The computer-implemented method (400) of any preceding claim, wherein the power capability of a unit (110) is determined based on at least one of a state of charge, a state of health, a state of power, and a state of energy of a battery of the unit. The computer-implemented method (400) of any preceding claim, wherein the power allocation input, Uumts.des, comprises a set of desired motion parameters determined based on a power allocation for one or more units (110). The computer-implemented method (400) of claim 8, wherein the set of desired motion parameters of the power allocation input, Uumts.des, comprises at least one of a desired electric machine force, Fx,eu,de , for one or more units and a desired electric service brake, Fx, sb,. des, force for one or more units (110). The computer-implemented method (400) of claim 8 or 9, comprising determining (406) the power allocation for a unit (110) based on a power demand and at least one of a power loss associated with service brakes (150) of the unit, a power loss associated with a battery (120) of the unit, and a power loss associated with an electrical machine (120) of the unit. The computer-implemented method (400) of claim 10, comprising determining (406) the power allocation for one or more units (110) using an optimisation function to minimise the total power losses of the vehicle combination (100). The computer-implemented method (400) of any preceding claim, comprising determining (412, 414, 416) a control input, Uumt .i, Uumts.i, Ui, for the vehicle combination (100) by: determining (412) a true combination control input, Uurntst, based on the power allocation input, Uumts.des, and the virtual combination control input, Vcomb.req, and determining (414) a unit-specific virtual control input, Uumts.i, based on the true combination control input.

13. The computer-implemented method (400) of claim 12, comprising determining (412) the true combination control input, Uumts, by solving a weighted least squares optimization problem.

14. The computer-implemented method (400) of claim 12 or 13, comprising determining (416) a unit-specific true control input, for a respective unit (110) of the vehicle combination (100) based on the unit-specific virtual control input, Uumts, t.

15. The computer-implemented method (400) of claim 14, comprising determining (416) the unit-specific true control input, by solving a weighted least squares optimization problem.

16. A computer program product comprising program code for performing, when executed by a processor device, the computer-implemented method (400) of any of claims 1 to 15.

17. A control system comprising one or more control units configured to perform the computer-implemented method (400) of any of claims 1 to 15.

18. A non-transitory computer-readable storage medium comprising instructions, which when executed by the processor device, cause a processor device to perform the computer-implemented method (400) of any of claims 1 to 15.

19. A computer system comprising a processor device configured to perform the computer- implemented method (400) of any of claims 1 to 15. 0. A vehicle comprising the processor device to perform the computer-implemented method (400) of any of claims 1 to 15.

Description:
METHOD OF CONTROL ALLOCATION FOR MULTI-UNIT VEHICLE COMBINATIONS

TECHNICAL FIELD

[0001] The disclosure relates generally to control allocation for a vehicle combination. In particular aspects, the disclosure relates to a system and method for determining a control input for one or more units of a vehicle combination having multiple units. The disclosure can be applied in heavy-duty vehicles, such as trucks, buses, and construction equipment. In particular, the disclosure can be applied in multi-unit vehicle combinations with distributed propulsion and energy storage. Although the disclosure may be described with respect to a particular vehicle, the disclosure is not restricted to any particular vehicle.

BACKGROUND

[0002] In traditional vehicle combinations, for example semi-trailers, a tractor unit may provide propulsion for the entire combination, while trailer units are towed behind. Traditional vehicle combinations may employ internal combustion engines in a tractor unit to provide propulsion. In battery electric vehicle combinations, batteries may be installed in the tractor unit to power electric motors and provide propulsion. If batteries are also installed in the trailer of a vehicle combination, electrical motors may also be installed so that the trailer can be used as a propulsive complement to the combination. This allows for the possibility of using an electric trailer on both tractors with internal combustion engines and on battery electric vehicle tractors. Furthermore, conventional heavy vehicle trailers are normally installed with pneumatic brakes to make the vehicle stop safely and in time. An electric trailer could also be used to recharge the batteries through regenerative braking, thus preventing wasting energy through the mechanical braking system.

[0003] As vehicle combinations become more and more complex, the increasing number of controllable degrees of freedom makes it challenging to control the vehicle combination as a whole. In particular, as the number of controllable degrees of freedom starts to exceed the number of desired forces and moments of the vehicle combination as a whole, the vehicle combination becomes over-actuated, and the problem of control becomes underdetermined. As a result, there can be multiple possible solutions for how to control the various actuators such that they together generate the desired overall forces and moments.

[0004] So-called control allocation is often used to address this problem, wherein a control allocator receives desired forces and moments for the vehicle combination as a whole (a so- called virtual control input), and attempts to solve an optimization problem in order to find an optimal solution for how the actuators should be controlled (a so-called true control input).

[0005] Conventional control allocators are often responsible for directly controlling the actuators in all vehicle units, and are often tailored specifically to a particular configuration of the vehicle combination due to the complexity of the problem they are supposed to solve. Solutions that approach the problem on a unit level do not take into account global factors for the vehicle combination.

[0006] It is therefore desired to develop a solution for control allocation for vehicle combinations that addresses or at least mitigates some of these issues.

SUMMARY

[0007] This disclosure attempts to solve the problems noted above by providing methods and systems for controlling multi-unit vehicle combinations with distributed propulsion and energy storage. In particular, a system is implemented which takes into account power management and generation of target motion parameters to determine a control allocation for individual units of the vehicle combination.

[0008] The disclosed methods and systems provide control allocation for vehicle combinations that is adaptable to different configurations of the vehicle combination. By taking a global approach to the vehicle combination, rather than, approaching the problem on a unit level, the control allocation can take into account global factors for the vehicle combination such as power allocation.

[0009] According to an aspect of the disclosure, there is provided a system for controlling a vehicle combination comprising a tractor unit and at least one trailing unit, the system comprising a target generator configured to determine a virtual control input for the vehicle combination based on a reference input for the vehicle combination, a power manager configured to determine a power allocation input for the vehicle combination based on the reference input and a power capability of one or more units of the vehicle combination, and a combination control allocator configured determine a control input for the vehicle combination based on the power allocation input and the virtual control input.

[0010] Optionally, the virtual combination control input comprises a set of desired motion parameters determined based the reference input. Optionally, the set of desired motion parameters of the virtual combination control input comprises at least one of a longitudinal force of the vehicle combination, a lateral force of the vehicle combination, a longitudinal coupling force between consecutive units, a lateral coupling force between consecutive units, and a yaw moment for one or more units.

[0011] Optionally, the target generator is configured to determine the virtual control input for the vehicle combination based on a motion capability of the vehicle combination.

[0012] Optionally, the target generator is configured to determine the virtual control input for the vehicle combination based on a vehicle model configured to model instabilities in vehicle motion.

[0013] Optionally, the reference input comprises at least one of a longitudinal acceleration, a longitudinal velocity of the tractor unit, a lateral velocity of the tractor unit, a yaw rate of at least one unit of the vehicle combination, and a steering angle of the tractor unit.

[0014] Optionally, the power capability of a unit is determined based on at least one of a state of charge, a state of health, a state of power, and a state of energy of a battery of the unit. [0015] Optionally, the power allocation input comprises a set of desired motion parameters determined based on a power allocation for one or more units. Optionally, the set of desired motion parameters of the power allocation input comprises at least one of a desired electric machine force for one or more units and a desired electric service brake force for one or more units. Optionally, the power allocation for a unit is determined based on a power demand and at least one of a power loss associated with service brakes of the unit, a power loss associated with a battery of the unit, and a power loss associated with an electrical machine of the unit. Optionally, the power allocation for one or more unit is determined using an optimisation function to minimise the total power losses of the vehicle combination.

[0016] Optionally, the combination control allocator is configured determine a control input for the vehicle combination by determining a true combination control input based on the power allocation input and the virtual combination control input, and determine a unit-specific virtual control input based on the true combination control input. Optionally, the combination control allocator is configured determine the true combination control input by solving a weighted least squares optimization problem. Optionally, the system further comprises a plurality of unit control allocators, wherein each unit control allocator is configured to determine a unit-specific true control input for a respective unit of the vehicle combination based on the respective unit-specific virtual control input. Optionally, each unit control allocator is configured to determine the unit-specific true control input by solving a weighted least squares optimization problem.

[0017] According to another aspect of the disclosure, there is provided a computer- implemented method for controlling a vehicle combination comprising a tractor unit and at least one trailing unit, the method comprising determining a power allocation input for the vehicle combination based on a reference input for the vehicle combination and a power capability of one or more units of the vehicle combination, determining a virtual control input for the vehicle combination based on the reference input, and determining a control input for the vehicle combination based on the power allocation input and the virtual control input.

[0018] Optionally, the virtual combination control input comprises a set of desired motion parameters determined based the reference input. Optionally, the set of desired motion parameters of the virtual combination control input comprises at least one of a longitudinal force of the vehicle combination, a lateral force of the vehicle combination, a longitudinal coupling force between consecutive units, a lateral coupling force between consecutive units, and a yaw moment for one or more units.

[0019] Optionally, the method comprises determining the virtual control input for the vehicle combination based on a motion capability of the vehicle combination.

[0020] Optionally, the method comprises determining the virtual control input for the vehicle combination based on a vehicle model configured to model instabilities in vehicle motion.

[0021] Optionally, the reference input comprises at least one of a longitudinal acceleration, a longitudinal velocity of the tractor unit, a lateral velocity of the tractor unit, a yaw rate of at least one unit of the vehicle combination, and a steering angle of the tractor unit.

[0022] Optionally, the power capability of a unit is determined based on at least one of a state of charge, a state of health, a state of power, and a state of energy of a battery of the unit. [0023] Optionally, the power allocation input comprises a set of desired motion parameters determined based on a power allocation for one or more units. Optionally, the set of desired motion parameters of the power allocation input comprises at least one of a desired electric machine force for one or more units and a desired electric service brake force for one or more units. Optionally, method comprises determining the power allocation for a unit based on a power demand and at least one of a power loss associated with service brakes of the unit, a power loss associated with a battery of the unit, and a power loss associated with an electrical machine of the unit. Optionally, method comprises determining the power allocation for one or more units using an optimisation function to minimise the total power losses of the vehicle combination.

[0024] Optionally, method comprises determining a control input for the vehicle combination by determining a true combination control input based on the power allocation input and the virtual combination control input, and determining a unit-specific virtual control input on the true combination control input. Optionally, method comprises determining the true combination control input by solving a weighted least squares optimization problem. Optionally, method comprises determining a unit-specific true control input for a respective unit of the vehicle combination based on the unit-specific virtual control input. Optionally, method comprises determining the unit-specific true control input by solving a weighted least squares optimization problem.

[0025] According to another aspect of the disclosure, there is provided a computer program product comprising program code for performing, when executed by a processor device, the computer-implemented method.

[0026] According to another aspect of the disclosure, there is provided a control system comprising one or more control units configured to perform the computer-implemented method.

[0027] According to another aspect of the disclosure, there is provided a non-transitory computer-readable storage medium comprising instructions, which when executed by the processor device, cause a processor device to perform the computer-implemented method.

[0028] According to another aspect of the disclosure, there is provided a computer system comprising a processor device configured to perform the computer-implemented method.

[0029] According to another aspect of the disclosure, there is provided a vehicle comprising the processor device to perform the computer-implemented method.

[0030] The above aspects, accompanying claims, and/or examples disclosed herein above and later below may be suitably combined with each other as would be apparent to anyone of ordinary skill in the art.

[0031] Additional features and advantages are disclosed in the following description, claims, and drawings, and in part will be readily apparent therefrom to those skilled in the art or recognized by practicing the disclosure as described herein. There are also disclosed herein control units, computer readable media, and computer program products associated with the above-discussed technical benefits.

BRIEF DESCRIPTION OF THE DRAWINGS

[0032] With reference to the appended drawings, below follows a more detailed description of aspects of the disclosure cited as examples.

[0033] FIG. 1 A shows a first example vehicle combination.

[0034] FIG. IB shows a second example vehicle combination. [0035] FIG. 2 schematically shows, in terms of functional blocks, an example control system for a vehicle combination.

[0036] FIG. 3 schematically shows an example vehicle combination including multiple vehicle units in accordance with the present disclosure

[0037] FIG. 4A is a flowchart of an example method for controlling a vehicle combination. [0038] FIG. 4B is a flowchart of another example method for controlling a vehicle combination.

[0039] FIG. 5 schematically shows an example power flow model for a vehicle combination.

[0040] FIG. 6 is a schematic diagram of an exemplary computer system for implementing examples disclosed herein, according to one example.

[0041] FIG. 7 is a schematic drawing of a computer readable medium according to one example.

[0042] FIG. 8 is a schematic block diagram of a control unit according to one example. [0043] Like reference numerals refer to like elements throughout the description.

DETAILED DESCRIPTION

[0044] Aspects set forth below represent the necessary information to enable those skilled in the art to practice the disclosure.

[0045] In vehicle combinations having a plurality of units, for example a tractor unit and one or more trailer units, motion support devices such as electric motors and service brakes may be distributed across the various units in order to provide local propulsion to each unit. However, control systems for such vehicle combinations are often tailored to a particular configuration of the vehicle combination, and tend to approach the problem on a unit level. As such, these control systems are not adaptable and do not take into account global factors for the vehicle combination.

[0046] To remedy this, methods and systems are proposed for controlling multi-unit vehicle combinations with distributed propulsion and energy storage. A reference input is used to determine a desired power allocation and a virtual control input for the vehicle combination. These are then converted into a control input for each unit.

[0047] FIG. 1A schematically shows an example vehicle combination 100 of the type considered in this disclosure. The vehicle combination 100 comprises a number of units 110, including a tractor unit and at least one trailing unit. Only one trailing unit is shown, but it will be appreciated that the vehicle combination 100 may comprise further trailing units connected to each other. This gives rise to different types and designations of vehicle combinations.

[0048] A tractor unit, such as the tractor unit 110-1, is generally the foremost unit in a vehicle combination, and may comprise the cabin for the driver, including steering controls, dashboard displays and the like. Generally, the tractor unit 110-1 is used to provide propulsion power for the vehicle combination 100. A trailing unit, such as the trailing unit 110-2, is generally used to store goods that are being transported by the vehicle combination 100. A trailing unit may be a truck, trailer, dolly and the like. A trailing unit may also provide propulsion to the vehicle combination 100. A trailing unit without a front axle, such as the trailing unit 110-2, is known as a semi-trailer. In vehicle combinations such as that shown in FIG. 1A, vehicle motion management is available on a unit level to receive requests from a manual or virtual driver to coordinate the propulsion, braking and steering.

[0049] Each unit 110 may comprise one or more batteries 120 configured to provide power to one or more electrical machines 130 (not shown) such as electric motors. The electrical machines 130 are configured to drive, e.g. provide torque and/or steering to, one or more axles or individual wheels 140 of the unit 110. In some examples, electric motors may also be operated as generators, in order for the electric motors to generate braking force when required. Furthermore, each unit 110 may comprise one or more sets of service brakes 150. As shown in FIG. 1 A, the tractor unit 110-1 has one or more batteries 120-1, wheels 140-1, and one or more sets of service brakes 150-1. The trailing unit 110-2 has one or more batteries 120-2, wheels 140-2, and one or more sets of service brakes 150-2.

[0050] Whilst three tractor axles and three trailer axles are shown, it will be appreciated that any suitable number of axles may be provide on the respective units 110. It will also be appreciated that any number of the tractor axles and/or trailer axles may be driven axles, including zero (i.e. one of the units may include at least one driven axle while the other does not).

[0051] FIG. IB schematically shows another example vehicle combination 100 of the type considered in this disclosure. Similarly to the vehicle combination 100 of FIG. 1 A, the vehicle combination 100 of FIG. IB comprises a number of units 110, including a tractor unit and at least one trailing unit. Each unit 110 may be given an index z, and the total number of units in a vehicle combination is designated n.

[0052] The tractor unit 110-1 is generally the same as the tractor unit 110-1 of FIG. 1 A. In this example, however, the tractor unit 110-1 may also be used to store goods that are being transported by the vehicle combination 100. The trailing units may be a truck, trailer, dolly and the like. All units 110 may provide propulsion to the vehicle combination 100.

[0053] Each unit 110 may comprise one or more batteries 120 configured to provide power to one or more electrical machines 130 (not shown) such as electric motors. Each unit 110 may comprise one or more sets of service brakes 150. As shown in FIG. IB, the tractor unit 110-1 has one or more batteries 120-1, wheels 140-1, and one or more sets of service brakes 150-1. The unit 110-i has one or more batteries 120-i, wheels 140-i, and one or more sets of service brakes 150-i. The unit 110-n has one or more batteries 120-n, wheels 140-n, and one or more sets of service brakes 150-n. Whilst three tractor axles and two trailer axles are shown, it will be appreciated that any suitable number of axles may be provide on the respective units 110. It will also be appreciated that any number of the tractor axles and/or trailer axles may be driven axles, including zero (i.e. one of the units may include at least one driven axle while the other does not).

[0054] FIG. 2 schematically shows, in terms of functional blocks, an example control system 200 for a vehicle combination (e.g., any of the vehicle combinations 100 of Figures 1 A and IB). The control system 200 serves to perform various functions of the vehicle combination 100, such as power management and motion coordination. The control system 200 comprises a target generator 202, a tactical layer 204, a state estimator 206, a power manager 208, a combination control allocator 210 and a plurality of unit control allocators 212. The various modules may e.g. be implemented as code running on a processing circuitry, or similar. The various modules may be communicatively connected or connectable to each other, for example as known in the art.

[0055] The purpose of the target generator 202 is to determine a desired reference input r req and a virtual control input Vcomb.req for the vehicle combination 100. The desired reference input r re q is determined based on an input related to a manoeuvre for the vehicle combination 100. The virtual combination control input Vcomb.req is determined based on the desired reference input rreq and a motion capability Vcomb.cap for the vehicle combination 100. The target generator 202 comprises a path planner/controller 214 and a force generator 216.

[0056] The target generator 202 may receive an input related to a manoeuvre for the vehicle combination 100. The manoeuvre may be, for example, straight-line driving, cornering, braking and the like. The target generator 202 may receive a signal from, for example, a steering wheel and/or gas/brake pedal of the combination unit 100, indicating that the driver (or some other system of the vehicle combination 100) wants to change the direction and/or the speed of the vehicle combination in a certain way. In some examples, the signal may originate from elsewhere, for example any other system that may provide some indication of how the overall forces of the vehicle combination 100 are to be influenced (e.g. steered, propelled or braked). For example, the signal may originate from a lane assist system, a lane following system, an emergency steering system, an emergency braking system, an automated or semi-automated drive system. Based on this input, the target generator 202 outputs a desired reference input r re q. In particular, the path planner/controller 214 determines the desired reference input r re q. The desired reference input r req may comprise at least one of a longitudinal acceleration a x of the vehicle combination 100 as a whole or of a unit 110 of the vehicle combination 100 (for example the unit 100 comprising the combination control allocator 210), a longitudinal velocity v xl of the tractor unit 110-1, a lateral velocity v yl of the tractor unit 110-1, a yaw rate a> zi of at least one unit 110 of the vehicle combination 100, and a steering angle 6f re q of the tractor unit 110-1.

[0057] The virtual combination control input Vcomb.req is determined based on the desired reference input r re q. In particular, the force generator 216 determines the virtual combination control input Vcomb.req. The virtual combination control input Vcomb.req may include desired motion parameters for the vehicle combination 100. In particular, the forces and/or moments that need to be applied to the vehicle combination 100 as a whole in order to follow the desired reference input r req are determined. The desired motion parameters included in the combination virtual control input Vcomb.req of the vehicle combination 100 may comprise at least one of a longitudinal force Fxtot of the vehicle combination 100, a lateral force Fytot of the vehicle combination 100, a longitudinal coupling force Fcxt between consecutive units 110, a lateral coupling force Fcyt between consecutive units 110, and/or a yaw moment Mzt for one or more units 110.

[0058] The virtual combination control input Vcomb.req may also be determined based on state information yi from the different units 110 of the vehicle combination 100 and a motion capability Vcomb.cap for the vehicle combination 100. The state information yi may include information from sensors of the vehicle combination 100 such as wheel speed sensors, inertial measurement units, articulation angle sensors and the like. The motion capability Vcomb.cap of the vehicle combination 100 may describe the limits of motion parameters for safe operation of the vehicle combination 100. The motion capability Vcomb.cap may comprise at least one of a longitudinal force F xto t,cap °f the vehicle combination 100, a lateral force F yto t,cap °f the vehicle combination 100, and a yaw moment M zi cap for one or more units 110. [0059] The virtual combination control input Vcomb.req may be determined based on a vehicle model. The vehicle model can be any suitable model, for example a model known in the art. The model can be based on real tests, computer model simulations, a machine-learning model, or other suitable means known in the art. The vehicle model may provide motion prediction of the vehicle combination 100 by looking at previous steering input and acceleration input. The prediction may include instabilities such as understeer or rollover risk, for example within a one second horizon. The model may be, for example, a single-track model, i.e., left and right wheels on a given axle are considered together. The real units can have axle groups with several axles, but in the model they are considered together. A tyre model can be used in combination with the vehicle model. The tyre model may take into account the cornering stiffness of the tyres of the vehicle combination.

[0060] The tactical layer 204 is responsible for ensuring that the trajectory for the whole combination 100 is obstacle free and collision free. The tactical layer 204 may also include predictive energy management, including battery targets, capabilities and statuses that determine how the energy sources of the vehicle combination 100 should be used for a whole mission. The tactical layer 204 may also provide a desired reference input in an autonomous driving case.

[0061] The state estimator 206 is responsible for processing state information ? from the different units 110 of the vehicle combination 100. For example, the state estimator 206 may receive information from sensors of the vehicle combination 100 such as wheel speed sensors, inertial measurement units, articulation angle sensors and the like and use this information to determine states for the vehicle combination 100 and the various units. The state estimator 206 may then output unit-specific state information x P to the power manager 208 and unit-specific state information x c to the combination control allocator 210.

[0062] The power manager 208 determines a power split between the different units 110 of the vehicle combination 100. The power manager 208 may also determine a power split within each unit 110, meaning how the power demand is divided between the actuators (for example, the electrical machines 130, service brakes 150, and/or steering servo arrangements) of the unit 110. Inputs to the power manager 208 include the desired reference input r req from the target generator 202 and the statuses SoX of the batteries 120 of the vehicle combination 100. The power manager 208 determines a power allocation and an associated power allocation input Uunits,des^ 3-S will be explained below.

[0063] The control allocators 210, 212 determine how various actuators (for example, the electrical machines 130, service brakes 150, and/or steering servo arrangements) of the vehicle combination 100 are to be controlled in order to generate requested global forces of the vehicle combination 100 as a whole. The combination control allocator 210 and the various unit specific control allocators 212 together form a distributed control allocation system for the vehicle combination 100. In this system, the control allocation is performed on multiple levels, i.e. first on a level of the vehicle combination 100 as a whole, and then on a level of each vehicle unit 110 individually.

[0064] The combination control allocator 210 transforms the virtual combination control input Vcomb.req from the target generator 202 into a true control input Uumts for the vehicle combination 100, describing appropriate motion parameters for each unit 110. The combination control allocator 210 also transforms the true combination control input Uumts into unit-specific virtual control inputs Uuntt.t describing the forces that each respective unit 110 is to produce in order to provide the true control input Uumts of the vehicle combination 100.

[0065] The unit control allocators 212 comprise a specific control allocator 212 for each unit 110 of the vehicle combination 100. The unit-specific virtual control inputs Uunit.i that are output from the combination control allocator 210 are distributed into unit-specific true control inputs Ui, describing actual actuator commands by the unit specific control allocators 212. For example, the unit specific control allocators 212 map the forces and moments of each unit 110 into the steering and drive/brake torques to be applied at the wheels 140 of each unit 110.

[0066] In some examples, the actuators of a particular unit 110 may be capable of estimating their own capabilities Uumt.i.cap, e.g. how much and/or how fast the actuators can move at a current time instant. For example, as shown in FIG. 2, the actuators of each unit 110 may provide an actuator capability Ui, cap to the respective unit control allocator 212-i, which provides a force capability Uumt,i,cap to the combination control allocator 210.

[0067] FIG. 3 schematically illustrates a top-view of an example of a vehicle combination 100 according to the present disclosure, including the requested global forces of the vehicle combination 100 as a whole. Examples of requested global forces of the vehicle combination 100 as a whole may e.g. include a total longitudinal/axial force Fxtot a total lateral/radial force Fytot, and/or one or more yaw moments Mzi for the respective vehicle units 110.

[0068] The vehicle combination 100 includes a combination control allocator 210 and a plurality of unit control allocators 212. The combination control allocator 210 may be provided (as shown) as part of the tractor unit 110-1, while the unit control allocators 212 are provided as part of each individual unit 110. The combination control allocator 210 and the various unit specific control allocators 212 together form a distributed control allocation system for the vehicle combination 100, as discussed above. It will be appreciated that the combination control allocator 210 may be provided as part of any unit 110 of the vehicle combination 100. [0069] FIG. 4A is a flowchart of an example method 400 for controlling a vehicle combination 100. The method 400 may be performed by the control system 200 of a vehicle combination 100.

[0070] At step 402, a desired reference input r req for the vehicle combination 100 may be determined. As discussed above, the desired reference input may be determined in the target generator 202 of the control system based on an input from a driver or any other system that may provide some indication of how the overall forces of the vehicle combination 100 are to be influenced.

[0071] The desired reference input r req may comprise at least one of a longitudinal acceleration a x of the vehicle combination 100 as a whole or of a unit 110 of the vehicle combination 100 (for example the unit 100 comprising the combination control allocator 210), a longitudinal velocity v xl of the tractor unit 110-1, a lateral velocity v yl of the tractor unit 110-1, a yaw rate a> zi of at least one unit 110 of the vehicle combination 100, and a steering angle 8f req of the tractor unit 110-1. The desired reference input r req may be a vector formulated in one of the following ways: ' -x,req

^req -Pf,req (3) where 8f req is a driver steering input and Pf ireq is the path curvature.

[0072] At step 404, a power capability of one or more batteries 120, for example a power capability of each battery 120, may be received. The power capability may be defined by a battery status SoXi of each battery 120. The battery statuses SoX, may be provided to the power manager 208 from each unit 110. The battery statuses may include the state of charge (SoC), state of health (SoH), state of power (SoP), and/or state of energy (SoE) of each battery 120. In particular, the battery statuses SoX, may include current values for the SoC, SoH, SoP, and/or SoE of each battery 120. The battery statuses SoX may also include minimum and maximum values for the SoC, SoH, SoP, and/or SoE of each battery 120. The battery statuses SoX, may also include an SoC rate of change and/or an SoP input/output capability of each battery 120. [0073] At step 406, a power allocation input Uunits,des is determined. The power allocation input limits, des is a set of desired motion parameters that satisfies a power allocation for the vehicle combination 100. The power allocation input Uunits,des may be formulated as follows: where F x eii des is the desired aggregate electric machine force for unit i, F x sbi des is the desired aggregate electric service brake force for unit i, u Pyi des is the desired force for actuators that generate lateral force, and u Mzi des is the desired force for actuators that generate yaw moment. [0074] As mentioned above, the power allocation input Uumts.des is a set of desired motion parameters that satisfies a power allocation for the vehicle combination 100. The power allocation that is used to determine the power allocation input Uunits,des is the distribution of a power demand across the units 110 of the vehicle combination 100. The power allocation is determined by the power manager 208. The power allocation is determined based on the desired reference input r req and the power capability of one or more units 110, for example each unit 110. In some examples, a power flow model is used by the power manager 208 to determine the power allocation. The power flow model includes the power demands, supplies and losses for entire vehicle combination. In some examples, the unit-specific state information x P may be used with the power flow model 500.

[0075] FIG. 5 shows an example power flow model 500. The power flow model 500 divides the total power demand Pveh required for the vehicle combination 100 to perform a certain manoeuvre across the various units 110. The power demand Pveh may be determined by multiplying the overall desired force by the current velocity of the vehicle combination 100. The power demand Pumti for a unit 110-i is split into the power , To be delivered at the wheels 140-i of the unit 110-i and the power loss Presist i due to resistive forces such as air resistance, friction, and the like. The power P w t to be delivered at the wheels 140-i of each unit 110-i is split into the mechanical power P m ,em i delivered by the electrical machines 130-i and the power Psb i delivered by the service brakes 150-i during regenerative braking. The power P m ,em i delivered by the electrical machines 130-i of each unit 110-i is split into the electrical power Pe,em i delivered from the batteries 120-i, and power losses Pioss.em i from the electrical machines 130-i, including the transmission. The power P s b t delivered by the service brakes 150-i of each unit 110-i is split into the thermal recovery power Prec.sb t from the service brakes 150-i, and power losses Pioss.sb t from the service brakes 150-i. The thermal recovery power Prec.sb t from the service brakes 150-i is a result of regenerative braking, where the kinetic energy of a braking vehicle that would otherwise be lost as heat is converted into a useful form. In current systems, the thermal recovery power Prec.sb t from the service brakes 150-i is often zero. The electrical power P e , em t delivered from the batteries 120-i of each unit 110-i is split into the actual power Pbatt t delivered from the batteries 120-i and power losses Pioss.batt t from the batteries 120-i including any converter. The actual power Pbatt t may be comprised of two components: a power Pbatt t p>o delivered from the batteries 120-i during propulsion, and a power Pbatt t p<o recovered by the batteries 120-i during regenerative braking.

[0076] The power flow model 500 can be used as a basis for determining a power allocation for the vehicle combination 100. In particular, given the total power demand Pveh for the vehicle combination 100, a power allocation across the various units 110 can be determined that can be optimised in a certain way.

[0077] In one example, the power allocation can be determined such that the total power losses of the vehicle combination 100 are below a threshold, for example minimised. For example, an acceptable value for the total power losses of the vehicle combination 100 can be determined and implemented as an upper limit for the power losses. The power allocation can then be determined such that the total power losses of the vehicle combination 100 are below that value. That is to say, the power allocation can be determined such that the total power losses from the batteries 120, the electrical machines 130, and the service brakes 150 are below a threshold, for example minimised. In some examples, only the power losses from the service brakes 150 may be considered. In some examples, the power losses from the service brakes 150 may be considered along with the power losses from the batteries 120 and/or the power losses from the electrical machines 130.

[0078] In another example, the power allocation can be determined such that the total power delivered from the batteries is below a threshold, for example minimised. For example, an acceptable value for the total power delivered from the batteries 120 of the vehicle combination 100 can be determined and implemented as an upper limit for the power delivery. The power allocation can then be determined such that the total power delivered from the batteries 120 of the vehicle combination 100 is below that value. This may be achieved by reducing the power Pbatt iP>o delivered from the battery during propulsion, and increasing the total power Pbatt iP<o recovered by the battery during regenerative braking. [0079] In each example, this may be achieved using an optimisation function to model different power allocations and determine which minimises the function. The optimisation functions may also be used to minimise the difference between the current SoC of the batteries and a target value, and to minimise the difference between the power delivered from the batteries and a target value.

[0080] A more detailed description of the power flow model 500 and its use for determining a power allocation for the vehicle combination 100 is disclosed in co-pending PCT patent applications PCTZEP2022/082326 and PCTZEP2022/082327, which were filed in the name of the same applicant (Volvo Truck Corporation) and on the same date (17 November 2022) as this patent application.

[0081] Returning to FIG. 4A, at step 408, a motion capability Vcomb.cap of the vehicle combination 100 may be determined. The motion capability Vcomb.cap describes the forces and/or moments that the vehicle combination 100 is capable of experiencing. This can be, for example, physical limits of the vehicle combination 100, such as an actuator capability, or limits that ensure that the vehicle combination 100 operates in a safe manner, for example related to a road friction. The motion capability Vcomb.cap may be received by the target generator 202 from the combination control allocator 210, which can determine a safe operating envelope for the vehicle combination 100 in different driving situations.

[0082] The motion capability Vcomb.cap of the vehicle combination 100 may comprise at least one of a longitudinal force F xtot cap of the vehicle combination 100, a lateral force F ytot cap of the vehicle combination 100, and a yaw moment M zi cap for one or more units 110. The motion capability Vcomb.cap may be a vector formulated as follows:

[0083] At step 410, a virtual combination control input Vcomb.req of the vehicle combination 100 is determined. The virtual combination control input Vcomb.req is determined by the target generator 202, in particular by the force generator 216. The virtual combination control input Vcomb.req is determined based on the desired reference input rreq. In particular, the forces and/or moments that need to be applied to the vehicle combination 100 as a whole in order to follow the desired reference input r req are determined. The motion capability Vcomb.cap of the vehicle combination 100 may also be taken into account to ensure that the virtual combination control input Vcomb.req does not exceed the operating limits of the vehicle combination 100. In some examples, the state information yi from the different units 110 of the vehicle combination 100 may also be taken into account.

[0084] The desired motion parameters included in the combination virtual control input Vcomb.req of the vehicle combination 100 may comprise at least one of a longitudinal force Fxtot of the vehicle combination 100, a lateral force Fytot of the vehicle combination 100, a longitudinal coupling force Fcxi between consecutive units 110, a lateral coupling force Fcyt between consecutive units 110, and/or a yaw moment Mzt for one or more units 110.

[0085] The virtual combination control input Vcomb.req may be a vector formulated as follows:

[0086] The coupling force F c between consecutive units 110 may comprise a longitudinal coupling force F cxi between the consecutive units 110 and a lateral coupling force F cyi between the consecutive units 110. The coupling force F c between each unit 110 may be a vector formulated as follows:

Fc [F cxl , F C yy, F CX 2, F C y2, ... , F cx n- 1 , F C y n _y ] (10) where F c < F c < F c are constraints on coupling forces for safe driving and manoeuvring. The coordinate system for the global forces is the coordinate system for the first unit 110-1 in forward motion and the last unit 110-n in the reversing motion. The coordinate system for the coupling forces is the coordinate system for the first unit of each coupling point.

[0087] The virtual combination control input Vcomb.req may be determined based on a vehicle model. The vehicle model can be any suitable model known in the art. The model can be based on real tests, computer model simulations, a machine-learning model, or other suitable means known in the art. The vehicle model may provide motion prediction of the vehicle combination 100 by looking at previous steering input and acceleration input. The prediction may include instabilities such as understeer or rollover risk, for example within a one second horizon. The model may be, for example, a single-track model, i.e., left and right wheels on a given axle are considered together. The real units can have axle groups with several axles, but in the model they are considered together. A tyre model can be used in combination with the vehicle model. The tyre model may take into account the cornering stiffness of the tyres of the vehicle combination.

[0088] At step 412, a true control input limits for the vehicle combination 100 is determined. The true combination control input limits contains data indicative of the forces that the respective units 110 are to produce in order for the generated forces to meet the desired motion parameters of the power allocation input Uumts.des and the virtual combination control input Vcomb, req. Generally, for n units 110, the true combination control input limits provided from the combination control allocator 210 may be formulated as:

[0089] The true combination control input Uunits is determined by the combination control allocator 210. The true combination control input Uunits is determined based on the power allocation input limits, des and the virtual combination control input Vcomb.req. In particular, the combination control allocator 210 solves a control allocation problem in order to find a particular control input limits that satisfies the received power allocation input Uumts.des and the virtual combination control input V comb, req.

[0090] The combination control allocator 210 may solve a weighted least squares optimization problem as follows:

^-units argmin _ where Wu and W v are (positive definite) weighting matrices, y is a weighting factor, Bcomb is a control efficiency matrix, and u units and u units are lower and upper capabilities of the various actuators, all defined and used as conventionally done in control allocation theory. The weighting factor y provides a trade-off between the power allocation term \\^ u u units,des — and the virtual control term When y oo, the solution of the weighted least squares problem of equation (12) approaches that of a sequential least squares problem. In some examples, the unit-specific state information x c may be used as part of equality and inequality constraints used to solve the optimization problem in equation (12). [0091] In equation (12), the following may apply: where m is the number of torque-producing actuators of a unit and k is the number of steeringactuators of a unit.

[0092] As the actuators generate torque rather than linear forces, the combination control allocator 210 may convert the true combination control input Uumts into actual steering commands for the actuators. For example, by knowing e.g. a radius of a wheel 140, the longitudinal force generated by such a wheel 140 is proportional to a torque applied to the wheel 140 divided by the radius. By having knowledge of the radius of a wheel 140, along with other factors, such as road friction, losses due to transmission, differentials, and the like, a control input in the form of a force to be generated by an actuator (i.e. a longitudinal force generated by a wheel 140 driven over a particular surface) can be translated into a required torque that needs to be applied on the wheel 140 to generate such a longitudinal force.

[0093] As such, for n units 110, the true combination control input Uumts provided from the combination control allocator 210 may also be formulated as: where T, m is a torque to be generated by the m ’th actuator of the i'th unit, < ,k is a steering angle to be applied to the k ’th steering-actuator of the i ’th unit, and where M is the number of torqueproducing actuators of the i ’th unit and Ki is the number of steering-actuators of the i ’th unit.

[0094] At step 414, a unit-specific virtual control input Uunit is determined for one or more units 110, for example each unit 110, of the vehicle combination 100. The unit-specific virtual control inputs Uunit are determined by the combination control allocator 210. The unit-specific virtual control inputs Umit.i are provided to each respective unit control allocator 212 such that each particular unit control allocator 212-i receives only its own particular unit-specific virtual control input Umit.i. Each unit control allocator 212-i thus receives control input information pertinent only to itself and its associated unit 110-i, and is thus not concerned with any control input information provided to any other unit control allocator. The determination of a unitspecific virtual control inputs is described in more detail in co-pending PCT patent application PCT/EP2022/065415, which was filed on 7 June 2022. [0095] The unit-specific virtual control inputs Uuntt.t contain data indicative of the forces that each respective unit 110 is to produce in order to provide the true control input Uumts of the vehicle combination 100. Generally, for a unit z, the unit-specific virtual control input Umit.i provided from the combination control allocator 210 may be formulated as:

The unit-specific virtual control input Uumt.i may also be converted into actual steering commands for the actuators, as discussed above.

[0096] At step 416, one or more unit control allocators 212 then performs control allocation on a unit level, in order to calculate a unit-specific true control input m for its associated unit 110-i. This is achieved by the unit control allocator 212-i attempting to solve a unit-specific control allocation problem based on the received unit-specific virtual control input Umit.i. This unit-specific control allocation problem can be defined as a weighed least squares optimization problem as follows: where Wui and Wvi are unit-specific (positive definite) weighting matrices, i is a unit-specific weighting factor, Bi is a unit-specific control efficiency matrix, and Uq and iq are lower and upper unit-specific capabilities of the various actuators, all defined and used as conventionally done in control allocation theory.

[0097] After having solved their own unit-specific control allocation problem as defined in equation (16), each unit control allocator 212-i can then obtain its own unit-specific true control input ut for its actuator(s), which can be formulated as: where T, m is a torque to be generated by the m ’th torque-producing actuator of the i'th unit, Mi is the number of torque-producing actuators of the z ’th unit, di.k is a steering angle to be applied to the k ’th steering-actuator of the z ’th unit, and where and Ki is the number of steering-actuators of the z ’th unit. If the unit-specific virtual control inputs Uumt.i are provided as forces, the unit control allocators 212 may also perform the conversion into actual steering commands for the actuators to determine the unit-specific true control inputs m.

[0098] If a vehicle unit does not include any torque-generating actuators or steeringactuators, the corresponding torque and/or steering angle values in m 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).

[0099] After having obtained their respective unit-specific true control input W/, one or more unit control allocators 212-i may use the true control input m to control the one or more actuators of the vehicle unit 110-i. 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 to 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 unit control allocator 212 associated with the vehicle unit 110 in which the particular actuator is included, or e.g. be provided as a separate part communicatively connected to the unit control allocator 212.

[00100] The method 400 provides control allocation for vehicle combinations that is adaptable to different configurations of the vehicle combination. By taking a global approach to the vehicle combination, rather than, approaching the problem on a unit level, the control allocation can take into account global factors for the vehicle combination such as power allocation.

[00101] In some examples, the actuators of a particular unit 110 may be capable of estimating their own capabilities Uumt.i.cap, e.g. how much and/or how fast the actuators can move at a current time instant. The capabilities of the actuators can change, for example, depending on how the vehicle combination 100 or unit 110 is currently loaded, a current road surface, 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 100 or unit 110 is currently travelling, etc. The actuator capabilities Uumt.i.cap of individual units can be aggregated into actuator capabilities u units and u units of the vehicle combination 100, which can form part of the motion capability Vcomb.cap for the vehicle combination 100.

[00102] For example, as shown in FIG. 2, the actuators of one or more units 110 may provide an actuator capability Ui, cap to the respective unit control allocator 212-i, which provides a force capability Uumt,i,ca P to the combination control allocator 210. The actuators may update and send their capabilities in real time, such that the combination control allocator 210 has real-time information about the capabilities of its associated actuators.

[00103] As the actuators generate torque rather than linear forces, the capability Ui, cap may be provided in term of steering parameters for the actuators. For example, for a unit 110-i, the actuator capability Ui, cap may be formulated as: where T, m is a torque to be generated by the m ’th actuator of the i'th unit, < ,k is a steering angle to be applied to the k ’th steering-actuator of the i ’th unit.

[00104] The unit control allocators 212 convert the received actuator capability Ui, cap into a force capability Uumt,i,ca P , for example in the inverse sense to the conversion from forces to actuator commands discussed above. As such, for a unit 110-i, the force capability Uumt,i,ca P may be formulated as: where F x eii cap is the possible electric machine force, F x sbi cap is the possible service brake force, F yti cap is the possible force from actuators that generate lateral force, and M zti cap is the possible force from actuators that generate yaw moment. Alternatively, the conversion of the actuator capability Ui, cap into a force capability u u mt,i,ca P can be performed by the combination control allocator 210.

[00105] FIG. 4B is a flowchart of an example method 450 for controlling a vehicle combination 100. The method 450 may be performed by the combination control allocator 210 of a vehicle combination 100.

[00106] At step 452, the combination control allocator 210 receives a virtual combination control input Vcomb.req. The virtual combination control input v CO mb,req may be received from the target generator 202, in particular the force generator 216. The virtual combination control input Vcomb.req is determined based on a desired reference input r req , and optionally a motion capability Vcomb.cap of the vehicle combination 100.

[00107] At step 454, the combination control allocator 210 receives a power allocation input Uunits,des for the vehicle combination 100. The power allocation input Uunits,des may be received from the power manager 208.

[00108] At step 456, the combination control allocator 210 determines a control input for the vehicle combination 100 based on the virtual combination control input v comb, req and the power allocation input Uunits.des. In particular, the combination control allocator 210 determines a true combination control input limits for the vehicle combination by solving solve a weighted least squares optimization problem as defined in equation (12).

[00109] At step 458, the combination control allocator 210 determines a unit-specific virtual control input Umit.i for one or more units of the vehicle combination.

[00110] At step 460, the combination control allocator 210 sends each unit-specific virtual control input Umit.i to a respective unit control allocator 212. Each unit control allocator 212 then performs control allocation on a unit level, in order to calculate a unit-specific true control input ui for its associated unit 110-i.

[00111] FIG. 6 is a schematic diagram of a computer system 600 for implementing examples disclosed herein. The computer system 600 is adapted to execute instructions from a computer- readable medium to perform these and/or any of the functions or processing described herein. The computer system 600 may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, or the Internet. While only a single device is illustrated, the computer system 600 may include any collection of devices that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. Accordingly, any reference in the disclosure and/or claims to a computer system, computing system, computer device, computing device, control system, control unit, electronic control unit (ECU), processor device, etc., includes reference to one or more such devices to individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. For example, control system may include a single control unit or a plurality of control units connected or otherwise communicatively coupled to each other, such that any performed function may be distributed between the control units as desired. Further, such devices may communicate with each other or other devices by various system architectures, such as directly or via a Controller Area Network (CAN) bus, etc.

[00112] The computer system 600 may comprise at least one computing device or electronic device capable of including firmware, hardware, and/or executing software instructions to implement the functionality described herein. The computer system 600 may include a processor device 602 (may also be referred to as a control unit), a memory 604, and a system bus 606. The computer system 600 may include at least one computing device having the processor device 602. The system bus 606 provides an interface for system components including, but not limited to, the memory 604 and the processor device 602. The processor device 602 may include any number of hardware components for conducting data or signal processing or for executing computer code stored in memory 604. The processor device 602 (e.g., control unit) may, for example, include a general-purpose processor, an application specific processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit containing processing components, a group of distributed processing components, a group of distributed computers configured for processing, or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processor device may further include computer executable code that controls operation of the programmable device.

[00113] The system bus 606 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any of a variety of bus architectures. The memory 604 may be one or more devices for storing data and/or computer code for completing or facilitating methods described herein. The memory 604 may include database components, object code components, script components, or other types of information structure for supporting the various activities herein. Any distributed or local memory device may be utilized with the systems and methods of this description. The memory 604 may be communicably connected to the processor device 602 (e.g., via a circuit or any other wired, wireless, or network connection) and may include computer code for executing one or more processes described herein. The memory 604 may include non-volatile memory 608 (e.g., read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.), and volatile memory 610 (e.g., random-access memory (RAM)), or any other medium which can be used to carry or store desired program code in the form of machineexecutable instructions or data structures and which can be accessed by a computer or other machine with a processor device 602. A basic input/output system (BIOS) 612 may be stored in the non-volatile memory 608 and can include the basic routines that help to transfer information between elements within the computer system 600. [00114] The computer system 600 may further include or be coupled to a non-transitory computer-readable storage medium such as the storage device 614, which may comprise, for example, an internal or external hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or the like. The storage device 614 and other drives associated with computer-readable media and computer-usable media may provide nonvolatile storage of data, data structures, computer-executable instructions, and the like.

[00115] A number of modules can be implemented as software and/or hard-coded in circuitry to implement the functionality described herein in whole or in part. The modules may be stored in the storage device 614 and/or in the volatile memory 610, which may include an operating system 616 and/or one or more program modules 618. All or a portion of the examples disclosed herein may be implemented as a computer program product 620 stored on a transitory or non-transitory computer-usable or computer-readable storage medium (e.g., single medium or multiple media), such as the storage device 614, which includes complex programming instructions (e.g., complex computer-readable program code) to cause the processor device 602 to carry out the steps described herein. Thus, the computer-readable program code can comprise software instructions for implementing the functionality of the examples described herein when executed by the processor device 602. The processor device 602 may serve as a controller or control system for the computer system 600 that is to implement the functionality described herein.

[00116] The computer system 600 also may include an input device interface 622 (e.g., input device interface and/or output device interface). The input device interface 622 may be configured to receive input and selections to be communicated to the computer system 600 when executing instructions, such as from a keyboard, mouse, touch-sensitive surface, etc. Such input devices may be connected to the processor device 602 through the input device interface 622 coupled to the system bus 606 but can be connected through other interfaces such as a parallel port, an Institute of Electrical and Electronic Engineers (IEEE) 1394 serial port, a Universal Serial Bus (USB) port, an IR interface, and the like. The computer system 600 may include an output device interface 624 configured to forward output, such as to a display, a video display unit (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 600 may also include a communications interface 626 suitable for communicating with a network as appropriate or desired.

[00117] The operational steps described in any of the exemplary aspects herein are described to provide examples and discussion. The steps may be performed by hardware components, may be embodied in machine-executable instructions to cause a processor to perform the steps, or may be performed by a combination of hardware and software. Although a specific order of method steps may be shown or described, the order of the steps may differ. In addition, two or more steps may be performed concurrently or with partial concurrence.

[00118] The described examples and their equivalents may be realized in software or hardware or a combination thereof. The examples may be performed by general purpose circuitry. Examples of general purpose circuitry include digital signal processors (DSP), central processing units (CPU), co-processor units, field programmable gate arrays (FPGA) and other programmable hardware. Alternatively or additionally, the examples may be performed by specialized circuitry, such as application specific integrated circuits (ASIC). The general purpose circuitry and/or the specialized circuitry may, for example, be associated with or comprised in an electronic apparatus such as a vehicle control unit.

[00119] The electronic apparatus may comprise arrangements, circuitry, and/or logic according to any of the examples described herein. Alternatively or additionally, the electronic apparatus may be configured to perform method steps according to any of the examples described herein.

[00120] According to some examples, a computer program product comprises a non- transitory computer readable medium such as, for example, a universal serial bus (USB) memory, a plug-in card, an embedded drive, or a read only memory (ROM). FIG. 7 illustrates an example computer readable medium in the form of a compact disc (CD) ROM 700. The computer readable medium has stored thereon a computer program 740 comprising program instructions. The computer program is loadable into a data processor (e.g., a data processing unit) 720, which may, for example, be comprised in a vehicle control unit 710. When loaded into the data processor, the computer program may be stored in a memory 730 associated with, or comprised in, the data processor. According to some examples, the computer program may, when loaded into, and run by, the data processor, cause execution of method steps according to, for example, any of the methods described herein.

[00121] FIG. 8 schematically illustrates, in terms of a number of functional units, the components of a control unit 800 according to some examples. The control unit may be comprised in a vehicle, e.g., in the form of a vehicle motion management (VMM) unit. A processor device in the form of processing circuitry 810 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), or similar; capable of executing software instructions stored in a computer program product, e.g. in the form of a storage medium 830. The processing circuitry 810 may further be provided as at least one application specific integrated circuit ASIC, or field programmable gate array FPGA.

[00122] Particularly, the processing circuitry 810 is configured to cause the control unit 800 to perform a set of operations, or steps; for example, any one or more of the methods discussed in connection to FIG. 4 A and FIG. 4B.

[00123] For example, the storage medium 830 may store a set of operations, and the processing circuitry 810 may be configured to retrieve the set of operations from the storage medium 830 to cause the control unit 800 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus, the processing circuitry 810 is thereby arranged to execute methods as herein disclosed.

[00124] The storage medium 830 may comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

[00125] The control unit 800 may further comprise an interface 820 for communication with at least one external device. As such, the interface 820 may comprise one or more transmitters and receivers, comprising analogue and digital components and a suitable number of ports for wireline or wireless communication.

[00126] The processing circuitry 810 controls the general operation of the control unit 800, e.g., by sending data and control signals to the interface 820 and the storage medium 830, by receiving data and reports from the interface 820, and by retrieving data and instructions from the storage medium 830. Other components, as well as the related functionality, of the control node are omitted in order not to obscure the concepts presented herein.

[00127] In some examples, the control unit 800 may be seen as a control system, or may be comprised in a control system. The control system may be configured for vehicle motion management (VMM). In some examples, the control system is configured to individually control vehicle units and/or vehicle axles and/or wheels of a multi-unit combination vehicle via a dynamic model of the vehicle, which is based on a detected order among vehicle units and/or a detected order among wheel axles.

[00128] Also disclosed are examples according to the following clauses:

1. A system (200) for controlling a vehicle combination (100) comprising a tractor unit and at least one trailing unit, the system comprising: a target generator (202) configured to determine a virtual control input, Vcomb, req., for the vehicle combination based on a reference input, r re y, for the vehicle combination; a power manager (208) configured to determine a power allocation input, Uunits,des^ for the vehicle combination based on the reference input and a power capability of one or more units (110) of the vehicle combination; and a combination control allocator (210) configured determine a control input, for the vehicle combination based on the power allocation input and the virtual control input.

2. The system (200) of clause 1, wherein the virtual combination control input, V comb, req., comprises a set of desired motion parameters determined based the reference input,

3. The system (200) of clause 2, wherein the set of desired motion parameters of the virtual combination control input, Vcomb.req, comprises at least one of a longitudinal force, Faot, of the vehicle combination (100), a lateral force, Fytot, of the vehicle combination, a longitudinal coupling force, Fcxi, between consecutive units (110), a lateral coupling force, Fcyi, between consecutive units, and a yaw moment for one or more units, Mzi.

4. The system (200) of any preceding clause, wherein the target generator (202) is configured to determine the virtual control input, Vcomb.req, for the vehicle combination (100) based on a motion capability, Vcomb.cap, of the vehicle combination.

5. The system (200) of any preceding clause, wherein the target generator (202) is configured to determine the virtual control input, v CO mb,req, for the vehicle combination (100) based on a vehicle model configured to model instabilities in vehicle motion.

6. The system (200) of any preceding clause, wherein the reference input, r re f, comprises at least one of a longitudinal acceleration, a longitudinal velocity, vv, of the tractor unit, a lateral velocity, v y i, of the tractor unit, a yaw rate, co Z i, of at least one unit (110) of the vehicle combination (100), and a steering angle, of the tractor unit.

7. The system (200) of any preceding clause, wherein the power capability of a unit (110) is determined based on at least one of a state of charge, a state of health, a state of power, and a state of energy of a battery of the unit. 8. The system (200) of any preceding clause, wherein the power allocation input, limits, des, comprises a set of desired motion parameters determined based on a power allocation for one or more units (110).

9. The system (200) of clause 8, wherein the set of desired motion parameters of the power allocation input, Uumts.des, comprises at least one of a desired electric machine force, Fx, ell, des, for one or more units (110) and a desired electric service brake force, F x ,sbi,des, for one or more units.

10. The system (200) of clause 8 or 9, wherein the power allocation for a unit (110) is determined based on a power demand and at least one of a power loss associated with service brakes (150) of the unit, a power loss associated with a battery (120) of the unit, and a power loss associated with an electrical machine (130) of the unit.

11. The system (200) of clause 10, wherein the power allocation for one or more units (110) is determined using an optimisation function to minimise the total power losses of the vehicle combination (100).

12. The system (200) of any preceding clause, wherein the combination control allocator (210) is configured determine a control input, limits,, limits, i, n, for the vehicle combination (100) by: determining a true combination control input, Uumts,, based on the power allocation input, limits, des, and the virtual combination control input, Vcomb.req, and determine a unit-specific virtual control input, l mits, i, based on the true combination control input.

13. The system (200) of clause 12, wherein the combination control allocator (210) is configured determine the true combination control input, Uumts, by solving a weighted least squares optimization problem.

14. The system (200) of clause 12 or 13, further comprising a plurality of unit control allocators (212), wherein each unit control allocator is configured to determine a unitspecific true control input, in, for a respective unit (110) of the vehicle combination (100) based on the respective unit-specific virtual control input, limits, i. 15. The system (200) of clause 14, wherein each unit control allocator (212) is configured to determine the unit-specific true control input, «/, by solving a weighted least squares optimization problem.

16. A computer-implemented method (400) for controlling a vehicle combination (100) comprising a tractor unit and at least one trailing unit, the method comprising: determining (406) a power allocation input, Uumts.des, for the vehicle combination based on a reference input, r re y, for the vehicle combination and a power capability of one or more units (110) of the vehicle combination; determining (410) a virtual control input, v comb, req, for the vehicle combination based on the reference input; and determining (412, 414, 416) a control input, limits,, limits, t, in, for the vehicle combination based on the power allocation input and the virtual control input.

17. The computer-implemented method (400) of clause 16, wherein the virtual combination control input, v C omb,req, comprises a set of desired motion parameters determined based the reference input, r re /,.

18. The computer-implemented method (400) of clause 17, wherein the set of desired motion parameters of the virtual combination control input, v C omb,req, comprises at least one of a longitudinal force, Fxtot, of the vehicle combination (100), a lateral force, Fytot, of the vehicle combination, a longitudinal coupling force, Fcxi, between consecutive units (110), a lateral coupling force, Fcyi, between consecutive units, and a yaw moment for one or more units, Mzt.

19. The computer-implemented method (400) of any of clauses 16 to 18, comprising determining (410) the virtual control input, v C omb,req, for the vehicle combination (100) based on a motion capability, v C omb,cap, of the vehicle combination. 0. The computer-implemented method (400) of any of clauses 16 to 19, comprising determining (410) the virtual control input, v C omb,req, for the vehicle combination (100) based on a vehicle model configured to model instabilities in vehicle motion. 1. The computer-implemented method (400) of any of clauses 16 to 20, wherein the reference input, r r ef, comprises at least one of a longitudinal acceleration, a longitudinal velocity, v x t, of the tractor unit, a lateral velocity, v y t, of the tractor unit, a yaw rate, co Z i, of at least one unit (110) of the vehicle combination (100), and a steering angle, df.req, of the tractor unit.

22. The computer-implemented method (400) of any of clauses 16 to 21, wherein the power capability of a unit (110) is determined based on at least one of a state of charge, a state of health, a state of power, and a state of energy of a battery of the unit.

23. The computer-implemented method (400) of any of clauses 16 to 22, wherein the power allocation input, Uumts.des, comprises a set of desired motion parameters determined based on a power allocation for one or more units (110).

24. The computer-implemented method (400) of clause 23, wherein the set of desired motion parameters of the power allocation input, Uumts.des, comprises at least one of a desired electric machine force, F x , e u,des, for one or more units and a desired electric service brake, F x ,sbi,des, force for one or more units (110).

25. The computer-implemented method (400) of clause 23 or 24, comprising determining (406) the power allocation for a unit (110) based on a power demand and at least one of a power loss associated with service brakes (150) of the unit, a power loss associated with a battery (120) of the unit, and a power loss associated with an electrical machine (120) of the unit.

26. The computer-implemented method (400) of clause 25, comprising determining (406) the power allocation for one or more units (110) using an optimisation function to minimise the total power losses of the vehicle combination (100).

27. The computer-implemented method (400) of any of clauses 16 to 26, comprising determining (412, 414, 416) a control input, Uumts.i, Uumts.i, Ui, for the vehicle combination (100) by: determining (412) a true combination control input, Uurntst, based on the power allocation input, Uumts.des, and the virtual combination control input, Vcomb.req, and determining (414) a unit-specific virtual control input, Uumts.i, based on the true combination control input. 28. The computer-implemented method (400) of clause 27, comprising determining (412) the true combination control input, Uumts, by solving a weighted least squares optimization problem.

29. The computer-implemented method (400) of clause 27 or 28, comprising determining (416) a unit-specific true control input, for a respective unit (110) of the vehicle combination (100) based on the unit-specific virtual control input, Uumts, t.

30. The computer-implemented method (400) of clause 29, comprising determining (416) the unit-specific true control input, by solving a weighted least squares optimization problem.

31. A computer program product comprising program code for performing, when executed by a processor device, the computer-implemented method (400) of any of clauses 16 to 30.

32. A control system comprising one or more control units configured to perform the computer-implemented method (400) of any of clauses 16 to 30.

33. A non-transitory computer-readable storage medium comprising instructions, which when executed by the processor device, cause a processor device to perform the computer-implemented method (400) of any of clauses 16 to 30.

34. A computer system comprising a processor device configured to perform the computer- implemented method (400) of any of clauses 16 to 30.

35. A vehicle comprising the processor device to perform the computer-implemented method (400) of any of clauses 16 to 30.

[00129] 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 signalling 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.

[00130] The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items. It will be further understood that the terms "comprises," "comprising," "includes," and/or "including" when used herein specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

[00131] It will be understood that, although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element without departing from the scope of the present disclosure.

[00132] Relative terms such as "below" or "above" or "upper" or "lower" or "horizontal" or "vertical" may be used herein to describe a relationship of one element to another element as illustrated in the Figures. It will be understood that these terms and those discussed above are intended to encompass different orientations of the device in addition to the orientation depicted in the Figures. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element, or intervening elements may be present. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present.

[00133] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

[00134] It is to be understood that the present disclosure is not limited to the aspects described above and illustrated in the drawings; rather, the skilled person will recognize that many changes and modifications may be made within the scope of the present disclosure and appended claims. In the drawings and specification, there have been disclosed aspects for purposes of illustration only and not for purposes of limitation, the scope of the inventive concepts being set forth in the following claims.