SAFE OPERATION OF VEHICLE COMBINATIONS

20250353507 · 2025-11-20

Assignee

Inventors

Cpc classification

International classification

Abstract

A computer-implemented method of determining a torque limit for an operating state of a first vehicle combination is provided. The method includes simulating a plurality of operating states for one or more second vehicle combinations. Each operating state is based on one or more operational parameters related to physical properties of the one or more second vehicle combinations, one or more parameters related to an operating environment of the one or more second vehicle combinations, and one or more parameters related to a driving scenario of the one or more second vehicle combinations. The method includes classifying each of the simulated operating states as safe or unsafe, receiving an unsimulated operating state for the first vehicle combination, and determining a torque limit for the unsimulated operating state based on the simulated operating states.

Claims

1. A computer-implemented method of determining a torque limit for an operating state of a first vehicle combination, the vehicle combination comprising a tractor unit and at least one trailing unit, the method comprising: simulating a plurality of operating states for one or more second vehicle combinations, wherein each operating state is based on: one or more operational parameters related to physical properties of the one or more second vehicle combinations, one or more parameters related to an operating environment of the one or more second vehicle combinations, and one or more parameters related to a driving scenario of the one or more second vehicle combinations; classifying each of the simulated operating states as safe or unsafe; receiving an unsimulated operating state for the first vehicle combination; and determining a torque limit for the unsimulated operating state based on the simulated operating states.

2. The computer-implemented method of claim 1, wherein simulating a plurality of operating states comprises using a non-linear high fidelity mathematical transport model.

3. The computer-implemented method of claim 1, wherein the one or more operational parameters related to physical properties of a particular second vehicle combination comprises at least one of a geometry of the second vehicle combination, a number of axles of the tractor unit, a distance between the axles of the tractor unit, a number of axles of the at least one trailing unit, a distance between the axles of the at least one trailing unit, a number of motion support devices of the tractor unit, a number of motion support devices of the at least one trailing unit, a cornering stiffness on the tyres of the tractor unit, a cornering stiffness on the tyres of the at least one trailing unit, an inertia about a yaw-axis of the tractor unit, an inertia about a yaw-axis of the at least one trailing unit, an electric motor peak torque output on the tractor unit, an electric motor peak torque output on the at least one trailing unit, an axle load on at least one axle of the tractor unit, and an axle load on at least one axle of the at least one trailing unit.

4. The computer-implemented method of claim 1, wherein the one or more parameters related to an operating environment of a particular second vehicle combination comprises at least one of a road profile and a road surface friction coefficient.

5. The computer-implemented method of claim 1, wherein the one or more parameters related to a driving scenario of a particular second vehicle combination comprises at least one of a longitudinal speed of the tractor unit, at least one articulation angle between consecutive units, a total applied torque on the tractor unit, a total applied torque on the at least one trailing unit, a longitudinal coupling force at each coupling point, a lateral coupling force at each coupling point.

6. The computer-implemented method of claim 1, wherein classifying each of the simulated operating states as safe or unsafe comprises determining an outcome of a driving manoeuvre defined by the operating state.

7. The computer-implemented method of claim 6, comprising classifying the operating state as unsafe if the outcome of the driving manoeuvre is an unsafe mode comprising at least one of: off-tracking of the vehicle combination, jack-knifing of the vehicle combination, swing of the at least one trailing unit, or rollover of the vehicle combination.

8. The computer-implemented method of claim 6, comprising classifying the operating state as safe if the outcome of the driving manoeuvre is not an unsafe mode.

9. The computer-implemented method of claim 1, comprising determining a torque limit for the plurality of operating states of the second vehicle combinations to provide a safe operating envelope for the second vehicle combinations.

10. The computer-implemented method of claim 1, further comprising validating the determined torque limits using data from real life driving of the second vehicle combinations.

11. The computer-implemented method of claim 1, wherein receiving the unsimulated operating state for the first vehicle combination comprises receiving an operating state for an unsimulated vehicle combination and/or receiving an unsimulated operating state for a simulated vehicle combination.

12. The computer-implemented method of claim 1, wherein the unsimulated operating state comprises at least one of a road surface friction coefficient, a longitudinal speed of the tractor unit, an articulation angle between consecutive units, a total applied torque on the tractor unit, a total applied torque on the at least one trailing unit, a longitudinal coupling force at each coupling point, and a lateral coupling force at each coupling point for the unsimulated operating state.

13. The computer-implemented method of claim 1, wherein determining the torque limit for the unsimulated operating state comprises determining a nearest simulated operating state.

14. The computer-implemented method of claim 1, wherein determining the torque limit for an unsimulated vehicle combination comprises interpolating between operating states of two similar simulated vehicle combinations.

15. The computer-implemented method of claim 1, further comprising applying the determined torque limit to a total propulsion load of a plurality of motion support devices of the tractor unit and/or the at least one trailing unit.

16. The computer-implemented method of claim 15, wherein the plurality of motion support devices comprises a plurality of electric motors.

17. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors cause execution of the method steps according to claim 1.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Exemplary embodiments of the disclosure shall now be described with reference to the drawings in which:

