US20260062892A1
WHEEL SLIP CONTROL IN HEAVY MACHINERY SUCH AS LOADERS
Publication
Application
Classifications
IPC Classifications
CPC Classifications
Applicants
Volvo Construction Equipment AB
Inventors
Mats Jonasson, Leo LAINE, Björn BRATTBERG, Murat KUMRU
Abstract
A piece of heavy machinery is provided, with a computer system and processing circuitry configured to obtain indications of a pitch angle of the machine, a speed of a wheel center relative ground surface, a rotational speed of the wheel and a loading of a bucket of the machine, to determine that there is a risk of over-slipping the wheel based on the indicated pitch angle and bucket loading, and in response to the determining perform longitudinal slip control for the wheel to avoid the over-slipping. A corresponding computer system, computer-implemented method, computer program product and computer-readable storage medium are also provided.
Get a summary, plain-language explanation, or ask your own question.
Figures
Description
PRIORITY APPLICATIONS
[0001]The present application claims priority to European Patent Application No. 24198692.6, filed on Sep. 5, 2024, and entitled “WHEEL SLIP CONTROL IN HEAVY MACHINERY SUCH AS LOADERS,” which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002]The disclosure relates generally to the field of heavy machinery. In particular aspects, the disclosure relates to loaders, such as wheel loaders, configured to move stockpiled material using a bucket, and to longitudinal slip control in such pieces of heavy machinery. The disclosure can be applied to e.g. heavy-duty vehicles/construction equipment. Although the disclosure may be described with respect to a particular vehicle or machine, the disclosure is not restricted to any particular vehicle or machine.
BACKGROUND
[0003]A common task of a piece of heavy machinery, such as a wheel loader, is to fill a bucket with stockpiled material and to then transfer the material to another position, such as to an awaiting dump truck, on a conveyor belt, or similar. Commonly, the loader is driven into the pile of material with a certain speed, and is then decelerated and often brought to a full stop as a result of the bucket hitting the pile of material.
[0004]If attempting to drive the loader and bucket further into the pile of material, the wheels and tires of the loader may start to spin. Over-spinning, or over-slipping, of the wheels and tires may reduce the longitudinal tire force and prevent the bucket from being driven as far into the pile of material as desired, leading to the bucket not being sufficiently filled and to a reduced operational efficiency. In addition, frequent over-slipping of the wheels may also result in increased tire wear and operating costs of the loader, as well as increased damage to the ground surface that will make it even harder to successfully scoop up material from the pile as part of a next attempt. Experienced operators may have learned with time how to operate e.g. a throttle pedal of the machinery in order to avoid over-slipping of the wheels, but such experience may be lacking from more novice operators and/or for at least partially self-driven machinery wherein there is not necessarily any such operator available.
[0005]The present disclosure aims at providing a solution that at least partially mitigates the above-mentioned issues.
SUMMARY
[0006]According to a first aspect of the disclosure, there is provided a computer system for a piece of heavy machinery equipped with a bucket for scooping-up of material from a pile. The computer system includes processing circuitry configured to:—obtain an indication of a pitch angle of the piece of heavy machinery relative to a surface on which the piece of heavy machinery is driven; —obtain an indication of a speed of a center of a wheel of the piece of heavy machinery parallel to the surface; —obtain an indication of a rotational speed of the wheel around its center; —obtain an indication of a loading force of the bucket; —based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, determine that there is a risk of over-slipping of the wheel, and, in response to said determining, perform longitudinal slip control for the wheel to avoid the over-slipping of the wheel, wherein said slip control is performed based on a difference between a target longitudinal slip value and an actual longitudinal slip value for the wheel, wherein the target longitudinal slip value is obtained based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, and wherein the actual longitudinal slip value is obtained based on the indicated rotational speed of the wheel around its center and the speed of center of the wheel parallel to the surface. The first aspect of the disclosure may seek to solve the problem of how to avoid over-slipping of the wheel. A technical benefit may include that by using the bucket loading and the pitch angle of the machinery as an indicator that the machinery is attempt to dig hard into the pile, slip-control may be actively used to avoid over-slipping in such a situation, and to thereby save both the tires and the surface material from excessive forces and wear.
[0007]Optionally, in some examples, including in at least one preferred example, the processing circuitry may be configured to determine that there is a risk of increased longitudinal slip based also on a requested torque for the wheel. A technical benefit may include that the processing circuitry may thus detect that the requested torque is likely to cause over-slipping of the wheel if naively applied at the latter, and e.g. reduce the applied torque in a situation where the machinery is digging hard into the pile and thereby avoid the over-slipping.
[0008]Optionally, in some examples, including in at least one preferred example, the processing circuitry may be configured to obtain one or more measurements of at least i) a distance between the piece of heavy machinery and a surface point and ii) a radial velocity of a surface point with respect to the piece of heavy machinery, and to obtain the indicated pitch angle based on the distance and to obtain the indicated speed of the center of the wheel parallel to the surface based on the indicated pitch angle and the radial velocity. A technical benefit may include that the pitch angle of the machinery may thus be found also when the surface is sloped, as the radial velocity and distance to the surface are not affected by the surface being sloped. In addition, radial velocity may serve as a better indicator of true ground speed of the machinery compared to e.g. wheel rotational speed or similar.
[0009]Optionally, in some examples, including in at least one preferred example, at least the radial velocity may be obtained based on a signal from at least one radar sensor provided on the piece of heavy machinery. A technical advantage may include that the radar sensor may provide accurate readings of true ground speed (of the wheel, in a direction parallel with the surface) even if the wheel is slipping, and the resulting slip control can thus be made more accurately and reliably.
[0010]Optionally, in some examples, including in at least one preferred example, to perform longitudinal slip control of the wheel may include limiting an allowed longitudinal slip of the wheel to a slip value below a slip threshold. A technical benefit may include that the slip threshold may be provided such that there is some margin left until the slip value where maximum longitudinal tire force is achieved, and thus reduce the risk of over-slipping the wheel (i.e. to operate the wheel at a slip value for which the peak longitudinal tire force has already been passed).
[0011]Optionally, in some examples, including in at least one preferred example, to determine that there is a risk of increased longitudinal slip, the processing circuitry may be further configured to receive an indication about an ongoing or imminent entering of the bucket into the pile from an operator of the piece of heavy machinery. A technical benefit may include that the operator may thus manually toggle whether the envisaged slip control is to be enabled or not. For example, the operator may know that it is soon time to enter the bucket into the pile, and may proactively engaged/enable the envisaged slip control.
[0012]Optionally, in some examples, including in at least one preferred example, to determine that there is a risk of increased longitudinal slip, the processing circuitry may be further configured to receive an indication about at least one of: i) a transmission of the piece of heavy machinery being in a low gear, ii) an orientation of the bucket being parallel with the surface, and iii) the bucket being positioned at or close to the surface. A technical benefit may include that the processing circuitry may thus be able to automatically detect the ongoing or imminent entering of the bucket into the pile based on one, some or all of these indications, and thus automatically enable the envisaged slip control without the operator being required to e.g. press a button, pull a lever, or similar.
[0013]Optionally, in some examples, including in at least one preferred example, the processing circuitry may be configured to obtain and estimated peak longitudinal slip value for the surface, and to determine the target longitudinal slip value as a slip value below or at the peak longitudinal slip value. A technical benefit may include that going higher than the peak slip may thus be prevented, and unnecessary tire (and/or surface) wear also avoided as providing additional slip will not provide a further increase in longitudinal tire force.
[0014]Optionally, in some examples, including in at least one preferred example, over-slipping of the wheel may include the actual longitudinal slip value being above the peak longitudinal slip value. Phrased differently, over-slipping of the wheel may be defined as when longitudinal slip is increased without leading to an increase (or even leading to a decrease) in longitudinal tire force.
[0015]Optionally, in some examples, including in at least one preferred example, to perform the longitudinal slip control of the wheel, the processing circuitry may be further configured to control at least one of an engine speed of the piece of heavy machinery and a clutch in a transmission between the engine and the wheel. A technical benefit may include that the processing circuitry may thus control the amount of torque that is applied to the wheel, and thus control the slip.
[0016]Optionally, in some examples, including in at least one preferred example, the processing is further configured to, as part of determining the risk of over-slipping, use a machine learning model that has been trained to output a probability or indication of the risk for different combinations of at least pitch angle and loading of the bucket. A technical benefit may include that the processing circuitry may thus learn what situations that is likely to lead to the over-slipping if no further action is taken, and may be able to do this for different surface types and conditions.
[0017]According to a second aspect of the disclosure, there is provided a piece of heavy machinery. The piece of heavy machinery includes the computer system of the first aspect (or any example thereof), the (at least one) wheel, and the bucket for scooping-up of material from a pile. The second aspect may seek to solve the problem of how to provide a piece of heavy machinery in which the envisaged detection of “high risk of over-slipping” is made based on the indicated bucket loading and pitch angle of the piece of heavy machinery, using the envisaged solution of the first aspect.
[0018]Optionally, in some examples, including in at least one preferred example, the piece of heavy machinery may be a loader. For example, the piece of heavy machinery may be a wheel loader (or “pay loader”), e.g. a machine with the bucket in front and where e.g. the front wheels of the machine is providing most of the traction when attempting to push the bucket into the pile, especially if simultaneously loading the bucket by e.g. attempting to lift the bucket upwards. A technical benefit may include that such vehicles may be extra prone to over-slipping of the front wheels, and that the envisaged solution may thus be used to limit the risks of such over-slipping when the wheel loader is working hard to push the bucket into the pile.
[0019]According to a third aspect of the disclosure, there is provided a computer-implemented method. The method includes:—obtaining, by processing circuitry of a computer system, an indication of a pitch angle of a piece of heavy machinery relative to a surface on which the piece of heavy machinery is driven; —obtaining, by the processing circuitry, an indication of a speed of a center of a wheel of the piece of heavy machinery parallel to the surface; —obtaining, by the processing circuitry, an indication of a rotational speed of the wheel around its center; —obtaining, by the processing circuitry, an indication of a loading force of a bucket of the piece of heavy machinery for scooping-up of material from a pile; —based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, determining that there is a risk of increased longitudinal slip of the wheel, and, in response to said determining, performing longitudinal slip control for the wheel to avoid over-slipping of the wheel, wherein said slip control is performed based on a difference between a target longitudinal slip value and an actual longitudinal slip value for the wheel, wherein the target longitudinal slip value is obtained based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, and wherein the actual longitudinal slip value is obtained based on the indicated rotational speed of the wheel around its center and the speed of center of the wheel parallel to the surface. The third aspect may seek to solve the same problem as that of the first aspect, but by providing a computer-implemented method including the operations performed by the computer system of the first aspect.
[0020]According to a fourth aspect of the disclosure, there is provided a computer program product. The computer program product includes program code for performing, when executed by the processing circuitry, the method of the first aspect (or any example thereof). The fourth aspect may seek to solve the same problem as that of the first aspect, but by providing a corresponding computer program product.
[0021]According to a fifth aspect of the disclosure, there is provided a computer-readable storage medium that includes instructions which, when executed by the processing circuitry, cause the processing circuitry to perform the method of the first aspect. The storage medium may be non-transitory. The fifth aspect may seek to solve the same problem as the first aspect, but by providing a corresponding storage medium.
[0022]According to sixth, seventh and eight aspects of the disclosure, there is provided a computer system, piece of heavy machinery (such as e.g. a wheel loader) including such a computer system, and computer-implemented method as performed by the processing circuitry, wherein the computer system includes processing circuitry configured to perform the following operations: obtain an indication of a pitch angle of a the piece of heavy machinery relative to a surface on which the piece of heavy machinery is driven; obtain an indication of a speed of a center of a wheel of the piece of heavy machinery parallel to the surface; obtain an indication of a rotational speed of the wheel around its center; and perform longitudinal slip control for the wheel, wherein said slip control is performed based on a difference between a target longitudinal slip value and an actual longitudinal slip value for the wheel, wherein the target longitudinal slip value is obtained based on the indicated pitch angle of the piece of heavy machinery, and wherein the actual longitudinal slip value is obtained based on the indicated rotational speed of the wheel around its center and the speed of center of the wheel parallel to the surface. Further, the processing circuitry is configured to obtain one or more measurements of at least i) a distance between the piece of heavy machinery and a surface point and ii) a radial velocity (vr) of a surface point with respect to the piece of heavy machinery, and to obtain the indicated pitch angle based on the distance and to obtain the indicated speed of the center of the wheel parallel to the surface based on the indicated pitch angle and the radial velocity. The radial velocity is obtained based on a signal from at least one radar sensor provided on the piece of heavy machinery, i.e. to measure hot quickly the surface point approaches/disappears from the radar sensor. These aspects may seek to provide a solution of improved slip control for a piece of heavy machinery. A technical benefit may include that the radar-based determination of at least the speed of the wheel center allows for more rigid slip determination, that works also when the machinery is standing still.
[0023]The disclosed aspects, examples (including any preferred examples), and/or accompanying claims may be suitably combined with each other as would be apparent to anyone of ordinary skill in the art. Additional features and advantages are disclosed in the following description, claims, and drawings, and in part will be readily apparent therefrom to those skilled in the art or recognized by practicing the disclosure as described herein.
[0024]There are also disclosed herein computer systems, control units, code modules, computer-implemented methods, computer readable media, and computer program products associated with the above discussed technical benefits
BRIEF DESCRIPTION OF THE DRAWINGS
[0025]Examples are described in more detail below with reference to the appended drawings.
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
DETAILED DESCRIPTION
[0032]The detailed description set forth below provides information and examples of the disclosed technology with sufficient detail to enable those skilled in the art to practice the disclosure.
[0033]
[0034]The example loader 100 has a body 110, a bucket 120 for scooping-up of material from a pile 160, and a linkage 122 connecting the bucket to the body 110 and which enables the bucket to e.g. be moved up and down, to be tilted to load/unload material, and similar. The linkage 122 may be provided by a collection of rigid members and one or more hydraulic cylinders, or similar. The loader 100 further includes an engine 140 (such as an internal combustion engine, ICE), or e.g. one or more electric machines or similar, for providing forward/backward propulsion of the loader 100. In some examples, the engine 140 may also be responsible for powering e.g. a hydraulic system including the one or more hydraulic cylinders responsible for lifting/tilting the bucket 120, such as e.g. for powering one or more hydraulic pumps, control valves, and similar. In other examples, a separate engine may be provided for powering the hydraulics.
[0035]The loader 100 further includes at least one front wheel 130 and at least one rear wheel 132, such as e.g. a pair of front wheels and a pair of rear wheels, such as common. The loader 100 is in this case an articulated loader, wherein turning of the loader 100 is obtained by changing an angle (using e.g. one or more hydraulic cylinders) between a front part of the loader including the front wheel(s) 130 and a rear part of the loader 100 including the rear wheel(s) 132. In other examples, the loader 100 may not be articulated, in which turning (that is, to the left/right) may instead be achieved by turning one or both of the front and rear wheels 130, 132. Combinations of turning the wheels and changing the articulation angle may of course also be used to turn the loader 100.
[0036]The loader 100 is driven on a surface (such as ground) 150, on which the pile 160 of material is placed. A task of the loader 100 is often to use its bucket 120 to scoop up material from the pile 160, and to unload the material contained in the bucket 120 at a different location, such as in an awaiting dump track, on a conveyor belt, on another pile, or similar. The pile 160 may for example include gravel, dirt, sand, pieces of rock, wood chips, or whatever material that can be arranged in a pile and suitable for moving with a bucket, such as bulk goods, loose and/or powdery material, and similar. Ideally, an operator of the loader 100 drives the loader 100 to the pile 160 with its bucket 120 lowered to (or at least close too) and parallel with the surface 150, and then uses the engine 140 (and e.g. a transmission of the loader configured to distribute engine torque to one or more of the wheels 130, 132, by for example commanding sufficient engine speed/torque)) propel the loader 100 forward and thus pushing the bucket 120 into the pile 160. With the bucket 120 sufficiently into the pile 160, the operator uses the linkage 122 to raise the bucket such that it breaks through the upper surface of the pile 160, e.g. while simultaneously tilting the bucket 120 at least somewhat backwards to maintain the scooped-up material in the bucket 120. Once the bucket 120 is raised sufficiently high, the operator drives the loader 100 backwards, and then steers the loader 100 towards the destination where the material in the bucket 120 is to be unloaded. This process is often repeated many times during a working day of the operator, e.g. the operator may repeat basically the same approach, enter, lift/tilt, reverse and unload process tens or hundreds of times a day.
[0037]However, if the pile 160 of material is dense and not easy to penetrate, loading of the bucket 120 may be more difficult. For example, if the pile 160 includes e.g. wet clay or similar, pushing the bucket 120 into the pile 160 may not be that easy, and even if the bucket 120 is sufficiently pushed into the pile 160, subsequent lifting of the bucket 120 upwards and out through the surface of the pile 160 may be challenging, especially for novice operators and/or operators that are not familiar with the workings of the particular loader 100.
[0038]To be able to push the bucket 120 into a pile of e.g. wet clay, there is a need to operate the loader 100 such that a sufficient amount of a torque τ applied at the front wheel 130 is converted into traction/longitudinal tire force Fx. The longitudinal tire force Fx will depend on the properties of the surface 150 and on the properties of the tire of the wheel 130, as characterized by the friction coefficients (both static and dynamic) between the (tire of the) wheel 130 and the surface 150, and of course also on the loading of the wheel 130 (represented by the tire loading force Fz). In addition, the size of the longitudinal tire force Fx will depend on whether, and on how much, the wheel 130 is experiencing longitudinal tire slip, i.e. whether a rotational speed ω of the wheel 130 matches a speed vx at which the wheel 130 (or at least a center 134 of the wheel 130) moves relative the surface 150 in a direction parallel with the surface 150. As used herein, the term “rotational speed of a wheel” refers to the rotational speed around the wheel axle, i.e. around the axle around which the tire is symmetrically located. Rotational speed is not referring to e.g. turning speed or similar, i.e. not to how fast a wheel is rotating around e.g. its vertical axis.
[0039]A common way of increasing longitudinal tire force (and thus traction) Fx is to increase the loading Fz of the front wheel 130, e.g. to reduce the risk of the wheel 130 starting to spin instead of propelling the loader 100 forward. This may be achieved by attempting to slightly lift the bucket 120 upwards once the bucket 120 has started to enter the pile 160, such that a loading (force) Fb of the bucket increases and results in an increase of the force Fz. In addition, by increasing the loading Fz of the wheel 130, the wheel 130 will get more deformed at the contact area with the surface 150, leading to an increase length lc of the contact patch with the surface 150 and thus for an increased contact area and better traction.
[0040]To help raise the bucket 120 through the surface of the pile 160, some operators increases the loading Fb of the bucket so much that a rear of the loader 100 starts to lift from the surface 150, e.g. such that the rear wheel 132 loses contact with the surface 150 (as shown in
[0041]If attempting to increase the torque r, and especially in a situation such as illustrated in
[0042]The present disclosure envisages to solve this problem by obtaining an indication of a pitch angle φ of the (body 110 of the) machine 100 and, in combination with an indicated loading Fb of the bucket 120, determine that there is an increased risk of over-slipping the wheel 130, and to perform longitudinal slip control to prevent such over-slipping of the wheel 130. Excessive and unnecessary wear of both the wheel/tire 130 and surface 150 may thus be avoided, especially for novice or less trained operators that cannot rely on their experience in order to determine how to operate the throttle pedal and/or linkage 122 of the loader 100 to manually control the amount of torque r being applied to the wheel 130. As envisaged herein, even though an increased loading of the bucket 120 (obtained by attempting to lift the bucket 120 upwards within the pile 160) would normally result in an increased normal load Fz and thereby increased grip between the tire and surface 150, an increased loading of the bucket together with an indicated non-zero pitch angle may serve as an indication that the loader 100 is or is getting stuck, and that a further attempt to move the loader 100 forward (by e.g. requesting more torque r to be applied at the wheel 130) is likely to result in the wheel 130 starting to slip more than desired.
[0043]As envisaged herein, the loading Fb may be obtained by for example reading of one or more hydraulic pressures in the one or more hydraulic cylinders used to e.g. push the bucket 120 upwards in the pile 160. Loading Fb of the bucket 120 may for example already be available as part of a weighing system used to determine e.g. how much material that is in the bucket when the material has already been scooped up, as already available on the market for loaders such as wheel loaders. Other examples may include to e.g. put one or more strain gauges or similar at various positions on the linkage used to actuate the bucket movement using e.g. the one or more hydraulic cylinders, or similar, to measure one or more relevant forces in the linkage 122 that may in turn be converted into an estimate of the loading of the bucket 120. Other examples, or combinations of the ones already mentioned, are of course also envisaged as possible and encompassed by the present disclosure. For example, with knowledge about the weight of the loader 100 with an empty bucket 120, and about the geometry of the linkage 122 and similar, loading forces Fz at one or both of the wheels (or wheel axles carrying the wheels) 130 and 132 may be used to determine what the loading Fb of the bucket 120 must be, and similar.
[0044]
[0045]In some examples, an indication of the pitch angle φ may be obtained by positioning one or more angular and/or angular acceleration sensors on the body 110 of the loader 100, such as e.g. gyroscopes, inclination sensors, inertial measurement units (IMUs), and similar. If there is knowledge available about the slope angle β, the pitch angle φ may thus be calculated from one or more readings of one or more such sensors. For example, an indication may be obtained about the combined angle φ+β, and knowledge of β can be used to extract the pitch angel φ. An indication of the speed vx may for example be obtained based on readings from e.g. a global positioning system (GPS) sensor or similar, based on image analysis of camera footage of the surface 150 as the loader 100 drives there upon (e.g. based on so-called optical flow analysis), by knowledge about the wheel radius R and the wheel rotational speed ω, or similar.
[0046]However, in particular, the present disclosure envisages as part of one or more examples to instead obtain the indications of φ and vx based on radial velocity and distance measurements, as will now be described in more detail still with reference to
[0047]For example, one or more distance measurement/range sensors (such as based on radar, laser, etc.) may be used to estimate the distance dr. The distance dr may in turn be expressed as
from which the pitch angle φ is found by using the arctangent function of, i.e.
Here, it is envisaged that the distance dr indicates the distance between at least one sensor 170 provided on the body 110 and the surface point 171. The sensor 170 may for example be a laser sensor, radar sensor, or similar, configured to measure distances. The variable h indicates the perpendicular distance between the sensor 170 and the point on the surface 150 making contact with the wheel 130. As mentioned before, this distance may be a function of normal loading Fz, i.e. h=h(Fz) or be assumed to be a predefined, constant value depending on where the sensor(s) 170 is/are located on the body 110. The angle α is the angle between the direction of the sensor 170 and a line/plane of the body 110 parallel with the surface 150 (as shown in
In summary, the pitch angle φ is thus determined based on the measured distance dr and (predefined) geometric parameters α and h, and the speed vx is determined based on φ and α. It is also noted that in this example solution, knowledge about the slope angle β is not required, as the radar is agnostic to whether the surface 150 is measuring against is in turn sloped towards some other surface. This provides a technical benefit vis-à-vis e.g. inclination-, angular- and/or angular acceleration-based sensors, which all requires such knowledge in order to extract the value of tp.
[0048]As envisaged herein, the amount of traction that can be sustained between the surface 150 and wheel 130 may be defined in terms of a traction coefficient, equal to a usable traction force divided by the normal force Fz. The traction coefficient may depend on various factors, including e.g. the material composition of the wheel/tire 130 and surface 150, the macroscopic properties of the surface 150 and the surface of the wheel/tire 130, a size of the normal force Fz, the presence of contaminants (such as ice, oil, grease, water, etc.) on one or both of the surface 150 and wheel/tire 130, if and how the wheel/tire 130 is currently sliding (e.g. kinetic friction) or non-sliding (e.g. static friction) over the surface 150, and similar. In addition to friction, traction may also be at least partially provided by part of the wheel/tire 130 penetrating into the surface 150, e.g. due to treads of the wheel/tire 130 and similarly. In addition, the longitudinal tire force Fx will also depend on a longitudinal slip of the wheel 130, as will now be described in more detail with reference also to
[0049]
[0050]The present disclosure envisages to avoid such excessive wear by first using the indicated pitch angel φ and bucket loading Fx to identify that there is a risk of over-slipping of the wheel 130, as a result of the loader 100 currently working hard to push its bucket 120 into the pile 160. For example, this may include also checking a magnitude of a torque request (e.g. τreq). For example, the pitch angel φ being above a pitch threshold φthresh, the bucket loading Fb being above a bucket loading threshold Fbthresh, and e.g. the requested torque being above a torque request threshold τregthresh may serve as an indication that there is a high risk of over-slipping, in particular as the operator may be tempted to e.g. apply more torque in order to use the loader 100 as a pry-bar to break the bucket 120 out of the pile 160 upwards as explained with reference to
[0051]
[0052]
[0053]The computer system 300 includes processing circuitry 310. The processing circuitry 310 is configured to (as part of e.g. an operation S410 of the method 400) obtain an indication of the pitch angle φ, e.g. by performing one or more calculations as exemplified herein, and/or by receiving one or more signals from which the pitch angle φ can be derived. For example, the processing circuitry 310 may be configured to receive a signal 172 from the (radar) sensor 170 from which the processing circuitry 310 may determine the pitch angle φ. For example, the signal 172 may include an indication of the distance dr, and the processing circuitry 310 may proceed to determine the pitch angle φ using equation (1). The processing circuitry 310 may have access to stored values of the geometric parameters of the loader 100, such as h and/or α, and use these stored values as part of the calculation/estimation of φ.
[0054]The processing circuitry 310 is further configured to (as part of e.g. an operation S420 of the method 400) obtain an indication of the speed vx of the center 134 of the wheel 130 in the direction parallel to the surface 150. This may include the processing circuitry 310 being configured to receive one or more signals from one or more suitable sensors. For example, the signal 172 from the (radar) sensor 170 may include an indication of the radial speed vr, and the processing circuitry 310 may determine vx using vr, the obtained value of φ and e.g. equation (2). The various signals necessary to obtain at least φ and vx can of course also be obtained from one or more other sensors, such as e.g. one or more signals 182 from one or more sensors 180. The sensors 180 may for example include one or more range finders, cameras (for optical flow-based speed estimation), and similar.
[0055]As generally used herein, that the processing circuitry 310 “obtains” a value may include that the processing circuitry 310 obtains this value as part of data received from one or more other entities, such as from one or more sensors, as part of one or more signals received therefrom. In other examples, “obtaining a value” may instead include that the processing circuitry 310 receives one or more other values from such entities, and that the processing circuitry 310 uses these one or more other values to on its own calculate the value it is configured to obtain. Phrased differently, the use of the word “obtain” includes both possibilities, i.e. both receiving the value itself and receiving one or more other values from which the value is calculated using the processing circuitry 310.
[0056]The processing circuitry 310 is further configured to (as part of e.g. an operation S430 of the method 400) obtain an indication of the rotational speed a of the wheel 130. For example, the one or more sensors 180 may include a rotary encoder for determining how fast a wheel axle on which the wheel 130 is mounted rotates, for determining how fast a transmission axle or similar is rotating, and similar, and the one or more signals 182 may include at least one indication of the rotational speed a of the wheel 130.
[0057]The processing circuitry 310 is further configured to (as part of e.g. an operation S440 of the method 400) obtain an indication of the loading force Fb for/of the bucket 120. For example, the processing circuitry 310 may be configured to obtain one or more signals 322 from a controller 320 of the hydraulic system 122 capable of providing such signals, and/or directly from one or more hydraulic pressure sensors providing an indication of a hydraulic pressure and thereby also of a loading of the bucket 120, such as used in e.g. already available systems for weighing of the bucket 120 once lifted from the pile 160. Exactly how the processing circuitry 310 obtains the indication of Fb is not important, as long as the processing circuitry 310 somehow obtains enough information to derive what the loading of the bucket is.
[0058]The processing circuitry 310 is further configured to (as part of e.g. an operation S450 of the method 400) determine that there is a (sufficiently high) risk of over-slipping of the wheel 130, i.e. that there is such a risk for the obtained combination of φ and Fb (and optionally also τreq). As mentioned earlier herein, the processing circuitry 310 may be configured to use predefined threshold values for each of the parameters φ, Fb (and e.g. τreq) and/or for one or more other parameters derived from these parameters. In other examples, the processing circuitry 310 may implement a machine learning model that has been trained to assess such risk, and which may take as input the parameters φ and Fb (and optionally also τreq) and provide as output e.g. a probability of there being the risk for over-slipping (or e.g. binary indication of there being such a risk), or similar. Such a machine learning model, and/or also the threshold values, may be learned based on historical data recorded during previous operations of the loader 110 (or piece of heavy machinery, in general), wherein the operations may e.g. be actually performed or simulated operations). For example, if not using a machine learning model for such a purpose, historical data may be studied and relationships may be found such that appropriate thresholds may be identified, where the crossing of which has historically resulted in an over-slipping of the wheel 130. In other examples, the operator may manually indicate (e.g. by pressing a button or similar) each time an over-slipping is believed to occur, and the corresponding then current values of φ, Fb (and e.g. τreq) may be recorded and later used for such statistical analysis. In yet other examples, the processing circuitry 310 may also receive (e.g. as part of signals 182) location data indicative of a current location of the loader 100, and be configured to e.g. take the location into account such that different decisions (e.g. based on different threshold values and/or using different machine learning models) can be made for different locations. For example, the processing circuitry 310 may then learn that a particular area is more prone to cause over-spinning than another area, and decide and act accordingly.
[0059]The processing circuitry 310 is further configured to (as part of e.g. an operation S460 of the method 400) perform, in response to determining that there is the risk of over-slipping of the wheel 130, longitudinal slip control for the wheel 130 to avoid the over-slipping (or at least reduce the risk of such over-slipping). Such slip control may be performed by for example obtaining a target longitudinal slip value λtarget and a current longitudinal slip value λ, where the latter may be calculated based on the indicated rotational speed ω of the wheel 130 and the speed vx of the center 134 of the wheel 130 as
where R is the radius of the wheel 130. In this example, λ=0 would indicate that there is no deformation and slipping of the wheel 130, while λ=1 would indicate that the loader 100 is not moving forward (i.e. vx=0) and that the wheel 130 is thus rotating without providing any traction. Other definitions of longitudinal wheel slip are of course also available, and may be used and tailored as needed. Having obtained both λ and λtarget, the envisaged slip control may for example include trying to minimize a difference λtarget−λ, e.g. by providing a control signal to a torque applied at a wheel, to an engine speed, to a level of clutch engagement, etc., proportional to this difference. For example, the processing circuitry 310 may be configured to implement proportional, integral, derivative (PID) control, e.g. such that the requested propulsion torque is adapted as
where PID(ϵ) indicates a PID-control process operating on the error ϵ. Other types of control algorithms may of course also be used, but preferably those that operate on the difference λtarget−λ and attempts to output control signals that minimize this difference.
[0060]For example, as part of operation S460, the processing circuitry 310 may be configured to communicate with a controller 330 of a propulsion of the loader 100, such as a controller of the engine 140, and to provide one or more control signals 332 including e.g. a requested torque or similar based on the output from the control algorithm used. For example, the control signal 332 may be proportional to the difference λtarget−λ, or similar.
[0061]In some examples, performing the slip control may include to introduce limitations of the maximum allowed longitudinal slip, e.g. based on knowledge about where the peak slip λ* is and by defining λtarget≤λ*. For example, the processing circuitry 310 may be configured to not allow higher slip than λ*, or even add some margin such that no slip above e.g. a fraction of λ* is allowed, such as e.g. 80% of λ* or similar. Adding a margin may help to compensate for inaccuracies and/or uncertainties in the estimations, such as those of φ, Fb, λ, or similar, while still avoiding going above λ*.
[0062]In some examples, the value of peak slip λ* may be predefined, e.g. for all surface types or for a current surface type (that may be decided based on e.g. camera recordings of the surface and associated image analysis, or similar, and/or e.g. based on location data and a database of what the surface type is for different locations). In other examples, what the value of peak slip λ* may learned by the processing circuitry 310 based on experience, e.g. by training a machine learning model to estimate a functional relationship between longitudinal tire force Fx and λ, e.g. for one or more different surface types, by recording indications of different Fx and λ pairs and to then use these recordings as training data in order to teach the model how to estimate F for values of λ not forming part of the training data, and similar. Other examples are of course also possible, including e.g. the use of tabulated data for a plurality of different Fx and λ values, based on which e.g. interpolation and/or extrapolation may be used to find where the peak slip value λ*. In particular, if the peak slip value λ* is somehow obtained, it is envisaged herein that this value is modified if the risk of over-slipping is determined, i.e. such that λ* can be adjusted based on e.g. φ and Fb (and e.g. based also on τreq). For example, the peak slip value λ* may be known but not for a situation where the loader 100 is trying hard to push the bucket 120 into the pile (as indicated by φ, Fb, etc.), and the value λ* may thus be modified (e.g. lowered) once at least φ and Fb indicates that there is a risk of over-slipping. The modified value of λ* may then be used as the value for λtarget. It may of course be possible to not modify λ* itself, but to use e.g. a reduced variant of λ* as the value of λtarget, e.g. such that λtarget−λ*−λmargin, where λmargin is some function (e.g. a learned function) of φ and Fb (and optionally of e.g. also τreq).
[0063]In some examples, the processing circuitry 310 may be further configured to, before deciding to enable the slip control and as part of e.g. an operation S405 of the method 400, receive an indication that such slip control is desirable. If such an indication is received, the processing circuitry 310 may enable the slip control. If no such indication is received/found, the processing circuitry 310 may instead determine to not use the slip control, or at least not to use the slip control for the particular task of avoiding over-slipping at the particular pitch angle and bucket loading configuration. For example, the processing circuitry 310 may receive (e.g. as part of the signals 182) an indication of the operator having manually selected to enable/disable the slip control, e.g. by the operator pressing a button, pulling a lever, using a voice command, using a mobile telephone application, or similar, in order to provide the indication. In other examples, the processing circuitry 310 may instead, as part of the operation S405, on its own determine whether to enable/disable the slip control. For example, the processing circuitry 310 may be configured to receive (as part of e.g. the signals 182) one or more indications of at least one of i) the transmission of the loader 100 being in a low gear, ii) the bucket 120 being oriented parallel with the surface 150, and iii) the bucket 120 being positioned (using the linkage 122) at or close to the surface 150, and/or of any other situation indicative of that the operator is likely to soon push the bucket 120 into the pile 160. As used herein, the term “low gear” may for example refer to a gear, or range of gears, that is normally used when performing or at least initiating a bucket-into-pile maneuver, and may e.g. be a configurable property. The same apply also to the definitions of e.g. “parallel with the surface” and “at or close to the surface”, that may be defined based on for example how the bucket is usually configured when performing or at least initiating a bucket-into-pile maneuver. To obtain the position/orientation of the bucket 120, various angular sensors and known geometric properties of the linkage 122 and its attachment to the body 110 of the loader 100 may be used, and similar.
[0064]As also envisaged herein, in a further aspect, there is provided a computer-implemented method (and corresponding computer system) in which e.g. operations S405, S440 and S450 are not included, and in which operation S460 includes generic longitudinal slip control of the wheel based on the indicated speed vx and pitch angle φ, wherein the pitch angle φ and speed vx are found by using radar measurements as described with reference to
[0065]As illustrated in
[0066]
[0067]The computer system 500 may comprise at least one computing device or electronic device capable of including firmware, hardware, and/or executing software instructions to implement the functionality described herein. The computer system 500 may include processing circuitry 502 (e.g., processing circuitry including one or more processor devices or control units), a memory 504, and a system bus 506. The computer system 500 may include at least one computing device having the processing circuitry 502. The system bus 506 provides an interface for system components including, but not limited to, the memory 504 and the processing circuitry 502. The processing circuitry 502 may include any number of hardware components for conducting data or signal processing or for executing computer code stored in memory 504. The processing circuitry 502 may, for example, include a general-purpose processor, an application specific processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit containing processing components, a group of distributed processing components, a group of distributed computers configured for processing, or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processing circuitry 502 may further include computer executable code that controls operation of the programmable device.
[0068]The system bus 506 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any of a variety of bus architectures. The memory 504 may be one or more devices for storing data and/or computer code for completing or facilitating methods described herein. The memory 504 may include database components, object code components, script components, or other types of information structure for supporting the various activities herein. Any distributed or local memory device may be utilized with the systems and methods of this description. The memory 504 may be communicably connected to the processing circuitry 502 (e.g., via a circuit or any other wired, wireless, or network connection) and may include computer code for executing one or more processes described herein. The memory 504 may include non-volatile memory 508 (e.g., read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.), and volatile memory 510 (e.g., random-access memory (RAM)), or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a computer or other machine with processing circuitry 502. A basic input/output system (BIOS) 512 may be stored in the non-volatile memory 508 and can include the basic routines that help to transfer information between elements within the computer system 500.
[0069]The computer system 500 may further include or be coupled to a non-transitory computer-readable storage medium such as the storage device 514, which may comprise, for example, an internal or external hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or the like. The storage device 514 and other drives associated with computer-readable media and computer-usable media may provide non-volatile storage of data, data structures, computer-executable instructions, and the like.
[0070]Computer-code which is hard or soft coded may be provided in the form of one or more modules. The module(s) can be implemented as software and/or hard-coded in circuitry to implement the functionality described herein in whole or in part. The modules may be stored in the storage device 514 and/or in the volatile memory 510, which may include an operating system 516 and/or one or more program modules 518. All or a portion of the examples disclosed herein may be implemented as a computer program 520 stored on a transitory or non-transitory computer-usable or computer-readable storage medium (e.g., single medium or multiple media), such as the storage device 514, which includes complex programming instructions (e.g., complex computer-readable program code) to cause the processing circuitry 502 to carry out actions described herein. Thus, the computer-readable program code of the computer program 520 can comprise software instructions for implementing the functionality of the examples described herein when executed by the processing circuitry 502. In some examples, the storage device 514 may be a computer program product (e.g., readable storage medium) storing the computer program 520 thereon, where at least a portion of a computer program 520 may be loadable (e.g., into a processor) for implementing the functionality of the examples described herein when executed by the processing circuitry 502. The processing circuitry 502 may serve as a controller or control system for the computer system 500 that is to implement the functionality described herein.
[0071]The computer system 500 may include an input device interface 522 configured to receive input and selections to be communicated to the computer system 500 when executing instructions, such as from a keyboard, mouse, touch-sensitive surface, etc. Such input devices may be connected to the processing circuitry 502 through the input device interface 522 coupled to the system bus 506 but can be connected through other interfaces, such as a parallel port, an Institute of Electrical and Electronic Engineers (IEEE) 1394 serial port, a Universal Serial Bus (USB) port, an IR interface, and the like. The computer system 500 may include an output device interface 524 configured to forward output, such as to a display, a video display unit (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 500 may include a communications interface 526 suitable for communicating with a network as appropriate or desired.
[0072]The operational actions described in any of the exemplary aspects herein are described to provide examples and discussion. The actions may be performed by hardware components, may be embodied in machine-executable instructions to cause a processor to perform the actions, or may be performed by a combination of hardware and software. Although a specific order of method actions may be shown or described, the order of the actions may differ. In addition, two or more actions may be performed concurrently or with partial concurrence.
[0073]In summary of the above, it is provided a solution in which it is detected that at least a current pitch angle and loading of the bucket of a piece of heavy machinery is likely to result in an over-slipping of a wheel if no further action is taken, and in which active slip control is then performed in response thereto in order to avoid such over slipping. Advantageous examples include the use of one or more radar and/or distance measuring sensors to estimate the pitch angle (and also to estimate speed of the wheel relative the surface and thereby also the current slip), that do not depend on knowledge about whether e.g. the surface on which the machine is driven is currently sloped or not. The envisaged solution enables to reduce the risk of such over-slipping and thereby also reduces the risk of excessive and/or unnecessary wear of both the wheel/tire and surface, which may serve to reduce operating and fuel costs, maintenance time and also reduce e.g. the amount of pollutants released into the environment due to such wear.
[0074]The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including” when used herein specify the presence of stated features, integers, actions, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, actions, steps, operations, elements, components, and/or groups thereof.
[0075]It will be understood that, although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element without departing from the scope of the present disclosure.
[0076]Relative terms such as “below” or “above” or “upper” or “lower” or “horizontal” or “vertical” may be used herein to describe a relationship of one element to another element as illustrated in the Figures. It will be understood that these terms and those discussed above are intended to encompass different orientations of the device in addition to the orientation depicted in the Figures. It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element, or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present.
[0077]Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0078]It is to be understood that the present disclosure is not limited to the aspects described above and illustrated in the drawings; rather, the skilled person will recognize that many changes and modifications may be made within the scope of the present disclosure and appended claims. In the drawings and specification, there have been disclosed aspects for purposes of illustration only and not for purposes of limitation, the scope of the disclosure being set forth in the following claims.
[0079]The following is a non-exhaustive list of examples as envisaged by the present disclosure:
[0080]Example 1: A computer system for a piece of heavy machinery equipped with a bucket for scooping-up of material from a pile, wherein the computer system includes processing circuitry configured to:—obtain an indication of a pitch angle of the piece of heavy machinery relative to a surface on which the piece of heavy machinery is driven; —obtain an indication of a speed of a center of a wheel of the piece of heavy machinery parallel with the surface; —obtain an indication of a rotational speed of the wheel around its center; —obtain an indication of a loading force of the bucket; —based on the indicated pitch angle of the piece of heavy machinery and the loading force of the bucket, determine that there is a risk of over-slipping of the wheel; and, in response to determining the over-slipping risk, perform longitudinal slip control for the wheel to avoid said over-slipping of the wheel, wherein said slip control is performed based on a difference between a target longitudinal slip value and an actual longitudinal slip value for the wheel, wherein the target longitudinal slip value is obtained based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, and wherein the actual longitudinal slip value is obtained based on the indicated rotational speed of the wheel around its center and the speed of center of the wheel parallel to the surface.
[0081]Example 2: The computer system of example 1, wherein the processing circuitry is configured to determine that there is a risk of increased longitudinal slip based also on a requested torque for the wheel.
[0082]Example 3: The computer system of example 1 or 2, wherein the processing circuitry is configured to obtain measurements of at least i) a distance between the piece of heavy machinery and a surface point and ii) a radial velocity of a surface point with respect to the piece of heavy machinery, and to obtain the indicated pitch angle based on said distance and to obtain the indicated speed of the center of the wheel parallel to the surface based on the indicated pitch angle and said radial velocity.
[0083]Example 4: The computer system of example 3, wherein at least the radial velocity is obtained based on a signal from at least one radar sensor provided on the piece of heavy machinery.
[0084]Example 5: The computer system of any one of examples 1 to 4, wherein to perform longitudinal slip control of the wheel includes limiting an allowed longitudinal slip of the wheel to a slip value below a slip threshold.
[0085]Example 6: The computer system of any one of the preceding examples, wherein to determine that there is a risk of increased longitudinal slip, the processing circuitry is further configured to receive an indication about an ongoing or imminent entering of the bucket into the pile from an operator of the piece of heavy machinery.
[0086]Example 7: The computer system of any one of the preceding examples, wherein to determine that there is a risk of increased longitudinal slip, the processing circuitry is further configured to receive an indication about at least one of: i) a transmission of the piece of heavy machinery being in a low gear, ii) an orientation of the bucket being parallel with the surface, and iii) the bucket being positioned at or close to the surface.
[0087]Example 8: The computer system of any one of the preceding examples, wherein the processing circuitry is configured to obtain an estimated peak longitudinal slip value for the surface, and to determine the target longitudinal slip value as a slip value below or at the peak longitudinal slip value.
[0088]Example 9: The computer system of example 8, wherein over-slipping of the wheel includes the actual longitudinal slip value being above the peak longitudinal slip value.
[0089]Example 10: The computer system of any one of the preceding examples, wherein the processing circuitry is further configured to, as part of determining the risk of over-slipping, use a machine learning model that has been trained to output a probability or indication of the risk for different combinations of at least pitch angle and loading of the bucket.
[0090]Example 11: A piece of heavy machinery, including:—the computer system of any one of examples 1 to 10, the wheel, and the bucket for scooping-up of material from a pile.
[0091]Example 12: The piece of heavy machinery of example 11, wherein the piece of heavy machinery is a loader, such as a wheel loader.
[0092]Example 13: A computer-implemented method, including:—obtaining, by processing circuitry of a computer system, an indication of a pitch angle of a piece of heavy machinery relative to a surface on which the piece of heavy machinery is driven; —obtaining, by the processing circuitry, an indication of a speed of a center of a wheel of the piece of heavy machinery parallel with the surface; —obtaining, by the processing circuitry, an indication of a rotational speed of the wheel around its center; —obtaining, by the processing circuitry, an indication of a loading force of a bucket of the piece of heavy machinery for scooping-up of material from a pile; —based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, determining that there is a risk of over-slipping of the wheel, and, in response to said determining, performing longitudinal slip control for the wheel to avoid said over-slipping of the wheel, wherein said slip control is performed based on a difference between a target longitudinal slip value and an actual longitudinal slip value for the wheel, wherein the target longitudinal slip value is obtained based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, and wherein the actual longitudinal slip value is obtained based on the indicated rotational speed of the wheel around its center and the speed of center of the wheel parallel to the surface.
[0093]Example 14: A computer program product including program code for performing, when executed by the processing circuitry, the method of example 13.
[0094]Example 15: A non-transitory computer-readable storage medium including instructions which, when executed by the processing circuitry, cause the processing circuitry to perform the method of example 13.
Claims
What is claimed is:
1. A computer system for a piece of heavy machinery equipped with a bucket for scooping-up of material from a pile, wherein the computer system comprises processing circuitry configured to:
obtain an indication of a pitch angle of the piece of heavy machinery relative to a surface on which the piece of heavy machinery is driven;
obtain an indication of a speed of a center of a wheel of the piece of heavy machinery parallel with the surface;
obtain an indication of a rotational speed of the wheel around its center;
obtain an indication of a loading force of the bucket;
based on the indicated pitch angle of the piece of heavy machinery and the loading force of the bucket, determine that there is a risk of over-slipping of the wheel; and
in response to determining the over-slipping risk, perform longitudinal slip control for the wheel to avoid the over-slipping of the wheel, wherein the slip control is performed based on a difference between a target longitudinal slip value and an actual longitudinal slip value for the wheel, wherein the target longitudinal slip value is obtained based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, and wherein the actual longitudinal slip value is obtained based on the indicated rotational speed of the wheel around its center and the speed of center of the wheel parallel to the surface.
2. The computer system of
3. The computer system of
4. The computer system of
5. The computer system of
6. The computer system of
7. The computer system of
8. The computer system of
9. The computer system of
10. The computer system of
11. A piece of heavy machinery, comprising:
the computer system of
12. The piece of heavy machinery of
13. A computer-implemented method, comprising:
obtaining, by processing circuitry of a computer system, an indication of a pitch angle of a piece of heavy machinery relative to a surface on which the piece of heavy machinery is driven;
obtaining, by the processing circuitry, an indication of a speed of a center of a wheel of the piece of heavy machinery parallel with the surface;
obtaining, by the processing circuitry, an indication of a rotational speed of the wheel around its center;
obtaining, by the processing circuitry, an indication of a loading force of a bucket of the piece of heavy machinery for scooping-up of material from a pile;
based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, determining that there is a risk of over-slipping of the wheel; and
in response to the determining, performing longitudinal slip control for the wheel to avoid the over-slipping of the wheel, wherein the slip control is performed based on a difference between a target longitudinal slip value and an actual longitudinal slip value for the wheel, wherein the target longitudinal slip value is obtained based on the indicated pitch angle of the piece of heavy machinery and loading force of the bucket, and wherein the actual longitudinal slip value is obtained based on the indicated rotational speed of the wheel around its center and the speed of center of the wheel parallel to the surface.
14. A non-transitory computer-readable storage medium comprising instructions which, when executed by the processing circuitry, cause the processing circuitry to perform the method of