Method, control unit and machine for torque distribution in a mining and / or construction machine
By determining an optimal torque distribution vector for each engine in mining and construction machines based on engine-specific factors, the method addresses inefficiencies in torque distribution, enhancing performance and reducing energy loss.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- EPIROC ROCK DRILLS AB
- Filing Date
- 2025-01-27
- Publication Date
- 2026-07-30
AI Technical Summary
The challenge of efficiently distributing torque between multiple engines in electrically powered mining and/or construction machines leads to high efficiency loss, especially at high RPMs and high loads, as equal division of torque across all engines is inefficient.
A method and control unit that determine an optimal torque distribution vector for each engine based on rules, considering factors like engine temperature, torque delta, and engine torque weights to minimize total loss, ensuring each engine receives a unique torque value.
This approach minimizes efficiency loss by adaptively distributing torque, optimizing performance and reducing energy waste across multiple engines in mining and construction machines.
Smart Images

Figure SE2025050060_30072026_PF_FP_ABST
Abstract
Description
[0001] METHOD, CONTROL UNIT AND MACHINE FOR TORQUE DISTRIBUTION IN A MINING AND / OR CONSTRUCTION MACHINE
[0002] TECHNICAL FIELD
[0003] Embodiments herein relate to a method for torque distribution in a mining and / or construction machine. Further, embodiments herein relate to control unit configured to distribute torque to two or more engines in a mining and / or construction machine Embodiments herein further relate to a mining and / or construction machine.
[0004] BACKGROUND
[0005] In mining and construction, there is a constant ongoing process of improving efficiency, productivity and safety. Examples of changes and / or improvements that are carried out to an increasing extent, especially in mining, is the automation, fully or partly, of various processes occurring in mining. Methods for localization, mapping, control and motion planning have enabled development and deployment of fully or partly autonomous vehicles and / or mining and / or construction machines. Further, a transition to electrically powered mining and / or construction machines is ongoing. This is an important step to reduce emissions of e.g., carbon dioxide. Further, with electrically powered mining and / or construction machines, exhaust fumes decrease in the mines and tunnels. This may lead to an improved work environment and lower ventilation requirements.
[0006] Electrically powered mining and / or construction machines introduce new requirements for operating the machines. An electrically powered mining and / or construction machine may comprise more than one engine. To obtain and / or maintain a certain speed requires the torque to be distributed between the engines.
[0007] Consequently, there is a need for efficient mechanisms to distribute the torque between a number of engines in mining and / or construction machines.
[0008] SUMMARY
[0009] As part of developing embodiments herein a problem has been identified and will first be discussed.A problem with electrically powered mining and / or construction machines relates to distributing torque between a number of engines. With the ongoing electrification of mining and / or construction machines, there is challenge with efficiently utilizing multiple engines in the mining and / or construction machine. To obtain and / or maintain a certain speed requires the torque to be distributed between the multiple engines. Equally dividing the torque across all four engines which at certain high RPMs and high loads give rise to a high efficiency loss.
[0010] An object of embodiments herein is to provide a mechanism that handles torque distribution between two or more engines in a mining and / or construction machine. The object is achieved by the independent claims.
[0011] According to a first aspect, the object is achieved by a method for distributing torque to two or more engines in a mining and / or construction machine.
[0012] Responsive to an indication of total torque required by the mining and / or construction machine, a torque distribution vector comprising a number of torque values is determined by controlling a total loss of the two or more engines. The number of torque values in the torque distribution vector equals the number of engines. A torque value corresponds to a torque to be provided by an engine of the two or more engines.
[0013] A respective torque value from the torque distribution vector is assigned to each of the two or more engines based on one or more rules from a set of rules.
[0014] The two or more engines are instructed to provide the torque corresponding to the assigned torque value.
[0015] In this way it is possible to improve the distribution of torque to two or more engines in the mining and / or construction machine by controlling a total loss of the two or more engines.
[0016] In some exemplary embodiments, controlling the total loss comprises selecting a torque distribution vector from a set of torque distribution vectors. The selected torque distribution vector incurs the lowest total loss among the set of torque distribution vectors.
[0017] In this way it is possible to improve the distribution of torque to two or more engines in the mining and / or construction machine by controlling a total loss of the twoor more engines. This achieves minimizing the total loss when distributing torque to the two or more engines.
[0018] In some exemplary embodiments, the respective torque values are assigned to different engines from said two or more engines.
[0019] This way, each engine is assigned a unique torque value, and the torque distributed to each engine is individually controlled.
[0020] In some exemplary embodiments, the total loss is calculated using a loss function taking at least one penalty factor into account.
[0021] In this way it is possible to improve the distribution of torque to two or more engines in the mining and / or construction machine by controlling a total loss of the two or more engines. This achieves minimizing the total loss when distributing torque to the two or more engines.
[0022] In some exemplary embodiments, the loss function comprises a first parameter and at least one second parameter. The first parameter is associated with a combined loss incurred by the two or more engines. Each of the at least one second parameter is associated with a respective characteristic and penalty factor.
[0023] In this way it is possible to improve the distribution of torque to two or more engines in the mining and / or construction machine by controlling a total loss of the two or more engines. The parameters enable an adaptive loss calculation, where the penalty factor can be adapted to control the loss calculation.
[0024] In some exemplary embodiments, each characteristic comprises any one out of engine temperature, torque delta, torque limit, engine torque weight, and sum of torque values.
[0025] This enables an adaptive loss calculation, where the penalty factors can be adapted to control the loss calculation.
[0026] In some exemplary embodiments, the one or more rules comprise one out of assigning the respective torque values based on engine temperature, assigning the respective torque values based on a torque delta, and assigning the respective torque values based on engine torque weights.
[0027] In this way it is possible to improve the torque distribution to the two or more engines by enabling an adaptive and / or configurable torque value assignment.
[0028] In some exemplary embodiments, assigning the respective torque values based on engine temperature comprises obtaining an indication that a temperature of a first engine of the two or more engines meets a temperature threshold criterion. Inresponse said indication, a first torque value is assigned to said first engine and a respective second torque value is assigned to at least one second engine of the two or more engines. Said first torque value is different than at least one second torque value.
[0029] In this way it is possible to improve the distribution of torque to two or more engines in the mining and / or construction machine by controlling a total loss of the two or more engines. This since it is possible to take the temperature into account when assigning the torque values to the two or more engines.
[0030] In some exemplary embodiments, a torque delta is the difference between a current torque of an engine and a torque value in the torque distribution vector. Assigning the respective torque values based on torque delta comprises, for each mapping between the torque values in the torque distribution vector and the two or more engines, calculating an average torque delta and selecting the mapping with the lowest average torque delta among the calculated average torque deltas. The torque values are assigned according to the selected mapping.
[0031] In this way it is possible to improve the distribution of torque to two or more engines in the mining and / or construction machine by controlling a total loss of the two or more engines. This since it is possible to take the torque delta into account when assigning the torque values to the two or more engines.
[0032] In some exemplary embodiments, assigning the respective torque values based on engine torque weight comprises obtaining an indication that an engine torque weight of a first engine of the two or more engines meets an engine torque weight threshold criterion. In response said indication, a first torque value is assigned to said first engine and a respective second torque value is assigned to at least one second engine of the two or more engines. Said first torque value is different than at least one second torque value.
[0033] In this way it is possible to improve the distribution of torque to two or more engines in the mining and / or construction machine by controlling a total loss of the two or more engines. This since it is possible to take the torque weights into account when assigning the torque values to the two or more engines.
[0034] In some exemplary embodiments, any one or more out of a respective temperature of the two or more engines, a respective current torque of the two or more engines, a respective engine torque weight of the two or more engines, and a torque limit of one or more of the two or more engines is obtained.In some exemplary embodiments, at least one of the respective torque values differs from the other of the respective torque values.
[0035] According to a second aspect, the object is achieved by a control unit configured to distribute torque to two or more engines in a mining and / or construction machine. The control unit comprises a memory operable to store instructions and processing circuitry and / or processor operable to execute the instructions.
[0036] Responsive to an indication of total torque required by the mining and / or construction machine, the control unit is configured to determine a torque distribution vector adapted to comprise a number of torque values by controlling a total loss of the two or more engines. The number of torque values in the torque distribution vector equals the number of engines. A torque value corresponds to a torque to be provided by an engine of the two or more engines.
[0037] The control unit is configured to assign a respective torque value from the torque distribution vector to each of the two or more engines based on one or more rules from a set of rules.
[0038] The control unit is configured to instruct the two or more electrical engines to provide the torque corresponding to the assigned torque value.
[0039] Advantages and effects of the control unit are analogous to the advantages and effects of the method of the first aspect. Further, all embodiments of the control unit are applicable to and combinable with all embodiments of the method of the first aspect, such as any one or more out of the above-mentioned exemplary embodiments, and vice versa.
[0040] According to a third aspect, the object is achieved by a mining and / or construction machine comprising at least two engines and the control unit according to the second aspect.
[0041] Advantages and effects of the mining and / or construction machine are analogous to the advantages and effects of the method of the first aspect and / or the control unit of the second aspect. Further, all embodiments of the mining and / or construction machine are applicable to and combinable with all embodiments of the method of the first aspect and the control unit of the second aspect, such as any one or more out of the above-mentioned exemplary embodiments, and vice versa.BRIEF DESCRIPTIONS OF DRAWINGS
[0042] Examples of embodiments herein are described in more detail with reference to attached drawings in which:
[0043] Figure 1 shows an example of a mining and / or construction machine. Figure 2 shows an example of a mining and / or construction machine. Figure 3 shows a flowchart depicting embodiments of a method according to embodiments herein.
[0044] Figure 4 shows a diagram according to embodiments herein.
[0045] Figure 5 shows a diagram according to embodiments herein.
[0046] Figure 6 shows a diagram according to embodiments herein.
[0047] Figure 7 shows a diagram according to embodiments herein.
[0048] Figure 8 shows schematic block diagrams illustrating embodiments of a control unit.
[0049] DETAILED DESCRIPTION
[0050] An object of embodiments herein is to provide a mechanism that handles torque distribution between two or more engines in a mining and / or construction machine such as e.g., a multi-engine-based battery driven mining truck. The object is achieved by the independent claims.
[0051] According to examples of embodiments herein, instead of dividing or distributing the torque equally among all the engines in a mining and / or construction machine, a method that determines best and / or optimal torque for each engine is provided. The determined torque is distributed, such as assigned to each engine based on rules.
[0052] A certain speed is ordered which translates to a requested torque. Instead of dividing the requested torque equally among all engines, the method, according to examples of embodiments herein, may e.g. determine an optimal and unique torque for each engine given its current RPM by controlling a total loss of the engines, e.g., based at least in part on an efficiency loss map computed, such as obtained, for each engine.In some examples, a loss function is used to determine the total loss. The loss function may, e.g., evaluate the losses from an efficiency loss map for each engine and sums up the total loss. The efficiency loss map may e.g., be computed, such as calculated or determined, for each engine. Alternatively, the efficiency loss map may e.g. be obtained from the engine manufacturer. The solution is bounded in such a way that the sum of all torques, i.e. , the sum the torque provided by all the engines in the mining and / or construction machine, must not deviate from the requested torque. This may e.g., comprise setting a penalty term to any deviation from the requested torque and therefore the method may output the requested torque but with different torques for each engine alone.
[0053] The method may, according to examples of embodiments herein, assign the torques to the engines. This may e.g., be performed based on one or more rules.
[0054] Examples of embodiments herein may bring the advantage of determining the best torque for each engine that minimizes the efficiency loss of multi-engine-based mining and / or constructions machines.
[0055] According to examples of embodiments herein, a mining and / or construction machine 1 comprises two or more engines 11. The two or more engines 11 powers the mining and / or construction machine 1 for performing operations, such as e.g., providing power for propulsion, tramming, digging, drilling pumping, loading, dumping, etc. When performing an operation, a total torque is required. The total torque is to be provided by the two or more engines 11. Consequently, the total torque is to be distrusted between the two or more engines 11. This may mean that the total torque is divided between the two or more engines 11. E.g., the torque may be distributed such that a first engine 11 is to provide a first part of the total torque and a second engine 11 is to provide a second part of the total torque. The sum of the first part of the total torque and the second part of the total torque equals the total torque. A part of the total torque, such as the first part and / or the second part, may be any amount of torque between zero and the total torque. Thus, in some examples, the total torque is distributed such that all torque is provided by a single engine 11. In other examples, the total torque is distributed such that all engines 11 provide a part of the total torque. In yet other examples, the total torque is distributed such that at least one engine 11 provide no torque, while the remaining engines 11 provide at least part of the total torque.Figure 1 shows an example of the mining and / or construction machine 1 comprising two engines 11, a first engine 11a and a second engine 11b. The mining and / or construction machine 1 may further comprise a control unit 10. The control unit 10 may e.g., control the torque distribution. Responsive to an indication of the total torque required by the mining and / or construction machine 1, a torque distribution vector may be determined. The torque distribution vector represents the distribution of the torque to be provided by first engine 11a and the second engine 11b. Thus, in this example, the torque distribution vector comprises two elements, also referred to as torque values. The torque values represent the distribution of torque between the first engine 11a and the second engine 11b. Thus, a torque value indicates an amount of torque to be provided by an engine. The sum of the torque values in the torque distribution vector equals the total torque. The torque values may be the same, or they may be different. The torque distribution vector may be determined by controlling a total loss of the two engines 11. Controlling the total loss may comprise determining the torque distribution vector such that the total loss of the two engines is as small as possible. This may comprise selecting a torque distribution vector from a set of torque distribution vectors. The selected torque distribution vector incurs the lowest total loss among the set of torque distribution vectors. This way the total loss in controlled and minimized.
[0056] The torque values in torque distribution vector are assigned to the two engines 11. This comprises that each torque value is assigned to a specific engine 11, and each engine 11 is assigned only one torque value. In this example, one of the torque values is assigned to the first engine 11a, and another torque value is assigned to the second engine 11b. The torque values are assigned based on one or more rules from a set of rules. The rules may, e.g., comprise assigning the respective torque values based on engine temperature, assigning the respective torque values based on a torque delta, and / or assigning the respective torque values based on engine torque weights. The two engines 11 , such as the first engine 11 a and the second engine 11 b, are instructed to provide the torque corresponding to their assigned torque values.
[0057] In an example according to the above, the indication may indicate that the total torque is X Newton meter (Nm). The torque distribution vector is determined. The torque distribution vector comprises two torque values, T1 and T2, since the mining and / or construction machine 1 comprises two engines 11. As mentioned above, thetorque distribution vector may be determined by controlling a total loss of the two engines 11. Further, in some examples, the torque distribution vector is selected from a set of torque distribution vectors. E.g., the set of torque distribution vectors comprises three distribution vectors, V1 , V2 and V3. V1 incurs a loss L1 , V1 incurs a loss L2 and V3 incurs a loss L3. In this example, L1>L3>L2, meaning that V1 incurs the largest loss, while V2 incurs the smallest loss among the distribution vectors in the set of distribution vectors. Thus, V2 is selected from the set of distribution vectors. A respective torque values in the distribution vector V2 is assigned to each of the two engines 11, based one or more rules. In this example, the rule comprises assigning the torque values based on engine temperature. This may e.g., mean that the largest torque value is assigned to engine with the lowest engine temperature, such as the first engine 11 a, and the lowest torque value is assigned to the engine with the highest engine temperature, such as the second engine 11b. This may also be expressed as that the first engine 11a meets a temperature criterion threshold. A first torque value is responsive to this assigned to the first engine 11a, and a second torque value is assigned to the second engine 11b.
[0058] Figure 2 shows an example of the mining and / or construction machine 1 comprising four engines 11, a first engine 11a, a second engine 11b, a third engine 11c and a fourth engine 11 d. The mining and / or construction machine 1 may further comprise a control unit 10. The control unit 10 may e.g., control the torque distribution. Responsive to an indication of the total torque required by the mining and / or construction machine 1, a torque distribution vector may be determined. The torque distribution vector represents the distribution of the torque to be provided by first engine 11a, the second engine 11b, the third engine 11c and the fourth engine 11 d. Thus, in this example, the torque distribution vector comprises four elements, also referred to as torque values. The torque values represent the distribution of torque between the first engine 11a, the second engine 11b, the third engine 11c and the fourth engine 11 d. Thus, a torque value indicates an amount of torque to be provided by an engine. The sum of the torque values in the torque distribution vector equals the total torque. The torque values may be the same, or they may be different. The torque distribution vector may be determined by controlling a total loss of the four engines 11. Controlling the total loss may comprise determining the torque distribution vector such that the total loss of the four engines is as small as possible. This may compriseselecting a torque distribution vector from a set of torque distribution vectors. The selected torque distribution vector incurs the lowest total loss among the set of torque distribution vectors. This way the total loss is controlled and minimized.
[0059] The torque values in torque distribution vector are assigned to the four engines 11. This comprises that each torque value is assigned to a specific engine 11, and each engine 11 is assigned only one torque value. In this example, one of the torque values is assigned to the first engine 11a, second torque value is assigned to the second engine 11 b, a third torque value is assigned to the third engine 11 c and a fourth torque value is assigned to the fourth engine 11 d. The torque values are assigned based on one or more rules from a set of rules. The rules may, e.g., comprise assigning the respective torque values based on engine temperature, assigning the respective torque values based on a torque delta, and / or assigning the respective torque values based on engine torque weights. The four engines 11, such as the first engine 11a, the second engine 11b, the third engine 11c and the fourth engine 11 d, are instructed to provide the torque corresponding to their assigned torque values.
[0060] In an example according to the above, the indication may indicate that the total torque is X Newton meter (Nm). The torque distribution vector is determined. The torque distribution vector comprises four torque values, T1, T2, T3 and T4, since the mining and / or construction machine 1 comprises four engines 11. As mentioned above, the torque distribution vector may be determined by controlling a total loss of the four engines 11. Further, in some examples, the torque distribution vector is selected from a set of torque distribution vectors. E.g., the set of torque distribution vectors comprises three distribution vectors, V1, V2 and V3. V1 incurs a loss L1, V1 incurs a loss L2 and V3 incurs a loss L3. In this example, L1 >L3>L2, meaning that V1 incurs the largest loss, while V2 incurs the smallest loss among the distribution vectors in the set of distribution vectors. Thus, V2 is selected from the set of distribution vectors. A respective torque values in the distribution vector V2 is assigned to each of the four engines 11, based one or more rules. In this example, the rule comprises assigning the torque values based on a torque delta. This may e.g., mean that a torque mapping that provides the lowest average torque delta is selected. The torque values are then assigned to the four engines 11 according to the selected mapping. The torque delta and torque mapping are explained further below.Figure 3 shows an example embodiment of a method for distributing torque to two or more engines 11 in the mining and / or construction machine 1. The method may e.g., be performed by the control unit 10. The control unit 10 may be comprised in, or connected to, the mining and / or construction machine 1. The method comprises the following actions, which may be taken in any suitable order. Optional actions are referred to as dashed boxes in Figure 3.
[0061] Action 301
[0062] In some embodiments, any one or more out of a respective temperature of the two or more engines 11 , a respective current torque of the two or more engines 11 , a respective engine torque weight of the two or more engines 11 , and a torque limit of one or more of the two or more engines 11, is obtained. This may e.g., comprise obtaining an indication indicating any one or more of the respective temperatures of the two or more engines 11 , the respective current torque of the two or more engines 11 , the respective engine torque weight of the two or more engines 11 , and the torque limit of one or more of the two or more engines 11.
[0063] The temperature may e.g., be measured in Celsius, Fahrenheit, Kelvin, or any other temperature scale. The torque weight may e.g., comprise a relative distribution of the torque between the two or more engines 11. The torque weight may e.g., be indicated as a percentage of a total torque provided by the two or more engines 11. A torque weight as used herein may e.g., mean a percentage of the total torque to be assigned to an engine and may be expressed as a number between 0 and 1 or as a percentage between 0 and 100 percent. The sum of the respective torque weights of the two or more engines 11 may equal 1 if expressed as a number between 0 and 1 , or 100 if expressed as a percentage between 0 and 100 percent. The torque limit may e.g., comprise an upper and / or lower torque limit for an engine 11 of the two or more engines 11. The current torque may e.g., comprise the torque currently provided by the respective two or more engines 11.
[0064] The obtained data, i.e. , the respective temperatures of the two or more engines 11 , the respective current torque of the two or more engines 11 , the respective engine torque weight of the two or more engines 11 , and / or the torque limit of one or more of the two or more engines 11, may e.g., be used when assigning torque values to the two or more engines 11.
[0065] In some embodiments, said data may be obtained together with the indication in Action 302 below. Obtaining said data together with said indication may e.g., meanthat said data is obtained in conjunction with said data, such as e.g., comprised in said indication or as a separate indication or message. The separate indication or message may be obtained, such as received, before or after said indication.
[0066] Action 302
[0067] Responsive to an indication of total torque required by the mining and / or construction machine 1 , a torque distribution vector is determined by controlling a total loss of the two or more engines 11. The torque distribution vector comprises a number of torque values. The number of torque values in the torque distribution vector equals the number of engines 11. A torque value corresponds to a torque to be provided by an engine 11 of the two or more engines 11. In other words, the total torque is to be distributed between the two or more engines 11 such that the sum of the respective torque provided by the two or more engines 11 equals the total torque. This is performed by determining the torque distribution vector, which comprises a torque value for each engine 11. This means that the number of torque values equals the number of engines 11. The torque distribution vector is determined by controlling a total loss of the two or more engines 11. This may e.g., mean that that total loss incurred by the two or more engines 11 when providing the torque should be as low as possible.
[0068] In some embodiments, controlling the total loss comprises selecting a torque distribution vector from a set of torque distribution vectors. The selected torque distribution vector incurs the lowest total loss among the set of torque distribution vectors. As mentioned above, controlling the total loss may mean that the incurred by the two or more engines 11 when providing the torque should be as low as possible. Thus, by selecting the torque distribution vector that incurs the lowest total loss, the total loss is controlled.
[0069] In some embodiments, the total loss is calculated using a loss function taking at least one penalty factor into account. The at least penalty factor, of which examples are described further below, may increase the total loss for a torque distribution vector. This way the total loss may be controlled in a dynamic way. This since the penalty factors may be configurable. By adapting the penalty factors, it possible to determine, and dynamically change, how a torque distribution vector should be penalized. An example of the loss function is shown below.
[0070] In some embodiments, the loss function comprises a first parameter and at least one second parameter. The first parameter is associated with a combined lossincurred by the two or more engines 11. Each of the at least one second parameter is associated with a respective characteristic and penalty factor. The combined loss may e.g., comprise a sum of a loss incurred by the respective two or more engines 11. The loss incurred by an engine 11 may be calculated based on a loss map, where the loss is dependent on rotational speed of the engine 11 , and the torque provided by the engine 11. The penalty factor is predefined and / or configurable value. The characteristic is explained further below. Thus, the loss function may e.g., be expressed as in Equation 1 :
[0071] total_loss = sum(loss) + penalty _f actor * abs(sum(t) — ref) (1 ) sum(loss) is the first parameter and penalty_f actor * abs(sum(t) — ref) is an example of the second parameter. abs(sum(t) - ref) is an example of a characteristic associated with the second parameter. In this example, the characteristic is the absolute value of the difference between the sum of the torque values t in the torque distribution vector, sum(t) , and a reference torque, ref, where the reference torque value is the total torque required by the mining and / or construction machine 1. In this example, one second parameter is taken into account in the loss function, i.e., penalty_f actor * abs(sum(t) — ref).
[0072] In an example, based on Equation 1, the penalty factor for violating a “requested torque criteria”, i.e., the sum of the torque values in the torque distribution vector should equal the total torque. In other words, the sum of all torques over all engines must be equal to the requested torque from the driver. The error between these values, such as the difference, is then multiplied by the penalty. When calculating the sum(loss) for every engine 11 , e.g., in a for loop, the current RPM and torque may be interpolated with respect to a loss map by a simple 1st degree polynomial. The reason for the interpolation may comprise that the resolution of the loss map is lower than the resolution of the RPM and current torque. E.g., the loss map may only have 30x30x30 values, it is therefore needed to interpolate. For every engine 11 , the loss is then by this interpolation calculated and stored. The total loss is then calculated by Equation 1. If the torque ranges from 0 to 2500 Nm and the RPM from 0 to 5000 RPM, the resolution is roughly 86.2 steps between each torque value and 172.4 steps between each value in the loss map. The torque may e.g., be represented by an x-axis in the loss map and the RPM by the y-axis on the loss map. The loss of an engine may then be represented by the z-axis. The object is to achievean as low loss as possible for each of the two or more engines 11 , i.e. , an as low value on the z-axis in the loss map as possible, while controlling the total loss to be as low as possible.
[0073] In some embodiments, each characteristic comprises any one out of engine temperature, torque delta, torque limit, engine torque weight, and sum of torque values. The engine temperature may e.g., be related to a temperature of an engine 11. The temperature may e.g., be evaluated against one or more thresholds. In some examples, the temperature may be evaluated against a first temperature threshold. This may e.g., mean that if the temperature of an engine 11 is higher than the first temperature threshold, the penalty incurred by the penalty factor will increase. Alternatively, it may mean that if the temperature of an engine 11 is lower than the first temperature threshold, the penalty incurred by the penalty factor will increase. In some examples, the temperature may be evaluated against an upper temperature threshold and a lower temperature threshold. This may e.g., mean that if the temperature within the interval bound by the upper temperature threshold and the lower temperature threshold, the penalty incurred by the temperature will not increase. Correspondingly, if the temperature is outside the interval bound by the upper temperature threshold and lower temperature threshold, such as higher than the upper temperature threshold or lower than the lower temperature threshold, the penalty incurred by the temperature will increase.
[0074] The torque delta may e.g., be related to a torque difference. The torque difference may e.g., comprise a difference between a current torque of an engine 11 and torque value in the torque distribution vector. If the torque difference is larger than a delta threshold, a penalty will be added to the total loss.
[0075] The torque limit may e.g., be related to a torque limit set for an engine 11. The torque limit may be a fixed limit, or it may be an adaptive limit that may depend on the current situation. If the torque for an engine 11 is higher than the torque limit, a penalty will be added to the total loss.
[0076] The engine torque weight may e.g., be related to a relative distribution of the torque between the two or more engines 11.
[0077] The sum of the torque values may e.g., be related to the difference between the sum of the torque values and the total torque, which may also be referred to as a reference torque value. This may e.g., if the sum of the torque values differs from thetotal torque, a penalty will be added to the total loss. The penalty may depend on how big the difference is, e.g., the penalty may increase with in increased difference.
[0078] Equation 2 below is a generalization of Equation 1 above:
[0079]
[0080] The loss function comprises n second parameters. sum(loss) is, as mentioned above, the first parameter. penalty_factorn* Xnis the nth second parameter, penalty _factornis the penalty factor associated with the nth second parameter and Xnis the characteristic associated with the nth second parameter.
[0081] In some embodiments, at least one of the respective torque values differs from the other of the respective torque values. This means that the torque that will be assigned the two or more engines 11 may differ from each other.
[0082] Action 303
[0083] A respective torque value from the torque distribution vector is assigned to each the two or more engines 11 based on one or more rules from a set of rules. In other words, each engine 11 is assigned a torque to provide. The torque to provide corresponds to the torque value. Thus, each engine 11 of the two or more engines 11 is assigned a unique torque value from the torque distribution vector.
[0084] In some embodiments, the respective torque values are assigned to different engines 11 from said two or more engines 11. As mentioned above, this may mean that each engine 11 of the two or more engines 11 is assigned a unique torque value from the torque distribution vector.
[0085] The one or more rules may e.g., comprises one out of assigning the respective torque values based on engine temperature, assigning the respective torque values based on a torque delta, and assigning the respective torque values based on engine torque weights. Which rule to apply may be configurable. This may mean that the same rule is not necessarily applied every time a new torque values are to be assigned. Which rule to use may depend on the situation. This allows a dynamic and adaptable assignment of the torque values that improves the flexibility of operating the mining and / or construction machine.
[0086] As mentioned above, assigning the torque values may in some embodiments comprise assigning the respective torque values based on engine temperature. Assigning the torque values based on the engine temperature may e.g., comprise obtaining an indication that the temperature of a first engine 11 of the two or moreengines 11 meets a temperature threshold criterion. The threshold criterion may e.g., comprise an absolute temperature value, and meeting the criterion may e.g., comprise that the temperature of the first engine 11 is higher or lower than the absolute temperature value. In another example, the threshold criterion may comprise a relative temperature criterion. Meeting the relative temperature criterion may e.g., comprise that the temperature of first engine 11 is lower or higher than a temperature one or more second engines 11 of the two or more engines 11. In response said indication, a first torque value may be assigned to said first engine 11 and at a respective second torque value to at least one second engine 11 of the two or more engines 11. Said first torque value is different than at least one second torque value. In other words, the temperature of the first engine 11 is taken into account when assigning the respective torque values to the two or more engines 11 by evaluating the temperature against the threshold criterion.
[0087] Alternatively, in some embodiments, assigning the respective torque values based on engine temperature may comprise generating a list of the two or more engines 11. A number of iterations may be performed until all the torque values have been assigned. Each iteration may comprise selecting the engine 11 with the lowest temperature from the list of engines, assigning the highest unassigned torque value to the selected engine 11 , and removing the selected engine 11 from the list of engines. The number of iterations may equal the number of torque values in the torque distribution vector. This may mean that the number of iterations equals the number of engines 11 , since the number of engines 11 equals the number of torque values in the torque distribution vector. In other words, the iterations may be performed until the list is empty, i.e. , until all engines 11 have been removed from the list of engines.
[0088] In a variation of this embodiment, the list is sorted based on engine temperature. Each iteration may comprise selecting the first engine 11 from the list of engines, assigning the first unassigned torque value to the selected engine 11 , and removing the selected engine 11 from the list of engines.
[0089] The list may be sorted in a first predefined order, e.g., in descending order, i.e., the engine 11 with the highest temperature is first in the list, or in ascending order, i.e., the engine 11 with the lowest temperature is first in the list. According to this variation, in order to assign the torque values based on the temperature of the two or more engines, the torque distribution vector may need to be sorted in a second predefinedorder based on the torque values. The second predefined order may comprise sorting in descending order or ascending order.
[0090] As mentioned above, assigning the torque values may in some embodiments comprise assigning the respective torque values based on torque delta. A torque delta is the difference between a current torque of an engine 11 and a torque value in the torque distribution vector. Assigning the respective torque values based on torque delta may comprise, for each mapping between the torque values in the torque distribution vector and the two or more engines 11 , calculating an average torque delta.
[0091] The mapping with the lowest average torque delta among the calculated average torque deltas is selected. The torque values are assigned to the two or more engines 11 according to the selected mapping.
[0092] Since there are at least two engines 11 , and thus also at least two torque values in the torque distribution vector, there will be several ways to map the torque values to the engines 11. In an example with four engines 11 and four torque values there will be twenty four possible mappings. The average torque delta is calculated for each of the twenty four mappings, and the mapping with the lowest torque delta is selected. The mappings between the torque values of the two or more engines 11 is explained further below.
[0093] As mentioned above, assigning the torque values may in some embodiments comprise assigning the respective torque values based on engine torque weight. Assigning the torque values based on the engine torque weight may e.g., comprise obtaining an indication that an engine torque weight of a first engine 11 of the two or more engines 11 meets an engine torque weight threshold criterion. The threshold criterion may e.g., comprise a relative torque weight criterion. Meeting the relative temperature criterion may e.g., comprise that the torque weight of the first engine 11 is lower or higher than a torque weight of one or more second engines 11 of the two or more engines 11. In response said indication, a first torque value may be assigned to said first engine 11 and at least a respective second torque value to at least one second engine 11 of the two or more engines. Said first torque value is different than at least one second torque value. In other words, the torque weight of the first engine 11 is taken into account when assigning the respective torque values to the two or more engines 11 by evaluating the torque weight against the threshold criterion.Alternatively, in some embodiments, assigning the respective torque values based on engine torque weight may comprise generating a list of the two or more engines 11. A number of iterations may be performed until all the torque values have been assigned. Each iteration may comprise selecting the engine 11 with the highest torque value from the list of engines, assigning the highest unassigned torque value to the selected engine 11, and removing the selected engine 11 from the list of engines. The number of iterations may equal the number of torque values in the torque distribution vector. This may mean that the number of iterations equals the number of engines 11 , since the number of engines 11 equals the number of torque values in the torque distribution vector. In other words, the iterations may be performed until the list is empty, i.e. , until all engines 11 have been removed from the list of engines.
[0094] In a variation of this embodiment, the list is sorted based on engine torque value. Each iteration may comprise selecting the first engine 11 from the list of engines, assigning the first unassigned torque value to the selected engine 11 , and removing the selected engine 11 from the list of engines.
[0095] The list may be sorted in a first predefined order, e.g., in descending order, i.e., the engine 11 with the highest torque weight is first in the list, or in ascending order, i.e., the engine 11 with the lowest torque weight is first in the list. According to this variation, in order to assign the torque values based on the torque weight of the two or more engines 11 , the torque distribution vector may need to be sorted in a second predefined order based on the torque values. The second predefined order may comprise sorting in descending order or ascending order.
[0096] Action 304
[0097] The two or more engines 11 are instructed to provide the torque corresponding to the assigned torque value. This may further comprise instructing the two or more engines 11 how fast to reach the torque indicated by the torque values, such that the two or more engines 11 reaches the indicated torque values at the same time.
[0098] Embodiments herein such as the embodiments mentioned above will now be further described and exemplified. The text below is applicable to embodiments herein and may be combined with any suitable embodiment described above.
[0099] As mentioned above, a respective torque value is assigned to each of the two or more engines 11 based one or more rules from a set of rules. The rules may e.g., comprise assigning the respective torque values based on engine temperature,assigning the respective torque values based on a torque delta, and assigning the respective torque values based on engine torque weights. Assigning the torque values based on a rule may also be referred to as performing a sorting and / or mapping operation. The rules, and the assigning of torque values based on said rules, are exemplified below.
[0100] Figure 4 shows an example according to embodiments herein related to assigning the torque values based on a torque delta. As mentioned above, assigning the torque values to the two or more engines 11 may be based on a torque delta. This may mean that the current torque of the two or more engines 11 are taken into account when assigning the torque values. The object is to ensure that the delta, i.e., the difference, between the current torque and the assigned torque value for an engine is minimized. As explained above, this may be achieved by calculating an average torque delta for each possible mapping of the torque values in the torque distribution vector to the two or more engines 11. A mapping as used herein, may refer to a certain combination of torque values associated with engines.
[0101] In an example the two or more engines 11 comprises four engines 11 , referred to as E1, E2, E3 and E4, and the torque distribution vector comprises four torque values, referred as T1, T2, T3 and T4. A mapping may then comprise that E1 is mapped to T1, E2 is mapped to T2, E3 is mapped to T3, and E4 is mapped to T4. Another mapping may comprise that E1 is mapped to T1, E2 is mapped to T2, E3 is mapped to T4 and E4 is mapped to T3. The example with four engines 11 and four torque values comprises twenty-four different mappings. Thus, for each mapping the average torque delta is calculated. This results in 24 different average torque deltas, one for each mapping. The mapping with the lowest average torque delta is selected, and the torque values is assigned to the engines 11 according to the selected mapping. Figure 4 shows a table according to the example with four engines and four torque values. In this example, the current torque of the four engines are as follows:
[0102] E1 1800 Nm
[0103] E2 1000 Nm
[0104] E3 20 Nm
[0105] E4 40 Nm
[0106] The torque values in the determined torque distribution vector are as follows: T1 2000 NmT2 1500 Nm
[0107] T3 50 Nm
[0108] T4 0 Nm
[0109] Figure 4 shows the twenty-four mappings, and the bottom row shows the average torque deltas of each of the mappings. As can be seen in the figure, the lowest average torque delta is 182,5 Nm. This corresponds to the mapping E1 ->T1 , E1->T2, E3->T4 and E4->T3. Thus, according to this example, this is the mapping that will be selected, and the torque values will be assigned according to said selected mapping.
[0110] Figure 5 shows an example according to embodiments herein related to assigning the torque values based on engine temperature. As mentioned above, assigning the torque values to the two or more engines 11 may be based on engine temperature. This may mean that the engine temperature of the two or more engines 11 are taken into account when assigning the torque values.
[0111] Taking the example above with four engines 11, the torque distribution vector comprises four torque values. Assigning the torque values based on the engine temperature of the four engines 11 may mean that the engine temperature is a deciding factor for the torque value assignment. In this example, the current engine temperature of the four engines are as follows:
[0112] E1 56 degrees Celsius (°C)
[0113] E2 53 °C
[0114] E3 69 °C
[0115] E4 49 °C
[0116] The torque values in the determined torque distribution vector are as follows: T1 2000 Nm
[0117] T2 1500 Nm
[0118] T3 50 Nm
[0119] T4 0 Nm
[0120] Given these engine temperatures and torque values, assigning the torque values may comprise, responsive to an indication indicating that a first engine 11 of the four engines 11 meets a temperature threshold criterion, the first engine 11 is assigned a first torque value. Meeting the temperature threshold criterion may e.g., mean that it has the lowest temperature of the engines 11 that has not yet been assigned a torque value. The first engine 11 would in this case be engine E4. The firsttorque value assigned to the engine E4 may e.g., comprise the highest torque value of the four torque values, which in this example would be T1. The remaining three engines 11 is then assigned a respective torque value from the three remaining torque values. This may in some examples comprise assigning the second highest torque value to a second engine 11 which meets the temperature threshold criterion, e.g., that the second engine 11 has the lowest engine temperature of the engines 11 that has not yet been assigned a torque value. In this example this would mean that engine E2 is assigned torque value T2. Correspondingly, the third highest torque value is assigned to a third engine 11 which meets the temperature threshold criterion, e.g., that the third engine 11 has the lowest temperature of the engines 11 that has not yet been assigned a torque value. In this example this would mean that engine E1 is assigned torque value T3. The four engine 11 , engine E3, is the only remining engine 11 that has not yet been assigned a torque value. Engine E3 is thus assigned torque value T4, which is the only remaining torque value.
[0121] In some examples, a list comprising the four engines 11 , and the corresponding engine temperature of the four engines 11 is generated. An iteration process is the performed where for each iteration, a torque value is assigned to an engine 11 in the list. The first iteration may comprise selecting the selecting the engine 11 from the list and assigning a torque value from the torque distribution vector to the selected engine 11. The order the torque values is selected may be according to a predefined order, e.g., from the highest to the lowest or from the lowest to the highest. Correspondingly, the order the engines 11 is selected may be according to a predefined order, e.g., from the highest engine temperature to the lowest engine temperature, or from the lowest engine temperature to the highest engine temperature. Once a torque value has been assigned to the selected engine 11, said engine is removed from the list, or at least marked as having been assigned a torque value, and the next iteration starts. The iterations continue until all engines 11 in the list of engines has been assigned a torque value, i.e. , until the list is empty, or until all engines 11 in the list have marked as having been assigned a torque value. In an example the engines 11 are selected in ascending order of engine temperature and the torque values are assigned in descending order. Given the engine temperature and torque values exemplified above, this would give the following result:
[0122] Iteration 1: E4 is selected and assigned torque value T1. E4 is removed from the list of engines or marked as having been assigned a torque value.Iteration 2: E2 is selected and assigned torque value T2. E2 is removed from the list of engines or marked as having been assigned a torque value.
[0123] Iteration 3: E1 is selected and assigned torque value T3. E1 is removed from the list of engines or marked as having been assigned a torque value.
[0124] Iteration 2: E3 is selected and assigned torque value T3. E3 is removed from the list of engines or marked as having been assigned a torque value.
[0125] In a variant of this example, the list of engines is sorted based on the engine temperatures, such as from the highest to the lowest, or from the lowest to the highest. During each iteration, either the first engine 11 in the list of engines is selected, or the first engine 11 that has not been marked as having been assigned a torque value is selected. In either case, it is always the first engine 11 in the list of engines that has not been assigned a torque value that is selected. The selected engine 11 is assigned a torque value from the torque distribution vector. The order the engines 11 is selected may be according to a predefined order, e.g., from the highest to the lowest or from the lowest to the highest. Once a torque value has been assigned to the selected engine 11 , said engine is removed from the list, or at least marked as having been assigned a torque value, and the next iteration starts. The iterations continue until all engines 11 in the list of engines has been assigned a torque value, i.e. , until the list is empty, or until all engines 11 in the list have marked as having been assigned a torque value. An example of the sorted list of engines is shown in Figure 5, where the engines are sorted in ascending order of engine temperature.
[0126] Figure 6 shows an example according to embodiments herein related to assigning the torque values based on torque weight. As mentioned above, assigning the torque values to the two or more engines 11 may be based on torque weight. This may mean that the torque weight of the two or more engines 11 are taken into account when assigning the torque values.
[0127] Taking the example above with four engines 11, the torque distribution vector comprises four torque values. Assigning the torque values based on the torque weight of the four engines 11 may mean that the torque weight is a deciding factor for the torque value assignment. In this example, the torque weights of the four engines are as follows:
[0128] E1 0,1E3 0
[0129] E4 0,5
[0130] The torque values in the determined torque distribution vector are as follows: T1 2000 Nm
[0131] T2 1600 Nm
[0132] T3 400 Nm
[0133] T4 0 Nm
[0134] Given these torque weights and torque values, assigning the torque values may comprise, responsive to an indication indicating that a first engine 11 of the four engines 11 meets a torque weight threshold criterion, the first engine 11 is assigned a first torque value. Meeting the torque weight threshold criterion may e.g., mean that it has the highest torque weight of the engines 11 that has not yet been assigned a torque value. The first engine 11 would in this case be engine E4. The first torque value assigned to the engine E4 may e.g., comprise the highest torque value of the four torque values, or the torque value that corresponds to the torque weight, which in this example would be T1. This since the torque weight of engine E4 is 0,5 and the torque value T1 corresponds to 50% of the total torque. The remaining three engines 11 is then assigned a respective torque value from the three remaining torque values. This may in some examples comprise assigning the second highest torque value, or the torque value that corresponds to the torque weight of the second engine, to a second engine 11 which meets the torque weight threshold criterion, e.g., that the second engine 11 has the lowest torque weight of the engines 11 that has not yet been assigned a torque value. In this example this would mean that engine E2 is assigned torque value T2. Correspondingly, the third highest torque value, or the torque value that corresponds the torque weight of the third engine 11 , is assigned to a third engine 11 which meets the torque weight threshold criterion, e.g., that the third engine 11 has the lowest torque weight of the engines 11 that has not yet been assigned a torque value. In this example this would mean that engine E1 is assigned torque value T3. The fourth engine 11 , engine E3, is the only remining engine 11 that has not yet been assigned a torque value. Engine E3 is thus assigned torque value T4, which is the only remaining torque value.
[0135] In some examples, a list comprising the four engines 11 , and the corresponding torque weights of the four engines 11 is generated. An iteration process is the performed where for each iteration, a torque value is assigned to an engine 11 in thelist. The first iteration may comprise selecting an engine 11 from the list and assigning a torque value from the torque distribution vector to the selected engine 11. The order the torque values is selected may be according to a predefined order, e.g., from the highest to the lowest or from the lowest to the highest. Correspondingly, the order the engines 11 is selected may be according to a predefined order, e.g., from the highest torque weight to the lowest torque weight, or from the lowest torque weight to the highest torque weight. Once a torque value has been assigned to the selected engine 11, said engine is removed from the list, or at least marked as having been assigned a torque value, and the next iteration starts. The iterations continue until all engines 11 in the list of engines have been assigned a torque value, i.e. , until the list is empty, or until all engines 11 in the list have marked as having been assigned a torque value. In an example the engines 11 are selected in ascending order of torque weight and the torque values are assigned in ascending order, or the torque values are assigned according to the torque weights. Given the engine temperature and torque values exemplified above, this would give the following result:
[0136] Iteration 1: E4 is selected and assigned torque value T1. E4 is removed from the list of engines or marked as having been assigned a torque value.
[0137] Iteration 2: E2 is selected and assigned torque value T2. E2 is removed from the list of engines or marked as having been assigned a torque value.
[0138] Iteration 3: E1 is selected and assigned torque value T3. E1 is removed from the list of engines or marked as having been assigned a torque value.
[0139] Iteration 2: E3 is selected and assigned torque value T3. E3 is removed from the list of engines or marked as having been assigned a torque value.
[0140] In a variant of this example, the list of engines is sorted based on the torque weights, such as from the highest to the lowest, or from the lowest to the highest. During each iteration, either the first engine 11 in the list of engines is selected, or the first engine 11 that has not been marked as having been assigned a torque value is selected. In either case, it is always the first engine 11 in the list of engines that has not been assigned a torque value that is selected. The selected engine 11 is assigned a torque value from the torque distribution vector. The order the engines 11 is selected may be according to a predefined order, e.g., from the highest torque weight to the lowest torque weight, or from the lowest torque weight to the highest torque weight. Once a torque value has been assigned to the selected engine 11 , said engine is removed from the list, or at least marked as having been assigned a torque value, andthe next iteration starts. The iterations continue until all engines 11 in the list of engines has been assigned a torque value, i.e. , until the list is empty, or until all engines 11 in the list have marked as having been assigned a torque value. An example of the sorted list of engines is shown in Figure 6, where the engines are sorted in descending order of torque weight.
[0141] Figure 7 shows an example of the mining and / or construction machine 1. The mining and / or construction machine 1 comprises at least two engines 11 and a control unit 10. Responsive to an indication of total torque required by the mining and / or construction machine 1, the mining and / or construction machine 1 and / or control unit 10 determines a torque distribution vector comprising a number of torque values by controlling a total loss of the two or more engines 11. The number of torque values in the torque distribution vector equals the number of engines 11. A torque value corresponds to a torque to be provided by an engine 11 of the two or more engines 11. The mining and / or construction machine 1 and / or control unit 10 assigns a respective torque value from the torque distribution vector to each of the two or more engines 11 based on one or more rules from a set of rules. The mining and / or construction machine 1 and / or control unit 10 instructs the two or more engines to provide the torque corresponding to the assigned torque value. The control unit 10 may be configured to perform the steps explained above.
[0142] The control unit 10 may comprise an arrangement depicted in Figure 8. To perform embodiments herein, e.g. the method according to actions 201-209 above, the control unit 10 is configured to distribute torque to two or more engines 11 in the mining and / or construction machine 1. The control unit 10 comprises a memory 820 operable to store instructions and processing circuitry 810 and / or processor 811 operable to execute the instructions.
[0143] The control unit 10 may comprise an input and output interface 800 e.g. configured to communicate with each other. The input and output interface 800 may comprise a wireless or wired receiver not shown, a transceiver, one or more antennas, and / or a wired or wireless transmitter not shown.
[0144] The embodiments herein may be implemented through a respective processor or one or more processors, such as at least one processor 811 of a processing circuitry 810 in the control unit 10 depicted in Figure 8, together with a computerprogram and / or a computer readable medium and / or computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the control unit 10. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the control unit 10.
[0145] The control unit 10 and / or processing circuitry 810 and / or processor 811 is configured to distribute torque to two or more engines 11 in the mining and / or construction machine 1. The control unit 10 comprises a memory 820 operable to store instructions and processing circuitry 810 and / or processor 811 operable to execute the instructions.
[0146] Responsive to an indication of total torque required by the mining and / or construction machine 1, The control unit 10 and / or processing circuitry 810 and / or processor 811 is configured to determine a torque distribution vector adapted to comprise a number of torque values by controlling a total loss of the two or more engines 11. The number of torque values in the torque distribution vector equals the number of engines 11. A torque value corresponds to a torque to be provided by an engine 11 of the two or more engines 11
[0147] The control unit 10 and / or processing circuitry 810 and / or processor 811 is configured to assign a respective torque value from the torque distribution vector to each of the two or more engines 11 based on one or more rules from a set of rules.
[0148] The control unit 10 and / or processing circuitry 810 and / or processor 811 is configured to instruct the two or more electrical engines 11 to provide the torque corresponding to the assigned torque value.
[0149] In some embodiments, the control unit 10 and / or processing circuitry 810 and / or processor 811 may further be configured to control the total loss by being configured to select a torque distribution vector from a set of torque distribution vectors. The selected torque distribution vector incurs the lowest total loss among the set of torque distribution vectors.
[0150] In some embodiments, the respective torque values are assigned to different engines 11 from said two or more engines 11.In some embodiments, the total loss is calculated using a loss function taking at least one penalty factor into account.
[0151] In some embodiments, the loss function comprises a first parameter and at least one second parameter. The first parameter is associated with a combined loss incurred by the two or more engines 11. Each of the at least one second parameter is associated with a respective characteristic and penalty factor.
[0152] In some embodiments, each characteristic comprises any one out of engine temperature, torque delta, torque limit, engine torque weight, and sum of torque values.
[0153] In some embodiments, the one or more rules comprises one out of assigning the respective torque values based on engine temperature, assigning the respective torque values based on a torque delta, and assigning the respective torque values based on engine torque weights.
[0154] In some embodiments, the control unit 10 and / or processing circuitry 810 and / or processor 811 may further be configured to assign the respective torque values based on engine temperature by being configured to obtain an indication that a temperature of a first engine 11 of the two or more engines 11 meets a temperature threshold criterion. In response said indication. The control unit 10 and / or processing circuitry 810 and / or processor 811 may further be configured to assign a first torque value to said first engine 11 and at a respective second torque value to at least one second engine 11 of the two or more engines. Said first torque value is different than at least one second torque value.
[0155] In some embodiments, a torque delta is the difference between a current torque of an engine 11 and a torque value in the torque distribution vector.
[0156] In some embodiments, the control unit 10 and / or processing circuitry 810 and / or processor 811 may further be configured to assign the respective torque values based on torque delta by being configured to for each mapping between the torque values in the torque distribution vector and the two or more engines 11, calculate an average torque delta. The control unit 10 and / or processing circuitry 810 and / or processor 811 may further be configured to select the mapping with the lowest average torque delta among the calculated average torque deltas and assign the torque values according to the selected mapping.
[0157] In some embodiments, the control unit 10 and / or processing circuitry 810 and / or processor 811 may further be configured to assign the respective torque values basedon engine torque weight by being configured to obtain an indication that an engine torque weight of a first engine 11 of the two or more engines 11 meets an engine torque weight threshold criterion. In response said indication, the control unit 10 and / or processing circuitry 810 and / or processor 811 may further be configured to assigning a first torque value to said first engine 11 and at a respective second torque value to at least one second engine 11 of the two or more engines. Said first torque value is different than at least one second torque value.
[0158] In some embodiments, the control unit 10 and / or processing circuitry 810 and / or processor 811 may further be configured to obtain any one or more out of a respective temperature of the two or more engines 11 , a respective current torque of the two or more engines 11, a respective engine torque weight of the two or more engines 11, and a torque limit of one or more of the two or more engines 11.
[0159] In some embodiments, at least one of the respective torque values differs from the other of the respective torque values.
[0160] The control unit 15 may further comprise a memory 820 comprising one or more memory units. The memory 820 comprises instructions executable by the processor 810 in the control unit 10. The memory 820 is arranged to be used to store e.g. information, configurations, criteria, measurements, torque distribution vectors, temperatures, loss functions, engine loss, rules, data, and applications to perform the methods herein when being executed in the control unit 10.
[0161] In some embodiments, a computer program 830 comprises instructions, which when executed by the respective processing circuitry 810 and / or at least one processor 811, cause the processing circuitry 810 and / or at least one processor 810 of the control unit 10 to perform the actions above.
[0162] In some embodiments, a computer readable medium 840 comprises instructions, which when executed by the respective processing circuitry 810 and / or at least one processor 811, cause the processing circuitry 810 and / or at least one processor 810 of the control unit 10 to perform the actions above.
[0163] In some embodiments, a respective carrier 850 comprises the respective computer program 830 and / or computer readable medium 840, wherein the carrier 850 is one of an electronic signal or signals, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.Thus, embodiments herein may disclose the control unit 10 configured to distribute torque to two or more engines 11 in the mining and / or construction machine 1 The control unit 10 comprises the processing circuitry 810 and / or the processor 811 , and the memory 820, said memory 820 comprising instructions executable by said processor 810 whereby said control unit 10 is operative to perform any of the methods herein.
[0164] As will be readily understood by those familiar with communications design, that functions means or modules may be implemented using digital logic and / or one or more microcontrollers, microprocessors, or other digital hardware. In some embodiments, several or all of the various functions may be implemented together, such as in a single application-specific integrated circuit (ASIC), or in two or more separate devices with appropriate hardware and / or software interfaces between them. Several of the functions may be implemented on a processor shared with other functional components of a base station, for example.
[0165] Alternatively, several of the functional elements of the processing means discussed may be provided through the use of dedicated hardware, while others are provided with hardware for executing software, in association with the appropriate software or firmware. Thus, the term “processor” or “controller” as used herein does not exclusively refer to hardware capable of executing software and may implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM) for storing software, random-access memory for storing software and / or program or application data, and non-volatile memory. Other hardware, conventional and / or custom, may also be included. Designers of communications receivers will appreciate the cost, performance, and maintenance trade-offs inherent in these design choices.
[0166] Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory (RAM), cache memory,flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and / or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure.
[0167] It will be appreciated that the foregoing description and the accompanying drawings represent non-limiting examples of the methods and apparatus taught herein. As such, the apparatus and techniques taught herein are not limited by the foregoing description and accompanying drawings. Instead, the embodiments herein are limited only by the following claims and their legal equivalents.
Claims
CLAIMS1. A method for distributing torque to two or more engines (11 ) in a mining and / or construction machine (1), the method comprising:responsive to an indication of total torque required by the mining and / or construction machine (1), determining (302) a torque distribution vector comprising a number of torque values by controlling a total loss of the two or more engines (11), the number of torque values in the torque distribution vector equals the number of engines (11), wherein a torque value corresponds to a torque to be provided by an engine (11) of the two or more engines (11),assigning (303) a respective torque value from the torque distribution vector to each of the two or more engines (11 ) based on one or more rules from a set of rules, andinstructing (304) the two or more engines to provide the torque corresponding to the assigned torque value.
2. The method according to claim 1 , wherein controlling the total loss comprises selecting a torque distribution vector from a set of torque distribution vectors, wherein the selected torque distribution vector incurs the lowest total loss among the set of torque distribution vectors.
3. The method according to any of claims 1-2, wherein the respective torque values are assigned to different engines (11) from said two or more engines (11).
4. The method according to any of claims 1-3, wherein the total loss is calculated using a loss function taking at least one penalty factor into account.
5. The method according to claim 4, wherein the loss function comprises a first parameter and at least one second parameter, wherein the first parameter is associated with a combined loss incurred by the two or more engines (11 ), and wherein each of the at least one second parameter is associated with a respective characteristic and penalty factor.
6. The method according to any of claims 4-5, wherein each characteristic comprises any one out of:- engine temperature,- torque delta,- torque limit,- engine torque weight, or- sum of torque values.
7. The method according to any of claims 1-6, wherein the one or more rules comprises one out of:- assigning the respective torque values based on engine temperature, - assigning the respective torque values based on a torque delta, or- assigning the respective torque values based on engine torque weights.
8. The method according to claim 7, wherein assigning (303) the respective torque values based on engine temperature comprises:obtaining an indication that a temperature of a first engine (11) of the two or more engines (11) meets a temperature threshold criterion, andin response said indication, assigning a first torque value to said first engine (11) and at a respective second torque value to at least one second engine (11) of the two or more engines, wherein said first torque value is different than at least one second torque value.
9. The method according to claim 7, wherein a torque delta is the difference between a current torque of an engine (11 ) and a torque value in the torque distribution vector, and wherein assigning (303) the respective torque values based on torque delta comprises:for each mapping between the torque values in the torque distribution vector and the two or more engines (11), calculating an average torque delta,selecting the mapping with the lowest average torque delta among the calculated average torque deltas, andassigning the torque values according to the selected mapping.
10. The method according to claim 7, wherein assigning the respective torque values based on engine torque weight comprises:obtaining an indication that an engine torque weight of a first engine (11 ) of the two or more engines (11) meets an engine torque weight threshold criterion, and in response said indication, assigning a first torque value to said first engine (11) and at a respective second torque value to at least one second engine (11) of the two or more engines, wherein said first torque value is different than at least one second torque value.
11. The method according to any of claims 1 -10, further comprising:obtaining (301 ) any one or more out of:- a respective temperature of the two or more engines (11),- a respective current torque of the two or more engines (11 ),- a respective engine torque weight of the two or more engines (11), and - a torque limit of one or more of the two or more engines (11).
12. The method according to any of claims 1-11, wherein at least one of the respective torque values differs from the other of the respective torque values.
13. A control unit (10) configured to distribute torque to two or more engines (11 ) in a mining and / or construction machine (1), the control unit (10) comprising a memory (720) operable to store instructions and processing circuitry (710) and / or processor (711) operable to execute the instructions, such that the control unit (10) is operable to:responsive to an indication of total torque required by the mining and / or construction machine (1), determine a torque distribution vector adapted to comprise a number of torque values by controlling a total loss of the two or more engines (11), the number of torque values in the torque distribution vector equals the number of engines (11), wherein a torque value corresponds to a torque to be provided by an engine (11 ) of the two or more engines (11),assign a respective torque value from the torque distribution vector to each of the two or more engines (11) based on one or more rules from a set of rules, and instruct the two or more electrical engines (11) to provide the torque corresponding to the assigned torque value.
14. The control unit (10) according to claim 13, wherein the control unit is operable to perform the method according to any of claims 2-12.
15. A mining and / or construction machine (1) comprising at least two engines (11) and a control unit (10) according to claim 13.
16. A computer program (830) comprising instructions, which when executed by a processing circuitry (810) and / or processor (811), causes the processing circuitry (810) and / or processor (811) to perform actions according to any of the claims 1-12.
17. A computer-readable medium (840) comprising instructions, which when executed by a processing circuitry (810) and / or processor (811), causes the processing circuitry (810) and / or processor (811) to perform actions according to any of the claims 1-12.