[0018] FIG. 1 shows an example vehicle combination;

[0019] FIGS. 2A-D show unsafe behaviour modes for a vehicle combination;

[0020] FIG. 3 shows an example unit axis system for modelling a vehicle combination;

[0021] FIG. 4 shows forces, angles, moments and dimensions defined per unit on the modelled vehicle combination;

[0022] FIG. 5 shows all forces acting on each unit in the model;

[0023] FIG. 6 shows an example road profile for use in simulations of operating states of a vehicle combination;

[0024] FIG. 7 illustrates a visualisation of a safe operating envelope;

[0025] FIG. 8 is a flow chart of a method for determining a torque limit for an operating state of a vehicle combination; and

[0026] FIG. 9 is a block diagram illustrating an exemplary computer system in which embodiments of the present disclosure may be implemented.

SPECIFIC DESCRIPTION

[0027] The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which certain aspects of the invention are shown. The invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments and aspects set forth herein; rather, the embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Accordingly, it is to be understood that the present invention is not limited to the embodiments described herein and illustrated in the drawings; rather, the skilled person will recognize that many changes and modifications may be made within the scope of the appended claims. Like reference numerals refer to like elements throughout the description.

[0028] FIG. 1 shows an example vehicle combination 10 of the type considered in this disclosure. The vehicle combination 10 comprises a tractor unit 12 and at least one trailing unit 14. The tractor unit 12 is generally the foremost unit in a vehicle combination, and comprises the cabin for the driver, including steering controls, dashboard displays and the like. Generally, the tractor unit 12 is used to provide propulsion power for the vehicle combination 10. The at least one trailing unit 14 is generally used to store goods that are being transported by the vehicle combination.

[0029] The at least one trailing unit 14 may be a truck, trailer, dolly and the like. The at least one trailing unit 14 may also provide propulsion to the vehicle combination 10. For example, the trailing unit 14 may comprise one or more electric motors configured to drive one or more axles or individual wheels of the trailing unit 14. A trailing unit 14 without a front axle is known as a semi-trailer.

[0030] A vehicle combination 10 may be defined by physical properties of the various units, for example a geometry of each unit and the combination as a whole, a number of axles on each unit, a distance between the axles on each unit, a number of motion support devices (including, for example, electric motors, mechanical service brakes and steering actuators) on each unit, a cornering stiffness on the tyres of each unit, an inertia about a yaw-axis of each unit, an electric motor peak torque output on each unit, an axle load on the axels of each unit.

[0031] In the example of FIG. 1, the tractor unit 12 comprises a number of tractor axles 16, and the trailing unit 14 comprises a number of trailer axles 18. At least one of the axles on each unit may be a driven axle, meaning that it is coupled to a propulsion system to drive the vehicle combination 10 forward. The propulsion systems may include traditional propulsion systems coupled to driven axles of the tractor unit 12, and/or electric motors coupled to driven axles of the tractor unit 12 or the trailing unit 14. For example, the three tractor axles 16 may comprise two driven tractor axles 20, and the three trailer axles 18 may comprise two driven trailer axles 22. A unit may be designated by the combination of axles present. In the example of FIG. 1, the vehicle combination 10 comprises a 64 tractor unit 12 and a 64 trailing unit 14, meaning each unit has six wheels, four of which are driven.

[0032] Whilst three tractor axles 16 and three trailer axles 18 are shown, it will be appreciated that any suitable number of axles may be provide on the tractor unit 12 and the at least one trailing unit 14. It will also be appreciated that any number of the tractor axles 16 and/or trailer axles 18 may be driven axles, including zero (i.e. one of the units may include at least one driven axle while the other does not). Furthermore, further trailing units 14 may be provided connected to each other. This gives rise to different types and designations of vehicle combinations.

[0033] In order to classify the movement of the vehicle combination 10, proper definitions of what is considered safe are required. This is done by first listing a number of predetermined unsafe behaviour modes. These can be summarized into four possible modes, which are shown in FIGS. 2A-D.

[0034] FIG. 2A shows off-tracking due to understeering. In particular, the wheels on the front axle of the tractor unit 12 slip while the rest of the vehicle combination 10 does not slip, causing off-tracking due to understeering. FIG. 2B shows jack-knifing the wheels of the tractor unit 12 slipping. In particular, the wheels on the two rear axles of the tractor unit 12 slip while the wheels on the trailing unit 14 do not slip, causing a jack-knife. FIG. 2C shows trailer swing due to the wheels of the trailing unit 14 slipping. In particular, the wheels on the trailing unit 14 slip while the wheels on the tractor unit 12 do not slip, causing trailer swing. FIG. 2D shows vehicle rollover caused by the tractor unit 12 and/or the trailing unit 14 rolling over on to its side.

[0035] FIGS. 3 to 5 show examples of how the dynamics of a vehicle combination 10 can be modelled. In order to describe motion and dynamics of the different vehicle units a definition of coordinate systems and global forces acting on them is required. For this, the international standard for road vehicles ISO 8855 is used.

