WHEEL SLIP-BASED MOTION CONTROL FOR HEAVY-DUTY VEHICLES

20240391434 · 2024-11-28

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for controlling motion by a heavy-duty vehicle, where the vehicle is arranged to be controlled based on a target longitudinal wheel slip of at least one driven wheel on the vehicle. The method includes: monitoring an acceleration of the vehicle; monitoring a current longitudinal wheel slip of the at least one driven wheel; reducing the target longitudinal wheel slip of the at least one driven wheel in case the monitored acceleration of the vehicle decreases while the monitored current longitudinal wheel slip is non-decreasing; and controlling wheel slip of the at least one driven wheel based on the target longitudinal wheel slip.

    Claims

    1. A method for controlling motion by a heavy-duty vehicle, wherein the vehicle is arranged to be controlled based on a target longitudinal wheel slip of at least one driven wheel on the vehicle, the method comprising monitoring an acceleration of the vehicle, monitoring a current longitudinal wheel slip of the at least one driven wheel, reducing the target longitudinal wheel slip of the at least one driven wheel in case the monitored acceleration of the vehicle decreases while the monitored current longitudinal wheel slip is non-decreasing, and controlling wheel slip of the at least one driven wheel based on the target longitudinal wheel slip.

    2. The method according to claim 1, wherein the target longitudinal wheel slip after reduction is determined based on the current longitudinal wheel slip.

    3. The method according to claim 1, wherein the target longitudinal wheel slip after reduction is determined based on a previous target longitudinal wheel slip.

    4. The method according to claim 1, comprising increasing the target longitudinal wheel slip of the at least one driven wheel in case the monitored acceleration of the vehicle does not decrease while the monitored current longitudinal wheel slip is non-decreasing.

    5. The method according to claim 1, comprising reducing the target longitudinal wheel slip of the at least one driven wheel in case the monitored acceleration of the vehicle increases while the monitored current longitudinal wheel slip decreases.

    6. The method according to claim 1, wherein the target wheel slip is determined based on a change in acceleration.

    7. The method according to claim 1, wherein the target wheel slip is determined based on a change in current longitudinal wheel slip.

    8. The method according to claim 6, wherein the target wheel slip is determined based on a weighted combination of the change in acceleration and the change in current longitudinal wheel slip.

    9. The method according to claim 6, wherein the target wheel slip is determined based on the change in acceleration and the change in current longitudinal wheel slip together with a loop gain factor.

    10. The method according to claim 9, wherein the loop gain factor is different whether or not the monitored acceleration of the vehicle decreases while the monitored current longitudinal wheel slip is non-decreasing.

    11. The method according to claim 7, wherein the loop gain factor and/or factors in the weighted combination are dynamically updated based on a driving scenario.

    12. The method according to claim 1, wherein the current longitudinal wheel slip is determined from a speed difference between a driven wheel and a non-driven wheel.

    13. The method according to claim 1, wherein the acceleration is obtained from an accelerometer.

    14. The method according to claim 1, wherein the acceleration is obtained from a speed of the vehicle .

    15. The method according to claim 1, wherein the acceleration is a longitudinal acceleration of the driven wheel.

    16. A control unit for controlling motion by a heavy-duty vehicle, wherein the vehicle is arranged to be controlled based on a target longitudinal wheel slip of at least one driven wheel on the vehicle, wherein the control unit comprises: processing circuitry; a network interface coupled to the processing circuitry; and a memory coupled to the processing circuitry, wherein the memory comprises machine readable computer program instructions that, when executed by the processing circuitry, causes the control unit to monitor an acceleration of the vehicle, monitor a current longitudinal wheel slip of the at least one driven wheel, reduce the target longitudinal wheel slip of the at least one driven wheel in case the monitored acceleration of the vehicle decreases while the monitored current longitudinal wheel slip is non-decreasing, and control wheel slip of the at least one driven wheel based on the target longitudinal wheel slip.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0020] With reference to the appended drawings, below follows a more detailed description of embodiments of the invention cited as examples. In the drawings:

    [0021] FIG. 1 is a lateral side view illustrating an example heavy-duty vehicle;

    [0022] FIGS. 2A-2B are graphs showing example tyre forces versus wheel slip;

    [0023] FIG. 3 is a plot showing acceleration versus wheel slip;

    [0024] FIG. 4 schematically illustrates a control unit;

    [0025] FIG. 5 shows an example computer program product;

    [0026] FIG. 6 shows an example motion support device control arrangement;

    [0027] FIG. 7 is a flow chart illustrating methods; and

    [0028] FIG. 8 illustrates an example vehicle control function architecture.

    DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE INVENTION

    [0029] The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which certain aspects of the invention are shown. This 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, these 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. Like numbers refer to like elements throughout the description.

    [0030] 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.

    [0031] With reference to FIG. 1, there is depicted a vehicle 100 in the form of a truck. The vehicle comprises a plurality of wheels 102, wherein each of the wheels 102 comprises a respective motion support device (MSD) 104. Although the embodiment depicted in FIG. 1 illustrates an MSD for each of the wheels 102, it should be readily understood that, e.g., one pair of wheels 102 may be arranged without such an MSD 104. Also, an MSD may be arranged connected to more than one wheel, e.g., via a differential arrangement. Further, the MSDs 104 are preferably MSDs for generating a torque on a respective wheel of the vehicle or for both wheels of an axle. The MSD may be a propulsion device, such as an electric machine 106 arranged to e.g., provide a longitudinal wheel force to the wheel(s) of the vehicle 100. Such an electric machine may thus be adapted to generate a propulsion torque as well as to be arranged in a regenerative braking mode for electrically charging a battery (not shown) or other energy storage system(s) of the vehicle 100. Electric machines may also generate braking torque without storing energy. For instance, brake resistors and the like may be used to dissipate the excess energy from the electric machines during braking.

    [0032] Moreover, each of the MSDs 104 is connected to a respective MSD control system 630 arranged for controlling operation of the MSD 104. The MSD control system 630 is preferably a decentralized motion support system 630, although centralized implementations are also possible. It is furthermore appreciated that some parts of the MSD control system may be implemented on processing circuitry remote from the vehicle, such as on a remote server 120 accessible from the vehicle via wireless link. Still further, each MSD control system 630 is connected to a vehicle motion management (VMM) system or function 660 of the vehicle 100 via a data bus communication arrangement 114 that can be either wired, wireless or both wired and wireless. Hereby, control signals can be transmitted between the vehicle motion management system 660 and the MSD control system 630. The vehicle motion management system 660 and the MSD control system 630 will be described in further detail below with reference to FIG. 6 and FIG. 8.

    [0033] Generally, the MSDs on the vehicle 100 may also be realized as, e.g., a friction brake, a power steering device, active suspension, and the like. Notably, these MSDs are often coordinated in order to obtain a desired motion by the vehicle. For instance, two or more MSDs may be used jointly to generate a desired propulsion torque or braking torque.

    [0034] It is appreciated that the herein disclosed methods and control units can be applied with advantage also in other types of heavy-duty vehicles, such as trucks with drawbar connections, construction equipment, buses, and the like. The vehicle 100 may also comprise more than two vehicle units, i.e., a dolly vehicle unit may be used to tow more than one trailer.

    [0035] The VMM system 660 as well as the MSD control system 630 may include a microprocessor, microcontroller, programmable digital signal processor or another programmable device. The systems may also, or instead, include an application specific integrated circuit, a programmable gate array or programmable array logic, a programmable logic device, or a digital signal processor. Where the system(s) include(s) a programmable device such as the microprocessor, microcontroller or programmable digital signal processor mentioned above, the processor may further include computer executable code that controls operation of the programmable device. Implementation aspects of the different vehicle unit processing circuits will be discussed in more detail below in connection to FIG. 4.

    [0036] FIG. 2A is a graph showing an example 200 of achievable tyre force as function of longitudinal wheel slip. Longitudinal wheel slip .sub.x may, in accordance with SAE J670 (SAE Vehicle Dynamics Standards Committee Jan. 24, 2008) be defined as

    [00001] x = R x - v x max ( .Math. "\[LeftBracketingBar]" R x .Math. "\[RightBracketingBar]" , .Math. "\[LeftBracketingBar]" v x .Math. "\[RightBracketingBar]" )

    [0037] Where R is an effective wheel radius in meters, .sub.x is the angular velocity of the wheel, and v.sub.x is the longitudinal speed of the wheel (in the coordinate system of the wheel). Thus, .sub.x is bounded between 1 and 1 and quantifies how much the wheel is slipping with respect to the road surface. Wheel slip is, in essence, a speed difference measured between the wheel and the vehicle. Thus, the herein disclosed techniques can be adapted for use with any type of wheel slip definition. It is also appreciated that a wheel slip value is equivalent to a wheel speed value given a velocity of the wheel over the surface, in the coordinate system of the wheel. The VMM 660 and optionally also the MSD control system 630 optionally maintains information on v.sub.x (in the reference frame of the wheel), while a wheel speed sensor or the like can be used to determine .sub.x (the rotational velocity of the wheel).

    [0038] In order for a wheel (or tyre) to produce a wheel force, slip must occur. For smaller slip values the relationship between slip and generated force are approximately linear, where the proportionality constant is often denoted as the slip stiffness of the tyre. A tyre is subject to a longitudinal force F.sub.x, a lateral force F.sub.y, and a normal force F.sub.z. The normal force F.sub.z is key to determining some important vehicle properties. For instance, the normal force to a large extent determines the achievable lateral tyre force F.sub.y by the wheel since, normally, F.sub.xF.sub.z, where is a friction coefficient associated with a road friction condition. The maximum available lateral force for a given lateral slip can be described by the so-called Magic Formula as described in Tyre and vehicle dynamics, Elsevier Ltd. 2012, ISBN 978-0-08-097016-5, by Hans Pacejka.

    [0039] The longitudinal tyre force Fx1, Fx2 shows an almost linearly increasing part 210 for small wheel slips, followed by a part 220 with more non-linear behaviour for larger wheel slips. The tyre model Fx1 is representative of a high friction scenario, i.e., dry road with good tyres, while Fx2 is representative of a reduced friction scenario. Note that the achievable tyre force drops with , and that the peak value 230, 240 shifts in dependence of the driving conditions.

    [0040] FIG. 2B is another graph 250 showing an example of achievable tyre force as function of wheel slip. This figure shows the longitudinal tyre force Fx and an obtainable lateral tyre force Fy, which decreases rapidly even at relatively small longitudinal wheel slips. It is desirable to maintain vehicle operation in the linear region 210 also because enough lateral tyre force can be generated there if needed. If the current wheel slip passes too far beyond the peak, almost no lateral force is possible to generate, which may result in the vehicle sliding off the road or failing to perform a cornering maneuver.

    [0041] It is desirable to maintain vehicle operation in the linear region 210, where the obtainable longitudinal force in response to an applied brake command is easier to predict, and where enough lateral tyre force can be generated if needed. To ensure operation in this region, a wheel slip limit .sub.lim on the order of, e.g., 0.1, can be imposed on a given wheel. For larger wheel slips, e.g., exceeding 0.1, a more non-linear region 220 is seen. Control of a vehicle in this region may be difficult and is therefore often avoided. It may be interesting for traction in off-road conditions and the like where a larger slip limit for traction control might be preferred, but not for on-road operation.

    [0042] The interface between VMM and MSDs capable of delivering steering and optionally also torque to the vehicle's wheels has, traditionally, been focused on torque-based requests to each MSD from the VMM without any consideration towards wheel slip. However, this approach has significant performance limitations. In case a safety critical or excessive slip situation arises, then a relevant safety function (traction control, anti-lock brakes, etc.) operated on a separate control unit normally steps in and requests a torque override in order to bring the slip back into control. The problem with this approach is that since the primary control of the actuator and the slip control of the actuator are allocated to different electronic control units (ECUs), the latencies involved in the communication between them significantly limits the slip control performance. Moreover, the related actuator and slip assumptions made in the two ECUs that are used to achieve the actual slip control can be inconsistent and this in turn can lead to sub-optimal performance. Significant benefits can be achieved by instead using a wheel speed or wheel slip-based request on the interface between VMM 660 and the MSD controller or controllers 630, thereby shifting the difficult actuator speed control loop to the MSD controllers, which generally operate with a much shorter sample time compared to that of the VMM function. Such an architecture can provide much better disturbance rejection compared to a torque-based control interface and thus improves the predictability of the forces generated at the tyre road contact patch.

    [0043] Turning now to FIG. 6, the overall vehicle control system 600 may be implemented on one or more vehicle unit computers (VUC). The VUC may be configured to execute vehicle control methods which are organized according to a layered functional architecture where some functionality may be comprised in a traffic situation management (TSM) domain 670 in a higher layer and some other functionality may be comprised in a vehicle motion management (VMM) domain 660 residing in a lower functional layer.

    [0044] FIG. 6 schematically illustrates functionality 600 for controlling an example wheel 610 on the vehicle 100 by some example MSDs here comprising a friction brake 620 (such as a disc brake or a drum brake), a propulsion device 640 and a steering arrangement 631. The friction brake 620 and the propulsion device are examples of wheel torque generating devices, which can be controlled by one or more motion support device control units 630. The control is based on, e.g., measurement data obtained from a wheel speed sensor 650 and from other vehicle state sensors, such as radar sensors, lidar sensors, and also vision based sensors such as camera sensors and infra-red detectors. An MSD control system 630 may be arranged to control one or more actuators. For instance, it is not uncommon that an MSD control system 630 is arranged to control both wheels on an axle.

    [0045] The TSM function 670 plans driving operation with a time horizon of 10 seconds or so. This time frame corresponds to, e.g., the time it takes for the vehicle 100 to negotiate a curve or the like. The vehicle manoeuvres, planned and executed by the TSM function, can be associated with acceleration profiles and curvature profiles which describe a desired target vehicle velocity in the vehicle forward direction and turning to be maintained for a given manoeuvre. The TSM function continuously requests the desired acceleration profiles a.sub.req and steering angles (or curvature profiles C.sub.req) from the VMM function 660 which performs force allocation to meet the requests from the TSM function in a safe and robust manner. The VMM function 660 operates on a timescale of below one second or so and will be discussed in more detail below.

    [0046] The wheel 610 has a longitudinal velocity component v.sub.x and a lateral velocity component v.sub.y. There is a longitudinal wheel force F.sub.x and a lateral wheel force F.sub.y, and also a normal force F.sub.z acting on the wheel (not shown in FIG. 6). Unless explicitly stated otherwise, the wheel forces are defined in the coordinate system of the wheel, i.e., the longitudinal force is directed in the rolling plane of the wheel, while the lateral wheel force is directed normal to the rolling plane of the wheel. The wheel has a rotational velocity w.sub.x, and a radius R.

    [0047] The type of tyre models 200 shown in FIGS. 2A and 2B can be used by the VMM 660 to generate a desired tyre force at some wheel. Instead of requesting a torque corresponding to the desired tyre force, the VMM can translate the desired tyre force into an equivalent wheel slip (or, equivalently, a wheel speed relative to a speed over ground) and request this slip instead. The main advantage being that the MSD control device 630 will be able to deliver the requested torque with much higher bandwidth by maintaining operation at the desired wheel slip, using the vehicle speed .sub.x and the wheel rotational velocity .sub.x, obtained, e.g., from the wheel speed sensor 650. The longitudinal wheel slip can also be determined from a speed difference between a driven wheel 102 and a non-driven wheel. Here, a driven wheel is a wheel influenced by any MSD, and a non-driven wheel is a wheel not influenced by any MSD, i.e., that the wheel is rolling freely. The vehicle speed .sub.x can be obtained from various vehicle sensors such as radar, lidar, and vision-based sensor in combination with a global positioning system (GPS) receiver and the like. Thus, it is appreciated that wheel slip can be determined in a number of different ways, and that the vehicle may implement several of these in a redundant system for increased safety.

    [0048] As mentioned, it is often difficult to obtain an accurate tyre model 200 and it is often challenging to provide the vehicle control system with accurate data such as surface characteristics. This results in a suboptimal control both in the case a wheel slip limit is imposed or if a specific wheel slip is requested directly from the MSD in a speed-controlled mode of operation or in a wheel slip controlled mode of operation.

    [0049] The present disclosure therefore proposes to dynamically updates a slip target. This increases the chance to avoid vehicle stalling due to a sub-optimum base target slip. The target slip can be purely measurement-based and does not require knowledge about the surface, vehicle, tires, or any other environmental condition known as correlated with friction. It is appreciated that a slip target is in many ways equivalent to a wheel speed target since the wheel slip and the wheel speed are directly related to each other via the vehicle speed .sub.x as discussed above.

    [0050] Referring back to FIGS. 2A and 2B, it is desired to be in the linear region 210 (often with some margin) and undesired to be in the non-linear region 220. It has been realized that it is particularly undesired to be in a scenario where acceleration (proportional to tyre force) is decreasing at the same time as longitudinal wheel slip is increasing or maintained. This is true even if the exact shape tyre model curve is unknown. This scenario corresponds to moving downwards and to the right in FIGS. 2A and 2B, along curve Fx1 or Fx2. The disclosed method therefore controls wheel slip using an algorithm which will interfere by reducing a target slip as soon as it realizes that the vehicle is losing acceleration while the slip is either kept steady or increased. In a sense, the methods disclosed herein try to detect where the peak location of the tyre force curve is by adjusting the target wheel slip in this manner.

    [0051] In other words, there is disclosed herein a method for controlling motion by a heavy-duty vehicle 100, as is shown in FIG. 7. The vehicle is arranged to be controlled based on a target longitudinal wheel slip .sub.target(k+1) of at least one driven wheel 102 on the vehicle. The method comprises monitoring S1 an acceleration v.sub.x(k) of the vehicle 100, monitoring S2 a current longitudinal wheel slip .sub.x(k) of the at least one driven wheel 102, reducing S3 the target longitudinal wheel slip .sub.target(k+1) of the at least one driven wheel 102 in case the monitored acceleration v.sub.x(k) of the vehicle 100 decreases while the monitored current longitudinal wheel slip .sub.x(k) is non-decreasing, and controlling S4 wheel slip of the at least one driven wheel 102 based on the target longitudinal wheel slip .sub.target(k+1).

    [0052] The method thus sets a new target wheel slip, i.e., a reduced target wheel slip, when it is observed that current wheel slip and current acceleration are both changing in an undesired way, i.e., the monitored acceleration v.sub.x(k) of the vehicle 100 decreases while the monitored current longitudinal wheel slip .sub.x(k) is maintained or is increasing. This corresponds to a leftward movement in FIGS. 2A and 2B.

    [0053] The disclosed method mainly targets desired vehicle motion comprising an acceleration of the vehicle in the forward direction, i.e., an increase of the velocity in the forward direction of the vehicle. The disclosed method is primarily not aimed at a desired motion comprising a negative acceleration (braking), i.e., a decreasing velocity in the forward direction of the vehicle, although many aspects of the herein disclosed techniques are applicable also for braking. However, the jerk of the vehicle, with respect to the forward direction, can be positive or negative. The disclosed method is suitable for, e.g., a vehicle ascending a hill or a vehicle starting from a standstill.

    [0054] The target wheel slip can be a wheel slip limit where the controlling of wheel slip means to impose an upper wheel slip limit. Alternatively, the target wheel slip can be a value for a direct wheel slip request or for a wheel speed request (then configured in dependence of vehicle speed). In any case, when the current wheel slip and the current acceleration are both changing in an undesired way, it is desired to reduce the target wheel slip.

    [0055] The monitoring and control of wheel slip can be applied to a single wheel of the vehicle. Alternatively, the monitoring and control can be applied to a plurality of wheels. In that case, the monitoring and control may be individual for each driven wheel. Alternatively, or in combination of, the monitoring and control may utilize some averaging for a plurality of wheels. For example, an average wheel slip can be monitored, and a plurality of wheels are then controlled based on a single target wheel slip.

    [0056] FIG. 3 is a plot 300 showing acceleration versus slip. Here, b (k) is a vector representing a change in acceleration and a change in slip, where k is representing time (a single time instance or some time period). More specifically,

    [00002] b ( k ) = [ ( k ) , v x ( k ) ] , where ( k ) = ( k ) - ( k - 1 ) , and v x ( k ) = v x ( k ) - v x ( k - 1 ) .

    [0057] The vector b (k) can point in any direction in FIG. 3. Note that the origin 310 does not represent zero values for the acceleration and slip; it is merely a starting point (at a previous time instance). The vector points at the current acceleration and slip. In the particular example of FIG. 3, the vector starts at the origin and point northeast (up and to the right). This corresponds to an increase in both acceleration and slip. According to the disclosed method, the target longitudinal wheel slip .sub.target(k+1) is reduced if the acceleration v.sub.x(k) decreases while the wheel slip .sub.x(k) is non-decreasing. This corresponds to the vector b(k) pointing southeast or directly south in FIG. 3. In FIG. 3, this quadrant has been assigned reference numeral 320.

    [0058] The acceleration v.sub.x(k) and the current longitudinal wheel slip .sub.x(k) are monitored over time, which makes it possible to observe changes over time. To determine a change .sub.x(k), v.sub.x(k) can mean to compare a current vale to a previous value. The current value and/or the previous value may be a single value at a single time instance or be some average value over a period of time. The current value, the previous value, and/or the difference can be filtered to, e.g., account for noise.

    [0059] In a curve on a road, the ground acceleration may be slightly different from the longitudinal acceleration in the longitudinal direction of the driven wheel. The ground acceleration can be in the extension direction of the truck, of a part of a vehicle combination, or of some average of a vehicle combination. Preferably, the disclosed method uses the longitudinal acceleration in the longitudinal direction of the driven wheel, which can be related to a tyre model. However, using the ground acceleration instead would also provide the same technical effect of improved vehicle control. Furthermore, there is often not a significant difference between the different accelerations. In other words, the acceleration v.sub.x(k) preferably is a longitudinal acceleration of the driven wheel 102. If several wheels are monitored and controlled, an individual acceleration value may be observed for each wheel since different wheels may be turned in different directions.

    [0060] The acceleration v.sub.x(k) may be obtained from an accelerometer, which can include both pitch (inclination) and the vehicle ground acceleration. The acceleration can be obtained in other ways as well, such as from the speed of the vehicle 100. Any such data can be obtained by various vehicle sensors such as radar, lidar, and vision-based sensor in combination with a global positioning system (GPS) receiver and the like.

    [0061] Normally, the measured current wheel slip is almost exactly the same value as the request if wheel slip is controlled by a direct wheel slip request. Furthermore, the current value is normally always equal or less than the target if wheel slip is controlled by a wheel slip limit. Therefore, normally .sub.x(k).sub.target(k) no matter how the wheel slip is controlled.

    [0062] According to aspects, an upcoming wheel slip target is based on either the current measured value or the previous target value. In other words, the target longitudinal wheel slip .sub.target(k+1) may be determined S31 based on the current longitudinal wheel slip .sub.x(k). For example, the reduction S3 of the target longitudinal wheel slip .sub.target(k+1) may be a reduction from the current longitudinal wheel slip .sub.x(k), i.e., .sub.target(k+1)=.sub.x(k)offset. Different examples of how the offset can be selected are discussed below. The current longitudinal wheel slip can be a single value at a time instance or some average value over a period of time. This value may also be filtered to, e.g., account for noise.

    [0063] The target longitudinal wheel slip .sub.target(k+1) may be determined S32 based on a previous target longitudinal wheel slip .sub.target(k). For example, the reduction S3 of the target longitudinal wheel slip .sub.target(k+1) may be a reduction from previous target longitudinal wheel slip .sub.target(k), i.e., .sub.target(k+1)=.sub.target(k)offset. Different examples of how the offset can be selected are discussed below. The previous target wheel slip can mean a previous value at a previous time instance or some average value over a period of time. This value may also be filtered to, e.g., account for noise.

    [0064] As mentioned, it is undesired to move southeast or south in FIGS. 2A and 2B since that indicates that that vehicle is in the non-linear region 220 and moving further into it. However, when moving in other directions (i.e., southwest, west, northwest, north, northeast, and east). It can be desirable to increase the wheel slip rather than decreasing it. This way, it may be possible to hit the peak of the curve, i.e., the maximum possible acceleration given some surface condition. This is particularly advantageous if the tyre model is inaccurate or suboptimal. In other words, the method may comprise increasing S33 the target longitudinal wheel slip .sub.target(k+1) of the at least one driven wheel 102 in case the monitored acceleration v.sub.x(k) of the vehicle 100 does not decrease while the monitored current longitudinal wheel slip .sub.x(k) is non-decreasing.

    [0065] The target wheel slip .sub.target(k+1) may be determined S35 based on a change in acceleration v.sub.x(k). For example, the reduction S3 of the target longitudinal wheel slip .sub.target(k+1) may be a reduction from the current longitudinal wheel slip .sub.x(k) by the change in acceleration v.sub.x(k), i.e., .sub.target(k+1)=.sub.x(k)vx (k). Various ways of obtaining this change were discussed above. The change in acceleration may be assigned with some factor for normalization and/or weighting purposes, i.e., w.sub.2v.sub.x(k). The change is preferably normalized to obtain a unitless value. It may, e.g., be normalized with the current value v.sub.x(k) or with the previous value v.sub.x(k1). The factor w.sub.2 may alternatively, or in combination of, comprise a weight for adjusting the effect the acceleration change has on the new target wheel slip .sub.target(k+1).

    [0066] The target wheel slip .sub.target(k+1) may be determined S36 based on a change in current longitudinal wheel slip .sub.x(k). For example, the reduction S3 of the target longitudinal wheel slip .sub.target(k+1) may be a reduction from the current longitudinal wheel slip .sub.x(k) by the change in wheel slip .sub.x(k), i.e., .sub.target(k+1)=.sub.x(k).sub.x(k). Various ways of obtaining this change were discussed above. The change in wheel slip may be assigned with some factor for normalization and/or weighting purposes, i.e., w.sub.1.sub.x(k). The factor w.sub.1 may be a weight for adjusting the effect the wheel slip change has on the new target wheel slip.

    [0067] The target wheel slip .sub.target(k+1) may be determined S37 based on a weighted combination w.sub.1, w.sub.2 of the change in acceleration v.sub.x(k) and the change in current longitudinal wheel slip .sub.x(k). For example, the reduction S3 of the target longitudinal wheel slip .sub.target(k+1) may be a reduction from the current longitudinal wheel slip .sub.x(k) by the change in both acceleration v.sub.x(k) and in wheel slip .sub.x(k) and, i.e., .sub.target(k+1)=.sub.x(k)|b(k)|, where b(k)=[w.sub.1.sub.x(k), w.sub.2v.sub.x(k)]. This way, the factors w.sub.1, w.sub.2 can be selected to adjust the relative importance of the acceleration change and the wheel slip change has on the new target wheel slip. As mentioned, the factors w.sub.1, w.sub.2 can comprise weighting and/or normalization.

    [0068] The target wheel slip .sub.target(k+1) may be determined S38 based on the change in acceleration v.sub.x(k) and the change in current longitudinal wheel slip .sub.x(k) together with a loop gain factor k.sub.r, k.sub.d. For example, the reduction S3 of the target longitudinal wheel slip .sub.target(k+1) may be .sub.target(k+1)=.sub.x(k)k.sub.r|b(k)|. The loop gain factor may be different depending on direction of the vector b(k). For example, the loop gain factor k.sub.r, kd may be different whether or not the monitored acceleration v.sub.x(k) of the vehicle 100 decreases while the monitored current longitudinal wheel slip .sub.x(k) is non-decreasing. In other words, if the vector b(k) points southeast or south, it may have a value k.sub.r, and if the vector b(k) points in any other direction, it may have another value k.sub.d.

    [0069] Of course, ant combination of the above mechanisms for determining target wheel slip can also be used, possibly in a weighted manner.

    [0070] The loop gain factor k.sub.r, kd and/or factors w.sub.1, w.sub.2 in the weighted combination may be dynamically updated based on a current driving scenario. The relative importance of the acceleration change compared to the wheel slip change may be different for different scenarios, such as different ground conditions with different friction. Similarly, it may be desired to adjust the change rate (i.e., the loop gain) for different scenarios.

    [0071] According to an example embodiment of the disclosed method, the target longitudinal wheel slip is determined as

    [00003] target ( k + 1 ) = { x ( k ) - k d .Math. "\[LeftBracketingBar]" b ( k ) .Math. "\[RightBracketingBar]" if ( x ( k ) 0 and v x ( k ) < 0 ) target ( k ) + k r .Math. "\[LeftBracketingBar]" b ( k ) .Math. "\[RightBracketingBar]" otherwise , where b ( k ) = [ w 1 x ( k ) , w 2 ( v x ( k ) ] , x ( k ) = x ( k ) - x ( k - 1 ) , and v x ( k ) = ( v x ( k ) - ( v x ( k - 1 ) .

    [0072] Here, w.sub.1, w.sub.2 are factors for normalization and/or weighting, k.sub.d is a drop loop gain factor, k.sub.r is a rise loop gain factor. In addition, k.sub.d>>k.sub.r, e.g., by a factor of 10. The target wheel slip is thus determined based on the orientation and length of the vector b(k). The new target wheel slip is reduced proportionally to |b(k)| if the direction is southeast or south (i.e., a decreasing acceleration while the current wheel slip is either maintained or is increasing); and is increased proportionally to |b(k)| otherwise.

    [0073] When the target wheel slip is decreasing, the new target is calculated based on the current measured slip, whereas it is calculated based on a previous target wheel slip when it is increasing. Iterating the method with iterations of immediate reduction and progressive gain tends to stabilize around a certain value, meaning that, in an unlikely steady-state situation, the slip target becomes asymptotically stable.

    [0074] According to aspects, the target wheel slip is reduced both when the vector b(k) points south/southeast and when it points northwest. In other words, the method may comprise reducing S34 the target longitudinal wheel slip .sub.target(k+1) of the at least one driven wheel 102 in case the monitored acceleration v.sub.x(k) of the vehicle 100 increases while the monitored current longitudinal wheel slip .sub.x(k) decreases. In some scenarios, this results in the vehicle reaching peak acceleration faster. In an example embodiment, this can be described as

    [00004] target ( k + 1 ) = { x ( k ) - k d .Math. "\[LeftBracketingBar]" b ( k ) .Math. "\[RightBracketingBar]" if [ ( x ( k ) 0 and v x ( k ) < 0 ) or ( x ( k ) < 0 and v x ( k ) > 0 ) ] target ( k ) + k r .Math. "\[LeftBracketingBar]" b ( k ) .Math. "\[RightBracketingBar]" otherwise .

    [0075] FIG. 8 illustrates an example vehicle control function architecture applicable with the herein disclosed methods, where the TSM function 670 generates vehicle motion requests 675, which may comprise a desired steering angle or an equivalent curvature c.sub.req to be followed by the vehicle, and which may also comprise desired vehicle unit accelerations a.sub.req and also other types of vehicle motion requests, which together describe a desired motion by the vehicle along a desired path at a desired velocity profile. It is understood that the motion requests can be used as base for determining or predicting a required amount of longitudinal and lateral forces which needs to be generated in order to successfully complete a manoeuvre.

    [0076] The VMM function 660 operates with a time horizon of about 1 second or so, and continuously transforms the acceleration profiles a.sub.req and curvature profiles c.sub.req from the TSM function into control commands for controlling vehicle motion functions, actuated by the different MSDs of the vehicle 100 which report back capabilities to the VMM, which in turn are used as constraints in the vehicle control. The VMM function 660 performs vehicle state or motion estimation 810, i.e., the VMM function 660 continuously determines a vehicle state s comprising positions, speeds, accelerations, and articulation angles of the different units in the vehicle combination by monitoring operations using various sensors arranged on the vehicle 100, often but not always in connection to the MSDs.

    [0077] The result of the motion estimation 810, i.e., the estimated vehicle state s, is input to a force generation module 820 which determines the required global forces V=[V.sub.1, V.sub.2] for the different vehicle units to cause the vehicle 100 to move according to the requested acceleration and curvature profiles a.sub.req, c.sub.req, and to behave according to the desired vehicle behaviour. The required global force vector V is input to an MSD coordination function 830 which allocates wheel forces and coordinates other MSDs such as steering and suspension. The MSD coordination function outputs an MSD control allocation for the i:th wheel, which may comprise any of a torque T.sub.i, a longitudinal wheel slip .sub.i, a wheel rotational speed .sub.i, and/or a wheel steering angle .sub.i. The coordinated MSDs then together provide the desired lateral Fy and longitudinal Fx forces on the vehicle units, as well as the required moments Mz, to obtain the desired motion by the vehicle combination 100. Notably, the MSD coordination function 830 may perform the type of wheel slip control discussed above in connection to FIG. 7.

    [0078] By determining vehicle unit motion using, e.g., global positioning systems, vision-based sensors, wheel speed sensors, radar sensors, steering angle sensors and/or lidar sensors, and translating this vehicle unit motion into a local coordinate system of a given wheel 610 (in terms of, e.g., longitudinal and lateral velocity components), it becomes possible to accurately estimate wheel slip in real time by comparing the vehicle unit motion in the wheel reference coordinate system to data obtained from the wheel speed sensor 650 arranged in connection to the wheel 610, as discussed above. A tyre model, which was discussed above in connection to FIGS. 2A and 2B, can be used to translate between a desired longitudinal tyre force Fx.sub.i for a given wheel i and an equivalent longitudinal wheel slip .sub.i for the wheel. Such control can be used in combination with the wheel slip control discussed above in connection to FIG. 7.

    [0079] According to some aspects of the present disclosure, the VMM function 660 manages both force generation and MSD coordination, i.e., it determines what forces that are required at the vehicle units in order to fulfil the requests from the TSM function 670, for instance to accelerate the vehicle according to a requested acceleration profile requested by TSM and/or to generate a certain curvature motion by the vehicle also requested by TSM. The forces may comprise e.g., yaw moments Mz, longitudinal forces Fx and lateral forces Fy, as well as different types of torques to be applied at different wheels. The forces are determined such as to generate the vehicle behaviour which is expected by the TSM function in response to the control inputs generated by the TSM function 670.

    [0080] FIG. 4 schematically illustrates, in terms of a number of functional units, the components of a control unit 630,660,400 according to an embodiment of the discussions herein. Processing circuitry 410 is provided using any combination of one or more of a suitable central processing unit CPU, multiprocessor, microcontroller, digital signal processor DSP, etc., capable of executing software instructions stored in a computer program product, e.g., in the form of a storage medium 430. The processing circuitry 410 may further be provided as at least one application specific integrated circuit ASIC, or field programmable gate array FPGA.

    [0081] Particularly, the processing circuitry 410 is configured to cause the control unit 630,660,400 to perform a set of operations, or steps, such as the methods discussed in connection to FIG. 7. For example, the storage medium 430 may store the set of operations, and the processing circuitry 410 may be configured to retrieve the set of operations from the storage medium 430 to cause the control unit 630,660,400 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus, the processing circuitry 410 is thereby arranged to execute methods as herein disclosed.

    [0082] The storage medium 430 may also 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.

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

    [0084] The processing circuitry 410 controls the general operation of the control unit 630,660,400 e.g., by sending data and control signals to the interface 420 and the storage medium 430, by receiving data and reports from the interface 420, and by retrieving data and instructions from the storage medium 430. Other components, as well as the related functionality, of the control node are omitted in order not to obscure the concepts presented herein.

    [0085] In other words, there is disclosed herein a control unit 630,660,400 for controlling motion by a heavy-duty vehicle 100, where the vehicle is arranged to be controlled based on a target longitudinal wheel slip .sub.target(k+1) of at least one driven wheel 102 on the vehicle. The control unit comprises processing circuitry 410; a network interface 420 coupled to the processing circuitry 410; and a memory 430 coupled to the processing circuitry 410. The memory comprises machine readable computer program instructions that, when executed by the processing circuitry, causes the control unit 630,660,400 to monitor an acceleration v.sub.x(k) of the vehicle 100, monitor a current longitudinal wheel slip .sub.x(k) of the at least one driven wheel (102), reduce the target longitudinal wheel slip .sub.target(k+1) of the at least one driven wheel (102) in case the monitored acceleration v.sub.x(k) of the vehicle 100 decreases while the monitored current longitudinal wheel slip .sub.x(k) is non-decreasing, and

    [0086] control wheel slip of the at least one driven wheel 102 based on the target longitudinal wheel slip .sub.target(k+1).

    [0087] FIG. 5 schematically illustrates a computer program product 500, comprising a set of operations 520 executable by the control unit 630,660,400. The set of operations 520 may be loaded into the storage medium 430 in the control unit 630,660,400. The set of operations may correspond to the methods discussed above in connection to FIG. 7.

    [0088] In the example of FIG. 5, the computer program product 500 is illustrated as an optical disc 510, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product could also be embodied as a memory, such as a random-access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program is here schematically shown as a track on the depicted optical disk, the computer program can be stored in any way which is suitable for the computer program product. [0089] This listing of claims will replace all prior versions, and listings, of claims in the application: