System and method for managing task allocation for work machines using machine learning
By using reinforcement learning models in construction, mining and excavation sites to optimize task allocation of operation machines, the problem of limited energy storage capacity of greenhouse gas-free machines is solved, and the efficiency of operation machines and site productivity is improved.
Patent Information
- Application Number
- CN202380044832.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-29
- Filing Date
- 2023-05-12
- Publication Date
- 2025-01-14
AI Technical Summary
The inefficient task allocation of operating machines in construction, mining and excavation sites, especially the limited energy storage capacity of greenhouse gas-free machines, resulting in limited machine operation efficiency and productivity and a lack of effective automated scheduling solutions.
Using machine learning technology, especially reinforcement learning model, we use machine learning technology, to receive state data of the work machine and material feature data of the site, optimize task allocation strategies, select appropriate tasks to improve the efficiency and energy utilization of the work machine, and achieve automated scheduling.
It improves the task allocation efficiency of the working machine, reduces energy consumption, optimizes the total operating cost of the site and material movement efficiency, and enhances the performance and reliability of the working machine.
Smart Images

Figure CN119317936A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to managing the assignment of tasks for various operations, such as the assignment of tasks to work machines that are operated autonomously, semi-autonomously, or manually, and more specifically, to systems and methods that incorporate machine learning techniques to manage the assignment of tasks to a plurality of work machines (e.g., greenhouse gas-free machines and / or battery-powered motors). Background Art
[0002] Construction sites, mining sites, and / or large excavation sites may use guided work machines, such as excavators, loaders, and / or haulers, to remove and transport excavated material (e.g., ore or overburden) from the excavation area to a disposal location. Many factors can affect the productivity and efficiency of work machines at these sites, including machine operating conditions (e.g., state of charge data, health data, usage statistics, maintenance data, travel speed data, temperature data, wear of components, payload, tire pressure, etc.), site conditions (e.g., weather, visibility, material composition, terrain contours, route conditions and traffic, ground moisture, etc.), and the skill or experience level of the machine operators. Because effectively allocating various tasks to these work machines can be complex and computationally intensive, detailed planning is required to manage the work machines and activities at the site.
[0003] Large construction, mining, and / or excavation operations desire to maximize the utilization of work machines to maximize profits. Maximizing the utilization of work machines requires efficient scheduling of work machines to various excavation, loading, and / or unloading stations. Manual scheduling may not be as effective as automatic scheduling that performs the same function, for example, limited automatic scheduling, in which work machines are automatically scheduled based on constraints defined by a site controller. Co-owned U.S. Patent 2021 / 0334720A1 discloses another implementation of limited automatic scheduling, which is incorporated herein by reference in its entirety.
[0004] While such limited automated scheduling can be used effectively at larger sites, such solutions may require site controllers to remain vigilant and continually manage constraints in order to optimize production. Therefore, more automated or fully automated scheduling may be beneficial, for example, so that site operations can be optimized without the need for continual intervention by controllers to apply rules to the schedule. In addition, technology for vehicles and site operations is generally moving toward more environmentally conscious technologies, such as greenhouse gas (GHG)-free machines or battery-powered motors. However, such technology may have limitations and challenges that may not be considered in traditional solutions. For example, GHG-free machines typically have limited energy storage capacity, which may limit the operations that the machine can complete. Relative to traditional vehicles, GHG-free machines typically require more frequent and more strategic stops for charging or refueling.
[0005] U.S. Patent Application Publication No. 2020 / 0166928A1 (the "'928 Publication"), published on May 28, 2020, describes a system and method for improving user safety by assigning tasks to unmanned vehicles based on location-specific risk data. The location-specific risk data indicates the estimated likelihood that a particular event (e.g., an event that is difficult or dangerous for a user) will occur within a geographic area. The system and method of the '928 Publication may not take into account the unique challenges and complexities that may exist in construction, mining, and / or excavation operations, let alone teach or disclose methods for assigning tasks to unmanned vehicles based on operating conditions of various components of the unmanned vehicle and characteristic data of materials in the site.
[0006] The technology of the present disclosure can solve one or more of the above problems and / or other problems in the art. However, the scope of the present disclosure is limited by the appended claims, rather than by the ability to solve any particular problem. The background description provided herein is for the purpose of presenting the background of the present disclosure as a whole. Unless otherwise specified herein, the materials described in this section are not prior art of the claims in this application, nor are they admitted as prior art or hints of prior art by being included in this section. Summary of the invention
[0007] In one aspect, a computer-implemented method for managing task allocation for multiple work machines at a site may include: receiving first status data of at least one work machine operating at the site via one or more processors of an allocation engine system, wherein the first status data includes historical data of at least one work machine, one or more operating conditions of at least one component of at least one work machine, real-time or near real-time location data of at least one work machine, or a combination thereof; receiving second status data of the site via one or more processors of the allocation engine system, wherein the second status data includes characteristic data of materials in the site and multiple available tasks at the site, wherein the multiple tasks are associated with manipulation of materials in the site, and the characteristic data indicates energy consumption associated with manipulation of materials by at least one work machine; predicting performance of at least one work machine for a task data and energy consumption data; and selecting at least one task for at least one work machine from a plurality of available tasks by inputting the first state data and the second state data into a trained reinforcement learning model via one or more processors of the allocation engine system, wherein the trained reinforcement learning model has been trained based on the training first state data and the training second state data to: learn an allocation strategy that optimizes the reward function of the site, so that the trained reinforcement learning model is configured to apply the learned allocation strategy to the first state data, the second state data and one or more predictions in the performance data and energy consumption data of at least one work machine, so as to select at least one task for at least one work machine from a plurality of available tasks of the site; and causing the at least one work machine to operate according to the at least one selected task via one or more processors of the allocation engine system.
[0008] On the other hand, a computer-implemented method for training a machine learning model to manage task allocation for multiple work machines at a site may include: receiving first status data of at least one work machine operating at the site via one or more processors of an allocation engine system, wherein the first status data includes historical data of at least one work machine, one or more operating conditions of at least one component of at least one work machine, real-time or near real-time location data of at least one work machine, or a combination thereof; receiving second status data of the site via one or more processors of the allocation engine system, wherein the second status data includes characteristic data of materials in the site and multiple available tasks at the site, wherein the multiple tasks are associated with the manipulation of materials in the site, and the characteristic data indicates manipulation of the materials by at least one work machine. energy consumption associated with the manipulation of an object; via one or more processors of the allocation engine system, assign at least one task to at least one work machine from a plurality of tasks by inputting first state data and second state data into a trained reinforcement learning model including a task allocation strategy and a reward function; via one or more processors of the allocation engine system, enable at least one work machine to operate according to at least one task assignment; via one or more processors of the allocation engine system, after completing at least one task assignment, receive additional first state data and additional second state data; via one or more processors of the allocation engine system, generate a score using a reward function based on the additional first state data and the additional second state data; and update the task allocation strategy based at least in part on the generated score.
[0009] In another aspect, a system for operating a plurality of work machines at a site may include: a plurality of work machines that are greenhouse gas-free and autonomous; a central controller including at least one memory storing instructions; and at least one processor operably connected to the at least one memory. The processor may be configured to execute the instructions to implement: a production planner configured to determine at least one task assignment for the plurality of work machines at the site; and a scheduler configured to assign the at least one task assignment to at least one work machine. The scheduler may have a trained reinforcement learning model that has been trained based on training first state data and training second state data, the first state data including historical data of at least one work machine, one or more operating conditions of at least one component of at least one work machine, real-time or near real-time location data of at least one work machine, or a combination thereof, the second state data including characteristic data of materials in the site indicating energy consumption associated with manipulation of materials by at least one work machine and a plurality of available tasks associated with manipulation of materials in the site, to learn an allocation strategy that optimizes a reward function of the site, so that the trained reinforcement learning model is configured to apply the learned allocation strategy to input the first state data of the work machine and the second state data of the site to select at least one task to be allocated to the work machine and the allocation engine. The allocation engine may be configured to perform operations including: receiving the first state data; receiving the second state data; allocating at least one task to at least one work machine by inputting the first state data and the second state data into the trained reinforcement learning model; and causing at least one work machine to operate according to at least one task allocation.
[0010] Other features and aspects of the present disclosure will become apparent from the following description and accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various exemplary embodiments and, together with the description, serve to explain the principles of the disclosed embodiments.
[0012] Figure 1 Depicted is an exemplary schematic diagram of a site operated by a GHG-free fleet of vehicles in accordance with aspects of the present disclosure.
[0013] Figure 2A Describes various aspects of the present disclosure Figure 1 The dispatcher of the central controller of the venue.
[0014] Figure 2B , Figure 2D and Figure 2F Scenarios for monitoring the state of charge and / or state of health of a battery associated with a work machine operating in a field are shown in accordance with aspects of the present disclosure.
[0015] Figure 2C , Figure 2E and Figure 2G The present disclosure is shown in Figure 2B , Figure 2D and Figure 2F An enlarged view of the state of charge displayed in the instrument panel of the work machine is shown.
[0016] Figure 2H A scenario for monitoring a condition of a battery associated with a work machine to generate a presentation in a user device associated with an operator is shown in accordance with aspects of the present disclosure.
[0017] Figure 3 An example of a computing device in accordance with aspects of the present disclosure is depicted.
[0018] Figure 4A A flow chart depicts an exemplary method of using a reinforcement learning model to manage task allocation for multiple vehicles operating at a field in accordance with aspects of the present disclosure.
[0019] Figure 4B A flow chart depicts an exemplary method for determining a work machine's ability to complete a task in accordance with aspects of the present disclosure.
[0020] Figure 4C A flow chart of an exemplary method for updating task assignments of a work machine according to aspects of the present disclosure is depicted.
[0021] Figure 4D A flow chart of an exemplary method for training a reinforcement learning model by updating a task assignment policy based on a scoring mechanism according to aspects of the present disclosure is depicted. DETAILED DESCRIPTION
[0022] According to certain aspects of the present disclosure, methods and systems are disclosed for assigning tasks to a fleet of vehicles at a work site, such as excavators (excavators, backhoes, bulldozers, drills, trenchers, draglines, or any other suitable work machines), loaders (wheel or track loaders, front shovels, excavators, cable excavators, stackers or reclaimers, or any other similar machines), haulers (articulated trucks, off-road trucks, highway dump trucks, wheel tractor scrapers, or any other similar machines), or combinations thereof (all vehicles / machines listed above are collectively referred to herein as "work machines"). In an example, an assignment engine may utilize machine learning techniques to perform operations, such as automatically scheduling excavators to excavate materials at a work site, scheduling loaders to load excavated materials onto haulers, and / or scheduling haulers to transport excavated materials between different locations within a work site. Systems and methods are described for using machine learning (e.g., reinforcement learning) to learn policies executed by an assignment engine. By training the assignment engine, for example via reinforcement learning, to learn the associations between available task assignments, the current state of the fleet, and the current state of the work site, the learned strategies can be used to optimize the operation of the work site with respect to one or more objectives, such as total operating cost, energy consumption, material excavation rate, material loading rate, material movement rate, etc.
[0023] A "reinforcement learning model" is a machine learning model that typically receives information about the environment as input, applies one or more weights and biases, etc. to such input, and then applies the results thereof to a strategy that can be used to select the next action for the model, however, in some instances, such weights or biases can be at least partially integrated into the strategy. Typically, a reward function is used to train the strategy of a reinforcement learning model, for example, to objectively classify the cumulative benefits of the system. The results of the actions taken by the model are used together with the reward function to determine the cumulative value of the action, which can be fed back into the model to strengthen the behavior that has a positive impact on the cumulative benefits and / or weaken the behavior that has a negative impact. In one example, environmental information is associated with one or more actions via the current version of the strategy. Executing these actions results in changes in the environment, which can be scored with a reward function. The score is then used to adjust the association between the environment and one or more actions. The amount by which the association can change in each update can define the speed at which the model learns. During training, a variety of actions and environments can be formulated to provide a wider range of feedback to the model. In this way, the reinforcement learning model can be trained to take actions that have not only direct benefits to the system, but also long-term benefits. Other aspects of using such a model will be discussed in more detail below.
[0024] In the following description, for purposes of description, an exemplary embodiment of an autonomous excavator, loader, and / or hauler is used because this represents an application that can benefit from the advantages of the disclosed systems and methods, but it should be understood that the systems and methods described herein are applicable to any other application for controlling assets (e.g., work machines) at a site, whether those assets are manually operated or autonomously operated. However, it should be understood that even manually operated assets can benefit from the automated scheduling systems and methods described herein, for example, via the efficient allocation of tasks to human operators. It should also be understood that the above examples are merely illustrative. The techniques and processes of the present disclosure can be applied to any suitable activity.
[0025] In an exemplary use case, for example, an allocation engine is used to allocate one or more subsequent tasks to at least one excavator, loader, and / or hauler for operation at the site according to a material movement plan for the site. The assigned tasks are typically associated with arc segments, such as a specific route to a destination or a type of destination. Arc segments can be, for example, production arc segments, return arc segments, charging arc segments, maintenance arc segments, etc. The production arc segment typically indicates a travel segment of an excavator, loader, and / or hauler, wherein the excavator travels to a source location to excavate materials, the loader travels to load the excavated materials onto the hauler, and the hauler travels to transport the excavated materials. The return arc segment typically represents a travel segment, wherein the excavator, loader, and / or hauler travels to the next source location of the newly assigned task after completing the assigned task. The charging arc segment typically indicates a charging segment, wherein the excavator, loader, and / or hauler travels from a current location to a static charging station to charge or refuel, and / or travels along a route that includes a dynamic charging device that can be charged during travel. A maintenance arc generally represents a maintenance section where excavators, loaders and / or haulers travel to a maintenance yard for maintenance. Arcs may be assigned in any order or arrangement based on the strategy of the allocation engine. Furthermore, in addition to arcs, the assigned tasks may include other information, such as whether the excavators, loaders and / or haulers should utilize dynamic charging during travel, e.g., by using trams or electrified tracks, and / or may also include a specific speed at which the route should travel. As discussed in further detail below, by considering and including such information, the allocation engine may reduce queue times for excavators, loaders and / or haulers on the site, enable opportunistic charging, reduce energy consumption at the site, reduce idle time or time spent at static charging stations, increase material excavation, loading and / or movement efficiency and / or reduce the overall operating cost of the site.
[0026] In another exemplary use case, a reinforcement learning model can be trained to generate a policy for the allocation engine. The training state information of the excavator, loader and / or hauler and the training state information of the site can be fed to the reinforcement learning model to develop a policy that optimizes the reward function of the model. In one example, the training state information of the excavator, loader and / or hauler may include data describing the characteristics of these machines, such as charge state, health state, real-time or near real-time location data, real-time or near real-time speed data, age data, time since last maintenance, performance data, efficiency data, etc. In one example, the training state information of the site may include one or more data of the site, which indicates the available tasks of the site, the status or occupancy information of one or more static charging stations, the status or occupancy information of one or more dynamic charging devices, the site, the source or loading site, the depression or dumping site, the material properties of any equipment or equipment associated with the site, the available roads, road conditions, weather conditions, power availability or restrictions, etc. of the site. In some examples, the state information of the site may include or be based on the production plan and / or material movement plan of the site. In some instances, the training state information may include and / or be based on one or more simulations or models. For example, one or more models of an excavator, loader, and / or hauler may be used to simulate state information prior to operation because the machines are used to perform one or more simulated tasks. In one example, a model or simulation of an excavator, loader, and / or hauler may be used to determine modeled or simulated features, such as how long the machines may operate at different speeds or with different materials based on state information (e.g., state of charge). In some embodiments, for example, at least a portion of the operation of a site may be simulated based on one or more material movement plans, a simulation model of the site, or one or more models of an excavator, loader, and / or hauler. However, in some embodiments, at least a portion of the training data may be derived from an actual excavator, loader, hauler, and / or site.
[0027] The reward function may be configured to optimize one or more objectives, such as, for example, (i) reducing total operating costs, (ii) reducing power consumption, (iii) balancing excavator, loader and / or hauler usage and / or battery life, (iv) increasing material excavation, loading and / or movement rates, (v) reducing idle time and / or queues of excavators, loaders and / or haulers, (vi) reducing unoccupied loading or dumping sites, (vii) improving or maintaining the performance quality of excavators, loaders and / or haulers, and (viii) ensuring that a particular type, amount and / or grade of material is processed and / or transported to a particular destination, etc. When an action is performed, for example by a simulated machine and / or a real machine, the result of such an action may be assigned a score based on the reward function.
[0028] In one example, feedback from these scores can be used to adjust the strategy of the reinforcement learning model, for example, using any suitable machine learning technology. Actions can be performed and strategies can be adjusted iteratively. For example, strategies can be adjusted in real time, after each action, after a set number of actions, after a set time period, or based on any other suitable metric. This iteration can continue for a predetermined number of iterations until the score reaches a predetermined threshold, until the score appears to reach a stable state or has a rate of change below another predetermined threshold for a predetermined time period, until the score reaches a stable state, or any other suitable standard or combination thereof. In some embodiments, iteration can continue until the score reaches the best or optimized value determined by any suitable standard. For example, the allocation engine can use the learned strategy to select the next allocation for an excavator, a loader, and / or a hauler. In some embodiments, additional state data from the site can be used to tune or update the model of one or more of the excavator, loader, and / or hauler, tune or update the model of the site, or tune, update, or continue to train the reinforcement learning model.
[0029] Figure 1 A schematic diagram of a site 100 is shown, such as a construction site, a mine, or any other suitable site according to the present disclosure. The site 100 may include one or more production circuits 102, which may include one or more production sites 104, one or more destination sites 106, one or more excavators 103, one or more loaders 105, and / or one or more haulers 107, for example, traveling between or operating at various locations in the site 100 (e.g., production sites 104 and destination sites 106). It should be understood that each circuit 102 may specifically include its corresponding production site 104 and destination site 106, depending on the materials being produced. Alternatively, one production site 104 and / or one destination site 106 may be part of more than one circuit 102, such as when materials from one production site 104 are used for more than one destination site 106, or similarly, when production at a destination site 106 requires materials from more than one production site 104.
[0030] One or more of the excavator 103, loader 105, and / or hauler 107 may be a GHG-free vehicle, such as a battery-powered electric vehicle or a vehicle with onboard power generation and / or storage. Each excavator 103, loader 105, and / or hauler 107 may include one or more sensors or devices (not shown) that may determine or track various characteristics describing its current state. Such characteristics may include, for example, the state of charge of a power storage device, the health of a power storage device, the temperature of a power storage device, the charge or discharge rate of a power storage device, operating temperature, operating time, vehicle age, location, speed, tire pressure, tilt angle, etc. In one example, one or more sensors or devices may determine or track various characteristics of the material being excavated, loaded, and / or hauled, such as material type, material grade, material weight, material density, material texture, material hardness, material moisture content, the destination of the material, such as the next processing step, such as a crusher, a storage location, or a destination, such as a customer or a work site. As will be discussed in further detail below, one or more such characteristics and / or other status information from the site 100 may be used to determine, model, or simulate further characteristics of the excavator 103 , loader 105 , and / or hauler 107 .
[0031] In one example, the site 100 may also include one or more charging stations or devices, such as one or more static charging stations 140 or one or more dynamic charging devices 150. The static charging stations 140 and / or dynamic charging devices 150 may be configured to engage and charge one or more excavators 103, loaders 105, and / or haulers 107, and may be associated with a particular production circuit 102, multiple production circuits 102, and / or may not be specific to any particular production circuit 102. In some embodiments, the static charging stations 140 and / or dynamic charging stations 150 may be configured to charge and / or power other equipment on the site 100, such as a crusher, a grader, a manned tool, or any other suitable machine or vehicle. The static charging stations 140 may be co-located with other equipment on the site, for example, to facilitate charging while the excavators 103, loaders 105, and / or haulers 107 are using such equipment, and / or to facilitate powering or charging such equipment.
[0032] In one example, the static charging station 140 may include one or more charging connections (not shown), such as charging plugs, etc., which are configured to charge the energy storage device of the excavator 103, the loader 105, and / or the hauler 107 when it is parked at the charging connection and engaged with the charging connection. In other examples, the static charging station 140 can provide various types of fuels, such as hydrogen fuel, gasoline, diesel, biofuel, or any other suitable fuel or combination thereof. The static charging station 140 can be co-located with another site (e.g., the production site 104) so that the excavator 103, the loader 105, and / or the hauler 107 can be at least partially charged when visiting the production site 104, etc. The charging station 140 may include one or more sensors (not shown) configured to track and / or determine the occupancy or availability of the charging connection, the power available for charging, the power discharge rate, the total discharge power, etc.
[0033] In one example, the dynamic charging device 150 may include, for example, a trolley device, an electrified track, etc., positioned along at least a portion of a route within the site 100, and may be configured to propel and / or at least partially charge the excavator 103, loader 105, and / or hauler 107 as the excavator 103, loader 105, and / or hauler 107 travel along the portion of the route. As will be discussed in further detail below, engaging the dynamic charging device 150 may modify the performance of the excavator 103, loader 105, and / or hauler 107, for example, reducing the maximum travel speed to increase the charging rate, or increasing the maximum travel speed to reduce the travel time, etc. Modifying the travel speed, for example, in the aforementioned illustrative example, may facilitate optimizing the available power, the charge required for the excavator 103, loader 105, and / or hauler 107 to perform a task, a production target for materials of the site 100, etc., for example, via a reward function. Dynamic charging device 150 may include one or more sensors (not shown) configured to track and / or determine occupancy or availability at dynamic charging device 150 , power available for charging, and / or a power discharge rate.
[0034] Each circuit 102 may include one or more controllers 110 that may monitor, control, and / or relay information to or from excavators 103, loaders 105, and / or haulers 107, as well as other machines that may operate within each particular circuit 102. The site 100 may include a central controller 112 that may communicate with the various circuit controllers 110 to relay and exchange high-level information related to the site 100 as a whole. However, other arrangements and architectures are also contemplated.
[0035] The site 100 may include a power generation device (not shown), such as a solar power plant, etc., or may include a grid connection. The central controller 112 may monitor and / or regulate the amount of power fed to the site 100. For example, the central controller 112 may be configured to establish a maximum amount of power fed to the site 100 per day, a maximum power supplied to the site 100, etc. Such maximums may be based on availability, such as pre-existing agreements with power generation entities, costs of the supplied power, etc. As discussed in further detail, the foregoing may also be used as input when optimizing the operation of the excavator 103, the loader 105, and / or the hauler 107.
[0036] The production site 104 may be operated by an excavator 103 and / or a loader 105. During operation, a hauler 107 may arrive at the production site 104. The loader 105 may then load the excavated material onto the hauler 107. In one example, the production queue 118 may stack incoming excavators 103, loaders 105, and / or haulers 107 based at least in part on demand, availability, preference, or a combination thereof. The loaded haulers 107 may travel along the arc 122 toward the destination 106. The excavators 103 and / or loaders 105 may also travel along the arc 122 to different production sites after completing the assigned tasks. In another example, the excavators 103, loaders 105, and / or haulers 107 may be stacked at a queue 126. While in the queue 126, the excavators 103 and / or loaders 105 may wait for the next task assignment, while the haulers 107 may wait for availability at the destination site 106 to dump the material. The excavator 103, loader 105, and / or unloaded hauler 107 may travel along the non-production arc 130 to a different production site before repeating the arc 122. It should be understood that the dispatching of the excavator 103, loader 105, and / or hauler 107 to the static charging station 140 and / or the dynamic charging device 150, for example, the charging arc, may be integrated before, during, or after the arc 122 or before, during, or after the non-production arc 130, for example, instead of stacking the machines 103, 105, and 107 in a queue. Specifically, if the dynamic charging device 150 is available, the machines 103, 105, and 107 may utilize the dynamic charging device 150 as directed while traveling. This process or a variation thereof may be performed in each circuit 102 during operation.
[0037] The rate at which material is excavated, loaded, and / or transferred from a production site 104 to a destination site 106 can generally be quantified and compared to a target production rate defined within a production plan or material movement plan for a circuit 102. From an asset engagement perspective, this production rate accounts for the excavators 103, loaders 105, and / or haulers 107 assigned to or engaged within a particular circuit 102 during operation.
[0038] In any given circuit, longer waiting times of excavators 103, loaders 105, and / or haulers 107 in queues 118 and 126 can slow down scheduled operations, thereby reducing the overall productivity of that particular circuit. In addition, it may be beneficial to optimize the operation of the site 100 to one or more different goals, such as minimizing total cost, total power consumption, material movement rate, or complying with a production schedule or material movement plan. Typically, the material movement plan of the site defines the amount of material excavated, loaded, and / or moved from one or more locations in the site 100 to one or more other locations in the site 100. The excavated, loaded, and / or moved material can be expressed as a total tonnage of material over a period of time or a material transfer rate in tons / hour, etc. In order to at least partially address the foregoing issues, the allocation of excavators 103, loaders 105, and / or haulers 107 within a circuit can be modified.
[0039] like Figure 1 As shown, the site 100 (e.g., the central controller 112) may include a production planner 202, for example, for determining and / or defining tasks available at the site 100, and also includes a scheduler 212, for example, for assigning excavators 103, loaders 105, and / or haulers 107 to available tasks, for example, to specific arcs or operations. However, any suitable arrangement or architecture may be used, for example, an arrangement in which the production planner 202 and the scheduler 212 are integrated into a single component.
[0040] The production planner 202 may be configured to receive, as input, a production plan or material movement plan 204. The production plan 204 may be manually or automatically input into the production planner 202 and may include information about the desired or target production for the site 100, such as daily information, production targets for mid-term or long-term operations, production types and timing of product deliveries for the site 100, schedules, and other information directly related to the desired type, quantity, and timing of site output or production. This information may be input by a user by defining various system parameters included in a software application operating within the production planner 202, or may alternatively be provided automatically, such as by processing a customer order for materials submitted by a customer, such as through an Internet-based ordering system. Regardless of the type or method of input of this information, the production plan 204 may be provided to the production planner 202 and may serve as the basis for all or most subsequent operations in the scheduling system 200.
[0041] In addition to the production plan 204, the production planner 202 may also receive site status information 206 as an input, which may be manually provided by a site operator or may be automatically extracted by the production planner 202. The site status information 206 may include one or more information indicating the number and operating status of excavators 103, loaders 105, and / or haulers 107 available for work at any one time, loading tools, processors, the number, capacity, and operating conditions of active materials and blocks, the types of active material blocks, the locations of material blocks, the status of charging equipment, the availability and / or cost of power at the site 100, weather conditions, fuel and / or power costs, maintenance and cost rates, etc. The site status information 206 may include, for example, information about the power drawn and / or available to other equipment on the site. For example, in an arrangement where the static charging station 140 is also used to charge and / or power other equipment, the operating status of the other equipment may affect the power available to the static charging station 140 to charge the excavators 103, loaders 105, and / or haulers 107.
[0042] In general, the site status information 206 may provide information indicating all available resources and components that may be used for production at the site 100 at any given time, e.g., digging, loading and / or transporting, and processing materials produced or placed at the site 100. Based on such input, the production planner 202 may determine available tasks, e.g., production arc information, return arc information, charging instructions, maintenance instructions, etc. Any suitable technique for determining available tasks may be used, e.g., manual, semi-automatic, or automatic determination, such as the techniques described in U.S. Patent 2021 / 0334720A1 referenced above.
[0043] In an arrangement where at least a portion of the excavators 103, loaders 105, and / or haulers 107 are GHG-free vehicles (e.g., electric vehicles), the site state information 206 may also include information indicating the amount of charge required to perform various operations. For example, the state information may include information indicating the amount of charge required to travel along a particular route, the rate of charge consumed per distance traveled, the change in the rate of charge consumption due to the amount of material excavated, loaded, and / or hauled, the condition of the road / route, and the amount of charge per charge charged from charging at a static charging station 140 or via a dynamic charging device 150. Such information may be determined at least in part based on other information. For example, the discharge rate per distance traveled of the excavators 103, loaders 105, and / or haulers 107 and the distance of a particular arc segment may be used to predict the amount of charge required for the arc segment. Such information may be nominal information that may be used, for example, to tune a single excavator 103, loader 105, and / or hauler 107 via a model or simulation, as discussed in further detail below. Such information may also include additional information about the site 100, such as the locations of various sites and operations, distances of routes therebetween, road inclinations, hours of operation, times and / or frequency of shift changes, schedules of downtime (e.g., inspections), etc. At least a portion of the foregoing information may be included in the material movement plan or production plan 204. At least a portion may be determined based on data received from one or more sensors or devices on the site 100 or external data (e.g., satellite imagery or a site plan). At least a portion may be manually input. At least a portion may be determined and / or tuned based on a model or simulation of the site 100, as discussed in further detail below.
[0044] In one example, the allocation engine 220 may select a task of loading materials from a plurality of available tasks at the site 100. The allocation engine 220 may process state data including characteristic data of the loaded materials, such as material type information, material density information, material weight information, and / or material texture information. The allocation engine 220 may process state data including weather information during the task time, such as heavy rain that causes the materials to be wet, heavy snow that increases the weight of the materials and affects visibility, strong winds that blow away the materials, or any other weather conditions that affect the task of lifting materials. The allocation engine 220 may determine the actual operational requirements of loading materials based at least in part on the processed characteristic data of the materials and the weather information. The allocation engine 220 may process state data including data associated with one or more loaders 105 at the site 100, such as model information, past performance data, productivity data, and / or power consumption data, to determine the amount of power consumed by one or more loaders 105 per loading of a certain amount / weight of materials. The allocation engine 220 may select at least one loader 105 from the one or more loaders 105 that best meets the actual operational requirements.
[0045] In one example, the allocation engine 220 may select a task to excavate materials from a plurality of available tasks at the site 100. The allocation engine 220 may process state data including characteristic data of the excavated material, such as material hardness information, material texture information, and / or moisture content of the material. The allocation engine 220 may process state data including weather information during the task time, such as heavy snow that increases the hardness of the material, heavy rain that causes difficulty in excavating the material, or any other weather conditions that affect the task of excavating the material. The allocation engine 220 may determine the actual operational requirements for excavating the material based at least in part on the processed characteristic data of the material and the weather information. The allocation engine 220 may process state data including data associated with one or more excavators 103 at the site 100, such as the health status of buckets and excavating teeth used during excavation of materials, past performance data, productivity data, and / or power consumption data to determine the amount of power consumed by the excavator 103 per a certain amount / weight of material excavated. The allocation engine 220 may select at least one excavator 103 from the one or more excavators 103 that is most suitable to meet the actual operational requirements.
[0046] In one example, the optimization of site resource utilization can vary widely based on various allocations to achieve target productivity via various production arcs and return arcs and other tasks. Other optimization goals that can be achieved instead of or in addition to target productivity can include, for example, total operating cost, power used, life of the excavator 103, loader 105 and / or hauler 107, utilization of site downtime for vehicle charging, opportunistic charging rates, etc. The optimization goals can be preset and / or can be manually tuned or selected.
[0047] The optimization task may be performed by a scheduler 212, which may receive task information from the production planner 202. The scheduler 212 may process the task information and send scheduling commands, such as task assignments 214, to various excavators 103, loaders 105, and / or haulers 107. The task assignments 214 may be specific commands for each excavator 103, loader 105, and / or hauler 107 in each circuit 102 to perform a specific task. The task assignments 214 may include, for example, a destination to perform the task, a route to the destination, travel speeds such as for various stages of a trip or a trip, charging requirements, dynamic charging device usage plans, intersection priorities, and the like. In one example, the dynamic charging device usage plan may include, for example, instructions or requests regarding the travel speeds, charging, travel times, and the like of the excavators 103, loaders 105, and / or haulers 107 of the dynamic charging device 150. In one example, when the travel paths of multiple excavators 103, loaders 105, and / or haulers 107 overlap, the intersection priority can indicate the priority of the excavators 103, loaders 105, and / or haulers 107, and can limit or facilitate modifying travel speeds, pausing travel, and / or redirecting the excavators 103, loaders 105, and / or haulers 107 to reduce or eliminate overlap. In one example, the excavators 103, loaders 105, and / or haulers 107 can be redirected to the static charging station 140.
[0048] Predetermining such intersection priorities can also reduce the computation time and / or load experienced in such overlap events. The possibility of overlap can also be used as a factor in the reward function, for example, to make an allocation that is unlikely to result in an overlap. The intersection priority can be based at least in part on the characteristics of the excavators 103, loaders 105, and / or haulers 107 with potential overlap, for example, the type or grade of the material excavated, loaded, and / or transported, whether the destination of the excavator 103, loader 105, and / or hauler 107 is occupied or available, etc. The intersection priority can be determined via the scheduler 212, for example, as part of the allocation of a specific excavator 103, loader 105, and / or hauler 107.
[0049] In one example, the excavator 103, loader 105, and / or hauler 107 may be operated by a human operator or may be partially self-driving. While the excavator 103, loader 105, and / or hauler 107 may perform various tasks, performance information is provided back to the scheduler 212, for example, via sensors and / or equipment of the machines 103, 105, and 107 and / or the site 100, indicating task progress, machine location, diagnostics, and / or other information, so that subsequent tasks can be assigned to the excavator 103, loader 105, and / or hauler 107 when previously assigned tasks are completed.
[0050] In one example, a task (e.g., an ongoing task) may be assigned to the excavator 103, loader 105, and / or hauler 107. For example, the discharge rate of the excavator 103, loader 105, and / or hauler 107 may exceed the predicted rate, so that the excavator 103, loader 105, and / or hauler 107 may be in danger of not completing the task. Detection of such a deviation may cause the scheduler 212 to reassign tasks to the excavator 103, loader 105, and / or hauler 107, for example, assign a new task to the excavator 103, loader 105, and / or hauler 107 or replace the task so that the excavator 103, loader 105, and / or hauler 107 receives a charge.
[0051] As described above, the scheduler 212 may operate within the central controller 112 and may be configured to propagate information between the central controller 112 and the various circuit controllers 110, which in turn relay information to / from the various assets including the excavators 103, loaders 105, and / or haulers 107. As with the production planner 202, the scheduler 212 may be implemented in the form of computer-executable instructions in a non-transitory computer medium, including algorithms that process target production and return arcs to specific assignments of the excavators 103, loaders 105, and / or haulers 107 using various computational or algorithmic methods. In this way, the scheduler 212 can be implemented in the form of computer hardware and / or software, which includes storage devices, user input and output tools, processors, databases, wired and / or wireless communication devices, and other structures configured to receive information from, process information from, and send information to the production planning scheduler 212 and various other external systems, including systems that operate and / or control the operation of the excavator 103, the loader 105 and / or the hauler 107.
[0052] During operation, the scheduler 212 may operate using various methods, including statistical methods and AI models, to minimize the time spent by the excavators 103, loaders 105, and / or haulers 107 executing the non-production arc 130. To achieve this result, it is often the case that the excavator 103, loader 105, and / or hauler 107 may not return to the same loading location from which it was loaded on the production arc just completed, but instead reroute to a different production location, perhaps within a different circuit 102, that is closer, has a higher priority, or is expected to be ready for loading sooner than the other loading locations. To determine the optimal next task assignment 214 for the excavator 103, loader 105, and / or hauler 107, the scheduler 212 may employ an assignment engine that utilizes one or more machine learning techniques, as discussed in further detail below.
[0053] Figure 2A Depicted from Figure 1 An exemplary embodiment of a scheduler 212 includes an allocation engine 220 that can use one or more machine learning techniques, for example, to determine task allocations 214, as discussed in further detail below. Figure 2A As shown, the dispatcher 212 may operate within the central controller 112, which may relay task assignments 214 from the assignment engine 220 to various equipment at the site 100, including the excavator 103, the loader 105, and / or the hauler 107, for example, via the electronic network 224. Although the following includes illustrative examples of assignments for the excavator 103, the loader 105, and / or the hauler 107, it should be understood that the dispatcher 212 may be configured to generate task assignments 214 for any suitable equipment / machine at the site, such as, for example, a crusher, a road grader, a clearing dozer, a man-carrying tool, etc. For example, the task assignments at the site 100 may include instructions for equipment / machines other than the excavator 103, the loader 105, and / or the hauler 107 to be charged and / or powered by the static charging station 140 or the dynamic charging station 150.
[0054] In addition, the allocation engine 220 can be configured to receive the site state information 206, the machine state information 226, and / or other data via the central controller 112. The allocation engine 220 can include, for example, a reinforcement learning model 228, which includes an allocation strategy 230 and a reward function 232. The allocation engine 220 can also include one or more models or simulations, such as at least one machine model or simulation 234 or at least one site model or simulation 236. The scheduler 212, the allocation engine 220, the central controller 112, and / or other devices (not shown) can access or communicate with one or more user devices 238 via one or more user devices 238, such as via the electronic network 224 in the form of communication 245. The one or more user devices 238 can be associated with a user 240, such as a site controller and / or user associated with generating, training, or tuning the reinforcement learning model 228, the reward function 232, and / or one or more simulations or models 234 or 236.
[0055] Although in Figure 1 and FIG. 2A to FIG. 2H An illustrative arrangement is described in , but the systems and devices of the venue 100 can communicate in any arrangement. As discussed herein, among other activities, the systems and / or devices of the venue 100 can communicate to generate, train, or use a machine learning model to optimize the task allocation 214 of the venue 100.
[0056] In one example, the user device 238 may be configured to enable the user 240 to access and / or interact with other systems in the site 100. For example, the user device 238 may be a computer system, such as a desktop computer, a mobile device, a tablet computer, etc. The user device 238 may include one or more electronic applications, such as programs, plug-ins, browser extensions, etc., installed on the memory of the user device 238. The electronic application may be associated with one or more other components in the site 100. For example, the electronic application may include one or more system control software, system monitoring software, software development tools, site planning software, simulation software, supervision or compliance software, etc. The user device 238 may enable the user 240 to manually generate or adjust information or settings of the site 100, such as information or settings of the production planner 202, the scheduler 212, the allocation engine 220, and / or other equipment or devices of the site 100. In an illustrative example, the user device 238 may enable the user 240 to tune or adjust the reward function 232, such as adjusting the optimization objective of the reinforcement learning model 228. The user device 238 may be configured to generate an output indicating data associated with the site 100, such as the location or activity of the excavators 103, loaders 105, and / or haulers 107, the capacity or availability of equipment or devices, material productivity rates, operating cost rates, power consumption rates, statistics such as average idle time or queue time of the excavators 103, loaders 105, and / or haulers 107, etc. Such output may be generated or determined, for example, by the user device 238 and / or the central controller 112, for example, based on the site status information 206 and / or the machine status information 226.
[0057] The electronic network 224 may be a wide area network ("WAN"), a local area network ("LAN"), a personal area network ("PAN"), etc. The electronic network 224 includes the Internet, and the information and data provided between various systems occurs online. "Online" may describe connecting to or accessing source data or information from a location remote from other devices or networks coupled to the Internet. Alternatively, "online" may refer to connecting to or accessing an electronic network (wired or wireless) via a mobile communication network or device. The Internet is a worldwide system of computer networks, i.e., a network of networks, in which one party on one computer or other device connected to the network can obtain information from any other computer and communicate with other parties on other computers or devices. The most widely used part of the Internet is the World Wide Web (often abbreviated as "WWW" or referred to as "the Web"). A "website page" generally includes, for example, a location, data storage, etc. hosted and / or operated by a computer system so as to be accessible online, and may include data configured to cause a program (e.g., a web browser) to perform operations such as sending, receiving, or processing data, generating a visual display and / or an interactive interface, etc.
[0058] As discussed in further detail below, the allocation engine 220 can generate, store, train, or use a reinforcement learning model 228 that is configured to generate an allocation strategy 230 or apply an allocation strategy 230 to allocate one or more tasks, such as, for example, to the excavator 103, loader 105, and / or hauler 107 at the site 100. The allocation engine 220 can also include instructions associated with the reinforcement learning model 228, such as instructions for generating the reinforcement learning model 228, training the reinforcement learning model 228, using the reinforcement learning model 228, and the like.
[0059] In one example, the central controller 112 or the distribution engine 220 may include or be used to train the reinforcement learning model 228. In one example, a system or device other than the central controller 112 may be used to generate and / or train the reinforcement learning model 228. For example, such a system may include instructions for generating the reinforcement learning model 228, training data, and / or instructions for training the reinforcement learning model 228. The resulting trained reinforcement learning model 228 may then be provided to the distribution engine 220.
[0060] Typically, a machine learning model includes a set of variables, such as nodes, neurons, filters, etc., that are tuned (e.g., weighted or biased) to different values via the application of training data. In reinforcement learning, for example, learning used with reinforcement learning model 228, machine learning techniques are used to train / generate policies for taking various actions that have cumulative positive effects explained by a reward function. Typically, the model is configured to receive one or more inputs describing the environment, such as a site 100 and equipment and / or an excavator 103, loader 105, and / or hauler 107 of the site 100. The policy is then applied to the input. The policy may have the form of one or more weights and biases applied to the input data. The policy may be initialized with random values for the weights and biases, and / or may be initialized with random relationships between the various inputs. At least a portion of the initial policy may be manually generated or derived from a pre-trained model, etc. In order to train the model, for example, to develop or tune a policy, a training input is provided, whereby the policy is used to determine the next action, for example, the task allocation 214 of the excavator 103, loader 105, and / or hauler 107 of the site. Once the task assignment 214 has been completed, the state of the field 100 environment (e.g., field 100) can be re-evaluated relative to the reward function to determine the effect of the current state of the policy. In addition, the results from the reward function can be fed back into the model, whereby relatively high scores can be used to strengthen the weights, biases, or relationships used in the policy that lead to better results, while relatively low scores can be used to weaken the policy parts that lead to poor results. Therefore, during the training process, the policy generally tends to increase satisfaction with the reward function.
[0061] Training can be performed in any suitable manner, for example, in batches, and can include any suitable training method. A portion of the training data can be retained during training and / or used to validate the trained machine learning model, for example, to evaluate the effectiveness of the trained strategy. The training data for the reinforcement learning model 228 can include historical state information from the site 100 and / or other sites. Training can be performed periodically and / or continuously, for example, in real time or near real time. For example, a stream of state information from the site 100 and / or from the excavator 103, the loader 105 and / or the hauler 107 can be used to improve and / or improve the reinforcement learning model 228. This stream and / or real-time or near real-time improvement can help the reinforcement learning model 228 adapt to changing conditions, for example, weather conditions that may affect road conditions, failures of the excavator 103, the loader 105 and / or the hauler 107 or other site equipment, schedule changes, changes in production needs, safety hazards, etc.
[0062] The training data may include simulated state data, for example, data generated by a machine model or simulation 234 and / or a site model or simulation 236, as discussed in further detail below. The simulated state data may be used to train the reinforcement learning model 228 in a first training phase, and actual state data from the site 100 and the excavator 103, loader 105, and / or hauler 107 may be used to train the reinforcement learning model 228 in a second training phase. Any suitable training scheme or procedure may be used.
[0063] As described above, the policy of a reinforcement learning model may include any number of variables applied to the input. The variables of the policy may be related to each other in any suitable manner. In one example, the policy may be represented as a single node, whereby the input to the node is the input state data and the output of the node indicates the selected action. In a deep learning model, the policy may include multiple nodes, whereby one or more nodes may be the input to a subsequent node, either in place of the input or in addition to the input. Any suitable deep learning architecture may be used.
[0064] For example, the architecture used by the reinforcement learning model 228 may include a recurrent neural network ("RNN"). In general, RNNs are a class of feedforward neural networks that are well suited for processing input sequences. The machine learning model may include a long short-term memory ("LSTM") model. The LSTM model may be configured to generate an output from a sample that takes into account at least some previous samples and / or outputs. Such an architecture may enable or facilitate the behavior of a policy that takes into account both short-term and long-term considerations with respect to a reward function.
[0065] In one example, the reward function 232 of the reinforcement learning model 228 can be implemented to determine a target score using various factors based on data (e.g., site state information 206 and / or machine state information 226 from a point in time after the task is completed) after completing one or more assigned tasks. The data used to score the reward function can be obtained from one or more sensors or devices of the site 100, obtained from another system, manually entered, and the like. Factors in the reward function may include, for example, (i) the amount and / or rate of opportunistic charging and / or dynamic charging of the excavator 103, loader 105 and / or hauler 107, (ii) whether any of the excavator 103, loader 105 and / or hauler 107 has run out of power, (iii) the occupancy rate of equipment or machines at the site 100, (iv) the state of charge of the excavator 103, loader 105 and / or hauler 107, (v) the balance of the state of charge, health and / or usage of the excavator 103, loader 105 and / or hauler 107, (vi) fuel and / or charging operating costs, total operating costs or cost rates, material movement volume or material movement volume rate, material movement cost rate, quality of output material, (vii) whether the power used exceeds the available power and / or the limits set on power usage, (viii) whether charging is planned to minimize downtime, for example, at the end of the site or during shift changes, etc. The reward function may include factors related to the time alignment of the assigned tasks 214, e.g., with the shift schedule of the site 100, shutdown or downtime of equipment or circuits 102, etc. One or more factors (e.g., the aforementioned factors) may be expressed in common units, e.g., in terms of impact on the operating cost of the site 100, etc. Thus, optimizing the operation of the site 100 via the reward function may result in reduced and / or optimized operating costs of the site 100.
[0066] For example, any objective measurements may be determined manually and / or via sensors or devices of venue 100, may form at least a portion of the basis of the factors of the reward function. As described above, user 240 may adjust reward function 232, for example, via user device 238, for example, to select and / or prioritize factors for reward function 232 that correspond to various optimization objectives of venue 100. Typically, after modifications are made to reward function 232, reinforcement learning model 228 will be trained or at least partially retrained.
[0067] As used herein, "opportunistic charging" generally includes any charging that may occur when the excavator 103, loader 105 and / or hauler 107 may be idle, for example, when in line, when stopped due to the operation schedule of the site 100, or when the site is stationary for loading or dumping. The excavator 103, loader 105 and / or hauler 107 may also be dynamically charged in a manner that has less impact on the progress of the task or operation that limits the site. In one example, the excavator 103, loader 105 and / or hauler 107 may be dynamically charged via a dynamic charging device 150 while traveling along a route. In another example, the excavator 103, loader 105 and / or hauler 107 may include a regenerative braking system that is configured to generate electricity via braking, for example, when the machine 103, 105 and / or 107 brakes when going downhill. Higher opportunistic charges and / or dynamic charges generally correspond to one or more of less idle time and / or more efficient operation of the excavator 103 , loader 105 , and / or hauler 107 .
[0068] As described above, the allocation engine 220 may include a machine model or simulation 234. The machine model or simulation 234 may be used, for example, by the allocation engine 220 to generate training data for the reinforcement learning model 228. In addition, the machine model or simulation 234 may be used to determine, for example, via the allocation engine 220, one or more characteristics of the state of the excavator 103, the loader 105, and / or the hauler 107. For example, some aspects of the state of the excavator 103, the loader 105, and / or the hauler 107 may be observed or determined via sensors, such as, for example, state of charge, location, current activity, and / or current weight of hauled material, etc. Using a machine model or simulation 234, such characteristics may be used to predict other characteristics that are not easily observable directly, such as how much power a particular task assignment 214 may use for the excavator 103, loader 105, and / or hauler 107, the time to complete a particular task, the effect of a particular task on the operating life of the excavator 103, loader 105, and / or hauler 107 or its power storage device, whether the excavator 103, loader 105, and / or hauler 107 has enough charge to complete a particular task, etc.
[0069] Aspects of the machine model or simulation 234 and / or the state of the excavator 103, loader 105, and / or hauler 107 may be fed to the allocation engine 220 as further input to the reinforcement learning model 228 and / or the allocation strategy 230. These features, specifically whether the excavator 103, loader 105, and / or hauler 107 has sufficient charge to perform the task, may be used as initial constraints or conditions for one or more of the production planner 202, scheduler 212, or allocation engine 220. Such features may be compared to or modified by aspects of the site 100, such as aspects of a particular task. For example, an excavator 103, loader 105, and / or hauler 107 that has insufficient charge to complete the task may still be listed as available for the task if there is sufficient opportunistic charge availability for the task to be completed during the task.
[0070] The allocation engine 220 may generate and / or store separate models and / or information that may be used to generate a corresponding model for each excavator 103, loader 105, and / or hauler 107 at the site 100. Various aspects of the state of the excavator 103, loader 105, and / or hauler 107 may be tracked over time. Current state information for the excavator 103, loader 105, and / or hauler 107 may be compared to historical information, for example, to determine deviations from expected performance, which may be used to trigger maintenance operations, etc. Although discussed above with respect to the allocation engine 220, the machine model or simulation 234 may be operated in conjunction with and / or stored on any suitable component, such as the central controller 112, the production planner 202, an onboard computing device of the excavator 103, loader 105, and / or hauler 107, etc.
[0071] As also described above, the allocation engine 220 may include one or more site models or simulations 236. The site model or simulation 236 may be implemented, for example, by the allocation engine 220 to generate training data for the reinforcement learning model 228. In addition, the site model or simulation 236 may be implemented, for example, via the allocation engine 220, to determine one or more characteristics of the state of the site 100. For example, some aspects of the state of the site 100 may be observed or determined via sensors, such as power consumption rates, occupancy rates of the site or charging stations or equipment, etc. Using the site model or simulation 236, such characteristics and / or state information from the excavator 103, loader 105, and / or hauler 107 may be used to predict other characteristics that may not be easily observed. For example, the efficiency of various machines or equipment of the production circuit 102 or the site 100 as a whole, the amount of material movement or material movement rate, the opportunistic charging rate, etc. The site model or simulation 236 and / or various aspects of the state of the site 100 may be fed to the allocation engine 220 as further input to the reinforcement learning model 228 and / or the allocation strategy 230. Such characteristics, specifically power availability and occupancy of one or more static charging stations 140 and / or dynamic charging devices 150, may be used as initial constraints or conditions for one or more of the production planner 202, the scheduler 212, or the allocation engine 220. Such characteristics may be compared to or modified by aspects of the excavator 103, the loader 105, and / or the hauler 107, or the production planner 202 (e.g., aspects of available tasks).
[0072] The allocation engine 220 may generate and / or store separate models and / or information that may be used to generate a corresponding model for each circuit 102 of the site 100. Various aspects of the state of the site 100 may be tracked over time, for example, to determine trends and / or make predictions about future performance. Current state information for the site 100 may be compared to historical information, for example, to determine deviations from expected performance, which may be used to trigger maintenance operations, etc. Although discussed above with respect to the allocation engine 220, the site model or simulation 236 may be operated in conjunction with and / or stored on any suitable component, such as, for example, the central controller 112, the production planner 202, an onboard computing device of the haul truck itself, etc.
[0073] Any suitable type of model or simulation may be used for machine model or simulation 234 or site model or simulation 236. One or more of machine model or simulation 234 or site model or simulation 236 may include a machine learning model, which may be trained based on historical operation of excavator 103, loader 105, and / or hauler 107 or site 100, for example, and / or may be tuned as additional state information becomes available.
[0074] The various components of the central controller 112 can operate at different timing rates. For example, the production planner 202 can be configured to determine the available tasks for the site 100 on a daily, hourly, or half-hourly basis. The scheduler 212 and / or the allocation engine 220 can be configured to determine and / or modify the task allocation 214 of the excavator 103, the loader 105, and / or the hauler 107 every half hour, every ten minutes, every minute, or in real time or near real time. The allocation engine 220 can be configured to tune or retrain the reinforcement learning model 228 every day, continuously, in real time or near real time, etc. The allocation engine 220 can be configured to allocate multiple tasks to the excavator 103, the loader 105, and / or the hauler 107, for example, a group of tasks to be completed one after another. The allocation engine 220 can be configured to re-evaluate the tasks assigned to the excavator 103, the loader 105, and / or the hauler 107, for example, when the consecutive tasks are completed and / or other conditions in the site 100 change. The allocation engine 220 may allocate tasks to the excavators 103, loaders 105, and / or haulers 107 that correspond to operations at the site 100 over a predetermined time period, e.g., a shift, a day, a week, etc., and may modify or tune such allocations periodically, in near real time, or in real time. The machine model or simulation 234 or the site model or simulation 236 may operate or tune continuously or periodically. It should be understood that the foregoing examples are merely illustrative, and any suitable time for any of the foregoing elements may be used.
[0075] Despite Figure 2A Although depicted as separate components in the central controller 112, it should be understood that components or portions of components in the central controller 112 may be integrated with or incorporated into one or more other components. The operations or aspects of one or more components discussed above may be distributed among one or more other components. Any suitable arrangement and / or integration of the various systems and devices of the central controller 112 may be used.
[0076] Generally, any process or operation discussed in this disclosure that is understood to be computer-implementable (e.g., the processes discussed below) can be performed by one or more processors of a computer system, such as, for example, as described above. Figure 2A Any system or device of a computer system. A process or process step performed by one or more processors may also be referred to as an operation. One or more processors may be configured to perform such a process by accessing instructions (e.g., software or computer readable code) that, when executed by one or more processors, cause the one or more processors to perform the process. The instructions may be stored in a memory of a computer system. The processor may be a central processing unit (CPU), a graphics processing unit (GPU), or any suitable type of processing unit.
[0077] A computer system (eg, a system or device implementing the processes or operations in the above examples) may include one or more computing devices, such as, Figure 2A The computer system may include one or more systems or devices in the computer system. The one or more processors of the computer system may be included in a single computing device, or distributed in multiple computing devices. The memory of the computer system may include a corresponding memory of each computing device in the multiple computing devices.
[0078] Figure 2B , Figure 2D and Figure 2F A scenario according to aspects of the present disclosure is shown in which an allocation engine 220 monitors the state of charge and / or health of one or more batteries associated with work machines 103, 105, and / or 107 operating at a site 100. In one example, an excavator 103, a loader 105, and / or a hauler 107 may draw energy from their respective batteries when performing an assigned task. One or more sensors of the site 100 and / or machines 103, 105, and / or 107 (not shown) may track the condition of one or more batteries in real time or near real time, such as the state of charge of the battery, the temperature of the battery, the rate of discharge of the battery, etc. A user interface of a user device 238 (e.g., Figure 2A The dashboards 271, 273, and 275 of the excavator 103, the loader 105, and the hauler 107 may each generate a presentation regarding the status of one or more batteries.
[0079] In one example, the tracked data is transmitted by the sensor to the allocation engine 220 in real time or near real time. The allocation engine 220 can process the sensor data to determine the charging requirements of the batteries of the excavator 103, the loader 105, and / or the hauler 107 to complete the assigned tasks. The allocation engine 220 can process the sensor data to determine the health status of the battery, for example, for similar tasks, a longer battery full charge duration, a higher battery discharge rate, a lower energy retention rate, and / or a faster temperature increase can indicate that the health status of the battery is deteriorating. The allocation engine 220 can generate recommendations in the user interface of the user device 238 and / or the dashboard of the excavator 103, the loader 105, and / or the hauler 107. The recommendation can include instructions on balancing tasks and battery capacity, replacing batteries, etc. In one example, the user interface can use various API or other function calls corresponding to the application on the user device 238 to enable the display of graphical primitives used to generate user interface elements.
[0080] Figure 2HA scenario according to aspects of the present disclosure is shown in which a distribution engine monitors the state of charge and / or state of health of one or more batteries in real-time or near real-time to generate a presentation in a user interface of a user device 238 associated with a user 240, such as a site controller and / or a user associated with generating, training, or tuning a reinforcement learning model 228, a reward function 232, and / or one or more simulations or models 234 or 236. In one example, the excavator 103, the loader 105, and / or the hauler 107 can be operator-driven such that the state of charge and / or state of health of the battery is received at the user device 238. The user 240 can make decisions based on the received sensor data, such as instructing the excavator 103, the loader 105, and / or the hauler 107 to travel to a charging station, generate a speed plan to travel at a set speed and / or perform a task, etc. In one example, the authority of the user 240 can be based at least in part on skill level, experience level, and / or authorization level.
[0081] Figure 3 According to an exemplary embodiment of the present disclosure, a 4A to 4D A simplified functional block diagram of a computer 300 of an apparatus for the method of the present invention. For example, according to the present disclosure, the computer 300 can be configured as a central controller 112 and / or another system. Any system herein can be a computer 300, including, for example, a data communication interface 320 for packet data communication. The computer 300 may also include a central processing unit ("CPU") 302 in the form of one or more processors for executing program instructions. The computer 300 may include an internal communication bus 308 and a storage unit 306 (e.g., ROM, HDD, SDD, etc.) that can store data on a computer-readable medium 322, although the computer 300 can receive programs and data via network communications. The computer 300 may also have a memory 304 (e.g., RAM) that stores instructions 324 for performing the techniques presented herein, although the instructions 324 may be temporarily or permanently stored in other modules of the computer 300 (e.g., processor 302 and / or computer-readable medium 322). The computer 300 may also include input and output ports 312 and / or a display 310 to connect to input and output devices such as a keyboard, mouse, touch screen, monitor, display, etc. Various system functions can be implemented in a distributed manner on many similar platforms to distribute the processing load. Alternatively, the system can be implemented by appropriate programming of one computer hardware platform.
[0082] Industrial Applicability
[0083] The allocation engine of the present disclosure may be configured to optimize the allocation of tasks to various machines or equipment that collectively operate various activities on a work site, such as construction, excavation, loading, hauling, mining, farming, material sorting, logistics, baling, etc. The allocation of tasks may be optimized to achieve various goals, such as utilization or balance of charge between multiple vehicles, efficiency of multiple vehicles, regulating or reducing overall operating costs, increasing overall production or increasing productivity, etc. In one example, the operation of such various machines or equipment may be optimized to achieve the goals in an autonomous or semi-autonomous manner.
[0084] The allocation engine can consider the historical performance of one or more vehicles while determining whether the vehicle has sufficient capacity to perform the task. In one example, the allocation engine can allocate the task to the excavator 103, loader 105 and / or hauler 107 that has sufficient operating capacity to complete the assigned task. The allocation engine can also consider various conditions, such as changes in weather conditions, vehicle or equipment conditions, material quality, etc., and the impact of these conditions on vehicle performance. In one example, the allocation engine can facilitate opportunistic charging of vehicles, reduce vehicle idle time, balance vehicle usage and workload, and adjust or reduce the overall power consumption of equipment in the site 100.
[0085] Other aspects of the reinforcement learning model and / or how it can be used to assign tasks to multiple vehicles in a worksite are discussed in further detail in the following method. In the following method, various actions can be described as being generated by Figure 1 or 2A to Figure 2H 200, or the like. The instructions may be executed or implemented by a component of the system, for example, the central controller 112, the allocation engine 220, the user device 238, etc. However, it should be understood that any suitable component or device may execute instructions or perform actions, including the actions discussed below. The actions performed by a device may be considered to be performed by a processor, actuator, etc. associated with the device. In addition, it should be understood that various steps may be added, omitted, and / or rearranged in any suitable manner. In one example, the computer system executing the allocation engine 220, whether the central controller 112 or another system for training the reinforcement learning model 228, may be interchangeably referred to as the scheduling system 200 or the allocation engine system 200.
[0086] Figure 4A An exemplary process 400 for optimizing workplace operations using a reinforcement learning model is shown, for example, in the various examples described above. In various embodiments, the allocation engine 220 of the allocation engine system may perform one or more portions of the process 400 and may include, for example, Figure 3The allocation engine 220 may be implemented in a chipset of a processor and memory as shown. The allocation engine 220 may be a scheduler 212 operating on a central controller 112 of the venue 100. The allocation engine 220 may be on another system, such as a user device 238, for training a reinforcement learning model 228 of the allocation engine 220. In this way, the allocation engine 220 may provide a means for completing various portions of the process 400 and a means for completing embodiments of other processes described herein. Although the process 400 is shown and described as a series of steps, it is contemplated that various embodiments of the process 400 may be performed in any order or combination and need not include all of the steps shown.
[0087] In step 401, the allocation engine 220 may receive first status data 226 of a work machine (e.g., excavator 103, loader 105, and / or hauler 107) operating at a site (e.g., site 100). In one example, the first status data 226 includes historical data of the work machine, one or more operating conditions of at least one component of the work machine, real-time or near real-time location data of the work machine, or a combination thereof. The operating condition of at least one component may include an operating condition of a battery and / or an operating condition of a ground engaging tool of the work machine for engaging a material surface in the site. In one example, the historical data may include past performance data, productivity data, power consumption data, health status data, travel speed data, temperature data, operating cost data, or a combination thereof associated with the work machine. In one example, the operating condition includes usage data, maintenance data, durability data, measurement data, wear data, or a combination thereof associated with one or more components of the work machine.
[0088] In step 403, the allocation engine 220 may receive second state data 206 of the site 100. In one instance, the second state data 206 may include characteristic data of materials in the site and a plurality of available tasks at the site. The plurality of tasks may be associated with the manipulation of materials in the site, and the characteristic data indicates energy consumption associated with the manipulation of the materials by the working machine. The second state data may also include road conditions associated with the site, weather conditions associated with the site, status information about a static charging station, status information about a dynamic charging station, or a combination thereof. In one instance, the characteristic data of the materials in the site include material type information, material density information, material texture information, material hardness information, moisture content of the material, or a combination thereof.
[0089] At step 405, the trained reinforcement learning model 228 of the allocation engine 220 may predict the performance data and energy consumption data of the work machine for the task. In one example, the trained reinforcement learning model 228 may process the first state data and the second state data to predict (i) the amount of power required by the excavator 103, the loader 105, and / or the hauler 107 to complete the task, (ii) the total duration required by the excavator 103, the loader 105, and / or the hauler 107 to complete the task, (iii) the operating life of the excavator 103, the loader 105, and / or the hauler 107, (iv) the operating cost associated with the excavator 103, the loader 105, and / or the hauler 107 completing the task, etc.
[0090] In step 407, the allocation engine 220 can select a task from a plurality of available tasks in the site 100 to allocate to the work machine by inputting the first state data 226 and the second state data 206 into the trained reinforcement learning model 228. The trained reinforcement learning model 228 has been trained based on the training first state data and the training second state data, and can include a task allocation strategy 230 and a reward function 232. For example, the reinforcement learning model 228 can apply a strategy to the input first and second training state data so that the task is allocated to the excavator 103, the loader 105 and / or the hauler 107. The model 228 can include a relational model or a neural network, etc. In one example, the task allocation includes excavation allocation, loading allocation, hauling allocation, cleaning allocation, road grade allocation, charging allocation, or any other suitable allocation or combination thereof. The allocation engine 220 can also provide a route instruction, a speed instruction, or a combination thereof to the work machine to complete the task allocation. Exemplary task assignments for the excavator 103, loader 105, and / or hauler 107 may include, for example, driving to a task location at a specific speed, performing the assigned task at a specified speed, driving to a static charging station 140 and charging for a predetermined period of time or until the state of charge reaches a specific level, utilizing a dynamic charging device 150 when driving to the task location, etc. Such speed instructions may result in reduced queuing, more efficient occupancy of charging stations 140 or charging devices 150, reduced overlap in driving paths, and / or interactions between the excavator 103, loader 105, and / or hauler 107 at intersections.
[0091] At step 409, the allocation engine 220 may cause the excavator 103, the loader 105, and / or the hauler 107 to operate according to the task allocation. For example, the allocation engine 220 may transmit one or more instructions to the excavator 103, the loader 105, and / or the hauler 107 and / or a computing device associated with these machines, for example, via the central controller 112. In one example, the excavator 103, the loader 105, and / or the hauler 107 may be autonomous, so that receiving the instructions causes these machines to execute the instructions to facilitate at least one task allocation. In one example, the excavator 103, the loader 105, and / or the hauler 107 may be operator-driven, so that the instructions are received at a computing device associated with the operator. The instructions received at the computing device associated with the operator may be received in conjunction with the instructions for the excavator 103, the loader 105, and / or the hauler 107. In one example, the allocation engine 220 can process operator-specific data for the operator-driven machines 103, 105, and / or 107, such as skill or experience level, authorization level, work history data, machine usage history, etc. The task allocation to the operator-driven machines 103, 105, and / or 107 can also be based at least in part on the operator-specific data. In one example, one or more instructions include a speed plan that automatically sets a travel speed and / or a speed for performing a task, a location plan that automatically sets a travel destination, etc. In one example, the allocation engine 220 can monitor the health of various components (e.g., buckets, digging teeth, engines, blades, etc.) of the working machines 103, 105, and / or 107 in real time or near real time to determine whether the working machines 103, 105, and / or 107 can effectively perform the assigned tasks. The excavator 103, loader 105, and / or hauler 107 may be subjected to harsh conditions, which may cause significant wear and tear on their components. Any unexpected component failure may cause various problems, for example, the machine may be inoperable until repaired, the out-of-service machine may be located in a position that may block the passage of other working machines, negatively affect the work schedule, etc. Therefore, the allocation engine 220 can process the age data, usage data, maintenance data, repair history, performance data, and efficiency data of various components of the excavator 103, loader 105, and / or hauler 107 in real time or near real time. For example, the allocation engine 220 can evaluate the wear percentage of the bucket and digging teeth of the excavator 103 and its impact on performance and efficiency. Once it is determined that the health status of the component is below a threshold level, the allocation engine 220 can generate a notification in real time or near real time to replace the bucket and digging teeth or use a different excavator 103.
[0092] Figure 4B4 shows an exemplary process for determining the ability of a work machine to complete a task, for example, in the various examples described above. In various embodiments, the allocation engine 220 of the allocation engine system (e.g., one or more of the models 234, 236, and / or 228) can perform one or more portions of the process 413 and can include, for example, Figure 3 413. In this way, the distribution engine 220 can provide means for completing various parts of the process 413 and means for completing embodiments of other processes described herein. Although the process 413 is shown and described as a series of steps, it is contemplated that various embodiments of the process 413 can be performed in any order or combination and need not include all of the steps shown.
[0093] At step 415, the allocation engine 220 may compare the first state data with at least a portion of the second state data associated with the task. In one instance, one or more operating conditions of at least one component of the work machine 103, 105, and / or 107 (e.g., the health of the battery and the wear / tear of the ground engaging tool) may be compared with the characteristic data of the material in the site. In one instance, historical data (e.g., past performance data) of the work machine 103, 105, and / or 107 may be compared with multiple available tasks at the site. In one instance, real-time or near real-time location data of the work machine 103, 105, and / or 107 may be compared with the locations of multiple available tasks at the site. In one instance, productivity data and power consumption data of the work machine 103, 105, and / or 107 when performing a particular task may be compared with multiple available tasks at the site.
[0094] In step 417, the allocation engine 220 may determine the ability of the work machine to complete the task based at least in part on the comparison. In one example, the allocation engine 220 may determine that the productivity data of the work machine 103, 105, and / or 107 is too low to complete a particular task in a timely manner based on the historical performance data. In one example, the allocation engine 220 may determine that the work machine 103, 105, and / or 107 may not have the ability to complete a particular task in a timely manner based on the health status of the battery and the wear / tear of the ground engaging tools. In one example, the allocation engine 220 may determine that the power consumption data of the work machine 103, 105, and / or 107 is too high to complete a particular task in a timely manner because frequent charging may be required during operation. In one example, the allocation engine 220 may determine that the real-time location of the work machine 103, 105, and / or 107 is too far to reach the location of the task in a timely manner and complete the task in a timely manner. In one example, the assignment engine 220 may determine that weather conditions at the site 100 are too severe, such as heavy rain, snow, etc., so that the work machines 103, 105, and / or 107 cannot effectively and timely complete the assigned tasks.
[0095] Figure 4C An exemplary process for updating the task assignment of one or more work machines is shown. In various embodiments, the assignment engine 220 of the assignment engine system can perform one or more portions of the process 419 and can include, for example, Figure 3 419. In this way, the allocation engine 220 can provide means for completing various parts of the process 419 and means for completing embodiments of other processes described herein. Although the process 419 is shown and described as a series of steps, it is contemplated that various embodiments of the process 419 can be performed in any order or combination and need not include all of the steps shown.
[0096] At step 421, the allocation engine 220 may monitor updates to the first status data and the second status data in real time or near real time. In one example, the allocation engine 220 may monitor the state of charge of the battery of the work machine 103, 105, and / or 107 in real time to determine whether the charge level is below a minimum charge threshold. The allocation engine 220 may query in real time whether a charger is available at a nearby static or dynamic charging station to charge the work machine 103, 105, and / or 107. In one example, the allocation engine 220 may monitor the health status of various components of the work machine 103, 105, and / or 107 in real time, such as batteries, buckets, digging teeth, blades, etc., to determine whether the work machine 103, 105, and / or 107 can effectively perform the assigned task. Once it is determined that the health status of one or more of the various components is below a threshold level, the allocation engine 220 may generate a notification in real time to replace the component or use a different work machine 103, 105, and / or 107.
[0097] At step 423, the allocation engine 220 may update the selection of at least one task by inputting the updated first state data and the second state data into the trained reinforcement learning model. In one example, the allocation engine 220 may input the updated first state data and the second state data into the trained reinforcement learning model 228 in real time, so that the trained reinforcement learning model 228 may update the selection of the work machines 103, 105, and / or 107.
[0098] Figure 4D An exemplary process for training the reinforcement learning model 228 is shown, for example, by updating the task allocation policy based on the scoring mechanism, such as in the various examples discussed above. As described above, the policy can be initialized based on simulation data and / or training data, etc., via a suitable technique (e.g., a random or pseudo-random method). In various embodiments, the allocation engine 220 of the allocation engine system can perform one or more portions of the process 425, and can include, for example, Figure 3 425. In this way, the allocation engine 220 can provide means for completing various parts of the process 425 and means for completing embodiments of other processes described herein. Although the process 425 is shown and described as a series of steps, it is contemplated that various embodiments of the process 425 can be performed in any order or combination and need not include all of the steps shown.
[0099] In step 427, the allocation engine 220 may receive the first status data and the second status data after completing the assigned task. In one instance, the allocation engine 220 may receive the first status data and the second status data continuously and / or in real time or near real time when the first status data and the second status data are available. The allocation engine 220 may receive the first status data and the second status data from a period of time after the assigned task is completed, after each corresponding task is completed, or after a batch of tasks is completed. The allocation engine 220 may receive and / or access a history of task allocations for one or more work machines. In some instances, the history may include information about portions of the strategy, such as weights and / or biases associated with each task.
[0100] In step 429, the allocation engine 220 may generate a score based on the first state data and the second state data using a reward function. In one example, the reward function may include standard rules, weighted scoring functions, etc. The various criteria or objectives of the reward function may be interrelated, for example, via one or more sub-functions. The reward function may include an algorithm based on one or more objectives, etc. The reward function may be predetermined. At least a portion of the reward function may be manually input or selected, for example, by the user 240 via the user device 238. The reward function may take into account the total cost of operating the site, the total material processed by the site, the power consumption of the site, the charge balance of multiple vehicles operating on the site, the state of charge of multiple vehicles operating on the site, the ability of at least one vehicle to complete at least one task assignment, etc.
[0101] In step 431, the distribution engine 220 can update the task allocation strategy based on the score generated at least in part. In an example, the distribution engine 220 can use one or more machine learning techniques to feed back the generated score to the task allocation strategy, for example, so that the part that causes a higher score in the reinforcement strategy, or the part that causes a lower score in the weakening strategy. For example, for the task allocation that causes a relatively high score or helps to increase the score, the distribution engine 220 can increase the weight and / or deviation associated with the task allocation. On the contrary, for the task allocation that causes a relatively low score or helps to reduce the score, the distribution engine 220 can reduce the weight and / or deviation associated with the task allocation. Optionally, one or more steps in steps 427-431 can be repeated, for example, to further adjust the task allocation strategy. The method can be iterated until one or more of the following: the score meets a predetermined score threshold, the rate of change of the score in the iteration is less than a predetermined threshold, a predetermined number of iterations have occurred, or a predetermined time period has passed.
[0102] It should be understood that the embodiments in the present disclosure are merely exemplary, and other embodiments may include various combinations of features from other embodiments and more or fewer features. It will be apparent to those skilled in the art that various modifications and variations may be made to the disclosed system without departing from the scope of the present disclosure. For example, while some of the above-described embodiments relate to GHG-free vehicles or battery-powered motors, any suitable vehicle or machine that can be assigned a task may be used. Furthermore, while some of the above-described embodiments relate to construction, excavation, loading and / or material movement at a work site, any other suitable activity may be used. Furthermore, while some of the above-described embodiments relate to excavators 103, loaders 105 and / or haulers 107, any suitable vehicle and / or stationary machine may be used.
Claims
1. A computer-implemented method for managing task assignment (214) of a plurality of work machines (107) at a site (100), the computer-implemented method comprising: Receiving, via one or more processors (302) of the distribution engine system (220), first status data (206) of at least one work machine (107) operating at the site (100), wherein the first status data (206) includes historical data of the at least one work machine (107), one or more operating conditions of at least one component of the at least one work machine (107), real-time or near real-time location data of the at least one work machine (107), or a combination thereof; Receiving, via the one or more processors (302) of the allocation engine system (220), second status data of the site (100), wherein the second status data (206) includes characteristic data of materials in the site (100) and a plurality of available tasks at the site (100), wherein the plurality of tasks are associated with manipulation of the materials in the site (100), and the characteristic data indicates energy consumption associated with the manipulation of the materials by the at least one work machine (107); predicting performance data and energy consumption data of the at least one work machine (107) for a task; and selecting, via the one or more processors (302) of the allocation engine system (220), at least one task for the at least one work machine (107) from the plurality of available tasks by inputting the first state data (206) and the second state data (206) into a trained reinforcement learning model (228), wherein the trained reinforcement learning model (228) has been trained based on training the first state data (206) and training the second state data (206) to: learning an allocation strategy (230) that optimizes a reward function (232) of the site (100), such that the trained reinforcement learning model (228) is configured to apply the learned allocation strategy (230) to the first state data (206), the second state data (206), and one or more predictions of the performance data and the energy consumption data of the at least one work machine (107) to select the at least one task for the at least one work machine (107) from the plurality of available tasks at the site (100); and The one or more processors (302) of the distribution engine system (220) cause the at least one work machine (107) to operate according to at least one selected task.
2. The computer-implemented method of claim 1 , wherein: The first status data (206) also includes an operating condition of a battery of the at least one work machine (107) and an operating condition of a ground engaging tool of the at least one work machine (107) for engaging a surface of the material in the site (100).
3. The computer-implemented method of claim 2, wherein: Predicting the performance data and the energy consumption data of the at least one working machine (107) for a task includes: comparing, via one or more models of the assignment engine system (220), the first state data (206) with at least a portion of the second state data (206) associated with a task; and Based at least in part on the comparison, via the one or more models of the assignment engine system (220), a capability of the at least one work machine (107) to complete the task is determined.
4. A computer-implemented method according to any one of the preceding claims, wherein: The first status data (206) further comprises a state of charge of the battery, and wherein the second status data (206) further comprises an availability of a charger at a static or dynamic charging station (140), the method comprising: monitoring updates of the first status data (206) and the second status data (206) in real time or near real time via the one or more processors (302) of the distribution engine system (220); and The selection of the at least one task is updated by inputting the updated first state data (206) and the second state data (206) into the trained reinforcement learning model (228).
5. A computer-implemented method according to any one of the preceding claims, wherein: The historical data includes past performance data, productivity data, power consumption data, health status data, travel speed data, temperature data, operating cost data, or a combination thereof associated with the at least one work machine (107).
6. A computer-implemented method according to any one of the preceding claims, wherein: The operating conditions include usage data, maintenance data, durability data, measurement data, wear data, or a combination thereof associated with the at least one component of the at least one work machine (107).
7. A computer-implemented method according to any one of the preceding claims, wherein: The second status data (206) also includes road conditions associated with the site (100), weather conditions associated with the site (100), status information about a static charging station (140), status information about a dynamic charging station (150), or a combination thereof.
8. A computer-implemented method according to any one of the preceding claims, wherein: The characteristic data of the material in the site (100) includes material type information, material density information, material texture information, material hardness information, material water content or a combination thereof.
9. A computer-implemented method according to any one of the preceding claims, wherein: At least one of the task assignments (214) includes an excavation assignment, a loading assignment, a hauling assignment, a clearing assignment, a road grade assignment, a charging assignment, or a combination thereof, and wherein a route instruction, a speed instruction, or a combination thereof is provided to at least one work machine to complete at least one of the task assignments (214).
10. A computer-implemented method according to any one of the preceding claims, wherein: The reward function (232) considers the charge balance on the multiple work machines (107), the charge state of the multiple work machines (107), the opportunistic charge amount of the multiple work machines (107), the total operating cost of the site (100), the total material processed by the site (100), the power consumption of the site (100), or a combination thereof.
Citation Information
Patent Citations
Unmanned vehicles and associated HUB devices
US20200166928A1
System and Method for Multi-Phase Optimization of Haul Truck Dispatch
US20210334720A1
Cited By
Live-line work platform intelligent distribution method and system based on artificial intelligence
CN121504055A
Artificial intelligence-based live working platform intelligent allocation method and system
CN121504055B