[0036] As shown in FIG. 3, X.sub.V,i, Y.sub.V,i, and Z.sub.V,i are the unit axis systems where i{1, 2, . . . n}, with the tractor unit 12 being unit number 1, and trailing units 14 getting increasingly higher numbers. n is the total number of units of the vehicle combination 10.

[0037] Forces, angles, moments and dimensions are defined per unit i on the vehicle combination 10, as shown in FIG. 4. If unit i is the first unit of the vehicle, then coupling point i1 is disregarded together with all associated dimensions. If unit i is the last unit of the vehicle, then coupling point i+1 is disregarded together with all associated dimensions. The coupling points in the front and rear of consecutive units are shown separately for clarity. However, in the model and in reality they coincide with each other. Local forces F.sub.x,i and F.sub.y,i denote a unit's total longitudinal and lateral forces respectively, with the origin at the unit's centre of gravity. Similarly, accelerations and moments on each unit are defined in the same coordinate frame as the local forces on each unit. The world frame in which the vehicle moves in are denoted by the coordinates X, Y, and Z.

[0038] The total forces shown in FIG. 4 can be deconstructed into all forces acting on each unit, which include forces acting on each wheel, coupling forces and resulting forces from air resistance and rolling resistance. This is shown in FIG. 5. The index V denotes forces on the unit, excluding external forces such as coupling forces and resulting forces. The forces F.sub.xV,i, F.sub.yV,i and M.sub.zV,i are used to represent and gather all longitudinal and lateral tyre forces shown in FIG. 5. The longitudinal forces are split into forces resulting from the electric motors, F.sub.xV,I, em and from the service brakes, F.sub.xV,I, sb. There are coordinate frames for each coupling point for each unit to translate forces between units properly.

[0039] In order to determine how to use an electric trailer for propulsion in a vehicle combination in a safe manner, it is proposed to simulate operation states of different vehicle combinations to determine an SOE for the vehicle combinations. To simulate motion of a vehicle combination, a non-linear high fidelity mathematical transport model is used. Volvo Group has developed models of different tractor-trailing unit combinations, which can be used for simulating the vehicle combination 10. The model has been validated in publications such as Validation of VTM model of tractor 42 with semi-trailer using winter test results from arjeplog 2111w11 p2685, P. Sundstrm and L. Laine, Engineering Report ER-624557, Department of Applied Mechanics, Chalmers University of Technology, 2012, and Heavy vehicle braking using friction estimation for controller optimization, B. Westerhof and D. Kalakos, M. S. thesis, Chalmers University of Technology, Gothenburg, Sweden, 2017. It will be appreciated that other models may be used to simulate operation states of different vehicle combinations.

[0040] All electric motors are modelled as low pass filters, which filter the requested torques of each motor. The low pass filter is used to model the response time of the electric motors, which will appear as a time delay during simulations. Each wheel that is connected to an electric motor will then be subjected to the requested torque but with a slight time delay. The electric motors are torque-and power-limited. The low pass filter adds a delay d.sub.1 on the requested torque with a time constant of, for example, 0.01 s for electric motors. The transfer function used to model the electric motors of both the tractor unit 12 and the trailing unit 14 is given by:

[00001] G LP , em ( s ) = 1 d 1 + 1 ( 1 )

[0041] Similarly, the transfer function for the time delay, d.sub.2, for the mechanical service brakes is set as a slightly longer delay, for example, 0.1 s for electric motors:

[00002] G LP , sb ( s ) = 1 d 2 + 1 ( 2 )

[0042] During the construction of an SOE, the motors may be considered per axle on all units, such that both wheels on each axle are given the same torque when accelerating or decelerating. It may also be assumed that the power output from each motor is directly proportional to the speed of the motors.

[0043] Since the vehicle combinations 10 are simulated, there is no physical driver controlling its velocity or heading. Therefore, a mathematical driver model is needed in order to control the vehicle combinations 10. The driver model consist of two subsystems, a speed controller and a path follower.

[0044] During the simulation process, the speed controller is used to control propulsion. The speed controller enables the vehicle combination 10 to accelerate, decelerate and maintain requested velocity automatically throughout the simulations. The speed controller used is a PID controller, described in equation 3. Because the controller is used to maintain a requested velocity, it will act on the error between the requested velocity and the current velocity of the vehicle. That is, e=.sub.x,req.sub.x.

[00003] F x , req = e ( K p + K i 1 s + K d K n 1 + K n 1 s ) ( 3 )

where K.sub.p, K.sub.i, K.sub.d and K.sub.n are constants selected appropriately to tune the controller for the simulations.

[0045] The speed controller computes the total requested propulsion force that is needed in order to reach a requested velocity. In cases where not all axles are driven, the force is proportionally distributed between the driven axles 20, 22. Each driven axle 20, 22 is allotted a force proportional to the axle load in relation to the total axle load of the driven axles of that unit. Finally, the speed controller outputs both requested wheel torques and the total requested acceleration. Wheel torques are obtained by multiplying the requested forces with the corresponding wheel radii, and acceleration is obtained by dividing the total force by the total mass of the vehicle. Depending on the application in the simulations, both torques and acceleration can be useful.

