The present disclosure relates generally to methods and systems for planning cut locations of machines and more particularly, to methods and systems for planning cut locations of machines based on a measurement of a characteristic associated with a particular cut location, such as a volume of material moved, for example.
Machines such as, for example, dozers, motor graders, wheel loaders, etc., are used to perform a variety of tasks. For example, these machines may be used to move material and/or alter work surfaces at a worksite. The machines may be manned machines, but may also be autonomous or semi-autonomous vehicles that perform these tasks in response to commands generated as part of a work plan for the machines. The machines may receive instructions in accordance with the work plan to perform operations such as digging, loosening, carrying, etc., different materials at the worksite.
It may be desirable to ensure that the machines perform these operations such that the materials are moved in an efficient manner. For example, it may be desirable to ensure that the locations at which the machines begin to alter the work surface and/or the profiles along which the machines alter the work surface are chosen such that the machines function efficiently. However, conventional work planning systems may not select these locations and profiles in this manner. Thus, the disclosed control system is directed to overcoming one or more of the problems set forth above and/or other problems present in conventional work planning systems.
In one aspect, the present disclosure is directed to a computer-implemented method for determining a cut location for a machine implement. The method may include selecting a first potential cut location for a machine implement to begin modifying a work surface, and determining a profile extending from the selected first cut location to an end location along which the machine implement will travel to modify the work surface. The method may also include calculating a characteristic of a cut made by the machine implement as it travels along the profile, and selecting, based on the calculated characteristic, a second potential cut location for the machine implement to begin modifying the work surface.
In another aspect, the present disclosure is directed to a system for determining a cut location for a machine implement. The system may include one or more memories that store instructions and one or more processors that are capable of executing the instructions. The one or more processors may be configured to select a first potential cut location for a machine implement to begin modifying a work surface, and determine a profile extending from the selected first cut location to an end location along which the machine implement will travel to modify the work surface. The one or more processors may be further configured to calculate a characteristic of a cut made by the machine implement as it travels along the profile, and select, based on the calculated characteristic, a second potential cut location for the machine implement to begin modifying the work surface.
In yet another aspect, the present disclosure is directed to another system for determining a cut location for a machine implement. The system may include a cut location selection module configured to select a first potential cut location for a machine implement to begin modifying a work surface, and a profile calculation module configured to determine a profile extending from the selected first cut location to an end location along which the machine implement will travel to modify the work surface. The system may also include a volume calculation module configured to calculate a volume of material that will be moved by the machine implement as it travels along the profile. The cut location selection module may be further configured to select, based on the calculated volume of material, a second potential cut location for the machine implement to begin modifying the work surface. In certain embodiments, the system may also include a command module configured to generate and send a command to a machine to modify the work surface at a cut location that results in a volume of material moved by the machine implement that is within a predetermined range.
Machine 12 may embody a mobile machine that performs some type of operation associated with an industry such as mining, construction, farming, or any other industry known in the art. For example, machine 12 may embody an earth moving machine such as a dozer having a blade or other implement 18 movable by way of one or more motors or actuators 20. Machine 12 may also include one more traction devices 22, which may function to steer and/or propel machine 12. Machine 12 may be a manned machine or any type of autonomous or semi-autonomous machine.
A command center 34 may also be located at the worksite. Command center 34 may also include part of control system 16. Thus, command center 34 may communicate with satellite 14 and/or machine 12 to determine the location and orientation of machine 12 and to send commands to machine 12 to perform tasks.
In certain embodiments, machines 12 may be configured to excavate areas of worksite 10 according to one or more excavation plans. For example, the excavation plans may include, among other things, determining a location, size, and shape of a plurality of cuts into an intended work surface at worksite 10 along a plurality of spaced apart locations known as slots 40. In these embodiments, control system 16 may function as an excavation planner and may be configured to determine a location, size, and trajectory of slots 40 as well as the location, size, and shape of the cuts into the intended work surface at slots 40, as discussed in greater detail below. Of course, other excavation plans that do not utilize slot-based planning may also be used to implement one or more of the disclosed cut planning methods.
Control system 16 may include a cut location selection module 16a, a profile calculation module 16b, a volume calculation module 16c, and a command module 16d. These modules may enable control system 16 to select potential cut locations for a machine implement to begin cutting a work surface, simulate the results of cutting at particular potential cut location, and then choose, as a final cut location, one of the potential cut locations that creates the most desirable results, based on one or more criteria, discussed below. In other words, the final cut location may require no further modification and may be the cut location at which control system 16 instructs machine 12 to perform a cut at the work surface. For example, as discussed in greater detail below, cut location selection module 16a may be configured to select a first potential cut location for a machine implement to begin modifying a work surface. Profile calculation module 16b may be configured to determine a profile extending from the cut location selected by cut location selection module 16a to an end location along which the machine implement will travel to modify the work surface. Volume calculation module 16c may be configured to then calculate a volume of material that will be moved by the machine implement as it travels along the profile selected by profile calculation module 16b. Based on the calculated volume of material that will be moved, cut location selection module 16a may then choose a second potential cut location for the machine implement to begin modifying the work surface. This process may be iteratively repeated until cut location selection module 16a selects an acceptable cut location that meets some predetermined criteria, discussed in greater detail below. After cut location selection module 16a selects an acceptable cut location, command module 16d may send a command or a plurality of commands to machine 12 (or to an actuator 20 of machine 12) to make the cut at the acceptable cut location.
While
In one embodiment, the memory may include one or more cut planning programs or subprograms loaded from the storage or elsewhere that, when executed by the processor, perform various procedures, operations, or processes consistent with the disclosed embodiments. For example, the memory may include one or more programs that enable control system 16 to, among other things, select a first potential cut location for a machine implement to begin modifying a work surface; determine a profile extending from the selected first cut location to an end location along which the machine implement will travel to modify the work surface; calculate a volume of material that will be moved by the machine implement as it travels along the profile; and select, based on the calculated volume of material, a second potential cut location for the machine implement to begin modifying the work surface. The input/output interfaces of control system 16 may enable control system 16 to send and receive data to and from other devices at worksite 10 or elsewhere, consistent with disclosed embodiments.
As can be seen from
Based on the initial potential cut location, control system 16 may determine a cut profile, such as cut profile 42, along which implement 18 will travel to modify work surface 41 (step 420). As discussed, the cut profile may take any shape and is not necessarily limited to the shape shown in
After control system 16 determines the cut profile to be used for the initial potential cut location, control system 16 may calculate the volume of material moved (step 430). For example, as discussed above, because control system 16 includes the three-dimensional data that is used to represent both an existing work surface in slot 40 and the resultant surface along the initial potential cut profile, control system 16 may be configured to make a volumetric calculation of the volume of material that will be moved if implement 18 of machine 12 were to execute a cut along the initial potential cut profile.
Control system 16 may also compare the calculated volume of material moved to a predetermined range of acceptable volumes (step 440). For example, it may be desirable to ensure that machine 12 moves a certain amount of material during each cut. It may be considered inefficient to move less than a certain amount of material (e.g., less than the lower bound of the predetermined range) or to move more than a certain amount of material (e.g., more than the upper bound of the predetermined range). In certain embodiments, the predetermined range may be expressed in relation to the capacity of implement 18. For example, the predetermined range may be 100%-110% of the capacity of machine implement 18. In certain embodiments, the predetermined range may be configurable by a user that is located, e.g., at command center 34 or elsewhere.
If control system 16 determines that the estimated volume of material moved from step 430 is within the predetermined range (step 440, Y), then control system 16 may determine that the current potential cut location (in this case the initial potential cut location) is the final cut location (step 450). In other words, control system 16 may determine that no further modification of the potential cut location is needed and thus the current cut location is the cut location at which machine 12 is to make the cut in the work surface 41. For example, control system 16 may send a command to machine 12 (or actuator 20 of machine 12) to make the cut in the work surface 41 of slot 40 that was selected in step 410. Machine 12 may make the cut in accordance with the command, and then control system 16 may repeat the process shown in
If control system 16 determines that the estimated volume of material move from step 430 is not within the predetermined range (step 440, N), then control system 16 may determine whether it should continue searching by modifying the potential cut location to provide a new cut location that falls within the predetermined range (step 460). For example, control system 16 may be configured to search for a particular cut location using a predetermined number of iterations or for a predetermined period of time. If control system 16 determines that it should not continue to search (step 460, N) then the process may end. In this case, control system 16 may choose a best cut location from among the potential cut locations that were chosen. That is, control system 16 may choose a cut location that yields a volume of material moves that is closest to the predetermined range.
If control system 16 determines that it should continue to search for additional cut locations (step 460, Y), then control system 16 may choose a new potential cut location based on the calculated volume of material moved from step 430 and its comparison to the predetermined range (step 470), and the process may return to step 420 where the process will repeat again for the new potential cut location. Control system 16 may choose the new potential cut location at step 470 in a variety of ways.
In one embodiment, control system 16 may choose the new potential cut location to be a predetermined distance away from the previous cut location in a direction that is determined based on the comparison of the calculated volume of material to the range in step 440. For example, if control system 16 determines that the calculated volume of material is less than a lower bound of the range, then control system 16 may select the new potential cut location to be located a predetermined distance further from the ending location of the slot (in other words, further from end location 48 of the cut in
In another embodiment, control system 16 may choose the new potential cut location by implementing a binary search along the length of slot 40 that is driven by the comparison of the calculated volume of material moved in step 430. That is, control system 16 may search for potential cut locations between the beginning location and the ending location of slot 40 using a binary search. For example, assuming that control system 16 selected the first potential cut location to be equidistant from the beginning and ending locations (i.e., in the middle of slot 40), then if control system 16 determines that the calculated volume of material is less than a lower bound of the range, control system 16 may select the new potential cut location to be located halfway between the current cut location and the beginning location of slot 40. On the other hand, if control system 16 determines that the calculated volume of material is greater than an upper bound of the range, then control system 16 may select the new potential cut location to be located halfway between the current cut location and the ending location of slot 40.
Control system 16 may continue to use the binary search method through additional iterations of the process shown in
Control system 16 may proceed in this manner by implementing the binary search algorithm until a cut location resulting in a volume of material moved is within the predetermined range. Moreover, while the examples above describe implementing the binary search by cutting the search space in half each time (e.g., a 50% reduction), control system 16 may also implement the binary search method using other percentages, e.g., 40%, 60%, etc. Of course, other searches may be used to select the potential cut locations, e.g., one or more incremental searches, Newton's method-based searches, etc.
After control system 16 selects another cut location according to one or more of the embodiments discussed above (e.g., by moving a predetermined distance, by implementing a binary search algorithm, etc.), control system 16 returns to step 420 where the process repeats for the new cut location. Thus, control system 16 may implement the process in
In certain embodiments, at step 470, control system 16 may not select a new potential cut location and may instead vary one or more of the depth, length, pitch, etc., of the cut profile. That is, control system 16 may keep the cut location the same, but may vary the shape of the cut profile at that cut location, and then evaluate the volume of material moved for the modified cut profile. For example, if the calculated volume of material moved at step 430 is less than the lower bound of the predetermined range, then control system 16 may generate the new cut profile to be deeper than the previous cut profile.
Additionally, in certain embodiments control system 16 may evaluate other characteristics of a cut location and resulting cut profile in addition to the volume of material moved. For example, control system 16 may evaluate metrics such as the load on the machine implement, the weight of the material moved, smoothness and/or slope of the resultant terrain that will be left behind by a particular cut profile. In one embodiment, at step 440, control system 16 may compare the results of the proposed cut to multiple criteria, such as any combination of volume of material moved, weight of material moved, smoothness and/or slope of the resultant terrain, or any other criteria. Then, at step 470, control system 16 may select a new potential cut location based on the multiple criteria. For example, control system 16 may implement one or more multi-variable optimization algorithms or state space searches using the multiple criteria as variables in order to determine a cut location that optimizes the multiple criteria. That is, instead of implementing a binary search to optimize one criteria or goal, such as the volume of material moved, as described above, control system 16 may implement a multi-variable optimization technique to optimize multiple criteria.
In another embodiment, at step 440, if control system 16 determines that the volume of material moved is within the predetermined range, control system 16 may also evaluate the smoothness and/or slope of the resultant terrain, and may compare these metrics to other thresholds, e.g., representing a minimum desired smoothness or a maximum desired slope. If control system 16 determines that the resultant terrain is not smooth enough or that the slope of the resultant terrain is too steep, then control system 16 may still proceed to step 460 and continue searching for additional cut locations, even though the cut location resulted in a desired volume of material being moved.
In yet another embodiment, at step 440, if control system 16 determines that the volume of material moved is within the predetermined range, control system 16 may also continue to select and evaluate additional potential cut locations, e.g., until an optimized potential cut location is determined. That is, control system 16 may implement one or more optimization algorithms to determine a cut location that most closely matches an optimal volume of material moved, e.g., 100% of the blade load. Thus, in this embodiment, control system 16 may evaluate several potential cut locations that have a volume of material moved within the predetermined range and may choose as the final cut location one of the potential cut locations that most closely matches the optimal volume of material moved.
Control system 16 may then compare the estimated volume of material moved for that cut location (e.g., determined at step 430 of
If control system 16 determines that an absolute value of the difference between the estimated volume of material moved and the actual volume of material moved, |Ve−Va| is within a threshold value (step 530, Y), then control system 16 may determine that the model generating the cut profiles is accurate and may not modify how future profiles are generated (step 550).
If, on the other hand, control system 16 determines that |Ve−Va| exceeds a threshold value (step 530, N), then control system 16 may determine that the model generating the cut profiles is not accurate and may modify how future profiles are generated (step 540). For example, if implement 18 of machine 12 does not load as much material as was expected (e.g., Ve>Va), then control system 16 may modify the height of future cut profiles to be deeper than previous cut profiles, so as to move additional material. On the other hand, if implement 18 of machine 12 loads more material than was expected (e.g., Va>Ve), then control system 16 may modify the height of future cut profiles to be more shallow than previous cut profiles, so as to move less material.
The disclosed volume-based cut planning methods and systems may be applicable to machines performing material moving operations where productivity and efficiency is important. Although applicable to any type of machine, the disclosed control system may be particularly applicable to autonomously or semi-autonomously controlled dozing machines that are controlled to excavate materials at a worksite. The disclosed control system may determine locations and/or profiles of cuts in slots at the worksite using a volume-based approach that improves the productivity and efficiency of the machines.
It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed volume-based cut planning methods and systems. Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed volume-based cut planning methods and systems. It is intended that the specification and examples be considered as exemplary only, with a true scope being indicated by the following claims and their equivalents.