U.S. patent application number 14/453271 was filed with the patent office on 2016-02-11 for grade control cleanup pass using cost optimization.
This patent application is currently assigned to CATERPILLAR INC.. The applicant listed for this patent is Caterpillar Inc.. Invention is credited to Matthew E. Kontz, Kenneth L. Stratton, Michael A. Taylor.
Application Number | 20160040388 14/453271 |
Document ID | / |
Family ID | 55266997 |
Filed Date | 2016-02-11 |
United States Patent
Application |
20160040388 |
Kind Code |
A1 |
Kontz; Matthew E. ; et
al. |
February 11, 2016 |
Grade Control Cleanup Pass Using Cost Optimization
Abstract
A computer-implemented method for determining a cleanup pass
profile for a machine implement is provided. The method may include
identifying a pass target extending from a first end to a second
end along a work surface, determining a plurality of primitives of
a cleanup pass profile extending between the first end and the
second end where each primitive may be defined based at least
partially on volume constraints, determining a cost value
associated with moving the machine implement along the cleanup pass
profile based on an optimization cost function, and adjusting the
volume constraints associated with one or more of the primitives to
minimize the cost value.
Inventors: |
Kontz; Matthew E.;
(Chillicothe, IL) ; Taylor; Michael A.;
(Swissvale, PA) ; Stratton; Kenneth L.; (Dunlap,
IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Caterpillar Inc. |
Peoria |
IL |
US |
|
|
Assignee: |
CATERPILLAR INC.
Peoria
IL
|
Family ID: |
55266997 |
Appl. No.: |
14/453271 |
Filed: |
August 6, 2014 |
Current U.S.
Class: |
701/50 |
Current CPC
Class: |
E02F 9/2045 20130101;
E02F 3/84 20130101; E02F 9/262 20130101 |
International
Class: |
E02F 3/84 20060101
E02F003/84; E02F 9/20 20060101 E02F009/20 |
Claims
1. A computer-implemented method for determining a cleanup pass
profile for a machine implement, comprising: identifying a pass
target extending from a first end to a second end along a work
surface; determining a plurality of primitives of a cleanup pass
profile extending between the first end and the second end, each
primitive being defined based at least partially on volume
constraints; determining a cost value associated with moving the
machine implement along the cleanup pass profile based on an
optimization cost function; and adjusting the volume constraints
associated with one or more of the primitives to minimize the cost
value.
2. The computer-implemented method of claim 1, wherein the
optimization cost function is configured to associate the cost
value of the cleanup pass profile with one or more parameters
including curvature, curvature limit, slope, slope limit, implement
load, implement load average, maximum implement load limit, minimum
implement load limit, crest volume, cut depth relative to pass
target, cut depth relative to work surface, and volume differential
between the pass target and the work surface.
3. The computer-implemented method of claim 2, wherein the
optimization cost function is configured to increment the cost
value for each parameter that exceeds a corresponding target
threshold.
4. The computer-implemented method of claim 2, wherein each of the
parameters is weighted by the optimization cost function according
to its relevance to the cost value.
5. The computer-implemented method of claim 1, wherein the volume
constraints associated with one or more of the primitives are
adjusted using one or more of gradient descent algorithms, genetic
algorithms, and Nelder-Mead algorithms.
6. The computer-implemented method of claim 1, wherein a total
volume differential between the work surface and the cleanup pass
profile is maintained during adjustments.
7. The computer-implemented method of claim 1, wherein an elevation
and a slope of each endpoint of each primitive are maintained
during adjustments.
8. The computer-implemented method of claim 1, further adjusting
one or more of an elevation at one or more endpoints of the
primitives, a location of one or more of the endpoints, and a
number of the endpoints.
9. A control system for determining a cleanup pass profile for a
machine implement, comprising: a memory, the memory being a
non-transitory computer-readable storage medium, configured to
retrievably store one or more algorithms; and a controller in
communication with the memory and, based on the one or more
algorithms, configured to at least: identify a pass target
extending from a first end to a second end along a work surface,
determine a plurality of primitives of a cleanup pass profile
extending between the first end and the second end, determine a
cost value associated with moving the machine implement along the
cleanup pass profile based on an optimization cost function, and
adjust volume constraints associated with one or more of the
primitives to minimize the cost value.
10. The control system of claim 9, wherein the controller
associates the cost value of the cleanup pass profile with one or
more parameters of the optimization cost function including
curvature, curvature limit, slope, slope limit, implement load,
implement load average, maximum implement load limit, minimum
implement load limit, crest volume, cut depth relative to pass
target, cut depth relative to work surface, and volume differential
between the pass target and the work surface.
11. The control system of claim 10, wherein the controller
increments the cost value for each parameter of the optimization
cost function that exceeds a corresponding target threshold.
12. The control system of claim 10, wherein the controller assigns
a weight to each of the parameters of the optimization cost
function according to its relevance to the cost value.
13. The control system of claim 9, wherein the controller adjusts
the volume constraints associated with one or more of the
primitives using one or more of gradient descent algorithms,
genetic algorithms, and Nelder-Mead algorithms.
14. The control system of claim 9, wherein the controller maintains
a total volume differential between the work surface and the
cleanup pass profile during adjustments.
15. The control system of claim 9, wherein the controller maintains
an elevation and a slope of each endpoint of each primitive during
adjustments.
16. The control system of claim 9, wherein the controller adjusts
one or more of an elevation at one or more endpoints of the
primitives, a location of one or more of the endpoints, and a
number of the endpoints.
17. (canceled)
18. (canceled)
19. (canceled)
20. (canceled)
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to controlling
machines, and more particularly, to systems and methods for
determining cleanup pass profiles for semi-autonomous and
autonomous machines using cost optimization.
BACKGROUND
[0002] Machines such as, for example, track-type tractors, dozers,
motor graders, wheel loaders, and the like, 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 remotely
or locally generated as part of a work plan for the machines. The
machines may receive instructions in accordance with the work plan
to perform operations, including digging, loosening, carrying, and
any other manipulation of materials at the worksite.
[0003] It may be desirable to ensure that the machines perform
these operations such that the materials are moved in an efficient
manner. More particularly, in repetitive operations, it may be
especially desirable to ensure that the locations at which the
machines begin to alter the work surface, or the profiles along
which the machines alter the work surface, are selected in a way
that maximizes efficiency and productivity. Some conventional
systems, such as disclosed in U.S. Pat. Appl. Publ. No.
2014/0012404, published on Jan. 9, 2014 and entitled "Methods and
Systems for Machine Cut Planning," plan cut locations based on
predetermined cut volume estimations. While such techniques may
greatly assist in the planning processes and the overall
excavation, there is still room for improvement.
[0004] A standard cut profile in autonomous dozing is generally
composed of three regions, including a blade-in-air region, a
blade-load region, and a blade-carry region. In the blade-in-air
region, a dozer is typically reversing after a cut and positioning
a blade implement to make contact with the work surface. Once
contact is made with the work surface and a cut is initiated, the
blade is loaded with material in the blade-load region and
generally moved downward to a target carry surface. In the
blade-carry region, the blade carries the loaded material to a
crest of the worksite. As this process is repeated, the work
surface elevation gradually changes and the profile of the
blade-load region is updated accordingly. However, autonomous carry
passes often adjust the blade height while in the blade-carry
region which can result in unwanted deviations from the planned
profile.
[0005] Theoretically, conventional cut and carry passes, along with
occasional ripping passes, may be repeated to execute clean passes
according to the planned profile and avoid unwanted deviations. In
actual practice, however, cut and carry passes may deviate from the
planned profile due to factors such as hard soil, insufficient
ripping, degradations in position estimation, hump building, large
rocks, boulders or other embedded obstacles, and the like.
Limitations in the actual process of planning for conventional cut
and carry passes are also factors. For instance, conventional
processes are limited to profiles formed using S-shaped Gaussian
curves, which cannot sufficiently adapt to negative volumes or
valleys in the terrain that dip below the target profile, bumps in
the terrain that extend above the pass target, or the like.
[0006] Accordingly, there is a need for grade control or cleanup
passes that can reduce inconsistencies in the terrain, minimize
operator involvement, and help improve productivity of the overall
excavation. Furthermore, there is a need for cleanup pass profiling
systems and methods that provide more versatile means for
correcting surface irregularities, such as by shaving, snaking or
otherwise cutting bumps and/or small valleys, but at minimal cost.
The present disclosure is directed at addressing one or more of the
inefficiencies and disadvantages set forth above. However, it
should be appreciated that the solution of any particular problem
is not a limitation on the scope of this disclosure or of the
attached claims except to the extent express noted.
SUMMARY OF THE DISCLOSURE
[0007] In one aspect of the present disclosure, a
computer-implemented method for determining a cleanup pass profile
for a machine implement is provided. The method may include
identifying a pass target extending from a first end to a second
end along a work surface, determining a plurality of primitives of
a cleanup pass profile extending between the first end and the
second end where each primitive may be defined based at least
partially on volume constraints, determining a cost value
associated with moving the machine implement along the cleanup pass
profile based on an optimization cost function, and adjusting the
volume constraints associated with one or more of the primitives to
minimize the cost value.
[0008] In another aspect of the present disclosure, a control
system for determining a cleanup pass profile for a machine
implement is provided. The control system may include a memory
configured to retrievably store one or more algorithms, and a
controller in communication with the memory. The controller, based
on the one or more algorithms, may be configured to at least
identify a pass target extending from a first end to a second end
along a work surface, determine a plurality of primitives of a
cleanup pass profile extending between the first end and the second
end, determine a cost value associated with moving the machine
implement along the cleanup pass profile based on an optimization
cost function, and adjust volume constraints associated with one or
more of the primitives to minimize the cost value.
[0009] In yet another aspect of the present disclosure, a
controller for determining a cleanup pass profile for a machine
implement is provided. The controller may include a pass target
identification module configured to identify a pass target
extending from a first end to a second end along a work surface, a
cleanup pass profile module configured to determine a plurality of
primitives of a cleanup pass profile extending between the first
end and the second end, and a cost optimization module configured
to determine a cost value associated with moving the machine
implement along the cleanup pass profile based on an optimization
cost function, and adjust volume constraints associated with one or
more of the primitives to minimize the cost value.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] FIG. 1 is a pictorial illustration of an exemplary disclosed
worksite;
[0011] FIG. 2 is a diagrammatic illustration of an exemplary
control system that may be used at a worksite;
[0012] FIG. 3 is a diagrammatic illustration of an exemplary
controller that may be used at a worksite;
[0013] FIG. 4 is a diagrammatic illustration of an exemplary
cleanup pass profile that may be generated by a control system of
the present disclosure using cost optimization; and
[0014] FIG. 5 is a flowchart depicting an exemplary disclosed
method that may be performed by a control system of the present
disclosure.
DETAILED DESCRIPTION
[0015] Although the following sets forth a detailed description of
numerous different embodiments, it should be understood that the
legal scope of protection is defined by the words of the claims set
forth at the end of this patent. The detailed description is to be
construed as exemplary only and does not describe every possible
embodiment since describing every possible embodiment would be
impractical, if not impossible. Numerous alternative embodiments
could be implemented, using either current technology or technology
developed after the filing date of this patent, which would still
fall within the scope of the claims defining the scope of
protection.
[0016] It should also be understood that, unless a term is
expressly defined herein, there is no intent to limit the meaning
of that term, either expressly or by implication, beyond its plain
or ordinary meaning, and such term should not be interpreted to be
limited in scope based on any statement made in any section of this
patent (other than the language of the claims). To the extent that
any term recited in the claims at the end of this patent is
referred to herein in a manner consistent with a single meaning,
that is done for sake of clarity only so as to not confuse the
reader, and it is not intended that such claim term be limited, by
implication or otherwise, to that single meaning.
[0017] Referring now to FIG. 1, one exemplary worksite 100 is
illustrated with one or more machines 102 performing predetermined
tasks. The worksite 100 may include, for example, a mine site, a
landfill, a quarry, a construction site, or any other type of
worksite. The predetermined task may be associated with altering
the geography at the worksite 100, such as a dozing operation, a
grading operation, a leveling operation, a bulk material removal
operation, or any other type of operation that results in
geographical modifications within the worksite 100. The machines
102 may be mobile machines configured to perform operations
associated with industries related to mining, construction,
farming, or any other industry known in the art. The machines 102
depicted in FIG. 1, for example, may embody earth moving machines,
such as dozers having blades or other work tools or implements 104
movable by way of one or more actuators 106. The machines 102 may
also include manned machines or any type of autonomous or
semi-autonomous machines.
[0018] The overall operations of the machines 102 and the machine
implements 104 within the worksite 100 may be managed by a control
system 108 that is at least partially in communication with the
machines 102. Moreover, each of the machines 102 may include any
one or more of a variety of feedback devices 110 capable of
signaling, tracking, monitoring, or otherwise communicating
relevant machine information to the control system 108. For
example, each machine 102 may include a locating device 112
configured to communicate with one or more satellites 114, which in
turn, may communicate to the control system 108 various information
pertaining to the position and/or orientation of the machines 102
relative to the worksite 100. Each machine 102 may additionally
include one or more implement sensors 116 configured to track and
communicate position and/or orientation information of the
implements 104 to the control system 108.
[0019] The control system 108 may be implemented in any number of
different arrangements. For example, the control system 108 may be
at least partially implemented at a command center 118 situated
locally or remotely relative to the worksite 100 with sufficient
means for communicating with the machines 102, for example, via
satellites 114, or the like. Additionally or alternatively, the
control system 108 may be implemented using one or more computing
devices 120 with means for communicating with one or more of the
machines 102 or one or more command centers 118 that may be locally
and/or remotely situated relative to the worksite 100. In still
further alternatives, the control system 108 may be implemented
on-board any one or more of the machines 102 that are also provided
within the worksite 100. Other suitable modes of implementing the
control system 108 are possible and will be understood by those of
ordinary skill in the art.
[0020] Using any of the foregoing arrangements, the control system
108 may generally be configured to monitor the positions of the
machines 102 and/or machine implements 104 relative to the worksite
100 and a predetermined target operation, and provide instructions
for controlling the machines 102 and/or machine implements 104 in
an efficient manner in executing the target operation. In certain
embodiments, the machines 102 may be configured to excavate areas
of a worksite 100 according to one or more predefined excavation
plans. The excavation plans can include, among other things,
determining the location, size, and shape of a plurality of cuts
into an intended work surface 122 at the worksite 100 along one or
more slots 124. In such embodiments, the control system 108 may be
used to plan not only the overall excavation, but also to plan
intermittent grade control or cleanup passes within the slots 124
or any other areas of the work surface 122. For a given work
surface 122 and pass target, for instance, the control system 108
may generate a cleanup pass profile best suited to remove surface
irregularities, such as smaller bumps and valleys in the work
surface 122, which may adversely affect the autonomous or
semi-autonomous performance of the overall excavation. Although
described in connection with grade control or cleanup pass planning
and profiling, the control system 108 may similarly be employed in
conjunction with other types of tasks.
[0021] Turning to FIG. 2, one exemplary embodiment of a control
system 108 that may be used in conjunction with the worksite 100
and the machines 102 of FIG. 1 is diagrammatically provided. As
shown, the control system 108 may generally include, among other
things, a controller 126, a memory 128, and a communications device
130. More specifically, the controller 126 may be configured to
operate according to one or more algorithms that are retrievably
stored within the memory 128. The memory 128 may be provided
on-board relative to the controller 126, external to the controller
126, or otherwise in communication therewith. The communications
device 130 may be configured to enable the controller 126 to
communicate with one or more of the machines 102, and receive
information pertaining to the position and/or orientation of the
machines 102 and the machine implements 104, for example, via
satellites 114, or any other suitable means of communication.
Moreover, the controller 126 may be implemented using any one or
more of a processor, a microprocessor, a microcontroller, or any
other suitable means for executing instructions stored within the
memory 128. Additionally, the memory 128 may include non-transitory
computer-readable medium or memory, such as a disc drive, flash
drive, optical memory, read-only memory (ROM), or the like.
[0022] As further shown in FIG. 3, the controller 126 may be
configured to at least determine a grade control or cleanup pass
profile at a worksite 100 according to one or more preprogrammed
algorithms which may be generally categorized into, for example, a
work surface identification module 132, a pass target
identification module 134, a cleanup pass profile module 136, and a
cost optimization module 138. With further reference to the
exemplary diagram of FIG. 4, the work surface identification module
132 may configure the controller 126 to initially identify the work
surface 122 to be worked on, such as in terms of position relative
to the worksite 100, position relative to the machines 102,
elevation, slope, volume of material moved, removed or remaining,
terrain composition, or any other relevant geographical profile. As
shown for example in FIG. 4, a given work surface 122 may generally
be defined as the section of terrain along a slot 124 extending
between an alignment gap 140 at a first end and a crest 142 at the
second end. Information pertaining to the work surface 122 and/or
changes thereto may be communicated to the controller 126 via
manual entries, preprogrammed entries, periodically updated
entries, real-time entries, or any combination thereof. Moreover,
the work surface identification module 132 may configure the
controller 126 to map the work surface 122 in two-dimensional
formats, such as shown in FIG. 4, or in other alternatives, in
three-dimensional formats.
[0023] The pass target identification module 134 of FIG. 3 may
configure the controller 126 to identify the carry surface or pass
target 144 that is ultimately desired. As with the work surface
identification module 132, the pass target identification module
134 may identify the pass target in terms of location or position
relative to the worksite 100, position relative to the machines
102, position relative to the work surface 122, elevation, slope,
volume differential with the work surface 122, terrain composition,
or any other relevant geographical profile. Additionally, the pass
target 144 may generally extend the length of the work surface 122
between the alignment gap 140 and the crest 142. The pass target
144 may be identified using any number of different techniques. As
shown for instance in FIG. 4, the pass target 144 may be identified
or defined based on a two-dimensional user-defined curve that is
positioned, superimposed or otherwise mapped relative to the work
surface 122. Moreover, information defining the pass target 144 may
be manually input, programmed or preprogrammed into the controller
126. In other alternative embodiments, the pass target 144 may be
identified based on a two-dimensional cross-section or slice of a
three-dimensional model of the pass target 144. In still further
modifications, the controller 126 may be configured to identify the
work surface 122 and the pass target 144 using three-dimensional
models, or the like.
[0024] With both the work surface 122 and the pass target 144
identified, the cleanup pass profile module 136 of FIG. 3 may
configure the controller 126 to determine a plurality of geometric
primitives 146 that can ultimately be combined or adjoined at its
endpoints 148 to begin generating a cost-optimized cleanup pass
profile 150 for the given work surface 122 and pass target 144.
Each primitive 146 may include a line, a parabola, a cubic, a
polynomial, a Gaussian curve, an exponential function, or any
geometric primitive that can be provided along the work surface 122
generally extending from the alignment gap 140 toward the crest 142
as shown in FIG. 4. Furthermore, each primitive 146 may be defined
or constrained based on the slope and/or elevation of other
adjoining primitives 146, adjoining work surfaces 122 and pass
targets 144. The elevation or curve function of a given primitive
146 may be provided as, for example,
y(x)=c.sub.0+c.sub.1x+ . . . +c.sub.m.sub.kx.sup.m.sup.k (1)
and the slope or derivative of that function may be provided as,
for example,
.differential. y .differential. x = c 1 + 2 c 2 x + + m k c m k x m
k - 1 ( 2 ) ##EQU00001##
where m denotes the order of the polynomial making up the kth
primitive, and c denotes the unknown polynomial coefficients to be
resolved.
[0025] The cleanup pass profile module 136 may also define each
primitive 146 based on volume constraints which may be derived
using, for example, volume differentials between the work surface
122 and the pass target 144, and load limits of the associated
machines 102 and machine implements 104. Volume differentials may
indicate the volume of material that needs to be moved for a given
pass, while the machine or implement load limits may suggest the
depth, elevation, slope or other parameters with which the machine
102 and the implement 104 should operate for the given pass. In one
embodiment, the polynomial function of each primitive 146 may be
defined by the volume constraint
w b .intg. d k - 1 d k y ( x ) x = w b ( c 0 x + 1 2 c 1 x 2 + + 1
m k + 1 c m k x m k + 1 | d k d k - 1 ) ( 3 ) ##EQU00002##
where w.sub.b may be a parameter or dimension of the implement 104
used, such as blade width, or the like, and where d.sub.k indicates
the end of the kth primitive 146 while d.sub.k-1 indicates the
start of the kth primitive 146. Using mathematical relationships
between a sufficient set of functions or constraints, such as those
of equations (1)-(3), the polynomial coefficients that define each
primitive 146 may be determined. For instance, in a pass with n
number of primitives 146, solving a set of 2(n-1) equations may
provide coefficients that will match the slope and elevation at the
endpoints 148 of adjoining primitives 146, and solving a set of
four equations may provide coefficients that will match the slope
and elevation at the relevant endpoints 148 of the first and final
primitives 146 to the work surface 122 or the pass target 144.
Additionally, solving a corresponding set of (n-2) equations may
provide coefficients that will constrain the shape of each
primitive 146 to the target volume to be moved.
[0026] As shown for example in the embodiment of FIG. 4, the
cleanup pass profile module 136 may form each primitive 146 using a
curve defined by a polynomial function that is constrained in terms
of both slope and elevation, as well as in accordance with volume
constraints. In particular, the slope and elevation of the
endpoints 148 of the first primitive 146-1 may be configured to
match those of the work surface 122 at the alignment gap 140
adjacent thereto as well as those of the second primitive 148-2.
Correspondingly, the slope and elevation of the endpoints 148 of
the final primitive 146-6 may be configured to match those of the
crest 142 adjacent thereto as well as those of the fifth primitive
146-5. The slope and elevation of the adjoined endpoints 148
between the intermediate primitives 146-2, 146-3, 146-4, 146-5 may
similarly be configured to match. As shown, each of the primitives
146 may be further defined based on volume constraints which help
shape each primitive 146 and the overall cleanup pass profile 150.
For instance, the first primitive 146-1 and the second primitive
146-2 together may be designated as a cut region with a planned cut
volume of 100% of the machine load. The third primitive 146-3 may
be configured as a fill region with a planned fill volume of 80% of
the load capacity. The fourth primitive 146-4 and the fifth
primitive 146-5 may be configured together as cut regions with a
65% planned cut volume. The final primitive 146-6 may be designated
as a cut region with a 15% planned cut volume.
[0027] Additionally, the cost optimization module 138 of FIG. 3 may
further configure the controller 126 to optimize the cleanup pass
profile 150 according to one or more optimization cost functions
preprogrammed therein. In general, the optimization cost function
may assess a particular cleanup pass profile 150 and the primitives
146 thereof in terms of the cost associated with operating or
moving the machine 102 and the machine implement 104 along the
cleanup pass profile 150. For example, the optimization cost
function may determine a cost value based on an assessment of one
or more parameters associated with the cleanup pass profile 150,
including curvature, curvature limit, slope, slope limit, implement
load, implement load average, maximum implement load limit, minimum
implement load limit, crest volume, cut depth relative to pass
target, cut depth relative to work surface, volume differential
between the pass target 144 and the work surface 122, and the like.
In one embodiment, the optimization cost function may increment the
cost value for each parameter of the cleanup pass profile 150 that
exceeds a corresponding desired or target threshold. Furthermore,
one or more of the parameters may be weighted according to its
relevance to the overall cost of performing the cleanup pass such
that, for example, the cost value is incremented in proportion to
the relevance of the parameter that exceeds a corresponding
threshold.
[0028] In addition to determining the cost value associated with
each cleanup pass profile 150, the cost optimization module 138 may
further configure the controller 126 to adjust one or more of the
primitives 146 of the cleanup pass profile 150 to determine the
most cost effective cleanup pass profile 150 for the given
circumstances. In particular, the controller 126 may be configured
to adjust one or more of the volume constraints of the primitives
146 to determine one or more variations of the original cleanup
pass profile 150, calculate the cost value for each of those
variations, and select the variation having the lowest cost value
as the final cleanup pass profile 150 to be performed. The
controller 126 may adjust the volume constraint of one or more
primitives 146, such as in the form of equation (3), using a
gradient descent algorithm, a genetic algorithm, a Nelder-Mead
algorithm, or any other technique or algorithm commonly used in the
art. While adjusting the primitives 146, the controller 126 may be
configured to ensure certain variables remain substantially
constant, such as the total volume differential between the work
surface 122 and the original cleanup pass profile 150, the
elevation and slope of each endpoint 148 in the original cleanup
pass profile 150, and the like. In alternative embodiments, the
controller 126 may adjust the elevation of the endpoints 148 of the
original cleanup pass profile 150, the location of the endpoints
148, the number of endpoints 148, and the like.
[0029] After exhausting all feasible variations of the original
cleanup pass profile 150, and after determining a cost value for
each of the original cleanup pass profile 150 and variations
thereof, the cost optimization module 138 may configure the
controller 126 to compare the cost values and select the group of
primitives 146 exhibiting the lowest cost value as the final
cleanup pass profile 150. Specifically, the controller 126 may
interrelate the polynomial or other curve functions associated with
the individual primitives 146, such as via one or more mathematical
relationships therebetween, in a manner which adjoins the endpoints
148 of the primitives 146. The controller 126 may further
digitalize or otherwise translate functions pertaining to the
resulting cleanup pass profile 150 into the appropriate
instructions for execution by one or more of the machines 102
and/or implements 104 within the worksite 100. In particular, the
instructions corresponding to the cleanup pass profile 150 may be
transmitted by the communications device 130 to the appropriate
machines 102 or implements 104, which may in turn, execute the
cleanup pass accordingly. Other variations and modifications to the
algorithms or methods will be apparent to those of ordinary skill
in the art. One exemplary algorithm or method by which the
controller 126 may be operated to determine a grade control or
cleanup pass profile 150 based on cost optimization is discussed in
more detail below.
INDUSTRIAL APPLICABILITY
[0030] In general, the present disclosure sets forth methods,
devices and systems for planning and performing grade control or
cleanup passes where there are motivations to improve productivity
and efficiency. Although applicable to any type of machine, the
present disclosure may be particularly applicable to autonomously
or semi-autonomously controlled dozing machines where the dozing
machines are controlled along particular travel routes within a
worksite to excavate materials. Moreover, the present disclosure
may improve the overall excavation process by enabling more
versatile and more cost effective grade control or cleanup passes.
Furthermore, by providing optimized cleanup pass profiles that can
be autonomously or semi-autonomously executed, unwanted
irregularities in a given work surface may be efficiently corrected
and deviations typically caused thereby may be significantly
reduced.
[0031] Turning now to FIG. 5, one exemplary algorithm or
computer-implemented method 152 for determining a cleanup pass
profile 152 is diagrammatically provided, according to which, for
example, the control system 108 and the controller 126 may be
configured to operate. As shown, the controller 126 may initially
determine whether a grade control or cleanup pass is needed, such
as by manual or autonomous means. For instance, a cleanup pass may
be manually triggered in response to operator input remotely or
locally entered via any one or more of the machines 102, command
centers 118, computing devices 120, and the like. Alternatively, a
cleanup pass may be autonomously triggered, for example, at
predefined intervals of time and/or at predefined checkpoints
pertaining to the geographical state of work surface 122.
Predefined checkpoints may be defined based on any combination of
the length of the given pass, the relative elevations of the
alignment gap 140 and the crest 142, the slope, the volume of
material moved, removed or remaining, and the like. In further
alternatives, the control system 108 and the controller 126 may be
configured to autonomously assess whether a cleanup pass is
appropriate, for instance, based on any deviations in the tracked
progress, position and/or orientation of the work machines 102 and
machine implements 104.
[0032] If no trigger or request for a cleanup pass is detected, the
controller 126 may continue monitoring for such triggers while
resuming normal cut operations. If a valid request for a cleanup
pass is determined, the controller 126 may begin planning a cleanup
pass profile 150 that is most appropriate for the given work
surface 122 and pass target 144 according to the algorithm or
method 152 shown in FIG. 5. According to block 152-1, for example,
the controller 126 may be configured to initially identify the work
surface 122, such as in terms of position relative to the worksite
100, position relative to the machines 102, elevation, slope,
volume of material moved, removed or remaining, terrain
composition, or any other relevant geographical profile thereof For
a work surface 122 provided along a slot 124, as shown for instance
in FIGS. 1 and 4, the controller 126 may additionally identify the
locations of the alignment gap 140 and the crest 142. Moreover, the
controller 126 may be configured to receive profile information
relating to the work surface 122 and/or changes thereto via manual
user input, preprogrammed input, periodically updated input,
real-time input, or combinations thereof.
[0033] Once information regarding the work surface 122 has been
sufficiently identified, mapped or otherwise obtained, the
controller 126 may further identify the pass target 144 according
to block 152-2 of FIG. 5. Specifically, the controller 126 may be
configured to identify the pass target 144 in terms of position
relative to the worksite 100, position relative to the machines
102, position relative to the work surface 122, elevation, slope,
volume differential with the work surface 122, terrain composition,
or any other relevant geographical profile. In general, the pass
target 144 may extend the length of the work surface 122 between
the alignment gap 140 and the crest 142. While the pass target 144
may be identified using any number of different techniques, the
controller 126 may identify or define the pass target 144 based on
a two-dimensional curve that is positioned, superimposed or
otherwise mapped relative to the work surface 122, as shown for
example in FIG. 4. Information regarding the pass target 144 may be
manually input, programmed or preprogrammed into the controller
126, or alternatively, identified based on a two-dimensional
cross-section or slice of a three-dimensional model of the pass
target 144. In other alternatives, the controller 126 may be
configured to identify the work surface 122 and the pass target 144
using three-dimensional models.
[0034] According to block 152-3 of FIG. 5, the controller 126 may
determine a plurality of geometric primitives 146 that can be
combined to form a cost-optimized cleanup pass profile 150. For
instance, the controller 126 may define the slope and/or elevation
of each endpoint 148 of each primitive 146 to match those of
adjoining work surfaces 122, pass targets 144, other primitives
146, or the like. The controller 126 may also define each primitive
146 based on volume constraints, which may further be derived based
on volume differentials between the work surface 122 and the pass
target 144, load limits of the machine 102 and/or implement 104, or
the like. Volume differentials may indicate the volume of terrain
material that needs to be moved for a given pass, while the machine
or implement load limits may suggest the depth, elevation, slope or
other characteristics with which the machine 102 and the implement
104 may operate to provide for an efficient cleanup pass. Based on
such constraints, the controller 126 may generate relationships,
such as between equations (1)-(3), for defining the slope and
elevation per primitive 146 or group of primitives 146, as well as
the target cut or fill volume per primitive 146 or group of
primitives 146. For primitives 146 based on polynomial functions,
for example, the controller 126 may be configured to solve for the
unknown polynomial coefficients in a given set of equations which
will define the specific shape, slope and elevation of each
primitive 146, as well as the target volume of material to be cut
or filled per primitive 146.
[0035] Once an initial cleanup pass profile 150 is determined, the
controller 126 in block 152-4 of FIG. 5 may determine the cost
value, or the cost associated with operating or moving the machine
102 and/or machine implement 104 along the cleanup pass profile
150. The cost value may be assessed based on an optimization cost
function that is preprogrammed in the memory 128 of the control
system 108, or in any other memory that is accessible to the
controller 126, and calculated based on an assessment of one or
more parameters associated with the cleanup pass profile 150. For
example, the optimization cost function may assess the cost
associated with the cleanup pass profile 150 in terms of curvature,
curvature limit, slope, slope limit, implement load, implement load
average, maximum implement load limit, minimum implement load
limit, crest volume, cut depth relative to pass target, cut depth
relative to work surface, volume differential between the pass
target 144 and the work surface 122, or the like. The controller
126 may also increment the cost value for each parameter of the
cleanup pass profile 150 that exceeds a corresponding desired or
target threshold. The controller 126 may additionally apply weights
to the parameters according to its relevance to the overall cost of
performing the cleanup pass such that, for example, the cost value
is incremented in proportion to the relevance of the parameter that
exceeds a corresponding threshold.
[0036] In addition to determining the cost value associated with
each cleanup pass profile 150, the controller 126 in block 152-5
may further adjust one or more of the primitives 146 of the cleanup
pass profile 150 to determine the most cost effective cleanup pass
profile 150 for the given circumstances. In particular, the
controller 126 may adjust one or more of the volume constraints of
the primitives 146 to create different variations of the original
cleanup pass profile 150 that may produce comparable results in
terms of the total volume of terrain or material that is moved
within the worksite 100. The controller 126 may adjust the volume
constraint of one or more primitives 146, such as in the form of
equation (3) above, using a gradient descent algorithm, a genetic
algorithm, a Nelder-Mead algorithm, or any other technique or
algorithm commonly used in the art. While adjusting the primitives
146, the controller 126 may be configured to ensure that certain
variables remain substantially constant, such as the total volume
differential between the work surface 122 and the original cleanup
pass profile 150, the elevation and slope of each endpoint 148 in
the original cleanup pass profile 150, and the like. In alternative
embodiments, the controller 126 may adjust the elevation of the
endpoints 148 of the original cleanup pass profile 150, the
location of the endpoints 148, the number of endpoints 148, and the
like.
[0037] In block 152-6 of FIG. 5, the controller 126 may be
configured to calculate the cost value for each new variation of
the original cleanup pass profile 150 proposed in block 152-5. For
instance, the controller 126 may assess the cost value for each
variation of the cleanup pass profile 150 according to the
optimization cost function used in block 152-4. Furthermore, data
or functions defining the original cleanup pass profile 150 and
each variation thereof, as well as the cost values associated
therewith may be at least temporarily stored in memory 128 for
additional assessment. According to block 152-7, for example, the
controller 126 may be configured to compare the cost value of the
original cleanup pass profile 150 to the cost value of each
variation thereof to determine the group of primitives 146
exhibiting the lowest cost value or cost to perform. Moreover, the
selected group of primitives 146 having the lowest cost value may
then be selected as final cleanup pass profile 150 for the given
work surface 122 and pass target 144. As FIG. 5 suggests, such cost
value comparisons may be performed for each new variation of the
cleanup pass profile 150 over a number of successive iterations
until all available and feasible variations have been exhausted. In
alternative embodiments, the controller 126 may first calculate all
of the cost values for the original cleanup pass profile 150 and
its variations, and subsequently determine the cleanup pass profile
150 with the lowest cost value in a single assessment.
[0038] Once the final cleanup pass profile 150 or the group of
primitives 146 exhibiting the lowest cost value has been
determined, the controller 126 may communicate the cost-optimized
cleanup pass profile 150 to the machines 102 and/or machine
implements 104 according to block 152-8 of FIG. 5. Specifically,
the controller 126 may be configured to interrelate the polynomial
or curve functions associated with the individual geometric
primitives 146, such as via one or more mathematical relationships
therebetween, in a manner which adjoins the endpoints 148 of the
primitives 146. The controller 126 may further digitalize or
otherwise translate the resulting functions defining the cleanup
pass profile 150 into the appropriate instructions for execution by
one or more of the machines 102 or machine implements 104 within
the worksite 100. The controller 126 may communicate such
instructions to the appropriate machines 102 and machine implements
104 via the communications device 130, or the like. Machines 102 or
implements 104 receiving such instructions may then autonomously or
semi-autonomously operate to execute the cleanup pass according to
the cleanup pass profile 150.
[0039] From the foregoing, it will be appreciated that while only
certain embodiments have been set forth for the purposes of
illustration, alternatives and modifications will be apparent from
the above description to those skilled in the art. These and other
alternatives are considered equivalents and within the spirit and
scope of this disclosure and the appended claims.
* * * * *