[0046] Some system limitations may also be considered in the speed controller modelling. Firstly, the total propulsion force that the controller outputs cannot exceed the total force that the electric motors can produce. Secondly, the force distributed to each wheel cannot exceed the maximum friction force available. This limitation may be implemented in order to prevent the vehicle from losing traction.

[0047] A path follower is needed to adjust the vehicle's steering angle to follow a desired path. This is handled by a PID controller acting on the lateral distance error between the centre of the front most axle and the desired path. In order to obtain the distance between the centre of the axle and the desired path, the velocities of the axle specified in the world coordinate frame are used. These velocities are then expressed as velocities in the coordinate frame of the path, where expresses the longitudinal distance travelled and v expresses the lateral displacement from the path. The change of coordinate frame from the world frame to that of the road is done by using the rotation matrix

[00004] [ v v v ] = [ cos ( ) - sin ( ) sin ( ) cos ( ) ] [ v X _ v Y _ ] ( 4 )

[0048] Where .sub.x, .sub.Y are velocities in the world frame and .sub., .sub.v are the corresponding velocities in the coordinate frame of the path. The rotation angle or the vehicle heading specified in the world coordinate frame, , is computed by integrating the angular velocity of the path, .sub.z,path:

[00005] = z , path dt = v C ( x ) dt ( 5 )

where C(x.sub.) is the curvature of the path as a function of the travelled length of the path, x.sub., The obtained lateral velocity in the coordinate frame of the path, , describe at what velocity the front axle of the vehicle deviates from the path. Integrating the lateral velocity gives the lateral distance between the centre of the axle and the path, , which is the input to the PID controller. The controller outputs the requested steering angle, .sub.11,req, according to:

[00006] 11 , req = x v ( K p + K i 1 s + K d K n 1 + K n 1 s ) ( 6 )

where K.sub.p, K.sub.i, K.sub.d and K.sub.n are constants selected appropriately to tune the controller for the simulations.

[0049] Forces on the vehicle combination 1+ from longitudinal air resistance are calculated as:

[00007] F d = c d 1 2 v x 2 A ( 7 )

where c.sub.d is estimated to be 1, A is set as the frontal area of the tractor unit 12 and is set as the normal temperature and pressure of air. The rolling resistance is estimated from the rolling resistance torques obtained from the tyre model M.sub.y,ijs where i denotes the vehicle unit, j denotes the axle on the unit, and s denotes the side of the axle (left or right). Together with the radii of the tyres on the vehicle, each rolling resistance force is related as:

[00008] F roll , ijs = M y , ijs Mr ij ( 8 ) F roll , i = .Math. j = 1 a i .Math. s = [ l , r ] F roll , ijs ( 9 ) F roll , tot = .Math. i = 1 n F roll , i ( 10 )

where n is the number of units and .sub.i is the number of axles on unit i. The total resistance forces for each unit thus becomes:

[00009] F res , 1 = F d + F roll , 1 ( 11 ) F res , i = F roll , i for 1 < i n ( 12 )

[0050] A road profile is defined as the test track for the simulations, as shown in FIG. 6. In this example, the track is initiated by a straight path of 20 m, followed by a 180 turn with radius R.sub.r. The track ends with another straight of 20 m. Transition parts of 15 m are added between the straights and the turn to avoid large instantaneous differences in road curvature that could generate large vehicle motion jerks. In this example, the path has no incline, decline or camber and consists of a single lane. It will be appreciated that different road profiles with different selections of straight paths, turn angle, turn radius, incline, camber and lanes may also be implemented.

[0051] The simulated vehicle combination 10 is initiated on the road at a set cruise speed, which is controlled by the speed controller. The controller applies enough torque on the driven axles of the tractor unit 12 to keep the vehicle at the set speed. Any occurrences of oscillations in the vehicle states, induced by the transition between the initial straight and the curve have to be cancelled. Therefore, the vehicle combination 10 is run halfway through the track with the cruise controller acting on the tractor unit 12. Then, the speed controller is disconnected, letting the vehicle combination 10 roll without any applied torque. Immediately after the disconnection, a fixed constant torque T is applied on each wheel on the two front axles of the trailing unit 14. Here, no traction control or slip control is used to limit the applied torque on the wheels.

[0052] In order for the SOE to manage all possible scenarios that vehicle combinations 10 can be in, data from numerous different simulations are needed. Many parameters affect a vehicle combination's trajectory through a curve. For example, the curve's radius, the velocity of the vehicle combination 10 and the friction coefficient all play an important role when considering the motion of a vehicle combination 10 and how it will be able to handle a curve. Thus, simulation data is needed for a number of possible combinations of such parameters in order to know how the vehicle combination will behave.

[0053] During simulations, different combinations of longitudinal velocity v.sub.x, friction coefficient between the tyre and the road , curve radius R.sub.r and applied trailer torque T are used for each simulated vehicle combination 10. The friction coefficient is limited by its definition, which is the ratio between the frictional force resisting motion and the normal force between the surface and the object. The velocity of the vehicle combination may be upper limited, for example by the standard speed limit on heavy goods vehicles without trailers (>3.5 metric tonnes) on motorways and expressways (in Sweden this is 25 m/s). The longitudinal velocity v.sub.x is also limited by the maximum theoretical speed of the unit without slipping during a turn due to centripetal accelerations:

[00010] a y = v x 2 R r = g .Math. v x , lim = gR r ( 13 )

[0054] The sum of applied torque of the trailer, T, is bounded by the longitudinal slip limit between the four driven wheels of the trailer and the road:

[00011] T x , 2 , tot = ( F z , 21 + F z , 22 ) R 2 ( 14 )

where T.sub.x,2,tot is the total applied torque on the driven wheels of the trailing unit 14 in x-direction relative to its own coordinate frame and r.sub.2 is the radius of the wheels on the trailing unit 14. The longitudinal slip limit is only considered for the axle loads for the driven axles 22.

[0055] By simulating different scenarios with different radii on the test track, many different articulation angles are covered in the SOE. Simulations may be performed using any suitable radius. In one example, simulations are performed using radii ranging from 10 m to 100 m.

[0056] To summarize, the limits of the parameters that make up the SOE in one example may be bounded as follows:

[00012] { [ 0 , 1 ] v X [ 0 , min ( gR r 25 ) ] T [ - 1 4 T x , 2 , tot , 1 4 T x , 2 , tot ] R r [ 10 , 1 0 0 ] ( 15 )

T is the torque applied at each wheel and thus the limits are set to T.sub.x,2,tot divided by the number of driven wheels. When applying the torque on the trailing unit 14 in the simulations, the current articulation angle and the coupling forces must be measured. These can be difficult to measure due to large jerks in the vehicle combination 10 when applying the torque halfway through the track. Therefore, is approximated using the average of last 30% of the measurements before the torque is applied. This will account for any fluctuations of close to when the torque is applied.

[0057] The coupling forces are affected by the applied torque on the trailer, which in turn is delayed by the transfer function in equation 1. Similar to when approximating the articulation angle, further measurements are required to reach sufficiently stable values of the coupling forces once the full torque of the trailing unit 14 is applied to the vehicle combination 10. Therefore, the coupling forces are taken as the average values, for example between 1 and 2 seconds after the torque is first applied to the trailing unit 14. If the vehicle combination 10 does not manage to drive 2 seconds or more after the torque is applied, then the average is taken up until the end of the simulation. This will however increase the risk of uncertain and inaccurate estimations of the coupling forces.

[0058] Each individual simulation run will generate one data point in the SOE. All generated data points contain relevant data from their corresponding simulation. There are several ways to define the data points. One approach is to record the applied torque T on each driven wheel of the trailing unit 14 as well as the friction coefficient between the tyres and the road, the radius of the curve R.sub.r and the longitudinal velocity of the tractor unit 12, v.sub.x,1. Since these are variables that may vary throughout the simulated curve, they are recorded at the moment the trailing unit torque is first applied. This results in a 4-dimensional SOE that considers both vehicle states as well as environmental parameters.

[0059] The 4-dimensional SOE will only be reliable when the trailing unit 14 handles all propulsion and when radius of the road is known. However, since the dynamics of the vehicle combination 10 will change depending on which units are used for propulsion, a more flexible definition of the SOE is needed in order to cover different propulsion distributions. Thus, the SOE must include additional parameters regarding to the state of the vehicle. By also including longitudinal and lateral coupling forces F.sub.cxr,1, F.sub.cyr,1 in the SOE, relations between the units can be made which allows for force limitations on different combinations of units in the different simulated vehicle combinations 10. Furthermore, since the radius of the road is difficult to measure and not always a reliable metric of the pose of the vehicle combination 10, the road radius is replaced with the current articulation angle since it is easier to measure and makes for a better descriptor of the difference in yaw angle between tractor and trailer. Therefore, the parameters which define the SOE are instead chosen to be T, , v.sub.x,1, F.sub.cxr,1, F.sub.cyr,1 and .

[0060] This way of representing the SOE will be more general since it is 6-dimensional and because the coupling forces allows for some degree of disturbance handling. For instance, when the tractor unit 12 is braking, or when strong winds are pushing on the trailing unit 14, the coupling forces will be affected and thus such disturbances will also be considered.

[0061] The 6-dimensional SOE can be visualized by first considering it as a set of 3D spaces that are gathered in a 2D space. This is illustrated in FIG. 7. In the SOE, the parameters and v.sub.x,1 are considered to vary the least out of the five parameters of the SOE, which is why these are chosen to make up the 2D space. For each of the data points in the plane there exist a 3D space made up of the remaining parameters. Specifying all of the first five parameters then gives the corresponding applied torque, T, of the specific data point, which represents the last dimension.

[0062] The resolution of the SOE increases by the number of simulations and resulting data points. A very high resolution of the SOE is desirable as it allows for identifying unsafe scenarios more accurately and will find more suitable suggestions of torque limits. On the contrary, using a large SOE will require more computing resources in order to find the closest safe data point. In order to obtain a SOE that covers all relevant states of the vehicle, suitable parameter limits are used, such as those exemplified in equation 15.

[0063] Each data point is classified as either safe or unsafe depending on the outcome of the corresponding simulation. As discussed above, unsafe behaviours are summarised into four possible modes: off-tracking of the vehicle combination, jack-knifing of the vehicle combination, swing of the at least one trailing unit, or rollover of the vehicle combination.

[0064] Unsafe behaviour due to off-tracking, as depicted in FIG. 2A, is considered to occur when the lateral displacement of the centre of the front most axle of the tractor unit 12 is more than half the width of a single lane from the centre of the lane. Highways lanes close to rural areas in Sweden are required to be at least 3.25 meters wide. Therefore, in one example, the threshold for off-tracking is therefore set to 1.75 m.

[0065] A jack-knife situation, as shown in FIG. 2B is detected by using the lateral slip of both the tractor unit 12 and the trailing unit 14 together with the articulation angle between the units. The definition of jack-knife specifies that the rear axles of the tractor unit 12 should lose traction while the axles of the trailing unit 14 should maintain traction. The lateral slip of the rear axles of the tractor unit 12 will thus be high and the lateral slip of the trailing unit 14 will be low. Based on experience from simulations the thresholds for lateral slip, , are chosen as

[00013] 1 2 = .Math. "\[LeftBracketingBar]" v y , 12 .Math. "\[RightBracketingBar]" .Math. "\[LeftBracketingBar]" v x , 12 .Math. "\[RightBracketingBar]" > 0.8 ( 16 ) 2 2 = .Math. "\[LeftBracketingBar]" v y , 22 .Math. "\[RightBracketingBar]" .Math. "\[LeftBracketingBar]" v x , 22 .Math. "\[RightBracketingBar]" < 0 . 4 ( 17 )

where index 12 and 22 represents the second wheel axle of the first and second units correspondingly. The threshold values are chosen from experience in simulations. In addition, in order to further define jack-knifing, a lower limit on the articulation angle, , is added. Since jack-knifing only poses a danger for the vehicle when the tractor and trailer crashes into each other, ||90 is used as an additional condition, which defines jack-knifing. When all three thresholds are fulfilled, jack-knifing is considered to occur.

[0066] The definition used for trailer swing, as shown in FIG. 2C, is similar to the one of jack-knifing. The main difference is that the tractor maintains traction and the trailer does not. Therefore the thresholds for lateral slip are reversed; .sub.12>0.4 and .sub.22<0.8. The threshold for articulation angle between the units is set to ||30.

[0067] The last unsafe behaviour, vehicle rollover as shown in FIG. 2D, includes scenarios when the vehicle rolled over to its side. The threshold used is simply a roll angle of 90 for the tractor unit 12 or trailing unit 14.

[0068] Scenarios not included in the unsafe behaviours are considered safe. A first safe scenario is when the simulated vehicle combination 10 manages to travel all the way through a simulated test track. There is also the possibility that the vehicle combination 10 brakes to a complete stop, without fully completing the track. Both these scenarios are deemed safe since neither suffers from any of the unsafe scenarios.

[0069] The classified data points then provide the SOE for the simulated vehicle combinations 10. The idea of the SOE is to limit the driver's inputs to ensure safe driving of a particular vehicle combination 10. More specifically, by reading and analysing the current states of a vehicle combination 10, the SOE can then be used as a reference to predict if the requests from the driver will result in safe vehicle motion. The objective is to create a point in the SOE with the current or future states of a vehicle combination 10 and find a similar already existing point that is classified as safe. When such a point is found, the corresponding applied torque, T, associated with said point is set as the limit for the driver's inputs. The determined torque, T, can then be validated using data from real life driving of the vehicle combination.

[0070] An unsimulated state of the vehicle combination 10 may be a state for an unsimulated vehicle combination 10, and/or a state for a simulated vehicle combination 10 having different operating parameters from the simulated states. An unsimulated state is defined by certain current or future parameters of that state, for example, the same parameters that define the SOE.

[0071] In particular, an unsimulated operating state may be defined by at least one of a road surface friction coefficient, , a longitudinal speed of the tractor unit, v.sub.x,1, an articulation angle between consecutive units, , a total applied torque on the tractor unit, T, a total applied torque on the at least one trailing unit, T, a longitudinal coupling force at each coupling point, F.sub.cxr,1, and a lateral coupling force at each coupling point F.sub.cyr,1.

[0072] The received unsimulated state is then applied to the SOE to determine if it is safe, or to determine a torque limit that will render it so. To ensure that the SOE does not output a limit that could result in unsafe driving, i.e. a torque request that is too large or too small, some assumptions are made. It is assumed that a smaller , larger v.sub.x,1, larger and larger absolute value of T individually and in combination with each other makes for a more difficult driving scenario and thus increases the likelihood for unsafe driving.

[0073] Using the state of the vehicle as a reference, an SOE algorithm (for example, Algorithm 1, included as an annex) can find a similar data point of equal or higher difficulty level that has been classified as safe. The algorithm achieves this by methodically filtering out all points corresponding to easier driving scenarios. To not limit the performance of the vehicle but at also include enough data points for the filtered subset, a small range of the chosen values of each parameter are used based on the assumptions made earlier:

[00014] v x , current v x , chosen v x , current + 1 m s 2 ( 18 ) chosen = max { current e .Math. "\[LeftBracketingBar]" chosen current } ( 19 ) current chosen current + 5 ( 20 )

where .sub.e is the set of friction coefficients used in the SOE. The algorithm of the SOE will find all safe data points corresponding to the current state of the vehicle, including the nearby points based on the assumptions in equations 18 to 20. With only a subset of the entire SOE remaining, a nearest neighbour method using Euclidean distance is used to find the closest safe data point to the current state. The torque corresponding to said data point is returned as a system limitation in terms of maximum positive and negative applicable torque of the trailer, T and T.

[0074] When implemented into a control system, the SOE works similarly to a look-up table. The state of the vehicle is used as reference for the first five parameters of the SOE: , .sub.x,1, F.sub.cxr,1, F.sub.cyr,1 and . These values may be obtained from sensors on-board the vehicle combination 10, or may be estimated. These parameters then determine the corresponding torque limit, T. Since the SOE is non-linear, no interpolation between existing points is made for a single vehicle combination 10, since this could result in a wrong assumption about whether the state is safe or not. Since only the safe points in the SOE are interesting when limiting the vehicle combination 10, the unsafe points are removed from the SOE to decrease the number of points to process which decreases the computational time of the SOE.

[0075] Algorithm 1 shows the concept of how the SOE can limit the inputted torque, expressed as pseudo-code. Variables from the current state of the vehicle combination 10 have their last index as s and the variables belonging to the SOE has their last index as e.

[0076] It is also possible to interpolate between points in the SOE to determine a torque limit for an unsimulated vehicle combination. For example, the SOE may be based on simulations of two different vehicle combinations: a 64 tractor unit with a 66 trailing unit, and a 64 tractor unit with a 62 trailing unit. Data points will exist where, other than the number of wheels on each unit, the operating states are identical. It is then desired to asses a vehicle combination having a 64 tractor unit with a 64 trailing unit. Since the average driven trailer wheel count of the simulated vehicle combinations included in the envelope is 4 (one with 6, one with 2), it can be assumed that torque limit for a vehicle combination having 4 driven trailer wheels is the average value of the torque limits of the simulated vehicle combinations. If there is no simulated data point for the similar vehicle combinations that exactly corresponds to the unsimulated state, a filtering and nearest neighbour approach may be used to identify a suitable point, as discussed above.

[0077] FIG. 8 is a flow chart of a method 100 for determining a torque limit for an operating state of a first vehicle combination 10 comprising a tractor unit 12 and at least one trailing unit 14. The method may be a computer-implemented method.

[0078] At step 102, a plurality of operating states for one or more second vehicle combinations 10 are simulated. Simulating the plurality of operating states may comprise using a non-linear high fidelity mathematical transport model, as discussed above. Each operating state is based on one or more operational parameters related to physical properties of one of the second vehicle combinations 10, one or more parameters related to an operating environment of the second vehicle combination 10, and one or more parameters related to a driving scenario of the second vehicle combination 10. A number of different vehicle combinations in a number of different operating states may be simulated in order to build a robust SOE.

[0079] The one or more operational parameters related to physical properties of the second vehicle combination 10 comprises at least one of a geometry of the second vehicle combination 10, a number of axles 16 of the tractor unit 12, a distance between the axles 16 of the tractor unit 12, a number of axles 18 of the at least one trailing unit 14, a distance between the axles 18 of the at least one trailing unit 14, a number of motion support devices of the tractor unit 12, a number of motion support devices of the at least one trailing unit 14, a cornering stiffness on the tyres of the tractor unit 12, a cornering stiffness on the tyres of the at least one trailing unit 14, an inertia about a yaw-axis of the tractor unit 12, an inertia about a yaw-axis of the at least one trailing unit 14, an electric motor peak torque output on the tractor unit 12, an electric motor peak torque output on the at least one trailing unit 14, an axle load on at least one axle 16 of the tractor unit 12, and an axle load on at least one axle 18 of the at least one trailing unit 14. The one or more parameters related to an operating environment of the second vehicle combination comprises at least one of a road profile and a road surface friction coefficient, . The one or more parameters related to a driving scenario of the second vehicle combination comprises at least one of a longitudinal speed of the tractor unit, v.sub.x,1, at least one articulation angle between consecutive units, , a total applied torque on the tractor unit, T.sub.1, a total applied torque on the at least one trailing unit, T.sub.i(i>1), a longitudinal coupling force at each coupling point, F.sub.cxr,1, and a lateral coupling force at each point F.sub.cyr,1.

[0080] At step 104, each of the simulated operating states is classified as safe or unsafe. Classifying each of the simulated operating states as safe or unsafe comprises determining an outcome of a driving manoeuvre defined by the operating state, and classifying the operating state as unsafe if the outcome of the driving manoeuvre is an unsafe mode. The unsafe modes comprise off-tracking of the vehicle combination, jack-knifing of the vehicle combination, swing of the at least one trailing unit, or rollover of the vehicle combination. If the outcome of the driving manoeuvre is not an unsafe mode, the operating state is classified as safe. A torque limit may be determined for each of the plurality of simulated operating states to provide a safe operating envelope for the second vehicle combination. The determined torque limits may be validated using data from real life driving of the second vehicle combination.

[0081] At step 106, an unsimulated operating state for the first vehicle combination 10 is received. The unsimulated state may be an operating state for an unsimulated vehicle combination, or an unsimulated operating state for a simulated vehicle combination. That is to say, the first vehicle combination and the second vehicle combination may be different or the same. The unsimulated operating state for the first vehicle combination is characterised by at least one of a road surface friction coefficient, , a longitudinal speed of the tractor unit, v.sub.x,1, an articulation angle between consecutive units, , a total applied torque on the tractor unit, T, a total applied torque on the at least one trailing unit, T, a longitudinal coupling force at each coupling point, F.sub.cxr,1, and a lateral coupling force at each coupling point F.sub.cyr,1.

[0082] At step 108, a torque limit for the unsimulated operating state is determined based on the simulated operating states. This can be achieved by determining a nearest simulated operating state, for example using a nearest neighbour method using Euclidean distance. For an unsimulated vehicle combination, this can be achieved by interpolating between operating states of two simulated (second) vehicle combinations that similar to the first vehicle combination.

[0083] The determined torque limit may be applied to a total propulsion load of a plurality of motion support devices of the tractor unit 12 and/or the at least one trailing unit 14 of the first vehicle combination. The plurality of motion support devices comprises a plurality of electric motors that are configured to drive axles of the vehicle combination 10.

[0084] FIG. 9 is a block diagram illustrating an exemplary computer system 900 in which embodiments of the present disclosure may be implemented. This example illustrates a computer system 900 such as may be used, in whole, in part, or with various modifications, to provide the functions of the disclosed system. For example, various functions may be controlled by the computer system 900, including, merely by way of example, simulating, determining, classifying, receiving, etc.

[0085] The computer system 900 is shown comprising hardware elements that may be electrically coupled via a bus 990. The hardware elements may include one or more central processing units 910, one or more input devices 920 (e.g., a mouse, a keyboard, etc.), and one or more output devices 930 (e.g., a display device, a printer, etc.). The computer system 900 may also include one or more storage devices 940. By way of example, the storage devices 940 may be disk drives, optical storage devices, solid-state storage device such as a random-access memory (RAM) and/or a read-only memory (ROM), which can be programmable, flash-updateable and/or the like.

[0086] The computer system 900 may additionally include a computer-readable storage media reader 950, a communications system 960 (e.g., a modem, a network card (wireless or wired), an infra-red communication device, Bluetooth device, cellular communication device, etc.), and a working memory 980, which may include RAM and ROM devices as described above. In some embodiments, the computer system 900 may also include a processing acceleration unit 970, which can include a digital signal processor, a special-purpose processor and/or the like.

[0087] The computer-readable storage media reader 950 can further be connected to a computer-readable storage medium, together (and, optionally, in combination with the storage devices 940) comprehensively representing remote, local, fixed, and/or removable storage devices plus storage media for temporarily and/or more permanently containing computer-readable information. The communications system 960 may permit data to be exchanged with a network, system, computer and/or other component described above.

[0088] The computer system 900 may also comprise software elements, shown as being currently located within the working memory 980, including an operating system 988 and/or other code 984. It should be appreciated that alternative embodiments of a computer system 900 may have numerous variations from that described above. For example, customised hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Furthermore, connection to other computing devices such as network input/output and data acquisition devices may also occur.

[0089] Software of the computer system 900 may include code 984 for implementing any or all of the function of the various elements of the architecture as described herein. For example, software, stored on and/or executed by a computer system such as the system 900, can provide the functions of the disclosed system. Methods implementable by software on some of these components have been discussed above in more detail.

TABLE-US-00001 Annex: Algorithm 1 Limiting T using a safe operating envelope Input: v.sub.x.sub.s, .sub.s, F.sub.cx.sub.s, F.sub.cy.sub.s, |.sub.s|, T.sub.s, E custom-character Input variable E contains envelope Output: T, T max(.sub.s < .sub.e) E Remaining points in E with .sub.e = E Remaining points in E with v.sub.x.sub.s v.sub.x.sub.e v.sub.x.sub.s+ 1 E Remaining points in E with .sub.s .sub.e .sub.s + 5 dists ||E [F.sub.cx.sub.s , F.sub.cy.sub.s ]|| custom-character Euclidean distance neighbors Index after sort of dists in ascending order n 1 custom-character Neighbor index while n Nneighbors do if T.sub.s 0 and E(neighbor.sub.n).sub.T 0 then F.sub.cx.sub.safe neighbor.sub.n,Fcx F.sub.cy.sub.safe neighbor.sub.n,Fcy else if T.sub.s < 0 and E(neighbor.sub.n).sub.T < 0 then F.sub.cx.sub.safe neighbor.sub.n,Fcx F.sub.cy.sub.safe neighbor.sub.n,Fcy else n n + 1 end if end while T.sub.safe E(neighbor.sub.n).sub.T if T.sub.safe 0 then T T.sub.safe T Inf else T T.sub.safe T Inf end if